@luxass/eslint-config 4.6.0 → 4.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -15,7 +15,7 @@
15
15
  - [ESLint Flat config](https://eslint.org/docs/latest/use/configure/configuration-files-new), compose easily!
16
16
  - Using [ESLint Stylistic](https://github.com/eslint-stylistic/eslint-stylistic)
17
17
  - Respects `.gitignore` by default
18
- - Optional [React](#react), [Svelte](#svelte), [Solid](#solid), [UnoCSS](#unocss), [Astro](#astro) support
18
+ - Optional [React](#react), [UnoCSS](#unocss), [Astro](#astro) support
19
19
  - Optional [formatters](#formatters) support for CSS, HTML, etc.
20
20
 
21
21
  ## Usage
@@ -28,9 +28,9 @@ And create a `eslint.config.mjs` in your project root:
28
28
 
29
29
  ```js
30
30
  // eslint.config.mjs
31
- import luxass from '@luxass/eslint-config'
31
+ import luxass from "@luxass/eslint-config";
32
32
 
33
- export default luxass()
33
+ export default luxass();
34
34
  ```
35
35
 
36
36
  <details>
@@ -42,10 +42,10 @@ If you still use some configs from the legacy ESLint RC format, you can use the
42
42
 
43
43
  ```js
44
44
  // eslint.config.mjs
45
- import luxass from '@luxass/eslint-config'
46
- import { FlatCompat } from '@eslint/eslintrc'
45
+ import luxass from "@luxass/eslint-config";
46
+ import { FlatCompat } from "@eslint/eslintrc";
47
47
 
48
- const compat = new FlatCompat()
48
+ const compat = new FlatCompat();
49
49
 
50
50
  export default luxass(
51
51
  {
@@ -55,13 +55,13 @@ export default luxass(
55
55
  // Legacy config
56
56
  ...compat.config({
57
57
  extends: [
58
- 'eslint:recommended',
58
+ "eslint:recommended",
59
59
  // Other extends...
60
60
  ],
61
61
  })
62
62
 
63
63
  // Other flat configs...
64
- )
64
+ );
65
65
  ```
66
66
 
67
67
  > Note that `.eslintignore` no longer works in Flat config, see [customization](#customization) for more details.
@@ -145,16 +145,16 @@ Normally you would only need to import the config and export it:
145
145
 
146
146
  ```js
147
147
  // eslint.config.js
148
- import luxass from '@luxass/eslint-config'
148
+ import luxass from "@luxass/eslint-config";
149
149
 
150
- export default luxass()
150
+ export default luxass();
151
151
  ```
152
152
 
153
153
  And that's it! Or you can configure each integration individually, for example:
154
154
 
155
155
  ```js
156
156
  // eslint.config.js
157
- import luxass from '@luxass/eslint-config'
157
+ import luxass from "@luxass/eslint-config";
158
158
 
159
159
  export default luxass({
160
160
  // Enable stylistic formatting rules
@@ -163,7 +163,7 @@ export default luxass({
163
163
  // Or customize the stylistic rules
164
164
  stylistic: {
165
165
  indent: 2, // 4, or 'tab'
166
- quotes: 'single', // or 'double'
166
+ quotes: "single", // or 'double'
167
167
  },
168
168
 
169
169
  // TypeScript and Vue are auto-detected, you can also explicitly enable them:
@@ -176,17 +176,17 @@ export default luxass({
176
176
 
177
177
  // `.eslintignore` is no longer supported in Flat config, use `ignores` instead
178
178
  ignores: [
179
- '**/fixtures',
179
+ "**/fixtures",
180
180
  // ...globs
181
181
  ]
182
- })
182
+ });
183
183
  ```
184
184
 
185
185
  The `luxass` factory function also accepts any number of arbitrary custom config overrides:
186
186
 
187
187
  ```js
188
188
  // eslint.config.js
189
- import luxass from '@luxass/eslint-config'
189
+ import luxass from "@luxass/eslint-config";
190
190
 
191
191
  export default luxass(
192
192
  {
@@ -196,13 +196,13 @@ export default luxass(
196
196
  // From the second arguments they are ESLint Flat Configs
197
197
  // you can have multiple configs
198
198
  {
199
- files: ['**/*.ts'],
199
+ files: ["**/*.ts"],
200
200
  rules: {},
201
201
  },
202
202
  {
203
203
  rules: {},
204
204
  },
205
- )
205
+ );
206
206
  ```
207
207
 
208
208
  Going more advanced, you can also import fine-grained configs and compose them as you wish:
@@ -231,7 +231,7 @@ import {
231
231
  unicorn,
232
232
  vue,
233
233
  yaml
234
- } from '@luxass/eslint-config'
234
+ } from "@luxass/eslint-config";
235
235
 
236
236
  export default combine(
237
237
  ignores(),
@@ -247,7 +247,7 @@ export default combine(
247
247
  jsonc(),
248
248
  yaml(),
249
249
  markdown(),
250
- )
250
+ );
251
251
  ```
252
252
 
253
253
  </details>
@@ -298,7 +298,7 @@ Certain rules would only be enabled in specific files, for example, `ts/*` rules
298
298
 
299
299
  ```js
300
300
  // eslint.config.js
301
- import luxass from '@luxass/eslint-config'
301
+ import luxass from "@luxass/eslint-config";
302
302
 
303
303
  export default luxass(
304
304
  {
@@ -307,35 +307,35 @@ export default luxass(
307
307
  },
308
308
  {
309
309
  // Remember to specify the file glob here, otherwise it might cause the vue plugin to handle non-vue files
310
- files: ['**/*.vue'],
310
+ files: ["**/*.vue"],
311
311
  rules: {
312
- 'vue/operator-linebreak': ['error', 'before'],
312
+ "vue/operator-linebreak": ["error", "before"],
313
313
  },
314
314
  },
315
315
  {
316
316
  // Without `files`, they are general rules for all files
317
317
  rules: {
318
- 'style/semi': ['error', 'never'],
318
+ "style/semi": ["error", "never"],
319
319
  },
320
320
  }
321
- )
321
+ );
322
322
  ```
323
323
 
324
324
  We also provided a `overrides` options in each integration to make it easier:
325
325
 
326
326
  ```js
327
327
  // eslint.config.js
328
- import luxass from '@luxass/eslint-config'
328
+ import luxass from "@luxass/eslint-config";
329
329
 
330
330
  export default luxass({
331
331
  vue: {
332
332
  overrides: {
333
- 'vue/operator-linebreak': ['error', 'before'],
333
+ "vue/operator-linebreak": ["error", "before"],
334
334
  },
335
335
  },
336
336
  typescript: {
337
337
  overrides: {
338
- 'ts/consistent-type-definitions': ['error', 'interface'],
338
+ "ts/consistent-type-definitions": ["error", "interface"],
339
339
  },
340
340
  },
341
341
  yaml: {
@@ -343,7 +343,7 @@ export default luxass({
343
343
  // ...
344
344
  },
345
345
  },
346
- })
346
+ });
347
347
  ```
348
348
 
349
349
  ### Config Composer
@@ -352,7 +352,7 @@ Since v4.3.0, the factory function `luxass()` returns a [`FlatConfigComposer` ob
352
352
 
353
353
  ```js
354
354
  // eslint.config.js
355
- import luxass from '@luxass/eslint-config'
355
+ import luxass from "@luxass/eslint-config";
356
356
 
357
357
  export default luxass()
358
358
  .prepend(
@@ -360,18 +360,18 @@ export default luxass()
360
360
  )
361
361
  // overrides any named configs
362
362
  .override(
363
- 'luxass/imports',
363
+ "luxass/imports",
364
364
  {
365
365
  rules: {
366
- 'import/order': ['error', { 'newlines-between': 'always' }],
366
+ "import/order": ["error", { "newlines-between": "always" }],
367
367
  }
368
368
  }
369
369
  )
370
370
  // rename plugin prefixes
371
371
  .renamePlugins({
372
- 'old-prefix': 'new-prefix',
372
+ "old-prefix": "new-prefix",
373
373
  // ...
374
- })
374
+ });
375
375
  // ...
