Skip to content

Commit 239d4ec

Browse files
authored
feat: add ESM-specific rules (#441)
1 parent 9f9ffdc commit 239d4ec

File tree

4 files changed

+19
-0
lines changed

4 files changed

+19
-0
lines changed

.eslintrc.cjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -377,6 +377,7 @@ module.exports = {
377377
// Documentation might import dependencies not in package.json
378378
'node/no-unpublished-require': 0,
379379
'node/no-extraneous-require': 0,
380+
'node/no-extraneous-import': 0,
380381
'import/no-extraneous-dependencies': 0,
381382
},
382383
},

.eslintrc_esm.cjs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
const baseEslintrc = require('./.eslintrc')
2+
3+
// ESLint configuration for packages using pure ES modules.
4+
// This should be merged to the main `.eslintrc.js` once all our repositories
5+
// have migrated to pure ES modules.
6+
module.exports = {
7+
...baseEslintrc,
8+
parserOptions: {
9+
sourceType: 'module',
10+
},
11+
rules: {
12+
...baseEslintrc.rules,
13+
'import/extensions': [2, 'ignorePackages'],
14+
},
15+
}

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ If you're creating a new repository, you can use the
1818
specific project.
1919

2020
```js
21+
// Use '@netlify/eslint-config-node/esm' if the repository is using pure ES modules
2122
const { overrides } = require('@netlify/eslint-config-node')
2223

2324
module.exports = {

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@
44
"type": "commonjs",
55
"exports": {
66
".": "./.eslintrc.cjs",
7+
"./esm": "./.eslintrc_esm.cjs",
78
"./.prettierrc.json": "./.prettierrc.json"
89
},
910
"main": "./.eslintrc.cjs",
1011
"files": [
1112
".eslintrc.cjs",
13+
".eslintrc_esm.cjs",
1214
".prettierrc.json",
1315
".editorconfig",
1416
".gitattributes",

0 commit comments

Comments
 (0)