@vp-tw/eslint-config 0.0.15 → 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/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 +5 -5
- package/dist/esm/extends/jsonc.mjs +44 -116
- 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 +5 -5
- package/dist/extends/jsonc.js +26 -99
- 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 +2 -1
|
@@ -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
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
|
@@ -5,13 +5,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.jsonc = 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
|
-
|
|
14
|
-
sortArrayValues: "vdustr/jsonc/
|
|
15
|
+
jsonc: "vdustr/jsonc/rules",
|
|
16
|
+
sortArrayValues: "vdustr/jsonc/sort-array-values/rules",
|
|
15
17
|
packageJsonSetup: "vdustr/package-json/setup",
|
|
16
18
|
packageJsonRules: "vdustr/package-json/rules"
|
|
17
19
|
};
|
|
@@ -19,50 +21,13 @@ const jsoncInternal = async (composer, options) => {
|
|
|
19
21
|
await (0, _eslintConfig.ensurePackages)(["eslint-plugin-package-json"]);
|
|
20
22
|
const packageJson = await (0, _eslintConfig.interopDefault)(Promise.resolve().then(() => require("eslint-plugin-package-json/configs/recommended")));
|
|
21
23
|
(0, _extendsConfig.extendsConfig)(composer, "antfu/jsonc/rules", config => {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Default.
|
|
31
|
-
*/
|
|
32
|
-
_globs.GLOB_CODE_WORKSPACE,
|
|
33
|
-
/**
|
|
34
|
-
* Overridable.
|
|
35
|
-
*/
|
|
36
|
-
...(options?.jsonc?.files ?? [])],
|
|
37
|
-
ignores: [
|
|
38
|
-
/**
|
|
39
|
-
* Inherited.
|
|
40
|
-
*/
|
|
41
|
-
...(config.ignores ?? []),
|
|
42
|
-
/**
|
|
43
|
-
* Default.
|
|
44
|
-
*/
|
|
45
|
-
_globs.GLOB_PACKAGE_JSON,
|
|
46
|
-
/**
|
|
47
|
-
* Overridable.
|
|
48
|
-
*/
|
|
49
|
-
...(options?.jsonc?.ignores ?? [])]
|
|
50
|
-
};
|
|
51
|
-
return [config, {
|
|
52
|
-
/**
|
|
53
|
-
* Inherited.
|
|
54
|
-
*/
|
|
55
|
-
...(0, _esToolkit.omit)(config, _utils.ignoreKeys),
|
|
56
|
-
/**
|
|
57
|
-
* Default.
|
|
58
|
-
*/
|
|
59
|
-
name: configNamesMapSource.rules,
|
|
60
|
-
files: [...(config.files ?? [])],
|
|
61
|
-
ignores: [...(config.ignores ?? [])],
|
|
62
|
-
/**
|
|
63
|
-
* Overridable.
|
|
64
|
-
*/
|
|
65
|
-
...(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,
|
|
66
31
|
rules: {
|
|
67
32
|
/**
|
|
68
33
|
* Default.
|
|
@@ -74,58 +39,12 @@ const jsoncInternal = async (composer, options) => {
|
|
|
74
39
|
caseSensitive: false,
|
|
75
40
|
natural: true
|
|
76
41
|
}
|
|
77
|
-
}]
|
|
78
|
-
/**
|
|
79
|
-
* Overridable.
|
|
80
|
-
*/
|
|
81
|
-
...options?.jsonc?.rules
|
|
82
|
-
}
|
|
83
|
-
}, {
|
|
84
|
-
plugins: packageJson.plugins,
|
|
85
|
-
name: configNamesMapSource.packageJsonSetup
|
|
86
|
-
}, {
|
|
87
|
-
/**
|
|
88
|
-
* Inherited.
|
|
89
|
-
*/
|
|
90
|
-
...(0, _esToolkit.omit)(packageJson, ["plugins"]),
|
|
91
|
-
/**
|
|
92
|
-
* Default.
|
|
93
|
-
*/
|
|
94
|
-
name: configNamesMapSource.packageJsonRules,
|
|
95
|
-
/**
|
|
96
|
-
* Overridable.
|
|
97
|
-
*/
|
|
98
|
-
...options?.packageJson,
|
|
99
|
-
plugins: {
|
|
100
|
-
/**
|
|
101
|
-
* Inherited.
|
|
102
|
-
*/
|
|
103
|
-
...packageJson.plugins,
|
|
104
|
-
/**
|
|
105
|
-
* Overridable.
|
|
106
|
-
*/
|
|
107
|
-
...options?.packageJson?.plugins
|
|
108
|
-
},
|
|
109
|
-
rules: {
|
|
110
|
-
/**
|
|
111
|
-
* Inherited.
|
|
112
|
-
*/
|
|
113
|
-
...packageJson.rules,
|
|
114
|
-
/**
|
|
115
|
-
* Overridable.
|
|
116
|
-
*/
|
|
117
|
-
...options?.packageJson?.rules
|
|
42
|
+
}]
|
|
118
43
|
}
|
|
119
|
-
},
|
|
120
|
-
|
|
121
|
-
* Default.
|
|
122
|
-
*/
|
|
44
|
+
}, omittedConfig);
|
|
45
|
+
const sortArrayValuesConfig = (0, _defu.default)(options?.sortArrayValues, {
|
|
123
46
|
name: configNamesMapSource.sortArrayValues,
|
|
124
|
-
|
|
125
|
-
* Overridable.
|
|
126
|
-
*/
|
|
127
|
-
...options?.sortArrayValues,
|
|
128
|
-
files: [_globs.GLOB_CSPELL_JSON, ...(options?.sortArrayValues?.files ?? [])],
|
|
47
|
+
files: [_globs.GLOB_CSPELL_JSON],
|
|
129
48
|
rules: {
|
|
130
49
|
"jsonc/sort-array-values": ["error", {
|
|
131
50
|
pathPattern: ".*",
|
|
@@ -134,10 +53,18 @@ const jsoncInternal = async (composer, options) => {
|
|
|
134
53
|
caseSensitive: false,
|
|
135
54
|
natural: true
|
|
136
55
|
}
|
|
137
|
-
}]
|
|
138
|
-
...options?.sortArrayValues?.rules
|
|
56
|
+
}]
|
|
139
57
|
}
|
|
140
|
-
}
|
|
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];
|
|
141
68
|
}, ["antfu/sort/package-json", "antfu/sort/tsconfig-json"]);
|
|
142
69
|
};
|
|
143
70
|
const jsonc = exports.jsonc = Object.assign(jsoncInternal, {
|