@bastidood/eslint-config 0.4.0 → 0.6.1

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/core.mjs CHANGED
@@ -1,6 +1,11 @@
1
- import { i as CORE$1, n as writeEslintRules, r as writeExtensionRules, t as writeCategoryRules } from "./convert-DXU3Htlu.mjs";
1
+ import { t as CORE$1 } from "./core-tXylD6ZH.mjs";
2
+ import { n as writeEslintRules, r as writeExtensionRules, t as writeCategoryRules } from "./convert-BtTj7vbK.mjs";
2
3
  import SLOPSTOPPER from "@bastidood/eslint-plugin-slopstopper";
4
+ import { createTypeScriptImportResolver } from "eslint-import-resolver-typescript";
3
5
  import { importX } from "eslint-plugin-import-x";
6
+ import jsdocPlugin from "eslint-plugin-jsdoc";
7
+ import promisePlugin from "eslint-plugin-promise";
8
+ import unicornPlugin from "eslint-plugin-unicorn";
4
9
  import tseslint from "typescript-eslint";
5
10
  // src/core.ts
6
11
  const { categories: CATEGORIES, overrides: OVERRIDES, plugins: PLUGINS, rules: OXLINT_RULES } = CORE$1.config;
@@ -24,7 +29,10 @@ for (const { files, rules } of OVERRIDES) {
24
29
  const PLUGIN_DEFINITIONS = {
25
30
  "@typescript-eslint": TYPESCRIPT_ESLINT,
26
31
  import: importX,
27
- slopstopper: SLOPSTOPPER
32
+ jsdoc: jsdocPlugin,
33
+ promise: promisePlugin,
34
+ slopstopper: SLOPSTOPPER,
35
+ unicorn: unicornPlugin
28
36
  };
29
37
  const RESTRICTIONS = {
30
38
  ...CORE$1.restrictions,
@@ -45,8 +53,9 @@ const RESTRICTIONS = {
45
53
  ]
46
54
  };
47
55
  /**
48
- * ESLint core, `import`, and type-aware `@typescript-eslint` rules, generated from the Oxlint `core` entry point. The
49
- * TypeScript project service finds the `tsconfig.json` nearest each file, searching up to the working directory.
56
+ * ESLint core, `import`, `jsdoc`, `promise`, type-aware `@typescript-eslint`, and `unicorn` rules, generated from the
57
+ * Oxlint `core` entry point. The TypeScript project service finds the `tsconfig.json` nearest each file, searching up
58
+ * to the working directory.
50
59
  */
51
60
  const CORE = {
52
61
  configs: [{
@@ -58,6 +67,23 @@ const CORE = {
58
67
  plugins: PLUGIN_DEFINITIONS,
59
68
  rules: RULES
60
69
  }, OVERRIDE_CONFIGS],
70
+ importExtensions: [
71
+ ".ts",
72
+ ".tsx",
73
+ ".cts",
74
+ ".mts",
75
+ ".js",
76
+ ".jsx",
77
+ ".cjs",
78
+ ".mjs"
79
+ ],
80
+ importParsers: { "@typescript-eslint/parser": [
81
+ ".ts",
82
+ ".tsx",
83
+ ".cts",
84
+ ".mts"
85
+ ] },
86
+ importResolvers: [createTypeScriptImportResolver()],
61
87
  restrictions: RESTRICTIONS
62
88
  };
63
89
  export { CORE };
package/dist/node.mjs CHANGED
@@ -1,4 +1,5 @@
1
- import { i as CORE, n as writeEslintRules, t as writeCategoryRules } from "./convert-DXU3Htlu.mjs";
1
+ import { t as CORE } from "./core-tXylD6ZH.mjs";
2
+ import { n as writeEslintRules, t as writeCategoryRules } from "./convert-BtTj7vbK.mjs";
2
3
  import nodePlugin from "eslint-plugin-n";
3
4
  // ../oxlint/src/node.ts
4
5
  /** Node.js rules for code that runs on Node.js. */
@@ -0,0 +1,3 @@
1
+ import { Entry } from "../compose/index.mjs";
2
+ /** TanStack Query rules for every framework adapter, generated from the Oxlint `tanstack/query` entry point. */
3
+ export declare const TANSTACK_QUERY: Entry;
@@ -0,0 +1,24 @@
1
+ import { n as writeEslintRules } from "../convert-BtTj7vbK.mjs";
2
+ // ../oxlint/src/tanstack/query.ts
3
+ /** TanStack Query rules that apply to every framework adapter. */
4
+ const TANSTACK_QUERY$1 = { config: {
5
+ jsPlugins: [{
6
+ name: "slopstopper",
7
+ specifier: "@bastidood/eslint-plugin-slopstopper"
8
+ }],
9
+ rules: {
10
+ "slopstopper/no-defaulted-query-key": "error",
11
+ "slopstopper/no-mutate-callback-cache-update": "error",
12
+ "slopstopper/no-standalone-mutate-async": "error",
13
+ "slopstopper/prefer-query-key-context": "error"
14
+ }
15
+ } };
16
+ // src/tanstack/query.ts
17
+ const RULES = {};
18
+ writeEslintRules(RULES, TANSTACK_QUERY$1.config.rules);
19
+ /** TanStack Query rules for every framework adapter, generated from the Oxlint `tanstack/query` entry point. */
20
+ const TANSTACK_QUERY = { configs: [{
21
+ name: "@bastidood/eslint-config/tanstack/query",
22
+ rules: RULES
23
+ }] };
24
+ export { TANSTACK_QUERY };
@@ -0,0 +1,3 @@
1
+ import { Entry } from "../compose/index.mjs";
2
+ /** TanStack Table rules for every framework adapter, generated from the Oxlint `tanstack/table` entry point. */
3
+ export declare const TANSTACK_TABLE: Entry;
@@ -0,0 +1,64 @@
1
+ import { n as writeEslintRules } from "../convert-BtTj7vbK.mjs";
2
+ // ../oxlint/src/tanstack/table.ts
3
+ const STOCK_FEATURES_MESSAGE = "Register only the features that this table uses in `tableFeatures({...})`. `stockFeatures` hides which features the table depends on and keeps every unused feature in the bundle. Do not suppress this.";
4
+ const RAW_TEMPLATE_MESSAGE = "Render through `FlexRender` with `cell`, `header`, or `footer` instead of reading the column template. For cells, it renders `aggregatedCell` and skips placeholders, and calling a template directly runs its hooks in the calling component. For a column label, use `column.id` or a label map.";
5
+ /** TanStack Table rules that apply to every framework adapter. */
6
+ const TANSTACK_TABLE$1 = {
7
+ config: {
8
+ jsPlugins: [{
9
+ name: "slopstopper",
10
+ specifier: "@bastidood/eslint-plugin-slopstopper"
11
+ }],
12
+ rules: {
13
+ "slopstopper/no-render-scoped-table-schema": "error",
14
+ "slopstopper/prefer-table-atoms": "error",
15
+ "slopstopper/require-exclusive-indeterminate": "error",
16
+ "slopstopper/require-table-state-pairs": "error"
17
+ }
18
+ },
19
+ restrictions: {
20
+ importPaths: [
21
+ {
22
+ name: "@tanstack/table-core",
23
+ importNames: ["stockFeatures"],
24
+ message: STOCK_FEATURES_MESSAGE
25
+ },
26
+ {
27
+ name: "@tanstack/react-table",
28
+ importNames: ["stockFeatures"],
29
+ message: STOCK_FEATURES_MESSAGE
30
+ },
31
+ {
32
+ name: "@tanstack/svelte-table",
33
+ importNames: ["stockFeatures"],
34
+ message: STOCK_FEATURES_MESSAGE
35
+ }
36
+ ],
37
+ syntax: [
38
+ {
39
+ selector: "MemberExpression[property.name=/^(?:cell|header|footer|aggregatedCell)$/]:matches([object.name=\"columnDef\"], [object.property.name=\"columnDef\"])",
40
+ message: RAW_TEMPLATE_MESSAGE
41
+ },
42
+ {
43
+ selector: "VariableDeclarator:matches([init.name=\"columnDef\"], [init.property.name=\"columnDef\"]) > ObjectPattern > Property[key.name=/^(?:cell|header|footer|aggregatedCell)$/]",
44
+ message: RAW_TEMPLATE_MESSAGE
45
+ },
46
+ {
47
+ selector: "Property[key.name=\"columnDef\"] > ObjectPattern > Property[key.name=/^(?:cell|header|footer|aggregatedCell)$/]",
48
+ message: RAW_TEMPLATE_MESSAGE
49
+ }
50
+ ]
51
+ }
52
+ };
53
+ // src/tanstack/table.ts
54
+ const RULES = {};
55
+ writeEslintRules(RULES, TANSTACK_TABLE$1.config.rules);
56
+ /** TanStack Table rules for every framework adapter, generated from the Oxlint `tanstack/table` entry point. */
57
+ const TANSTACK_TABLE = {
58
+ configs: [{
59
+ name: "@bastidood/eslint-config/tanstack/table",
60
+ rules: RULES
61
+ }],
62
+ restrictions: TANSTACK_TABLE$1.restrictions
63
+ };
64
+ export { TANSTACK_TABLE };
package/dist/vitest.mjs CHANGED
@@ -1,7 +1,7 @@
1
- import { i as CORE, n as writeEslintRules, t as writeCategoryRules } from "./convert-DXU3Htlu.mjs";
1
+ import { t as CORE } from "./core-tXylD6ZH.mjs";
2
+ import { n as writeEslintRules, t as writeCategoryRules } from "./convert-BtTj7vbK.mjs";
2
3
  import vitestPlugin from "@vitest/eslint-plugin";
3
4
  // ../oxlint/src/vitest.ts
4
- /** Steers module mocks toward dependency injection, as honest functions take their external collaborators as parameters. */
5
5
  const MODULE_MOCK_MESSAGE = "A module mock swaps out a dependency that the code under test hides. Make the code honest instead: have it take the stateful or external collaborator (a database, network client, file system, or clock) as a parameter, inject the real one from the entry point, and pass a fake in the test. If a mock is unavoidable, suppress this diagnostic with a reason and mock through `import()` so that the path stays type-checked.";
6
6
  const VITEST$1 = { config: {
7
7
  plugins: ["vitest"],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bastidood/eslint-config",
3
- "version": "0.4.0",
3
+ "version": "0.6.1",
4
4
  "description": "Strict baseline ESLint configuration generated from @bastidood/oxlint-config.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/BastiDood/slopstopper",
@@ -10,14 +10,16 @@
10
10
  "directory": "configs/eslint"
11
11
  },
12
12
  "type": "module",
13
+ "imports": {
14
+ "#*": "./src/*"
15
+ },
13
16
  "exports": {
14
17
  ".": "./dist/compose/index.mjs",
15
18
  "./core": "./dist/core.mjs",
16
- "./unicorn": "./dist/unicorn.mjs",
17
- "./promise": "./dist/promise.mjs",
18
19
  "./node": "./dist/node.mjs",
19
20
  "./vitest": "./dist/vitest.mjs",
20
- "./jsdoc": "./dist/jsdoc.mjs"
21
+ "./tanstack/query": "./dist/tanstack/query.mjs",
22
+ "./tanstack/table": "./dist/tanstack/table.mjs"
21
23
  },
22
24
  "files": [
23
25
  "dist"
@@ -26,22 +28,24 @@
26
28
  "access": "public"
27
29
  },
28
30
  "dependencies": {
29
- "@bastidood/eslint-plugin-slopstopper": "^0.3.0",
31
+ "@bastidood/eslint-plugin-slopstopper": "^0.5.1",
30
32
  "@vitest/eslint-plugin": "^1.6.28",
33
+ "eslint-import-resolver-typescript": "^4.4.5",
31
34
  "eslint-plugin-import-x": "^4.17.1",
32
- "eslint-plugin-jsdoc": "^65.4.2",
35
+ "eslint-plugin-jsdoc": "^65.4.4",
33
36
  "eslint-plugin-n": "^18.5.0",
34
37
  "eslint-plugin-promise": "^7.3.0",
35
38
  "eslint-plugin-unicorn": "^79.0.0",
36
39
  "typescript-eslint": "^8.72.1"
37
40
  },
38
41
  "devDependencies": {
39
- "@bastidood/oxlint-config": "0.4.0",
42
+ "@bastidood/oxlint-config": "0.6.1",
40
43
  "@bastidood/tsconfig": "0.1.1",
44
+ "@types/node": "^26.6.6",
41
45
  "@typescript/native": "npm:typescript@^7.0.2",
42
- "eslint": "^10.13.0",
43
- "eslint-plugin-oxlint": "^1.90.0",
44
- "tsdown": "^0.23.4",
46
+ "eslint": "^10.14.0",
47
+ "eslint-plugin-oxlint": "^1.92.0",
48
+ "tsdown": "0.23.5",
45
49
  "typescript": "npm:@typescript/typescript6@^6.0.2"
46
50
  },
47
51
  "peerDependencies": {
package/dist/jsdoc.d.mts DELETED
@@ -1,3 +0,0 @@
1
- import { Entry } from "./compose/index.mjs";
2
- /** `eslint-plugin-jsdoc` rules, generated from the Oxlint `jsdoc` entry point. */
3
- export declare const JSDOC: Entry;
package/dist/jsdoc.mjs DELETED
@@ -1,42 +0,0 @@
1
- import { i as CORE, n as writeEslintRules, t as writeCategoryRules } from "./convert-DXU3Htlu.mjs";
2
- import jsdocPlugin from "eslint-plugin-jsdoc";
3
- // ../oxlint/src/jsdoc.ts
4
- const JSDOC$1 = { config: {
5
- plugins: ["jsdoc"],
6
- rules: {
7
- "jsdoc/check-access": "off",
8
- "jsdoc/check-property-names": "off",
9
- "jsdoc/check-tag-names": ["error", { typed: true }],
10
- "jsdoc/empty-tags": "error",
11
- "jsdoc/implements-on-classes": "off",
12
- "jsdoc/no-blank-blocks": ["error", { enableFixer: true }],
13
- "jsdoc/no-defaults": "off",
14
- "jsdoc/require-param": "off",
15
- "jsdoc/require-param-description": "error",
16
- "jsdoc/require-param-name": "error",
17
- "jsdoc/require-param-type": "off",
18
- "jsdoc/require-property": "off",
19
- "jsdoc/require-property-description": "off",
20
- "jsdoc/require-property-name": "off",
21
- "jsdoc/require-property-type": "off",
22
- "jsdoc/require-returns": "off",
23
- "jsdoc/require-returns-description": "error",
24
- "jsdoc/require-returns-type": "off",
25
- "jsdoc/require-throws-description": "error",
26
- "jsdoc/require-throws-type": "off",
27
- "jsdoc/require-yields": "off",
28
- "jsdoc/require-yields-description": "error",
29
- "jsdoc/require-yields-type": "off"
30
- }
31
- } };
32
- // src/jsdoc.ts
33
- const RULES = {};
34
- writeCategoryRules(RULES, CORE.config.categories, JSDOC$1.config.plugins);
35
- writeEslintRules(RULES, JSDOC$1.config.rules);
36
- /** `eslint-plugin-jsdoc` rules, generated from the Oxlint `jsdoc` entry point. */
37
- const JSDOC = { configs: [{
38
- name: "@bastidood/eslint-config/jsdoc",
39
- plugins: { jsdoc: jsdocPlugin },
40
- rules: RULES
41
- }] };
42
- export { JSDOC };
@@ -1,3 +0,0 @@
1
- import { Entry } from "./compose/index.mjs";
2
- /** `eslint-plugin-promise` rules, generated from the Oxlint `promise` entry point. */
3
- export declare const PROMISE: Entry;
package/dist/promise.mjs DELETED
@@ -1,30 +0,0 @@
1
- import { i as CORE, n as writeEslintRules, t as writeCategoryRules } from "./convert-DXU3Htlu.mjs";
2
- import promisePlugin from "eslint-plugin-promise";
3
- // ../oxlint/src/promise.ts
4
- const PROMISE$1 = { config: {
5
- plugins: ["promise"],
6
- rules: {
7
- "promise/always-return": "off",
8
- "promise/avoid-new": "error",
9
- "promise/no-callback-in-promise": "off",
10
- "promise/no-multiple-resolved": "error",
11
- "promise/no-new-statics": "off",
12
- "promise/no-promise-in-callback": "error",
13
- "promise/param-names": "error",
14
- "promise/prefer-await-to-callbacks": "error",
15
- "promise/prefer-await-to-then": ["error", { strict: true }],
16
- "promise/spec-only": "error",
17
- "promise/valid-params": "off"
18
- }
19
- } };
20
- // src/promise.ts
21
- const RULES = {};
22
- writeCategoryRules(RULES, CORE.config.categories, PROMISE$1.config.plugins);
23
- writeEslintRules(RULES, PROMISE$1.config.rules);
24
- /** `eslint-plugin-promise` rules, generated from the Oxlint `promise` entry point. */
25
- const PROMISE = { configs: [{
26
- name: "@bastidood/eslint-config/promise",
27
- plugins: { promise: promisePlugin },
28
- rules: RULES
29
- }] };
30
- export { PROMISE };
@@ -1,3 +0,0 @@
1
- import { Entry } from "./compose/index.mjs";
2
- /** `eslint-plugin-unicorn` rules, generated from the Oxlint `unicorn` entry point. */
3
- export declare const UNICORN: Entry;
package/dist/unicorn.mjs DELETED
@@ -1,146 +0,0 @@
1
- import { i as CORE, n as writeEslintRules, t as writeCategoryRules } from "./convert-DXU3Htlu.mjs";
2
- import unicornPlugin from "eslint-plugin-unicorn";
3
- // ../oxlint/src/unicorn.ts
4
- const UNICORN$1 = { config: {
5
- plugins: ["unicorn"],
6
- rules: {
7
- "unicorn/catch-error-name": "error",
8
- "unicorn/consistent-assert": "error",
9
- "unicorn/consistent-date-clone": "error",
10
- "unicorn/consistent-empty-array-spread": "error",
11
- "unicorn/consistent-existence-index-check": "error",
12
- "unicorn/consistent-function-scoping": "error",
13
- "unicorn/consistent-template-literal-escape": "error",
14
- "unicorn/custom-error-definition": "error",
15
- "unicorn/error-message": "error",
16
- "unicorn/escape-case": "error",
17
- "unicorn/explicit-length-check": "error",
18
- "unicorn/explicit-timer-delay": "error",
19
- "unicorn/filename-case": ["error", { case: "kebabCase" }],
20
- "unicorn/import-style": "off",
21
- "unicorn/max-nested-calls": "error",
22
- "unicorn/new-for-builtins": "error",
23
- "unicorn/no-abusive-eslint-disable": "error",
24
- "unicorn/no-accessor-recursion": "error",
25
- "unicorn/no-array-callback-reference": "error",
26
- "unicorn/no-array-fill-with-reference-type": "error",
27
- "unicorn/no-array-for-each": "error",
28
- "unicorn/no-array-method-this-argument": "error",
29
- "unicorn/no-array-reverse": "off",
30
- "unicorn/no-array-sort": "off",
31
- "unicorn/no-await-expression-member": "error",
32
- "unicorn/no-await-in-promise-methods": "error",
33
- "unicorn/no-confusing-array-with": "off",
34
- "unicorn/no-document-cookie": "error",
35
- "unicorn/no-empty-file": "error",
36
- "unicorn/no-hex-escape": "error",
37
- "unicorn/no-immediate-mutation": "error",
38
- "unicorn/no-instanceof-array": "error",
39
- "unicorn/no-instanceof-builtins": ["error", { useErrorIsError: true }],
40
- "unicorn/no-invalid-fetch-options": "error",
41
- "unicorn/no-invalid-remove-event-listener": "off",
42
- "unicorn/no-length-as-slice-end": "error",
43
- "unicorn/no-lonely-if": "error",
44
- "unicorn/no-magic-array-flat-depth": "error",
45
- "unicorn/no-negation-in-equality-check": "error",
46
- "unicorn/no-new-array": "error",
47
- "unicorn/no-new-buffer": "error",
48
- "unicorn/no-object-as-default-parameter": "error",
49
- "unicorn/no-process-exit": "error",
50
- "unicorn/no-single-promise-in-promise-methods": "error",
51
- "unicorn/no-static-only-class": "error",
52
- "unicorn/no-thenable": "error",
53
- "unicorn/no-unnecessary-array-flat-depth": "error",
54
- "unicorn/no-unnecessary-array-splice-count": "error",
55
- "unicorn/no-unnecessary-await": "off",
56
- "unicorn/no-unnecessary-slice-end": "error",
57
- "unicorn/no-unreadable-array-destructuring": "error",
58
- "unicorn/no-unreadable-iife": "error",
59
- "unicorn/no-useless-collection-argument": "error",
60
- "unicorn/no-useless-error-capture-stack-trace": "error",
61
- "unicorn/no-useless-fallback-in-spread": "error",
62
- "unicorn/no-useless-iterator-to-array": "error",
63
- "unicorn/no-useless-length-check": "error",
64
- "unicorn/no-useless-promise-resolve-reject": "error",
65
- "unicorn/no-useless-spread": "error",
66
- "unicorn/no-useless-switch-case": "error",
67
- "unicorn/no-zero-fractions": "error",
68
- "unicorn/number-literal-case": "off",
69
- "unicorn/numeric-separators-style": "error",
70
- "unicorn/prefer-add-event-listener": "error",
71
- "unicorn/prefer-array-find": "off",
72
- "unicorn/prefer-array-flat": "error",
73
- "unicorn/prefer-array-flat-map": "error",
74
- "unicorn/prefer-array-index-of": "error",
75
- "unicorn/prefer-array-some": "error",
76
- "unicorn/prefer-at": "error",
77
- "unicorn/prefer-bigint-literals": "error",
78
- "unicorn/prefer-blob-reading-methods": "error",
79
- "unicorn/prefer-class-fields": "error",
80
- "unicorn/prefer-classlist-toggle": "error",
81
- "unicorn/prefer-code-point": "error",
82
- "unicorn/prefer-date-now": "error",
83
- "unicorn/prefer-default-parameters": "error",
84
- "unicorn/prefer-dom-node-append": "error",
85
- "unicorn/prefer-dom-node-dataset": "error",
86
- "unicorn/prefer-dom-node-remove": "error",
87
- "unicorn/prefer-dom-node-text-content": "error",
88
- "unicorn/prefer-event-target": "error",
89
- "unicorn/prefer-export-from": "error",
90
- "unicorn/prefer-global-this": "error",
91
- "unicorn/prefer-import-meta-properties": "error",
92
- "unicorn/prefer-keyboard-event-key": "error",
93
- "unicorn/prefer-logical-operator-over-ternary": "error",
94
- "unicorn/prefer-math-min-max": "error",
95
- "unicorn/prefer-math-trunc": "error",
96
- "unicorn/prefer-modern-dom-apis": "error",
97
- "unicorn/prefer-modern-math-apis": "error",
98
- "unicorn/prefer-module": "error",
99
- "unicorn/prefer-native-coercion-functions": "error",
100
- "unicorn/prefer-negative-index": "error",
101
- "unicorn/prefer-node-protocol": "error",
102
- "unicorn/prefer-number-coercion": "error",
103
- "unicorn/prefer-number-properties": ["error", { checkInfinity: true }],
104
- "unicorn/prefer-object-from-entries": "error",
105
- "unicorn/prefer-optional-catch-binding": "off",
106
- "unicorn/prefer-prototype-methods": "error",
107
- "unicorn/prefer-query-selector": "error",
108
- "unicorn/prefer-reflect-apply": "off",
109
- "unicorn/prefer-regexp-test": "error",
110
- "unicorn/prefer-response-static-json": "error",
111
- "unicorn/prefer-set-has": "error",
112
- "unicorn/prefer-set-size": "error",
113
- "unicorn/prefer-single-call": "error",
114
- "unicorn/prefer-spread": "error",
115
- "unicorn/prefer-string-raw": "error",
116
- "unicorn/prefer-string-replace-all": "error",
117
- "unicorn/prefer-string-slice": "error",
118
- "unicorn/prefer-string-starts-ends-with": "off",
119
- "unicorn/prefer-string-trim-start-end": "error",
120
- "unicorn/prefer-structured-clone": "error",
121
- "unicorn/prefer-ternary": "error",
122
- "unicorn/prefer-top-level-await": "error",
123
- "unicorn/prefer-type-error": "error",
124
- "unicorn/relative-url-style": "error",
125
- "unicorn/require-array-join-separator": "error",
126
- "unicorn/require-module-attributes": "error",
127
- "unicorn/require-module-specifiers": "off",
128
- "unicorn/require-number-to-fixed-digits-argument": "error",
129
- "unicorn/require-post-message-target-origin": "error",
130
- "unicorn/switch-case-braces": ["error", "avoid"],
131
- "unicorn/switch-case-break-position": "error",
132
- "unicorn/text-encoding-identifier-case": "error",
133
- "unicorn/throw-new-error": "error"
134
- }
135
- } };
136
- // src/unicorn.ts
137
- const RULES = {};
138
- writeCategoryRules(RULES, CORE.config.categories, UNICORN$1.config.plugins);
139
- writeEslintRules(RULES, UNICORN$1.config.rules);
140
- /** `eslint-plugin-unicorn` rules, generated from the Oxlint `unicorn` entry point. */
141
- const UNICORN = { configs: [{
142
- name: "@bastidood/eslint-config/unicorn",
143
- plugins: { unicorn: unicornPlugin },
144
- rules: RULES
145
- }] };
146
- export { UNICORN };