376
376
  ```
377
377
 
@@ -385,7 +385,7 @@ Use external formatters to format files that ESLint cannot handle yet (`.css`, `
385
385
 
386
386
  ```js
387
387
  // eslint.config.js
388
- import luxass from '@luxass/eslint-config'
388
+ import luxass from "@luxass/eslint-config";
389
389
 
390
390
  export default luxass({
391
391
  formatters: {
@@ -404,9 +404,9 @@ export default luxass({
404
404
  * Supports Prettier and dprint
405
405
  * By default uses Prettier
406
406
  */
407
- markdown: 'prettier'
407
+ markdown: "prettier"
408
408
  }
409
- })
409
+ });
410
410
  ```
411
411
 
412
412
  Running `npx eslint` should prompt you to install the required dependencies, otherwise, you can install them manually:
@@ -421,11 +421,11 @@ To enable React support, you need to explicitly turn it on:
421
421
 
422
422
  ```js
423
423
  // eslint.config.js
424
- import luxass from '@luxass/eslint-config'
424
+ import luxass from "@luxass/eslint-config";
425
425
 
426
426
  export default luxass({
427
427
  react: true,
428
- })
428
+ });
429
429
  ```
430
430
 
431
431
  Running `npx eslint` should prompt you to install the required dependencies, otherwise, you can install them manually:
@@ -440,11 +440,11 @@ To enable Astro support, you need to explicitly turn it on:
440
440
 
