ultracite 6.5.1 → 7.0.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/README.md +1 -1
- package/config/biome/angular/biome.jsonc +9 -0
- package/config/{astro → biome/astro}/biome.jsonc +1 -1
- package/config/{core → biome/core}/biome.jsonc +45 -44
- package/config/{next → biome/next}/biome.jsonc +1 -1
- package/config/{qwik → biome/qwik}/biome.jsonc +1 -1
- package/config/{react → biome/react}/biome.jsonc +1 -1
- package/config/{remix → biome/remix}/biome.jsonc +1 -1
- package/config/{solid → biome/solid}/biome.jsonc +1 -1
- package/config/{svelte → biome/svelte}/biome.jsonc +1 -1
- package/config/{vue → biome/vue}/biome.jsonc +1 -1
- package/config/eslint/angular/eslint.config.mjs +18 -0
- package/config/eslint/angular/rules/angular.mjs +17 -0
- package/config/eslint/astro/eslint.config.mjs +18 -0
- package/config/eslint/astro/rules/astro.mjs +17 -0
- package/config/eslint/core/eslint.config.mjs +168 -0
- package/config/eslint/core/rules/compat.mjs +5 -0
- package/config/eslint/core/rules/cypress.mjs +17 -0
- package/config/eslint/core/rules/eslint-typescript.mjs +43 -0
- package/config/eslint/core/rules/eslint.mjs +30 -0
- package/config/eslint/core/rules/github.mjs +19 -0
- package/config/eslint/core/rules/import.mjs +44 -0
- package/config/eslint/core/rules/jest.mjs +17 -0
- package/config/eslint/core/rules/n.mjs +24 -0
- package/config/eslint/core/rules/prettier.mjs +5 -0
- package/config/eslint/core/rules/promise.mjs +20 -0
- package/config/eslint/core/rules/sonarjs.mjs +19 -0
- package/config/eslint/core/rules/storybook.mjs +17 -0
- package/config/eslint/core/rules/tailwindcss.mjs +22 -0
- package/config/eslint/core/rules/typescript.mjs +62 -0
- package/config/eslint/core/rules/unicorn.mjs +34 -0
- package/config/eslint/core/rules/unused-imports.mjs +17 -0
- package/config/eslint/next/eslint.config.mjs +18 -0
- package/config/eslint/next/rules/next.mjs +17 -0
- package/config/eslint/qwik/eslint.config.mjs +18 -0
- package/config/eslint/qwik/rules/qwik.mjs +17 -0
- package/config/eslint/react/eslint.config.mjs +43 -0
- package/config/eslint/react/rules/jsx-a11y.mjs +27 -0
- package/config/eslint/react/rules/query.mjs +15 -0
- package/config/eslint/react/rules/react-hooks.mjs +17 -0
- package/config/eslint/react/rules/react.mjs +46 -0
- package/config/eslint/remix/eslint.config.mjs +18 -0
- package/config/eslint/remix/rules/remix.mjs +17 -0
- package/config/eslint/solid/eslint.config.mjs +18 -0
- package/config/eslint/solid/rules/solid.mjs +17 -0
- package/config/eslint/svelte/eslint.config.mjs +18 -0
- package/config/eslint/svelte/rules/svelte.mjs +17 -0
- package/config/eslint/vue/eslint.config.mjs +18 -0
- package/config/eslint/vue/rules/vue.mjs +17 -0
- package/config/oxlint/angular/.oxlintrc.json +4 -0
- package/config/oxlint/astro/.oxlintrc.json +4 -0
- package/config/oxlint/core/.oxlintrc.json +92 -0
- package/config/oxlint/next/.oxlintrc.json +13 -0
- package/config/oxlint/qwik/.oxlintrc.json +4 -0
- package/config/oxlint/react/.oxlintrc.json +18 -0
- package/config/oxlint/remix/.oxlintrc.json +4 -0
- package/config/oxlint/solid/.oxlintrc.json +4 -0
- package/config/oxlint/svelte/.oxlintrc.json +4 -0
- package/config/oxlint/vue/.oxlintrc.json +5 -0
- package/config/prettier/prettier.config.mjs +14 -0
- package/config/stylelint/stylelint.config.mjs +38 -0
- package/dist/index.d.ts +6 -15
- package/dist/index.js +43 -174
- package/package.json +51 -10
- package/config/angular/biome.jsonc +0 -9
package/README.md
CHANGED
|
@@ -35,7 +35,7 @@ Enforces strict type checking and best practices by default, catching type error
|
|
|
35
35
|
Unified toolchain configuration across all packages and apps, eliminating thousands of lines of duplicate config files while maintaining consistency.
|
|
36
36
|
|
|
37
37
|
### 🤖 **AI-Friendly**
|
|
38
|
-
Ensures consistent code style and quality across all team members and AI models, eliminating debates over formatting and reducing code review friction. Supports
|
|
38
|
+
Ensures consistent code style and quality across all team members and AI models, eliminating debates over formatting and reducing code review friction. Supports Copilot, Cursor, Windsurf, Zed, Claude Code, and Codex.
|
|
39
39
|
|
|
40
40
|
### 🔧 **Intuitive and Robust**
|
|
41
41
|
Automatically reformats code and fixes lint issues on save, with clear error reporting for issues that need manual attention.
|
|
@@ -1,49 +1,49 @@
|
|
|
1
1
|
{
|
|
2
2
|
"root": false,
|
|
3
|
-
"$schema": "
|
|
3
|
+
"$schema": "../../../node_modules/@biomejs/biome/configuration_schema.json",
|
|
4
4
|
"files": {
|
|
5
5
|
"ignoreUnknown": true,
|
|
6
6
|
"includes": [
|
|
7
7
|
"**",
|
|
8
|
-
"!!**/_generated
|
|
8
|
+
"!!**/_generated",
|
|
9
9
|
"!!**/*.gen.*",
|
|
10
|
-
"!!**/.next
|
|
10
|
+
"!!**/.next",
|
|
11
11
|
"!!**/next-env.d.ts",
|
|
12
|
-
"!!**/.nuxt
|
|
13
|
-
"!!**/.output
|
|
14
|
-
"!!**/.svelte-kit
|
|
15
|
-
"!!**/.vitepress/cache
|
|
16
|
-
"!!**/.vitepress/dist
|
|
17
|
-
"!!**/dist
|
|
18
|
-
"!!**/build
|
|
19
|
-
"!!**/out
|
|
20
|
-
"!!**/.turbo
|
|
21
|
-
"!!**/.vercel
|
|
22
|
-
"!!**/.netlify
|
|
23
|
-
"!!**/storybook-static
|
|
24
|
-
"!!**/.docusaurus
|
|
25
|
-
"!!**/.cache
|
|
26
|
-
"!!**/public/build
|
|
27
|
-
"!!**/.parcel-cache
|
|
28
|
-
"!!**/.vite
|
|
29
|
-
"!!**/.astro
|
|
30
|
-
"!!**/_astro
|
|
31
|
-
"!!**/coverage
|
|
32
|
-
"!!**/.nyc_output
|
|
12
|
+
"!!**/.nuxt",
|
|
13
|
+
"!!**/.output",
|
|
14
|
+
"!!**/.svelte-kit",
|
|
15
|
+
"!!**/.vitepress/cache",
|
|
16
|
+
"!!**/.vitepress/dist",
|
|
17
|
+
"!!**/dist",
|
|
18
|
+
"!!**/build",
|
|
19
|
+
"!!**/out",
|
|
20
|
+
"!!**/.turbo",
|
|
21
|
+
"!!**/.vercel",
|
|
22
|
+
"!!**/.netlify",
|
|
23
|
+
"!!**/storybook-static",
|
|
24
|
+
"!!**/.docusaurus",
|
|
25
|
+
"!!**/.cache",
|
|
26
|
+
"!!**/public/build",
|
|
27
|
+
"!!**/.parcel-cache",
|
|
28
|
+
"!!**/.vite",
|
|
29
|
+
"!!**/.astro",
|
|
30
|
+
"!!**/_astro",
|
|
31
|
+
"!!**/coverage",
|
|
32
|
+
"!!**/.nyc_output",
|
|
33
33
|
"!!**/*.generated.*",
|
|
34
34
|
"!!**/*.auto.*",
|
|
35
|
-
"!!**/generated
|
|
36
|
-
"!!**/auto-generated
|
|
37
|
-
"!!**/codegen
|
|
38
|
-
"!!**/__generated__
|
|
35
|
+
"!!**/generated",
|
|
36
|
+
"!!**/auto-generated",
|
|
37
|
+
"!!**/codegen",
|
|
38
|
+
"!!**/__generated__",
|
|
39
39
|
"!!**/graphql-types.*",
|
|
40
40
|
"!!**/schema.d.ts",
|
|
41
41
|
"!!**/schema.graphql.d.ts",
|
|
42
42
|
"!!**/*.d.ts.map",
|
|
43
|
-
"!!**/.expo
|
|
44
|
-
"!!**/.expo-shared
|
|
45
|
-
"!!**/android/build
|
|
46
|
-
"!!**/ios/build
|
|
43
|
+
"!!**/.expo",
|
|
44
|
+
"!!**/.expo-shared",
|
|
45
|
+
"!!**/android/build",
|
|
46
|
+
"!!**/ios/build",
|
|
47
47
|
"!!**/DerivedData/**/*"
|
|
48
48
|
]
|
|
49
49
|
},
|
|
@@ -124,7 +124,12 @@
|
|
|
124
124
|
"noBannedTypes": "error",
|
|
125
125
|
"noCommaOperator": "error",
|
|
126
126
|
"noEmptyTypeParameters": "error",
|
|
127
|
-
"noExcessiveCognitiveComplexity":
|
|
127
|
+
"noExcessiveCognitiveComplexity": {
|
|
128
|
+
"level": "error",
|
|
129
|
+
"options": {
|
|
130
|
+
"maxAllowedComplexity": 20
|
|
131
|
+
}
|
|
132
|
+
},
|
|
128
133
|
"noExcessiveNestedTestSuites": "error",
|
|
129
134
|
"noExtraBooleanCast": "error",
|
|
130
135
|
"noFlatMapIdentity": "error",
|
|
@@ -555,7 +560,7 @@
|
|
|
555
560
|
},
|
|
556
561
|
{
|
|
557
562
|
// Scripts and CLI tools
|
|
558
|
-
"includes": ["**/scripts
|
|
563
|
+
"includes": ["**/scripts", "**/bin", "*.mjs", "*.cjs"],
|
|
559
564
|
"linter": {
|
|
560
565
|
"rules": {
|
|
561
566
|
"suspicious": {
|
|
@@ -594,18 +599,14 @@
|
|
|
594
599
|
{
|
|
595
600
|
// Files that should not be processed (build output, generated files, non-JS files)
|
|
596
601
|
"includes": [
|
|
597
|
-
"**/dist
|
|
598
|
-
"**/build
|
|
599
|
-
"**/.next
|
|
600
|
-
"**/.nuxt
|
|
601
|
-
"**/out
|
|
602
|
-
"**/coverage
|
|
602
|
+
"**/dist",
|
|
603
|
+
"**/build",
|
|
604
|
+
"**/.next",
|
|
605
|
+
"**/.nuxt",
|
|
606
|
+
"**/out",
|
|
607
|
+
"**/coverage",
|
|
603
608
|
"**/*.min.js",
|
|
604
609
|
"**/*.min.css",
|
|
605
|
-
"**/*.md",
|
|
606
|
-
"**/*.mdx",
|
|
607
|
-
"**/*.graphql",
|
|
608
|
-
"**/*.gql",
|
|
609
610
|
"**/worker-configuration.d.ts",
|
|
610
611
|
".env",
|
|
611
612
|
".env.*"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"root": false,
|
|
3
|
-
"$schema": "
|
|
3
|
+
"$schema": "../../../node_modules/@biomejs/biome/configuration_schema.json",
|
|
4
4
|
"overrides": [
|
|
5
5
|
{
|
|
6
6
|
"includes": ["**/routes/**/*.{tsx,ts}", "**/app/routes/**/*.{tsx,ts}"],
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/* eslint-disable n/no-unpublished-import, n/no-extraneous-import, import/no-extraneous-dependencies, id-length */
|
|
2
|
+
|
|
3
|
+
import angular from "@angular-eslint/eslint-plugin";
|
|
4
|
+
import angularRules from "./rules/angular.mjs";
|
|
5
|
+
|
|
6
|
+
const config = [
|
|
7
|
+
{
|
|
8
|
+
files: ["**/*.ts"],
|
|
9
|
+
plugins: {
|
|
10
|
+
"@angular-eslint": angular,
|
|
11
|
+
},
|
|
12
|
+
rules: {
|
|
13
|
+
...angularRules,
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
];
|
|
17
|
+
|
|
18
|
+
export default config;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import plugin from "@angular-eslint/eslint-plugin";
|
|
2
|
+
|
|
3
|
+
const { rules } = plugin;
|
|
4
|
+
|
|
5
|
+
const availableKeys = Object.keys(rules).filter(
|
|
6
|
+
(key) => !rules[key].meta.deprecated
|
|
7
|
+
);
|
|
8
|
+
|
|
9
|
+
const baseRules = Object.fromEntries(
|
|
10
|
+
availableKeys.map((key) => [`@angular-eslint/${key}`, "error"])
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
const overrideRules = {};
|
|
14
|
+
|
|
15
|
+
const config = Object.assign(baseRules, overrideRules);
|
|
16
|
+
|
|
17
|
+
export default config;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/* eslint-disable n/no-unpublished-import, n/no-extraneous-import, import/no-extraneous-dependencies, id-length */
|
|
2
|
+
|
|
3
|
+
import astro from "eslint-plugin-astro";
|
|
4
|
+
import astroRules from "./rules/astro.mjs";
|
|
5
|
+
|
|
6
|
+
const config = [
|
|
7
|
+
{
|
|
8
|
+
files: ["**/*.astro"],
|
|
9
|
+
plugins: {
|
|
10
|
+
astro,
|
|
11
|
+
},
|
|
12
|
+
rules: {
|
|
13
|
+
...astroRules,
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
];
|
|
17
|
+
|
|
18
|
+
export default config;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import plugin from "eslint-plugin-astro";
|
|
2
|
+
|
|
3
|
+
const { rules } = plugin;
|
|
4
|
+
|
|
5
|
+
const availableKeys = Object.keys(rules).filter(
|
|
6
|
+
(key) => !rules[key].meta.deprecated
|
|
7
|
+
);
|
|
8
|
+
|
|
9
|
+
const baseRules = Object.fromEntries(
|
|
10
|
+
availableKeys.map((key) => [`astro/${key}`, "error"])
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
const overrideRules = {};
|
|
14
|
+
|
|
15
|
+
const config = Object.assign(baseRules, overrideRules);
|
|
16
|
+
|
|
17
|
+
export default config;
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import typescript from "@typescript-eslint/eslint-plugin";
|
|
2
|
+
// biome-ignore lint/performance/noNamespaceImport: Required for ESLint parser compatibility
|
|
3
|
+
import * as typescriptParser from "@typescript-eslint/parser";
|
|
4
|
+
import eslintPrettier from "eslint-config-prettier";
|
|
5
|
+
// biome-ignore lint/performance/noNamespaceImport: Required for ESLint plugin compatibility
|
|
6
|
+
import * as importTypescriptResolver from "eslint-import-resolver-typescript";
|
|
7
|
+
import compat from "eslint-plugin-compat";
|
|
8
|
+
import cypress from "eslint-plugin-cypress";
|
|
9
|
+
import github from "eslint-plugin-github";
|
|
10
|
+
import html from "eslint-plugin-html";
|
|
11
|
+
// biome-ignore lint/performance/noNamespaceImport: Required for ESLint plugin compatibility
|
|
12
|
+
import * as importPlugin from "eslint-plugin-import";
|
|
13
|
+
import jest from "eslint-plugin-jest";
|
|
14
|
+
import n from "eslint-plugin-n";
|
|
15
|
+
import prettier from "eslint-plugin-prettier";
|
|
16
|
+
import promise from "eslint-plugin-promise";
|
|
17
|
+
import sonarjs from "eslint-plugin-sonarjs";
|
|
18
|
+
import storybook from "eslint-plugin-storybook";
|
|
19
|
+
import tailwindcss from "eslint-plugin-tailwindcss";
|
|
20
|
+
import unicorn from "eslint-plugin-unicorn";
|
|
21
|
+
import unusedImports from "eslint-plugin-unused-imports";
|
|
22
|
+
import globals from "globals";
|
|
23
|
+
import compatRules from "./rules/compat.mjs";
|
|
24
|
+
import cypressRules from "./rules/cypress.mjs";
|
|
25
|
+
import eslintRules from "./rules/eslint.mjs";
|
|
26
|
+
import eslintTypescriptRules from "./rules/eslint-typescript.mjs";
|
|
27
|
+
import githubRules from "./rules/github.mjs";
|
|
28
|
+
import importRules from "./rules/import.mjs";
|
|
29
|
+
import jestRules from "./rules/jest.mjs";
|
|
30
|
+
import nRules from "./rules/n.mjs";
|
|
31
|
+
import prettierRules from "./rules/prettier.mjs";
|
|
32
|
+
import promiseRules from "./rules/promise.mjs";
|
|
33
|
+
import sonarjsRules from "./rules/sonarjs.mjs";
|
|
34
|
+
import storybookRules from "./rules/storybook.mjs";
|
|
35
|
+
import tailwindcssRules from "./rules/tailwindcss.mjs";
|
|
36
|
+
import typescriptRules from "./rules/typescript.mjs";
|
|
37
|
+
import unicornRules from "./rules/unicorn.mjs";
|
|
38
|
+
import unusedImportsRules from "./rules/unused-imports.mjs";
|
|
39
|
+
|
|
40
|
+
const config = [
|
|
41
|
+
importPlugin.configs.typescript,
|
|
42
|
+
{
|
|
43
|
+
ignores: ["**/dist/", "**/build/", "**/.next/", "**/.turbo/"],
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
languageOptions: {
|
|
47
|
+
sourceType: "module",
|
|
48
|
+
globals: {
|
|
49
|
+
...globals.browser,
|
|
50
|
+
...globals.node,
|
|
51
|
+
},
|
|
52
|
+
parserOptions: {
|
|
53
|
+
ecmaVersion: "latest",
|
|
54
|
+
sourceType: "module",
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
files: [
|
|
58
|
+
"**/*.js",
|
|
59
|
+
"**/*.ts",
|
|
60
|
+
"**/*.json",
|
|
61
|
+
"**/*.mjs",
|
|
62
|
+
"**/*.cjs",
|
|
63
|
+
"**/*.html",
|
|
64
|
+
],
|
|
65
|
+
plugins: {
|
|
66
|
+
prettier,
|
|
67
|
+
import: importPlugin,
|
|
68
|
+
promise,
|
|
69
|
+
n,
|
|
70
|
+
"unused-imports": unusedImports,
|
|
71
|
+
tailwindcss,
|
|
72
|
+
sonarjs,
|
|
73
|
+
compat,
|
|
74
|
+
unicorn,
|
|
75
|
+
github,
|
|
76
|
+
},
|
|
77
|
+
rules: {
|
|
78
|
+
...eslintRules,
|
|
79
|
+
...importRules,
|
|
80
|
+
...promiseRules,
|
|
81
|
+
...nRules,
|
|
82
|
+
...prettierRules,
|
|
83
|
+
...eslintPrettier.rules,
|
|
84
|
+
...unusedImportsRules,
|
|
85
|
+
...tailwindcssRules,
|
|
86
|
+
...sonarjsRules,
|
|
87
|
+
...compatRules,
|
|
88
|
+
...unicornRules,
|
|
89
|
+
...githubRules,
|
|
90
|
+
},
|
|
91
|
+
|
|
92
|
+
settings: {
|
|
93
|
+
// https://github.com/import-js/eslint-plugin-import/issues/2556#issuecomment-1419518561
|
|
94
|
+
"import/parsers": {
|
|
95
|
+
espree: [".js", ".cjs", ".mjs", ".ts"],
|
|
96
|
+
},
|
|
97
|
+
"import/resolver": {
|
|
98
|
+
typescript: true,
|
|
99
|
+
node: true,
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
files: ["**/*.ts"],
|
|
105
|
+
languageOptions: {
|
|
106
|
+
parser: typescriptParser,
|
|
107
|
+
parserOptions: {
|
|
108
|
+
project: "./tsconfig.json",
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
plugins: {
|
|
112
|
+
"@typescript-eslint": typescript,
|
|
113
|
+
"import/typescript": importTypescriptResolver,
|
|
114
|
+
},
|
|
115
|
+
rules: {
|
|
116
|
+
...eslintTypescriptRules,
|
|
117
|
+
...typescriptRules,
|
|
118
|
+
},
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
files: ["**/*.test.js", "tests/**/*.js"],
|
|
122
|
+
languageOptions: {
|
|
123
|
+
globals: {
|
|
124
|
+
...globals.jest,
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
plugins: {
|
|
128
|
+
jest,
|
|
129
|
+
},
|
|
130
|
+
rules: {
|
|
131
|
+
...jestRules,
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
files: ["**/*.cy.js"],
|
|
136
|
+
languageOptions: {
|
|
137
|
+
globals: {
|
|
138
|
+
...globals.cypress,
|
|
139
|
+
},
|
|
140
|
+
},
|
|
141
|
+
plugins: {
|
|
142
|
+
cypress,
|
|
143
|
+
},
|
|
144
|
+
rules: {
|
|
145
|
+
...cypressRules,
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
files: ["**/*.stories.js", "**/*.stories.ts"],
|
|
150
|
+
plugins: {
|
|
151
|
+
storybook,
|
|
152
|
+
},
|
|
153
|
+
rules: {
|
|
154
|
+
...storybookRules,
|
|
155
|
+
},
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
files: ["**/*.html"],
|
|
159
|
+
plugins: {
|
|
160
|
+
html,
|
|
161
|
+
},
|
|
162
|
+
settings: {
|
|
163
|
+
"html/javascript-tag-names": ["script", "Script"],
|
|
164
|
+
},
|
|
165
|
+
},
|
|
166
|
+
];
|
|
167
|
+
|
|
168
|
+
export default config;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import plugin from "eslint-plugin-cypress";
|
|
2
|
+
|
|
3
|
+
const { rules } = plugin;
|
|
4
|
+
|
|
5
|
+
const availableKeys = Object.keys(rules).filter(
|
|
6
|
+
(key) => !rules[key].meta.deprecated
|
|
7
|
+
);
|
|
8
|
+
|
|
9
|
+
const baseRules = Object.fromEntries(
|
|
10
|
+
availableKeys.map((key) => [`cypress/${key}`, "error"])
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
const overrideRules = {};
|
|
14
|
+
|
|
15
|
+
const config = Object.assign(baseRules, overrideRules);
|
|
16
|
+
|
|
17
|
+
export default config;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
const config = {
|
|
2
|
+
// ESLint Disabled for Typescript-ESLint
|
|
3
|
+
"brace-style": "off",
|
|
4
|
+
camelcase: "off",
|
|
5
|
+
"comma-dangle": "off",
|
|
6
|
+
"comma-spacing": "off",
|
|
7
|
+
"default-param-last": "off",
|
|
8
|
+
"dot-notation": "off",
|
|
9
|
+
"func-call-spacing": "off",
|
|
10
|
+
indent: "off",
|
|
11
|
+
"init-declarations": "off",
|
|
12
|
+
"keyword-spacing": "off",
|
|
13
|
+
"lines-between-class-members": "off",
|
|
14
|
+
"no-array-constructor": "off",
|
|
15
|
+
"no-dupe-class-members": "off",
|
|
16
|
+
"no-duplicate-imports": "off",
|
|
17
|
+
"no-empty-function": "off",
|
|
18
|
+
"no-extra-parens": "off",
|
|
19
|
+
"no-extra-semi": "off",
|
|
20
|
+
"no-implied-eval": "off",
|
|
21
|
+
"no-invalid-this": "off",
|
|
22
|
+
"no-loop-func": "off",
|
|
23
|
+
"no-loss-of-precision": "off",
|
|
24
|
+
"no-magic-numbers": "off",
|
|
25
|
+
"no-redeclare": "off",
|
|
26
|
+
"no-restricted-imports": "off",
|
|
27
|
+
"no-shadow": "off",
|
|
28
|
+
"no-throw-literal": "off",
|
|
29
|
+
"no-unused-expressions": "off",
|
|
30
|
+
"no-unused-vars": "off",
|
|
31
|
+
"no-use-before-define": "off",
|
|
32
|
+
"no-useless-constructor": "off",
|
|
33
|
+
"object-curly-spacing": "off",
|
|
34
|
+
"padding-line-between-statements": "off",
|
|
35
|
+
quotes: "off",
|
|
36
|
+
"require-await": "off",
|
|
37
|
+
"no-return-await": "off",
|
|
38
|
+
semi: "off",
|
|
39
|
+
"space-before-function-paren": "off",
|
|
40
|
+
"space-infix-ops": "off",
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export default config;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import plugin from "@eslint/js";
|
|
2
|
+
|
|
3
|
+
const overrideRules = {
|
|
4
|
+
"no-unused-private-class-members": "off",
|
|
5
|
+
"capitalized-comments": "off",
|
|
6
|
+
complexity: "off",
|
|
7
|
+
"id-length": ["error", { exceptions: ["x", "y", "z"] }],
|
|
8
|
+
"max-lines": "off",
|
|
9
|
+
"max-lines-per-function": "off",
|
|
10
|
+
"max-params": "off",
|
|
11
|
+
"max-statements": "off",
|
|
12
|
+
"no-ternary": "off",
|
|
13
|
+
"no-undefined": "off",
|
|
14
|
+
"one-var": "off",
|
|
15
|
+
"prefer-destructuring": [
|
|
16
|
+
"error",
|
|
17
|
+
{
|
|
18
|
+
array: false,
|
|
19
|
+
object: true,
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
// https://github.com/eslint/eslint/issues/11542
|
|
23
|
+
"sort-imports": "off",
|
|
24
|
+
"sort-keys": "off",
|
|
25
|
+
"sort-vars": "off",
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const config = Object.assign(plugin.configs.all.rules, overrideRules);
|
|
29
|
+
|
|
30
|
+
export default config;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import plugin from "eslint-plugin-github";
|
|
2
|
+
|
|
3
|
+
const { rules } = plugin;
|
|
4
|
+
|
|
5
|
+
const availableKeys = Object.keys(rules).filter(
|
|
6
|
+
(key) => !rules[key].meta.deprecated
|
|
7
|
+
);
|
|
8
|
+
|
|
9
|
+
const baseRules = Object.fromEntries(
|
|
10
|
+
availableKeys.map((key) => [`github/${key}`, "error"])
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
const overrideRules = {
|
|
14
|
+
"github/unescaped-html-literal": "off",
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const config = Object.assign(baseRules, overrideRules);
|
|
18
|
+
|
|
19
|
+
export default config;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { rules } from "eslint-plugin-import";
|
|
2
|
+
|
|
3
|
+
const availableKeys = Object.keys(rules).filter(
|
|
4
|
+
(key) => !rules[key].meta.deprecated
|
|
5
|
+
);
|
|
6
|
+
|
|
7
|
+
const baseRules = Object.fromEntries(
|
|
8
|
+
availableKeys.map((key) => [`import/${key}`, "error"])
|
|
9
|
+
);
|
|
10
|
+
|
|
11
|
+
const overrideRules = {
|
|
12
|
+
"import/no-unresolved": "off",
|
|
13
|
+
"import/no-internal-modules": "off",
|
|
14
|
+
"import/no-relative-parent-imports": "off",
|
|
15
|
+
"import/no-named-as-default": "off",
|
|
16
|
+
"import/exports-last": "off",
|
|
17
|
+
"import/no-namespace": "off",
|
|
18
|
+
"import/extensions": "off",
|
|
19
|
+
"import/order": [
|
|
20
|
+
"error",
|
|
21
|
+
{
|
|
22
|
+
groups: [
|
|
23
|
+
"builtin",
|
|
24
|
+
"external",
|
|
25
|
+
"internal",
|
|
26
|
+
"parent",
|
|
27
|
+
"sibling",
|
|
28
|
+
"index",
|
|
29
|
+
"object",
|
|
30
|
+
"type",
|
|
31
|
+
],
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
"import/prefer-default-export": "off",
|
|
35
|
+
"import/max-dependencies": "off",
|
|
36
|
+
"import/no-unassigned-import": "off",
|
|
37
|
+
"import/no-default-export": "off",
|
|
38
|
+
"import/no-named-export": "off",
|
|
39
|
+
"import/group-exports": "off",
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
const config = Object.assign(baseRules, overrideRules);
|
|
43
|
+
|
|
44
|
+
export default config;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import plugin from "eslint-plugin-jest";
|
|
2
|
+
|
|
3
|
+
const { rules } = plugin;
|
|
4
|
+
|
|
5
|
+
const availableKeys = Object.keys(rules).filter(
|
|
6
|
+
(key) => !rules[key].meta.deprecated
|
|
7
|
+
);
|
|
8
|
+
|
|
9
|
+
const baseRules = Object.fromEntries(
|
|
10
|
+
availableKeys.map((key) => [`jest/${key}`, "error"])
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
const overrideRules = {};
|
|
14
|
+
|
|
15
|
+
const config = Object.assign(baseRules, overrideRules);
|
|
16
|
+
|
|
17
|
+
export default config;
|