Skip to content

Commit c2a05eb

Browse files
chore(commonjs): switch to fdir for fewer dependencies (#1741)
BREAKING CHANGES: directories listed in dynamicRequireTargets now require a trailing slash Co-authored-by: shellscape <andrew@shellscape.org>
1 parent 05af988 commit c2a05eb

File tree

8 files changed

+51
-131
lines changed

8 files changed

+51
-131
lines changed

packages/commonjs/package.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,10 @@
6565
"@rollup/pluginutils": "^5.0.1",
6666
"commondir": "^1.0.1",
6767
"estree-walker": "^2.0.2",
68-
"glob": "^10.4.1",
68+
"fdir": "^6.1.1",
6969
"is-reference": "1.2.1",
70-
"magic-string": "^0.30.3"
70+
"magic-string": "^0.30.3",
71+
"picomatch": "^2.3.1"
7172
},
7273
"devDependencies": {
7374
"@rollup/plugin-json": "^5.0.0",

packages/commonjs/src/dynamic-modules.js

+8-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { join, resolve, dirname } from 'path';
33

44
import getCommonDir from 'commondir';
55

6-
import { glob } from 'glob';
6+
import { fdir } from 'fdir';
77

88
import { getVirtualPathForDynamicRequirePath, normalizePathSlashes } from './utils';
99

@@ -41,8 +41,13 @@ export function getDynamicRequireModules(patterns, dynamicRequireRoot) {
4141
isNegated
4242
? dynamicRequireModules.delete(targetPath)
4343
: dynamicRequireModules.set(targetPath, resolvedPath);
44-
for (const path of glob
45-
.sync(isNegated ? pattern.substr(1) : pattern)
44+
// eslint-disable-next-line new-cap
45+
for (const path of new fdir()
46+
.withBasePath()
47+
.withDirs()
48+
.glob(isNegated ? pattern.substr(1) : pattern)
49+
.crawl()
50+
.sync()
4651
.sort((a, b) => a.localeCompare(b, 'en'))) {
4752
const resolvedPath = resolve(path);
4853
const requirePath = normalizePathSlashes(resolvedPath);

packages/commonjs/test/fixtures/function/dynamic-require-instances/_config.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ module.exports = {
77
},
88
pluginOptions: {
99
dynamicRequireTargets: [
10-
'fixtures/function/dynamic-require-instances/direct',
10+
'fixtures/function/dynamic-require-instances/direct/',
1111
'fixtures/function/dynamic-require-instances/direct/index.js',
12-
'fixtures/function/dynamic-require-instances/package',
12+
'fixtures/function/dynamic-require-instances/package/',
1313
'fixtures/function/dynamic-require-instances/package/main.js'
1414
]
1515
}

packages/commonjs/test/fixtures/function/dynamic-require-package/_config.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ module.exports = {
88
},
99
pluginOptions: {
1010
dynamicRequireTargets: [
11-
'fixtures/function/dynamic-require-package',
12-
'fixtures/function/dynamic-require-package/sub',
13-
'fixtures/function/dynamic-require-package/node_modules/custom-module'
11+
'fixtures/function/dynamic-require-package/',
12+
'fixtures/function/dynamic-require-package/sub/',
13+
'fixtures/function/dynamic-require-package/node_modules/custom-module/'
1414
]
1515
}
1616
};

packages/commonjs/test/fixtures/function/dynamic-require-resolve-index/_config.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ module.exports = {
77
},
88
pluginOptions: {
99
dynamicRequireTargets: [
10-
'fixtures/function/dynamic-require-resolve-index',
11-
'fixtures/function/dynamic-require-resolve-index/sub',
12-
'fixtures/function/dynamic-require-resolve-index/node_modules/custom-module'
10+
'fixtures/function/dynamic-require-resolve-index/',
11+
'fixtures/function/dynamic-require-resolve-index/sub/',
12+
'fixtures/function/dynamic-require-resolve-index/node_modules/custom-module/'
1313
]
1414
}
1515
};

packages/commonjs/test/fixtures/function/dynamic-require-resolve-reference/_config.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ module.exports = {
77
},
88
pluginOptions: {
99
dynamicRequireTargets: [
10-
'fixtures/function/dynamic-require-resolve-reference/node_modules/{custom-module,custom-module2}{,/*.js}'
10+
'fixtures/function/dynamic-require-resolve-reference/node_modules/{custom-module,custom-module2}{/,/*.js}'
1111
]
1212
}
1313
};

packages/commonjs/test/fixtures/function/dynamic-require-slash-access/_config.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ module.exports = {
77
},
88
pluginOptions: {
99
dynamicRequireTargets: [
10-
'fixtures/function/dynamic-require-slash-access',
11-
'fixtures/function/dynamic-require-slash-access/sub',
12-
'fixtures/function/dynamic-require-slash-access/node_modules/custom-module',
10+
'fixtures/function/dynamic-require-slash-access/',
11+
'fixtures/function/dynamic-require-slash-access/sub/',
12+
'fixtures/function/dynamic-require-slash-access/node_modules/custom-module/',
1313
'fixtures/function/dynamic-require-slash-access/node_modules/custom-module2/*.js'
1414
]
1515
}

0 commit comments

Comments
 (0)