@bastidood/eslint-config 0.0.0-stage → 0.1.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.
@@ -0,0 +1,6 @@
1
+ import { Entry } from "./compose/index.mjs";
2
+ /**
3
+ * ESLint core, `import`, and type-aware `@typescript-eslint` rules, generated from the Oxlint `core` entry point. The
4
+ * TypeScript project service finds the `tsconfig.json` nearest each file, searching up to the working directory.
5
+ */
6
+ export declare const CORE: Entry;
package/dist/core.mjs ADDED
@@ -0,0 +1,61 @@
1
+ import { i as CORE$1, n as writeEslintRules, r as writeExtensionRules, t as writeCategoryRules } from "./convert-CYKE8SNU.mjs";
2
+ import { importX } from "eslint-plugin-import-x";
3
+ import tseslint from "typescript-eslint";
4
+ // src/core.ts
5
+ const { categories: CATEGORIES, overrides: OVERRIDES, plugins: PLUGINS, rules: OXLINT_RULES } = CORE$1.config;
6
+ const TYPESCRIPT_ESLINT = tseslint.plugin;
7
+ const RULES = {};
8
+ writeCategoryRules(RULES, CATEGORIES, ["eslint"]);
9
+ writeCategoryRules(RULES, CATEGORIES, PLUGINS);
10
+ writeEslintRules(RULES, OXLINT_RULES);
11
+ writeExtensionRules(RULES, OXLINT_RULES, TYPESCRIPT_ESLINT.rules);
12
+ const OVERRIDE_CONFIGS = [];
13
+ for (const { files, rules } of OVERRIDES) {
14
+ const overrideRules = {};
15
+ writeEslintRules(overrideRules, rules);
16
+ writeExtensionRules(overrideRules, rules, TYPESCRIPT_ESLINT.rules);
17
+ OVERRIDE_CONFIGS.push({
18
+ name: "@bastidood/eslint-config/core",
19
+ files,
20
+ rules: overrideRules
21
+ });
22
+ }
23
+ const PLUGIN_DEFINITIONS = {
24
+ "@typescript-eslint": TYPESCRIPT_ESLINT,
25
+ import: importX
26
+ };
27
+ const RESTRICTIONS = {
28
+ ...CORE$1.restrictions,
29
+ syntax: [
30
+ ...CORE$1.restrictions.syntax,
31
+ {
32
+ selector: "TSEnumDeclaration[const=true]",
33
+ message: "Do not declare a `const enum`: under `isolatedModules`, which `verbatimModuleSyntax` implies, it compiles to the same runtime object as a plain `enum` and is not inlined across files. Use a union of string literal types instead, or integer constants for bit flags."
34
+ },
35
+ {
36
+ selector: "ExpressionStatement > NewExpression[callee.name=/Error$/]",
37
+ message: "This error is constructed but never thrown. Add `throw` in front of `new`."
38
+ },
39
+ {
40
+ selector: "BinaryExpression[operator=\"*\"][left.type=\"Literal\"][left.value=0], BinaryExpression[operator=\"*\"][right.type=\"Literal\"][right.value=0], BinaryExpression[operator=\"&\"][right.type=\"Literal\"][right.value=0], BinaryExpression[operator=\"/\"][left.type=\"Literal\"][left.value=0]",
41
+ message: "This operation always evaluates to `0`. Write `0` directly, or fix the operand."
42
+ }
43
+ ]
44
+ };
45
+ /**
46
+ * ESLint core, `import`, and type-aware `@typescript-eslint` rules, generated from the Oxlint `core` entry point. The
47
+ * TypeScript project service finds the `tsconfig.json` nearest each file, searching up to the working directory.
48
+ */
49
+ const CORE = {
50
+ configs: [{
51
+ name: "@bastidood/eslint-config/core",
52
+ languageOptions: {
53
+ parser: tseslint.parser,
54
+ parserOptions: { projectService: true }
55
+ },
56
+ plugins: PLUGIN_DEFINITIONS,
57
+ rules: RULES
58
+ }, OVERRIDE_CONFIGS],
59
+ restrictions: RESTRICTIONS
60
+ };
61
+ export { CORE };
@@ -0,0 +1,3 @@
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 ADDED
@@ -0,0 +1,42 @@
1
+ import { i as CORE, n as writeEslintRules, t as writeCategoryRules } from "./convert-CYKE8SNU.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 };
@@ -0,0 +1,3 @@
1
+ import { Entry } from "./compose/index.mjs";
2
+ /** `eslint-plugin-n` rules, generated from the Oxlint `node` entry point. */
3
+ export declare const NODE: Entry;
package/dist/node.mjs ADDED
@@ -0,0 +1,25 @@
1
+ import { i as CORE, n as writeEslintRules, t as writeCategoryRules } from "./convert-CYKE8SNU.mjs";
2
+ import nodePlugin from "eslint-plugin-n";
3
+ // ../oxlint/src/node.ts
4
+ /** Node.js rules for code that runs on Node.js. */
5
+ const NODE$1 = { config: {
6
+ plugins: ["node"],
7
+ rules: {
8
+ "node/callback-return": "off",
9
+ "node/handle-callback-err": "error",
10
+ "node/no-exports-assign": "error",
11
+ "node/no-path-concat": "error",
12
+ "node/no-sync": "error"
13
+ }
14
+ } };
15
+ // src/node.ts
16
+ const RULES = {};
17
+ writeCategoryRules(RULES, CORE.config.categories, NODE$1.config.plugins);
18
+ writeEslintRules(RULES, NODE$1.config.rules);
19
+ /** `eslint-plugin-n` rules, generated from the Oxlint `node` entry point. */
20
+ const NODE = { configs: [{
21
+ name: "@bastidood/eslint-config/node",
22
+ plugins: { n: nodePlugin },
23
+ rules: RULES
24
+ }] };
25
+ export { NODE };
@@ -0,0 +1,3 @@
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;
@@ -0,0 +1,30 @@
1
+ import { i as CORE, n as writeEslintRules, t as writeCategoryRules } from "./convert-CYKE8SNU.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 };
@@ -0,0 +1,3 @@
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;
@@ -0,0 +1,146 @@
1
+ import { i as CORE, n as writeEslintRules, t as writeCategoryRules } from "./convert-CYKE8SNU.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": "error",
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 };
@@ -0,0 +1,3 @@
1
+ import { Entry } from "./compose/index.mjs";
2
+ /** `@vitest/eslint-plugin` rules, generated from the Oxlint `vitest` entry point. */
3
+ export declare const VITEST: Entry;
@@ -0,0 +1,100 @@
1
+ import { i as CORE, n as writeEslintRules, t as writeCategoryRules } from "./convert-CYKE8SNU.mjs";
2
+ import vitestPlugin from "@vitest/eslint-plugin";
3
+ // ../oxlint/src/vitest.ts
4
+ const VITEST$1 = { config: {
5
+ plugins: ["vitest"],
6
+ rules: {
7
+ "vitest/consistent-each-for": ["error", {
8
+ describe: "for",
9
+ it: "for",
10
+ suite: "for",
11
+ test: "for"
12
+ }],
13
+ "vitest/consistent-test-filename": "off",
14
+ "vitest/consistent-test-it": ["error", {
15
+ fn: "test",
16
+ withinDescribe: "test"
17
+ }],
18
+ "vitest/consistent-vitest-vi": "error",
19
+ "vitest/expect-expect": "error",
20
+ "vitest/hoisted-apis-on-top": "error",
21
+ "vitest/max-expects": "off",
22
+ "vitest/max-nested-describe": "off",
23
+ "vitest/no-alias-methods": "error",
24
+ "vitest/no-commented-out-tests": "error",
25
+ "vitest/no-conditional-expect": "error",
26
+ "vitest/no-conditional-in-test": "error",
27
+ "vitest/no-conditional-tests": "error",
28
+ "vitest/no-disabled-tests": "error",
29
+ "vitest/no-duplicate-hooks": "error",
30
+ "vitest/no-focused-tests": "error",
31
+ "vitest/no-hooks": "error",
32
+ "vitest/no-identical-title": "error",
33
+ "vitest/no-import-node-test": "error",
34
+ "vitest/no-importing-vitest-globals": "off",
35
+ "vitest/no-interpolation-in-snapshots": "error",
36
+ "vitest/no-large-snapshots": "error",
37
+ "vitest/no-mocks-import": "error",
38
+ "vitest/no-restricted-matchers": "off",
39
+ "vitest/no-restricted-vi-methods": "off",
40
+ "vitest/no-standalone-expect": "error",
41
+ "vitest/no-test-prefixes": "error",
42
+ "vitest/no-test-return-statement": "error",
43
+ "vitest/no-unneeded-async-expect-function": "error",
44
+ "vitest/padding-around-after-all-blocks": "error",
45
+ "vitest/padding-around-test-blocks": "error",
46
+ "vitest/prefer-called-exactly-once-with": "error",
47
+ "vitest/prefer-called-once": "error",
48
+ "vitest/prefer-called-times": "off",
49
+ "vitest/prefer-called-with": "error",
50
+ "vitest/prefer-comparison-matcher": "error",
51
+ "vitest/prefer-describe-function-title": "error",
52
+ "vitest/prefer-each": "error",
53
+ "vitest/prefer-equality-matcher": "error",
54
+ "vitest/prefer-expect-assertions": "error",
55
+ "vitest/prefer-expect-resolves": "error",
56
+ "vitest/prefer-expect-type-of": "error",
57
+ "vitest/prefer-hooks-in-order": "error",
58
+ "vitest/prefer-hooks-on-top": "error",
59
+ "vitest/prefer-import-in-mock": "error",
60
+ "vitest/prefer-importing-vitest-globals": "error",
61
+ "vitest/prefer-lowercase-title": "error",
62
+ "vitest/prefer-mock-promise-shorthand": "error",
63
+ "vitest/prefer-mock-return-shorthand": "error",
64
+ "vitest/prefer-snapshot-hint": "error",
65
+ "vitest/prefer-spy-on": "error",
66
+ "vitest/prefer-strict-boolean-matchers": "error",
67
+ "vitest/prefer-strict-equal": "error",
68
+ "vitest/prefer-to-be": "error",
69
+ "vitest/prefer-to-be-falsy": "off",
70
+ "vitest/prefer-to-be-object": "error",
71
+ "vitest/prefer-to-be-truthy": "off",
72
+ "vitest/prefer-to-contain": "error",
73
+ "vitest/prefer-to-have-been-called-times": "error",
74
+ "vitest/prefer-to-have-length": "error",
75
+ "vitest/prefer-todo": "error",
76
+ "vitest/require-awaited-expect-poll": "error",
77
+ "vitest/require-hook": "off",
78
+ "vitest/require-local-test-context-for-concurrent-snapshots": "error",
79
+ "vitest/require-mock-type-parameters": "error",
80
+ "vitest/require-test-timeout": "off",
81
+ "vitest/require-to-throw-message": "error",
82
+ "vitest/require-top-level-describe": "off",
83
+ "vitest/valid-describe-callback": "error",
84
+ "vitest/valid-expect": "error",
85
+ "vitest/valid-expect-in-promise": "error",
86
+ "vitest/valid-title": "error",
87
+ "vitest/warn-todo": "error"
88
+ }
89
+ } };
90
+ // src/vitest.ts
91
+ const RULES = {};
92
+ writeCategoryRules(RULES, CORE.config.categories, VITEST$1.config.plugins);
93
+ writeEslintRules(RULES, VITEST$1.config.rules);
94
+ /** `@vitest/eslint-plugin` rules, generated from the Oxlint `vitest` entry point. */
95
+ const VITEST = { configs: [{
96
+ name: "@bastidood/eslint-config/vitest",
97
+ plugins: { vitest: vitestPlugin },
98
+ rules: RULES
99
+ }] };
100
+ export { VITEST };
package/package.json CHANGED
@@ -1,6 +1,53 @@
1
1
  {
2
2
  "name": "@bastidood/eslint-config",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
3
+ "version": "0.1.0",
4
+ "description": "Strict baseline ESLint configuration generated from @bastidood/oxlint-config.",
5
+ "license": "MIT",
6
+ "homepage": "https://github.com/BastiDood/slopstopper",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/BastiDood/slopstopper.git",
10
+ "directory": "configs/eslint"
11
+ },
12
+ "type": "module",
13
+ "exports": {
14
+ ".": "./dist/compose/index.mjs",
15
+ "./core": "./dist/core.mjs",
16
+ "./unicorn": "./dist/unicorn.mjs",
17
+ "./promise": "./dist/promise.mjs",
18
+ "./node": "./dist/node.mjs",
19
+ "./vitest": "./dist/vitest.mjs",
20
+ "./jsdoc": "./dist/jsdoc.mjs"
21
+ },
22
+ "files": [
23
+ "dist"
24
+ ],
25
+ "publishConfig": {
26
+ "access": "public"
27
+ },
28
+ "dependencies": {
29
+ "@vitest/eslint-plugin": "^1.6.28",
30
+ "eslint-plugin-import-x": "^4.17.1",
31
+ "eslint-plugin-jsdoc": "^65.4.2",
32
+ "eslint-plugin-n": "^18.5.0",
33
+ "eslint-plugin-promise": "^7.3.0",
34
+ "eslint-plugin-unicorn": "^79.0.0",
35
+ "typescript-eslint": "^8.72.1"
36
+ },
37
+ "devDependencies": {
38
+ "@bastidood/oxlint-config": "0.1.0",
39
+ "@bastidood/tsconfig": "0.1.0",
40
+ "@typescript/native": "npm:typescript@^7.0.2",
41
+ "eslint": "^10.13.0",
42
+ "eslint-plugin-oxlint": "^1.90.0",
43
+ "tsdown": "^0.23.2",
44
+ "typescript": "npm:@typescript/typescript6@^6.0.2"
45
+ },
46
+ "peerDependencies": {
47
+ "eslint": "^10.0.0",
48
+ "typescript": ">=4.8.4 <6.1.0"
49
+ },
50
+ "scripts": {
51
+ "check": "tsc"
52
+ }
6
53
  }