From 87fc0bf96125e92d214424f908d749390304665c Mon Sep 17 00:00:00 2001 From: Dimitris - Rafail Katsampas Date: Sat, 25 Dec 2021 00:16:40 +0000 Subject: [PATCH 1/9] fix: Exclude typescript definition files from `ts-loader` since they cause issues for JavaScript apps. --- packages/webpack5/src/configuration/base.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/webpack5/src/configuration/base.ts b/packages/webpack5/src/configuration/base.ts index 0c2659f6d8..bd9c1f6250 100644 --- a/packages/webpack5/src/configuration/base.ts +++ b/packages/webpack5/src/configuration/base.ts @@ -223,6 +223,8 @@ export default function (config: Config, env: IWebpackEnv = _env): Config { config.module .rule('ts') .test([/\.ts$/]) + .exclude.add(/\.d.ts$/) + .end() .use('ts-loader') .loader('ts-loader') .options({ From 6a16dfef365090991b867b778c4a318c818767d0 Mon Sep 17 00:00:00 2001 From: Dimitris - Rafail Katsampas Date: Sat, 25 Dec 2021 00:34:21 +0000 Subject: [PATCH 2/9] chore: Added comment so that developers know why this rule is there. --- packages/webpack5/src/configuration/base.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/webpack5/src/configuration/base.ts b/packages/webpack5/src/configuration/base.ts index bd9c1f6250..b261a36bf6 100644 --- a/packages/webpack5/src/configuration/base.ts +++ b/packages/webpack5/src/configuration/base.ts @@ -220,6 +220,7 @@ export default function (config: Config, env: IWebpackEnv = _env): Config { .loader('nativescript-worker-loader'); // set up ts support + // exclude definition files since they can cause issues in apps that don't use ts config.module .rule('ts') .test([/\.ts$/]) From d8f63d0b2c58b130cf9931d72edac8d537d43f45 Mon Sep 17 00:00:00 2001 From: Dimitris - Rafail Katsampas Date: Sat, 25 Dec 2021 01:12:01 +0000 Subject: [PATCH 3/9] test: Corrected test snapshots related to `ts-loader`. --- .../__tests__/configuration/__snapshots__/base.spec.ts.snap | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/webpack5/__tests__/configuration/__snapshots__/base.spec.ts.snap b/packages/webpack5/__tests__/configuration/__snapshots__/base.spec.ts.snap index 658a93148a..0b0e588572 100644 --- a/packages/webpack5/__tests__/configuration/__snapshots__/base.spec.ts.snap +++ b/packages/webpack5/__tests__/configuration/__snapshots__/base.spec.ts.snap @@ -90,6 +90,9 @@ exports[`base configuration for android 1`] = ` test: [ /\\\\.ts$/ ], + exclude: [ + /\.d.ts$/ + ], use: [ /* config.module.rule('ts').use('ts-loader') */ { @@ -404,6 +407,9 @@ exports[`base configuration for ios 1`] = ` test: [ /\\\\.ts$/ ], + exclude: [ + /\.d.ts$/ + ], use: [ /* config.module.rule('ts').use('ts-loader') */ { From 383a85282290026e13b82863948981b3ccce64d0 Mon Sep 17 00:00:00 2001 From: Dimitris - Rafail Katsampas Date: Sat, 25 Dec 2021 01:13:38 +0000 Subject: [PATCH 4/9] fix: Corrected regex escape in test snapshot. --- .../__tests__/configuration/__snapshots__/base.spec.ts.snap | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/webpack5/__tests__/configuration/__snapshots__/base.spec.ts.snap b/packages/webpack5/__tests__/configuration/__snapshots__/base.spec.ts.snap index 0b0e588572..92fbcf4336 100644 --- a/packages/webpack5/__tests__/configuration/__snapshots__/base.spec.ts.snap +++ b/packages/webpack5/__tests__/configuration/__snapshots__/base.spec.ts.snap @@ -91,7 +91,7 @@ exports[`base configuration for android 1`] = ` /\\\\.ts$/ ], exclude: [ - /\.d.ts$/ + /\\\\.d.ts$/ ], use: [ /* config.module.rule('ts').use('ts-loader') */ @@ -408,7 +408,7 @@ exports[`base configuration for ios 1`] = ` /\\\\.ts$/ ], exclude: [ - /\.d.ts$/ + /\\\\.d.ts$/ ], use: [ /* config.module.rule('ts').use('ts-loader') */ From a42d52dcf7a522a4a8763016a99c14cfca391ab1 Mon Sep 17 00:00:00 2001 From: Dimitris - Rafail Katsampas Date: Sat, 25 Dec 2021 01:39:45 +0000 Subject: [PATCH 5/9] chore: Reverting webpack changes. --- .../__tests__/configuration/__snapshots__/base.spec.ts.snap | 6 ------ packages/webpack5/src/configuration/base.ts | 2 -- 2 files changed, 8 deletions(-) diff --git a/packages/webpack5/__tests__/configuration/__snapshots__/base.spec.ts.snap b/packages/webpack5/__tests__/configuration/__snapshots__/base.spec.ts.snap index 92fbcf4336..658a93148a 100644 --- a/packages/webpack5/__tests__/configuration/__snapshots__/base.spec.ts.snap +++ b/packages/webpack5/__tests__/configuration/__snapshots__/base.spec.ts.snap @@ -90,9 +90,6 @@ exports[`base configuration for android 1`] = ` test: [ /\\\\.ts$/ ], - exclude: [ - /\\\\.d.ts$/ - ], use: [ /* config.module.rule('ts').use('ts-loader') */ { @@ -407,9 +404,6 @@ exports[`base configuration for ios 1`] = ` test: [ /\\\\.ts$/ ], - exclude: [ - /\\\\.d.ts$/ - ], use: [ /* config.module.rule('ts').use('ts-loader') */ { diff --git a/packages/webpack5/src/configuration/base.ts b/packages/webpack5/src/configuration/base.ts index b261a36bf6..0a71bfae43 100644 --- a/packages/webpack5/src/configuration/base.ts +++ b/packages/webpack5/src/configuration/base.ts @@ -224,8 +224,6 @@ export default function (config: Config, env: IWebpackEnv = _env): Config { config.module .rule('ts') .test([/\.ts$/]) - .exclude.add(/\.d.ts$/) - .end() .use('ts-loader') .loader('ts-loader') .options({ From 21e9af059435f40a2dd0472135c3e61a52427797 Mon Sep 17 00:00:00 2001 From: Dimitris - Rafail Katsampas Date: Sat, 25 Dec 2021 01:41:40 +0000 Subject: [PATCH 6/9] chore: Removed leftovers. --- packages/webpack5/src/configuration/base.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/webpack5/src/configuration/base.ts b/packages/webpack5/src/configuration/base.ts index 0a71bfae43..0c2659f6d8 100644 --- a/packages/webpack5/src/configuration/base.ts +++ b/packages/webpack5/src/configuration/base.ts @@ -220,7 +220,6 @@ export default function (config: Config, env: IWebpackEnv = _env): Config { .loader('nativescript-worker-loader'); // set up ts support - // exclude definition files since they can cause issues in apps that don't use ts config.module .rule('ts') .test([/\.ts$/]) From f156c9e36d8701c3cdcf9bb45b44df41dd8c06b9 Mon Sep 17 00:00:00 2001 From: Dimitris - Rafail Katsampas Date: Sat, 25 Dec 2021 03:52:11 +0000 Subject: [PATCH 7/9] fix: Proper way to disable `ts-loader` for javascript configuration. --- packages/webpack5/src/configuration/javascript.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/webpack5/src/configuration/javascript.ts b/packages/webpack5/src/configuration/javascript.ts index 914036eb2f..136b9381e0 100644 --- a/packages/webpack5/src/configuration/javascript.ts +++ b/packages/webpack5/src/configuration/javascript.ts @@ -34,6 +34,8 @@ export default function (config: Config, env: IWebpackEnv = _env): Config { virtualEntryPath ); + config.module.rules.delete('ts'); + config.when(env.hmr, (config) => { // set up core HMR config.module From a203899867da1f7fe859d53c172bfdff96494b26 Mon Sep 17 00:00:00 2001 From: Dimitris - Rafail Katsampas Date: Sat, 25 Dec 2021 04:00:22 +0000 Subject: [PATCH 8/9] test: Removed `ts-loader` references from javascript configuration snapshot. --- .../__snapshots__/javascript.spec.ts.snap | 42 ------------------- 1 file changed, 42 deletions(-) diff --git a/packages/webpack5/__tests__/configuration/__snapshots__/javascript.spec.ts.snap b/packages/webpack5/__tests__/configuration/__snapshots__/javascript.spec.ts.snap index 22ba2df014..0f70b870de 100644 --- a/packages/webpack5/__tests__/configuration/__snapshots__/javascript.spec.ts.snap +++ b/packages/webpack5/__tests__/configuration/__snapshots__/javascript.spec.ts.snap @@ -85,27 +85,6 @@ exports[`javascript configuration for android 1`] = ` } ] }, - /* config.module.rule('ts') */ - { - test: [ - /\\\\.ts$/ - ], - use: [ - /* config.module.rule('ts').use('ts-loader') */ - { - loader: 'ts-loader', - options: { - transpileOnly: true, - allowTsInNodeModules: true, - compilerOptions: { - sourceMap: true, - declaration: false - }, - getCustomTransformers: function () { /* omitted long function */ } - } - } - ] - }, /* config.module.rule('js') */ { test: /\\\\.js$/, @@ -408,27 +387,6 @@ exports[`javascript configuration for ios 1`] = ` } ] }, - /* config.module.rule('ts') */ - { - test: [ - /\\\\.ts$/ - ], - use: [ - /* config.module.rule('ts').use('ts-loader') */ - { - loader: 'ts-loader', - options: { - transpileOnly: true, - allowTsInNodeModules: true, - compilerOptions: { - sourceMap: true, - declaration: false - }, - getCustomTransformers: function () { /* omitted long function */ } - } - } - ] - }, /* config.module.rule('js') */ { test: /\\\\.js$/, From 897c66e808517cd24bb6ce991cbc5e52c9f30700 Mon Sep 17 00:00:00 2001 From: Dimitris - Rafail Katsampas Date: Sat, 25 Dec 2021 06:12:59 +0200 Subject: [PATCH 9/9] chore: Put `config` removals at the beginning of procedure. --- packages/webpack5/src/configuration/javascript.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/webpack5/src/configuration/javascript.ts b/packages/webpack5/src/configuration/javascript.ts index 136b9381e0..c5004127f0 100644 --- a/packages/webpack5/src/configuration/javascript.ts +++ b/packages/webpack5/src/configuration/javascript.ts @@ -22,6 +22,9 @@ export default function (config: Config, env: IWebpackEnv = _env): Config { // VIRTUAL ENTRY END ` ); + + // remove default ts rule + config.module.rules.delete('ts'); // exclude files starting with _ from require.context config @@ -34,8 +37,6 @@ export default function (config: Config, env: IWebpackEnv = _env): Config { virtualEntryPath ); - config.module.rules.delete('ts'); - config.when(env.hmr, (config) => { // set up core HMR config.module