Skip to content

Commit 7f4cc7a

Browse files
committed
Merge branch 'next'
2 parents 6dc8265 + 18e2a60 commit 7f4cc7a

File tree

9 files changed

+4224
-826
lines changed

9 files changed

+4224
-826
lines changed

.eslintrc.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
module.exports = {
2+
env: {
3+
commonjs: true,
4+
es2020: true,
5+
node: true,
6+
mocha: true,
7+
},
8+
extends: 'eslint:recommended',
9+
parserOptions: {
10+
ecmaVersion: 12,
11+
},
12+
rules: {
13+
'no-prototype-builtins': 0,
14+
},
15+
};

index.js

Lines changed: 25 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
var utils = require('./utils');
1+
const utils = require('./utils');
22

3-
var scopedModuleRegex = new RegExp(
3+
const scopedModuleRegex = new RegExp(
44
'@[a-zA-Z0-9][\\w-.]+/[a-zA-Z0-9][\\w-.]+([a-zA-Z0-9./]+)?',
55
'g'
66
);
77

88
function getModuleName(request, includeAbsolutePaths) {
9-
var req = request;
10-
var delimiter = '/';
9+
let req = request;
10+
const delimiter = '/';
1111

1212
if (includeAbsolutePaths) {
1313
req = req.replace(/^.*?\/node_modules\//, '');
@@ -23,32 +23,31 @@ function getModuleName(request, includeAbsolutePaths) {
2323

2424
module.exports = function nodeExternals(options) {
2525
options = options || {};
26-
var mistakes = utils.validateOptions(options) || [];
26+
const mistakes = utils.validateOptions(options) || [];
2727
if (mistakes.length) {
28-
mistakes.forEach(function (mistake) {
29-
utils.error(
30-
mistakes.map(function (mistake) {
31-
return mistake.message;
32-
})
33-
);
28+
mistakes.forEach((mistake) => {
29+
utils.error(mistakes.map((mistake) => mistake.message));
3430
utils.log(mistake.message);
3531
});
3632
}
37-
var allowlist = [].concat(options.allowlist || []);
38-
var binaryDirs = [].concat(options.binaryDirs || ['.bin']);
39-
var importType = options.importType || 'commonjs';
40-
var modulesDir = options.modulesDir || 'node_modules';
41-
var modulesFromFile = !!options.modulesFromFile;
42-
var includeAbsolutePaths = !!options.includeAbsolutePaths;
43-
var additionalModuleDirs = options.additionalModuleDirs || [];
33+
const webpackInternalAllowlist = [/^webpack\/container\/reference\//];
34+
const allowlist = []
35+
.concat(webpackInternalAllowlist)
36+
.concat(options.allowlist || []);
37+
const binaryDirs = [].concat(options.binaryDirs || ['.bin']);
38+
const importType = options.importType || 'commonjs';
39+
const modulesDir = options.modulesDir || 'node_modules';
40+
const modulesFromFile = !!options.modulesFromFile;
41+
const includeAbsolutePaths = !!options.includeAbsolutePaths;
42+
const additionalModuleDirs = options.additionalModuleDirs || [];
4443

4544
// helper function
4645
function isNotBinary(x) {
4746
return !utils.contains(binaryDirs, x);
4847
}
4948

5049
// create the node modules list
51-
var nodeModules = modulesFromFile
50+
let nodeModules = modulesFromFile
5251
? utils.readFromPackageJson(options.modulesFromFile)
5352
: utils.readDir(modulesDir).filter(isNotBinary);
5453
additionalModuleDirs.forEach(function (additionalDirectory) {
@@ -58,20 +57,18 @@ module.exports = function nodeExternals(options) {
5857
});
5958

6059
// return an externals function
61-
return function () {
62-
var arg1 = arguments[0];
63-
var arg2 = arguments[1];
64-
var arg3 = arguments[2];
65-
var context = arg1;
66-
var request = arg2;
67-
var callback = arg3;
60+
return function (...args) {
61+
const [arg1, arg2, arg3] = args;
62+
// let context = arg1;
63+
let request = arg2;
64+
let callback = arg3;
6865
// in case of webpack 5
6966
if (arg1 && arg1.context && arg1.request) {
70-
context = arg1.context;
67+
// context = arg1.context;
7168
request = arg1.request;
7269
callback = arg2;
7370
}
74-
var moduleName = getModuleName(request, includeAbsolutePaths);
71+
const moduleName = getModuleName(request, includeAbsolutePaths);
7572
if (
7673
utils.contains(nodeModules, moduleName) &&
7774
!utils.containsPattern(allowlist, request)

0 commit comments

Comments
 (0)