Skip to content

Commit 9929833

Browse files
authored
fix(webpack): exclude files starting with _ from require.context (NativeScript#9596)
1 parent 1ceea57 commit 9929833

File tree

4 files changed

+28
-0
lines changed

4 files changed

+28
-0
lines changed

packages/webpack5/__tests__/configuration/__snapshots__/javascript.spec.ts.snap

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,10 @@ exports[`javascript configuration for android 1`] = `
318318
{
319319
'__jest__/src/__@nativescript_webpack_virtual_entry_javascript__': '// VIRTUAL ENTRY START\\\\nrequire(\\\\'@nativescript/core/bundle-entry-points\\\\')\\\\nconst context = require.context(\\"~/\\", /* deep: */ true, /* filter: */ /.(xml|js|s?css)$/);\\\\nglobal.registerWebpackModules(context);\\\\n// VIRTUAL ENTRY END'
320320
}
321+
),
322+
/* config.plugin('ContextExclusionPlugin|exclude_files') */
323+
new ContextExclusionPlugin(
324+
/\\\\b_.+\\\\./
321325
)
322326
],
323327
entry: {
@@ -651,6 +655,10 @@ exports[`javascript configuration for ios 1`] = `
651655
{
652656
'__jest__/src/__@nativescript_webpack_virtual_entry_javascript__': '// VIRTUAL ENTRY START\\\\nrequire(\\\\'@nativescript/core/bundle-entry-points\\\\')\\\\nconst context = require.context(\\"~/\\", /* deep: */ true, /* filter: */ /.(xml|js|s?css)$/);\\\\nglobal.registerWebpackModules(context);\\\\n// VIRTUAL ENTRY END'
653657
}
658+
),
659+
/* config.plugin('ContextExclusionPlugin|exclude_files') */
660+
new ContextExclusionPlugin(
661+
/\\\\b_.+\\\\./
654662
)
655663
],
656664
entry: {

packages/webpack5/__tests__/configuration/__snapshots__/typescript.spec.ts.snap

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,10 @@ exports[`typescript configuration for android 1`] = `
318318
{
319319
'__jest__/src/__@nativescript_webpack_virtual_entry_typescript__': '// VIRTUAL ENTRY START\\\\nrequire(\\\\'@nativescript/core/bundle-entry-points\\\\')\\\\nconst context = require.context(\\"~/\\", /* deep: */ true, /* filter: */ /\\\\\\\\.(xml|js|(?<!\\\\\\\\.d\\\\\\\\.)ts|s?css)$/);\\\\nglobal.registerWebpackModules(context);\\\\n// VIRTUAL ENTRY END'
320320
}
321+
),
322+
/* config.plugin('ContextExclusionPlugin|exclude_files') */
323+
new ContextExclusionPlugin(
324+
/\\\\b_.+\\\\./
321325
)
322326
],
323327
entry: {
@@ -651,6 +655,10 @@ exports[`typescript configuration for ios 1`] = `
651655
{
652656
'__jest__/src/__@nativescript_webpack_virtual_entry_typescript__': '// VIRTUAL ENTRY START\\\\nrequire(\\\\'@nativescript/core/bundle-entry-points\\\\')\\\\nconst context = require.context(\\"~/\\", /* deep: */ true, /* filter: */ /\\\\\\\\.(xml|js|(?<!\\\\\\\\.d\\\\\\\\.)ts|s?css)$/);\\\\nglobal.registerWebpackModules(context);\\\\n// VIRTUAL ENTRY END'
653657
}
658+
),
659+
/* config.plugin('ContextExclusionPlugin|exclude_files') */
660+
new ContextExclusionPlugin(
661+
/\\\\b_.+\\\\./
654662
)
655663
],
656664
entry: {

packages/webpack5/src/configuration/javascript.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { getEntryPath, getEntryDirPath } from '../helpers/platform';
44
import { addVirtualEntry } from '../helpers/virtualModules';
55
import { chainedSetAddAfter } from '../helpers/chain';
66
import { env as _env, IWebpackEnv } from '../index';
7+
import { ContextExclusionPlugin } from 'webpack';
78
import base from './base';
89

910
export default function (config: Config, env: IWebpackEnv = _env): Config {
@@ -22,6 +23,11 @@ export default function (config: Config, env: IWebpackEnv = _env): Config {
2223
`
2324
);
2425

26+
// exclude files starting with _ from require.context
27+
config
28+
.plugin(`ContextExclusionPlugin|exclude_files`)
29+
.use(ContextExclusionPlugin, [/\b_.+\./]);
30+
2531
chainedSetAddAfter(
2632
config.entry('bundle'),
2733
'@nativescript/core/globals/index.js',

packages/webpack5/src/configuration/typescript.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { getEntryDirPath, getEntryPath } from '../helpers/platform';
44
import { addVirtualEntry } from '../helpers/virtualModules';
55
import { chainedSetAddAfter } from '../helpers/chain';
66
import { env as _env, IWebpackEnv } from '../index';
7+
import { ContextExclusionPlugin } from 'webpack';
78
import base from './base';
89

910
export default function (config: Config, env: IWebpackEnv = _env): Config {
@@ -22,6 +23,11 @@ export default function (config: Config, env: IWebpackEnv = _env): Config {
2223
`
2324
);
2425

26+
// exclude files starting with _ from require.context
27+
config
28+
.plugin(`ContextExclusionPlugin|exclude_files`)
29+
.use(ContextExclusionPlugin, [/\b_.+\./]);
30+
2531
chainedSetAddAfter(
2632
config.entry('bundle'),
2733
'@nativescript/core/globals/index.js',

0 commit comments

Comments
 (0)