Skip to content

Commit 5a66505

Browse files
committed
enable eslint-plugin-node
1 parent 79a46e9 commit 5a66505

File tree

7 files changed

+91
-61
lines changed

7 files changed

+91
-61
lines changed

.eslintrc.js

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,12 @@ const base = {
288288
// forbid useless path segments
289289
'import/no-useless-path-segments': 'error',
290290

291+
// node:
292+
// enforce the style of file extensions in `import` declarations
293+
'node/file-extension-in-import': ['error', 'never'],
294+
// disallow the assignment to `exports`
295+
'node/no-exports-assign': 'error',
296+
291297
// es6:
292298
// require parentheses around arrow function arguments
293299
'arrow-parens': ['error', 'as-needed'],
@@ -412,6 +418,15 @@ const es3 = {
412418
'prefer-destructuring': 'off',
413419
};
414420

421+
const node = {
422+
// disallow deprecated APIs
423+
'node/no-deprecated-api': 'error',
424+
// disallow unsupported ECMAScript built-ins on the specified version
425+
'node/no-unsupported-features/es-builtins': ['error', { version: '>=8.0.0' }],
426+
// disallow unsupported ECMAScript syntax on the specified version
427+
'node/no-unsupported-features/es-syntax': ['error', { version: '>=8.0.0' }],
428+
};
429+
415430
const tests = {
416431
// require strict mode directives
417432
strict: 'off',
@@ -497,7 +512,7 @@ const qunit = {
497512
module.exports = {
498513
root: true,
499514
parserOptions: {
500-
ecmaVersion: 2019,
515+
ecmaVersion: 2020,
501516
},
502517
env: {
503518
browser: true,
@@ -506,6 +521,7 @@ module.exports = {
506521
},
507522
plugins: [
508523
'import',
524+
'node',
509525
'optimize-regex',
510526
'qunit',
511527
'sonarjs',
@@ -561,9 +577,21 @@ module.exports = {
561577
files: [
562578
'packages/core-js-builder/**',
563579
'packages/core-js-compat/**',
580+
'tests/commonjs.js',
581+
'.eslintrc.js',
582+
'.webpack.config.js',
583+
'babel.config.js',
584+
'Gruntfile.js',
585+
],
586+
env: {
587+
es6: true,
588+
},
589+
rules: node,
590+
},
591+
{
592+
files: [
564593
'tests/tests/**',
565594
'tests/compat/**',
566-
'tests/commonjs.js',
567595
],
568596
env: {
569597
es6: true,

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
"eslint": "^6.3.0",
2525
"eslint-import-resolver-webpack": "^0.11.1",
2626
"eslint-plugin-import": "^2.18.2",
27+
"eslint-plugin-node": "^10.0.0",
2728
"eslint-plugin-optimize-regex": "^1.1.6",
2829
"eslint-plugin-qunit": "^4.0.0",
2930
"eslint-plugin-sonarjs": "^0.4.0",

packages/core-js-compat/src/build-modules-by-versions.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ for (const version of Object.values(modulesByVersions)) {
1010
for (const module of version) modules.delete(module);
1111
}
1212

13-
writeFileSync(resolve(__dirname, '../modules-by-versions.json'), JSON.stringify({
13+
writeFileSync(resolve(__dirname, '../modules-by-versions.json'), JSON.stringify(Object.assign({
1414
'3.0': [...modules],
15-
...modulesByVersions,
16-
}, null, ' '));
15+
}, modulesByVersions), null, ' '));

packages/core-js/internals/array-buffer.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -291,5 +291,8 @@ if (!NATIVE_ARRAY_BUFFER) {
291291

292292
setToStringTag($ArrayBuffer, ARRAY_BUFFER);
293293
setToStringTag($DataView, DATA_VIEW);
294-
exports[ARRAY_BUFFER] = $ArrayBuffer;
295-
exports[DATA_VIEW] = $DataView;
294+
295+
module.exports = {
296+
ArrayBuffer: $ArrayBuffer,
297+
DataView: $DataView
298+
};

packages/core-js/internals/global.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
1-
var O = 'object';
21
var check = function (it) {
32
return it && it.Math == Math && it;
43
};
54

65
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
76
module.exports =
87
// eslint-disable-next-line no-undef
9-
check(typeof globalThis == O && globalThis) ||
10-
check(typeof window == O && window) ||
11-
check(typeof self == O && self) ||
12-
check(typeof global == O && global) ||
8+
check(typeof globalThis == 'object' && globalThis) ||
9+
check(typeof window == 'object' && window) ||
10+
check(typeof self == 'object' && self) ||
11+
check(typeof global == 'object' && global) ||
1312
// eslint-disable-next-line no-new-func
1413
Function('return this')();

tests/promises-aplus-native.html

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
11
<!DOCTYPE html>
22
<html>
33
<head>
4-
<meta charset="utf-8" />
5-
<title>Promises/A+ Tests, Against Your Browser!</title>
6-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/mocha/2.1.0/mocha.css" />
4+
<meta charset="utf-8" />
5+
<title>Promises/A+ Tests, Against Your Browser!</title>
6+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/mocha/2.1.0/mocha.css" />
77
</head>
88
<body>
9-
<div id="mocha"></div>
10-
<script src="https://cdnjs.cloudflare.com/ajax/libs/mocha/2.1.0/mocha.min.js"></script>
11-
<script>
12-
mocha.setup({ ui: "bdd", timeout: 1e3, slow: Infinity });
9+
<div id="mocha"></div>
10+
<script src="https://cdnjs.cloudflare.com/ajax/libs/mocha/2.1.0/mocha.min.js"></script>
11+
<script>
12+
mocha.setup({ ui: "bdd", timeout: 1e3, slow: Infinity });
1313

14-
window.adapter = {
15-
deferred: function () {
16-
var deferred = {};
17-
deferred.promise = new Promise(function (resolve, reject) {
18-
deferred.resolve = resolve;
19-
deferred.reject = reject;
20-
});
21-
return deferred;
22-
},
23-
resolved: Promise.resolve.bind(Promise),
24-
rejected: Promise.reject.bind(Promise)
25-
};
26-
</script>
27-
<script src="bundles/promises-aplus.js"></script>
28-
<script>
29-
mocha.run();
30-
</script>
14+
window.adapter = {
15+
deferred: function () {
16+
var deferred = {};
17+
deferred.promise = new Promise(function (resolve, reject) {
18+
deferred.resolve = resolve;
19+
deferred.reject = reject;
20+
});
21+
return deferred;
22+
},
23+
resolved: Promise.resolve.bind(Promise),
24+
rejected: Promise.reject.bind(Promise)
25+
};
26+
</script>
27+
<script src="bundles/promises-aplus.js"></script>
28+
<script>
29+
mocha.run();
30+
</script>
3131
</body>
3232
</html>

tests/promises-aplus.html

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,33 @@
11
<!DOCTYPE html>
22
<html>
33
<head>
4-
<meta charset="utf-8" />
5-
<title>Promises/A+ Tests, Against Your Browser!</title>
6-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/mocha/2.1.0/mocha.css" />
4+
<meta charset="utf-8" />
5+
<title>Promises/A+ Tests, Against Your Browser!</title>
6+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/mocha/2.1.0/mocha.css" />
77
</head>
88
<body>
9-
<div id="mocha"></div>
10-
<script src="../packages/core-js-bundle/index.js"></script>
11-
<script src="https://cdnjs.cloudflare.com/ajax/libs/mocha/2.1.0/mocha.min.js"></script>
12-
<script>
13-
mocha.setup({ ui: "bdd", timeout: 1e3, slow: Infinity });
9+
<div id="mocha"></div>
10+
<script src="../packages/core-js-bundle/index.js"></script>
11+
<script src="https://cdnjs.cloudflare.com/ajax/libs/mocha/2.1.0/mocha.min.js"></script>
12+
<script>
13+
mocha.setup({ ui: "bdd", timeout: 1e3, slow: Infinity });
1414

15-
window.adapter = {
16-
deferred: function () {
17-
var deferred = {};
18-
deferred.promise = new Promise(function (resolve, reject) {
19-
deferred.resolve = resolve;
20-
deferred.reject = reject;
21-
});
22-
return deferred;
23-
},
24-
resolved: Promise.resolve.bind(Promise),
25-
rejected: Promise.reject.bind(Promise)
26-
};
27-
</script>
28-
<script src="bundles/promises-aplus.js"></script>
29-
<script>
30-
mocha.run();
31-
</script>
15+
window.adapter = {
16+
deferred: function () {
17+
var deferred = {};
18+
deferred.promise = new Promise(function (resolve, reject) {
19+
deferred.resolve = resolve;
20+
deferred.reject = reject;
21+
});
22+
return deferred;
23+
},
24+
resolved: Promise.resolve.bind(Promise),
25+
rejected: Promise.reject.bind(Promise)
26+
};
27+
</script>
28+
<script src="bundles/promises-aplus.js"></script>
29+
<script>
30+
mocha.run();
31+
</script>
3232
</body>
3333
</html>

0 commit comments

Comments
 (0)