@rebeccastevens/eslint-config 3.8.0 → 3.9.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/CHANGELOG.md +7 -0
- package/dist/index.cjs +296 -259
- package/dist/index.d.cts +2431 -1080
- package/dist/index.d.ts +2431 -1080
- package/dist/index.js +296 -259
- package/package.json +57 -56
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
|
|
3
3
|
|
|
4
|
+
# [3.9.0](https://github.com/RebeccaStevens/eslint-config-rebeccastevens/compare/v3.8.0...v3.9.0) (2026-02-22)
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* major deps updates ([9396918](https://github.com/RebeccaStevens/eslint-config-rebeccastevens/commit/939691884bd035b57bc688e5b2126b4d880c5f92))
|
|
10
|
+
|
|
4
11
|
# [3.8.0](https://github.com/RebeccaStevens/eslint-config-rebeccastevens/compare/v3.7.1...v3.8.0) (2025-07-03)
|
|
5
12
|
|
|
6
13
|
|
package/dist/index.cjs
CHANGED
|
@@ -212,6 +212,244 @@ const GLOB_EXCLUDE = [
|
|
|
212
212
|
"**/typegen.d.ts",
|
|
213
213
|
];
|
|
214
214
|
|
|
215
|
+
const StylisticConfigDefaults = {
|
|
216
|
+
indent: 2,
|
|
217
|
+
jsx: true,
|
|
218
|
+
quotes: "double",
|
|
219
|
+
semi: true,
|
|
220
|
+
printWidth: 120,
|
|
221
|
+
};
|
|
222
|
+
async function stylistic(options) {
|
|
223
|
+
const { stylistic: { indent, jsx, quotes, semi }, overrides, typescript, } = options;
|
|
224
|
+
const [pluginStylistic] = (await loadPackages(["@stylistic/eslint-plugin"]));
|
|
225
|
+
const config = pluginStylistic.configs.customize({
|
|
226
|
+
flat: true,
|
|
227
|
+
indent,
|
|
228
|
+
jsx,
|
|
229
|
+
pluginName: "style",
|
|
230
|
+
quotes,
|
|
231
|
+
semi,
|
|
232
|
+
});
|
|
233
|
+
return [
|
|
234
|
+
{
|
|
235
|
+
name: "rs:stylistic",
|
|
236
|
+
plugins: {
|
|
237
|
+
style: pluginStylistic,
|
|
238
|
+
},
|
|
239
|
+
rules: {
|
|
240
|
+
...config.rules,
|
|
241
|
+
"style/array-bracket-spacing": ["error", "never"],
|
|
242
|
+
"style/arrow-parens": ["error", "always"],
|
|
243
|
+
"style/arrow-spacing": ["error", { before: true, after: true }],
|
|
244
|
+
"style/block-spacing": ["error", "always"],
|
|
245
|
+
"style/brace-style": "error",
|
|
246
|
+
"style/comma-dangle": [
|
|
247
|
+
"error",
|
|
248
|
+
{
|
|
249
|
+
arrays: "only-multiline",
|
|
250
|
+
exports: "only-multiline",
|
|
251
|
+
functions: "ignore",
|
|
252
|
+
imports: "only-multiline",
|
|
253
|
+
objects: "only-multiline",
|
|
254
|
+
...(typescript
|
|
255
|
+
? {
|
|
256
|
+
enums: "only-multiline",
|
|
257
|
+
generics: "only-multiline",
|
|
258
|
+
tuples: "only-multiline",
|
|
259
|
+
}
|
|
260
|
+
: {}),
|
|
261
|
+
},
|
|
262
|
+
],
|
|
263
|
+
"style/comma-spacing": ["error", { before: false, after: true }],
|
|
264
|
+
"style/comma-style": ["error", "last"],
|
|
265
|
+
"style/computed-property-spacing": "error",
|
|
266
|
+
"style/dot-location": ["error", "property"],
|
|
267
|
+
"style/eol-last": "error",
|
|
268
|
+
"style/function-call-spacing": ["error", "never"],
|
|
269
|
+
"style/generator-star-spacing": ["error", "after"],
|
|
270
|
+
"style/indent": typescript
|
|
271
|
+
? "off"
|
|
272
|
+
: [
|
|
273
|
+
"error",
|
|
274
|
+
indent,
|
|
275
|
+
{
|
|
276
|
+
SwitchCase: 1,
|
|
277
|
+
VariableDeclarator: 1,
|
|
278
|
+
outerIIFEBody: 1,
|
|
279
|
+
MemberExpression: 1,
|
|
280
|
+
FunctionDeclaration: { parameters: 1, body: 1 },
|
|
281
|
+
FunctionExpression: { parameters: 1, body: 1 },
|
|
282
|
+
CallExpression: { arguments: 1 },
|
|
283
|
+
ArrayExpression: 1,
|
|
284
|
+
ObjectExpression: 1,
|
|
285
|
+
ImportDeclaration: 1,
|
|
286
|
+
flatTernaryExpressions: false,
|
|
287
|
+
ignoreComments: false,
|
|
288
|
+
},
|
|
289
|
+
],
|
|
290
|
+
"style/indent-binary-ops": "error",
|
|
291
|
+
"style/key-spacing": ["error", { beforeColon: false, afterColon: true }],
|
|
292
|
+
"style/keyword-spacing": ["error", { before: true, after: true }],
|
|
293
|
+
"style/linebreak-style": ["error", "unix"],
|
|
294
|
+
"style/lines-around-comment": [
|
|
295
|
+
"warn",
|
|
296
|
+
{
|
|
297
|
+
beforeBlockComment: true,
|
|
298
|
+
beforeLineComment: false,
|
|
299
|
+
afterBlockComment: false,
|
|
300
|
+
afterLineComment: false,
|
|
301
|
+
afterHashbangComment: true,
|
|
302
|
+
allowBlockStart: true,
|
|
303
|
+
allowBlockEnd: true,
|
|
304
|
+
allowObjectStart: true,
|
|
305
|
+
allowObjectEnd: true,
|
|
306
|
+
allowArrayStart: true,
|
|
307
|
+
allowArrayEnd: true,
|
|
308
|
+
allowClassStart: true,
|
|
309
|
+
allowClassEnd: true,
|
|
310
|
+
...(typescript
|
|
311
|
+
? {
|
|
312
|
+
allowEnumEnd: true,
|
|
313
|
+
allowEnumStart: true,
|
|
314
|
+
allowInterfaceEnd: true,
|
|
315
|
+
allowInterfaceStart: true,
|
|
316
|
+
allowModuleEnd: true,
|
|
317
|
+
allowModuleStart: true,
|
|
318
|
+
allowTypeEnd: true,
|
|
319
|
+
allowTypeStart: true,
|
|
320
|
+
}
|
|
321
|
+
: {}),
|
|
322
|
+
},
|
|
323
|
+
],
|
|
324
|
+
"style/lines-between-class-members": [
|
|
325
|
+
"error",
|
|
326
|
+
"always",
|
|
327
|
+
{
|
|
328
|
+
exceptAfterSingleLine: true,
|
|
329
|
+
...(typescript
|
|
330
|
+
? {
|
|
331
|
+
exceptAfterOverload: true,
|
|
332
|
+
}
|
|
333
|
+
: {}),
|
|
334
|
+
},
|
|
335
|
+
],
|
|
336
|
+
"style/max-statements-per-line": ["error", { max: 1 }],
|
|
337
|
+
"style/multiline-ternary": ["error", "always-multiline"],
|
|
338
|
+
"style/new-parens": "error",
|
|
339
|
+
"style/newline-per-chained-call": ["error", { ignoreChainWithDepth: 2 }],
|
|
340
|
+
"style/no-extra-parens": ["error", "all", { nestedBinaryExpressions: false }],
|
|
341
|
+
"style/no-extra-semi": "error",
|
|
342
|
+
"style/no-floating-decimal": "error",
|
|
343
|
+
"style/no-mixed-operators": [
|
|
344
|
+
"error",
|
|
345
|
+
{
|
|
346
|
+
groups: [
|
|
347
|
+
["+", "-", "*", "/", "%", "**"],
|
|
348
|
+
["&", "|", "^", "~", "<<", ">>", ">>>"],
|
|
349
|
+
["==", "!=", "===", "!==", ">", ">=", "<", "<="],
|
|
350
|
+
["&&", "||"],
|
|
351
|
+
["in", "instanceof"],
|
|
352
|
+
],
|
|
353
|
+
allowSamePrecedence: true,
|
|
354
|
+
},
|
|
355
|
+
],
|
|
356
|
+
"style/no-mixed-spaces-and-tabs": "error",
|
|
357
|
+
"style/no-multi-spaces": ["error", { ignoreEOLComments: true }],
|
|
358
|
+
"style/no-multiple-empty-lines": ["error", { max: 1, maxEOF: 1 }],
|
|
359
|
+
"style/no-tabs": "error",
|
|
360
|
+
"style/no-trailing-spaces": "error",
|
|
361
|
+
"style/no-whitespace-before-property": "error",
|
|
362
|
+
"style/nonblock-statement-body-position": ["error", "beside", { overrides: {} }],
|
|
363
|
+
"style/object-curly-newline": [
|
|
364
|
+
"error",
|
|
365
|
+
{
|
|
366
|
+
ObjectExpression: {
|
|
367
|
+
minProperties: 3,
|
|
368
|
+
multiline: true,
|
|
369
|
+
consistent: true,
|
|
370
|
+
},
|
|
371
|
+
ObjectPattern: {
|
|
372
|
+
minProperties: 3,
|
|
373
|
+
multiline: true,
|
|
374
|
+
consistent: true,
|
|
375
|
+
},
|
|
376
|
+
},
|
|
377
|
+
],
|
|
378
|
+
"style/object-curly-spacing": ["error", "always"],
|
|
379
|
+
"style/object-property-newline": ["error", { allowAllPropertiesOnSameLine: true }],
|
|
380
|
+
"style/one-var-declaration-per-line": ["error", "always"],
|
|
381
|
+
"style/operator-linebreak": [
|
|
382
|
+
"error",
|
|
383
|
+
"after",
|
|
384
|
+
{
|
|
385
|
+
overrides: {
|
|
386
|
+
// "=": "none",
|
|
387
|
+
"==": "none",
|
|
388
|
+
"===": "none",
|
|
389
|
+
"?": "before",
|
|
390
|
+
":": "before",
|
|
391
|
+
"|": "before",
|
|
392
|
+
},
|
|
393
|
+
},
|
|
394
|
+
],
|
|
395
|
+
"style/padded-blocks": [
|
|
396
|
+
"error",
|
|
397
|
+
{
|
|
398
|
+
blocks: "never",
|
|
399
|
+
switches: "never",
|
|
400
|
+
classes: "never",
|
|
401
|
+
},
|
|
402
|
+
],
|
|
403
|
+
"style/quote-props": ["error", "consistent-as-needed"],
|
|
404
|
+
"style/quotes": ["error", quotes, { avoidEscape: true, allowTemplateLiterals: true }],
|
|
405
|
+
"style/rest-spread-spacing": ["error", "never"],
|
|
406
|
+
"style/semi-spacing": ["error", { before: false, after: true }],
|
|
407
|
+
"style/semi-style": ["error", "last"],
|
|
408
|
+
"style/semi": ["error", semi ? "always" : "never"],
|
|
409
|
+
"style/space-before-blocks": ["error", "always"],
|
|
410
|
+
"style/space-before-function-paren": [
|
|
411
|
+
"error",
|
|
412
|
+
{
|
|
413
|
+
asyncArrow: "always",
|
|
414
|
+
anonymous: "never",
|
|
415
|
+
named: "never",
|
|
416
|
+
},
|
|
417
|
+
],
|
|
418
|
+
"style/space-in-parens": ["error", "never"],
|
|
419
|
+
"style/space-infix-ops": "error",
|
|
420
|
+
"style/space-unary-ops": ["error", { words: true, nonwords: false }],
|
|
421
|
+
"style/spaced-comment": [
|
|
422
|
+
"error",
|
|
423
|
+
"always",
|
|
424
|
+
{
|
|
425
|
+
line: {
|
|
426
|
+
exceptions: ["-", "+", "*"],
|
|
427
|
+
markers: ["*package", "!", "/", ",", "="],
|
|
428
|
+
},
|
|
429
|
+
block: {
|
|
430
|
+
balanced: true,
|
|
431
|
+
exceptions: ["-", "+", "*"],
|
|
432
|
+
markers: ["*package", "!", "*", ",", ":", "::", "flow-include"],
|
|
433
|
+
},
|
|
434
|
+
},
|
|
435
|
+
],
|
|
436
|
+
"style/switch-colon-spacing": ["error", { after: true, before: false }],
|
|
437
|
+
"style/template-curly-spacing": ["error", "never"],
|
|
438
|
+
"style/template-tag-spacing": ["error", "never"],
|
|
439
|
+
"style/wrap-iife": ["error", "inside", { functionPrototypeMethods: true }],
|
|
440
|
+
"style/yield-star-spacing": ["error", "after"],
|
|
441
|
+
...(typescript
|
|
442
|
+
? {
|
|
443
|
+
"style/member-delimiter-style": "error",
|
|
444
|
+
"style/type-annotation-spacing": "error",
|
|
445
|
+
}
|
|
446
|
+
: {}),
|
|
447
|
+
...overrides,
|
|
448
|
+
},
|
|
449
|
+
},
|
|
450
|
+
];
|
|
451
|
+
}
|
|
452
|
+
|
|
215
453
|
async function formatters(opts, stylistic) {
|
|
216
454
|
const options = opts === true
|
|
217
455
|
? {
|
|
@@ -237,7 +475,11 @@ async function formatters(opts, stylistic) {
|
|
|
237
475
|
printWidth: printWidth ?? 120,
|
|
238
476
|
semi: semi ?? true,
|
|
239
477
|
singleQuote: quotes === "single",
|
|
240
|
-
tabWidth: typeof indent === "number"
|
|
478
|
+
tabWidth: typeof indent === "number"
|
|
479
|
+
? indent
|
|
480
|
+
: typeof StylisticConfigDefaults.indent === "number"
|
|
481
|
+
? StylisticConfigDefaults.indent
|
|
482
|
+
: 2,
|
|
241
483
|
trailingComma: "all",
|
|
242
484
|
useTabs: indent === "tab",
|
|
243
485
|
}, options.prettierOptions ?? {});
|
|
@@ -1548,7 +1790,7 @@ async function jsdoc(options) {
|
|
|
1548
1790
|
|
|
1549
1791
|
async function jsonc(options) {
|
|
1550
1792
|
const { files, overrides, stylistic } = options;
|
|
1551
|
-
const { indent =
|
|
1793
|
+
const { indent = StylisticConfigDefaults.indent } = typeof stylistic === "boolean" ? {} : stylistic;
|
|
1552
1794
|
const [pluginJsonc, parserJsonc] = (await loadPackages(["eslint-plugin-jsonc", "jsonc-eslint-parser"]));
|
|
1553
1795
|
const stylisticEnforcement = stylistic === false ? "off" : "error";
|
|
1554
1796
|
return [
|
|
@@ -1594,7 +1836,24 @@ async function jsonc(options) {
|
|
|
1594
1836
|
"jsonc/array-bracket-spacing": [stylisticEnforcement, "never"],
|
|
1595
1837
|
"jsonc/comma-dangle": [stylisticEnforcement, "never"],
|
|
1596
1838
|
"jsonc/comma-style": [stylisticEnforcement, "last"],
|
|
1597
|
-
"jsonc/indent": [
|
|
1839
|
+
"jsonc/indent": [
|
|
1840
|
+
stylisticEnforcement,
|
|
1841
|
+
indent,
|
|
1842
|
+
{
|
|
1843
|
+
SwitchCase: 1,
|
|
1844
|
+
VariableDeclarator: 1,
|
|
1845
|
+
outerIIFEBody: 1,
|
|
1846
|
+
MemberExpression: 1,
|
|
1847
|
+
FunctionDeclaration: { parameters: 1, body: 1 },
|
|
1848
|
+
FunctionExpression: { parameters: 1, body: 1 },
|
|
1849
|
+
CallExpression: { arguments: 1 },
|
|
1850
|
+
ArrayExpression: 1,
|
|
1851
|
+
ObjectExpression: 1,
|
|
1852
|
+
ImportDeclaration: 1,
|
|
1853
|
+
flatTernaryExpressions: false,
|
|
1854
|
+
ignoreComments: false,
|
|
1855
|
+
},
|
|
1856
|
+
],
|
|
1598
1857
|
"jsonc/key-spacing": [stylisticEnforcement, { afterColon: true, beforeColon: false }],
|
|
1599
1858
|
"jsonc/object-curly-newline": [stylisticEnforcement, { consistent: true, multiline: true }],
|
|
1600
1859
|
"jsonc/object-curly-spacing": [stylisticEnforcement, "always"],
|
|
@@ -2413,244 +2672,6 @@ function sortTsconfig() {
|
|
|
2413
2672
|
];
|
|
2414
2673
|
}
|
|
2415
2674
|
|
|
2416
|
-
const StylisticConfigDefaults = {
|
|
2417
|
-
indent: 2,
|
|
2418
|
-
jsx: true,
|
|
2419
|
-
quotes: "double",
|
|
2420
|
-
semi: true,
|
|
2421
|
-
printWidth: 120,
|
|
2422
|
-
};
|
|
2423
|
-
async function stylistic(options) {
|
|
2424
|
-
const { stylistic: { indent, jsx, quotes, semi }, overrides, typescript, } = options;
|
|
2425
|
-
const [pluginStylistic] = (await loadPackages(["@stylistic/eslint-plugin"]));
|
|
2426
|
-
const config = pluginStylistic.configs.customize({
|
|
2427
|
-
flat: true,
|
|
2428
|
-
indent,
|
|
2429
|
-
jsx,
|
|
2430
|
-
pluginName: "style",
|
|
2431
|
-
quotes,
|
|
2432
|
-
semi,
|
|
2433
|
-
});
|
|
2434
|
-
return [
|
|
2435
|
-
{
|
|
2436
|
-
name: "rs:stylistic",
|
|
2437
|
-
plugins: {
|
|
2438
|
-
style: pluginStylistic,
|
|
2439
|
-
},
|
|
2440
|
-
rules: {
|
|
2441
|
-
...config.rules,
|
|
2442
|
-
"style/array-bracket-spacing": ["error", "never"],
|
|
2443
|
-
"style/arrow-parens": ["error", "always"],
|
|
2444
|
-
"style/arrow-spacing": ["error", { before: true, after: true }],
|
|
2445
|
-
"style/block-spacing": ["error", "always"],
|
|
2446
|
-
"style/brace-style": "error",
|
|
2447
|
-
"style/comma-dangle": [
|
|
2448
|
-
"error",
|
|
2449
|
-
{
|
|
2450
|
-
arrays: "only-multiline",
|
|
2451
|
-
exports: "only-multiline",
|
|
2452
|
-
functions: "ignore",
|
|
2453
|
-
imports: "only-multiline",
|
|
2454
|
-
objects: "only-multiline",
|
|
2455
|
-
...(typescript
|
|
2456
|
-
? {
|
|
2457
|
-
enums: "only-multiline",
|
|
2458
|
-
generics: "only-multiline",
|
|
2459
|
-
tuples: "only-multiline",
|
|
2460
|
-
}
|
|
2461
|
-
: {}),
|
|
2462
|
-
},
|
|
2463
|
-
],
|
|
2464
|
-
"style/comma-spacing": ["error", { before: false, after: true }],
|
|
2465
|
-
"style/comma-style": ["error", "last"],
|
|
2466
|
-
"style/computed-property-spacing": "error",
|
|
2467
|
-
"style/dot-location": ["error", "property"],
|
|
2468
|
-
"style/eol-last": "error",
|
|
2469
|
-
"style/function-call-spacing": ["error", "never"],
|
|
2470
|
-
"style/generator-star-spacing": ["error", "after"],
|
|
2471
|
-
"style/indent": typescript
|
|
2472
|
-
? "off"
|
|
2473
|
-
: [
|
|
2474
|
-
"error",
|
|
2475
|
-
indent,
|
|
2476
|
-
{
|
|
2477
|
-
SwitchCase: 1,
|
|
2478
|
-
VariableDeclarator: 1,
|
|
2479
|
-
outerIIFEBody: 1,
|
|
2480
|
-
MemberExpression: 1,
|
|
2481
|
-
FunctionDeclaration: { parameters: 1, body: 1 },
|
|
2482
|
-
FunctionExpression: { parameters: 1, body: 1 },
|
|
2483
|
-
CallExpression: { arguments: 1 },
|
|
2484
|
-
ArrayExpression: 1,
|
|
2485
|
-
ObjectExpression: 1,
|
|
2486
|
-
ImportDeclaration: 1,
|
|
2487
|
-
flatTernaryExpressions: false,
|
|
2488
|
-
ignoreComments: false,
|
|
2489
|
-
},
|
|
2490
|
-
],
|
|
2491
|
-
"style/indent-binary-ops": "error",
|
|
2492
|
-
"style/key-spacing": ["error", { beforeColon: false, afterColon: true }],
|
|
2493
|
-
"style/keyword-spacing": ["error", { before: true, after: true }],
|
|
2494
|
-
"style/linebreak-style": ["error", "unix"],
|
|
2495
|
-
"style/lines-around-comment": [
|
|
2496
|
-
"warn",
|
|
2497
|
-
{
|
|
2498
|
-
beforeBlockComment: true,
|
|
2499
|
-
beforeLineComment: false,
|
|
2500
|
-
afterBlockComment: false,
|
|
2501
|
-
afterLineComment: false,
|
|
2502
|
-
afterHashbangComment: true,
|
|
2503
|
-
allowBlockStart: true,
|
|
2504
|
-
allowBlockEnd: true,
|
|
2505
|
-
allowObjectStart: true,
|
|
2506
|
-
allowObjectEnd: true,
|
|
2507
|
-
allowArrayStart: true,
|
|
2508
|
-
allowArrayEnd: true,
|
|
2509
|
-
allowClassStart: true,
|
|
2510
|
-
allowClassEnd: true,
|
|
2511
|
-
...(typescript
|
|
2512
|
-
? {
|
|
2513
|
-
allowEnumEnd: true,
|
|
2514
|
-
allowEnumStart: true,
|
|
2515
|
-
allowInterfaceEnd: true,
|
|
2516
|
-
allowInterfaceStart: true,
|
|
2517
|
-
allowModuleEnd: true,
|
|
2518
|
-
allowModuleStart: true,
|
|
2519
|
-
allowTypeEnd: true,
|
|
2520
|
-
allowTypeStart: true,
|
|
2521
|
-
}
|
|
2522
|
-
: {}),
|
|
2523
|
-
},
|
|
2524
|
-
],
|
|
2525
|
-
"style/lines-between-class-members": [
|
|
2526
|
-
"error",
|
|
2527
|
-
"always",
|
|
2528
|
-
{
|
|
2529
|
-
exceptAfterSingleLine: true,
|
|
2530
|
-
...(typescript
|
|
2531
|
-
? {
|
|
2532
|
-
exceptAfterOverload: true,
|
|
2533
|
-
}
|
|
2534
|
-
: {}),
|
|
2535
|
-
},
|
|
2536
|
-
],
|
|
2537
|
-
"style/max-statements-per-line": ["error", { max: 1 }],
|
|
2538
|
-
"style/multiline-ternary": ["error", "always-multiline"],
|
|
2539
|
-
"style/new-parens": "error",
|
|
2540
|
-
"style/newline-per-chained-call": ["error", { ignoreChainWithDepth: 2 }],
|
|
2541
|
-
"style/no-extra-parens": ["error", "all", { nestedBinaryExpressions: false }],
|
|
2542
|
-
"style/no-extra-semi": "error",
|
|
2543
|
-
"style/no-floating-decimal": "error",
|
|
2544
|
-
"style/no-mixed-operators": [
|
|
2545
|
-
"error",
|
|
2546
|
-
{
|
|
2547
|
-
groups: [
|
|
2548
|
-
["+", "-", "*", "/", "%", "**"],
|
|
2549
|
-
["&", "|", "^", "~", "<<", ">>", ">>>"],
|
|
2550
|
-
["==", "!=", "===", "!==", ">", ">=", "<", "<="],
|
|
2551
|
-
["&&", "||"],
|
|
2552
|
-
["in", "instanceof"],
|
|
2553
|
-
],
|
|
2554
|
-
allowSamePrecedence: true,
|
|
2555
|
-
},
|
|
2556
|
-
],
|
|
2557
|
-
"style/no-mixed-spaces-and-tabs": "error",
|
|
2558
|
-
"style/no-multi-spaces": ["error", { ignoreEOLComments: true }],
|
|
2559
|
-
"style/no-multiple-empty-lines": ["error", { max: 1, maxEOF: 1 }],
|
|
2560
|
-
"style/no-tabs": "error",
|
|
2561
|
-
"style/no-trailing-spaces": "error",
|
|
2562
|
-
"style/no-whitespace-before-property": "error",
|
|
2563
|
-
"style/nonblock-statement-body-position": ["error", "beside", { overrides: {} }],
|
|
2564
|
-
"style/object-curly-newline": [
|
|
2565
|
-
"error",
|
|
2566
|
-
{
|
|
2567
|
-
ObjectExpression: {
|
|
2568
|
-
minProperties: 3,
|
|
2569
|
-
multiline: true,
|
|
2570
|
-
consistent: true,
|
|
2571
|
-
},
|
|
2572
|
-
ObjectPattern: {
|
|
2573
|
-
minProperties: 3,
|
|
2574
|
-
multiline: true,
|
|
2575
|
-
consistent: true,
|
|
2576
|
-
},
|
|
2577
|
-
},
|
|
2578
|
-
],
|
|
2579
|
-
"style/object-curly-spacing": ["error", "always"],
|
|
2580
|
-
"style/object-property-newline": ["error", { allowAllPropertiesOnSameLine: true }],
|
|
2581
|
-
"style/one-var-declaration-per-line": ["error", "always"],
|
|
2582
|
-
"style/operator-linebreak": [
|
|
2583
|
-
"error",
|
|
2584
|
-
"after",
|
|
2585
|
-
{
|
|
2586
|
-
overrides: {
|
|
2587
|
-
// "=": "none",
|
|
2588
|
-
"==": "none",
|
|
2589
|
-
"===": "none",
|
|
2590
|
-
"?": "before",
|
|
2591
|
-
":": "before",
|
|
2592
|
-
"|": "before",
|
|
2593
|
-
},
|
|
2594
|
-
},
|
|
2595
|
-
],
|
|
2596
|
-
"style/padded-blocks": [
|
|
2597
|
-
"error",
|
|
2598
|
-
{
|
|
2599
|
-
blocks: "never",
|
|
2600
|
-
switches: "never",
|
|
2601
|
-
classes: "never",
|
|
2602
|
-
},
|
|
2603
|
-
],
|
|
2604
|
-
"style/quote-props": ["error", "consistent-as-needed"],
|
|
2605
|
-
"style/quotes": ["error", quotes, { avoidEscape: true, allowTemplateLiterals: true }],
|
|
2606
|
-
"style/rest-spread-spacing": ["error", "never"],
|
|
2607
|
-
"style/semi-spacing": ["error", { before: false, after: true }],
|
|
2608
|
-
"style/semi-style": ["error", "last"],
|
|
2609
|
-
"style/semi": ["error", semi ? "always" : "never"],
|
|
2610
|
-
"style/space-before-blocks": ["error", "always"],
|
|
2611
|
-
"style/space-before-function-paren": [
|
|
2612
|
-
"error",
|
|
2613
|
-
{
|
|
2614
|
-
asyncArrow: "always",
|
|
2615
|
-
anonymous: "never",
|
|
2616
|
-
named: "never",
|
|
2617
|
-
},
|
|
2618
|
-
],
|
|
2619
|
-
"style/space-in-parens": ["error", "never"],
|
|
2620
|
-
"style/space-infix-ops": "error",
|
|
2621
|
-
"style/space-unary-ops": ["error", { words: true, nonwords: false }],
|
|
2622
|
-
"style/spaced-comment": [
|
|
2623
|
-
"error",
|
|
2624
|
-
"always",
|
|
2625
|
-
{
|
|
2626
|
-
line: {
|
|
2627
|
-
exceptions: ["-", "+", "*"],
|
|
2628
|
-
markers: ["*package", "!", "/", ",", "="],
|
|
2629
|
-
},
|
|
2630
|
-
block: {
|
|
2631
|
-
balanced: true,
|
|
2632
|
-
exceptions: ["-", "+", "*"],
|
|
2633
|
-
markers: ["*package", "!", "*", ",", ":", "::", "flow-include"],
|
|
2634
|
-
},
|
|
2635
|
-
},
|
|
2636
|
-
],
|
|
2637
|
-
"style/switch-colon-spacing": ["error", { after: true, before: false }],
|
|
2638
|
-
"style/template-curly-spacing": ["error", "never"],
|
|
2639
|
-
"style/template-tag-spacing": ["error", "never"],
|
|
2640
|
-
"style/wrap-iife": ["error", "inside", { functionPrototypeMethods: true }],
|
|
2641
|
-
"style/yield-star-spacing": ["error", "after"],
|
|
2642
|
-
...(typescript
|
|
2643
|
-
? {
|
|
2644
|
-
"style/member-delimiter-style": "error",
|
|
2645
|
-
"style/type-annotation-spacing": "error",
|
|
2646
|
-
}
|
|
2647
|
-
: {}),
|
|
2648
|
-
...overrides,
|
|
2649
|
-
},
|
|
2650
|
-
},
|
|
2651
|
-
];
|
|
2652
|
-
}
|
|
2653
|
-
|
|
2654
2675
|
async function tailwind(options) {
|
|
2655
2676
|
const { overrides, stylistic, tailwindVersion, tailwindEntryPoint, tailwindConfig } = options;
|
|
2656
2677
|
const [pluginBetterTailwind] = (await loadPackages(["eslint-plugin-better-tailwindcss"]));
|
|
@@ -2673,6 +2694,14 @@ async function tailwind(options) {
|
|
|
2673
2694
|
: undefined,
|
|
2674
2695
|
},
|
|
2675
2696
|
rules: {
|
|
2697
|
+
"tailwind-better/no-unknown-classes": [
|
|
2698
|
+
"off",
|
|
2699
|
+
{
|
|
2700
|
+
detectComponentClasses: true,
|
|
2701
|
+
},
|
|
2702
|
+
],
|
|
2703
|
+
"tailwind-better/no-conflicting-classes": "error",
|
|
2704
|
+
"tailwind-better/no-restricted-classes": "error",
|
|
2676
2705
|
...(stylistic === false
|
|
2677
2706
|
? {}
|
|
2678
2707
|
: {
|
|
@@ -2687,28 +2716,29 @@ async function tailwind(options) {
|
|
|
2687
2716
|
printWidth: stylistic.printWidth,
|
|
2688
2717
|
},
|
|
2689
2718
|
],
|
|
2690
|
-
"tailwind-better/no-unnecessary-whitespace": "warn",
|
|
2691
2719
|
"tailwind-better/enforce-consistent-class-order": [
|
|
2692
2720
|
"error",
|
|
2693
2721
|
{
|
|
2694
|
-
order: "
|
|
2722
|
+
order: "strict",
|
|
2723
|
+
detectComponentClasses: true,
|
|
2724
|
+
componentClassOrder: "preserve",
|
|
2725
|
+
componentClassPosition: "start",
|
|
2726
|
+
unknownClassOrder: "preserve",
|
|
2727
|
+
unknownClassPosition: "start",
|
|
2695
2728
|
},
|
|
2696
2729
|
],
|
|
2697
|
-
"tailwind-better/no-duplicate-classes": "error",
|
|
2698
2730
|
"tailwind-better/enforce-consistent-variable-syntax": [
|
|
2699
2731
|
"error",
|
|
2700
2732
|
{
|
|
2701
|
-
syntax: "
|
|
2733
|
+
syntax: "shorthand",
|
|
2702
2734
|
},
|
|
2703
2735
|
],
|
|
2704
|
-
"tailwind-better/
|
|
2705
|
-
|
|
2706
|
-
|
|
2707
|
-
|
|
2708
|
-
|
|
2709
|
-
|
|
2710
|
-
"tailwind-better/no-conflicting-classes": "error",
|
|
2711
|
-
"tailwind-better/no-restricted-classes": "error",
|
|
2736
|
+
"tailwind-better/enforce-consistent-important-position": "off",
|
|
2737
|
+
"tailwind-better/enforce-shorthand-classes": "off",
|
|
2738
|
+
"tailwind-better/enforce-canonical-classes": "error",
|
|
2739
|
+
"tailwind-better/no-duplicate-classes": "error",
|
|
2740
|
+
"tailwind-better/no-deprecated-classes": "warn",
|
|
2741
|
+
"tailwind-better/no-unnecessary-whitespace": "warn",
|
|
2712
2742
|
}),
|
|
2713
2743
|
...overrides,
|
|
2714
2744
|
},
|
|
@@ -2780,7 +2810,7 @@ async function test(options) {
|
|
|
2780
2810
|
|
|
2781
2811
|
async function toml(options) {
|
|
2782
2812
|
const { files, overrides, stylistic } = options;
|
|
2783
|
-
const { indent =
|
|
2813
|
+
const { indent = StylisticConfigDefaults.indent } = typeof stylistic === "boolean" ? {} : stylistic;
|
|
2784
2814
|
const [pluginToml, parserToml] = (await loadPackages(["eslint-plugin-toml", "toml-eslint-parser"]));
|
|
2785
2815
|
const stylisticEnforcement = stylistic === false ? "off" : "error";
|
|
2786
2816
|
return [
|
|
@@ -2809,7 +2839,7 @@ async function toml(options) {
|
|
|
2809
2839
|
"toml/array-bracket-newline": stylisticEnforcement,
|
|
2810
2840
|
"toml/array-bracket-spacing": stylisticEnforcement,
|
|
2811
2841
|
"toml/array-element-newline": stylisticEnforcement,
|
|
2812
|
-
"toml/indent": [stylisticEnforcement, indent === "
|
|
2842
|
+
"toml/indent": [stylisticEnforcement, typeof indent === "number" ? indent : StylisticConfigDefaults.indent],
|
|
2813
2843
|
"toml/inline-table-curly-spacing": stylisticEnforcement,
|
|
2814
2844
|
"toml/key-spacing": stylisticEnforcement,
|
|
2815
2845
|
"toml/padding-line-between-pairs": stylisticEnforcement,
|
|
@@ -3370,7 +3400,7 @@ const NuxtPackages = ["nuxt"];
|
|
|
3370
3400
|
async function vue(options) {
|
|
3371
3401
|
const { files, i18n, overrides, parserOptions, stylistic, typescript, vueVersion } = options;
|
|
3372
3402
|
const sfcBlocks = options.sfcBlocks === true ? {} : options.sfcBlocks;
|
|
3373
|
-
const { indent =
|
|
3403
|
+
const { indent = StylisticConfigDefaults.indent } = typeof stylistic === "boolean" ? {} : stylistic;
|
|
3374
3404
|
const isUsingNuxt = NuxtPackages.some((i) => localPkg.isPackageExists(i));
|
|
3375
3405
|
const [pluginVue, pluginVueI18n, parserVue, processorVueBlocks, { mergeProcessors }] = (await loadPackages([
|
|
3376
3406
|
"eslint-plugin-vue",
|
|
@@ -3468,7 +3498,7 @@ async function vue(options) {
|
|
|
3468
3498
|
"vue/dot-location": ["error", "property"],
|
|
3469
3499
|
"vue/dot-notation": ["error", { allowKeywords: true }],
|
|
3470
3500
|
"vue/eqeqeq": ["error", "smart"],
|
|
3471
|
-
"vue/html-indent": ["error", indent],
|
|
3501
|
+
"vue/html-indent": ["error", indent, { baseIndent: 1 }],
|
|
3472
3502
|
"vue/html-quotes": ["error", "double"],
|
|
3473
3503
|
// "vue/max-attributes-per-line": "off",
|
|
3474
3504
|
"vue/multi-word-component-names": "error",
|
|
@@ -3599,7 +3629,7 @@ async function vue(options) {
|
|
|
3599
3629
|
|
|
3600
3630
|
async function yaml(options) {
|
|
3601
3631
|
const { files, overrides, stylistic } = options;
|
|
3602
|
-
const { indent =
|
|
3632
|
+
const { indent = StylisticConfigDefaults.indent, quotes = "single" } = typeof stylistic === "boolean" ? {} : stylistic;
|
|
3603
3633
|
const [pluginYaml, parserYaml] = (await loadPackages(["eslint-plugin-yml", "yaml-eslint-parser"]));
|
|
3604
3634
|
const stylisticEnforcement = stylistic === false ? "off" : "error";
|
|
3605
3635
|
return [
|
|
@@ -3630,7 +3660,14 @@ async function yaml(options) {
|
|
|
3630
3660
|
"yaml/flow-mapping-curly-spacing": stylisticEnforcement,
|
|
3631
3661
|
"yaml/flow-sequence-bracket-newline": stylisticEnforcement,
|
|
3632
3662
|
"yaml/flow-sequence-bracket-spacing": stylisticEnforcement,
|
|
3633
|
-
"yaml/indent": [
|
|
3663
|
+
"yaml/indent": [
|
|
3664
|
+
stylisticEnforcement,
|
|
3665
|
+
typeof indent === "number"
|
|
3666
|
+
? indent
|
|
3667
|
+
: typeof StylisticConfigDefaults.indent === "number"
|
|
3668
|
+
? StylisticConfigDefaults.indent
|
|
3669
|
+
: 2,
|
|
3670
|
+
],
|
|
3634
3671
|
"yaml/key-spacing": stylisticEnforcement,
|
|
3635
3672
|
"yaml/no-tab-indent": stylisticEnforcement,
|
|
3636
3673
|
"yaml/quotes": [stylisticEnforcement, { avoidEscape: true, prefer: quotes === "backtick" ? "double" : quotes }],
|