@@ -47,9 +47,13 @@ function getServedPath(appPackageJson) {
47
47
return ensureSlash ( servedUrl , true ) ;
48
48
}
49
49
50
- const isFlow = fs . existsSync ( resolveApp ( '.flowconfig' ) ) ;
51
- const isTypeScript = fs . existsSync ( resolveApp ( 'tsconfig.json' ) ) ;
52
- const useTSLint = isTypeScript && fs . existsSync ( resolveApp ( 'tslint.json' ) ) ;
50
+ const hasTSConfig = fs . existsSync ( resolveApp ( 'tsconfig.json' ) ) ;
51
+ const hasTSConfigProd = fs . existsSync ( resolveApp ( 'tsconfig.prod.json' ) ) ;
52
+
53
+ const hasTSLint = fs . existsSync ( resolveApp ( 'tslint.json' ) ) ;
54
+ const hasTSLintProd = fs . existsSync ( resolveApp ( 'tslint.prod.json' ) ) ;
55
+
56
+ const isTypeScript = hasTSConfig ;
53
57
54
58
// config after eject: we're in ./config/
55
59
module . exports = {
@@ -58,13 +62,19 @@ module.exports = {
58
62
appBuild : resolveApp ( 'build' ) ,
59
63
appPublic : resolveApp ( 'public' ) ,
60
64
appHtml : resolveApp ( 'public/index.html' ) ,
61
- appIndexJs : resolveApp ( isTypeScript ? 'src/index.tsx' : 'src/index.js' ) ,
65
+ appIndexJs : isTypeScript
66
+ ? resolveApp ( 'src/index.tsx' )
67
+ : resolveApp ( 'src/index.js' ) ,
62
68
appPackageJson : resolveApp ( 'package.json' ) ,
63
69
appSrc : resolveApp ( 'src' ) ,
64
- testsSetup : resolveApp (
65
- isTypeScript ? 'src/setupTests.ts' : 'src/setupTests.js'
66
- ) ,
70
+ testsSetup : isTypeScript
71
+ ? resolveApp ( 'src/setupTests.ts' )
72
+ : resolveApp ( 'src/setupTests.js' ) ,
67
73
appNodeModules : resolveApp ( 'node_modules' ) ,
74
+ appTSConfig : resolveApp ( 'tsconfig.json' ) ,
75
+ appTSConfigProd : resolveApp ( 'tsconfig.prod.json' ) ,
76
+ appTSLint : resolveApp ( 'tslint.json' ) ,
77
+ appTSLintProd : resolveApp ( 'tslint.prod.json' ) ,
68
78
publicUrl : getPublicUrl ( resolveApp ( 'package.json' ) ) ,
69
79
servedPath : getServedPath ( resolveApp ( 'package.json' ) ) ,
70
80
} ;
@@ -81,13 +91,19 @@ module.exports = {
81
91
appBuild : resolveApp ( 'build' ) ,
82
92
appPublic : resolveApp ( 'public' ) ,
83
93
appHtml : resolveApp ( 'public/index.html' ) ,
84
- appIndexJs : resolveApp ( isTypeScript ? 'src/index.tsx' : 'src/index.js' ) ,
94
+ appIndexJs : isTypeScript
95
+ ? resolveApp ( 'src/index.tsx' )
96
+ : resolveApp ( 'src/index.js' ) ,
85
97
appPackageJson : resolveApp ( 'package.json' ) ,
86
98
appSrc : resolveApp ( 'src' ) ,
87
- testsSetup : resolveApp (
88
- isTypeScript ? 'src/setupTests.ts' : 'src/setupTests.js'
89
- ) ,
99
+ testsSetup : isTypeScript
100
+ ? resolveApp ( 'src/setupTests.ts' )
101
+ : resolveApp ( 'src/setupTests.js' ) ,
90
102
appNodeModules : resolveApp ( 'node_modules' ) ,
103
+ appTSConfig : resolveApp ( 'tsconfig.json' ) ,
104
+ appTSConfigProd : resolveApp ( 'tsconfig.prod.json' ) ,
105
+ appTSLint : resolveApp ( 'tslint.json' ) ,
106
+ appTSLintProd : resolveApp ( 'tslint.prod.json' ) ,
91
107
publicUrl : getPublicUrl ( resolveApp ( 'package.json' ) ) ,
92
108
servedPath : getServedPath ( resolveApp ( 'package.json' ) ) ,
93
109
// These properties only exist before ejecting:
@@ -108,15 +124,19 @@ if (useTemplate) {
108
124
appBuild : resolveOwn ( '../../build' ) ,
109
125
appPublic : resolveOwn ( 'template/public' ) ,
110
126
appHtml : resolveOwn ( 'template/public/index.html' ) ,
111
- appIndexJs : resolveOwn (
112
- isTypeScript ? 'template/src/index.tsx' : 'template/src/index.js'
113
- ) ,
127
+ appIndexJs : isTypeScript
128
+ ? resolveOwn ( 'template/src/index.tsx' )
129
+ : resolveOwn ( 'template/src/index.js' ) ,
114
130
appPackageJson : resolveOwn ( 'package.json' ) ,
115
131
appSrc : resolveOwn ( 'template/src' ) ,
116
- testsSetup : resolveOwn (
117
- isTypeScript ? 'template/src/setupTests.ts' : 'template/src/setupTests.js'
118
- ) ,
132
+ testsSetup : isTypeScript
133
+ ? resolveOwn ( 'template/src/setupTests.ts' )
134
+ : resolveOwn ( 'template/src/setupTests.js' ) ,
119
135
appNodeModules : resolveOwn ( 'node_modules' ) ,
136
+ appTSConfig : resolveOwn ( 'template/tsconfig.json' ) ,
137
+ appTSConfigProd : resolveOwn ( 'template/tsconfig.prod.json' ) ,
138
+ appTSLint : resolveOwn ( 'template/tslint.json' ) ,
139
+ appTSLintProd : resolveOwn ( 'template/tslint.prod.json' ) ,
120
140
publicUrl : getPublicUrl ( resolveOwn ( 'package.json' ) ) ,
121
141
servedPath : getServedPath ( resolveOwn ( 'package.json' ) ) ,
122
142
// These properties only exist before ejecting:
@@ -128,11 +148,11 @@ if (useTemplate) {
128
148
129
149
module . exports . srcPaths = [ module . exports . appSrc ] ;
130
150
131
- module . exports . isFlow = isFlow ;
132
-
133
151
module . exports . isTypeScript = isTypeScript ;
152
+ module . exports . useTSConfigProd = isTypeScript && hasTSConfigProd ;
134
153
135
- module . exports . useTSLint = useTSLint ;
154
+ module . exports . useTSLint = isTypeScript && hasTSLint ;
155
+ module . exports . useTSLintProd = isTypeScript && hasTSLintProd ;
136
156
137
157
module . exports . useYarn = fs . existsSync (
138
158
path . join ( module . exports . appPath , 'yarn.lock' )
0 commit comments