From a466da4ff6add04c64587a7285737b404b2e05f0 Mon Sep 17 00:00:00 2001 From: DorianGrey Date: Mon, 9 Apr 2018 09:49:36 +0200 Subject: [PATCH] Allow using different tsconfig files for dev and build --- packages/react-scripts/config/paths.js | 3 +++ packages/react-scripts/config/webpack.config.prod.js | 3 ++- packages/react-scripts/template/tsconfig.prod.json | 3 +++ 3 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 packages/react-scripts/template/tsconfig.prod.json diff --git a/packages/react-scripts/config/paths.js b/packages/react-scripts/config/paths.js index 6711b8c99..cc6891d6a 100644 --- a/packages/react-scripts/config/paths.js +++ b/packages/react-scripts/config/paths.js @@ -59,6 +59,7 @@ module.exports = { testsSetup: resolveApp('src/setupTests.ts'), appNodeModules: resolveApp('node_modules'), appTsConfig: resolveApp('tsconfig.json'), + appTsProdConfig: resolveApp('tsconfig.prod.json'), appTsLint: resolveApp('tslint.json'), publicUrl: getPublicUrl(resolveApp('package.json')), servedPath: getServedPath(resolveApp('package.json')), @@ -81,6 +82,7 @@ module.exports = { testsSetup: resolveApp('src/setupTests.ts'), appNodeModules: resolveApp('node_modules'), appTsConfig: resolveApp('tsconfig.json'), + appTsProdConfig: resolveApp('tsconfig.prod.json'), appTsTestConfig: resolveApp('tsconfig.test.json'), appTsLint: resolveApp('tslint.json'), publicUrl: getPublicUrl(resolveApp('package.json')), @@ -113,6 +115,7 @@ if ( testsSetup: resolveOwn('template/src/setupTests.ts'), appNodeModules: resolveOwn('node_modules'), appTsConfig: resolveOwn('template/tsconfig.json'), + appTsProdConfig: resolveOwn('template/tsconfig.prod.json'), appTsLint: resolveOwn('template/tslint.json'), appTsTestConfig: resolveOwn('template/tsconfig.test.json'), publicUrl: getPublicUrl(resolveOwn('package.json')), diff --git a/packages/react-scripts/config/webpack.config.prod.js b/packages/react-scripts/config/webpack.config.prod.js index 81196493d..c267bf011 100644 --- a/packages/react-scripts/config/webpack.config.prod.js +++ b/packages/react-scripts/config/webpack.config.prod.js @@ -183,6 +183,7 @@ module.exports = { options: { // disable type checker - we will use it in fork plugin transpileOnly: true, + configFile: paths.appTsProdConfig }, }, ], @@ -381,7 +382,7 @@ module.exports = { // Perform type checking and linting in a separate process to speed up compilation new ForkTsCheckerWebpackPlugin({ async: false, - tsconfig: paths.appTsConfig, + tsconfig: paths.appTsProdConfig, tslint: paths.appTsLint, }), ], diff --git a/packages/react-scripts/template/tsconfig.prod.json b/packages/react-scripts/template/tsconfig.prod.json new file mode 100644 index 000000000..4144216dd --- /dev/null +++ b/packages/react-scripts/template/tsconfig.prod.json @@ -0,0 +1,3 @@ +{ + "extends": "./tsconfig.json" +} \ No newline at end of file