eslint-config-un 0.3.1 → 0.4.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 +3 -1
- package/dist/index.cjs +51 -26
- package/dist/index.d.cts +11164 -6390
- package/dist/index.d.ts +11164 -6390
- package/dist/index.js +48 -23
- package/package.json +45 -43
package/README.md
CHANGED
|
@@ -25,7 +25,7 @@ Includes the rules from the following configs & plugins:
|
|
|
25
25
|
- [promise](https://www.npmjs.com/package/eslint-plugin-promise)
|
|
26
26
|
- [regexp](https://www.npmjs.com/package/eslint-plugin-regexp)
|
|
27
27
|
- [security](https://www.npmjs.com/package/eslint-plugin-security)
|
|
28
|
-
- [sonar](https://www.npmjs.com/package/eslint-plugin-sonarjs)
|
|
28
|
+
- [sonar](https://www.npmjs.com/package/eslint-plugin-sonarjs) (v3 since v0.4.0, v1 before)
|
|
29
29
|
- [tailwind](https://www.npmjs.com/package/eslint-plugin-tailwindcss)
|
|
30
30
|
- [jsonc](https://www.npmjs.com/package/eslint-plugin-jsonc) (since v0.1.4)
|
|
31
31
|
- [yaml](https://www.npmjs.com/package/eslint-plugin-yaml) (since v0.1.0)
|
|
@@ -38,6 +38,7 @@ Includes the rules from the following configs & plugins:
|
|
|
38
38
|
- [jest](https://www.npmjs.com/package/eslint-plugin-jest) (+ [jest-extended](https://www.npmjs.com/package/eslint-plugin-jest-extended)) (since v0.3.0)
|
|
39
39
|
- [vitest](https://www.npmjs.com/package/@vitest/eslint-plugin) (since v0.3.0)
|
|
40
40
|
- [jsdoc](https://www.npmjs.com/package/eslint-plugin-jsdoc) (since v0.3.1)
|
|
41
|
+
- [perfectionist](https://www.npmjs.com/package/eslint-plugin-perfectionist) (since v0.4.0)
|
|
41
42
|
|
|
42
43
|
## Features
|
|
43
44
|
|
|
@@ -73,6 +74,7 @@ export default eslintConfig({
|
|
|
73
74
|
- `yaml`
|
|
74
75
|
- `toml`
|
|
75
76
|
- `package-json`
|
|
77
|
+
- `perfectionist`
|
|
76
78
|
- Some rules are set to warn by default. You can change some or even all such rule's reporting level using `errorsInsteadOfWarnings` option. You can find all such rules by inspecting the source code of this package.
|
|
77
79
|
|
|
78
80
|
### Certain rules are disabled for code blocks inside `*.md` files
|
package/dist/index.cjs
CHANGED
|
@@ -33,19 +33,19 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
33
33
|
));
|
|
34
34
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
35
35
|
|
|
36
|
-
// node_modules/.pnpm/tsup@8.3.5_jiti@2.0.0_postcss@8.4.47_tsx@4.16.2_typescript@5.7.
|
|
36
|
+
// node_modules/.pnpm/tsup@8.3.5_jiti@2.0.0_postcss@8.4.47_tsx@4.16.2_typescript@5.7.3_yaml@2.4.5/node_modules/tsup/assets/cjs_shims.js
|
|
37
37
|
var init_cjs_shims = __esm({
|
|
38
|
-
"node_modules/.pnpm/tsup@8.3.5_jiti@2.0.0_postcss@8.4.47_tsx@4.16.2_typescript@5.7.
|
|
38
|
+
"node_modules/.pnpm/tsup@8.3.5_jiti@2.0.0_postcss@8.4.47_tsx@4.16.2_typescript@5.7.3_yaml@2.4.5/node_modules/tsup/assets/cjs_shims.js"() {
|
|
39
39
|
"use strict";
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
42
|
|
|
43
|
-
// node_modules/.pnpm/@eslint+js@9.
|
|
43
|
+
// node_modules/.pnpm/@eslint+js@9.18.0/node_modules/@eslint/js/package.json
|
|
44
44
|
var require_package = __commonJS({
|
|
45
|
-
"node_modules/.pnpm/@eslint+js@9.
|
|
45
|
+
"node_modules/.pnpm/@eslint+js@9.18.0/node_modules/@eslint/js/package.json"(exports2, module2) {
|
|
46
46
|
module2.exports = {
|
|
47
47
|
name: "@eslint/js",
|
|
48
|
-
version: "9.
|
|
48
|
+
version: "9.18.0",
|
|
49
49
|
description: "ESLint JavaScript language implementation",
|
|
50
50
|
main: "./src/index.js",
|
|
51
51
|
types: "./types/index.d.ts",
|
|
@@ -81,9 +81,9 @@ var require_package = __commonJS({
|
|
|
81
81
|
}
|
|
82
82
|
});
|
|
83
83
|
|
|
84
|
-
// node_modules/.pnpm/@eslint+js@9.
|
|
84
|
+
// node_modules/.pnpm/@eslint+js@9.18.0/node_modules/@eslint/js/src/configs/eslint-all.js
|
|
85
85
|
var require_eslint_all = __commonJS({
|
|
86
|
-
"node_modules/.pnpm/@eslint+js@9.
|
|
86
|
+
"node_modules/.pnpm/@eslint+js@9.18.0/node_modules/@eslint/js/src/configs/eslint-all.js"(exports2, module2) {
|
|
87
87
|
"use strict";
|
|
88
88
|
init_cjs_shims();
|
|
89
89
|
module2.exports = Object.freeze({
|
|
@@ -290,9 +290,9 @@ var require_eslint_all = __commonJS({
|
|
|
290
290
|
}
|
|
291
291
|
});
|
|
292
292
|
|
|
293
|
-
// node_modules/.pnpm/@eslint+js@9.
|
|
293
|
+
// node_modules/.pnpm/@eslint+js@9.18.0/node_modules/@eslint/js/src/configs/eslint-recommended.js
|
|
294
294
|
var require_eslint_recommended = __commonJS({
|
|
295
|
-
"node_modules/.pnpm/@eslint+js@9.
|
|
295
|
+
"node_modules/.pnpm/@eslint+js@9.18.0/node_modules/@eslint/js/src/configs/eslint-recommended.js"(exports2, module2) {
|
|
296
296
|
"use strict";
|
|
297
297
|
init_cjs_shims();
|
|
298
298
|
module2.exports = Object.freeze({
|
|
@@ -363,15 +363,15 @@ var require_eslint_recommended = __commonJS({
|
|
|
363
363
|
}
|
|
364
364
|
});
|
|
365
365
|
|
|
366
|
-
// node_modules/.pnpm/@eslint+js@9.
|
|
366
|
+
// node_modules/.pnpm/@eslint+js@9.18.0/node_modules/@eslint/js/src/index.js
|
|
367
367
|
var require_src = __commonJS({
|
|
368
|
-
"node_modules/.pnpm/@eslint+js@9.
|
|
368
|
+
"node_modules/.pnpm/@eslint+js@9.18.0/node_modules/@eslint/js/src/index.js"(exports2, module2) {
|
|
369
369
|
"use strict";
|
|
370
370
|
init_cjs_shims();
|
|
371
|
-
var { version } = require_package();
|
|
371
|
+
var { name, version } = require_package();
|
|
372
372
|
module2.exports = {
|
|
373
373
|
meta: {
|
|
374
|
-
name
|
|
374
|
+
name,
|
|
375
375
|
version
|
|
376
376
|
},
|
|
377
377
|
configs: {
|
|
@@ -383,12 +383,12 @@ var require_src = __commonJS({
|
|
|
383
383
|
});
|
|
384
384
|
|
|
385
385
|
// src/index.ts
|
|
386
|
-
var
|
|
387
|
-
__export(
|
|
386
|
+
var index_exports = {};
|
|
387
|
+
__export(index_exports, {
|
|
388
388
|
DEFAULT_GLOBAL_IGNORES: () => DEFAULT_GLOBAL_IGNORES,
|
|
389
389
|
eslintConfig: () => eslintConfig
|
|
390
390
|
});
|
|
391
|
-
module.exports = __toCommonJS(
|
|
391
|
+
module.exports = __toCommonJS(index_exports);
|
|
392
392
|
init_cjs_shims();
|
|
393
393
|
var import_node_fs = __toESM(require("fs"), 1);
|
|
394
394
|
var import_eslint_plugin2 = __toESM(require("@stylistic/eslint-plugin"), 1);
|
|
@@ -496,14 +496,15 @@ var ConfigEntryBuilder = class {
|
|
|
496
496
|
const errorsInsteadOfWarnings = this.internalOptions.globalOptions?.errorsInsteadOfWarnings;
|
|
497
497
|
const severityFinal = configOptions.forceSeverity ?? (severity === WARNING && (errorsInsteadOfWarnings === true || Array.isArray(errorsInsteadOfWarnings) && errorsInsteadOfWarnings.includes(ruleName)) ? ERROR : severity);
|
|
498
498
|
const ruleNameFinal = `${options?.disableAutofix ? "disable-autofix/" : ""}${ruleName}`;
|
|
499
|
-
|
|
499
|
+
configFinal.rules ||= {};
|
|
500
|
+
configFinal.rules[ruleNameFinal] = [severityFinal, ...ruleOptions || []];
|
|
500
501
|
if (options?.disableAutofix) {
|
|
501
|
-
|
|
502
|
+
configFinal.rules[ruleName] = 0;
|
|
502
503
|
}
|
|
503
504
|
if (options?.overrideBaseRule) {
|
|
504
505
|
const baseRuleName = typeof options.overrideBaseRule === "string" ? options.overrideBaseRule : ruleName.split("/").slice(1).join("/");
|
|
505
506
|
if (baseRuleName) {
|
|
506
|
-
|
|
507
|
+
configFinal.rules[baseRuleName] = 0;
|
|
507
508
|
}
|
|
508
509
|
}
|
|
509
510
|
return result;
|
|
@@ -514,11 +515,13 @@ var ConfigEntryBuilder = class {
|
|
|
514
515
|
addRule: generateAddRuleFn(),
|
|
515
516
|
addAnyRule: generateAddRuleFn(),
|
|
516
517
|
addOverrides: () => {
|
|
517
|
-
|
|
518
|
+
configFinal.rules ||= {};
|
|
519
|
+
Object.assign(configFinal.rules, this.options.overrides);
|
|
518
520
|
return result;
|
|
519
521
|
},
|
|
520
522
|
addBulkRules: (rules) => {
|
|
521
|
-
|
|
523
|
+
configFinal.rules ||= {};
|
|
524
|
+
Object.assign(configFinal.rules, rules);
|
|
522
525
|
return result;
|
|
523
526
|
}
|
|
524
527
|
};
|
|
@@ -1205,6 +1208,19 @@ var packageJsonEslintConfig = (options = {}, internalOptions = {}) => {
|
|
|
1205
1208
|
return builder.getAllConfigs();
|
|
1206
1209
|
};
|
|
1207
1210
|
|
|
1211
|
+
// src/configs/perfectionist.ts
|
|
1212
|
+
init_cjs_shims();
|
|
1213
|
+
var import_eslint_plugin_perfectionist = __toESM(require("eslint-plugin-perfectionist"), 1);
|
|
1214
|
+
var perfectionistEslintConfig = (options = {}, internalOptions = {}) => {
|
|
1215
|
+
const builder = new ConfigEntryBuilder(options, internalOptions);
|
|
1216
|
+
builder.addConfig(["perfectionist", { includeDefaultFilesAndIgnores: true }], {
|
|
1217
|
+
plugins: {
|
|
1218
|
+
perfectionist: import_eslint_plugin_perfectionist.default
|
|
1219
|
+
}
|
|
1220
|
+
}).addRule("perfectionist/sort-array-includes", OFF).addRule("perfectionist/sort-classes", OFF).addRule("perfectionist/sort-decorators", OFF).addRule("perfectionist/sort-enums", OFF).addRule("perfectionist/sort-exports", OFF).addRule("perfectionist/sort-heritage-clauses", OFF).addRule("perfectionist/sort-imports", OFF).addRule("perfectionist/sort-interfaces", OFF).addRule("perfectionist/sort-intersection-types", OFF).addRule("perfectionist/sort-jsx-props", OFF).addRule("perfectionist/sort-maps", OFF).addRule("perfectionist/sort-modules", OFF).addRule("perfectionist/sort-named-exports", OFF).addRule("perfectionist/sort-named-imports", OFF).addRule("perfectionist/sort-object-types", OFF).addRule("perfectionist/sort-objects", OFF).addRule("perfectionist/sort-sets", OFF).addRule("perfectionist/sort-switch-case", OFF).addRule("perfectionist/sort-union-types", OFF).addRule("perfectionist/sort-variable-declarations", OFF).addOverrides();
|
|
1221
|
+
return builder.getAllConfigs();
|
|
1222
|
+
};
|
|
1223
|
+
|
|
1208
1224
|
// src/configs/prefer-arrow-functions.ts
|
|
1209
1225
|
init_cjs_shims();
|
|
1210
1226
|
var import_eslint_plugin_prefer_arrow_functions = __toESM(require("eslint-plugin-prefer-arrow-functions"), 1);
|
|
@@ -1212,8 +1228,9 @@ var preferArrowFunctionsEslintConfig = (options = {}, internalOptions = {}) => {
|
|
|
1212
1228
|
const builder = new ConfigEntryBuilder(options, internalOptions);
|
|
1213
1229
|
builder.addConfig(["prefer-arrow-functions", { includeDefaultFilesAndIgnores: true }], {
|
|
1214
1230
|
plugins: {
|
|
1231
|
+
// @ts-expect-error `default` does not exist, but required because the export is wrong: https://arethetypeswrong.github.io/?p=eslint-plugin-prefer-arrow-functions%403.6.0
|
|
1215
1232
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
1216
|
-
"prefer-arrow-functions": import_eslint_plugin_prefer_arrow_functions.default
|
|
1233
|
+
"prefer-arrow-functions": import_eslint_plugin_prefer_arrow_functions.default.default
|
|
1217
1234
|
}
|
|
1218
1235
|
}).addRule("prefer-arrow-functions/prefer-arrow-functions", WARNING).addOverrides();
|
|
1219
1236
|
return builder.getAllConfigs();
|
|
@@ -1268,13 +1285,16 @@ var securityEslintConfig = (options = {}, internalOptions = {}) => {
|
|
|
1268
1285
|
init_cjs_shims();
|
|
1269
1286
|
var import_eslint_plugin_sonarjs = __toESM(require("eslint-plugin-sonarjs"), 1);
|
|
1270
1287
|
var sonarEslintConfig = (options = {}, internalOptions = {}) => {
|
|
1288
|
+
const { enableAwsRules = true, testsRules = true } = options;
|
|
1289
|
+
const awsRulesSeverity = enableAwsRules ? ERROR : OFF;
|
|
1290
|
+
const testsRulesSeverity = testsRules ? ERROR : OFF;
|
|
1271
1291
|
const builder = new ConfigEntryBuilder(options, internalOptions);
|
|
1272
|
-
builder.addConfig(
|
|
1292
|
+
builder.addConfig("sonar/setup", {
|
|
1273
1293
|
plugins: {
|
|
1274
|
-
// @ts-expect-error small types mismatch
|
|
1275
1294
|
sonarjs: import_eslint_plugin_sonarjs.default
|
|
1276
1295
|
}
|
|
1277
|
-
})
|
|
1296
|
+
});
|
|
1297
|
+
builder.addConfig(["sonar", { includeDefaultFilesAndIgnores: true }]).addBulkRules(import_eslint_plugin_sonarjs.default.configs.recommended.rules).addRule("sonarjs/argument-type", OFF).addRule("sonarjs/array-callback-without-return", OFF).addRule("sonarjs/assertions-in-tests", testsRulesSeverity).addRule("sonarjs/aws-apigateway-public-api", awsRulesSeverity).addRule("sonarjs/aws-ec2-rds-dms-public", awsRulesSeverity).addRule("sonarjs/aws-ec2-unencrypted-ebs-volume", awsRulesSeverity).addRule("sonarjs/aws-efs-unencrypted", awsRulesSeverity).addRule("sonarjs/aws-iam-all-privileges", awsRulesSeverity).addRule("sonarjs/aws-iam-all-resources-accessible", OFF).addRule("sonarjs/aws-iam-privilege-escalation", awsRulesSeverity).addRule("sonarjs/aws-iam-public-access", awsRulesSeverity).addRule("sonarjs/aws-opensearchservice-domain", awsRulesSeverity).addRule("sonarjs/aws-rds-unencrypted-databases", awsRulesSeverity).addRule("sonarjs/aws-restricted-ip-admin-access", awsRulesSeverity).addRule("sonarjs/aws-s3-bucket-granted-access", awsRulesSeverity).addRule("sonarjs/aws-s3-bucket-insecure-http", awsRulesSeverity).addRule("sonarjs/aws-s3-bucket-public-access", awsRulesSeverity).addRule("sonarjs/aws-s3-bucket-server-encryption", OFF).addRule("sonarjs/aws-s3-bucket-versioning", awsRulesSeverity).addRule("sonarjs/aws-sagemaker-unencrypted-notebook", awsRulesSeverity).addRule("sonarjs/aws-sns-unencrypted-topics", awsRulesSeverity).addRule("sonarjs/aws-sqs-unencrypted-queue", awsRulesSeverity).addRule("sonarjs/block-scoped-var", OFF).addRule("sonarjs/call-argument-line", OFF).addRule("sonarjs/chai-determinate-assertion", testsRulesSeverity).addRule("sonarjs/class-name", OFF).addRule("sonarjs/code-eval", OFF).addRule("sonarjs/cognitive-complexity", OFF).addRule("sonarjs/concise-regex", OFF).addRule("sonarjs/conditional-indentation", OFF).addRule("sonarjs/constructor-for-side-effects", OFF).addRule("sonarjs/deprecation", OFF).addRule("sonarjs/different-types-comparison", OFF).addRule("sonarjs/disabled-timeout", testsRulesSeverity).addRule("sonarjs/duplicates-in-character-class", OFF).addRule("sonarjs/empty-string-repetition", OFF).addRule("sonarjs/fixme-tag", OFF).addRule("sonarjs/function-inside-loop", OFF).addRule("sonarjs/function-return-type", OFF).addRule("sonarjs/generator-without-yield", OFF).addRule("sonarjs/in-operator-type-error", OFF).addRule("sonarjs/inverted-assertion-arguments", testsRulesSeverity).addRule("sonarjs/label-position", OFF).addRule("sonarjs/max-switch-cases", OFF).addRule("sonarjs/misplaced-loop-counter", WARNING).addRule("sonarjs/new-operator-misuse", OFF).addRule("sonarjs/no-alphabetical-sort", OFF).addRule("sonarjs/no-array-delete", OFF).addRule("sonarjs/no-associative-arrays", OFF).addRule("sonarjs/no-async-constructor", OFF).addRule("sonarjs/no-code-after-done", testsRulesSeverity).addRule("sonarjs/no-commented-code", OFF).addRule("sonarjs/no-control-regex", OFF).addRule("sonarjs/no-dead-store", OFF).addRule("sonarjs/no-duplicate-in-composite", OFF).addRule("sonarjs/no-empty-alternatives", OFF).addRule("sonarjs/no-empty-character-class", OFF).addRule("sonarjs/no-empty-group", OFF).addRule("sonarjs/no-empty-test-file", OFF).addRule("sonarjs/no-exclusive-tests", OFF).addRule("sonarjs/no-fallthrough", OFF).addRule("sonarjs/no-for-in-iterable", ERROR).addRule("sonarjs/no-hardcoded-ip", WARNING).addRule("sonarjs/no-identical-conditions", OFF).addRule("sonarjs/no-implicit-dependencies", OFF).addRule("sonarjs/no-incomplete-assertions", testsRulesSeverity).addRule("sonarjs/no-invalid-await", OFF).addRule("sonarjs/no-invalid-regexp", OFF).addRule("sonarjs/no-labels", OFF).addRule("sonarjs/no-misleading-character-class", OFF).addRule("sonarjs/no-nested-assignment", OFF).addRule("sonarjs/no-nested-conditional", OFF).addRule("sonarjs/no-nested-functions", OFF).addRule("sonarjs/no-nested-template-literals", OFF).addRule("sonarjs/no-one-iteration-loop", OFF).addRule("sonarjs/no-primitive-wrappers", OFF).addRule("sonarjs/no-regex-spaces", OFF).addRule("sonarjs/no-same-argument-assert", testsRulesSeverity).addRule("sonarjs/no-same-line-conditional", OFF).addRule("sonarjs/no-selector-parameter", OFF).addRule("sonarjs/no-skipped-tests", OFF).addRule("sonarjs/no-try-promise", OFF).addRule("sonarjs/no-unenclosed-multiline-block", OFF).addRule("sonarjs/no-unthrown-error", OFF).addRule("sonarjs/no-unused-vars", OFF).addRule("sonarjs/no-useless-catch", OFF).addRule("sonarjs/no-useless-intersection", OFF).addRule("sonarjs/no-vue-bypass-sanitization", OFF).addRule("sonarjs/null-dereference", OFF).addRule("sonarjs/prefer-default-last", OFF).addRule("sonarjs/prefer-object-literal", ERROR).addRule("sonarjs/prefer-read-only-props", OFF).addRule("sonarjs/prefer-regexp-exec", OFF).addRule("sonarjs/production-debug", ERROR).addRule("sonarjs/pseudo-random", OFF).addRule("sonarjs/redundant-type-aliases", OFF).addRule("sonarjs/regex-complexity", WARNING, [{ threshold: 40 }]).addRule("sonarjs/single-char-in-character-classes", OFF).addRule("sonarjs/single-character-alternation", OFF).addRule("sonarjs/slow-regex", OFF).addRule("sonarjs/stable-tests", testsRulesSeverity).addRule("sonarjs/strings-comparison", WARNING).addRule("sonarjs/super-invocation", OFF).addRule("sonarjs/table-header", WARNING).addRule("sonarjs/table-header-reference", WARNING).addRule("sonarjs/todo-tag", OFF).addRule("sonarjs/unused-import", OFF).addRule("sonarjs/unverified-hostname", ERROR).addRule("sonarjs/updated-const-var", OFF).addRule("sonarjs/updated-loop-counter", WARNING).addRule("sonarjs/use-type-alias", WARNING).addRule("sonarjs/void-use", OFF).addOverrides();
|
|
1278
1298
|
return builder.getAllConfigs();
|
|
1279
1299
|
};
|
|
1280
1300
|
|
|
@@ -1510,7 +1530,7 @@ var tsEslintConfig = (options = {}, internalOptions = {}) => {
|
|
|
1510
1530
|
}).addAnyRule("constructor-super", OFF).addAnyRule("getter-return", OFF).addAnyRule("no-const-assign", OFF).addAnyRule("no-dupe-args", OFF).addAnyRule("no-dupe-class-members", OFF).addAnyRule("no-dupe-keys", OFF).addAnyRule("no-func-assign", OFF).addAnyRule("no-new-native-nonconstructor", OFF).addAnyRule("no-obj-calls", OFF).addAnyRule("no-setter-return", OFF).addAnyRule("no-this-before-super", OFF).addAnyRule("no-undef", OFF).addAnyRule("no-unsafe-negation", OFF).addAnyRule("no-duplicate-imports", OFF);
|
|
1511
1531
|
builder.addConfig("ts/dts", {
|
|
1512
1532
|
files: ["**/*.d.?([cm])ts"]
|
|
1513
|
-
}).addRule("@typescript-eslint/consistent-indexed-object-style", OFF).addRule("@typescript-eslint/method-signature-style", OFF).addRule("@typescript-eslint/no-empty-object-type", OFF).addRule("@typescript-eslint/no-explicit-any", OFF).addRule("@typescript-eslint/no-shadow", OFF).addRule("@typescript-eslint/no-unnecessary-type-parameters", OFF).addRule("@typescript-eslint/no-unused-vars", OFF).addRule("@typescript-eslint/no-use-before-define", OFF).addAnyRule("import/newline-after-import", OFF).addAnyRule("import/no-default-export", OFF).addAnyRule("vars-on-top", OFF).addAnyRule("no-var", OFF);
|
|
1533
|
+
}).addRule("@typescript-eslint/consistent-indexed-object-style", OFF).addRule("@typescript-eslint/method-signature-style", OFF).addRule("@typescript-eslint/no-empty-object-type", OFF).addRule("@typescript-eslint/no-explicit-any", OFF).addRule("@typescript-eslint/no-shadow", OFF).addRule("@typescript-eslint/no-unnecessary-type-parameters", OFF).addRule("@typescript-eslint/no-unused-vars", OFF).addRule("@typescript-eslint/no-use-before-define", OFF).addAnyRule("import/newline-after-import", OFF).addAnyRule("import/no-default-export", OFF).addAnyRule("vars-on-top", OFF).addAnyRule("no-var", OFF).addAnyRule("sonarjs/no-redundant-optional", OFF);
|
|
1514
1534
|
if (options.noTypeAssertion) {
|
|
1515
1535
|
builder.addConfig("ts/no-type-assertion", {
|
|
1516
1536
|
plugins: {
|
|
@@ -2052,6 +2072,10 @@ var eslintConfig = (options = {}) => {
|
|
|
2052
2072
|
const packageJsonOptions = {
|
|
2053
2073
|
...assignOptions(configsOptions, "packageJson")
|
|
2054
2074
|
};
|
|
2075
|
+
const isPerfectionistEnabled = Boolean(configsOptions.perfectionist ?? false);
|
|
2076
|
+
const perfectionistOptions = {
|
|
2077
|
+
...assignOptions(configsOptions, "perfectionist")
|
|
2078
|
+
};
|
|
2055
2079
|
const internalOptions = {
|
|
2056
2080
|
globalOptions: options,
|
|
2057
2081
|
isTypescriptEnabled,
|
|
@@ -2109,6 +2133,7 @@ var eslintConfig = (options = {}) => {
|
|
|
2109
2133
|
isTomlEnabled && tomlEslintConfig(tomlOptions, internalOptions),
|
|
2110
2134
|
isJsoncEnabled && jsoncEslintConfig(jsoncOptions, internalOptions),
|
|
2111
2135
|
isPackageJsonEnabled && packageJsonEslintConfig(packageJsonOptions, internalOptions),
|
|
2136
|
+
isPerfectionistEnabled && perfectionistEslintConfig(perfectionistOptions, internalOptions),
|
|
2112
2137
|
isTypescriptEnabled && tsEslintConfig(tsOptions, internalOptions),
|
|
2113
2138
|
// Must come after all rulesets for vanilla JS
|
|
2114
2139
|
isVueEnabled && vueEslintConfig(vueOptions, internalOptions),
|