@vp-tw/eslint-config 0.0.14 → 0.0.16
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/README.md +1 -0
- package/dist/configs/mdx.d.ts +3 -2
- package/dist/configs/mdx.js +22 -60
- package/dist/configs/prettier.d.ts +2 -1
- package/dist/configs/prettier.js +8 -24
- package/dist/configs/storybook.d.ts +6 -6
- package/dist/configs/storybook.js +20 -42
- package/dist/esm/configs/mdx.d.ts +3 -2
- package/dist/esm/configs/mdx.mjs +34 -76
- package/dist/esm/configs/prettier.d.ts +2 -1
- package/dist/esm/configs/prettier.mjs +13 -24
- package/dist/esm/configs/storybook.d.ts +6 -6
- package/dist/esm/configs/storybook.mjs +30 -45
- package/dist/esm/extends/_utils.d.ts +1 -1
- package/dist/esm/extends/_utils.mjs +1 -1
- package/dist/esm/extends/imports.d.ts +3 -3
- package/dist/esm/extends/imports.mjs +55 -66
- package/dist/esm/extends/javascript.d.ts +4 -3
- package/dist/esm/extends/javascript.mjs +30 -41
- package/dist/esm/extends/jsonc.d.ts +6 -6
- package/dist/esm/extends/jsonc.mjs +50 -118
- package/dist/esm/extends/react.d.ts +10 -3
- package/dist/esm/extends/react.mjs +39 -45
- package/dist/esm/extends/typescript.d.ts +4 -3
- package/dist/esm/extends/typescript.mjs +37 -48
- package/dist/esm/extends/yaml.d.ts +4 -4
- package/dist/esm/extends/yaml.mjs +23 -47
- package/dist/extends/_utils.d.ts +1 -1
- package/dist/extends/_utils.js +1 -1
- package/dist/extends/imports.d.ts +3 -3
- package/dist/extends/imports.js +38 -52
- package/dist/extends/javascript.d.ts +4 -3
- package/dist/extends/javascript.js +26 -37
- package/dist/extends/jsonc.d.ts +6 -6
- package/dist/extends/jsonc.js +29 -101
- package/dist/extends/react.d.ts +10 -3
- package/dist/extends/react.js +28 -43
- package/dist/extends/typescript.d.ts +4 -3
- package/dist/extends/typescript.js +35 -46
- package/dist/extends/yaml.d.ts +4 -4
- package/dist/extends/yaml.js +28 -52
- package/package.json +22 -4
|
@@ -1,56 +1,45 @@
|
|
|
1
|
-
import
|
|
1
|
+
import defu from "defu";
|
|
2
|
+
import { omit, pick } from "es-toolkit";
|
|
2
3
|
import { extendsConfig } from "../utils/extendsConfig.mjs";
|
|
3
4
|
import { ignoreKeys } from "./_utils.mjs";
|
|
4
5
|
const configNamesMapSource = {
|
|
5
|
-
|
|
6
|
+
typescript: "vdustr/typescript/rules"
|
|
6
7
|
};
|
|
7
8
|
const typescriptInternal = (composer, options) => {
|
|
8
|
-
extendsConfig(composer, "antfu/typescript/rules", (config) =>
|
|
9
|
-
config
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
"ts/no-redeclare": "off",
|
|
43
|
-
/**
|
|
44
|
-
* Check for unused variables in TypeScript.
|
|
45
|
-
*/
|
|
46
|
-
"ts/no-unused-vars": "off",
|
|
47
|
-
/**
|
|
48
|
-
* Overridable.
|
|
49
|
-
*/
|
|
50
|
-
...options?.rules
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
]);
|
|
9
|
+
extendsConfig(composer, "antfu/typescript/rules", (config) => {
|
|
10
|
+
const modifiedConfig = defu(pick(options?.typescript ?? {}, ["files", "ignores"]), config);
|
|
11
|
+
const omittedConfig = omit(modifiedConfig, ignoreKeys);
|
|
12
|
+
const rulesConfig = defu(
|
|
13
|
+
omit(options?.typescript ?? {}, ["files", "ignores"]),
|
|
14
|
+
{
|
|
15
|
+
name: configNamesMapSource.typescript,
|
|
16
|
+
rules: {
|
|
17
|
+
/**
|
|
18
|
+
* Use `Array<T>` instead of `T[]` for better DX.
|
|
19
|
+
*
|
|
20
|
+
* - [Array<T> vs T[]: Which is better?](https://www.totaltypescript.com/array-types-in-typescript)
|
|
21
|
+
* - [Array Types in TypeScript](https://tkdodo.eu/blog/array-types-in-type-script)
|
|
22
|
+
*/
|
|
23
|
+
"ts/array-type": ["error", { default: "generic" }],
|
|
24
|
+
/**
|
|
25
|
+
* Namespaces are useful for centralizing the management of types. Just avoid
|
|
26
|
+
* overusing them with runtime code.
|
|
27
|
+
*
|
|
28
|
+
* - References:
|
|
29
|
+
* - <https://x.com/mattpocockuk/status/1805606072167940167>
|
|
30
|
+
*/
|
|
31
|
+
"ts/no-namespace": "off",
|
|
32
|
+
"ts/no-redeclare": "off",
|
|
33
|
+
/**
|
|
34
|
+
* Check for unused variables in TypeScript.
|
|
35
|
+
*/
|
|
36
|
+
"ts/no-unused-vars": "off"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
omittedConfig
|
|
40
|
+
);
|
|
41
|
+
return [modifiedConfig, rulesConfig];
|
|
42
|
+
});
|
|
54
43
|
};
|
|
55
44
|
const typescript = Object.assign(typescriptInternal, {
|
|
56
45
|
configNamesMapSource
|
|
@@ -2,8 +2,8 @@ import type { ConfigNames, TypedFlatConfigItem } from "@antfu/eslint-config";
|
|
|
2
2
|
import type { FlatConfigComposer } from "eslint-flat-config-utils";
|
|
3
3
|
import type { ConfigOverrides, ResolveConfigNamesMap } from "../types";
|
|
4
4
|
declare const configNamesMapSource: {
|
|
5
|
-
readonly
|
|
6
|
-
readonly sortKeys: "vdustr/yaml/
|
|
5
|
+
readonly yaml: "vdustr/yaml/rules";
|
|
6
|
+
readonly sortKeys: "vdustr/yaml/sort-keys/rules";
|
|
7
7
|
};
|
|
8
8
|
declare module "../types" {
|
|
9
9
|
interface ConfigNamesMap extends ResolveConfigNamesMap<yaml.ConfigNamesMapSource> {
|
|
@@ -18,8 +18,8 @@ declare namespace yaml {
|
|
|
18
18
|
}
|
|
19
19
|
declare const yaml: ((composer: FlatConfigComposer<TypedFlatConfigItem, ConfigNames>, options?: yaml.Options) => void) & {
|
|
20
20
|
configNamesMapSource: {
|
|
21
|
-
readonly
|
|
22
|
-
readonly sortKeys: "vdustr/yaml/
|
|
21
|
+
readonly yaml: "vdustr/yaml/rules";
|
|
22
|
+
readonly sortKeys: "vdustr/yaml/sort-keys/rules";
|
|
23
23
|
};
|
|
24
24
|
};
|
|
25
25
|
export { yaml };
|
|
@@ -1,34 +1,23 @@
|
|
|
1
|
-
import
|
|
1
|
+
import defu from "defu";
|
|
2
|
+
import { omit, pick } from "es-toolkit";
|
|
2
3
|
import eslintPluginYml from "eslint-plugin-yml";
|
|
3
4
|
import { GLOB_PNPM_WORKSPACE_YAML } from "../globs.mjs";
|
|
4
5
|
import { extendsConfig } from "../utils/extendsConfig.mjs";
|
|
5
6
|
import { renameRules } from "../utils/renameRules.mjs";
|
|
6
7
|
import { ignoreKeys } from "./_utils.mjs";
|
|
7
8
|
const configNamesMapSource = {
|
|
8
|
-
|
|
9
|
-
sortKeys: "vdustr/yaml/
|
|
9
|
+
yaml: "vdustr/yaml/rules",
|
|
10
|
+
sortKeys: "vdustr/yaml/sort-keys/rules"
|
|
10
11
|
};
|
|
11
12
|
const yamlInternal = (composer, options) => {
|
|
12
|
-
extendsConfig(composer, "antfu/yaml/rules", (config) =>
|
|
13
|
-
config
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
* Default.
|
|
21
|
-
*/
|
|
22
|
-
name: configNamesMapSource.rules,
|
|
23
|
-
/**
|
|
24
|
-
* Overridable.
|
|
25
|
-
*/
|
|
26
|
-
...options,
|
|
27
|
-
rules: {
|
|
28
|
-
/**
|
|
29
|
-
* Inherited from `eslint-plugin-yml`.
|
|
30
|
-
*/
|
|
31
|
-
...renameRules({
|
|
13
|
+
extendsConfig(composer, "antfu/yaml/rules", (config) => {
|
|
14
|
+
const modifiedConfig = defu(pick(options?.yaml ?? {}, ["files", "ignores"]), config);
|
|
15
|
+
const omittedConfig = omit(modifiedConfig, ignoreKeys);
|
|
16
|
+
const rulesConfig = defu(
|
|
17
|
+
omit(options?.yaml ?? {}, ["files", "ignores"]),
|
|
18
|
+
{
|
|
19
|
+
name: configNamesMapSource.yaml,
|
|
20
|
+
rules: renameRules({
|
|
32
21
|
...Object.fromEntries([
|
|
33
22
|
...eslintPluginYml.configs["flat/recommended"].flatMap(
|
|
34
23
|
(config2) => Object.entries(config2.rules ?? {})
|
|
@@ -37,27 +26,14 @@ const yamlInternal = (composer, options) => {
|
|
|
37
26
|
(config2) => Object.entries(config2.rules ?? {})
|
|
38
27
|
)
|
|
39
28
|
])
|
|
40
|
-
})
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
/**
|
|
49
|
-
* Inherited.
|
|
50
|
-
*/
|
|
51
|
-
...config,
|
|
52
|
-
/**
|
|
53
|
-
* Default.
|
|
54
|
-
*/
|
|
29
|
+
})
|
|
30
|
+
},
|
|
31
|
+
omittedConfig
|
|
32
|
+
);
|
|
33
|
+
const sortKeysConfig = defu(options?.sortKeys, {
|
|
34
|
+
...omit(omittedConfig, ["files", "ignores"]),
|
|
55
35
|
name: configNamesMapSource.sortKeys,
|
|
56
|
-
|
|
57
|
-
* Overridable.
|
|
58
|
-
*/
|
|
59
|
-
...options?.sortKeys,
|
|
60
|
-
files: [GLOB_PNPM_WORKSPACE_YAML, ...options?.sortKeys?.files ?? []],
|
|
36
|
+
files: [GLOB_PNPM_WORKSPACE_YAML],
|
|
61
37
|
rules: {
|
|
62
38
|
"yaml/sort-keys": [
|
|
63
39
|
"error",
|
|
@@ -69,11 +45,11 @@ const yamlInternal = (composer, options) => {
|
|
|
69
45
|
natural: true
|
|
70
46
|
}
|
|
71
47
|
}
|
|
72
|
-
]
|
|
73
|
-
...options?.sortKeys?.rules
|
|
48
|
+
]
|
|
74
49
|
}
|
|
75
|
-
}
|
|
76
|
-
|
|
50
|
+
});
|
|
51
|
+
return [modifiedConfig, rulesConfig, sortKeysConfig];
|
|
52
|
+
});
|
|
77
53
|
};
|
|
78
54
|
const yaml = Object.assign(yamlInternal, {
|
|
79
55
|
configNamesMapSource
|
package/dist/extends/_utils.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const ignoreKeys: ("plugins" | "rules")[];
|
|
1
|
+
declare const ignoreKeys: ("plugins" | "name" | "processor" | "rules")[];
|
|
2
2
|
export { ignoreKeys };
|
package/dist/extends/_utils.js
CHANGED
|
@@ -3,7 +3,7 @@ import type { FlatConfigComposer } from "eslint-flat-config-utils";
|
|
|
3
3
|
import type { ConfigOverrides, ResolveConfigNamesMap } from "../types";
|
|
4
4
|
declare const configNamesMapSource: {
|
|
5
5
|
readonly imports: "vdustr/imports/rules";
|
|
6
|
-
readonly noDefaultExport: "vdustr/no-default-export/rules";
|
|
6
|
+
readonly noDefaultExport: "vdustr/imports/no-default-export/rules";
|
|
7
7
|
};
|
|
8
8
|
declare module "../types" {
|
|
9
9
|
interface ConfigNamesMap extends ResolveConfigNamesMap<imports.ConfigNamesMapSource> {
|
|
@@ -13,13 +13,13 @@ declare namespace imports {
|
|
|
13
13
|
type ConfigNamesMapSource = typeof configNamesMapSource;
|
|
14
14
|
interface Options {
|
|
15
15
|
imports?: ConfigOverrides;
|
|
16
|
-
noDefaultExport
|
|
16
|
+
noDefaultExport?: ConfigOverrides;
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
declare const imports: ((composer: FlatConfigComposer<TypedFlatConfigItem, ConfigNames>, options?: imports.Options) => void) & {
|
|
20
20
|
configNamesMapSource: {
|
|
21
21
|
readonly imports: "vdustr/imports/rules";
|
|
22
|
-
readonly noDefaultExport: "vdustr/no-default-export/rules";
|
|
22
|
+
readonly noDefaultExport: "vdustr/imports/no-default-export/rules";
|
|
23
23
|
};
|
|
24
24
|
};
|
|
25
25
|
export { imports };
|
package/dist/extends/imports.js
CHANGED
|
@@ -5,66 +5,52 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.imports = void 0;
|
|
7
7
|
var _eslintConfig = require("@antfu/eslint-config");
|
|
8
|
+
var _defu = _interopRequireDefault(require("defu"));
|
|
8
9
|
var _esToolkit = require("es-toolkit");
|
|
9
10
|
var _globs = require("../globs");
|
|
10
11
|
var _extendsConfig = require("../utils/extendsConfig");
|
|
11
12
|
var _utils = require("./_utils");
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
14
|
const configNamesMapSource = {
|
|
13
15
|
imports: "vdustr/imports/rules",
|
|
14
|
-
noDefaultExport: "vdustr/no-default-export/rules"
|
|
16
|
+
noDefaultExport: "vdustr/imports/no-default-export/rules"
|
|
15
17
|
};
|
|
16
18
|
const importsInternal = (composer, options) => {
|
|
17
|
-
(0, _extendsConfig.extendsConfig)(composer, "antfu/imports/rules", config =>
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
*/
|
|
53
|
-
...options?.noDefaultExport,
|
|
54
|
-
rules: {
|
|
55
|
-
/**
|
|
56
|
-
* Enforcing named exports improves consistency, enhances auto-completion and refactoring, and avoids issues
|
|
57
|
-
* with default export renaming. Additionally, default exports might lead to different behavior when transformed
|
|
58
|
-
* to CJS.
|
|
59
|
-
*/
|
|
60
|
-
"import/no-default-export": "error",
|
|
61
|
-
...options?.noDefaultExport?.rules
|
|
62
|
-
},
|
|
63
|
-
files: [_eslintConfig.GLOB_JS, _eslintConfig.GLOB_JSX, _eslintConfig.GLOB_TS, _eslintConfig.GLOB_TSX, ...(options?.noDefaultExport?.files || [])],
|
|
64
|
-
ignores: [
|
|
65
|
-
// Configuration files
|
|
66
|
-
_globs.GLOB_CONFIG_JS, _eslintConfig.GLOB_MARKDOWN_CODE, _eslintConfig.GLOB_ASTRO_TS, ...(options?.noDefaultExport?.ignores || [])]
|
|
67
|
-
}]);
|
|
19
|
+
(0, _extendsConfig.extendsConfig)(composer, "antfu/imports/rules", config => {
|
|
20
|
+
const modifiedConfig = (0, _defu.default)((0, _esToolkit.pick)(options?.imports ?? {}, ["files", "ignores"]), config);
|
|
21
|
+
const omittedConfig = (0, _esToolkit.omit)(modifiedConfig, _utils.ignoreKeys);
|
|
22
|
+
const rulesConfig = (0, _defu.default)((0, _esToolkit.omit)(options?.imports ?? {}, ["files", "ignores"]), {
|
|
23
|
+
name: configNamesMapSource.imports,
|
|
24
|
+
rules: {
|
|
25
|
+
/**
|
|
26
|
+
* Forbid `import {} from "module"`.
|
|
27
|
+
*/
|
|
28
|
+
"import/no-empty-named-blocks": "error",
|
|
29
|
+
/**
|
|
30
|
+
* Wildcard imports can prevent tree shaking and cause name conflicts.
|
|
31
|
+
* Consider using named imports instead.
|
|
32
|
+
*/
|
|
33
|
+
"import/no-namespace": "error"
|
|
34
|
+
}
|
|
35
|
+
}, omittedConfig);
|
|
36
|
+
const noDefaultExportConfig = (0, _defu.default)(options?.noDefaultExport, {
|
|
37
|
+
name: configNamesMapSource.noDefaultExport,
|
|
38
|
+
rules: {
|
|
39
|
+
/**
|
|
40
|
+
* Enforcing named exports improves consistency, enhances
|
|
41
|
+
* auto-completion and refactoring, and avoids issues with default
|
|
42
|
+
* export renaming. Additionally, default exports might lead to
|
|
43
|
+
* different behavior when transformed to CJS.
|
|
44
|
+
*/
|
|
45
|
+
"import/no-default-export": "error"
|
|
46
|
+
},
|
|
47
|
+
files: [_eslintConfig.GLOB_JS, _eslintConfig.GLOB_JSX, _eslintConfig.GLOB_TS, _eslintConfig.GLOB_TSX, ...(options?.noDefaultExport?.files || [])],
|
|
48
|
+
ignores: [
|
|
49
|
+
// Configuration files
|
|
50
|
+
_globs.GLOB_CONFIG_JS, _eslintConfig.GLOB_MARKDOWN_CODE, _eslintConfig.GLOB_ASTRO_TS, ...(options?.noDefaultExport?.ignores || [])]
|
|
51
|
+
}, (0, _esToolkit.omit)(omittedConfig, ["files", "ignores"]));
|
|
52
|
+
return [modifiedConfig, rulesConfig, noDefaultExportConfig];
|
|
53
|
+
});
|
|
68
54
|
};
|
|
69
55
|
const imports = exports.imports = Object.assign(importsInternal, {
|
|
70
56
|
configNamesMapSource
|
|
@@ -2,7 +2,7 @@ import type { ConfigNames, TypedFlatConfigItem } from "@antfu/eslint-config";
|
|
|
2
2
|
import type { FlatConfigComposer } from "eslint-flat-config-utils";
|
|
3
3
|
import type { ConfigOverrides, ResolveConfigNamesMap } from "../types";
|
|
4
4
|
declare const configNamesMapSource: {
|
|
5
|
-
readonly
|
|
5
|
+
readonly javascript: "vdustr/javascript/rules";
|
|
6
6
|
};
|
|
7
7
|
declare module "../types" {
|
|
8
8
|
interface ConfigNamesMap extends ResolveConfigNamesMap<javascript.ConfigNamesMapSource> {
|
|
@@ -10,12 +10,13 @@ declare module "../types" {
|
|
|
10
10
|
}
|
|
11
11
|
declare namespace javascript {
|
|
12
12
|
type ConfigNamesMapSource = typeof configNamesMapSource;
|
|
13
|
-
interface Options
|
|
13
|
+
interface Options {
|
|
14
|
+
javascript?: ConfigOverrides;
|
|
14
15
|
}
|
|
15
16
|
}
|
|
16
17
|
declare const javascript: ((composer: FlatConfigComposer<TypedFlatConfigItem, ConfigNames>, options?: javascript.Options) => void) & {
|
|
17
18
|
configNamesMapSource: {
|
|
18
|
-
readonly
|
|
19
|
+
readonly javascript: "vdustr/javascript/rules";
|
|
19
20
|
};
|
|
20
21
|
};
|
|
21
22
|
export { javascript };
|
|
@@ -4,49 +4,38 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.javascript = void 0;
|
|
7
|
+
var _defu = _interopRequireDefault(require("defu"));
|
|
7
8
|
var _esToolkit = require("es-toolkit");
|
|
8
9
|
var _extendsConfig = require("../utils/extendsConfig");
|
|
9
10
|
var _utils = require("./_utils");
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
12
|
const configNamesMapSource = {
|
|
11
|
-
|
|
13
|
+
javascript: "vdustr/javascript/rules"
|
|
12
14
|
};
|
|
13
15
|
const javascriptInternal = (composer, options) => {
|
|
14
|
-
(0, _extendsConfig.extendsConfig)(composer, "antfu/javascript/rules", config =>
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
* to verify its behavior with TypeScript instead.
|
|
38
|
-
*/
|
|
39
|
-
"no-unused-vars": "off",
|
|
40
|
-
"unused-imports/no-unused-vars": "off",
|
|
41
|
-
"unused-imports/no-unused-imports-ts": "off",
|
|
42
|
-
"unused-imports/no-unused-vars-ts": "off",
|
|
43
|
-
"unused-imports/no-unused-imports": "off",
|
|
44
|
-
/**
|
|
45
|
-
* Overridable.
|
|
46
|
-
*/
|
|
47
|
-
...options?.rules
|
|
48
|
-
}
|
|
49
|
-
}]);
|
|
16
|
+
(0, _extendsConfig.extendsConfig)(composer, "antfu/javascript/rules", config => {
|
|
17
|
+
const modifiedConfig = (0, _defu.default)((0, _esToolkit.pick)(options?.javascript ?? {}, ["files", "ignores"]), config);
|
|
18
|
+
const omittedConfig = (0, _esToolkit.omit)(modifiedConfig, _utils.ignoreKeys);
|
|
19
|
+
const rulesConfig = (0, _defu.default)((0, _esToolkit.omit)(options?.javascript ?? {}, ["files", "ignores"]), {
|
|
20
|
+
name: configNamesMapSource.javascript,
|
|
21
|
+
rules: {
|
|
22
|
+
/**
|
|
23
|
+
* Some callbacks are purposefully named to make the code self-documenting.
|
|
24
|
+
*/
|
|
25
|
+
"prefer-arrow-callback": "off",
|
|
26
|
+
/**
|
|
27
|
+
* This rule does not integrate well with JSDoc `@link` tags. It's advised
|
|
28
|
+
* to verify its behavior with TypeScript instead.
|
|
29
|
+
*/
|
|
30
|
+
"no-unused-vars": "off",
|
|
31
|
+
"unused-imports/no-unused-vars": "off",
|
|
32
|
+
"unused-imports/no-unused-imports-ts": "off",
|
|
33
|
+
"unused-imports/no-unused-vars-ts": "off",
|
|
34
|
+
"unused-imports/no-unused-imports": "off"
|
|
35
|
+
}
|
|
36
|
+
}, omittedConfig);
|
|
37
|
+
return [modifiedConfig, rulesConfig];
|
|
38
|
+
});
|
|
50
39
|
};
|
|
51
40
|
const javascript = exports.javascript = Object.assign(javascriptInternal, {
|
|
52
41
|
configNamesMapSource
|
package/dist/extends/jsonc.d.ts
CHANGED
|
@@ -2,8 +2,8 @@ import type { ConfigNames, TypedFlatConfigItem } from "@antfu/eslint-config";
|
|
|
2
2
|
import type { FlatConfigComposer } from "eslint-flat-config-utils";
|
|
3
3
|
import type { ConfigOverrides, ResolveConfigNamesMap } from "../types";
|
|
4
4
|
declare const configNamesMapSource: {
|
|
5
|
-
readonly
|
|
6
|
-
readonly sortArrayValues: "vdustr/jsonc/
|
|
5
|
+
readonly jsonc: "vdustr/jsonc/rules";
|
|
6
|
+
readonly sortArrayValues: "vdustr/jsonc/sort-array-values/rules";
|
|
7
7
|
readonly packageJsonSetup: "vdustr/package-json/setup";
|
|
8
8
|
readonly packageJsonRules: "vdustr/package-json/rules";
|
|
9
9
|
};
|
|
@@ -15,14 +15,14 @@ declare namespace jsonc {
|
|
|
15
15
|
type ConfigNamesMapSource = typeof configNamesMapSource;
|
|
16
16
|
interface Options {
|
|
17
17
|
jsonc?: ConfigOverrides;
|
|
18
|
+
sortArrayValues?: ConfigOverrides;
|
|
18
19
|
packageJson?: ConfigOverrides;
|
|
19
|
-
sortArrayValues: ConfigOverrides;
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
declare const jsonc: ((composer: FlatConfigComposer<TypedFlatConfigItem, ConfigNames>, options?: jsonc.Options) => void) & {
|
|
22
|
+
declare const jsonc: ((composer: FlatConfigComposer<TypedFlatConfigItem, ConfigNames>, options?: jsonc.Options) => Promise<void>) & {
|
|
23
23
|
configNamesMapSource: {
|
|
24
|
-
readonly
|
|
25
|
-
readonly sortArrayValues: "vdustr/jsonc/
|
|
24
|
+
readonly jsonc: "vdustr/jsonc/rules";
|
|
25
|
+
readonly sortArrayValues: "vdustr/jsonc/sort-array-values/rules";
|
|
26
26
|
readonly packageJsonSetup: "vdustr/package-json/setup";
|
|
27
27
|
readonly packageJsonRules: "vdustr/package-json/rules";
|
|
28
28
|
};
|
package/dist/extends/jsonc.js
CHANGED
|
@@ -4,64 +4,30 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.jsonc = void 0;
|
|
7
|
+
var _eslintConfig = require("@antfu/eslint-config");
|
|
8
|
+
var _defu = _interopRequireDefault(require("defu"));
|
|
7
9
|
var _esToolkit = require("es-toolkit");
|
|
8
|
-
var _recommended = _interopRequireDefault(require("eslint-plugin-package-json/configs/recommended"));
|
|
9
10
|
var _globs = require("../globs");
|
|
10
11
|
var _extendsConfig = require("../utils/extendsConfig");
|
|
11
12
|
var _utils = require("./_utils");
|
|
12
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
14
|
const configNamesMapSource = {
|
|
14
|
-
|
|
15
|
-
sortArrayValues: "vdustr/jsonc/
|
|
15
|
+
jsonc: "vdustr/jsonc/rules",
|
|
16
|
+
sortArrayValues: "vdustr/jsonc/sort-array-values/rules",
|
|
16
17
|
packageJsonSetup: "vdustr/package-json/setup",
|
|
17
18
|
packageJsonRules: "vdustr/package-json/rules"
|
|
18
19
|
};
|
|
19
|
-
const jsoncInternal = (composer, options) => {
|
|
20
|
+
const jsoncInternal = async (composer, options) => {
|
|
21
|
+
await (0, _eslintConfig.ensurePackages)(["eslint-plugin-package-json"]);
|
|
22
|
+
const packageJson = await (0, _eslintConfig.interopDefault)(Promise.resolve().then(() => require("eslint-plugin-package-json/configs/recommended")));
|
|
20
23
|
(0, _extendsConfig.extendsConfig)(composer, "antfu/jsonc/rules", config => {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Default.
|
|
30
|
-
*/
|
|
31
|
-
_globs.GLOB_CODE_WORKSPACE,
|
|
32
|
-
/**
|
|
33
|
-
* Overridable.
|
|
34
|
-
*/
|
|
35
|
-
...(options?.jsonc?.files ?? [])],
|
|
36
|
-
ignores: [
|
|
37
|
-
/**
|
|
38
|
-
* Inherited.
|
|
39
|
-
*/
|
|
40
|
-
...(config.ignores ?? []),
|
|
41
|
-
/**
|
|
42
|
-
* Default.
|
|
43
|
-
*/
|
|
44
|
-
_globs.GLOB_PACKAGE_JSON,
|
|
45
|
-
/**
|
|
46
|
-
* Overridable.
|
|
47
|
-
*/
|
|
48
|
-
...(options?.jsonc?.ignores ?? [])]
|
|
49
|
-
};
|
|
50
|
-
return [config, {
|
|
51
|
-
/**
|
|
52
|
-
* Inherited.
|
|
53
|
-
*/
|
|
54
|
-
...(0, _esToolkit.omit)(config, _utils.ignoreKeys),
|
|
55
|
-
/**
|
|
56
|
-
* Default.
|
|
57
|
-
*/
|
|
58
|
-
name: configNamesMapSource.rules,
|
|
59
|
-
files: [...(config.files ?? [])],
|
|
60
|
-
ignores: [...(config.ignores ?? [])],
|
|
61
|
-
/**
|
|
62
|
-
* Overridable.
|
|
63
|
-
*/
|
|
64
|
-
...(0, _esToolkit.omit)(options?.jsonc ?? {}, ["files", "ignores"]),
|
|
24
|
+
const modifiedConfig = (0, _defu.default)((0, _esToolkit.pick)(options?.jsonc ?? {}, ["files", "ignores"]), config, {
|
|
25
|
+
files: [_globs.GLOB_CODE_WORKSPACE],
|
|
26
|
+
ignores: [_globs.GLOB_PACKAGE_JSON]
|
|
27
|
+
});
|
|
28
|
+
const omittedConfig = (0, _esToolkit.omit)(modifiedConfig, _utils.ignoreKeys);
|
|
29
|
+
const rulesConfig = (0, _defu.default)((0, _esToolkit.omit)(options?.jsonc ?? {}, ["files", "ignores"]), {
|
|
30
|
+
name: configNamesMapSource.jsonc,
|
|
65
31
|
rules: {
|
|
66
32
|
/**
|
|
67
33
|
* Default.
|
|
@@ -73,58 +39,12 @@ const jsoncInternal = (composer, options) => {
|
|
|
73
39
|
caseSensitive: false,
|
|
74
40
|
natural: true
|
|
75
41
|
}
|
|
76
|
-
}]
|
|
77
|
-
/**
|
|
78
|
-
* Overridable.
|
|
79
|
-
*/
|
|
80
|
-
...options?.jsonc?.rules
|
|
81
|
-
}
|
|
82
|
-
}, {
|
|
83
|
-
plugins: _recommended.default.plugins,
|
|
84
|
-
name: configNamesMapSource.packageJsonSetup
|
|
85
|
-
}, {
|
|
86
|
-
/**
|
|
87
|
-
* Inherited.
|
|
88
|
-
*/
|
|
89
|
-
...(0, _esToolkit.omit)(_recommended.default, ["plugins"]),
|
|
90
|
-
/**
|
|
91
|
-
* Default.
|
|
92
|
-
*/
|
|
93
|
-
name: configNamesMapSource.packageJsonRules,
|
|
94
|
-
/**
|
|
95
|
-
* Overridable.
|
|
96
|
-
*/
|
|
97
|
-
...options?.packageJson,
|
|
98
|
-
plugins: {
|
|
99
|
-
/**
|
|
100
|
-
* Inherited.
|
|
101
|
-
*/
|
|
102
|
-
..._recommended.default.plugins,
|
|
103
|
-
/**
|
|
104
|
-
* Overridable.
|
|
105
|
-
*/
|
|
106
|
-
...options?.packageJson?.plugins
|
|
107
|
-
},
|
|
108
|
-
rules: {
|
|
109
|
-
/**
|
|
110
|
-
* Inherited.
|
|
111
|
-
*/
|
|
112
|
-
..._recommended.default.rules,
|
|
113
|
-
/**
|
|
114
|
-
* Overridable.
|
|
115
|
-
*/
|
|
116
|
-
...options?.packageJson?.rules
|
|
42
|
+
}]
|
|
117
43
|
}
|
|
118
|
-
},
|
|
119
|
-
|
|
120
|
-
* Default.
|
|
121
|
-
*/
|
|
44
|
+
}, omittedConfig);
|
|
45
|
+
const sortArrayValuesConfig = (0, _defu.default)(options?.sortArrayValues, {
|
|
122
46
|
name: configNamesMapSource.sortArrayValues,
|
|
123
|
-
|
|
124
|
-
* Overridable.
|
|
125
|
-
*/
|
|
126
|
-
...options?.sortArrayValues,
|
|
127
|
-
files: [_globs.GLOB_CSPELL_JSON, ...(options?.sortArrayValues?.files ?? [])],
|
|
47
|
+
files: [_globs.GLOB_CSPELL_JSON],
|
|
128
48
|
rules: {
|
|
129
49
|
"jsonc/sort-array-values": ["error", {
|
|
130
50
|
pathPattern: ".*",
|
|
@@ -133,10 +53,18 @@ const jsoncInternal = (composer, options) => {
|
|
|
133
53
|
caseSensitive: false,
|
|
134
54
|
natural: true
|
|
135
55
|
}
|
|
136
|
-
}]
|
|
137
|
-
...options?.sortArrayValues?.rules
|
|
56
|
+
}]
|
|
138
57
|
}
|
|
139
|
-
}
|
|
58
|
+
});
|
|
59
|
+
const packageJsonSetupConfig = {
|
|
60
|
+
plugins: packageJson.plugins,
|
|
61
|
+
name: configNamesMapSource.packageJsonSetup
|
|
62
|
+
};
|
|
63
|
+
const packageJsonRulesConfig = (0, _defu.default)(options?.packageJson, {
|
|
64
|
+
...(0, _esToolkit.omit)(packageJson, ["name", "plugins"]),
|
|
65
|
+
name: configNamesMapSource.packageJsonRules
|
|
66
|
+
});
|
|
67
|
+
return [modifiedConfig, rulesConfig, sortArrayValuesConfig, packageJsonSetupConfig, packageJsonRulesConfig];
|
|
140
68
|
}, ["antfu/sort/package-json", "antfu/sort/tsconfig-json"]);
|
|
141
69
|
};
|
|
142
70
|
const jsonc = exports.jsonc = Object.assign(jsoncInternal, {
|