@so1ve/eslint-config 4.1.7 → 4.2.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/dist/configs/astro.d.mts +8 -0
- package/dist/configs/astro.mjs +49 -0
- package/dist/configs/command.d.mts +6 -0
- package/dist/configs/command.mjs +10 -0
- package/dist/configs/comments.d.mts +6 -0
- package/dist/configs/comments.mjs +19 -0
- package/dist/configs/de-morgan.d.mts +6 -0
- package/dist/configs/de-morgan.mjs +10 -0
- package/dist/configs/formatting.d.mts +6 -0
- package/dist/configs/formatting.mjs +294 -0
- package/dist/configs/html.d.mts +6 -0
- package/dist/configs/html.mjs +37 -0
- package/dist/configs/ignores.d.mts +6 -0
- package/dist/configs/ignores.mjs +14 -0
- package/dist/configs/imports.d.mts +6 -0
- package/dist/configs/imports.mjs +75 -0
- package/dist/configs/index.d.mts +24 -0
- package/dist/configs/index.mjs +26 -0
- package/dist/configs/javascript.d.mts +8 -0
- package/dist/configs/javascript.mjs +326 -0
- package/dist/configs/jsonc.d.mts +6 -0
- package/dist/configs/jsonc.mjs +30 -0
- package/dist/configs/mdx.d.mts +9 -0
- package/dist/configs/mdx.mjs +43 -0
- package/dist/configs/node.d.mts +6 -0
- package/dist/configs/node.mjs +21 -0
- package/dist/configs/only-error.d.mts +6 -0
- package/dist/configs/only-error.mjs +10 -0
- package/dist/configs/perfectionist.d.mts +6 -0
- package/dist/configs/perfectionist.mjs +34 -0
- package/dist/configs/pnpm.d.mts +6 -0
- package/dist/configs/pnpm.mjs +106 -0
- package/dist/configs/promise.d.mts +6 -0
- package/dist/configs/promise.mjs +13 -0
- package/dist/configs/solid.d.mts +9 -0
- package/dist/configs/solid.mjs +24 -0
- package/dist/configs/sort-imports.d.mts +6 -0
- package/dist/configs/sort-imports.mjs +11 -0
- package/dist/configs/test.d.mts +8 -0
- package/dist/configs/test.mjs +46 -0
- package/dist/configs/toml.d.mts +8 -0
- package/dist/configs/toml.mjs +24 -0
- package/dist/configs/typescript.d.mts +10 -0
- package/dist/configs/typescript.mjs +232 -0
- package/dist/configs/unicorn.d.mts +6 -0
- package/dist/configs/unicorn.mjs +61 -0
- package/dist/configs/vue.d.mts +9 -0
- package/dist/configs/vue.mjs +194 -0
- package/dist/configs/yaml.d.mts +8 -0
- package/dist/configs/yaml.mjs +25 -0
- package/dist/factory.d.mts +21 -0
- package/dist/factory.mjs +114 -0
- package/dist/globs.d.mts +31 -0
- package/dist/globs.mjs +80 -0
- package/dist/index.d.mts +30 -16646
- package/dist/index.mjs +28 -2298
- package/dist/plugins.mjs +15 -0
- package/dist/typegen.d.mts +16308 -0
- package/dist/types.d.mts +175 -0
- package/dist/utils.d.mts +30 -0
- package/dist/utils.mjs +32 -0
- package/package.json +4 -6
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { GLOB_ASTRO } from "../globs.mjs";
|
|
2
|
+
import { interopDefault } from "../utils.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/configs/astro.ts
|
|
5
|
+
async function astro({ overrides = {} } = {}) {
|
|
6
|
+
const [pluginAstro, parserAstro, parserTs] = await Promise.all([
|
|
7
|
+
interopDefault(import("eslint-plugin-astro")),
|
|
8
|
+
interopDefault(import("astro-eslint-parser")),
|
|
9
|
+
interopDefault(import("@typescript-eslint/parser"))
|
|
10
|
+
]);
|
|
11
|
+
return [{
|
|
12
|
+
name: "so1ve/astro/setup",
|
|
13
|
+
plugins: { astro: pluginAstro }
|
|
14
|
+
}, {
|
|
15
|
+
files: [GLOB_ASTRO],
|
|
16
|
+
languageOptions: {
|
|
17
|
+
globals: pluginAstro.environments.astro.globals,
|
|
18
|
+
parser: parserAstro,
|
|
19
|
+
parserOptions: {
|
|
20
|
+
extraFileExtensions: [".astro"],
|
|
21
|
+
parser: parserTs
|
|
22
|
+
},
|
|
23
|
+
env: {
|
|
24
|
+
"node": true,
|
|
25
|
+
"astro/astro": true,
|
|
26
|
+
"es2020": true
|
|
27
|
+
},
|
|
28
|
+
sourceType: "module"
|
|
29
|
+
},
|
|
30
|
+
name: "so1ve/astro/rules",
|
|
31
|
+
processor: "astro/client-side-ts",
|
|
32
|
+
rules: {
|
|
33
|
+
"astro/missing-client-only-directive-value": "error",
|
|
34
|
+
"astro/no-conflict-set-directives": "error",
|
|
35
|
+
"astro/no-deprecated-astro-canonicalurl": "error",
|
|
36
|
+
"astro/no-deprecated-astro-fetchcontent": "error",
|
|
37
|
+
"astro/no-deprecated-astro-resolve": "error",
|
|
38
|
+
"astro/no-deprecated-getentrybyslug": "error",
|
|
39
|
+
"astro/no-set-html-directive": "off",
|
|
40
|
+
"astro/no-unused-define-vars-in-style": "error",
|
|
41
|
+
"astro/semi": "off",
|
|
42
|
+
"astro/valid-compile": "error",
|
|
43
|
+
...overrides
|
|
44
|
+
}
|
|
45
|
+
}];
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
//#endregion
|
|
49
|
+
export { astro };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { pluginComments } from "../plugins.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/configs/comments.ts
|
|
4
|
+
const comments = () => [{
|
|
5
|
+
name: "so1ve/comments/setup",
|
|
6
|
+
plugins: { "eslint-comments": pluginComments }
|
|
7
|
+
}, {
|
|
8
|
+
name: "so1ve/comments/rules",
|
|
9
|
+
rules: {
|
|
10
|
+
"eslint-comments/disable-enable-pair": "off",
|
|
11
|
+
"eslint-comments/no-aggregating-enable": "error",
|
|
12
|
+
"eslint-comments/no-duplicate-disable": "error",
|
|
13
|
+
"eslint-comments/no-unlimited-disable": "off",
|
|
14
|
+
"eslint-comments/no-unused-enable": "error"
|
|
15
|
+
}
|
|
16
|
+
}];
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
export { comments };
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
import { GLOB_PACKAGEJSON, GLOB_TESTS, GLOB_TSCONFIG } from "../globs.mjs";
|
|
2
|
+
import { interopDefault } from "../utils.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/configs/formatting.ts
|
|
5
|
+
async function formatting(options) {
|
|
6
|
+
return [
|
|
7
|
+
{
|
|
8
|
+
name: "so1ve/formatting/setup",
|
|
9
|
+
plugins: { style: await interopDefault(import("@stylistic/eslint-plugin")) }
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
name: "so1ve/formatting/rules",
|
|
13
|
+
rules: {
|
|
14
|
+
"curly": ["error", "all"],
|
|
15
|
+
"so1ve/function-style": "error",
|
|
16
|
+
"so1ve/import-export-newline": "error",
|
|
17
|
+
"so1ve/no-import-promises-as": "error",
|
|
18
|
+
"so1ve/no-negated-comparison": "error",
|
|
19
|
+
"so1ve/no-useless-template-string": "error",
|
|
20
|
+
"style/lines-between-class-members": [
|
|
21
|
+
"error",
|
|
22
|
+
"always",
|
|
23
|
+
{ exceptAfterSingleLine: true }
|
|
24
|
+
],
|
|
25
|
+
"style/no-extra-parens": ["error", "functions"],
|
|
26
|
+
"style/padding-line-between-statements": ["error", {
|
|
27
|
+
blankLine: "always",
|
|
28
|
+
prev: "*",
|
|
29
|
+
next: "return"
|
|
30
|
+
}],
|
|
31
|
+
"style/quote-props": ["error", "consistent-as-needed"],
|
|
32
|
+
"style/spaced-comment": [
|
|
33
|
+
"error",
|
|
34
|
+
"always",
|
|
35
|
+
{
|
|
36
|
+
line: {
|
|
37
|
+
markers: ["/"],
|
|
38
|
+
exceptions: ["/", "#"]
|
|
39
|
+
},
|
|
40
|
+
block: {
|
|
41
|
+
markers: ["!"],
|
|
42
|
+
exceptions: ["*"],
|
|
43
|
+
balanced: true
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
(options?.jsonc ?? true) && [{
|
|
50
|
+
name: "so1ve/formatting/rules/sort-package-json",
|
|
51
|
+
files: [GLOB_PACKAGEJSON],
|
|
52
|
+
rules: { "jsonc/sort-keys": [
|
|
53
|
+
"error",
|
|
54
|
+
{
|
|
55
|
+
pathPattern: "^$",
|
|
56
|
+
order: [
|
|
57
|
+
"name",
|
|
58
|
+
"displayName",
|
|
59
|
+
"private",
|
|
60
|
+
"preview",
|
|
61
|
+
"version",
|
|
62
|
+
"packageManager",
|
|
63
|
+
"publisher",
|
|
64
|
+
"author",
|
|
65
|
+
"contributors",
|
|
66
|
+
"type",
|
|
67
|
+
"description",
|
|
68
|
+
"keywords",
|
|
69
|
+
"homepage",
|
|
70
|
+
"repository",
|
|
71
|
+
"bugs",
|
|
72
|
+
"funding",
|
|
73
|
+
"categories",
|
|
74
|
+
"license",
|
|
75
|
+
"sideEffects",
|
|
76
|
+
"exports",
|
|
77
|
+
"bin",
|
|
78
|
+
"main",
|
|
79
|
+
"module",
|
|
80
|
+
"browser",
|
|
81
|
+
"unpkg",
|
|
82
|
+
"jsdelivr",
|
|
83
|
+
"types",
|
|
84
|
+
"typesVersions",
|
|
85
|
+
"icon",
|
|
86
|
+
"files",
|
|
87
|
+
"engines",
|
|
88
|
+
"extensionKind",
|
|
89
|
+
"activationEvents",
|
|
90
|
+
"contributes",
|
|
91
|
+
"eslintConfig",
|
|
92
|
+
"publishConfig",
|
|
93
|
+
"scripts",
|
|
94
|
+
"husky",
|
|
95
|
+
"simple-git-hooks",
|
|
96
|
+
"lint-staged",
|
|
97
|
+
"dependencies",
|
|
98
|
+
"devDependencies",
|
|
99
|
+
"optionalDependencies",
|
|
100
|
+
"peerDependencies",
|
|
101
|
+
"peerDependenciesMeta",
|
|
102
|
+
"pnpm",
|
|
103
|
+
"overrides",
|
|
104
|
+
"resolutions"
|
|
105
|
+
]
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
pathPattern: "^scripts$",
|
|
109
|
+
order: { type: "asc" }
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
pathPattern: "^exports.*$",
|
|
113
|
+
order: [
|
|
114
|
+
"types",
|
|
115
|
+
"require",
|
|
116
|
+
"import",
|
|
117
|
+
"default"
|
|
118
|
+
]
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
pathPattern: "^(?:dev|peer|optional|bundled)?[Dd]ependencies(Meta)?$",
|
|
122
|
+
order: { type: "asc" }
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
pathPattern: "^(?:resolutions|overrides|pnpm.overrides)$",
|
|
126
|
+
order: { type: "asc" }
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
pathPattern: "^workspaces\\.catalog$",
|
|
130
|
+
order: { type: "asc" }
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
pathPattern: "^workspaces\\.catalogs\\.[^.]+$",
|
|
134
|
+
order: { type: "asc" }
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
pathPattern: "^(?:gitHooks|husky|simple-git-hooks)$",
|
|
138
|
+
order: [
|
|
139
|
+
"pre-commit",
|
|
140
|
+
"prepare-commit-msg",
|
|
141
|
+
"commit-msg",
|
|
142
|
+
"post-commit",
|
|
143
|
+
"pre-rebase",
|
|
144
|
+
"post-rewrite",
|
|
145
|
+
"post-checkout",
|
|
146
|
+
"post-merge",
|
|
147
|
+
"pre-push",
|
|
148
|
+
"pre-auto-gc"
|
|
149
|
+
]
|
|
150
|
+
}
|
|
151
|
+
] }
|
|
152
|
+
}, {
|
|
153
|
+
name: "so1ve/formatting/rules/sort-tsconfig",
|
|
154
|
+
files: GLOB_TSCONFIG,
|
|
155
|
+
rules: {
|
|
156
|
+
"jsonc/sort-array-values": [
|
|
157
|
+
"error",
|
|
158
|
+
{
|
|
159
|
+
pathPattern: "^compilerOptions\\.types$",
|
|
160
|
+
order: { type: "asc" }
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
pathPattern: "^include$",
|
|
164
|
+
order: { type: "asc" }
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
pathPattern: "^exclude$",
|
|
168
|
+
order: { type: "asc" }
|
|
169
|
+
}
|
|
170
|
+
],
|
|
171
|
+
"jsonc/sort-keys": [
|
|
172
|
+
"error",
|
|
173
|
+
{
|
|
174
|
+
pathPattern: "^$",
|
|
175
|
+
order: [
|
|
176
|
+
"extends",
|
|
177
|
+
"compilerOptions",
|
|
178
|
+
"references",
|
|
179
|
+
"files",
|
|
180
|
+
"include",
|
|
181
|
+
"exclude"
|
|
182
|
+
]
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
pathPattern: "^compilerOptions$",
|
|
186
|
+
order: [
|
|
187
|
+
"incremental",
|
|
188
|
+
"composite",
|
|
189
|
+
"tsBuildInfoFile",
|
|
190
|
+
"disableSourceOfProjectReferenceRedirect",
|
|
191
|
+
"disableSolutionSearching",
|
|
192
|
+
"disableReferencedProjectLoad",
|
|
193
|
+
"target",
|
|
194
|
+
"jsx",
|
|
195
|
+
"jsxFactory",
|
|
196
|
+
"jsxFragmentFactory",
|
|
197
|
+
"jsxImportSource",
|
|
198
|
+
"lib",
|
|
199
|
+
"moduleDetection",
|
|
200
|
+
"noLib",
|
|
201
|
+
"reactNamespace",
|
|
202
|
+
"useDefineForClassFields",
|
|
203
|
+
"emitDecoratorMetadata",
|
|
204
|
+
"experimentalDecorators",
|
|
205
|
+
"baseUrl",
|
|
206
|
+
"rootDir",
|
|
207
|
+
"rootDirs",
|
|
208
|
+
"customConditions",
|
|
209
|
+
"module",
|
|
210
|
+
"moduleResolution",
|
|
211
|
+
"moduleSuffixes",
|
|
212
|
+
"noResolve",
|
|
213
|
+
"resolveJsonModule",
|
|
214
|
+
"resolvePackageJsonExports",
|
|
215
|
+
"resolvePackageJsonImports",
|
|
216
|
+
"typeRoots",
|
|
217
|
+
"types",
|
|
218
|
+
"allowArbitraryExtensions",
|
|
219
|
+
"allowImportingTsExtensions",
|
|
220
|
+
"allowUmdGlobalAccess",
|
|
221
|
+
"allowJs",
|
|
222
|
+
"checkJs",
|
|
223
|
+
"maxNodeModuleJsDepth",
|
|
224
|
+
"strict",
|
|
225
|
+
"strictBindCallApply",
|
|
226
|
+
"strictFunctionTypes",
|
|
227
|
+
"strictNullChecks",
|
|
228
|
+
"strictPropertyInitialization",
|
|
229
|
+
"allowUnreachableCode",
|
|
230
|
+
"allowUnusedLabels",
|
|
231
|
+
"alwaysStrict",
|
|
232
|
+
"erasableSyntaxOnly",
|
|
233
|
+
"exactOptionalPropertyTypes",
|
|
234
|
+
"noFallthroughCasesInSwitch",
|
|
235
|
+
"noImplicitAny",
|
|
236
|
+
"noImplicitOverride",
|
|
237
|
+
"noImplicitReturns",
|
|
238
|
+
"noImplicitThis",
|
|
239
|
+
"noPropertyAccessFromIndexSignature",
|
|
240
|
+
"noUncheckedIndexedAccess",
|
|
241
|
+
"noUnusedLocals",
|
|
242
|
+
"noUnusedParameters",
|
|
243
|
+
"useUnknownInCatchVariables",
|
|
244
|
+
"declaration",
|
|
245
|
+
"declarationDir",
|
|
246
|
+
"declarationMap",
|
|
247
|
+
"downlevelIteration",
|
|
248
|
+
"emitBOM",
|
|
249
|
+
"emitDeclarationOnly",
|
|
250
|
+
"importHelpers",
|
|
251
|
+
"importsNotUsedAsValues",
|
|
252
|
+
"inlineSourceMap",
|
|
253
|
+
"inlineSources",
|
|
254
|
+
"mapRoot",
|
|
255
|
+
"newLine",
|
|
256
|
+
"noEmit",
|
|
257
|
+
"noEmitHelpers",
|
|
258
|
+
"noEmitOnError",
|
|
259
|
+
"outDir",
|
|
260
|
+
"outFile",
|
|
261
|
+
"preserveConstEnums",
|
|
262
|
+
"preserveValueImports",
|
|
263
|
+
"removeComments",
|
|
264
|
+
"sourceMap",
|
|
265
|
+
"sourceRoot",
|
|
266
|
+
"stripInternal",
|
|
267
|
+
"allowSyntheticDefaultImports",
|
|
268
|
+
"esModuleInterop",
|
|
269
|
+
"forceConsistentCasingInFileNames",
|
|
270
|
+
"isolatedModules",
|
|
271
|
+
"preserveSymlinks",
|
|
272
|
+
"verbatimModuleSyntax",
|
|
273
|
+
"skipDefaultLibCheck",
|
|
274
|
+
"skipLibCheck",
|
|
275
|
+
"paths"
|
|
276
|
+
]
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
pathPattern: "^compilerOptions\\.paths$",
|
|
280
|
+
order: { type: "asc" }
|
|
281
|
+
}
|
|
282
|
+
]
|
|
283
|
+
}
|
|
284
|
+
}],
|
|
285
|
+
(options?.test ?? true) && {
|
|
286
|
+
name: "so1ve/formatting/rules/test",
|
|
287
|
+
files: GLOB_TESTS,
|
|
288
|
+
rules: { "jest-formatting/padding-around-all": "error" }
|
|
289
|
+
}
|
|
290
|
+
].flat().filter(Boolean);
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
//#endregion
|
|
294
|
+
export { formatting };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { GLOB_HTML } from "../globs.mjs";
|
|
2
|
+
import { interopDefault, renameRules } from "../utils.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/configs/html.ts
|
|
5
|
+
async function html() {
|
|
6
|
+
const [parserHtml, pluginHtml, pluginHtmlJsSupport] = await Promise.all([
|
|
7
|
+
interopDefault(import("@html-eslint/parser")),
|
|
8
|
+
interopDefault(import("@html-eslint/eslint-plugin")),
|
|
9
|
+
interopDefault(import("eslint-plugin-html"))
|
|
10
|
+
]);
|
|
11
|
+
return [{
|
|
12
|
+
name: "so1ve/html/setup",
|
|
13
|
+
plugins: {
|
|
14
|
+
"html": pluginHtml,
|
|
15
|
+
"html-js-support": pluginHtmlJsSupport
|
|
16
|
+
}
|
|
17
|
+
}, {
|
|
18
|
+
name: "so1ve/html/rules",
|
|
19
|
+
languageOptions: { parser: parserHtml },
|
|
20
|
+
settings: { "html/report-bad-indent": "off" },
|
|
21
|
+
files: [GLOB_HTML],
|
|
22
|
+
rules: {
|
|
23
|
+
...renameRules(pluginHtml.configs.recommended.rules, { "@html-eslint": "html" }),
|
|
24
|
+
"html/attrs-newline": "off",
|
|
25
|
+
"html/indent": "off",
|
|
26
|
+
"html/no-extra-spacing-attrs": "off",
|
|
27
|
+
"html/no-trailing-spaces": "off",
|
|
28
|
+
"html/quotes": "off",
|
|
29
|
+
"html/require-closing-tags": "off",
|
|
30
|
+
"so1ve/html-spaced-comment": "error",
|
|
31
|
+
"style/spaced-comment": "off"
|
|
32
|
+
}
|
|
33
|
+
}];
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
//#endregion
|
|
37
|
+
export { html };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { GLOB_EXCLUDE } from "../globs.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/configs/ignores.ts
|
|
4
|
+
function ignores(userIgnores = []) {
|
|
5
|
+
let ignores$1 = [...GLOB_EXCLUDE];
|
|
6
|
+
ignores$1 = typeof userIgnores === "function" ? userIgnores(ignores$1) : [...ignores$1, ...userIgnores];
|
|
7
|
+
return [{
|
|
8
|
+
name: "so1ve/ignores",
|
|
9
|
+
ignores: ignores$1
|
|
10
|
+
}];
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
export { ignores };
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { GLOB_DTS } from "../globs.mjs";
|
|
2
|
+
import { pluginImport, pluginImportLite } from "../plugins.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/configs/imports.ts
|
|
5
|
+
const imports = (options = {}) => [
|
|
6
|
+
{
|
|
7
|
+
name: "so1ve/imports/setup",
|
|
8
|
+
plugins: {
|
|
9
|
+
"import": pluginImport,
|
|
10
|
+
"import-lite": pluginImportLite
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
name: "so1ve/imports/rules",
|
|
15
|
+
languageOptions: { parserOptions: {
|
|
16
|
+
ecmaVersion: "latest",
|
|
17
|
+
sourceType: "module"
|
|
18
|
+
} },
|
|
19
|
+
settings: {
|
|
20
|
+
"import/parsers": {
|
|
21
|
+
"espree": [
|
|
22
|
+
".js",
|
|
23
|
+
".cjs",
|
|
24
|
+
".mjs",
|
|
25
|
+
".jsx"
|
|
26
|
+
],
|
|
27
|
+
"@typescript-eslint/parser": [
|
|
28
|
+
".ts",
|
|
29
|
+
".mts",
|
|
30
|
+
".cts",
|
|
31
|
+
".tsx",
|
|
32
|
+
".d.ts"
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
"import/resolver": { ...options.typescript ? {
|
|
36
|
+
node: { extensions: [
|
|
37
|
+
".js",
|
|
38
|
+
".jsx",
|
|
39
|
+
".mjs",
|
|
40
|
+
".ts",
|
|
41
|
+
".tsx",
|
|
42
|
+
".d.ts"
|
|
43
|
+
] },
|
|
44
|
+
typescript: { extensions: [
|
|
45
|
+
".js",
|
|
46
|
+
".jsx",
|
|
47
|
+
".mjs",
|
|
48
|
+
".ts",
|
|
49
|
+
".tsx",
|
|
50
|
+
".d.ts"
|
|
51
|
+
] }
|
|
52
|
+
} : { node: { extensions: [".js", ".mjs"] } } }
|
|
53
|
+
},
|
|
54
|
+
rules: {
|
|
55
|
+
"import-lite/no-duplicates": "error",
|
|
56
|
+
"import-lite/no-named-default": "error",
|
|
57
|
+
"import/default": "error",
|
|
58
|
+
"import/export": "error",
|
|
59
|
+
"import/first": "error",
|
|
60
|
+
"import/named": "error",
|
|
61
|
+
"import/namespace": "off",
|
|
62
|
+
"import/no-named-as-default": "error",
|
|
63
|
+
"import/no-useless-path-segments": ["error", { noUselessIndex: true }],
|
|
64
|
+
"import/no-webpack-loader-syntax": "error"
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
name: "so1ve/imports/rules/dts",
|
|
69
|
+
files: [GLOB_DTS],
|
|
70
|
+
rules: { "import/no-duplicates": "off" }
|
|
71
|
+
}
|
|
72
|
+
];
|
|
73
|
+
|
|
74
|
+
//#endregion
|
|
75
|
+
export { imports };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { astro } from "./astro.mjs";
|
|
2
|
+
import { command } from "./command.mjs";
|
|
3
|
+
import { comments } from "./comments.mjs";
|
|
4
|
+
import { deMorgan } from "./de-morgan.mjs";
|
|
5
|
+
import { formatting } from "./formatting.mjs";
|
|
6
|
+
import { html } from "./html.mjs";
|
|
7
|
+
import { ignores } from "./ignores.mjs";
|
|
8
|
+
import { imports } from "./imports.mjs";
|
|
9
|
+
import { javascript } from "./javascript.mjs";
|
|
10
|
+
import { jsonc } from "./jsonc.mjs";
|
|
11
|
+
import { mdx } from "./mdx.mjs";
|
|
12
|
+
import { node } from "./node.mjs";
|
|
13
|
+
import { onlyError } from "./only-error.mjs";
|
|
14
|
+
import { perfectionist } from "./perfectionist.mjs";
|
|
15
|
+
import { pnpm } from "./pnpm.mjs";
|
|
16
|
+
import { promise } from "./promise.mjs";
|
|
17
|
+
import { solid } from "./solid.mjs";
|
|
18
|
+
import { sortImports } from "./sort-imports.mjs";
|
|
19
|
+
import { test } from "./test.mjs";
|
|
20
|
+
import { toml } from "./toml.mjs";
|
|
21
|
+
import { typescript } from "./typescript.mjs";
|
|
22
|
+
import { unicorn } from "./unicorn.mjs";
|
|
23
|
+
import { vue } from "./vue.mjs";
|
|
24
|
+
import { yaml } from "./yaml.mjs";
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { astro } from "./astro.mjs";
|
|
2
|
+
import { command } from "./command.mjs";
|
|
3
|
+
import { comments } from "./comments.mjs";
|
|
4
|
+
import { deMorgan } from "./de-morgan.mjs";
|
|
5
|
+
import { formatting } from "./formatting.mjs";
|
|
6
|
+
import { html } from "./html.mjs";
|
|
7
|
+
import { ignores } from "./ignores.mjs";
|
|
8
|
+
import { imports } from "./imports.mjs";
|
|
9
|
+
import { javascript } from "./javascript.mjs";
|
|
10
|
+
import { jsonc } from "./jsonc.mjs";
|
|
11
|
+
import { mdx } from "./mdx.mjs";
|
|
12
|
+
import { node } from "./node.mjs";
|
|
13
|
+
import { onlyError } from "./only-error.mjs";
|
|
14
|
+
import { perfectionist } from "./perfectionist.mjs";
|
|
15
|
+
import { pnpm } from "./pnpm.mjs";
|
|
16
|
+
import { promise } from "./promise.mjs";
|
|
17
|
+
import { solid } from "./solid.mjs";
|
|
18
|
+
import { sortImports } from "./sort-imports.mjs";
|
|
19
|
+
import { test } from "./test.mjs";
|
|
20
|
+
import { toml } from "./toml.mjs";
|
|
21
|
+
import { typescript } from "./typescript.mjs";
|
|
22
|
+
import { unicorn } from "./unicorn.mjs";
|
|
23
|
+
import { vue } from "./vue.mjs";
|
|
24
|
+
import { yaml } from "./yaml.mjs";
|
|
25
|
+
|
|
26
|
+
export { };
|