Skip to content

Commit

Permalink
feat: add config flat/recommended and flat/mixed-esm-and-cjs (#111)
Browse files Browse the repository at this point in the history
  • Loading branch information
aladdin-add authored Sep 8, 2023
1 parent 1f8fdc8 commit 78595c4
Show file tree
Hide file tree
Showing 18 changed files with 65 additions and 56 deletions.
2 changes: 2 additions & 0 deletions .eslint-doc-generatorrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ const config = {
["recommended", "β˜‘οΈ"],
["flat/recommended-script", "βœ…"],
["flat/recommended-module", "🟒"],
["flat/recommended", "β˜‘οΈ"],
["flat/mixed-esm-and-cjs", "🟠"],
],
}

Expand Down
83 changes: 42 additions & 41 deletions README.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/rules/no-deprecated-api.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Disallow deprecated APIs (`n/no-deprecated-api`)

πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.
πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): β˜‘οΈ `flat/recommended`, 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.

<!-- end auto-generated rule header -->

Expand Down
2 changes: 1 addition & 1 deletion docs/rules/no-exports-assign.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Disallow the assignment to `exports` (`n/no-exports-assign`)

πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.
πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): β˜‘οΈ `flat/recommended`, 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.

<!-- end auto-generated rule header -->

Expand Down
2 changes: 1 addition & 1 deletion docs/rules/no-extraneous-import.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Disallow `import` declarations which import extraneous modules (`n/no-extraneous-import`)

πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.
πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): β˜‘οΈ `flat/recommended`, 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.

<!-- end auto-generated rule header -->

Expand Down
2 changes: 1 addition & 1 deletion docs/rules/no-extraneous-require.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Disallow `require()` expressions which import extraneous modules (`n/no-extraneous-require`)

πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.
πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): β˜‘οΈ `flat/recommended`, 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.

<!-- end auto-generated rule header -->

Expand Down
2 changes: 1 addition & 1 deletion docs/rules/no-missing-import.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Disallow `import` declarations which import non-existence modules (`n/no-missing-import`)

πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.
πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): β˜‘οΈ `flat/recommended`, 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.

<!-- end auto-generated rule header -->

Expand Down
2 changes: 1 addition & 1 deletion docs/rules/no-missing-require.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Disallow `require()` expressions which import non-existence modules (`n/no-missing-require`)

πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.
πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): β˜‘οΈ `flat/recommended`, 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.

<!-- end auto-generated rule header -->

Expand Down
2 changes: 1 addition & 1 deletion docs/rules/no-process-exit.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Disallow the use of `process.exit()` (`n/no-process-exit`)

πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.
πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): β˜‘οΈ `flat/recommended`, 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.

<!-- end auto-generated rule header -->

Expand Down
2 changes: 1 addition & 1 deletion docs/rules/no-unpublished-bin.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Disallow `bin` files that npm ignores (`n/no-unpublished-bin`)

πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.
πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): β˜‘οΈ `flat/recommended`, 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.

<!-- end auto-generated rule header -->

Expand Down
2 changes: 1 addition & 1 deletion docs/rules/no-unpublished-import.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Disallow `import` declarations which import private modules (`n/no-unpublished-import`)

πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.
πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): β˜‘οΈ `flat/recommended`, 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.

<!-- end auto-generated rule header -->

Expand Down
2 changes: 1 addition & 1 deletion docs/rules/no-unpublished-require.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Disallow `require()` expressions which import private modules (`n/no-unpublished-require`)

πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.
πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): β˜‘οΈ `flat/recommended`, 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.

<!-- end auto-generated rule header -->

Expand Down
2 changes: 1 addition & 1 deletion docs/rules/no-unsupported-features/es-builtins.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Disallow unsupported ECMAScript built-ins on the specified version (`n/no-unsupported-features/es-builtins`)

πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.
πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): β˜‘οΈ `flat/recommended`, 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.

<!-- end auto-generated rule header -->

Expand Down
2 changes: 1 addition & 1 deletion docs/rules/no-unsupported-features/es-syntax.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Disallow unsupported ECMAScript syntax on the specified version (`n/no-unsupported-features/es-syntax`)

πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.
πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): β˜‘οΈ `flat/recommended`, 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.

<!-- end auto-generated rule header -->

Expand Down
2 changes: 1 addition & 1 deletion docs/rules/no-unsupported-features/node-builtins.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Disallow unsupported Node.js built-in APIs on the specified version (`n/no-unsupported-features/node-builtins`)

πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.
πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): β˜‘οΈ `flat/recommended`, 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.

<!-- end auto-generated rule header -->

Expand Down
2 changes: 1 addition & 1 deletion docs/rules/process-exit-as-throw.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Require that `process.exit()` expressions use the same code path as `throw` (`n/process-exit-as-throw`)

πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.
πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): β˜‘οΈ `flat/recommended`, 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.

<!-- end auto-generated rule header -->

Expand Down
2 changes: 1 addition & 1 deletion docs/rules/shebang.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Require correct usage of shebang (`n/shebang`)

πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.
πŸ’Ό This rule is enabled in the following [configs](https://github.com/eslint-community/eslint-plugin-n#-configs): β˜‘οΈ `flat/recommended`, 🟒 `flat/recommended-module`, βœ… `flat/recommended-script`, β˜‘οΈ `recommended`, 🟒 `recommended-module`, βœ… `recommended-script`.

πŸ”§ This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix).

Expand Down
6 changes: 6 additions & 0 deletions lib/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,12 @@ mod.configs = {
recommended: { plugins: ["n"], ...recommendedConfig.eslintrc },
"flat/recommended-module": { plugins: { n: mod }, ...esmConfig.flat },
"flat/recommended-script": { plugins: { n: mod }, ...cjsConfig.flat },
"flat/recommended": { plugins: { n: mod }, ...recommendedConfig.flat },
"flat/mixed-esm-and-cjs": [
{ plugins: { n: mod }, files: ["**/*.js"], ...recommendedConfig.flat },
{ plugins: { n: mod }, files: ["**/*.mjs"], ...esmConfig.flat },
{ plugins: { n: mod }, files: ["**/*.cjs"], ...cjsConfig.flat },
],
}

module.exports = mod

0 comments on commit 78595c4

Please sign in to comment.