441
441
  ```js
442
442
  // eslint.config.js
443
- import luxass from '@luxass/eslint-config'
443
+ import luxass from "@luxass/eslint-config";
444
444
 
445
445
  export default luxass({
446
446
  astro: true,
447
- })
447
+ });
448
448
  ```
449
449
 
450
450
  Running `npx eslint` should prompt you to install the required dependencies, otherwise, you can install them manually:
@@ -459,11 +459,11 @@ To enable UnoCSS support, you need to explicitly turn it on:
459
459
 
460
460
  ```js
461
461
  // eslint.config.js
462
- import luxass from '@luxass/eslint-config'
462
+ import luxass from "@luxass/eslint-config";
463
463
 
464
464
  export default luxass({
465
465
  unocss: true,
466
- })
466
+ });
467
467
  ```
468
468
 
469
469
  Running `npx eslint` should prompt you to install the required dependencies, otherwise, you can install them manually:
@@ -478,11 +478,11 @@ To enable TailwindCSS support, need to explicitly turn it on:
478
478
 
479
479
  ```js
480
480
  // eslint.config.js
481
- import luxass from '@luxass/eslint-config'
481
+ import luxass from "@luxass/eslint-config";
482
482
 
483
483
  export default luxass({
484
484
  tailwindcss: true,
485
- })
485
+ });
486
486
  ```
487
487
 
488
488
  Running `npx eslint` should prompt you to install the required dependencies, otherwise, you can install them manually:
