Skip to content

Commit ced64d5

Browse files
committed
refactor: migrate commonjs to esm
1 parent 047301a commit ced64d5

File tree

135 files changed

+505
-705
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

135 files changed

+505
-705
lines changed

configs/recommended-module.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1+
import { createRequire } from "node:module";
2+
const require = createRequire(import.meta.url);
13
/**
24
* @fileoverview the `recommended-module` config for `eslint.config.js`
35
* @author 唯然<weiran.zsd@outlook.com>
46
* @deprecated use `flat/recommended-module` instead
57
*/
68

7-
"use strict"
8-
9-
module.exports = require("../lib/index.js").configs["flat/recommended-module"]
9+
export default require("../lib/index.js").configs["flat/recommended-module"]

configs/recommended-script.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1+
import { createRequire } from "node:module";
2+
const require = createRequire(import.meta.url);
13
/**
24
* @fileoverview the `recommended-script` config for `eslint.config.js`
35
* @author 唯然<weiran.zsd@outlook.com>
46
* @deprecated use `flat/recommended-script` instead
57
*/
68

7-
"use strict"
8-
9-
module.exports = require("../lib/index.js").configs["flat/recommended-script"]
9+
export default require("../lib/index.js").configs["flat/recommended-script"]

lib/all-rules.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1+
import { createRequire } from "node:module";
2+
const require = createRequire(import.meta.url);
13
/**
24
* @fileoverview All rules in the plugin.
35
* @author aladdin-add<weiran.zsd@outlook.com>
46
* TODO: maybe auto-generated in the future?
57
*/
6-
"use strict"
7-
88
/** @import { Rule } from 'eslint' */
99

