@naturalcycles/dev-lib 20.31.2 → 20.33.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/cfg/eslint-rules.js +1 -1
- package/cfg/eslint.config.js +1 -2
- package/cfg/lint-staged.config.js +4 -13
- package/cfg/oxlint.config.json +8 -0
- package/dist/bin/dev-lib.js +11 -23
- package/dist/check.util.d.ts +0 -4
- package/dist/check.util.js +2 -21
- package/package.json +1 -4
- package/cfg/biome.jsonc +0 -138
- package/cfg/eslint-biome-rules.js +0 -179
package/cfg/eslint-rules.js
CHANGED
|
@@ -33,7 +33,7 @@ export default {
|
|
|
33
33
|
},
|
|
34
34
|
],
|
|
35
35
|
'@typescript-eslint/consistent-type-imports': 0, // ox
|
|
36
|
-
'@typescript-eslint/consistent-type-exports':
|
|
36
|
+
'@typescript-eslint/consistent-type-exports': 0, // ox
|
|
37
37
|
'@typescript-eslint/consistent-type-assertions': 2,
|
|
38
38
|
'@typescript-eslint/consistent-type-definitions': [0, 'interface'], // ox
|
|
39
39
|
'@typescript-eslint/consistent-generic-constructors': [0, 'constructor'], // ox
|
package/cfg/eslint.config.js
CHANGED
|
@@ -8,7 +8,6 @@ import eslint from '@eslint/js'
|
|
|
8
8
|
import eslintPluginOxlint from 'eslint-plugin-oxlint'
|
|
9
9
|
import globals from 'globals'
|
|
10
10
|
import tseslint from 'typescript-eslint'
|
|
11
|
-
import eslintBiomeRules from './eslint-biome-rules.js'
|
|
12
11
|
import eslintPrettierRules from './eslint-prettier-rules.js'
|
|
13
12
|
import eslintRules from './eslint-rules.js'
|
|
14
13
|
|
|
@@ -122,7 +121,7 @@ function getConfig(_tsconfigPath) {
|
|
|
122
121
|
...eslintRules.rules,
|
|
123
122
|
// ...eslintVueRules.rules,
|
|
124
123
|
...eslintPrettierRules.rules, // disable eslint rules already covered by prettier
|
|
125
|
-
...eslintBiomeRules.rules, // disable eslint rules already covered by biome
|
|
124
|
+
// ...eslintBiomeRules.rules, // disable eslint rules already covered by biome
|
|
126
125
|
...eslintPluginOxlint.configs['flat/all'][0].rules, // disable eslint rules already covered by oxlint
|
|
127
126
|
// rules that are disabled, but shouldn't yet be disabled
|
|
128
127
|
'@typescript-eslint/return-await': [2, 'always'],
|
|
@@ -70,13 +70,10 @@ const stylelintExists =
|
|
|
70
70
|
fs.existsSync('node_modules/stylelint-config-standard-scss')
|
|
71
71
|
const stylelintCmd = stylelintExists ? `stylelint --fix --config ${stylelintConfigPath}` : undefined
|
|
72
72
|
|
|
73
|
-
const biomeConfigPath = ['biome.jsonc'].find(p => fs.existsSync(p))
|
|
74
|
-
const biomeCmd = biomeConfigPath && `biome lint --write --unsafe --no-errors-on-unmatched`
|
|
75
|
-
|
|
76
73
|
const linters = {
|
|
77
|
-
//
|
|
74
|
+
// oxlint, eslint, stylelint, oxfmt
|
|
78
75
|
[`./{src,scripts,e2e}/**/*.{${prettierExtensionsAll}}`]: match =>
|
|
79
|
-
|
|
76
|
+
runOxlintEslintStylelintOxfmt(match),
|
|
80
77
|
|
|
81
78
|
// Files in root dir: oxfmt
|
|
82
79
|
[`./*.{${prettierExtensionsAll}}`]: runOxfmt,
|
|
@@ -87,21 +84,15 @@ const linters = {
|
|
|
87
84
|
'./.github/**/*.{yml,yaml}': runActionlintOxfmt,
|
|
88
85
|
}
|
|
89
86
|
|
|
90
|
-
export function
|
|
87
|
+
export function runOxlintEslintStylelintOxfmt(match) {
|
|
91
88
|
const filesList = getFilesList(match)
|
|
92
89
|
if (!filesList) return []
|
|
93
90
|
|
|
94
|
-
return [
|
|
91
|
+
return [oxlintCmd, eslintCmd, stylelintCmd, oxfmtCmd]
|
|
95
92
|
.filter(Boolean)
|
|
96
93
|
.map(s => `${s} ${filesList}`)
|
|
97
94
|
}
|
|
98
95
|
|
|
99
|
-
export function runBiomeOxlintOxfmt(match) {
|
|
100
|
-
const filesList = getFilesList(match)
|
|
101
|
-
if (!filesList) return []
|
|
102
|
-
return [biomeCmd, oxlintCmd, oxfmtCmd].filter(Boolean).map(s => `${s} ${filesList}`)
|
|
103
|
-
}
|
|
104
|
-
|
|
105
96
|
export function runOxlintOxfmt(match) {
|
|
106
97
|
const filesList = getFilesList(match)
|
|
107
98
|
if (!filesList) return []
|
package/cfg/oxlint.config.json
CHANGED
|
@@ -13,6 +13,14 @@
|
|
|
13
13
|
],
|
|
14
14
|
"jsPlugins": ["./oxlint-plugin-stylistic.mjs"],
|
|
15
15
|
"rules": {
|
|
16
|
+
"no-unused-vars": [
|
|
17
|
+
"error",
|
|
18
|
+
{
|
|
19
|
+
"varsIgnorePattern": "^(_$|__)",
|
|
20
|
+
"argsIgnorePattern": "^_",
|
|
21
|
+
"destructuredArrayIgnorePattern": "^_"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
16
24
|
"@stylistic/padding-line-between-statements": [
|
|
17
25
|
2,
|
|
18
26
|
{ "blankLine": "always", "prev": "function", "next": "*" },
|
package/dist/bin/dev-lib.js
CHANGED
|
@@ -3,7 +3,7 @@ import { _by } from '@naturalcycles/js-lib/array/array.util.js';
|
|
|
3
3
|
import { _assert } from '@naturalcycles/js-lib/error/assert.js';
|
|
4
4
|
import { fs2 } from '@naturalcycles/nodejs-lib/fs2';
|
|
5
5
|
import { runScript } from '@naturalcycles/nodejs-lib/runScript';
|
|
6
|
-
import { buildCopy, buildProd, eslintAll, lintStagedCommand,
|
|
6
|
+
import { buildCopy, buildProd, eslintAll, lintStagedCommand, runCheck, runOxfmt, runOxlint, runTest, stylelintAll, typecheckWithTS, typecheckWithTSC, typecheckWithTSGO, } from '../check.util.js';
|
|
7
7
|
import { runCommitlint } from '../commitlint.js';
|
|
8
8
|
const commands = [
|
|
9
9
|
{ name: 'check', fn: runCheck, desc: '"Run all possible checks": lint, typecheck, then test.' },
|
|
@@ -59,11 +59,11 @@ const commands = [
|
|
|
59
59
|
fn: () => runTest({ manual: true }),
|
|
60
60
|
desc: 'Run vitest for *.manual.test.ts files.',
|
|
61
61
|
},
|
|
62
|
-
{
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
},
|
|
62
|
+
// {
|
|
63
|
+
// name: 'test-leaks',
|
|
64
|
+
// fn: () => runTest({ leaks: true }),
|
|
65
|
+
// desc: 'Run vitest --detectLeaks for *.test.ts files.',
|
|
66
|
+
// },
|
|
67
67
|
{
|
|
68
68
|
name: 'lint',
|
|
69
69
|
fn: () => runCheck({
|
|
@@ -93,18 +93,6 @@ const commands = [
|
|
|
93
93
|
desc: 'Run oxlint on all files with "auto-fix" disabled. Useful for debugging.',
|
|
94
94
|
interactiveOnly: true,
|
|
95
95
|
},
|
|
96
|
-
{
|
|
97
|
-
name: 'biome',
|
|
98
|
-
fn: () => runBiome(),
|
|
99
|
-
desc: 'Run biome linter on all files.',
|
|
100
|
-
},
|
|
101
|
-
{ name: 'biome-no-fix', cliOnly: true, fn: () => runBiome(false) },
|
|
102
|
-
{
|
|
103
|
-
name: 'biome --no-fix',
|
|
104
|
-
fn: () => runBiome(false),
|
|
105
|
-
desc: 'Run biome linter on all files with "auto-fix" disabled. Useful for debugging.',
|
|
106
|
-
interactiveOnly: true,
|
|
107
|
-
},
|
|
108
96
|
{ name: 'oxfmt', fn: runOxfmt, desc: 'Run oxfmt on all files.' },
|
|
109
97
|
{ name: 'stylelint', fn: stylelintAll, desc: 'Run stylelint on all files.' },
|
|
110
98
|
{
|
|
@@ -175,11 +163,11 @@ async function bt() {
|
|
|
175
163
|
await typecheckWithTS();
|
|
176
164
|
runTest();
|
|
177
165
|
}
|
|
178
|
-
async function _typecheckWithOxlint() {
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
}
|
|
166
|
+
// async function _typecheckWithOxlint(): Promise<void> {
|
|
167
|
+
// requireOxlintConfig()
|
|
168
|
+
// const fix = !CI
|
|
169
|
+
// runOxlint(fix)
|
|
170
|
+
// }
|
|
183
171
|
async function cleanBuild() {
|
|
184
172
|
cleanDist();
|
|
185
173
|
buildProd();
|
package/dist/check.util.d.ts
CHANGED
|
@@ -52,10 +52,6 @@ export declare function stylelintAll(fix?: boolean): boolean;
|
|
|
52
52
|
export declare function lintStagedCommand(): Promise<void>;
|
|
53
53
|
export declare function requireActionlintVersion(): void;
|
|
54
54
|
export declare function getActionLintVersion(): SemVerString | undefined;
|
|
55
|
-
/**
|
|
56
|
-
* Returns true if it ran.
|
|
57
|
-
*/
|
|
58
|
-
export declare function runBiome(fix?: boolean): boolean;
|
|
59
55
|
export declare function buildProd(): void;
|
|
60
56
|
/**
|
|
61
57
|
* Uses tsgo if it's installed, otherwise tsc
|
package/dist/check.util.js
CHANGED
|
@@ -49,10 +49,9 @@ export async function runCheck(opt = {}) {
|
|
|
49
49
|
const fix = !CI;
|
|
50
50
|
if (fastLinters) {
|
|
51
51
|
// Fast linters (that run in <1 second) go first
|
|
52
|
-
runActionLint();
|
|
53
52
|
s = Date.now();
|
|
54
|
-
if (
|
|
55
|
-
timings['
|
|
53
|
+
if (runActionLint()) {
|
|
54
|
+
timings['actionlint'] = Date.now() - s;
|
|
56
55
|
}
|
|
57
56
|
s = Date.now();
|
|
58
57
|
if (runOxlint(fix)) {
|
|
@@ -322,24 +321,6 @@ export function getActionLintVersion() {
|
|
|
322
321
|
return;
|
|
323
322
|
return exec2.exec('actionlint --version').split('\n')[0];
|
|
324
323
|
}
|
|
325
|
-
/**
|
|
326
|
-
* Returns true if it ran.
|
|
327
|
-
*/
|
|
328
|
-
export function runBiome(fix = true) {
|
|
329
|
-
const configPath = `biome.jsonc`;
|
|
330
|
-
if (!existsSync(configPath)) {
|
|
331
|
-
console.log(`biome is skipped, because ./biome.jsonc is not present`);
|
|
332
|
-
return false;
|
|
333
|
-
}
|
|
334
|
-
const biomePath = findPackageBinPath('@biomejs/biome', 'biome');
|
|
335
|
-
const dirs = [`src`, `scripts`, `e2e`].filter(d => existsSync(d));
|
|
336
|
-
exec2.spawn(biomePath, {
|
|
337
|
-
name: fix ? 'biome' : 'biome --no-fix',
|
|
338
|
-
args: [`lint`, fix && '--write', fix && '--unsafe', '--no-errors-on-unmatched', ...dirs].filter(_isTruthy),
|
|
339
|
-
shell: false,
|
|
340
|
-
});
|
|
341
|
-
return true;
|
|
342
|
-
}
|
|
343
324
|
export function buildProd() {
|
|
344
325
|
// fs2.emptyDir('./dist') // it doesn't delete the dir itself, to prevent IDE jumping
|
|
345
326
|
buildCopy();
|
package/package.json
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@naturalcycles/dev-lib",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "20.
|
|
4
|
+
"version": "20.33.0",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@biomejs/biome": "^2",
|
|
7
6
|
"prompts": "^2",
|
|
8
7
|
"@naturalcycles/js-lib": "^15",
|
|
9
8
|
"@naturalcycles/nodejs-lib": "^15",
|
|
@@ -57,7 +56,6 @@
|
|
|
57
56
|
},
|
|
58
57
|
"exports": {
|
|
59
58
|
"./cfg/": "./cfg/",
|
|
60
|
-
"./cfg/biome.jsonc": "./cfg/biome.jsonc",
|
|
61
59
|
"./cfg/eslint.config.js": "./cfg/eslint.config.js",
|
|
62
60
|
"./cfg/oxlint.config.json": "./cfg/oxlint.config.json",
|
|
63
61
|
"./cfg/stylelint.config.js": "./cfg/stylelint.config.js",
|
|
@@ -115,7 +113,6 @@
|
|
|
115
113
|
"lint": "tsx scripts/eslintPrintConfig.script.ts && tsx scripts/oxlintPrintConfig.script.ts && tsx ./src/bin/dev-lib.ts lint",
|
|
116
114
|
"eslint": "tsx ./src/bin/dev-lib.ts eslint",
|
|
117
115
|
"eslint-no-fix": "tsx ./src/bin/dev-lib.ts eslint-no-fix",
|
|
118
|
-
"biome-no-fix": "tsx ./src/bin/dev-lib.ts biome-no-fix",
|
|
119
116
|
"oxlint": "tsx ./src/bin/dev-lib.ts oxlint",
|
|
120
117
|
"oxlint-no-fix": "tsx ./src/bin/dev-lib.ts oxlint-no-fix",
|
|
121
118
|
"lint-staged-debug": "tsx ./src/bin/dev-lib.ts lint-staged"
|
package/cfg/biome.jsonc
DELETED
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://biomejs.dev/schemas/2.3.10/schema.json",
|
|
3
|
-
"root": false,
|
|
4
|
-
"files": {
|
|
5
|
-
"includes": [
|
|
6
|
-
"**/*.ts",
|
|
7
|
-
"**/*.tsx",
|
|
8
|
-
"**/*.js",
|
|
9
|
-
"**/*.jsx",
|
|
10
|
-
"!**/__exclude",
|
|
11
|
-
"!tmp",
|
|
12
|
-
"!coverage",
|
|
13
|
-
"!deploy",
|
|
14
|
-
"!dist",
|
|
15
|
-
"!**/try.ts",
|
|
16
|
-
],
|
|
17
|
-
},
|
|
18
|
-
"formatter": {
|
|
19
|
-
"enabled": true,
|
|
20
|
-
"formatWithErrors": false,
|
|
21
|
-
"indentStyle": "space",
|
|
22
|
-
"indentWidth": 2,
|
|
23
|
-
"lineEnding": "lf",
|
|
24
|
-
"lineWidth": 100,
|
|
25
|
-
"attributePosition": "auto",
|
|
26
|
-
},
|
|
27
|
-
"assist": { "actions": { "source": { "organizeImports": "off" } } },
|
|
28
|
-
"linter": {
|
|
29
|
-
"enabled": true,
|
|
30
|
-
"rules": {
|
|
31
|
-
"recommended": true,
|
|
32
|
-
"performance": {
|
|
33
|
-
"noAccumulatingSpread": "off", // oxlint
|
|
34
|
-
// "useTopLevelRegex": "error" // consider
|
|
35
|
-
"noDelete": "off", // oxlint
|
|
36
|
-
},
|
|
37
|
-
"correctness": {
|
|
38
|
-
"useImportExtensions": "off", // oxlint
|
|
39
|
-
"useParseIntRadix": "off",
|
|
40
|
-
"noUnusedFunctionParameters": "off", // oxlint
|
|
41
|
-
"noConstantCondition": "off", // ox
|
|
42
|
-
"noUnusedPrivateClassMembers": "off", // buggy in 2.3.6
|
|
43
|
-
// noUnusedImports + noUnusedVariables can replace eslint-plugin-unused-vars!
|
|
44
|
-
"noUnusedImports": "error", // oxlint ignoreVars ^_ pattern also applies to imports named with _ prefix. Support for no-unused-imports tracked here https://github.com/oxc-project/oxc/issues/1117
|
|
45
|
-
"noUnusedVariables": {
|
|
46
|
-
"fix": "none",
|
|
47
|
-
"level": "off", // oxlint
|
|
48
|
-
"options": {},
|
|
49
|
-
},
|
|
50
|
-
},
|
|
51
|
-
"style": {
|
|
52
|
-
// "useDefaultSwitchClause": "error", // consider`
|
|
53
|
-
"useThrowNewError": "error",
|
|
54
|
-
"useThrowOnlyError": "error",
|
|
55
|
-
"useConsistentBuiltinInstantiation": "off", // disallows Array()
|
|
56
|
-
"noDoneCallback": "error",
|
|
57
|
-
"useShorthandFunctionType": "error",
|
|
58
|
-
"useShorthandAssign": "error",
|
|
59
|
-
"useForOf": "off", // oxlint
|
|
60
|
-
"useConsistentArrayType": "error",
|
|
61
|
-
"noDefaultExport": "off", // oxlint
|
|
62
|
-
"noNonNullAssertion": "off",
|
|
63
|
-
"useImportType": "error",
|
|
64
|
-
"noParameterAssign": "off",
|
|
65
|
-
"useTemplate": "off",
|
|
66
|
-
"useNumberNamespace": "off",
|
|
67
|
-
"noUnusedTemplateLiteral": "off",
|
|
68
|
-
"useAsConstAssertion": "error",
|
|
69
|
-
"useDefaultParameterLast": "error",
|
|
70
|
-
"useEnumInitializers": "error",
|
|
71
|
-
"useSelfClosingElements": "error",
|
|
72
|
-
"useSingleVarDeclarator": "error",
|
|
73
|
-
"noInferrableTypes": "error",
|
|
74
|
-
"noUselessElse": "error",
|
|
75
|
-
"useArrayLiterals": "error",
|
|
76
|
-
// "noCommonJs": "error" // oxlint
|
|
77
|
-
},
|
|
78
|
-
"suspicious": {
|
|
79
|
-
"useNumberToFixedDigitsArgument": "error",
|
|
80
|
-
"useIterableCallbackReturn": "off",
|
|
81
|
-
"useErrorMessage": "off", // ox
|
|
82
|
-
"noControlCharactersInRegex": "off", // ox
|
|
83
|
-
"noExtraNonNullAssertion": "off", // ox
|
|
84
|
-
"noEvolvingTypes": "error",
|
|
85
|
-
"noExplicitAny": "off",
|
|
86
|
-
"noAssignInExpressions": "off",
|
|
87
|
-
"noPrototypeBuiltins": "off",
|
|
88
|
-
"noGlobalIsNan": "off", // todo,
|
|
89
|
-
"noThenProperty": "off",
|
|
90
|
-
"noImportAssign": "off",
|
|
91
|
-
"noDoubleEquals": "off", // oxlint
|
|
92
|
-
"noDocumentCookie": "off", // ox
|
|
93
|
-
"noEmptyInterface": "off",
|
|
94
|
-
},
|
|
95
|
-
"complexity": {
|
|
96
|
-
"useDateNow": "error",
|
|
97
|
-
"useArrowFunction": "off", // ox
|
|
98
|
-
"noUselessUndefinedInitialization": "error",
|
|
99
|
-
"noUselessEscapeInRegex": "off", // ox
|
|
100
|
-
"noUselessStringConcat": "error",
|
|
101
|
-
"noForEach": "off",
|
|
102
|
-
"noUselessThisAlias": "off",
|
|
103
|
-
"useLiteralKeys": "off",
|
|
104
|
-
"noBannedTypes": "off",
|
|
105
|
-
"noCommaOperator": "off", // ox
|
|
106
|
-
"noArguments": "error",
|
|
107
|
-
},
|
|
108
|
-
"nursery": {},
|
|
109
|
-
},
|
|
110
|
-
},
|
|
111
|
-
"javascript": {
|
|
112
|
-
"formatter": {
|
|
113
|
-
"jsxQuoteStyle": "double",
|
|
114
|
-
"quoteProperties": "asNeeded",
|
|
115
|
-
"trailingCommas": "all",
|
|
116
|
-
"semicolons": "asNeeded",
|
|
117
|
-
"arrowParentheses": "asNeeded",
|
|
118
|
-
"bracketSpacing": true,
|
|
119
|
-
"bracketSameLine": false,
|
|
120
|
-
"quoteStyle": "single",
|
|
121
|
-
"attributePosition": "auto",
|
|
122
|
-
},
|
|
123
|
-
},
|
|
124
|
-
"overrides": [
|
|
125
|
-
{
|
|
126
|
-
"includes": ["**/*.vue"],
|
|
127
|
-
"linter": {
|
|
128
|
-
"rules": {
|
|
129
|
-
"correctness": {
|
|
130
|
-
// doesn't work well with *.vue files
|
|
131
|
-
"noUnusedImports": "off",
|
|
132
|
-
"noUnusedVariables": "off",
|
|
133
|
-
},
|
|
134
|
-
},
|
|
135
|
-
},
|
|
136
|
-
},
|
|
137
|
-
],
|
|
138
|
-
}
|
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
// Copy-pasted from https://github.com/SrBrahma/eslint-config-biome/blob/main/index.js
|
|
2
|
-
export default {
|
|
3
|
-
rules: {
|
|
4
|
-
'constructor-super': 0,
|
|
5
|
-
'default-case-last': 0,
|
|
6
|
-
'default-param-last': 0,
|
|
7
|
-
'dot-notation': 0,
|
|
8
|
-
eqeqeq: 0,
|
|
9
|
-
'for-direction': 0,
|
|
10
|
-
'getter-return': 0,
|
|
11
|
-
'no-async-promise-executor': 0,
|
|
12
|
-
'no-case-declarations': 0,
|
|
13
|
-
'no-class-assign': 0,
|
|
14
|
-
'no-compare-neg-zero': 0,
|
|
15
|
-
'no-cond-assign': 0,
|
|
16
|
-
'no-const-assign': 0,
|
|
17
|
-
'no-constant-condition': 0,
|
|
18
|
-
'no-constructor-return': 0,
|
|
19
|
-
'no-control-regex': 0,
|
|
20
|
-
'no-debugger': 0,
|
|
21
|
-
'no-delete-var': 0,
|
|
22
|
-
'no-dupe-args': 0,
|
|
23
|
-
'no-dupe-class-members': 0,
|
|
24
|
-
'no-dupe-keys': 0,
|
|
25
|
-
'no-duplicate-case': 0,
|
|
26
|
-
'no-else-return': 0,
|
|
27
|
-
'no-empty': 0,
|
|
28
|
-
'no-empty-character-class': 0,
|
|
29
|
-
'no-empty-pattern': 0,
|
|
30
|
-
'no-eval': 0,
|
|
31
|
-
'no-ex-assign': 0,
|
|
32
|
-
'no-extra-boolean-cast': 0,
|
|
33
|
-
'no-extra-label': 0,
|
|
34
|
-
'no-fallthrough': 0,
|
|
35
|
-
'no-func-assign': 0,
|
|
36
|
-
'no-global-assign': 0,
|
|
37
|
-
'no-import-assign': 0,
|
|
38
|
-
'no-inner-declarations': 0,
|
|
39
|
-
'no-label-var': 0,
|
|
40
|
-
'no-labels': 0,
|
|
41
|
-
'no-lone-blocks': 0,
|
|
42
|
-
'no-loss-of-precision': 0,
|
|
43
|
-
'no-misleading-character-class': 0,
|
|
44
|
-
'no-new-native-nonconstructor': 0,
|
|
45
|
-
'no-new-symbol': 0,
|
|
46
|
-
'no-nonoctal-decimal-escape': 0,
|
|
47
|
-
'no-obj-calls': 0,
|
|
48
|
-
'no-param-reassign': 0,
|
|
49
|
-
'no-prototype-builtins': 0,
|
|
50
|
-
'no-redeclare': 0,
|
|
51
|
-
'no-regex-spaces': 0,
|
|
52
|
-
'no-return-assign': 0,
|
|
53
|
-
'no-self-assign': 0,
|
|
54
|
-
'no-self-compare': 0,
|
|
55
|
-
'no-sequences': 0,
|
|
56
|
-
'no-setter-return': 0,
|
|
57
|
-
'no-shadow-restricted-names': 0,
|
|
58
|
-
'no-sparse-array': 0,
|
|
59
|
-
'no-this-before-super': 0,
|
|
60
|
-
'no-undef-init': 0,
|
|
61
|
-
'no-unneeded-ternary': 0,
|
|
62
|
-
'no-unreachable': 0,
|
|
63
|
-
'no-unsafe-finally': 0,
|
|
64
|
-
'no-unsafe-negation': 0,
|
|
65
|
-
'no-unsafe-optional-chaining': 0,
|
|
66
|
-
'no-unused-labels': 0,
|
|
67
|
-
'no-use-before-define': 0,
|
|
68
|
-
'no-useless-catch': 0,
|
|
69
|
-
'no-useless-computed-key': 0,
|
|
70
|
-
'no-useless-constructor': 0,
|
|
71
|
-
'no-useless-rename': 0,
|
|
72
|
-
'no-var': 0,
|
|
73
|
-
'no-with': 0,
|
|
74
|
-
'one-var': 0,
|
|
75
|
-
'prefer-arrow-callback': 0,
|
|
76
|
-
'prefer-const': 0,
|
|
77
|
-
'prefer-exponentiation-operator': 0,
|
|
78
|
-
'prefer-numeric-literals': 0,
|
|
79
|
-
'prefer-regex-literals': 0,
|
|
80
|
-
'prefer-rest-params': 0,
|
|
81
|
-
'prefer-template': 0,
|
|
82
|
-
'require-yield': 0,
|
|
83
|
-
'use-isnan': 0,
|
|
84
|
-
'valid-typeof': 0,
|
|
85
|
-
// "@mysticatea/eslint-plugin/no-this-in-static": 0,
|
|
86
|
-
'@typescript-eslint/ban-types': 0,
|
|
87
|
-
'@typescript-eslint/consistent-type-exports': 0,
|
|
88
|
-
// '@typescript-eslint/consistent-type-imports': 0, // `useImportType` is currently disabled
|
|
89
|
-
'@typescript-eslint/default-param-last': 0,
|
|
90
|
-
'@typescript-eslint/dot-notation': 0,
|
|
91
|
-
'@typescript-eslint/no-dupe-class-members': 0,
|
|
92
|
-
'@typescript-eslint/no-empty-interface': 0,
|
|
93
|
-
'@typescript-eslint/no-explicit-any': 0,
|
|
94
|
-
'@typescript-eslint/no-extra-non-null-assertion': 0,
|
|
95
|
-
'@typescript-eslint/no-extraneous-class': 0,
|
|
96
|
-
'@typescript-eslint/no-import-type-side-effects': 0,
|
|
97
|
-
'@typescript-eslint/no-inferrable-types': 0,
|
|
98
|
-
'@typescript-eslint/no-invalid-void-type': 0,
|
|
99
|
-
'@typescript-eslint/no-loss-of-precision': 0,
|
|
100
|
-
'@typescript-eslint/no-misused-new': 0,
|
|
101
|
-
'@typescript-eslint/no-non-null-assertion': 0,
|
|
102
|
-
'@typescript-eslint/no-redeclare': 0,
|
|
103
|
-
'@typescript-eslint/no-this-alias': 0,
|
|
104
|
-
'@typescript-eslint/no-unnecessary-type-arguments': 0,
|
|
105
|
-
'@typescript-eslint/no-unnecessary-type-constraint': 0,
|
|
106
|
-
'@typescript-eslint/no-unsafe-declaration-merging': 0,
|
|
107
|
-
'@typescript-eslint/no-use-before-define': 0,
|
|
108
|
-
'@typescript-eslint/no-useless-constructor': 0,
|
|
109
|
-
'@typescript-eslint/no-useless-empty-export': 0,
|
|
110
|
-
'@typescript-eslint/no-useless-template-literals': 0,
|
|
111
|
-
'@typescript-eslint/prefer-as-const': 0,
|
|
112
|
-
'@typescript-eslint/prefer-enum-initializers': 0,
|
|
113
|
-
'@typescript-eslint/prefer-function-type': 0,
|
|
114
|
-
'@typescript-eslint/prefer-literal-enum-member': 0,
|
|
115
|
-
'@typescript-eslint/prefer-namespace-keyword': 0,
|
|
116
|
-
'@typescript-eslint/prefer-optional-chain': 0,
|
|
117
|
-
'jest/max-nested-describe': 0,
|
|
118
|
-
'jest/no-duplicate-hooks': 0,
|
|
119
|
-
'jest/no-export': 0,
|
|
120
|
-
'jest/no-focused-tests': 0,
|
|
121
|
-
'jsx-a11y/alt-text': 0,
|
|
122
|
-
'jsx-a11y/anchor-has-content': 0,
|
|
123
|
-
'jsx-a11y/anchor-is-valid': 0,
|
|
124
|
-
'jsx-a11y/aria-activedescendant-has-tabindex': 0,
|
|
125
|
-
'jsx-a11y/aria-props': 0,
|
|
126
|
-
'jsx-a11y/aria-proptypes': 0,
|
|
127
|
-
'jsx-a11y/aria-role': 0,
|
|
128
|
-
'jsx-a11y/aria-unsupported-elements': 0,
|
|
129
|
-
'jsx-a11y/click-events-have-key-events': 0,
|
|
130
|
-
'jsx-a11y/heading-has-content': 0,
|
|
131
|
-
'jsx-a11y/html-has-lang': 0,
|
|
132
|
-
'jsx-a11y/iframe-has-title': 0,
|
|
133
|
-
'jsx-a11y/img-redundant-alt': 0,
|
|
134
|
-
'jsx-a11y/interactive-supports-focus': 0,
|
|
135
|
-
'jsx-a11y/label-has-associated-control': 0,
|
|
136
|
-
'jsx-a11y/lang': 0,
|
|
137
|
-
'jsx-a11y/media-has-caption': 0,
|
|
138
|
-
'jsx-a11y/mouse-events-have-key-events': 0,
|
|
139
|
-
'jsx-a11y/no-access-key': 0,
|
|
140
|
-
'jsx-a11y/no-aria-hidden-on-focusable': 0,
|
|
141
|
-
'jsx-a11y/no-autofocus': 0,
|
|
142
|
-
'jsx-a11y/no-distracting-elements': 0,
|
|
143
|
-
'jsx-a11y/no-interactive-element-to-noninteractive-role': 0,
|
|
144
|
-
'jsx-a11y/no-noninteractive-element-to-interactive-role': 0,
|
|
145
|
-
'jsx-a11y/no-noninteractive-tabindex': 0,
|
|
146
|
-
'jsx-a11y/no-redundant-roles': 0,
|
|
147
|
-
'jsx-a11y/role-has-required-aria-props': 0,
|
|
148
|
-
'jsx-a11y/scope': 0,
|
|
149
|
-
'jsx-a11y/tabindex-no-positive': 0,
|
|
150
|
-
'react/button-has-type': 0,
|
|
151
|
-
'react/jsx-key': 0,
|
|
152
|
-
'react/jsx-no-comment-textnodes': 0,
|
|
153
|
-
'react/jsx-no-duplicate-props': 0,
|
|
154
|
-
'react/jsx-no-target-blank': 0,
|
|
155
|
-
'react/jsx-no-useless-fragment': 0,
|
|
156
|
-
'react/no-array-index-key': 0,
|
|
157
|
-
'react/no-children-prop': 0,
|
|
158
|
-
'react/no-danger': 0,
|
|
159
|
-
'react/no-danger-with-children': 0,
|
|
160
|
-
'react/void-dom-elements-no-children': 0,
|
|
161
|
-
'react-hooks/exhaustive-deps': 0,
|
|
162
|
-
// "simple-import-sort/imports": 0, // we need it
|
|
163
|
-
'stylistic/jsx-self-closing-comp': 0,
|
|
164
|
-
'unicorn/error-message': 0,
|
|
165
|
-
'unicorn/new-for-builtins': 0,
|
|
166
|
-
'unicorn/no-array-for-each': 0,
|
|
167
|
-
'unicorn/no-instanceof-array': 0,
|
|
168
|
-
'unicorn/no-static-only-class': 0,
|
|
169
|
-
'unicorn/no-thenable': 0,
|
|
170
|
-
'unicorn/no-typeof-undefined': 0,
|
|
171
|
-
'unicorn/no-useless-switch-case': 0,
|
|
172
|
-
'unicorn/prefer-array-flat-map': 0,
|
|
173
|
-
'unicorn/prefer-date-now': 0,
|
|
174
|
-
'unicorn/prefer-node-protocol': 0,
|
|
175
|
-
'unicorn/prefer-number-properties': 0,
|
|
176
|
-
'unicorn/require-number-to-fixed-digits-argument': 0,
|
|
177
|
-
'unicorn/throw-new-error': 0,
|
|
178
|
-
},
|
|
179
|
-
}
|