@@ -501,13 +501,13 @@ You can optionally enable the [type aware rules](https://typescript-eslint.io/li
501
501
 
502
502
  ```js
503
503
  // eslint.config.js
504
- import luxass from '@luxass/eslint-config'
504
+ import luxass from "@luxass/eslint-config";
505
505
 
506
506
  export default luxass({
507
507
  typescript: {
508
- tsconfigPath: 'tsconfig.json',
508
+ tsconfigPath: "tsconfig.json",
509
509
  },
510
- })
510
+ });
511
511
  ```
512
512
 
513
513
  ### Editor Specific Disables
@@ -518,11 +518,11 @@ This is to prevent unused imports from getting removed by the IDE during refacto
518
518
 
519
519
  ```js
520
520
  // eslint.config.js
521
- import luxass from '@luxass/eslint-config'
521
+ import luxass from "@luxass/eslint-config";
522
522
 
523
523
  export default luxass({
524
524
  editor: false
525
- })
525
+ });
526
526
  ```
527
527
 
528
528
  ### Lint Staged
package/dist/index.cjs CHANGED
@@ -1106,8 +1106,8 @@ var import_eslint_plugin_antfu3 = __toESM(require("eslint-plugin-antfu"), 1);
1106
1106
  var StylisticConfigDefaults = {
1107
1107
  indent: 2,
1108
1108
  jsx: true,
1109
- quotes: "single",
1110
- semi: false
1109
+ quotes: "double",
1110
+ semi: true
1111
1111
  };
1112
1112
  async function stylistic(options = {}) {
1113
1113
  const {
@@ -1560,7 +1560,7 @@ async function yaml(options = {}) {
1560
1560
  ]);
1561
1561
  const {
1562
1562
  indent = 2,
1563
- quotes = "single"
1563
+ quotes = "double"
1564
1564
  } = typeof stylistic2 === "boolean" ? {} : stylistic2;
1565
1565
  return [
1566
1566
  {
@@ -1898,7 +1898,7 @@ async function astro(options = {}) {
1898
1898
  "astro/no-deprecated-getentrybyslug": "error",
1899
1899
  "astro/no-set-html-directive": "off",
1900
1900
  "astro/no-unused-define-vars-in-style": "error",
1901
- "astro/semi": "off",
1901
+ "astro/semi": "error",
1902
1902
  "astro/valid-compile": "error",
1903
1903
  ...stylistic2 ? {
1904
1904
  "style/indent": "off",
package/dist/index.d.cts CHANGED
@@ -13920,7 +13920,7 @@ declare function sortPackageJson(): TypedFlatConfigItem[];
13920
13920
  */
13921
13921
  declare function sortTsconfig(): TypedFlatConfigItem[];
13922
13922
 
13923
- type StylisticConfig = Pick<StylisticCustomizeOptions, 'jsx' | 'indent' | 'quotes' | 'semi'>;
13923
+ type StylisticConfig = Pick<StylisticCustomizeOptions, "jsx" | "indent" | "quotes" | "semi">;
13924
13924
  interface StylisticOptions {
13925
13925
  /**
13926
13926
  * Enable stylistic rules.
@@ -13931,7 +13931,7 @@ interface StylisticOptions {
13931
13931
  /**
13932
13932
  * Overrides for the config.
13933
13933
  */
13934
- overrides?: TypedFlatConfigItem['rules'];
13934
+ overrides?: TypedFlatConfigItem["rules"];
13935
13935
  }
13936
13936
  declare function stylistic(options?: StylisticOptions): Promise<TypedFlatConfigItem[]>;
13937
13937
 
@@ -13954,7 +13954,7 @@ interface JavaScriptOptions {
13954
13954
  /**
13955
13955
  * Overrides for the config.
13956
13956
  */
13957
- overrides?: TypedFlatConfigItem['rules'];
13957
+ overrides?: TypedFlatConfigItem["rules"];
13958
13958
  }
13959
13959
  declare function javascript(options?: JavaScriptOptions): Promise<TypedFlatConfigItem[]>;
13960
13960
 
@@ -13968,7 +13968,7 @@ interface JSDOCOptions {
13968
13968
  /**
13969
13969
  * Overrides for the config.
13970
13970
  */
13971
- overrides?: TypedFlatConfigItem['rules'];
13971
+ overrides?: TypedFlatConfigItem["rules"];
13972
13972
  }
13973
13973
  declare function jsdoc(options?: JSDOCOptions): Promise<TypedFlatConfigItem[]>;
13974
13974
 
@@ -13976,7 +13976,7 @@ interface JSONOptions {
13976
13976
  /**
13977
13977
  * Override rules.
13978
13978
  */
13979
- overrides?: TypedFlatConfigItem['rules'];
13979
+ overrides?: TypedFlatConfigItem["rules"];
13980
13980
  /**
13981
13981
  * Enable stylistic rules.
13982
13982
  *
@@ -13997,7 +13997,7 @@ interface MarkdownOptions {
13997
13997
  /**
13998
13998
  * Override rules.
13999
13999
  */
14000
- overrides?: TypedFlatConfigItem['rules'];
14000
+ overrides?: TypedFlatConfigItem["rules"];
14001
14001
  /**
14002
14002
  * Additional extensions for components.
14003
14003
  *
@@ -14047,7 +14047,7 @@ interface TypeScriptOptions {
14047
14047
  /**
14048
14048
  * Overrides for the config.
14049
14049
  */
14050
- overrides?: TypedFlatConfigItem['rules'];
14050
+ overrides?: TypedFlatConfigItem["rules"];
14051
14051
  }
14052
14052
  declare function typescript(options?: TypeScriptOptions): Promise<TypedFlatConfigItem[]>;
14053
14053
 
@@ -14055,7 +14055,7 @@ interface VueOptions {
14055
14055
  /**
14056
14056
  * Override rules.
14057
14057
  */
14058
- overrides?: TypedFlatConfigItem['rules'];
14058
+ overrides?: TypedFlatConfigItem["rules"];
14059
14059
  /**
14060
14060
  * Enable stylistic rules.
14061
14061
  *
@@ -14089,7 +14089,7 @@ interface YAMLOptions {
14089
14089
  /**
14090
14090
  * Override rules.
14091
14091
  */
14092
- overrides?: TypedFlatConfigItem['rules'];
14092
+ overrides?: TypedFlatConfigItem["rules"];
14093
14093
  /**
14094
14094
  * Enable stylistic rules.
14095
14095
  *
@@ -14123,7 +14123,7 @@ interface TestOptions {
14123
14123
  /**
14124
14124
  * Override rules for for test files.
14125
14125
  */
14126
- overrides?: TypedFlatConfigItem['rules'];
14126
+ overrides?: TypedFlatConfigItem["rules"];
14127
14127
  }
14128
14128
  declare function test(options?: TestOptions): Promise<TypedFlatConfigItem[]>;
14129
14129
 
@@ -14150,7 +14150,7 @@ interface UnoCSSOptions {
14150
14150
  /**
14151
14151
  * Override rules for for files with unocss classes.
14152
14152
  */
14153
- overrides?: TypedFlatConfigItem['rules'];
14153
+ overrides?: TypedFlatConfigItem["rules"];
14154
14154
  }
14155
14155
  declare function unocss(options?: UnoCSSOptions): Promise<TypedFlatConfigItem[]>;
14156
14156
 
@@ -14158,7 +14158,7 @@ interface ReactOptions {
14158
14158
  /**
14159
14159
  * Override rules.
14160
14160
  */
14161
- overrides?: TypedFlatConfigItem['rules'];
14161
+ overrides?: TypedFlatConfigItem["rules"];
14162
14162
  /**
14163
14163
  * When this options is provided, type aware rules will be enabled.
14164
14164
  * @see https://typescript-eslint.io/linting/typed-linting/
@@ -14178,7 +14178,7 @@ interface AstroOptions {
14178
14178
  /**
14179
14179
  * Override rules.
14180
14180
  */
14181
- overrides?: TypedFlatConfigItem['rules'];
14181
+ overrides?: TypedFlatConfigItem["rules"];
14182
14182
  /**
14183
14183
  * Glob patterns for Astro files.
14184
14184
  *
@@ -14206,7 +14206,7 @@ interface TailwindCSSOptions {
14206
14206
  /**
14207
14207
  * Override rules for for files with tailwind classes.
14208
14208
  */
14209
- overrides?: TypedFlatConfigItem['rules'];
14209
+ overrides?: TypedFlatConfigItem["rules"];
14210
14210
  }
14211
14211
  declare function tailwindcss(options?: TailwindCSSOptions): Promise<TypedFlatConfigItem[]>;
14212
14212
 
@@ -14243,7 +14243,7 @@ interface VendoredPrettierOptionsRequired {
14243
14243
  /**
14244
14244
  * Print trailing commas wherever possible.
14245
14245
  */
14246
- trailingComma: 'none' | 'es5' | 'all';
14246
+ trailingComma: "none" | "es5" | "all";
14247
14247
  /**
14248
14248
  * Print spaces between brackets in object literals.
14249
14249
  */
@@ -14272,12 +14272,12 @@ interface VendoredPrettierOptionsRequired {
14272
14272
  * In some cases you may want to rely on editor/viewer soft wrapping instead, so this option allows you to opt out.
14273
14273
  * @default "preserve"
14274
14274
  */
14275
- proseWrap: 'always' | 'never' | 'preserve';
14275
+ proseWrap: "always" | "never" | "preserve";
14276
14276
  /**
14277
14277
  * Include parentheses around a sole arrow function parameter.
14278
14278
  * @default "always"
14279
14279
  */
14280
- arrowParens: 'avoid' | 'always';
14280
+ arrowParens: "avoid" | "always";
14281
14281
  /**
14282
14282
  * Provide ability to support new languages to prettier.
14283
14283
  */
@@ -14286,17 +14286,17 @@ interface VendoredPrettierOptionsRequired {
14286
14286
  * How to handle whitespaces in HTML.
14287
14287
  * @default "css"
14288
14288
  */
14289
- htmlWhitespaceSensitivity: 'css' | 'strict' | 'ignore';
14289
+ htmlWhitespaceSensitivity: "css" | "strict" | "ignore";
14290
14290
  /**
14291
14291
  * Which end of line characters to apply.
14292
14292
  * @default "lf"
14293
14293
  */
14294
- endOfLine: 'auto' | 'lf' | 'crlf' | 'cr';
14294
+ endOfLine: "auto" | "lf" | "crlf" | "cr";
14295
14295
  /**
14296
14296
  * Change when properties in objects are quoted.
14297
14297
  * @default "as-needed"
14298
14298
  */
14299
- quoteProps: 'as-needed' | 'consistent' | 'preserve';
14299
+ quoteProps: "as-needed" | "consistent" | "preserve";
14300
14300
  /**
14301
14301
  * Whether or not to indent the code inside <script> and <style> tags in Vue files.
14302
14302
  * @default false
@@ -14315,13 +14315,13 @@ interface FormattersOptions {
14315
14315
  *
14316
14316
  * Currently only support Prettier.
14317
14317
  */
14318
- css?: 'prettier' | boolean;
14318
+ css?: "prettier" | boolean;
14319
14319
  /**
14320
14320
  * Enable formatting support for HTML.
14321
14321
  *
14322
14322
  * Currently only support Prettier.
14323
14323
  */
14324
- html?: 'prettier' | boolean;
14324
+ html?: "prettier" | boolean;
14325
14325
  /**
14326
14326
  * Enable formatting support for Markdown.
14327
14327
  *
@@ -14329,17 +14329,17 @@ interface FormattersOptions {
14329
14329
  *
14330
14330
  * When set to `true`, it will use Prettier.
14331
14331
  */
14332
- markdown?: 'prettier' | 'dprint' | boolean;
14332
+ markdown?: "prettier" | "dprint" | boolean;
14333
14333
  /**
14334
14334
  * Enable formatting support for Astro.
14335
14335
  *
14336
14336
  * Currently only support Prettier.
14337
14337
  */
14338
- astro?: 'prettier' | boolean;
14338
+ astro?: "prettier" | boolean;
14339
14339
  /**
14340
14340
  * Enable formatting support for GraphQL.
14341
14341
  */
14342
- graphql?: 'prettier' | boolean;
14342
+ graphql?: "prettier" | boolean;
14343
14343
  /**
14344
14344
  * Custom options for Prettier.
14345
14345
  *
@@ -14359,7 +14359,7 @@ interface TOMLOptions {
14359
14359
  /**
14360
14360
  * Override rules.
14361
14361
  */
14362
- overrides?: TypedFlatConfigItem['rules'];
14362
+ overrides?: TypedFlatConfigItem["rules"];
14363
14363
  /**
14364
14364
  * Enable stylistic rules.
14365
14365
  *
@@ -14380,11 +14380,11 @@ interface RegExpOptions {
14380
14380
  /**
14381
14381
  * Override rules.
14382
14382
  */
14383
- overrides?: TypedFlatConfigItem['rules'];
14383
+ overrides?: TypedFlatConfigItem["rules"];
14384
14384
  /**
14385
14385
  * Override rulelevels
14386
14386
  */
14387
- level?: 'error' | 'warn';
14387
+ level?: "error" | "warn";
14388
14388
  }
14389
14389
  declare function regexp(options?: RegExpOptions): Promise<TypedFlatConfigItem[]>;
14390
14390
 
@@ -14393,7 +14393,7 @@ declare function jsx(): Promise<TypedFlatConfigItem[]>;
14393
14393
  type Awaitable<T> = T | Promise<T>;
14394
14394
  type Rules = RuleOptions;
14395
14395
 
14396
- type TypedFlatConfigItem = Omit<Linter.FlatConfig<Linter.RulesRecord & Rules>, 'plugins'> & {
14396
+ type TypedFlatConfigItem = Omit<Linter.FlatConfig<Linter.RulesRecord & Rules>, "plugins"> & {
14397
14397
  /**
14398
14398
  * An object containing a name-value mapping of plugin names to plugin objects. When `files` is specified, these plugins are only available to the matching files.
14399
14399
  *
package/dist/index.d.ts CHANGED
@@ -13920,7 +13920,7 @@ declare function sortPackageJson(): TypedFlatConfigItem[];
13920
13920
  */
13921
13921
  declare function sortTsconfig(): TypedFlatConfigItem[];
13922
13922
 
13923
- type StylisticConfig = Pick<StylisticCustomizeOptions, 'jsx' | 'indent' | 'quotes' | 'semi'>;
13923
+ type StylisticConfig = Pick<StylisticCustomizeOptions, "jsx" | "indent" | "quotes" | "semi">;
13924
13924
  interface StylisticOptions {
13925
13925
  /**
13926
13926
  * Enable stylistic rules.
@@ -13931,7 +13931,7 @@ interface StylisticOptions {
13931
13931
  /**
13932
13932
  * Overrides for the config.
13933
13933
  */
13934
- overrides?: TypedFlatConfigItem['rules'];
13934
+ overrides?: TypedFlatConfigItem["rules"];
13935
13935
  }
13936
13936
  declare function stylistic(options?: StylisticOptions): Promise<TypedFlatConfigItem[]>;
13937
13937
 
@@ -13954,7 +13954,7 @@ interface JavaScriptOptions {
13954
13954
  /**
13955
13955
  * Overrides for the config.
13956
13956
  */
13957
- overrides?: TypedFlatConfigItem['rules'];
13957
+ overrides?: TypedFlatConfigItem["rules"];
13958
13958
  }
13959
13959
  declare function javascript(options?: JavaScriptOptions): Promise<TypedFlatConfigItem[]>;
13960
13960
 
@@ -13968,7 +13968,7 @@ interface JSDOCOptions {
13968
13968
  /**
13969
13969
  * Overrides for the config.
13970
13970
  */
13971
- overrides?: TypedFlatConfigItem['rules'];
13971
+ overrides?: TypedFlatConfigItem["rules"];
13972
13972
  }
13973
13973
  declare function jsdoc(options?: JSDOCOptions): Promise<TypedFlatConfigItem[]>;
13974
13974
 
@@ -13976,7 +13976,7 @@ interface JSONOptions {
13976
13976
  /**
13977
13977
  * Override rules.
13978
13978
  */
13979
- overrides?: TypedFlatConfigItem['rules'];
13979
+ overrides?: TypedFlatConfigItem["rules"];
13980
13980
  /**
13981
13981
  * Enable stylistic rules.
13982
13982
  *
@@ -13997,7 +13997,7 @@ interface MarkdownOptions {
13997
13997
  /**
13998
13998
  * Override rules.
13999
13999
  */
14000
- overrides?: TypedFlatConfigItem['rules'];
14000
+ overrides?: TypedFlatConfigItem["rules"];
14001
14001
  /**
14002
14002
  * Additional extensions for components.
14003
14003
  *
@@ -14047,7 +14047,7 @@ interface TypeScriptOptions {
14047
14047
  /**
14048
14048
  * Overrides for the config.
14049
14049
  */
14050
- overrides?: TypedFlatConfigItem['rules'];
14050
+ overrides?: TypedFlatConfigItem["rules"];
14051
14051
  }
14052
14052
  declare function typescript(options?: TypeScriptOptions): Promise<TypedFlatConfigItem[]>;
14053
14053
 
@@ -14055,7 +14055,7 @@ interface VueOptions {
14055
14055
  /**
14056
14056
  * Override rules.
14057
14057
  */
14058
- overrides?: TypedFlatConfigItem['rules'];
14058
+ overrides?: TypedFlatConfigItem["rules"];
14059
14059
  /**
14060
14060
  * Enable stylistic rules.
14061
14061
  *
@@ -14089,7 +14089,7 @@ interface YAMLOptions {
14089
14089
  /**
14090
14090
  * Override rules.
14091
14091
  */
14092
- overrides?: TypedFlatConfigItem['rules'];
14092
+ overrides?: TypedFlatConfigItem["rules"];
14093
14093
  /**
14094
14094
  * Enable stylistic rules.
14095
14095
  *
@@ -14123,7 +14123,7 @@ interface TestOptions {
14123
14123
  /**
14124
14124
  * Override rules for for test files.
14125
14125
  */
14126
- overrides?: TypedFlatConfigItem['rules'];
14126
+ overrides?: TypedFlatConfigItem["rules"];
14127
14127
  }
14128
14128
  declare function test(options?: TestOptions): Promise<TypedFlatConfigItem[]>;
14129
14129
 
@@ -14150,7 +14150,7 @@ interface UnoCSSOptions {
14150
14150
  /**
14151
14151
  * Override rules for for files with unocss classes.
14152
14152
  */
14153
- overrides?: TypedFlatConfigItem['rules'];
14153
+ overrides?: TypedFlatConfigItem["rules"];
14154
14154
  }
14155
14155
  declare function unocss(options?: UnoCSSOptions): Promise<TypedFlatConfigItem[]>;
14156
14156
 
@@ -14158,7 +14158,7 @@ interface ReactOptions {
14158
14158
  /**
14159
14159
  * Override rules.
14160
14160
  */
14161
- overrides?: TypedFlatConfigItem['rules'];
14161
+ overrides?: TypedFlatConfigItem["rules"];
14162
14162
  /**
14163
14163
  * When this options is provided, type aware rules will be enabled.
14164
14164
  * @see https://typescript-eslint.io/linting/typed-linting/
@@ -14178,7 +14178,7 @@ interface AstroOptions {
14178
14178
  /**
14179
14179
  * Override rules.
14180
14180
  */
14181
- overrides?: TypedFlatConfigItem['rules'];
14181
+ overrides?: TypedFlatConfigItem["rules"];
14182
14182
  /**
14183
14183
  * Glob patterns for Astro files.
14184
14184
  *
@@ -14206,7 +14206,7 @@ interface TailwindCSSOptions {
14206
14206
  /**
14207
14207
  * Override rules for for files with tailwind classes.
14208
14208
  */
14209
- overrides?: TypedFlatConfigItem['rules'];
14209
+ overrides?: TypedFlatConfigItem["rules"];
14210
14210
  }
14211
14211
  declare function tailwindcss(options?: TailwindCSSOptions): Promise<TypedFlatConfigItem[]>;
14212
14212
 
@@ -14243,7 +14243,7 @@ interface VendoredPrettierOptionsRequired {
14243
14243
  /**
14244
14244
  * Print trailing commas wherever possible.
14245
14245
  */
14246
- trailingComma: 'none' | 'es5' | 'all';
14246
+ trailingComma: "none" | "es5" | "all";
14247
14247
  /**
14248
14248
  * Print spaces between brackets in object literals.
14249
14249
  */
@@ -14272,12 +14272,12 @@ interface VendoredPrettierOptionsRequired {
14272
14272
  * In some cases you may want to rely on editor/viewer soft wrapping instead, so this option allows you to opt out.
14273
14273
  * @default "preserve"
14274
14274
  */
14275
- proseWrap: 'always' | 'never' | 'preserve';
14275
+ proseWrap: "always" | "never" | "preserve";
14276
14276
  /**
14277
14277
  * Include parentheses around a sole arrow function parameter.
14278
14278
  * @default "always"
14279
14279
  */
14280
- arrowParens: 'avoid' | 'always';
14280
+ arrowParens: "avoid" | "always";
14281
14281
  /**
14282
14282
  * Provide ability to support new languages to prettier.
14283
14283
  */
@@ -14286,17 +14286,17 @@ interface VendoredPrettierOptionsRequired {
14286
14286
  * How to handle whitespaces in HTML.
14287
14287
  * @default "css"
14288
14288
  */
14289
- htmlWhitespaceSensitivity: 'css' | 'strict' | 'ignore';
14289
+ htmlWhitespaceSensitivity: "css" | "strict" | "ignore";
14290
14290
  /**
14291
14291
  * Which end of line characters to apply.
14292
14292
  * @default "lf"
14293
14293
  */
14294
- endOfLine: 'auto' | 'lf' | 'crlf' | 'cr';
14294
+ endOfLine: "auto" | "lf" | "crlf" | "cr";
14295
14295
  /**
14296
14296
  * Change when properties in objects are quoted.
14297
14297
  * @default "as-needed"
14298
14298
  */
14299
- quoteProps: 'as-needed' | 'consistent' | 'preserve';
14299
+ quoteProps: "as-needed" | "consistent" | "preserve";
14300
14300
  /**
14301
14301
  * Whether or not to indent the code inside <script> and <style> tags in Vue files.
14302
14302
  * @default false
@@ -14315,13 +14315,13 @@ interface FormattersOptions {
14315
14315
  *
14316
14316
  * Currently only support Prettier.
14317
14317
  */
14318
- css?: 'prettier' | boolean;
14318
+ css?: "prettier" | boolean;
14319
14319
  /**
14320
14320
  * Enable formatting support for HTML.
14321
14321
  *
14322
14322
  * Currently only support Prettier.
14323
14323
  */
14324
- html?: 'prettier' | boolean;
14324
+ html?: "prettier" | boolean;
14325
14325
  /**
14326
14326
  * Enable formatting support for Markdown.
14327
14327
  *
@@ -14329,17 +14329,17 @@ interface FormattersOptions {
14329
14329
  *
14330
14330
  * When set to `true`, it will use Prettier.
14331
14331
  */
14332
- markdown?: 'prettier' | 'dprint' | boolean;
14332
+ markdown?: "prettier" | "dprint" | boolean;
14333
14333
  /**
14334
14334
  * Enable formatting support for Astro.
14335
14335
  *
14336
14336
  * Currently only support Prettier.
14337
14337
  */
14338
- astro?: 'prettier' | boolean;
14338
+ astro?: "prettier" | boolean;
14339
14339
  /**
14340
14340
  * Enable formatting support for GraphQL.
14341
14341
  */
14342
- graphql?: 'prettier' | boolean;
14342
+ graphql?: "prettier" | boolean;
14343
14343
  /**
14344
14344
  * Custom options for Prettier.
14345
14345
  *
@@ -14359,7 +14359,7 @@ interface TOMLOptions {
14359
14359
  /**
14360
14360
  * Override rules.
14361
14361
  */
14362
- overrides?: TypedFlatConfigItem['rules'];
14362
+ overrides?: TypedFlatConfigItem["rules"];
14363
14363
  /**
14364
14364
  * Enable stylistic rules.
14365
14365
  *
@@ -14380,11 +14380,11 @@ interface RegExpOptions {
14380
14380
  /**
14381
14381
  * Override rules.
14382
14382
  */
14383
- overrides?: TypedFlatConfigItem['rules'];
14383
+ overrides?: TypedFlatConfigItem["rules"];
14384
14384
  /**
14385
14385
  * Override rulelevels
14386
14386
  */
14387
- level?: 'error' | 'warn';
14387
+ level?: "error" | "warn";
14388
14388
  }
14389
14389
  declare function regexp(options?: RegExpOptions): Promise<TypedFlatConfigItem[]>;
14390
14390
 
@@ -14393,7 +14393,7 @@ declare function jsx(): Promise<TypedFlatConfigItem[]>;
14393
14393
  type Awaitable<T> = T | Promise<T>;
14394
14394
  type Rules = RuleOptions;
14395
14395
 
14396
- type TypedFlatConfigItem = Omit<Linter.FlatConfig<Linter.RulesRecord & Rules>, 'plugins'> & {
14396
+ type TypedFlatConfigItem = Omit<Linter.FlatConfig<Linter.RulesRecord & Rules>, "plugins"> & {
14397
14397
  /**
14398
14398
  * An object containing a name-value mapping of plugin names to plugin objects. When `files` is specified, these plugins are only available to the matching files.
14399
14399
  *
package/dist/index.js CHANGED
@@ -1009,8 +1009,8 @@ import pluginAntfu3 from "eslint-plugin-antfu";
1009
1009
  var StylisticConfigDefaults = {
1010
1010
  indent: 2,
1011
1011
  jsx: true,
1012
- quotes: "single",
1013
- semi: false
1012
+ quotes: "double",
1013
+ semi: true
1014
1014
  };
1015
1015
  async function stylistic(options = {}) {
1016
1016
  const {
@@ -1463,7 +1463,7 @@ async function yaml(options = {}) {
1463
1463
  ]);
1464
1464
  const {
1465
1465
  indent = 2,
1466
- quotes = "single"
1466
+ quotes = "double"
1467
1467
  } = typeof stylistic2 === "boolean" ? {} : stylistic2;
1468
1468
  return [
1469
1469
  {
@@ -1801,7 +1801,7 @@ async function astro(options = {}) {
1801
1801
  "astro/no-deprecated-getentrybyslug": "error",
1802
1802
  "astro/no-set-html-directive": "off",
1803
1803
  "astro/no-unused-define-vars-in-style": "error",
1804
- "astro/semi": "off",
1804
+ "astro/semi": "error",
1805
1805
  "astro/valid-compile": "error",
1806
1806
  ...stylistic2 ? {
1807
1807
  "style/indent": "off",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luxass/eslint-config",
3
- "version": "4.6.0",
3
+ "version": "4.7.0",
4
4
  "description": "ESLint config for @luxass",
5
5
  "type": "module",
6
6
  "author": {