@luxass/eslint-config 5.3.0 → 5.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.d.ts +89 -50
  2. package/package.json +19 -19
package/dist/index.d.ts CHANGED
@@ -1834,7 +1834,7 @@ interface RuleOptions {
1834
1834
  * Enforce heading levels increment by one
1835
1835
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/heading-increment.md
1836
1836
  */
1837
- 'markdown/heading-increment'?: Linter.RuleEntry<[]>;
1837
+ 'markdown/heading-increment'?: Linter.RuleEntry<MarkdownHeadingIncrement>;
1838
1838
  /**
1839
1839
  * Disallow bare URLs
1840
1840
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-bare-urls.md
@@ -1879,7 +1879,7 @@ interface RuleOptions {
1879
1879
  * Disallow headings without a space after the hash characters
1880
1880
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-missing-atx-heading-space.md
1881
1881
  */
1882
- 'markdown/no-missing-atx-heading-space'?: Linter.RuleEntry<[]>;
1882
+ 'markdown/no-missing-atx-heading-space'?: Linter.RuleEntry<MarkdownNoMissingAtxHeadingSpace>;
1883
1883
  /**
1884
1884
  * Disallow missing label references
1885
1885
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-missing-label-refs.md
@@ -1900,6 +1900,11 @@ interface RuleOptions {
1900
1900
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-reversed-media-syntax.md
1901
1901
  */
1902
1902
  'markdown/no-reversed-media-syntax'?: Linter.RuleEntry<[]>;
1903
+ /**
1904
+ * Disallow spaces around emphasis markers
1905
+ * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-space-in-emphasis.md
1906
+ */
1907
+ 'markdown/no-space-in-emphasis'?: Linter.RuleEntry<MarkdownNoSpaceInEmphasis>;
1903
1908
  /**
1904
1909
  * Disallow unused definitions
1905
1910
  * @see https://github.com/eslint/markdown/blob/main/docs/rules/no-unused-definitions.md
@@ -3185,7 +3190,7 @@ interface RuleOptions {
3185
3190
  */
3186
3191
  'pnpm/json-enforce-catalog'?: Linter.RuleEntry<PnpmJsonEnforceCatalog>;
3187
3192
  /**
3188
- * Prefer having pnpm settings in `pnpm-workspace.yaml` instead of `package.json`. This would requires pnpm v10.6+, see https://github.com/orgs/pnpm/discussions/9037.
3193
+ * Prefer having pnpm settings in `pnpm-workspace.yaml` instead of `package.json`. This requires pnpm v10.6+, see https://github.com/orgs/pnpm/discussions/9037.
3189
3194
  * @see https://github.com/antfu/pnpm-workspace-utils/tree/main/packages/eslint-plugin-pnpm/src/rules/json/json-prefer-workspace-settings.test.ts
3190
3195
  */
3191
3196
  'pnpm/json-prefer-workspace-settings'?: Linter.RuleEntry<PnpmJsonPreferWorkspaceSettings>;
@@ -3195,7 +3200,7 @@ interface RuleOptions {
3195
3200
  */
3196
3201
  'pnpm/json-valid-catalog'?: Linter.RuleEntry<PnpmJsonValidCatalog>;
3197
3202
  /**
3198
- * Disallow unused catalogs in `pnpm-workspace.yaml`
3203
+ * Disallow duplicate catalog items in `pnpm-workspace.yaml`
3199
3204
  * @see https://github.com/antfu/pnpm-workspace-utils/tree/main/packages/eslint-plugin-pnpm/src/rules/yaml/yaml-no-duplicate-catalog-item.test.ts
3200
3205
  */
3201
3206
  'pnpm/yaml-no-duplicate-catalog-item'?: Linter.RuleEntry<PnpmYamlNoDuplicateCatalogItem>;
@@ -3690,7 +3695,7 @@ interface RuleOptions {
3690
3695
  'react/no-nested-components'?: Linter.RuleEntry<[]>;
3691
3696
  /**
3692
3697
  * Disallow nesting lazy component declarations inside other components.
3693
- * @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
3698
+ * @see https://eslint-react.xyz/docs/rules/no-nested-lazy-component-declarations
3694
3699
  */
3695
3700
  'react/no-nested-lazy-component-declarations'?: Linter.RuleEntry<[]>;
3696
3701
  /**
@@ -4495,8 +4500,9 @@ interface RuleOptions {
4495
4500
  */
4496
4501
  'style/jsx-pascal-case'?: Linter.RuleEntry<StyleJsxPascalCase>;
4497
4502
  /**
4498
- * Disallow multiple spaces between inline JSX props
4503
+ * Disallow multiple spaces between inline JSX props. Deprecated, use `no-multi-spaces` rule instead.
4499
4504
  * @see https://eslint.style/rules/jsx-props-no-multi-spaces
4505
+ * @deprecated
4500
4506
  */
4501
4507
  'style/jsx-props-no-multi-spaces'?: Linter.RuleEntry<[]>;
4502
4508
  /**
@@ -4872,6 +4878,11 @@ interface RuleOptions {
4872
4878
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/expect-expect.md
4873
4879
  */
4874
4880
  'test/expect-expect'?: Linter.RuleEntry<TestExpectExpect>;
4881
+ /**
4882
+ * enforce hoisted APIs to be on top of the file
4883
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/hoisted-apis-on-top.md
4884
+ */
4885
+ 'test/hoisted-apis-on-top'?: Linter.RuleEntry<[]>;
4875
4886
  /**
4876
4887
  * enforce a maximum number of expect per test
4877
4888
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/max-expects.md
@@ -5073,6 +5084,11 @@ interface RuleOptions {
5073
5084
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-resolves.md
5074
5085
  */
5075
5086
  'test/prefer-expect-resolves'?: Linter.RuleEntry<[]>;
5087
+ /**
5088
+ * enforce using `expectTypeOf` instead of `expect(typeof ...)`
5089
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-type-of.md
5090
+ */
5091
+ 'test/prefer-expect-type-of'?: Linter.RuleEntry<[]>;
5076
5092
  /**
5077
5093
  * enforce having hooks in consistent order
5078
5094
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-in-order.md
@@ -8894,6 +8910,7 @@ type JsdocRequireReturnsType = [] | [{
8894
8910
  }];
8895
8911
  // ----- jsdoc/require-template -----
8896
8912
  type JsdocRequireTemplate = [] | [{
8913
+ exemptedBy?: string[];
8897
8914
  requireSeparateTemplates?: boolean;
8898
8915
  }];
8899
8916
  // ----- jsdoc/require-throws -----
@@ -9615,6 +9632,10 @@ type LogicalAssignmentOperators = (([] | ["always"] | ["always", {
9615
9632
  type MarkdownFencedCodeLanguage = [] | [{
9616
9633
  required?: string[];
9617
9634
  }];
9635
+ // ----- markdown/heading-increment -----
9636
+ type MarkdownHeadingIncrement = [] | [{
9637
+ frontmatterTitle?: string;
9638
+ }];
9618
9639
  // ----- markdown/no-duplicate-definitions -----
9619
9640
  type MarkdownNoDuplicateDefinitions = [] | [{
9620
9641
  allowDefinitions?: string[];
@@ -9633,6 +9654,11 @@ type MarkdownNoEmptyDefinitions = [] | [{
9633
9654
  // ----- markdown/no-html -----
9634
9655
  type MarkdownNoHtml = [] | [{
9635
9656
  allowed?: string[];
9657
+ allowedIgnoreCase?: boolean;
9658
+ }];
9659
+ // ----- markdown/no-missing-atx-heading-space -----
9660
+ type MarkdownNoMissingAtxHeadingSpace = [] | [{
9661
+ checkClosedHeadings?: boolean;
9636
9662
  }];
9637
9663
  // ----- markdown/no-missing-link-fragments -----
9638
9664
  type MarkdownNoMissingLinkFragments = [] | [{
@@ -9643,6 +9669,10 @@ type MarkdownNoMissingLinkFragments = [] | [{
9643
9669
  type MarkdownNoMultipleH1 = [] | [{
9644
9670
  frontmatterTitle?: string;
9645
9671
  }];
9672
+ // ----- markdown/no-space-in-emphasis -----
9673
+ type MarkdownNoSpaceInEmphasis = [] | [{
9674
+ checkStrikethrough?: boolean;
9675
+ }];
9646
9676
  // ----- markdown/no-unused-definitions -----
9647
9677
  type MarkdownNoUnusedDefinitions = [] | [{
9648
9678
  allowDefinitions?: string[];
@@ -12812,6 +12842,7 @@ type StyleIndent = [] | [("tab" | number)] | [("tab" | number), {
12812
12842
  const?: (number | ("first" | "off"));
12813
12843
  using?: (number | ("first" | "off"));
12814
12844
  });
12845
+ assignmentOperator?: (number | "off");
12815
12846
  outerIIFEBody?: (number | "off");
12816
12847
  MemberExpression?: (number | "off");
12817
12848
  FunctionDeclaration?: {
@@ -13044,6 +13075,22 @@ type StyleKeywordSpacing = [] | [{
13044
13075
  before?: boolean;
13045
13076
  after?: boolean;
13046
13077
  };
13078
+ arguments?: {
13079
+ before?: boolean;
13080
+ after?: boolean;
13081
+ };
13082
+ as?: {
13083
+ before?: boolean;
13084
+ after?: boolean;
13085
+ };
13086
+ async?: {
13087
+ before?: boolean;
13088
+ after?: boolean;
13089
+ };
13090
+ await?: {
13091
+ before?: boolean;
13092
+ after?: boolean;
13093
+ };
13047
13094
  boolean?: {
13048
13095
  before?: boolean;
13049
13096
  after?: boolean;
@@ -13108,6 +13155,10 @@ type StyleKeywordSpacing = [] | [{
13108
13155
  before?: boolean;
13109
13156
  after?: boolean;
13110
13157
  };
13158
+ eval?: {
13159
+ before?: boolean;
13160
+ after?: boolean;
13161
+ };
13111
13162
  export?: {
13112
13163
  before?: boolean;
13113
13164
  after?: boolean;
@@ -13136,10 +13187,18 @@ type StyleKeywordSpacing = [] | [{
13136
13187
  before?: boolean;
13137
13188
  after?: boolean;
13138
13189
  };
13190
+ from?: {
13191
+ before?: boolean;
13192
+ after?: boolean;
13193
+ };
13139
13194
  function?: {
13140
13195
  before?: boolean;
13141
13196
  after?: boolean;
13142
13197
  };
13198
+ get?: {
13199
+ before?: boolean;
13200
+ after?: boolean;
13201
+ };
13143
13202
  goto?: {
13144
13203
  before?: boolean;
13145
13204
  after?: boolean;
@@ -13172,6 +13231,10 @@ type StyleKeywordSpacing = [] | [{
13172
13231
  before?: boolean;
13173
13232
  after?: boolean;
13174
13233
  };
13234
+ let?: {
13235
+ before?: boolean;
13236
+ after?: boolean;
13237
+ };
13175
13238
  long?: {
13176
13239
  before?: boolean;
13177
13240
  after?: boolean;
@@ -13188,6 +13251,10 @@ type StyleKeywordSpacing = [] | [{
13188
13251
  before?: boolean;
13189
13252
  after?: boolean;
13190
13253
  };
13254
+ of?: {
13255
+ before?: boolean;
13256
+ after?: boolean;
13257
+ };
13191
13258
  package?: {
13192
13259
  before?: boolean;
13193
13260
  after?: boolean;
@@ -13208,6 +13275,10 @@ type StyleKeywordSpacing = [] | [{
13208
13275
  before?: boolean;
13209
13276
  after?: boolean;
13210
13277
  };
13278
+ set?: {
13279
+ before?: boolean;
13280
+ after?: boolean;
13281
+ };
13211
13282
  short?: {
13212
13283
  before?: boolean;
13213
13284
  after?: boolean;
@@ -13252,59 +13323,43 @@ type StyleKeywordSpacing = [] | [{
13252
13323
  before?: boolean;
13253
13324
  after?: boolean;
13254
13325
  };
13255
- typeof?: {
13256
- before?: boolean;
13257
- after?: boolean;
13258
- };
13259
- var?: {
13260
- before?: boolean;
13261
- after?: boolean;
13262
- };
13263
- void?: {
13264
- before?: boolean;
13265
- after?: boolean;
13266
- };
13267
- volatile?: {
13268
- before?: boolean;
13269
- after?: boolean;
13270
- };
13271
- while?: {
13326
+ type?: {
13272
13327
  before?: boolean;
13273
13328
  after?: boolean;
13274
13329
  };
13275
- with?: {
13330
+ typeof?: {
13276
13331
  before?: boolean;
13277
13332
  after?: boolean;
13278
13333
  };
13279
- accessor?: {
13334
+ using?: {
13280
13335
  before?: boolean;
13281
13336
  after?: boolean;
13282
13337
  };
13283
- as?: {
13338
+ var?: {
13284
13339
  before?: boolean;
13285
13340
  after?: boolean;
13286
13341
  };
13287
- async?: {
13342
+ void?: {
13288
13343
  before?: boolean;
13289
13344
  after?: boolean;
13290
13345
  };
13291
- await?: {
13346
+ volatile?: {
13292
13347
  before?: boolean;
13293
13348
  after?: boolean;
13294
13349
  };
13295
- from?: {
13350
+ while?: {
13296
13351
  before?: boolean;
13297
13352
  after?: boolean;
13298
13353
  };
13299
- get?: {
13354
+ with?: {
13300
13355
  before?: boolean;
13301
13356
  after?: boolean;
13302
13357
  };
13303
- let?: {
13358
+ yield?: {
13304
13359
  before?: boolean;
13305
13360
  after?: boolean;
13306
13361
  };
13307
- of?: {
13362
+ accessor?: {
13308
13363
  before?: boolean;
13309
13364
  after?: boolean;
13310
13365
  };
@@ -13312,22 +13367,6 @@ type StyleKeywordSpacing = [] | [{
13312
13367
  before?: boolean;
13313
13368
  after?: boolean;
13314
13369
  };
13315
- set?: {
13316
- before?: boolean;
13317
- after?: boolean;
13318
- };
13319
- using?: {
13320
- before?: boolean;
13321
- after?: boolean;
13322
- };
13323
- yield?: {
13324
- before?: boolean;
13325
- after?: boolean;
13326
- };
13327
- type?: {
13328
- before?: boolean;
13329
- after?: boolean;
13330
- };
13331
13370
  };
13332
13371
  }];
13333
13372
  // ----- style/line-comment-position -----
@@ -13527,6 +13566,7 @@ type StyleNoExtraParens = ([] | ["functions"] | [] | ["all"] | ["all", {
13527
13566
  LogicalExpression?: boolean;
13528
13567
  AwaitExpression?: boolean;
13529
13568
  };
13569
+ ignoredNodes?: string[];
13530
13570
  }]);
13531
13571
  // ----- style/no-mixed-operators -----
13532
13572
  type StyleNoMixedOperators = [] | [{
@@ -13642,7 +13682,7 @@ type StylePaddedBlocks = [] | [(("always" | "never" | "start" | "end") | {
13642
13682
  // ----- style/padding-line-between-statements -----
13643
13683
  type _StylePaddingLineBetweenStatementsPaddingType = ("any" | "never" | "always");
13644
13684
  type _StylePaddingLineBetweenStatementsStatementOption = (_StylePaddingLineBetweenStatementsStatementType | [_StylePaddingLineBetweenStatementsStatementType, ...(_StylePaddingLineBetweenStatementsStatementType)[]]);
13645
- type _StylePaddingLineBetweenStatementsStatementType = ("*" | "exports" | "require" | "directive" | "iife" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "continue" | "debugger" | "default" | "do" | "for" | "if" | "import" | "return" | "switch" | "throw" | "try" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload" | "block-like" | "singleline-block-like" | "multiline-block-like" | "expression" | "singleline-expression" | "multiline-expression" | "export" | "singleline-export" | "multiline-export" | "var" | "singleline-var" | "multiline-var" | "let" | "singleline-let" | "multiline-let" | "const" | "singleline-const" | "multiline-const" | "using" | "singleline-using" | "multiline-using");
13685
+ type _StylePaddingLineBetweenStatementsStatementType = ("*" | "exports" | "require" | "directive" | "iife" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "continue" | "debugger" | "default" | "do" | "for" | "if" | "import" | "switch" | "throw" | "try" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "function-overload" | "block-like" | "singleline-block-like" | "multiline-block-like" | "expression" | "singleline-expression" | "multiline-expression" | "return" | "singleline-return" | "multiline-return" | "export" | "singleline-export" | "multiline-export" | "var" | "singleline-var" | "multiline-var" | "let" | "singleline-let" | "multiline-let" | "const" | "singleline-const" | "multiline-const" | "using" | "singleline-using" | "multiline-using" | "type" | "singleline-type" | "multiline-type");
13646
13686
  type StylePaddingLineBetweenStatements = {
13647
13687
  blankLine: _StylePaddingLineBetweenStatementsPaddingType;
13648
13688
  prev: _StylePaddingLineBetweenStatementsStatementOption;
@@ -15240,7 +15280,6 @@ type UnocssEnforceClassCompile = [] | [{
15240
15280
  type UnocssOrder = [] | [{
15241
15281
  unoFunctions?: string[];
15242
15282
  unoVariables?: string[];
15243
- [k: string]: unknown | undefined;
15244
15283
  }];
15245
15284
  // ----- unused-imports/no-unused-imports -----
15246
15285
  type UnusedImportsNoUnusedImports = [] | [(("all" | "local") | {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luxass/eslint-config",
3
- "version": "5.3.0",
3
+ "version": "5.3.1",
4
4
  "description": "ESLint config for @luxass",
5
5
  "type": "module",
6
6
  "author": {
@@ -83,45 +83,45 @@
83
83
  "@antfu/install-pkg": "^1.1.0",
84
84
  "@clack/prompts": "^0.11.0",
85
85
  "@eslint-community/eslint-plugin-eslint-comments": "^4.5.0",
86
- "@eslint/markdown": "^7.1.0",
87
- "@stylistic/eslint-plugin": "^5.2.3",
88
- "@typescript-eslint/eslint-plugin": "^8.39.0",
89
- "@typescript-eslint/parser": "^8.39.0",
90
- "@vitest/eslint-plugin": "^1.3.4",
86
+ "@eslint/markdown": "^7.2.0",
87
+ "@stylistic/eslint-plugin": "^5.3.1",
88
+ "@typescript-eslint/eslint-plugin": "^8.42.0",
89
+ "@typescript-eslint/parser": "^8.42.0",
90
+ "@vitest/eslint-plugin": "^1.3.8",
91
91
  "eslint-config-flat-gitignore": "^2.1.0",
92
92
  "eslint-flat-config-utils": "^2.1.1",
93
93
  "eslint-merge-processors": "^2.0.0",
94
94
  "eslint-plugin-antfu": "^3.1.1",
95
95
  "eslint-plugin-command": "^3.3.1",
96
96
  "eslint-plugin-import-lite": "^0.3.0",
97
- "eslint-plugin-jsdoc": "^52.0.4",
97
+ "eslint-plugin-jsdoc": "^54.3.1",
98
98
  "eslint-plugin-jsonc": "^2.20.1",
99
99
  "eslint-plugin-n": "^17.21.3",
100
100
  "eslint-plugin-perfectionist": "^4.15.0",
101
- "eslint-plugin-pnpm": "^1.1.0",
101
+ "eslint-plugin-pnpm": "^1.1.1",
102
102
  "eslint-plugin-regexp": "^2.10.0",
103
103
  "eslint-plugin-toml": "^0.12.0",
104
104
  "eslint-plugin-unicorn": "^60.0.0",
105
- "eslint-plugin-unused-imports": "^4.1.4",
105
+ "eslint-plugin-unused-imports": "^4.2.0",
106
106
  "eslint-plugin-vue": "^10.4.0",
107
107
  "eslint-plugin-yml": "^1.18.0",
108
108
  "eslint-processor-vue-blocks": "^2.0.0",
109
109
  "globals": "^16.3.0",
110
110
  "jsonc-eslint-parser": "^2.4.0",
111
- "local-pkg": "^1.1.1",
111
+ "local-pkg": "^1.1.2",
112
112
  "parse-gitignore": "^2.0.0",
113
113
  "toml-eslint-parser": "^0.10.0",
114
114
  "vue-eslint-parser": "^10.2.0",
115
115
  "yaml-eslint-parser": "^1.3.0"
116
116
  },
117
117
  "devDependencies": {
118
- "@eslint-react/eslint-plugin": "^1.52.3",
119
- "@eslint/config-inspector": "^1.1.0",
118
+ "@eslint-react/eslint-plugin": "^1.52.9",
119
+ "@eslint/config-inspector": "^1.2.0",
120
120
  "@types/node": "^22.17.1",
121
- "@typescript-eslint/rule-tester": "^8.39.0",
122
- "@unocss/eslint-plugin": "^66.4.2",
121
+ "@typescript-eslint/rule-tester": "^8.42.0",
122
+ "@unocss/eslint-plugin": "^66.5.0",
123
123
  "astro-eslint-parser": "^1.2.2",
124
- "eslint": "^9.33.0",
124
+ "eslint": "^9.34.0",
125
125
  "eslint-plugin-astro": "^1.3.1",
126
126
  "eslint-plugin-format": "^1.0.1",
127
127
  "eslint-plugin-react-hooks": "^5.2.0",
@@ -131,12 +131,12 @@
131
131
  "jiti": "^2.5.1",
132
132
  "prettier-plugin-astro": "^0.14.1",
133
133
  "tailwindcss": "3.4.17",
134
- "tsdown": "^0.13.4",
135
- "tsx": "^4.20.3",
134
+ "tsdown": "^0.14.2",
135
+ "tsx": "^4.20.5",
136
136
  "typescript": "^5.9.2",
137
- "unocss": "^66.4.2",
137
+ "unocss": "^66.5.0",
138
138
  "vitest": "^3.2.4",
139
- "vue": "^3.5.18"
139
+ "vue": "^3.5.21"
140
140
  },
141
141
  "scripts": {
142
142
  "build": "pnpm typegen && tsdown --clean --dts",