@vp-tw/eslint-config 0.0.9 → 0.0.11
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 +32 -1
- package/dist/configs/mdx.d.ts +22 -4
- package/dist/configs/mdx.js +72 -18
- package/dist/configs/prettier.d.ts +18 -1
- package/dist/configs/prettier.js +27 -4
- package/dist/configs/storybook.d.ts +24 -1
- package/dist/configs/storybook.js +68 -24
- package/dist/eslint-typegen.js +1 -1
- package/dist/esm/configs/mdx.d.ts +22 -4
- package/dist/esm/configs/mdx.mjs +82 -18
- package/dist/esm/configs/prettier.d.ts +18 -1
- package/dist/esm/configs/prettier.mjs +27 -3
- package/dist/esm/configs/storybook.d.ts +24 -1
- package/dist/esm/configs/storybook.mjs +72 -14
- package/dist/esm/eslint-typegen.mjs +1 -1
- package/dist/esm/extends/_utils.d.ts +2 -0
- package/dist/esm/extends/_utils.mjs +2 -0
- package/dist/esm/extends/imports.d.ts +25 -0
- package/dist/esm/extends/imports.mjs +87 -0
- package/dist/esm/extends/javascript.d.ts +21 -0
- package/dist/esm/extends/javascript.mjs +51 -0
- package/dist/esm/extends/jsonc.d.ts +30 -0
- package/dist/esm/extends/jsonc.mjs +149 -0
- package/dist/esm/extends/react.d.ts +21 -0
- package/dist/esm/extends/react.mjs +58 -0
- package/dist/esm/extends/typescript.d.ts +21 -0
- package/dist/esm/extends/typescript.mjs +52 -0
- package/dist/esm/extends/yaml.d.ts +25 -0
- package/dist/esm/extends/yaml.mjs +71 -0
- package/dist/esm/globs.d.ts +6 -0
- package/dist/esm/globs.mjs +12 -0
- package/dist/esm/types.d.ts +35 -1
- package/dist/esm/utils/extendsConfig.d.ts +4 -0
- package/dist/esm/utils/extendsConfig.mjs +56 -0
- package/dist/esm/vdustr.d.ts +21 -4
- package/dist/esm/vdustr.mjs +37 -141
- package/dist/extends/_utils.d.ts +2 -0
- package/dist/extends/_utils.js +7 -0
- package/dist/extends/imports.d.ts +25 -0
- package/dist/extends/imports.js +71 -0
- package/dist/extends/javascript.d.ts +21 -0
- package/dist/extends/javascript.js +53 -0
- package/dist/extends/jsonc.d.ts +30 -0
- package/dist/extends/jsonc.js +135 -0
- package/dist/extends/react.d.ts +21 -0
- package/dist/extends/react.js +60 -0
- package/dist/extends/typescript.d.ts +21 -0
- package/dist/extends/typescript.js +56 -0
- package/dist/extends/yaml.d.ts +25 -0
- package/dist/extends/yaml.js +66 -0
- package/dist/globs.d.ts +6 -0
- package/dist/globs.js +11 -0
- package/dist/types.d.ts +35 -1
- package/dist/utils/extendsConfig.d.ts +4 -0
- package/dist/utils/extendsConfig.js +53 -0
- package/dist/vdustr.d.ts +21 -4
- package/dist/vdustr.js +30 -132
- package/package.json +6 -3
package/README.md
CHANGED
|
@@ -36,7 +36,7 @@ const prettierignorePath = path.resolve(__dirname, ".prettierignore");
|
|
|
36
36
|
|
|
37
37
|
export default vdustr(
|
|
38
38
|
{
|
|
39
|
-
//
|
|
39
|
+
// By default, we disable `stylistic` and use `prettier` instead.
|
|
40
40
|
// stylistic: true,
|
|
41
41
|
storybook: true,
|
|
42
42
|
mdx: true,
|
|
@@ -45,6 +45,37 @@ export default vdustr(
|
|
|
45
45
|
);
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
+
## Known Issues
|
|
49
|
+
|
|
50
|
+
## `RulesRecord` Type Definition Not Applied
|
|
51
|
+
|
|
52
|
+
If the rule record type definitions are not applied correctly, the plugin rules
|
|
53
|
+
supported by this ESLint config may not appear in properties that rely on these
|
|
54
|
+
types, such as `overrides`.
|
|
55
|
+
|
|
56
|
+
For example, you might not see the rule key `react-compiler/react-compiler` as
|
|
57
|
+
expected.
|
|
58
|
+
|
|
59
|
+
To fix this, you may need to prevent the outdated package `@types/eslint` from
|
|
60
|
+
being installed. This can be done by creating a `.pnpmfile.cjs` file:
|
|
61
|
+
|
|
62
|
+
```js
|
|
63
|
+
// .pnpmfile.cjs
|
|
64
|
+
module.exports = {
|
|
65
|
+
hooks: {
|
|
66
|
+
readPackage(pkg) {
|
|
67
|
+
if (pkg.dependencies) {
|
|
68
|
+
delete pkg.dependencies["@types/eslint"];
|
|
69
|
+
}
|
|
70
|
+
return pkg;
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
- [ESLint v9.10.0 released - Types now included](https://eslint.org/blog/2024/09/eslint-v9.10.0-released/#types-now-included)
|
|
77
|
+
- [feat: Add types #18854](https://github.com/eslint/eslint/pull/18854)
|
|
78
|
+
|
|
48
79
|
## License
|
|
49
80
|
|
|
50
81
|
MIT © ViPro <vdustr@gmail.com> (<http://vdustr.dev>)
|
package/dist/configs/mdx.d.ts
CHANGED
|
@@ -1,10 +1,28 @@
|
|
|
1
1
|
import type { TypedFlatConfigItem } from "@antfu/eslint-config";
|
|
2
|
-
import type {
|
|
2
|
+
import type { ConfigOverrides, ResolveConfigNamesMap } from "../types";
|
|
3
|
+
declare const configNamesMapSource: {
|
|
4
|
+
readonly setup: "vdustr/mdx/setup";
|
|
5
|
+
readonly processor: "vdustr/mdx/processor";
|
|
6
|
+
readonly rules: "vdustr/mdx/rules";
|
|
7
|
+
readonly codeBlocks: "vdustr/mdx/code-blocks";
|
|
8
|
+
};
|
|
9
|
+
declare module "../types" {
|
|
10
|
+
interface ConfigNamesMap extends ResolveConfigNamesMap<mdx.ConfigNamesMapSource> {
|
|
11
|
+
}
|
|
12
|
+
}
|
|
3
13
|
declare namespace mdx {
|
|
4
|
-
|
|
14
|
+
type ConfigNamesMapSource = typeof configNamesMapSource;
|
|
15
|
+
interface Options extends ConfigOverrides {
|
|
5
16
|
processorOptions?: import("eslint-plugin-mdx").ProcessorOptions;
|
|
6
|
-
|
|
17
|
+
codeBlocks?: boolean | ConfigOverrides;
|
|
7
18
|
}
|
|
8
19
|
}
|
|
9
|
-
declare const mdx: ({
|
|
20
|
+
declare const mdx: (({ codeBlocks, processorOptions, ...options }?: mdx.Options) => Promise<Array<TypedFlatConfigItem>>) & {
|
|
21
|
+
configNamesMapSource: {
|
|
22
|
+
readonly setup: "vdustr/mdx/setup";
|
|
23
|
+
readonly processor: "vdustr/mdx/processor";
|
|
24
|
+
readonly rules: "vdustr/mdx/rules";
|
|
25
|
+
readonly codeBlocks: "vdustr/mdx/code-blocks";
|
|
26
|
+
};
|
|
27
|
+
};
|
|
10
28
|
export { mdx };
|
package/dist/configs/mdx.js
CHANGED
|
@@ -5,43 +5,97 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.mdx = void 0;
|
|
7
7
|
var _eslintConfig = require("@antfu/eslint-config");
|
|
8
|
+
var _esToolkit = require("es-toolkit");
|
|
8
9
|
var _renameRules = require("../utils/renameRules");
|
|
9
|
-
const
|
|
10
|
-
|
|
10
|
+
const configNamesMapSource = {
|
|
11
|
+
setup: "vdustr/mdx/setup",
|
|
12
|
+
processor: "vdustr/mdx/processor",
|
|
13
|
+
rules: "vdustr/mdx/rules",
|
|
14
|
+
codeBlocks: "vdustr/mdx/code-blocks"
|
|
15
|
+
};
|
|
16
|
+
const mdxInternal = async ({
|
|
17
|
+
codeBlocks = true,
|
|
11
18
|
processorOptions,
|
|
12
19
|
...options
|
|
13
20
|
} = {}) => {
|
|
14
21
|
await (0, _eslintConfig.ensurePackages)(["eslint-plugin-mdx"]);
|
|
15
22
|
const mdxPlugin = await (0, _eslintConfig.interopDefault)(await Promise.resolve().then(() => require("eslint-plugin-mdx")));
|
|
16
|
-
const
|
|
23
|
+
const codeBlocksOptions = typeof codeBlocks !== "object" ? {} : codeBlocks;
|
|
17
24
|
const configs = [{
|
|
18
|
-
|
|
19
|
-
|
|
25
|
+
...(0, _esToolkit.pick)(mdxPlugin.flat, ["plugins"]),
|
|
26
|
+
name: configNamesMapSource.setup
|
|
27
|
+
}, {
|
|
28
|
+
processor: mdxPlugin.createRemarkProcessor({
|
|
29
|
+
lintCodeBlocks: Boolean(codeBlocks),
|
|
30
|
+
...processorOptions,
|
|
31
|
+
languageMapper: {
|
|
32
|
+
...processorOptions?.languageMapper
|
|
33
|
+
}
|
|
34
|
+
}),
|
|
35
|
+
name: configNamesMapSource.processor
|
|
36
|
+
}, {
|
|
37
|
+
/**
|
|
38
|
+
* Inherited.
|
|
39
|
+
*/
|
|
40
|
+
...(0, _esToolkit.omit)(mdxPlugin.flat, ["plugins", "processor"]),
|
|
41
|
+
/**
|
|
42
|
+
* Default.
|
|
43
|
+
*/
|
|
44
|
+
name: configNamesMapSource.rules,
|
|
45
|
+
ignores: [
|
|
46
|
+
/**
|
|
47
|
+
* Handled by `@eslint/markdown`.
|
|
48
|
+
*/
|
|
49
|
+
_eslintConfig.GLOB_MARKDOWN],
|
|
50
|
+
/**
|
|
51
|
+
* Overridable.
|
|
52
|
+
*/
|
|
20
53
|
...options,
|
|
21
54
|
rules: {
|
|
55
|
+
/**
|
|
56
|
+
* Inherited.
|
|
57
|
+
*/
|
|
22
58
|
...(0, _renameRules.renameRules)({
|
|
23
59
|
...mdxPlugin.flat.rules
|
|
24
60
|
}),
|
|
61
|
+
/**
|
|
62
|
+
* Overridable.
|
|
63
|
+
*/
|
|
25
64
|
...options.rules
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
...processorOptions?.languageMapper
|
|
32
|
-
}
|
|
33
|
-
})
|
|
34
|
-
}, ...(!flatCodeBlocks ? [] : [{
|
|
35
|
-
name: "vdustr/mdx/flat-code-blocks",
|
|
65
|
+
}
|
|
66
|
+
}, ...(!codeBlocks ? [] : [{
|
|
67
|
+
/**
|
|
68
|
+
* Inherited.
|
|
69
|
+
*/
|
|
36
70
|
...mdxPlugin.flatCodeBlocks,
|
|
37
|
-
|
|
71
|
+
/**
|
|
72
|
+
* Default.
|
|
73
|
+
*/
|
|
74
|
+
name: configNamesMapSource.codeBlocks,
|
|
75
|
+
ignores: [
|
|
76
|
+
/**
|
|
77
|
+
* Handled by `@eslint/markdown`.
|
|
78
|
+
*/
|
|
79
|
+
_eslintConfig.GLOB_MARKDOWN_CODE],
|
|
80
|
+
/**
|
|
81
|
+
* Overridable.
|
|
82
|
+
*/
|
|
83
|
+
...codeBlocksOptions,
|
|
38
84
|
rules: {
|
|
85
|
+
/**
|
|
86
|
+
* Inherited.
|
|
87
|
+
*/
|
|
39
88
|
...(0, _renameRules.renameRules)({
|
|
40
89
|
...mdxPlugin.flatCodeBlocks.rules
|
|
41
90
|
}),
|
|
42
|
-
|
|
91
|
+
/**
|
|
92
|
+
* Overridable.
|
|
93
|
+
*/
|
|
94
|
+
...codeBlocksOptions.rules
|
|
43
95
|
}
|
|
44
96
|
}])];
|
|
45
97
|
return configs;
|
|
46
98
|
};
|
|
47
|
-
exports.mdx =
|
|
99
|
+
const mdx = exports.mdx = Object.assign(mdxInternal, {
|
|
100
|
+
configNamesMapSource
|
|
101
|
+
});
|
|
@@ -1,3 +1,20 @@
|
|
|
1
1
|
import type { TypedFlatConfigItem } from "@antfu/eslint-config";
|
|
2
|
-
|
|
2
|
+
import type { ConfigOverrides, ResolveConfigNamesMap } from "../types";
|
|
3
|
+
declare const configNamesMapSource: {
|
|
4
|
+
readonly rules: "vdustr/prettier/rules";
|
|
5
|
+
};
|
|
6
|
+
declare module "../types" {
|
|
7
|
+
interface ConfigNamesMap extends ResolveConfigNamesMap<prettier.ConfigNamesMapSource> {
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
declare namespace prettier {
|
|
11
|
+
type ConfigNamesMapSource = typeof configNamesMapSource;
|
|
12
|
+
interface Options extends ConfigOverrides {
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
declare const prettier: ((options?: prettier.Options) => Promise<TypedFlatConfigItem>) & {
|
|
16
|
+
configNamesMapSource: {
|
|
17
|
+
readonly rules: "vdustr/prettier/rules";
|
|
18
|
+
};
|
|
19
|
+
};
|
|
3
20
|
export { prettier };
|
package/dist/configs/prettier.js
CHANGED
|
@@ -8,12 +8,35 @@ var _eslintConfig = require("@antfu/eslint-config");
|
|
|
8
8
|
var _eslintConfigPrettier = _interopRequireDefault(require("eslint-config-prettier"));
|
|
9
9
|
var _renameRules = require("../utils/renameRules");
|
|
10
10
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
-
const
|
|
11
|
+
const configNamesMapSource = {
|
|
12
|
+
rules: "vdustr/prettier/rules"
|
|
13
|
+
};
|
|
14
|
+
const prettierInternal = async options => {
|
|
12
15
|
await (0, _eslintConfig.ensurePackages)(["eslint-config-prettier"]);
|
|
13
16
|
return {
|
|
14
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Inherited.
|
|
19
|
+
*/
|
|
15
20
|
..._eslintConfigPrettier.default,
|
|
16
|
-
|
|
21
|
+
/**
|
|
22
|
+
* Default.
|
|
23
|
+
*/
|
|
24
|
+
name: configNamesMapSource.rules,
|
|
25
|
+
/**
|
|
26
|
+
* Overridable.
|
|
27
|
+
*/
|
|
28
|
+
rules: {
|
|
29
|
+
/**
|
|
30
|
+
* Inherited.
|
|
31
|
+
*/
|
|
32
|
+
...(0, _renameRules.renameRules)(_eslintConfigPrettier.default.rules),
|
|
33
|
+
/**
|
|
34
|
+
* Overridable.
|
|
35
|
+
*/
|
|
36
|
+
...options?.rules
|
|
37
|
+
}
|
|
17
38
|
};
|
|
18
39
|
};
|
|
19
|
-
exports.prettier =
|
|
40
|
+
const prettier = exports.prettier = Object.assign(prettierInternal, {
|
|
41
|
+
configNamesMapSource
|
|
42
|
+
});
|
|
@@ -1,3 +1,26 @@
|
|
|
1
1
|
import type { TypedFlatConfigItem } from "@antfu/eslint-config";
|
|
2
|
-
|
|
2
|
+
import type { ConfigOverrides, ResolveConfigNamesMap } from "../types";
|
|
3
|
+
declare const configNamesMapSource: {
|
|
4
|
+
readonly setup: "vdustr/stroybook/setup";
|
|
5
|
+
readonly storiesRules: "vdustr/storybook/stories-rules";
|
|
6
|
+
readonly mainRules: "vdustr/storybook/main-rules";
|
|
7
|
+
};
|
|
8
|
+
declare module "../types" {
|
|
9
|
+
interface ConfigNamesMap extends ResolveConfigNamesMap<storybook.ConfigNamesMapSource> {
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
declare namespace storybook {
|
|
13
|
+
type ConfigNamesMapSource = typeof configNamesMapSource;
|
|
14
|
+
interface Options {
|
|
15
|
+
storiesConfig?: ConfigOverrides;
|
|
16
|
+
mainConfig?: ConfigOverrides;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
declare const storybook: ((options?: storybook.Options) => Promise<Array<TypedFlatConfigItem>>) & {
|
|
20
|
+
configNamesMapSource: {
|
|
21
|
+
readonly setup: "vdustr/stroybook/setup";
|
|
22
|
+
readonly storiesRules: "vdustr/storybook/stories-rules";
|
|
23
|
+
readonly mainRules: "vdustr/storybook/main-rules";
|
|
24
|
+
};
|
|
25
|
+
};
|
|
3
26
|
export { storybook };
|
|
@@ -5,30 +5,74 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.storybook = void 0;
|
|
7
7
|
var _eslintConfig = require("@antfu/eslint-config");
|
|
8
|
-
var
|
|
9
|
-
const
|
|
8
|
+
var _esToolkit = require("es-toolkit");
|
|
9
|
+
const configNamesMapSource = {
|
|
10
|
+
setup: "vdustr/stroybook/setup",
|
|
11
|
+
storiesRules: "vdustr/storybook/stories-rules",
|
|
12
|
+
mainRules: "vdustr/storybook/main-rules"
|
|
13
|
+
};
|
|
14
|
+
const storybookInternal = async options => {
|
|
10
15
|
await (0, _eslintConfig.ensurePackages)(["eslint-plugin-storybook"]);
|
|
11
16
|
const storybookPlugin = await (0, _eslintConfig.interopDefault)(Promise.resolve().then(() => require("eslint-plugin-storybook")));
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
17
|
+
const inheritingConfigs = storybookPlugin.configs["flat/csf-strict"];
|
|
18
|
+
const originalSetupConfig = inheritingConfigs[0];
|
|
19
|
+
const originalStoryRulesConfig = inheritingConfigs[1];
|
|
20
|
+
const originalMainRulesConfig = inheritingConfigs[2];
|
|
21
|
+
const originalCsfStrictConfig = inheritingConfigs[3];
|
|
22
|
+
if (!originalSetupConfig) throw new Error("Missing setup config");
|
|
23
|
+
if (!originalStoryRulesConfig) throw new Error("Missing story rules config");
|
|
24
|
+
if (!originalMainRulesConfig) throw new Error("Missing main rules config");
|
|
25
|
+
if (!originalCsfStrictConfig) throw new Error("Missing csf strict config");
|
|
26
|
+
const setupConfig = {
|
|
27
|
+
...(0, _esToolkit.pick)(originalSetupConfig, ["plugins"]),
|
|
28
|
+
name: configNamesMapSource.setup
|
|
29
|
+
};
|
|
30
|
+
const storyRulesConfig = {
|
|
31
|
+
/**
|
|
32
|
+
* Inherited.
|
|
33
|
+
*/
|
|
34
|
+
...originalStoryRulesConfig,
|
|
35
|
+
...originalCsfStrictConfig,
|
|
36
|
+
/**
|
|
37
|
+
* Default.
|
|
38
|
+
*/
|
|
39
|
+
name: configNamesMapSource.storiesRules,
|
|
40
|
+
/**
|
|
41
|
+
* Overridable.
|
|
42
|
+
*/
|
|
43
|
+
...options?.storiesConfig,
|
|
44
|
+
rules: {
|
|
45
|
+
/**
|
|
46
|
+
* Inherited.
|
|
47
|
+
*/
|
|
48
|
+
...originalStoryRulesConfig.rules,
|
|
49
|
+
...originalCsfStrictConfig.rules,
|
|
50
|
+
/**
|
|
51
|
+
* Default.
|
|
52
|
+
*/
|
|
53
|
+
"import/no-default-export": "off",
|
|
54
|
+
/**
|
|
55
|
+
* Overridable.
|
|
56
|
+
*/
|
|
57
|
+
...options?.storiesConfig?.rules
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
const mainRulesConfig = {
|
|
61
|
+
/**
|
|
62
|
+
* Inherited.
|
|
63
|
+
*/
|
|
64
|
+
...originalMainRulesConfig,
|
|
65
|
+
/**
|
|
66
|
+
* Default.
|
|
67
|
+
*/
|
|
68
|
+
name: configNamesMapSource.mainRules,
|
|
69
|
+
/**
|
|
70
|
+
* Overridable.
|
|
71
|
+
*/
|
|
72
|
+
...options?.mainConfig
|
|
73
|
+
};
|
|
74
|
+
return [setupConfig, storyRulesConfig, mainRulesConfig];
|
|
33
75
|
};
|
|
34
|
-
exports.storybook =
|
|
76
|
+
const storybook = exports.storybook = Object.assign(storybookInternal, {
|
|
77
|
+
configNamesMapSource
|
|
78
|
+
});
|
package/dist/eslint-typegen.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
//
|
|
1
|
+
// Placeholder for `eslint-typegen.d.ts`.
|
|
2
2
|
"use strict";
|
|
@@ -1,10 +1,28 @@
|
|
|
1
1
|
import type { TypedFlatConfigItem } from "@antfu/eslint-config";
|
|
2
|
-
import type {
|
|
2
|
+
import type { ConfigOverrides, ResolveConfigNamesMap } from "../types";
|
|
3
|
+
declare const configNamesMapSource: {
|
|
4
|
+
readonly setup: "vdustr/mdx/setup";
|
|
5
|
+
readonly processor: "vdustr/mdx/processor";
|
|
6
|
+
readonly rules: "vdustr/mdx/rules";
|
|
7
|
+
readonly codeBlocks: "vdustr/mdx/code-blocks";
|
|
8
|
+
};
|
|
9
|
+
declare module "../types" {
|
|
10
|
+
interface ConfigNamesMap extends ResolveConfigNamesMap<mdx.ConfigNamesMapSource> {
|
|
11
|
+
}
|
|
12
|
+
}
|
|
3
13
|
declare namespace mdx {
|
|
4
|
-
|
|
14
|
+
type ConfigNamesMapSource = typeof configNamesMapSource;
|
|
15
|
+
interface Options extends ConfigOverrides {
|
|
5
16
|
processorOptions?: import("eslint-plugin-mdx").ProcessorOptions;
|
|
6
|
-
|
|
17
|
+
codeBlocks?: boolean | ConfigOverrides;
|
|
7
18
|
}
|
|
8
19
|
}
|
|
9
|
-
declare const mdx: ({
|
|
20
|
+
declare const mdx: (({ codeBlocks, processorOptions, ...options }?: mdx.Options) => Promise<Array<TypedFlatConfigItem>>) & {
|
|
21
|
+
configNamesMapSource: {
|
|
22
|
+
readonly setup: "vdustr/mdx/setup";
|
|
23
|
+
readonly processor: "vdustr/mdx/processor";
|
|
24
|
+
readonly rules: "vdustr/mdx/rules";
|
|
25
|
+
readonly codeBlocks: "vdustr/mdx/code-blocks";
|
|
26
|
+
};
|
|
27
|
+
};
|
|
10
28
|
export { mdx };
|
package/dist/esm/configs/mdx.mjs
CHANGED
|
@@ -1,46 +1,110 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
ensurePackages,
|
|
3
|
+
GLOB_MARKDOWN,
|
|
4
|
+
GLOB_MARKDOWN_CODE,
|
|
5
|
+
interopDefault
|
|
6
|
+
} from "@antfu/eslint-config";
|
|
7
|
+
import { omit, pick } from "es-toolkit";
|
|
2
8
|
import { renameRules } from "../utils/renameRules.mjs";
|
|
3
|
-
const
|
|
4
|
-
|
|
9
|
+
const configNamesMapSource = {
|
|
10
|
+
setup: "vdustr/mdx/setup",
|
|
11
|
+
processor: "vdustr/mdx/processor",
|
|
12
|
+
rules: "vdustr/mdx/rules",
|
|
13
|
+
codeBlocks: "vdustr/mdx/code-blocks"
|
|
14
|
+
};
|
|
15
|
+
const mdxInternal = async ({
|
|
16
|
+
codeBlocks = true,
|
|
5
17
|
processorOptions,
|
|
6
18
|
...options
|
|
7
19
|
} = {}) => {
|
|
8
20
|
await ensurePackages(["eslint-plugin-mdx"]);
|
|
9
21
|
const mdxPlugin = await interopDefault(await import("eslint-plugin-mdx"));
|
|
10
|
-
const
|
|
22
|
+
const codeBlocksOptions = typeof codeBlocks !== "object" ? {} : codeBlocks;
|
|
11
23
|
const configs = [
|
|
12
24
|
{
|
|
13
|
-
|
|
14
|
-
|
|
25
|
+
...pick(mdxPlugin.flat, ["plugins"]),
|
|
26
|
+
name: configNamesMapSource.setup
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
processor: mdxPlugin.createRemarkProcessor({
|
|
30
|
+
lintCodeBlocks: Boolean(codeBlocks),
|
|
31
|
+
...processorOptions,
|
|
32
|
+
languageMapper: {
|
|
33
|
+
...processorOptions?.languageMapper
|
|
34
|
+
}
|
|
35
|
+
}),
|
|
36
|
+
name: configNamesMapSource.processor
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
/**
|
|
40
|
+
* Inherited.
|
|
41
|
+
*/
|
|
42
|
+
...omit(mdxPlugin.flat, ["plugins", "processor"]),
|
|
43
|
+
/**
|
|
44
|
+
* Default.
|
|
45
|
+
*/
|
|
46
|
+
name: configNamesMapSource.rules,
|
|
47
|
+
ignores: [
|
|
48
|
+
/**
|
|
49
|
+
* Handled by `@eslint/markdown`.
|
|
50
|
+
*/
|
|
51
|
+
GLOB_MARKDOWN
|
|
52
|
+
],
|
|
53
|
+
/**
|
|
54
|
+
* Overridable.
|
|
55
|
+
*/
|
|
15
56
|
...options,
|
|
16
57
|
rules: {
|
|
58
|
+
/**
|
|
59
|
+
* Inherited.
|
|
60
|
+
*/
|
|
17
61
|
...renameRules({
|
|
18
62
|
...mdxPlugin.flat.rules
|
|
19
63
|
}),
|
|
64
|
+
/**
|
|
65
|
+
* Overridable.
|
|
66
|
+
*/
|
|
20
67
|
...options.rules
|
|
21
|
-
}
|
|
22
|
-
processor: mdxPlugin.createRemarkProcessor({
|
|
23
|
-
lintCodeBlocks: Boolean(flatCodeBlocks),
|
|
24
|
-
...processorOptions,
|
|
25
|
-
languageMapper: {
|
|
26
|
-
...processorOptions?.languageMapper
|
|
27
|
-
}
|
|
28
|
-
})
|
|
68
|
+
}
|
|
29
69
|
},
|
|
30
|
-
...!
|
|
70
|
+
...!codeBlocks ? [] : [
|
|
31
71
|
{
|
|
32
|
-
|
|
72
|
+
/**
|
|
73
|
+
* Inherited.
|
|
74
|
+
*/
|
|
33
75
|
...mdxPlugin.flatCodeBlocks,
|
|
34
|
-
|
|
76
|
+
/**
|
|
77
|
+
* Default.
|
|
78
|
+
*/
|
|
79
|
+
name: configNamesMapSource.codeBlocks,
|
|
80
|
+
ignores: [
|
|
81
|
+
/**
|
|
82
|
+
* Handled by `@eslint/markdown`.
|
|
83
|
+
*/
|
|
84
|
+
GLOB_MARKDOWN_CODE
|
|
85
|
+
],
|
|
86
|
+
/**
|
|
87
|
+
* Overridable.
|
|
88
|
+
*/
|
|
89
|
+
...codeBlocksOptions,
|
|
35
90
|
rules: {
|
|
91
|
+
/**
|
|
92
|
+
* Inherited.
|
|
93
|
+
*/
|
|
36
94
|
...renameRules({
|
|
37
95
|
...mdxPlugin.flatCodeBlocks.rules
|
|
38
96
|
}),
|
|
39
|
-
|
|
97
|
+
/**
|
|
98
|
+
* Overridable.
|
|
99
|
+
*/
|
|
100
|
+
...codeBlocksOptions.rules
|
|
40
101
|
}
|
|
41
102
|
}
|
|
42
103
|
]
|
|
43
104
|
];
|
|
44
105
|
return configs;
|
|
45
106
|
};
|
|
107
|
+
const mdx = Object.assign(mdxInternal, {
|
|
108
|
+
configNamesMapSource
|
|
109
|
+
});
|
|
46
110
|
export { mdx };
|
|
@@ -1,3 +1,20 @@
|
|
|
1
1
|
import type { TypedFlatConfigItem } from "@antfu/eslint-config";
|
|
2
|
-
|
|
2
|
+
import type { ConfigOverrides, ResolveConfigNamesMap } from "../types";
|
|
3
|
+
declare const configNamesMapSource: {
|
|
4
|
+
readonly rules: "vdustr/prettier/rules";
|
|
5
|
+
};
|
|
6
|
+
declare module "../types" {
|
|
7
|
+
interface ConfigNamesMap extends ResolveConfigNamesMap<prettier.ConfigNamesMapSource> {
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
declare namespace prettier {
|
|
11
|
+
type ConfigNamesMapSource = typeof configNamesMapSource;
|
|
12
|
+
interface Options extends ConfigOverrides {
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
declare const prettier: ((options?: prettier.Options) => Promise<TypedFlatConfigItem>) & {
|
|
16
|
+
configNamesMapSource: {
|
|
17
|
+
readonly rules: "vdustr/prettier/rules";
|
|
18
|
+
};
|
|
19
|
+
};
|
|
3
20
|
export { prettier };
|
|
@@ -1,12 +1,36 @@
|
|
|
1
1
|
import { ensurePackages } from "@antfu/eslint-config";
|
|
2
2
|
import eslintConfigPrettier from "eslint-config-prettier";
|
|
3
3
|
import { renameRules } from "../utils/renameRules.mjs";
|
|
4
|
-
const
|
|
4
|
+
const configNamesMapSource = {
|
|
5
|
+
rules: "vdustr/prettier/rules"
|
|
6
|
+
};
|
|
7
|
+
const prettierInternal = async (options) => {
|
|
5
8
|
await ensurePackages(["eslint-config-prettier"]);
|
|
6
9
|
return {
|
|
7
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Inherited.
|
|
12
|
+
*/
|
|
8
13
|
...eslintConfigPrettier,
|
|
9
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Default.
|
|
16
|
+
*/
|
|
17
|
+
name: configNamesMapSource.rules,
|
|
18
|
+
/**
|
|
19
|
+
* Overridable.
|
|
20
|
+
*/
|
|
21
|
+
rules: {
|
|
22
|
+
/**
|
|
23
|
+
* Inherited.
|
|
24
|
+
*/
|
|
25
|
+
...renameRules(eslintConfigPrettier.rules),
|
|
26
|
+
/**
|
|
27
|
+
* Overridable.
|
|
28
|
+
*/
|
|
29
|
+
...options?.rules
|
|
30
|
+
}
|
|
10
31
|
};
|
|
11
32
|
};
|
|
33
|
+
const prettier = Object.assign(prettierInternal, {
|
|
34
|
+
configNamesMapSource
|
|
35
|
+
});
|
|
12
36
|
export { prettier };
|
|
@@ -1,3 +1,26 @@
|
|
|
1
1
|
import type { TypedFlatConfigItem } from "@antfu/eslint-config";
|
|
2
|
-
|
|
2
|
+
import type { ConfigOverrides, ResolveConfigNamesMap } from "../types";
|
|
3
|
+
declare const configNamesMapSource: {
|
|
4
|
+
readonly setup: "vdustr/stroybook/setup";
|
|
5
|
+
readonly storiesRules: "vdustr/storybook/stories-rules";
|
|
6
|
+
readonly mainRules: "vdustr/storybook/main-rules";
|
|
7
|
+
};
|
|
8
|
+
declare module "../types" {
|
|
9
|
+
interface ConfigNamesMap extends ResolveConfigNamesMap<storybook.ConfigNamesMapSource> {
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
declare namespace storybook {
|
|
13
|
+
type ConfigNamesMapSource = typeof configNamesMapSource;
|
|
14
|
+
interface Options {
|
|
15
|
+
storiesConfig?: ConfigOverrides;
|
|
16
|
+
mainConfig?: ConfigOverrides;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
declare const storybook: ((options?: storybook.Options) => Promise<Array<TypedFlatConfigItem>>) & {
|
|
20
|
+
configNamesMapSource: {
|
|
21
|
+
readonly setup: "vdustr/stroybook/setup";
|
|
22
|
+
readonly storiesRules: "vdustr/storybook/stories-rules";
|
|
23
|
+
readonly mainRules: "vdustr/storybook/main-rules";
|
|
24
|
+
};
|
|
25
|
+
};
|
|
3
26
|
export { storybook };
|