1010
/** @type {Record<string, Rule.RuleModule> } */
11-
module.exports = {
11+
export default {
1212
"callback-return": require("./rules/callback-return"),
1313
"exports-style": require("./rules/exports-style"),
1414
"file-extension-in-import": require("./rules/file-extension-in-import"),

lib/configs/_commons.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
"use strict"
2-
3-
const rules = require("../all-rules")
1+
import rules from "../all-rules.js"
42

53
/** @type {import('eslint').Linter.RulesRecord} */
64
const recommendeRulesConfig = {}
@@ -20,5 +18,5 @@ for (const [ruleName, rule] of Object.entries(rules)) {
2018
}
2119
}
2220

23-
exports.recommendeRulesConfig = recommendeRulesConfig
24-
exports.allRulesConfig = allRulesConfig
21+
export { recommendeRulesConfig }
22+
export { allRulesConfig }

lib/configs/all.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,14 @@
22
* @fileoverview config for enabling all rules in the plugin.
33
* @author aladdin-add<weiran.zsd@outlook.com>SS
44
*/
5-
"use strict"
6-
7-
const { allRulesConfig } = require("./_commons")
8-
const recommendeConfig = require("./recommended")
5+
import { allRulesConfig } from "./_commons.js"
6+
import * as recommendeConfig from "./recommended.js"
97

108
/**
119
* https://eslint.org/docs/latest/use/configure/configuration-files-new
1210
* @type {import('eslint').Linter.FlatConfig}
1311
*/
14-
exports.flat = {
12+
export const flat = {
1513
name: "node/flat/all",
1614
languageOptions: recommendeConfig.flat.languageOptions ?? {},
1715
rules: allRulesConfig,

lib/configs/recommended-module.js

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1-
"use strict"
2-
3-
const globals = require("globals")
4-
const { recommendeRulesConfig } = require("./_commons")
1+
import globals from "globals"
2+
import { recommendeRulesConfig } from "./_commons.js"
53

64
/**
75
* https://eslint.org/docs/latest/use/configure/configuration-files
86
* @type {import('eslint').ESLint.ConfigData}
97
*/
10-
module.exports.eslintrc = {
8+
export const eslintrc = {
119
env: {
1210
node: true,
1311
},
@@ -37,7 +35,7 @@ module.exports.eslintrc = {
3735
* https://eslint.org/docs/latest/use/configure/configuration-files-new
3836
* @type {import('eslint').Linter.FlatConfig}
3937
*/
40-
module.exports.flat = {
38+
export const flat = {
4139
name: "node/flat/recommended-module",
4240
languageOptions: {
4341
sourceType: "module",

lib/configs/recommended-script.js

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1-
"use strict"
2-
3-
const globals = require("globals")
4-
const { recommendeRulesConfig } = require("./_commons")
1+
import globals from "globals"
2+
import { recommendeRulesConfig } from "./_commons.js"
53

64
/**
75
* https://eslint.org/docs/latest/use/configure/configuration-files
86
* @type {import('eslint').ESLint.ConfigData}
97
*/
10-
module.exports.eslintrc = {
8+
export const eslintrc = {
119
env: {
1210
node: true,
1311
},
@@ -34,7 +32,7 @@ module.exports.eslintrc = {
3432
* https://eslint.org/docs/latest/use/configure/configuration-files-new
3533
* @type {import('eslint').Linter.FlatConfig}
3634
*/
37-
module.exports.flat = {
35+
export const flat = {
3836
name: "node/flat/recommended-script",
3937
languageOptions: {
4038
sourceType: "commonjs",

lib/configs/recommended.js

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
"use strict"
2-
3-
const { getPackageJson } = require("../util/get-package-json")
4-
const moduleConfig = require("./recommended-module")
5-
const scriptConfig = require("./recommended-script")
1+
import { getPackageJson } from "../util/get-package-json.js"
2+
import * as moduleConfig from "./recommended-module.js"
3+
import * as scriptConfig from "./recommended-script.js"
64

75
const packageJson = getPackageJson()
86

@@ -17,12 +15,12 @@ const recommendedConfig = isModule ? moduleConfig : scriptConfig
1715
* https://eslint.org/docs/latest/use/configure/configuration-files
1816
* @type {import('eslint').ESLint.ConfigData}
1917
*/
20-
module.exports.eslintrc = {
18+
export const eslintrc = {
2119
...recommendedConfig.eslintrc,
2220
overrides: [
2321
{ files: ["*.cjs", ".*.cjs"], ...scriptConfig.eslintrc },
2422
{ files: ["*.mjs", ".*.mjs"], ...moduleConfig.eslintrc },
2523
],
2624
}
2725

28-
module.exports.flat = recommendedConfig.flat
26+
export const flat = recommendedConfig.flat

lib/index.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
"use strict"
2-
1+
import { createRequire } from "node:module";
2+
const require = createRequire(import.meta.url);
33
const pkg = require("../package.json")
4-
const esmConfig = require("./configs/recommended-module")
5-
const cjsConfig = require("./configs/recommended-script")
6-
const recommendedConfig = require("./configs/recommended")
7-
const allRulesConfig = require("./configs/all")
8-
const allRules = require("./all-rules")
4+
import * as esmConfig from "./configs/recommended-module.js"
5+
import * as cjsConfig from "./configs/recommended-script.js"
6+
import * as recommendedConfig from "./configs/recommended.js"
7+
import * as allRulesConfig from "./configs/all.js"
8+
import allRules from "./all-rules.js"
99

1010
/** @import { ESLint, Linter } from 'eslint' */
1111

@@ -47,4 +47,4 @@ const configs = {
4747
}
4848

4949
/** @type {ESLint.Plugin & { configs: Configs }} */
50-
module.exports = Object.assign(base, { configs })
50+
export default Object.assign(base, { configs })

lib/rules/callback-return.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,13 @@
22
* @author Jamund Ferguson
33
* See LICENSE file in root directory for full license.
44
*/
5-
"use strict"
6-
const { getSourceCode } = require("../util/eslint-compat")
5+
import { getSourceCode } from "../util/eslint-compat.js"
76

87
/**
98
* @typedef {[string[]?]} RuleOptions
109
*/
1110
/** @type {import('./rule-module').RuleModule<{RuleOptions: RuleOptions}>} */
12-
module.exports = {
11+
export default {
1312
meta: {
1413
type: "suggestion",
1514
docs: {

0 commit comments

Comments
 (0)