diff --git a/packages/webpack5/__tests__/configuration/__snapshots__/angular.spec.ts.snap b/packages/webpack5/__tests__/configuration/__snapshots__/angular.spec.ts.snap index c2f2a5a1d..d89856404 100644 --- a/packages/webpack5/__tests__/configuration/__snapshots__/angular.spec.ts.snap +++ b/packages/webpack5/__tests__/configuration/__snapshots__/angular.spec.ts.snap @@ -123,7 +123,12 @@ exports[`angular configuration for android 1`] = ` }, /* config.module.rule('css') */ { - test: /app(\\\\.\\\\w+)?\\\\.css$/, + test: /\\\\.css$/, + include: [ + '__jest__/src/app.css', + '__jest__/src/app.android.css', + /node_modules/ + ], use: [ /* config.module.rule('css').use('apply-css-loader') */ { @@ -148,7 +153,12 @@ exports[`angular configuration for android 1`] = ` }, /* config.module.rule('scss') */ { - test: /app(\\\\.\\\\w+)?\\\\.scss$/, + test: /\\\\.scss$/, + include: [ + '__jest__/src/app.scss', + '__jest__/src/app.android.scss', + /node_modules/ + ], use: [ /* config.module.rule('scss').use('apply-css-loader') */ { @@ -206,7 +216,9 @@ exports[`angular configuration for android 1`] = ` { test: /\\\\.css$/, exclude: [ - /app(\\\\.\\\\w+)?\\\\.css$/ + '__jest__/src/app.css', + '__jest__/src/app.android.css', + /node_modules/ ], use: [ /* config.module.rule('css|component').use('raw-loader') */ @@ -219,7 +231,9 @@ exports[`angular configuration for android 1`] = ` { test: /\\\\.scss$/, exclude: [ - /app(\\\\.\\\\w+)?\\\\.scss$/ + '__jest__/src/app.css', + '__jest__/src/app.android.css', + /node_modules/ ], use: [ /* config.module.rule('scss|component').use('raw-loader') */ @@ -494,7 +508,12 @@ exports[`angular configuration for ios 1`] = ` }, /* config.module.rule('css') */ { - test: /app(\\\\.\\\\w+)?\\\\.css$/, + test: /\\\\.css$/, + include: [ + '__jest__/src/app.css', + '__jest__/src/app.ios.css', + /node_modules/ + ], use: [ /* config.module.rule('css').use('apply-css-loader') */ { @@ -519,7 +538,12 @@ exports[`angular configuration for ios 1`] = ` }, /* config.module.rule('scss') */ { - test: /app(\\\\.\\\\w+)?\\\\.scss$/, + test: /\\\\.scss$/, + include: [ + '__jest__/src/app.scss', + '__jest__/src/app.ios.scss', + /node_modules/ + ], use: [ /* config.module.rule('scss').use('apply-css-loader') */ { @@ -577,7 +601,9 @@ exports[`angular configuration for ios 1`] = ` { test: /\\\\.css$/, exclude: [ - /app(\\\\.\\\\w+)?\\\\.css$/ + '__jest__/src/app.css', + '__jest__/src/app.ios.css', + /node_modules/ ], use: [ /* config.module.rule('css|component').use('raw-loader') */ @@ -590,7 +616,9 @@ exports[`angular configuration for ios 1`] = ` { test: /\\\\.scss$/, exclude: [ - /app(\\\\.\\\\w+)?\\\\.scss$/ + '__jest__/src/app.css', + '__jest__/src/app.ios.css', + /node_modules/ ], use: [ /* config.module.rule('scss|component').use('raw-loader') */ diff --git a/packages/webpack5/__tests__/configuration/__snapshots__/base.spec.ts.snap b/packages/webpack5/__tests__/configuration/__snapshots__/base.spec.ts.snap index 584b94a3c..801d934ce 100644 --- a/packages/webpack5/__tests__/configuration/__snapshots__/base.spec.ts.snap +++ b/packages/webpack5/__tests__/configuration/__snapshots__/base.spec.ts.snap @@ -223,6 +223,7 @@ exports[`base configuration for android 1`] = ` /* config.plugin('ForkTsCheckerWebpackPlugin') */ new ForkTsCheckerWebpackPlugin( { + async: false, typescript: { memoryLimit: 4096 } @@ -530,6 +531,7 @@ exports[`base configuration for ios 1`] = ` /* config.plugin('ForkTsCheckerWebpackPlugin') */ new ForkTsCheckerWebpackPlugin( { + async: false, typescript: { memoryLimit: 4096 } diff --git a/packages/webpack5/__tests__/configuration/__snapshots__/javascript.spec.ts.snap b/packages/webpack5/__tests__/configuration/__snapshots__/javascript.spec.ts.snap index 4135f11db..c4fc4fcf6 100644 --- a/packages/webpack5/__tests__/configuration/__snapshots__/javascript.spec.ts.snap +++ b/packages/webpack5/__tests__/configuration/__snapshots__/javascript.spec.ts.snap @@ -240,6 +240,7 @@ exports[`javascript configuration for android 1`] = ` /* config.plugin('ForkTsCheckerWebpackPlugin') */ new ForkTsCheckerWebpackPlugin( { + async: false, typescript: { memoryLimit: 4096 } @@ -320,10 +321,10 @@ exports[`javascript configuration for android 1`] = ` entry: { bundle: [ '@nativescript/core/globals/index.js', + '__jest__/src/__@nativescript_webpack_virtual_entry_javascript__', '__jest__/src/app.js', '@nativescript/core/ui/frame', - '@nativescript/core/ui/frame/activity', - '__jest__/src/__@nativescript_webpack_virtual_entry_javascript__' + '@nativescript/core/ui/frame/activity' ] } }" @@ -569,6 +570,7 @@ exports[`javascript configuration for ios 1`] = ` /* config.plugin('ForkTsCheckerWebpackPlugin') */ new ForkTsCheckerWebpackPlugin( { + async: false, typescript: { memoryLimit: 4096 } @@ -649,8 +651,8 @@ exports[`javascript configuration for ios 1`] = ` entry: { bundle: [ '@nativescript/core/globals/index.js', - '__jest__/src/app.js', - '__jest__/src/__@nativescript_webpack_virtual_entry_javascript__' + '__jest__/src/__@nativescript_webpack_virtual_entry_javascript__', + '__jest__/src/app.js' ], 'tns_modules/inspector_modules': [ '@nativescript/core/inspector_modules' diff --git a/packages/webpack5/__tests__/configuration/__snapshots__/react.spec.ts.snap b/packages/webpack5/__tests__/configuration/__snapshots__/react.spec.ts.snap index e1e15a5f2..2d35a4f8a 100644 --- a/packages/webpack5/__tests__/configuration/__snapshots__/react.spec.ts.snap +++ b/packages/webpack5/__tests__/configuration/__snapshots__/react.spec.ts.snap @@ -238,6 +238,7 @@ exports[`react configuration > android > adds ReactRefreshWebpackPlugin when HMR /* config.plugin('ForkTsCheckerWebpackPlugin') */ new ForkTsCheckerWebpackPlugin( { + async: false, typescript: { memoryLimit: 4096 } @@ -556,6 +557,7 @@ exports[`react configuration > android > base config 1`] = ` /* config.plugin('ForkTsCheckerWebpackPlugin') */ new ForkTsCheckerWebpackPlugin( { + async: false, typescript: { memoryLimit: 4096 } @@ -874,6 +876,7 @@ exports[`react configuration > ios > adds ReactRefreshWebpackPlugin when HMR ena /* config.plugin('ForkTsCheckerWebpackPlugin') */ new ForkTsCheckerWebpackPlugin( { + async: false, typescript: { memoryLimit: 4096 } @@ -1193,6 +1196,7 @@ exports[`react configuration > ios > base config 1`] = ` /* config.plugin('ForkTsCheckerWebpackPlugin') */ new ForkTsCheckerWebpackPlugin( { + async: false, typescript: { memoryLimit: 4096 } diff --git a/packages/webpack5/__tests__/configuration/__snapshots__/svelte.spec.ts.snap b/packages/webpack5/__tests__/configuration/__snapshots__/svelte.spec.ts.snap index 2066d45fa..aeb3abb79 100644 --- a/packages/webpack5/__tests__/configuration/__snapshots__/svelte.spec.ts.snap +++ b/packages/webpack5/__tests__/configuration/__snapshots__/svelte.spec.ts.snap @@ -248,6 +248,7 @@ exports[`svelte configuration for android 1`] = ` /* config.plugin('ForkTsCheckerWebpackPlugin') */ new ForkTsCheckerWebpackPlugin( { + async: false, typescript: { memoryLimit: 4096 } @@ -574,6 +575,7 @@ exports[`svelte configuration for ios 1`] = ` /* config.plugin('ForkTsCheckerWebpackPlugin') */ new ForkTsCheckerWebpackPlugin( { + async: false, typescript: { memoryLimit: 4096 } diff --git a/packages/webpack5/__tests__/configuration/__snapshots__/typescript.spec.ts.snap b/packages/webpack5/__tests__/configuration/__snapshots__/typescript.spec.ts.snap index b63248635..1b820ec3c 100644 --- a/packages/webpack5/__tests__/configuration/__snapshots__/typescript.spec.ts.snap +++ b/packages/webpack5/__tests__/configuration/__snapshots__/typescript.spec.ts.snap @@ -240,6 +240,7 @@ exports[`typescript configuration for android 1`] = ` /* config.plugin('ForkTsCheckerWebpackPlugin') */ new ForkTsCheckerWebpackPlugin( { + async: false, typescript: { memoryLimit: 4096 } @@ -320,10 +321,10 @@ exports[`typescript configuration for android 1`] = ` entry: { bundle: [ '@nativescript/core/globals/index.js', + '__jest__/src/__@nativescript_webpack_virtual_entry_typescript__', '__jest__/src/app.js', '@nativescript/core/ui/frame', - '@nativescript/core/ui/frame/activity', - '__jest__/src/__@nativescript_webpack_virtual_entry_typescript__' + '@nativescript/core/ui/frame/activity' ] } }" @@ -569,6 +570,7 @@ exports[`typescript configuration for ios 1`] = ` /* config.plugin('ForkTsCheckerWebpackPlugin') */ new ForkTsCheckerWebpackPlugin( { + async: false, typescript: { memoryLimit: 4096 } @@ -649,8 +651,8 @@ exports[`typescript configuration for ios 1`] = ` entry: { bundle: [ '@nativescript/core/globals/index.js', - '__jest__/src/app.js', - '__jest__/src/__@nativescript_webpack_virtual_entry_typescript__' + '__jest__/src/__@nativescript_webpack_virtual_entry_typescript__', + '__jest__/src/app.js' ], 'tns_modules/inspector_modules': [ '@nativescript/core/inspector_modules' diff --git a/packages/webpack5/__tests__/configuration/__snapshots__/vue.spec.ts.snap b/packages/webpack5/__tests__/configuration/__snapshots__/vue.spec.ts.snap index 650a40dee..97e6dd9de 100644 --- a/packages/webpack5/__tests__/configuration/__snapshots__/vue.spec.ts.snap +++ b/packages/webpack5/__tests__/configuration/__snapshots__/vue.spec.ts.snap @@ -257,6 +257,7 @@ exports[`vue configuration for android 1`] = ` /* config.plugin('ForkTsCheckerWebpackPlugin') */ new ForkTsCheckerWebpackPlugin( { + async: false, typescript: { memoryLimit: 4096, extensions: { @@ -598,6 +599,7 @@ exports[`vue configuration for ios 1`] = ` /* config.plugin('ForkTsCheckerWebpackPlugin') */ new ForkTsCheckerWebpackPlugin( { + async: false, typescript: { memoryLimit: 4096, extensions: { diff --git a/packages/webpack5/src/bin/index.ts b/packages/webpack5/src/bin/index.ts index 45697829c..7b63ef183 100644 --- a/packages/webpack5/src/bin/index.ts +++ b/packages/webpack5/src/bin/index.ts @@ -56,6 +56,8 @@ program env['env'] = options.env; } + env['watch'] = options.watch; + const configPath = (() => { if (options.config) { return path.resolve(options.config); diff --git a/packages/webpack5/src/configuration/angular.ts b/packages/webpack5/src/configuration/angular.ts index 2cdafcae2..ab91d163a 100644 --- a/packages/webpack5/src/configuration/angular.ts +++ b/packages/webpack5/src/configuration/angular.ts @@ -186,7 +186,7 @@ export default function (config: Config, env: IWebpackEnv = _env): Config { paths.indexOf('@nativescript/core/globals/index.js') ] = polyfillsPath; - // replace paths with the update paths + // replace paths with the updated paths config.entry('bundle').clear().merge(paths); } } diff --git a/packages/webpack5/src/configuration/base.ts b/packages/webpack5/src/configuration/base.ts index 3eea33103..90c7f0a6a 100644 --- a/packages/webpack5/src/configuration/base.ts +++ b/packages/webpack5/src/configuration/base.ts @@ -233,11 +233,7 @@ export default function (config: Config, env: IWebpackEnv = _env): Config { .plugin('ForkTsCheckerWebpackPlugin') .use(ForkTsCheckerWebpackPlugin, [ { - // If we use "async" errors compiling typescript will be ignored by - // WebPack (we will send the "compilation" message back to the CLI, - // and the process exit code will be zero), therefore we will end - // up with a broken build - async: false, + async: !!env.watch, typescript: { memoryLimit: 4096, },