@nekoyasuii/config 0.1.5 → 0.1.7
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/{chunk-fqcw0kzp.js → chunk-5vqtdgjy.js} +134 -10
- package/dist/{chunk-0xdbbpn5.js → chunk-cpyyjvfv.js} +2 -2
- package/dist/{chunk-08m6971b.js → chunk-k5zpegn9.js} +5 -5
- package/dist/{chunk-41590bpf.js → chunk-tvk9tq03.js} +2 -2
- package/dist/tools/oxfmt/index.js +3 -4
- package/dist/tools/oxlint/config/core/index.js +4 -5
- package/dist/tools/oxlint/config/index.d.ts +47 -45
- package/dist/tools/oxlint/config/index.js +11 -20
- package/dist/tools/oxlint/config/js-plugins/index.d.ts +270 -64
- package/dist/tools/oxlint/config/js-plugins/index.js +6 -7
- package/dist/tools/oxlint/config/react/index.js +3 -4
- package/dist/tools/oxlint/config/remix/index.js +0 -2
- package/dist/tools/oxlint/config/tanstack/index.js +0 -2
- package/dist/tools/oxlint/config/tanstack/js-plugins/index.d.ts +4 -4
- package/dist/tools/oxlint/config/tanstack/js-plugins/index.js +0 -2
- package/dist/tools/oxlint/config/{anti-slop/plugin.js → vendors/anti-slop.js} +717 -35
- package/dist/tools/oxlint/config/{no-comment-slop/plugin.d.ts → vendors/no-comment-slop.d.ts} +34 -0
- package/dist/tools/oxlint/config/{no-comment-slop/plugin.js → vendors/no-comment-slop.js} +72 -8
- package/dist/tools/oxlint/config/vendors/shadcn.d.ts +41 -0
- package/dist/tools/oxlint/config/vendors/shadcn.js +7159 -0
- package/dist/tools/oxlint/rules/index.js +7 -9
- package/dist/tools/shared/ignores.js +3 -4
- package/package.json +3 -13
- package/dist/chunk-5wgwscd0.js +0 -4
- package/dist/chunk-97s6xvc6.js +0 -32
- package/dist/chunk-c8jq73qx.js +0 -38
- package/dist/tools/oxlint/config/anti-slop/index.d.ts +0 -42
- package/dist/tools/oxlint/config/anti-slop/index.js +0 -7
- package/dist/tools/oxlint/config/no-comment-slop/index.d.ts +0 -19
- package/dist/tools/oxlint/config/no-comment-slop/index.js +0 -7
- /package/dist/tools/oxlint/config/{anti-slop/plugin.d.ts → vendors/anti-slop.d.ts} +0 -0
|
@@ -1,42 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* eslint-plugin-github, eslint-plugin-sonarjs, and
|
|
3
|
-
* oxlint-plugin-react-doctor run through oxlint's JS plugin support to close
|
|
4
|
-
* the gap with the ESLint preset and to add React Doctor's extra checks
|
|
5
|
-
*
|
|
6
|
-
* This preset is opt-in: extend it alongside core (and any framework preset)
|
|
7
|
-
* only when you want those rules and accept the extra dependencies plus the
|
|
8
|
-
* slower JS-plugin lint pass. Rules that require type information are not
|
|
9
|
-
* supported by the JS plugin bridge and are excluded
|
|
10
|
-
*
|
|
11
|
-
* The react-doctor rules were previously bundled into the react/next/
|
|
12
|
-
* tanstack presets; they live here now so those framework presets run
|
|
13
|
-
* entirely on oxlint's native Rust rules. Framework-specific react-doctor
|
|
14
|
-
* rules (Next.js, TanStack) are NOT included here, since they fire on generic
|
|
15
|
-
* JSX and would false-positive in other frameworks
|
|
16
|
-
*
|
|
17
|
-
* For Next.js or TanStack, extend ultracite/oxlint/next/js-plugins or
|
|
18
|
-
* ultracite/oxlint/tanstack/js-plugins alongside this preset
|
|
19
|
-
*
|
|
20
|
-
* @example
|
|
21
|
-
* npm install -D eslint-plugin-github eslint-plugin-sonarjs oxlint-plugin-react-doctor
|
|
22
|
-
* import { defineConfig } from "oxlint";
|
|
23
|
-
* import core from "ultracite/oxlint/core";
|
|
24
|
-
* import jsPlugins, { jsPluginSettings } from "ultracite/oxlint/js-plugins";
|
|
25
|
-
* export default defineConfig({
|
|
26
|
-
* extends: [core, jsPlugins],
|
|
27
|
-
* ignorePatterns: core.ignorePatterns,
|
|
28
|
-
* jsPlugins: jsPlugins.jsPlugins,
|
|
29
|
-
* settings: jsPluginSettings,
|
|
30
|
-
* });
|
|
31
|
-
*
|
|
32
|
-
* `jsPlugins: jsPlugins.jsPlugins` re-declares the plugin packages on the
|
|
33
|
-
* root config: oxlint loads them from the extended preset either way, but
|
|
34
|
-
* dependency analyzers such as Knip only read `jsPlugins` off the root and
|
|
35
|
-
* would otherwise flag the packages as unused (#784)
|
|
36
|
-
*
|
|
37
|
-
* To enable only some of the plugins, extend selectJsPlugins(...) instead of
|
|
38
|
-
* the full preset, and see its doc comment below
|
|
39
|
-
*/
|
|
40
1
|
declare const jsPluginEntries: readonly [{
|
|
41
2
|
readonly name: "github";
|
|
42
3
|
readonly specifier: "eslint-plugin-github";
|
|
@@ -49,30 +10,20 @@ declare const jsPluginEntries: readonly [{
|
|
|
49
10
|
}, {
|
|
50
11
|
readonly name: "tailwindcss";
|
|
51
12
|
readonly specifier: "oxlint-tailwindcss";
|
|
13
|
+
}, {
|
|
14
|
+
readonly name: "anti-slop";
|
|
15
|
+
readonly specifier: string;
|
|
16
|
+
}, {
|
|
17
|
+
readonly name: "no-comment-slop";
|
|
18
|
+
readonly specifier: string;
|
|
19
|
+
}, {
|
|
20
|
+
readonly name: "shadcn";
|
|
21
|
+
readonly specifier: string;
|
|
52
22
|
}, {
|
|
53
23
|
readonly name: "lazuee";
|
|
54
24
|
readonly specifier: string;
|
|
55
25
|
}];
|
|
56
26
|
type JSPluginName = (typeof jsPluginEntries)[number]["name"];
|
|
57
|
-
/**
|
|
58
|
-
* react-doctor 0.9.x rewrote its ported oxc/react-refresh rules (notably
|
|
59
|
-
* only-export-components) with a stripped-down default mode: no framework
|
|
60
|
-
* detection, no route-file skipping, and allowConstantExport off, so Next.js
|
|
61
|
-
* route-segment exports (`export const dynamic = ...`, metadata, etc.)
|
|
62
|
-
* false-positive in every route file (#771). "curated" restores the
|
|
63
|
-
* framework-aware behavior these rule selections were curated against.
|
|
64
|
-
*
|
|
65
|
-
* oxlint does not merge `settings` from extended configs, so this preset
|
|
66
|
-
* carrying the settings is not enough, so they must land on the root config:
|
|
67
|
-
*
|
|
68
|
-
* export default defineConfig({
|
|
69
|
-
* extends: [core, jsPlugins],
|
|
70
|
-
* ignorePatterns: core.ignorePatterns,
|
|
71
|
-
* settings: jsPluginSettings,
|
|
72
|
-
* });
|
|
73
|
-
*
|
|
74
|
-
* `ultracite init` wires this into generated configs automatically.
|
|
75
|
-
*/
|
|
76
27
|
export declare const jsPluginSettings: {
|
|
77
28
|
"react-doctor": {
|
|
78
29
|
portedRuleMode: string;
|
|
@@ -103,6 +54,16 @@ declare const config: {
|
|
|
103
54
|
"lazuee/no-ts-accessibility"?: undefined;
|
|
104
55
|
"lazuee/interface-pascal-case"?: undefined;
|
|
105
56
|
"lazuee/canonical-header-names"?: undefined;
|
|
57
|
+
/**
|
|
58
|
+
* Allow pages-router bracketed route filenames while still rejecting non-route names in `pages/`
|
|
59
|
+
*/
|
|
60
|
+
"github/filenames-match-regex"?: undefined;
|
|
61
|
+
"shadcn/no-restyle"?: undefined;
|
|
62
|
+
"shadcn/no-arbitrary-values"?: undefined;
|
|
63
|
+
"shadcn/require-static-classes"?: undefined;
|
|
64
|
+
"shadcn/no-raw-colors"?: undefined;
|
|
65
|
+
"anti-slop/no-unknown-parameters"?: undefined;
|
|
66
|
+
"anti-slop/no-unsafe-dictionary-type"?: undefined;
|
|
106
67
|
};
|
|
107
68
|
} | {
|
|
108
69
|
files: string[];
|
|
@@ -115,6 +76,16 @@ declare const config: {
|
|
|
115
76
|
"lazuee/no-ts-accessibility": "error";
|
|
116
77
|
"lazuee/interface-pascal-case": "error";
|
|
117
78
|
"lazuee/canonical-header-names"?: undefined;
|
|
79
|
+
/**
|
|
80
|
+
* Allow pages-router bracketed route filenames while still rejecting non-route names in `pages/`
|
|
81
|
+
*/
|
|
82
|
+
"github/filenames-match-regex"?: undefined;
|
|
83
|
+
"shadcn/no-restyle"?: undefined;
|
|
84
|
+
"shadcn/no-arbitrary-values"?: undefined;
|
|
85
|
+
"shadcn/require-static-classes"?: undefined;
|
|
86
|
+
"shadcn/no-raw-colors"?: undefined;
|
|
87
|
+
"anti-slop/no-unknown-parameters"?: undefined;
|
|
88
|
+
"anti-slop/no-unsafe-dictionary-type"?: undefined;
|
|
118
89
|
};
|
|
119
90
|
} | {
|
|
120
91
|
files: string[];
|
|
@@ -127,6 +98,127 @@ declare const config: {
|
|
|
127
98
|
"lazuee/no-ts-accessibility"?: undefined;
|
|
128
99
|
"lazuee/interface-pascal-case"?: undefined;
|
|
129
100
|
"lazuee/canonical-header-names": "off";
|
|
101
|
+
/**
|
|
102
|
+
* Allow pages-router bracketed route filenames while still rejecting non-route names in `pages/`
|
|
103
|
+
*/
|
|
104
|
+
"github/filenames-match-regex"?: undefined;
|
|
105
|
+
"shadcn/no-restyle"?: undefined;
|
|
106
|
+
"shadcn/no-arbitrary-values"?: undefined;
|
|
107
|
+
"shadcn/require-static-classes"?: undefined;
|
|
108
|
+
"shadcn/no-raw-colors"?: undefined;
|
|
109
|
+
"anti-slop/no-unknown-parameters"?: undefined;
|
|
110
|
+
"anti-slop/no-unsafe-dictionary-type"?: undefined;
|
|
111
|
+
};
|
|
112
|
+
} | {
|
|
113
|
+
files: string[];
|
|
114
|
+
rules: {
|
|
115
|
+
/**
|
|
116
|
+
* Repeated string literals (test titles, expected values) are normal
|
|
117
|
+
* and idiomatic in test files
|
|
118
|
+
*/
|
|
119
|
+
"sonarjs/no-duplicate-string"?: undefined;
|
|
120
|
+
"lazuee/no-ts-accessibility"?: undefined;
|
|
121
|
+
"lazuee/interface-pascal-case"?: undefined;
|
|
122
|
+
"lazuee/canonical-header-names"?: undefined;
|
|
123
|
+
/**
|
|
124
|
+
* File-based router names (e.g. `__root.tsx`, `posts.$postId.tsx`) do not match the GitHub kebab-case regex
|
|
125
|
+
*/
|
|
126
|
+
"github/filenames-match-regex": "off";
|
|
127
|
+
"shadcn/no-restyle"?: undefined;
|
|
128
|
+
"shadcn/no-arbitrary-values"?: undefined;
|
|
129
|
+
"shadcn/require-static-classes"?: undefined;
|
|
130
|
+
"shadcn/no-raw-colors"?: undefined;
|
|
131
|
+
"anti-slop/no-unknown-parameters"?: undefined;
|
|
132
|
+
"anti-slop/no-unsafe-dictionary-type"?: undefined;
|
|
133
|
+
};
|
|
134
|
+
} | {
|
|
135
|
+
files: string[];
|
|
136
|
+
rules: {
|
|
137
|
+
/**
|
|
138
|
+
* Repeated string literals (test titles, expected values) are normal
|
|
139
|
+
* and idiomatic in test files
|
|
140
|
+
*/
|
|
141
|
+
"sonarjs/no-duplicate-string"?: undefined;
|
|
142
|
+
"lazuee/no-ts-accessibility"?: undefined;
|
|
143
|
+
"lazuee/interface-pascal-case"?: undefined;
|
|
144
|
+
"lazuee/canonical-header-names"?: undefined;
|
|
145
|
+
/**
|
|
146
|
+
* Allow pages-router bracketed route filenames while still rejecting non-route names in `pages/`
|
|
147
|
+
*/
|
|
148
|
+
"github/filenames-match-regex": ["error", string];
|
|
149
|
+
"shadcn/no-restyle"?: undefined;
|
|
150
|
+
"shadcn/no-arbitrary-values"?: undefined;
|
|
151
|
+
"shadcn/require-static-classes"?: undefined;
|
|
152
|
+
"shadcn/no-raw-colors"?: undefined;
|
|
153
|
+
"anti-slop/no-unknown-parameters"?: undefined;
|
|
154
|
+
"anti-slop/no-unsafe-dictionary-type"?: undefined;
|
|
155
|
+
};
|
|
156
|
+
} | {
|
|
157
|
+
files: string[];
|
|
158
|
+
rules: {
|
|
159
|
+
/**
|
|
160
|
+
* Repeated string literals (test titles, expected values) are normal
|
|
161
|
+
* and idiomatic in test files
|
|
162
|
+
*/
|
|
163
|
+
"sonarjs/no-duplicate-string"?: undefined;
|
|
164
|
+
"lazuee/no-ts-accessibility"?: undefined;
|
|
165
|
+
"lazuee/interface-pascal-case"?: undefined;
|
|
166
|
+
"lazuee/canonical-header-names"?: undefined;
|
|
167
|
+
/**
|
|
168
|
+
* Allow pages-router bracketed route filenames while still rejecting non-route names in `pages/`
|
|
169
|
+
*/
|
|
170
|
+
"github/filenames-match-regex"?: undefined;
|
|
171
|
+
"shadcn/no-restyle": "off";
|
|
172
|
+
"shadcn/no-arbitrary-values": "off";
|
|
173
|
+
"shadcn/require-static-classes": "off";
|
|
174
|
+
"shadcn/no-raw-colors"?: undefined;
|
|
175
|
+
"anti-slop/no-unknown-parameters"?: undefined;
|
|
176
|
+
"anti-slop/no-unsafe-dictionary-type"?: undefined;
|
|
177
|
+
};
|
|
178
|
+
} | {
|
|
179
|
+
/** The logo's brand colors are fixed; theme tokens shift between light and dark */
|
|
180
|
+
files: string[];
|
|
181
|
+
rules: {
|
|
182
|
+
/**
|
|
183
|
+
* Repeated string literals (test titles, expected values) are normal
|
|
184
|
+
* and idiomatic in test files
|
|
185
|
+
*/
|
|
186
|
+
"sonarjs/no-duplicate-string"?: undefined;
|
|
187
|
+
"lazuee/no-ts-accessibility"?: undefined;
|
|
188
|
+
"lazuee/interface-pascal-case"?: undefined;
|
|
189
|
+
"lazuee/canonical-header-names"?: undefined;
|
|
190
|
+
/**
|
|
191
|
+
* Allow pages-router bracketed route filenames while still rejecting non-route names in `pages/`
|
|
192
|
+
*/
|
|
193
|
+
"github/filenames-match-regex"?: undefined;
|
|
194
|
+
"shadcn/no-restyle"?: undefined;
|
|
195
|
+
"shadcn/no-arbitrary-values"?: undefined;
|
|
196
|
+
"shadcn/require-static-classes"?: undefined;
|
|
197
|
+
"shadcn/no-raw-colors": "off";
|
|
198
|
+
"anti-slop/no-unknown-parameters"?: undefined;
|
|
199
|
+
"anti-slop/no-unsafe-dictionary-type"?: undefined;
|
|
200
|
+
};
|
|
201
|
+
} | {
|
|
202
|
+
files: string[];
|
|
203
|
+
rules: {
|
|
204
|
+
/**
|
|
205
|
+
* Repeated string literals (test titles, expected values) are normal
|
|
206
|
+
* and idiomatic in test files
|
|
207
|
+
*/
|
|
208
|
+
"sonarjs/no-duplicate-string"?: undefined;
|
|
209
|
+
"lazuee/no-ts-accessibility"?: undefined;
|
|
210
|
+
"lazuee/interface-pascal-case"?: undefined;
|
|
211
|
+
"lazuee/canonical-header-names"?: undefined;
|
|
212
|
+
/**
|
|
213
|
+
* Allow pages-router bracketed route filenames while still rejecting non-route names in `pages/`
|
|
214
|
+
*/
|
|
215
|
+
"github/filenames-match-regex"?: undefined;
|
|
216
|
+
"shadcn/no-restyle"?: undefined;
|
|
217
|
+
"shadcn/no-arbitrary-values"?: undefined;
|
|
218
|
+
"shadcn/require-static-classes"?: undefined;
|
|
219
|
+
"shadcn/no-raw-colors"?: undefined;
|
|
220
|
+
"anti-slop/no-unknown-parameters": "off";
|
|
221
|
+
"anti-slop/no-unsafe-dictionary-type": "off";
|
|
130
222
|
};
|
|
131
223
|
})[];
|
|
132
224
|
rules: {
|
|
@@ -161,6 +253,7 @@ declare const config: {
|
|
|
161
253
|
"github/require-passive-events": "error";
|
|
162
254
|
/** Mirrors the ESLint preset */
|
|
163
255
|
"github/unescaped-html-literal": "off";
|
|
256
|
+
/** ── sonarjs ──────────────────────────────────────────────────────── */
|
|
164
257
|
"sonarjs/arguments-usage": "error";
|
|
165
258
|
"sonarjs/array-constructor": "error";
|
|
166
259
|
/** Fights the formatter (arrowParentheses: always) */
|
|
@@ -189,7 +282,7 @@ declare const config: {
|
|
|
189
282
|
"sonarjs/chai-determinate-assertion": "error";
|
|
190
283
|
"sonarjs/class-name": "error";
|
|
191
284
|
"sonarjs/code-eval": "error";
|
|
192
|
-
/** Matches Biome
|
|
285
|
+
/** Matches Biome"s noExcessiveCognitiveComplexity limit */
|
|
193
286
|
"sonarjs/cognitive-complexity": ["error", number];
|
|
194
287
|
"sonarjs/comma-or-logical-or-case": "error";
|
|
195
288
|
"sonarjs/comment-regex": "error";
|
|
@@ -552,18 +645,83 @@ declare const config: {
|
|
|
552
645
|
"lazuee/no-ts-accessibility": "off";
|
|
553
646
|
"lazuee/interface-pascal-case": "off";
|
|
554
647
|
"lazuee/canonical-header-names": "off";
|
|
648
|
+
/** ── anti-slop ──────────────────────────────────────────────────── */
|
|
649
|
+
"anti-slop/no-chained-type-assertions": "error";
|
|
650
|
+
"anti-slop/no-conditional-empty-object-spread": "error";
|
|
651
|
+
"anti-slop/no-known-value-widening": "error";
|
|
652
|
+
"anti-slop/no-module-mocking": "error";
|
|
653
|
+
"anti-slop/no-object-parameters": "error";
|
|
654
|
+
"anti-slop/no-reflect-apply": "error";
|
|
655
|
+
"anti-slop/no-reflect-get": "error";
|
|
656
|
+
/**
|
|
657
|
+
* allowInTypeGuards exempts `typeof` inside type predicate functions
|
|
658
|
+
* ((x): x is T): predicates are the named-boundary pattern the rule
|
|
659
|
+
* pushes toward, and hand-rolled JSON/boundary validation has no other
|
|
660
|
+
* way to write the check (dmmulroy/anti-slop#10)
|
|
661
|
+
*/
|
|
662
|
+
"anti-slop/no-runtime-typeof": ["error", {
|
|
663
|
+
allowInTypeGuards: boolean;
|
|
664
|
+
}];
|
|
665
|
+
"anti-slop/no-shape-in-symbol-names": "error";
|
|
666
|
+
"anti-slop/no-unknown-parameters": "error";
|
|
667
|
+
"anti-slop/no-unknown-returns": "error";
|
|
668
|
+
"anti-slop/no-unknown-type-aliases": "error";
|
|
669
|
+
"anti-slop/no-unsafe-dictionary-type": "error";
|
|
670
|
+
"anti-slop/no-widen-then-assert": "error";
|
|
671
|
+
"anti-slop/require-safety-comment-for-type-assertion": "error";
|
|
672
|
+
/**
|
|
673
|
+
* Core rules that pinch against anti-slop when both are enabled:
|
|
674
|
+
* consistent-indexed-object-style's autofix rewrites index-signature
|
|
675
|
+
* interfaces into `Record` aliases, which no-known-value-widening
|
|
676
|
+
* resolves and re-flags (a fix/break loop)
|
|
677
|
+
*
|
|
678
|
+
* no-immediate-mutation bans the empty-accumulator escape from the same
|
|
679
|
+
* rule. Extending this preset after core turns them off by default
|
|
680
|
+
*/
|
|
681
|
+
"typescript/consistent-indexed-object-style": "off";
|
|
682
|
+
"unicorn/no-immediate-mutation": "off";
|
|
683
|
+
/** ── no-comment-slop ──────────────────────────────────────────────────── */
|
|
684
|
+
"no-comment-slop/max-comment-lines": "error";
|
|
685
|
+
"no-comment-slop/no-banner-comment": "error";
|
|
686
|
+
"no-comment-slop/no-trailing-comment": "error";
|
|
687
|
+
"no-comment-slop/prefer-jsdoc-for-exports": "error";
|
|
688
|
+
"no-comment-slop/prefer-jsdoc-for-members": "error";
|
|
689
|
+
"no-comment-slop/require-member-docs": "error";
|
|
690
|
+
"no-comment-slop/multiline-jsdoc-format": "error";
|
|
691
|
+
"no-comment-slop/no-trailing-period": "error";
|
|
692
|
+
"no-comment-slop/no-em-dash": "error";
|
|
693
|
+
"no-comment-slop/no-jargon": "error";
|
|
694
|
+
"no-comment-slop/no-foreign-syntax": "error";
|
|
695
|
+
/** ── shadcn ──────────────────────────────────────────────────── */
|
|
696
|
+
"shadcn/no-restyle": ["error", {
|
|
697
|
+
allow: string[];
|
|
698
|
+
contracts: {
|
|
699
|
+
pattern: string;
|
|
700
|
+
allow: string[];
|
|
701
|
+
}[];
|
|
702
|
+
}];
|
|
703
|
+
"shadcn/no-raw-colors": "error";
|
|
704
|
+
"shadcn/no-arbitrary-values": ["error", {
|
|
705
|
+
allow: string[];
|
|
706
|
+
}];
|
|
707
|
+
"shadcn/no-inline-styles": ["error", {
|
|
708
|
+
/** Telemetry/measured layout computes waterfall positions, slider markers, and per-series/status colors; no fixed class set can represent them */
|
|
709
|
+
allow: string[];
|
|
710
|
+
}];
|
|
711
|
+
"shadcn/no-unknown-classes": "error";
|
|
712
|
+
"shadcn/require-static-classes": "error";
|
|
555
713
|
};
|
|
556
714
|
};
|
|
557
715
|
export default config;
|
|
558
716
|
/**
|
|
559
717
|
* Returns a copy of this preset narrowed to the given plugin names ("github",
|
|
560
718
|
* "sonarjs", "react-doctor"): only the selected jsPlugins entries are loaded
|
|
561
|
-
* and only their rules (top-level and per-override) are kept.
|
|
562
|
-
*
|
|
563
|
-
*
|
|
719
|
+
* and only their rules (top-level and per-override) are kept. it wires this
|
|
720
|
+
* into generated configs when a subset of the plugins is chosen, so the
|
|
721
|
+
* generated file stays a one-line extend instead of inlining the
|
|
564
722
|
* filtering logic:
|
|
565
723
|
*
|
|
566
|
-
* import { selectJsPlugins } from "
|
|
724
|
+
* import { selectJsPlugins } from "@lazuee/oxlint/js-plugins";
|
|
567
725
|
*
|
|
568
726
|
* const jsPlugins = selectJsPlugins(["github", "sonarjs"]);
|
|
569
727
|
*
|
|
@@ -595,6 +753,15 @@ export declare const selectJsPlugins: (pluginNames: JSPluginName[]) => {
|
|
|
595
753
|
} | {
|
|
596
754
|
readonly name: "tailwindcss";
|
|
597
755
|
readonly specifier: "oxlint-tailwindcss";
|
|
756
|
+
} | {
|
|
757
|
+
readonly name: "anti-slop";
|
|
758
|
+
readonly specifier: string;
|
|
759
|
+
} | {
|
|
760
|
+
readonly name: "no-comment-slop";
|
|
761
|
+
readonly specifier: string;
|
|
762
|
+
} | {
|
|
763
|
+
readonly name: "shadcn";
|
|
764
|
+
readonly specifier: string;
|
|
598
765
|
} | {
|
|
599
766
|
readonly name: "lazuee";
|
|
600
767
|
readonly specifier: string;
|
|
@@ -614,8 +781,47 @@ export declare const selectJsPlugins: (pluginNames: JSPluginName[]) => {
|
|
|
614
781
|
rules: {
|
|
615
782
|
[k: string]: any;
|
|
616
783
|
};
|
|
784
|
+
} | {
|
|
785
|
+
files: string[];
|
|
786
|
+
rules: {
|
|
787
|
+
[k: string]: any;
|
|
788
|
+
};
|
|
789
|
+
} | {
|
|
790
|
+
files: string[];
|
|
791
|
+
rules: {
|
|
792
|
+
[k: string]: any;
|
|
793
|
+
};
|
|
794
|
+
} | {
|
|
795
|
+
files: string[];
|
|
796
|
+
rules: {
|
|
797
|
+
[k: string]: any;
|
|
798
|
+
};
|
|
799
|
+
} | {
|
|
800
|
+
/** The logo's brand colors are fixed; theme tokens shift between light and dark */
|
|
801
|
+
files: string[];
|
|
802
|
+
rules: {
|
|
803
|
+
[k: string]: any;
|
|
804
|
+
};
|
|
805
|
+
} | {
|
|
806
|
+
files: string[];
|
|
807
|
+
rules: {
|
|
808
|
+
[k: string]: any;
|
|
809
|
+
};
|
|
617
810
|
})[];
|
|
618
811
|
rules: {
|
|
619
|
-
[k: string]: "error" | "off" | "warn" | ["error", number]
|
|
812
|
+
[k: string]: "error" | "off" | "warn" | ["error", number] | ["error", {
|
|
813
|
+
allowInTypeGuards: boolean;
|
|
814
|
+
}] | ["error", {
|
|
815
|
+
allow: string[];
|
|
816
|
+
contracts: {
|
|
817
|
+
pattern: string;
|
|
818
|
+
allow: string[];
|
|
819
|
+
}[];
|
|
820
|
+
}] | ["error", {
|
|
821
|
+
allow: string[];
|
|
822
|
+
}] | ["error", {
|
|
823
|
+
/** Telemetry/measured layout computes waterfall positions, slider markers, and per-series/status colors; no fixed class set can represent them */
|
|
824
|
+
allow: string[];
|
|
825
|
+
}];
|
|
620
826
|
};
|
|
621
827
|
};
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
} from "../../../../chunk-
|
|
6
|
-
import"../../../../chunk-5wgwscd0.js";
|
|
2
|
+
jsPluginSettings2,
|
|
3
|
+
selectJsPlugins2,
|
|
4
|
+
js_plugins_default
|
|
5
|
+
} from "../../../../chunk-5vqtdgjy.js";
|
|
7
6
|
export {
|
|
8
7
|
js_plugins_default as default,
|
|
9
|
-
jsPluginSettings,
|
|
10
|
-
selectJsPlugins
|
|
8
|
+
jsPluginSettings2 as jsPluginSettings,
|
|
9
|
+
selectJsPlugins2 as selectJsPlugins
|
|
11
10
|
};
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
* non-TanStack projects. Extend this alongside js-plugins in TanStack apps:
|
|
6
6
|
*
|
|
7
7
|
* import { defineConfig } from "oxlint";
|
|
8
|
-
* import core from "
|
|
9
|
-
* import tanstack from "
|
|
10
|
-
* import jsPlugins from "
|
|
11
|
-
* import tanstackJsPlugins from "
|
|
8
|
+
* import core from "@lazuee/oxlint/core";
|
|
9
|
+
* import tanstack from "@lazuee/oxlint/tanstack";
|
|
10
|
+
* import jsPlugins from "@lazuee/oxlint/js-plugins";
|
|
11
|
+
* import tanstackJsPlugins from "@lazuee/oxlint/tanstack/js-plugins";
|
|
12
12
|
*
|
|
13
13
|
* export default defineConfig({
|
|
14
14
|
* extends: [core, tanstack, jsPlugins, tanstackJsPlugins],
|