@fenge/eslint-config 0.5.13 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/dist/config/base.d.ts +1 -1
- package/dist/config/base.d.ts.map +1 -1
- package/dist/config/base.js +3 -3
- package/dist/eslint.config.js +2 -2
- package/package.json +7 -7
- package/src/config/base.ts +3 -3
- package/src/eslint.config.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @fenge/eslint-config
|
|
2
2
|
|
|
3
|
+
## 0.6.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 28d8553: chore: required node ^18.20.0 or >=20.10.0
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [28d8553]
|
|
12
|
+
- eslint-plugin-pkg-json@0.3.0
|
|
13
|
+
- eslint-plugin-publint@0.2.0
|
|
14
|
+
- eslint-plugin-esm@0.8.0
|
|
15
|
+
- @fenge/eslint-plugin-ts@0.4.0
|
|
16
|
+
- @fenge/eslint-plugin@0.4.0
|
|
17
|
+
|
|
3
18
|
## 0.5.13
|
|
4
19
|
|
|
5
20
|
### Patch Changes
|
package/dist/config/base.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { Linter } from "eslint";
|
|
2
2
|
export type BaseOptions = Linter.LinterOptions;
|
|
3
|
-
export declare function base(options
|
|
3
|
+
export declare function base(options: BaseOptions, enabled: Set<"js" | "ts" | "pkg">): Linter.Config[];
|
|
4
4
|
//# sourceMappingURL=base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/config/base.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC;AAE/C,wBAAgB,IAAI,CAClB,OAAO,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/config/base.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC;AAE/C,wBAAgB,IAAI,CAClB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC,GAChC,MAAM,CAAC,MAAM,EAAE,CA+CjB"}
|
package/dist/config/base.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import childProcess from "node:child_process";
|
|
2
|
-
export function base(options
|
|
2
|
+
export function base(options, enabled) {
|
|
3
3
|
const filesMap = {
|
|
4
4
|
js: "**/*.{js,cjs,mjs,jsx}",
|
|
5
5
|
ts: "**/*.{ts,cts,mts,tsx}",
|
|
6
6
|
pkg: "package.json",
|
|
7
7
|
};
|
|
8
|
-
const files = enabled.map((key) => filesMap[key]);
|
|
8
|
+
const files = [...enabled].map((key) => filesMap[key]);
|
|
9
9
|
return [
|
|
10
10
|
// Global ignore. Refer: https://eslint.org/docs/latest/use/configure/configuration-files#specifying-files-and-ignores.
|
|
11
11
|
{
|
|
@@ -41,4 +41,4 @@ export function base(options = {}, enabled = []) {
|
|
|
41
41
|
},
|
|
42
42
|
];
|
|
43
43
|
}
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFlBQVksTUFBTSxvQkFBb0IsQ0FBQztBQUs5QyxNQUFNLFVBQVUsSUFBSSxDQUNsQixPQUFvQixFQUNwQixPQUFpQztJQUVqQyxNQUFNLFFBQVEsR0FBRztRQUNmLEVBQUUsRUFBRSx1QkFBdUI7UUFDM0IsRUFBRSxFQUFFLHVCQUF1QjtRQUMzQixHQUFHLEVBQUUsY0FBYztLQUNYLENBQUM7SUFDWCxNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN2RCxPQUFPO1FBQ0wsdUhBQXVIO1FBQ3ZIO1lBQ0UsSUFBSSxFQUFFLGlCQUFpQjtZQUN2Qiw4REFBOEQ7WUFDOUQsc0RBQXNEO1lBQ3RELHdHQUF3RztZQUN4RyxPQUFPLEVBQUUsQ0FDUCxZQUFZLENBQUMsU0FBUyxDQUNwQixLQUFLLEVBQ0w7Z0JBQ0UsVUFBVTtnQkFDVixVQUFVO2dCQUNWLFdBQVc7Z0JBQ1gsb0JBQW9CO2dCQUNwQixhQUFhO2FBQ2QsRUFDRCxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FDckIsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUNmO2lCQUNFLEtBQUssQ0FBQyxJQUFJLENBQUM7aUJBQ1gsTUFBTSxDQUFDLE9BQU8sQ0FBQztTQUNuQjtRQUNEO1lBQ0UsSUFBSSxFQUFFLGNBQWM7WUFDcEIsS0FBSztZQUNMLGFBQWEsRUFBRSxPQUFPO1NBQ3ZCO1FBQ0QsNEJBQTRCO1FBQzVCLHdHQUF3RztRQUN4RztZQUNFLElBQUksRUFBRSxjQUFjO1lBQ3BCLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLG1DQUFtQztZQUNsRCxPQUFPLEVBQUUsS0FBSztZQUNkLFNBQVMsRUFBRTtnQkFDVCxVQUFVLEVBQUUsQ0FBQyxLQUFhLEVBQUUsU0FBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RELFdBQVcsRUFBRSxDQUFDLFNBQXNCLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSw2Q0FBNkM7YUFDM0Y7U0FDRjtLQUNPLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNoaWxkUHJvY2VzcyBmcm9tIFwibm9kZTpjaGlsZF9wcm9jZXNzXCI7XG5pbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcblxuZXhwb3J0IHR5cGUgQmFzZU9wdGlvbnMgPSBMaW50ZXIuTGludGVyT3B0aW9ucztcblxuZXhwb3J0IGZ1bmN0aW9uIGJhc2UoXG4gIG9wdGlvbnM6IEJhc2VPcHRpb25zLFxuICBlbmFibGVkOiBTZXQ8XCJqc1wiIHwgXCJ0c1wiIHwgXCJwa2dcIj4sXG4pOiBMaW50ZXIuQ29uZmlnW10ge1xuICBjb25zdCBmaWxlc01hcCA9IHtcbiAgICBqczogXCIqKi8qLntqcyxjanMsbWpzLGpzeH1cIixcbiAgICB0czogXCIqKi8qLnt0cyxjdHMsbXRzLHRzeH1cIixcbiAgICBwa2c6IFwicGFja2FnZS5qc29uXCIsXG4gIH0gYXMgY29uc3Q7XG4gIGNvbnN0IGZpbGVzID0gWy4uLmVuYWJsZWRdLm1hcCgoa2V5KSA9PiBmaWxlc01hcFtrZXldKTtcbiAgcmV0dXJuIFtcbiAgICAvLyBHbG9iYWwgaWdub3JlLiBSZWZlcjogaHR0cHM6Ly9lc2xpbnQub3JnL2RvY3MvbGF0ZXN0L3VzZS9jb25maWd1cmUvY29uZmlndXJhdGlvbi1maWxlcyNzcGVjaWZ5aW5nLWZpbGVzLWFuZC1pZ25vcmVzLlxuICAgIHtcbiAgICAgIG5hbWU6IFwiZmVuZ2UvZ2l0aWdub3JlXCIsXG4gICAgICAvLyBUaGVyZSBhcmUgMiBraW5kcyBvZiBleGNlcHRpb24gd2hlbiBydW5uaW5nIGBnaXQgbHMtZmlsZXNgOlxuICAgICAgLy8gMS4gR2l0IGlzIG5vdCBpbnN0YWxsZWQuIFRoZSBgc3Rkb3V0YCB3aWxsIGJlIG51bGwuXG4gICAgICAvLyAyLiBUaGUgcnVubmluZyBkaXJlY3RvcnkgaXMgbm90IGluaXRpYWxpemVkIGJ5IGBnaXQgaW5pdGAgY29tbWFuZC4gVGhlIGBzdGRvdXRgIHdpbGwgYW4gZW1wdHkgc3RyaW5nLlxuICAgICAgaWdub3JlczogKFxuICAgICAgICBjaGlsZFByb2Nlc3Muc3Bhd25TeW5jKFxuICAgICAgICAgIFwiZ2l0XCIsXG4gICAgICAgICAgW1xuICAgICAgICAgICAgXCJscy1maWxlc1wiLFxuICAgICAgICAgICAgXCItLW90aGVyc1wiLFxuICAgICAgICAgICAgXCItLWlnbm9yZWRcIixcbiAgICAgICAgICAgIFwiLS1leGNsdWRlLXN0YW5kYXJkXCIsXG4gICAgICAgICAgICBcIi0tZGlyZWN0b3J5XCIsXG4gICAgICAgICAgXSxcbiAgICAgICAgICB7IGVuY29kaW5nOiBcInV0ZjhcIiB9LFxuICAgICAgICApLnN0ZG91dCB8fCBcIlwiXG4gICAgICApXG4gICAgICAgIC5zcGxpdChcIlxcblwiKVxuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogXCJmZW5nZS9jb21tb25cIixcbiAgICAgIGZpbGVzLFxuICAgICAgbGludGVyT3B0aW9uczogb3B0aW9ucyxcbiAgICB9LFxuICAgIC8vIElnbm9yZSB1bnN1cHBvcnRlZCBmaWxlcy5cbiAgICAvLyBUaGlzIGNvbmZpZyBpcyBmb3Igc3VwcHJlc3NpbmcgZXJyb3Igd2hlbiBsaW50aW5nIGEgZGlyZWN0b3J5IHdoaWNoIGRvZXMgbm90IGNvbnRhaW4gc3VwcG9ydGVkIGZpbGVzLlxuICAgIHtcbiAgICAgIG5hbWU6IFwiZmVuZ2UvaWdub3JlXCIsXG4gICAgICBmaWxlczogW1wiKipcIl0sIC8vIEkndmUgdHJpZWQgYWxsLiBPbmx5ICcqKicgd29ya3MuXG4gICAgICBpZ25vcmVzOiBmaWxlcyxcbiAgICAgIHByb2Nlc3Nvcjoge1xuICAgICAgICBwcmVwcm9jZXNzOiAoX3RleHQ6IHN0cmluZywgX2ZpbGVuYW1lOiBzdHJpbmcpID0+IFtcIlwiXSxcbiAgICAgICAgcG9zdHByb2Nlc3M6IChfbWVzc2FnZXM6IHVua25vd25bXVtdKSA9PiBbXSwgLy8gUmV0dXJuaW5nIGVtcHR5IGFycmF5IHRvIGlnbm9yZSBhbGwgZXJyb3JzXG4gICAgICB9LFxuICAgIH0sXG4gIF0gYXMgY29uc3Q7XG59XG4iXX0=
|
package/dist/eslint.config.js
CHANGED
|
@@ -10,7 +10,7 @@ export class Builder {
|
|
|
10
10
|
this.options = options;
|
|
11
11
|
}
|
|
12
12
|
toConfig() {
|
|
13
|
-
return [...base(this.options,
|
|
13
|
+
return [...base(this.options, this.enabled), ...this.configs];
|
|
14
14
|
}
|
|
15
15
|
setup(configItems, { pick, omit }) {
|
|
16
16
|
const select = (ruleKey) => {
|
|
@@ -56,4 +56,4 @@ export default new Builder()
|
|
|
56
56
|
.enableJavaScript()
|
|
57
57
|
.enableTypeScript()
|
|
58
58
|
.toConfig();
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNsaW50LmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lc2xpbnQuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxJQUFJLEVBQW9CLE1BQU0sa0JBQWtCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUE2QnBELE1BQU0sT0FBTyxPQUFPO0lBQ0QsT0FBTyxHQUFvQixFQUFFLENBQUM7SUFDOUIsT0FBTyxDQUFpQjtJQUV4QixPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQXVCLENBQUM7SUFFMUQsWUFBWSxVQUEwQixFQUFFO1FBQ3RDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFTyxLQUFLLENBQ1gsV0FBeUMsRUFDekMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFxQjtRQUVqQyxNQUFNLE1BQU0sR0FBRyxDQUFDLE9BQWUsRUFBRSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDbkIsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO2lCQUFNLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoQyxDQUFDO2lCQUFNLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7WUFDM0QsQ0FBQztRQUNILENBQUMsQ0FBQztRQUNGLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDOUMsR0FBRyxVQUFVO1lBQ2IsS0FBSyxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQ3ZCLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUN4RTtTQUNGLENBQUMsQ0FBQyxDQUFDO1FBQ0osSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUU3QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxnQkFBZ0IsQ0FBd0IsVUFBc0IsRUFBRTtRQUM5RCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELGdCQUFnQixDQUF3QixVQUFzQixFQUFFO1FBQzlELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsaUJBQWlCLENBQXlCLFVBQXNCLEVBQUU7UUFDaEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBa0I7UUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUFFRCxlQUFlLElBQUksT0FBTyxFQUFFO0tBQ3pCLGlCQUFpQixFQUFFO0tBQ25CLGdCQUFnQixFQUFFO0tBQ2xCLGdCQUFnQixFQUFFO0tBQ2xCLFFBQVEsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaW50ZXIgfSBmcm9tIFwiZXNsaW50XCI7XG5pbXBvcnQgeyBiYXNlLCB0eXBlIEJhc2VPcHRpb25zIH0gZnJvbSBcIi4vY29uZmlnL2Jhc2UudHNcIjtcbmltcG9ydCB7IGphdmFzY3JpcHQgfSBmcm9tIFwiLi9jb25maWcvamF2YXNjcmlwdC50c1wiO1xuaW1wb3J0IHsgcGFja2FnZWpzb24gfSBmcm9tIFwiLi9jb25maWcvcGFja2FnZWpzb24udHNcIjtcbmltcG9ydCB7IHR5cGVzY3JpcHQgfSBmcm9tIFwiLi9jb25maWcvdHlwZXNjcmlwdC50c1wiO1xuXG50eXBlIE5vRHVwbGljYXRlPEEgZXh0ZW5kcyB1bmtub3duW10+ID0ge1xuICBbSSBpbiBrZXlvZiBBXTogdHJ1ZSBleHRlbmRzIHtcbiAgICBbSiBpbiBrZXlvZiBBXTogSiBleHRlbmRzIEkgPyBmYWxzZSA6IEFbSl0gZXh0ZW5kcyBBW0ldID8gdHJ1ZSA6IGZhbHNlO1xuICB9W251bWJlcl1cbiAgICA/IG5ldmVyXG4gICAgOiBBW0ldO1xufTtcblxudHlwZSBKc1J1bGVLZXkgPSBrZXlvZiBSZXR1cm5UeXBlPHR5cGVvZiBqYXZhc2NyaXB0PlswXVtcInJ1bGVzXCJdO1xudHlwZSBUc1J1bGVLZXkgPSBrZXlvZiBSZXR1cm5UeXBlPHR5cGVvZiB0eXBlc2NyaXB0PlswXVtcInJ1bGVzXCJdO1xudHlwZSBQa2dSdWxlS2V5ID0ga2V5b2YgUmV0dXJuVHlwZTx0eXBlb2YgcGFja2FnZWpzb24+WzBdW1wicnVsZXNcIl07XG5cbnR5cGUgUnVsZVZhbHVlID0gXCJlcnJvclwiIHwgXCJ3YXJuXCIgfCBcIm9mZlwiIHwgW1wiZXJyb3JcIiB8IFwid2FyblwiLCAuLi51bmtub3duW11dO1xuaW50ZXJmYWNlIE9wdGlvbnM8VCBleHRlbmRzIHN0cmluZ1tdPiB7XG4gIHBpY2s/OiBOb0R1cGxpY2F0ZTxUPjtcbiAgb21pdD86IE5vRHVwbGljYXRlPFQ+O1xufVxuaW50ZXJmYWNlIENvbmZpZ0l0ZW0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGZpbGVzOiBzdHJpbmdbXTtcbiAgcGx1Z2lucz86IFJlY29yZDxzdHJpbmcsIG9iamVjdD47XG4gIHJ1bGVzOlxuICAgIHwgUGFydGlhbDxSZWNvcmQ8UGtnUnVsZUtleSB8IEpzUnVsZUtleSB8IFRzUnVsZUtleSwgUnVsZVZhbHVlPj5cbiAgICB8IFJlY29yZDxzdHJpbmcsIFJ1bGVWYWx1ZT47XG59XG5cbmV4cG9ydCB0eXBlIEJ1aWxkZXJPcHRpb25zID0gQmFzZU9wdGlvbnM7XG5leHBvcnQgY2xhc3MgQnVpbGRlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnczogTGludGVyLkNvbmZpZ1tdID0gW107XG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogQnVpbGRlck9wdGlvbnM7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBlbmFibGVkID0gbmV3IFNldDxcImpzXCIgfCBcInRzXCIgfCBcInBrZ1wiPigpO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEJ1aWxkZXJPcHRpb25zID0ge30pIHtcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICB9XG5cbiAgdG9Db25maWcoKSB7XG4gICAgcmV0dXJuIFsuLi5iYXNlKHRoaXMub3B0aW9ucywgdGhpcy5lbmFibGVkKSwgLi4udGhpcy5jb25maWdzXTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXAoXG4gICAgY29uZmlnSXRlbXM6IHJlYWRvbmx5IHsgcnVsZXM6IG9iamVjdCB9W10sXG4gICAgeyBwaWNrLCBvbWl0IH06IE9wdGlvbnM8c3RyaW5nW10+LFxuICApIHtcbiAgICBjb25zdCBzZWxlY3QgPSAocnVsZUtleTogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAoIXBpY2sgJiYgIW9taXQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGVsc2UgaWYgKHBpY2sgJiYgIW9taXQpIHtcbiAgICAgICAgcmV0dXJuIHBpY2suaW5jbHVkZXMocnVsZUtleSk7XG4gICAgICB9IGVsc2UgaWYgKCFwaWNrICYmIG9taXQpIHtcbiAgICAgICAgcmV0dXJuICFvbWl0LmluY2x1ZGVzKHJ1bGVLZXkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiWW91IGNhbm5vdCBzcGVjaWZ5IGJvdGggcGljayBhbmQgb21pdFwiKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IHJlc3VsdCA9IGNvbmZpZ0l0ZW1zLm1hcCgoY29uZmlnSXRlbSkgPT4gKHtcbiAgICAgIC4uLmNvbmZpZ0l0ZW0sXG4gICAgICBydWxlczogT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgICBPYmplY3QuZW50cmllcyhjb25maWdJdGVtLnJ1bGVzKS5maWx0ZXIoKFtydWxlS2V5XSkgPT4gc2VsZWN0KHJ1bGVLZXkpKSxcbiAgICAgICksXG4gICAgfSkpO1xuICAgIHRoaXMuY29uZmlncy5wdXNoKC4uLnJlc3VsdCk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGVuYWJsZVR5cGVTY3JpcHQ8VCBleHRlbmRzIFRzUnVsZUtleVtdPihvcHRpb25zOiBPcHRpb25zPFQ+ID0ge30pIHtcbiAgICB0aGlzLmVuYWJsZWQuYWRkKFwidHNcIik7XG4gICAgcmV0dXJuIHRoaXMuc2V0dXAodHlwZXNjcmlwdCgpLCBvcHRpb25zKTtcbiAgfVxuXG4gIGVuYWJsZUphdmFTY3JpcHQ8VCBleHRlbmRzIEpzUnVsZUtleVtdPihvcHRpb25zOiBPcHRpb25zPFQ+ID0ge30pIHtcbiAgICB0aGlzLmVuYWJsZWQuYWRkKFwianNcIik7XG4gICAgcmV0dXJuIHRoaXMuc2V0dXAoamF2YXNjcmlwdCgpLCBvcHRpb25zKTtcbiAgfVxuXG4gIGVuYWJsZVBhY2thZ2VKc29uPFQgZXh0ZW5kcyBQa2dSdWxlS2V5W10+KG9wdGlvbnM6IE9wdGlvbnM8VD4gPSB7fSkge1xuICAgIHRoaXMuZW5hYmxlZC5hZGQoXCJwa2dcIik7XG4gICAgcmV0dXJuIHRoaXMuc2V0dXAocGFja2FnZWpzb24oKSwgb3B0aW9ucyk7XG4gIH1cblxuICBhcHBlbmQoY29uZmlnOiBDb25maWdJdGVtKSB7XG4gICAgdGhpcy5jb25maWdzLnB1c2goY29uZmlnKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBuZXcgQnVpbGRlcigpXG4gIC5lbmFibGVQYWNrYWdlSnNvbigpXG4gIC5lbmFibGVKYXZhU2NyaXB0KClcbiAgLmVuYWJsZVR5cGVTY3JpcHQoKVxuICAudG9Db25maWcoKTtcbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fenge/eslint-config",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "A super strict eslint config for linting js/ts/package.json.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"opinionated",
|
|
@@ -38,11 +38,11 @@
|
|
|
38
38
|
"eslint-plugin-sonarjs": "1.0.4",
|
|
39
39
|
"eslint-plugin-unicorn": "56.0.1",
|
|
40
40
|
"globals": "16.0.0",
|
|
41
|
-
"@fenge/eslint-plugin": "0.
|
|
42
|
-
"eslint-plugin-esm": "0.
|
|
43
|
-
"@fenge/eslint-plugin-ts": "0.
|
|
44
|
-
"eslint-plugin-
|
|
45
|
-
"eslint-plugin-
|
|
41
|
+
"@fenge/eslint-plugin": "0.4.0",
|
|
42
|
+
"eslint-plugin-esm": "0.8.0",
|
|
43
|
+
"@fenge/eslint-plugin-ts": "0.4.0",
|
|
44
|
+
"eslint-plugin-publint": "0.2.0",
|
|
45
|
+
"eslint-plugin-pkg-json": "0.3.0"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@types/node": "22.13.10",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
}
|
|
59
59
|
},
|
|
60
60
|
"engines": {
|
|
61
|
-
"node": "
|
|
61
|
+
"node": "^18.20.0 || >=20.10.0"
|
|
62
62
|
},
|
|
63
63
|
"scripts": {
|
|
64
64
|
"build": "tsc",
|
package/src/config/base.ts
CHANGED
|
@@ -4,15 +4,15 @@ import type { Linter } from "eslint";
|
|
|
4
4
|
export type BaseOptions = Linter.LinterOptions;
|
|
5
5
|
|
|
6
6
|
export function base(
|
|
7
|
-
options: BaseOptions
|
|
8
|
-
enabled:
|
|
7
|
+
options: BaseOptions,
|
|
8
|
+
enabled: Set<"js" | "ts" | "pkg">,
|
|
9
9
|
): Linter.Config[] {
|
|
10
10
|
const filesMap = {
|
|
11
11
|
js: "**/*.{js,cjs,mjs,jsx}",
|
|
12
12
|
ts: "**/*.{ts,cts,mts,tsx}",
|
|
13
13
|
pkg: "package.json",
|
|
14
14
|
} as const;
|
|
15
|
-
const files = enabled.map((key) => filesMap[key]);
|
|
15
|
+
const files = [...enabled].map((key) => filesMap[key]);
|
|
16
16
|
return [
|
|
17
17
|
// Global ignore. Refer: https://eslint.org/docs/latest/use/configure/configuration-files#specifying-files-and-ignores.
|
|
18
18
|
{
|