@ntnyq/eslint-config 6.0.0 → 6.0.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.mts +140 -12
  2. package/package.json +23 -23
package/dist/index.d.mts CHANGED
@@ -1157,6 +1157,11 @@ interface RuleOptions {
1157
1157
  * @see https://html-eslint.org/docs/rules/require-closing-tags
1158
1158
  */
1159
1159
  '@html-eslint/require-closing-tags'?: Linter.RuleEntry<HtmlEslintRequireClosingTags>;
1160
+ /**
1161
+ * Require that certain elements have meaningful content.
1162
+ * @see https://html-eslint.org/docs/rules/require-content
1163
+ */
1164
+ '@html-eslint/require-content'?: Linter.RuleEntry<[]>;
1160
1165
  /**
1161
1166
  * Require `<details>` elements to have a `<summary>` as their first child element.
1162
1167
  * @see https://html-eslint.org/docs/rules/require-details-summary
@@ -1232,6 +1237,11 @@ interface RuleOptions {
1232
1237
  * @see https://html-eslint.org/docs/rules/sort-attrs
1233
1238
  */
1234
1239
  '@html-eslint/sort-attrs'?: Linter.RuleEntry<HtmlEslintSortAttrs>;
1240
+ /**
1241
+ * Require `viewBox` attribute on `<svg>` elements
1242
+ * @see https://html-eslint.org/docs/rules/svg-require-viewbox
1243
+ */
1244
+ '@html-eslint/svg-require-viewbox'?: Linter.RuleEntry<[]>;
1235
1245
  /**
1236
1246
  * Enforce the use of baseline features.
1237
1247
  * @see https://html-eslint.org/docs/rules/use-baseline
@@ -2229,6 +2239,11 @@ interface RuleOptions {
2229
2239
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-exports-from-components/
2230
2240
  */
2231
2241
  'astro/no-exports-from-components'?: Linter.RuleEntry<[]>;
2242
+ /**
2243
+ * disallow `prerender` export outside of pages/ directory
2244
+ * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-prerender-export-outside-pages/
2245
+ */
2246
+ 'astro/no-prerender-export-outside-pages'?: Linter.RuleEntry<[]>;
2232
2247
  /**
2233
2248
  * disallow use of `set:html` to prevent XSS attack
2234
2249
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-set-html-directive/
@@ -4986,6 +5001,11 @@ interface RuleOptions {
4986
5001
  * @see https://perfectionist.dev/rules/sort-array-includes
4987
5002
  */
4988
5003
  'perfectionist/sort-array-includes'?: Linter.RuleEntry<PerfectionistSortArrayIncludes>;
5004
+ /**
5005
+ * Enforce sorted arrays.
5006
+ * @see https://perfectionist.dev/rules/sort-arrays
5007
+ */
5008
+ 'perfectionist/sort-arrays'?: Linter.RuleEntry<PerfectionistSortArrays>;
4989
5009
  /**
4990
5010
  * Enforce sorted classes.
4991
5011
  * @see https://perfectionist.dev/rules/sort-classes
@@ -8953,6 +8973,8 @@ type EslintCommunityEslintCommentsRequireDescription = [] | [{
8953
8973
  type HtmlEslintAttrsNewline = [] | [{
8954
8974
  closeStyle?: ("newline" | "sameline");
8955
8975
  ifAttrsMoreThan?: number;
8976
+ skip?: string[];
8977
+ inline?: string[];
8956
8978
  }]; // ----- @html-eslint/element-newline -----
8957
8979
  type HtmlEslintElementNewline = [] | [{
8958
8980
  inline?: string[];
@@ -12459,7 +12481,7 @@ type OxfmtOxfmt = [] | [{
12459
12481
  htmlWhitespaceSensitivity?: ("css" | "ignore" | "strict");
12460
12482
  ignorePatterns?: string[];
12461
12483
  insertFinalNewline?: boolean;
12462
- jsdoc?: {
12484
+ jsdoc?: (boolean | {
12463
12485
  addDefaultToDescription?: boolean;
12464
12486
  bracketSpacing?: boolean;
12465
12487
  capitalizeDescriptions?: boolean;
@@ -12471,7 +12493,7 @@ type OxfmtOxfmt = [] | [{
12471
12493
  preferCodeFences?: boolean;
12472
12494
  separateReturnsFromParam?: boolean;
12473
12495
  separateTagGroups?: boolean;
12474
- };
12496
+ });
12475
12497
  jsxSingleQuote?: boolean;
12476
12498
  objectWrap?: ("preserve" | "collapse" | "always");
12477
12499
  printWidth?: number;
@@ -12480,7 +12502,7 @@ type OxfmtOxfmt = [] | [{
12480
12502
  semi?: boolean;
12481
12503
  singleAttributePerLine?: boolean;
12482
12504
  singleQuote?: boolean;
12483
- sortImports?: {
12505
+ sortImports?: (boolean | {
12484
12506
  customGroups?: {
12485
12507
  elementNamePattern?: string[];
12486
12508
  groupName?: string;
@@ -12497,18 +12519,18 @@ type OxfmtOxfmt = [] | [{
12497
12519
  partitionByComment?: boolean;
12498
12520
  partitionByNewline?: boolean;
12499
12521
  sortSideEffects?: boolean;
12500
- };
12522
+ });
12501
12523
  sortPackageJson?: (boolean | {
12502
12524
  sortScripts?: boolean;
12503
12525
  });
12504
- sortTailwindcss?: {
12526
+ sortTailwindcss?: (boolean | {
12505
12527
  attributes?: string[];
12506
12528
  config?: string;
12507
12529
  functions?: string[];
12508
12530
  preserveDuplicates?: boolean;
12509
12531
  preserveWhitespace?: boolean;
12510
12532
  stylesheet?: string;
12511
- };
12533
+ });
12512
12534
  tabWidth?: number;
12513
12535
  trailingComma?: ("all" | "es5" | "none");
12514
12536
  useTabs?: boolean;
@@ -12527,7 +12549,7 @@ type OxfmtOxfmt = [] | [{
12527
12549
  htmlWhitespaceSensitivity?: ("css" | "ignore" | "strict");
12528
12550
  ignorePatterns?: string[];
12529
12551
  insertFinalNewline?: boolean;
12530
- jsdoc?: {
12552
+ jsdoc?: (boolean | {
12531
12553
  addDefaultToDescription?: boolean;
12532
12554
  bracketSpacing?: boolean;
12533
12555
  capitalizeDescriptions?: boolean;
@@ -12539,7 +12561,7 @@ type OxfmtOxfmt = [] | [{
12539
12561
  preferCodeFences?: boolean;
12540
12562
  separateReturnsFromParam?: boolean;
12541
12563
  separateTagGroups?: boolean;
12542
- };
12564
+ });
12543
12565
  jsxSingleQuote?: boolean;
12544
12566
  objectWrap?: ("preserve" | "collapse" | "always");
12545
12567
  printWidth?: number;
@@ -12548,7 +12570,7 @@ type OxfmtOxfmt = [] | [{
12548
12570
  semi?: boolean;
12549
12571
  singleAttributePerLine?: boolean;
12550
12572
  singleQuote?: boolean;
12551
- sortImports?: {
12573
+ sortImports?: (boolean | {
12552
12574
  customGroups?: {
12553
12575
  elementNamePattern?: string[];
12554
12576
  groupName?: string;
@@ -12565,18 +12587,18 @@ type OxfmtOxfmt = [] | [{
12565
12587
  partitionByComment?: boolean;
12566
12588
  partitionByNewline?: boolean;
12567
12589
  sortSideEffects?: boolean;
12568
- };
12590
+ });
12569
12591
  sortPackageJson?: (boolean | {
12570
12592
  sortScripts?: boolean;
12571
12593
  });
12572
- sortTailwindcss?: {
12594
+ sortTailwindcss?: (boolean | {
12573
12595
  attributes?: string[];
12574
12596
  config?: string;
12575
12597
  functions?: string[];
12576
12598
  preserveDuplicates?: boolean;
12577
12599
  preserveWhitespace?: boolean;
12578
12600
  stylesheet?: string;
12579
- };
12601
+ });
12580
12602
  tabWidth?: number;
12581
12603
  trailingComma?: ("all" | "es5" | "none");
12582
12604
  useTabs?: boolean;
@@ -12707,6 +12729,112 @@ type PerfectionistSortArrayIncludes = {
12707
12729
  } | string)));
12708
12730
  });
12709
12731
  partitionByNewLine?: boolean;
12732
+ }[]; // ----- perfectionist/sort-arrays -----
12733
+ type PerfectionistSortArrays = {
12734
+ fallbackSort?: {
12735
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12736
+ order?: ("asc" | "desc");
12737
+ };
12738
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12739
+ specialCharacters?: ("remove" | "trim" | "keep");
12740
+ ignoreCase?: boolean;
12741
+ alphabet?: string;
12742
+ locales?: (string | string[]);
12743
+ order?: ("asc" | "desc");
12744
+ customGroups?: ({
12745
+ fallbackSort?: {
12746
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12747
+ order?: ("asc" | "desc");
12748
+ };
12749
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12750
+ groupName: string;
12751
+ newlinesInside?: ("ignore" | number);
12752
+ order?: ("asc" | "desc");
12753
+ anyOf: [{
12754
+ elementNamePattern?: (({
12755
+ pattern: string;
12756
+ flags?: string;
12757
+ } | string)[] | ({
12758
+ pattern: string;
12759
+ flags?: string;
12760
+ } | string));
12761
+ selector?: "literal";
12762
+ }, ...({
12763
+ elementNamePattern?: (({
12764
+ pattern: string;
12765
+ flags?: string;
12766
+ } | string)[] | ({
12767
+ pattern: string;
12768
+ flags?: string;
12769
+ } | string));
12770
+ selector?: "literal";
12771
+ })[]];
12772
+ } | {
12773
+ fallbackSort?: {
12774
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12775
+ order?: ("asc" | "desc");
12776
+ };
12777
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12778
+ groupName: string;
12779
+ newlinesInside?: ("ignore" | number);
12780
+ order?: ("asc" | "desc");
12781
+ elementNamePattern?: (({
12782
+ pattern: string;
12783
+ flags?: string;
12784
+ } | string)[] | ({
12785
+ pattern: string;
12786
+ flags?: string;
12787
+ } | string));
12788
+ selector?: "literal";
12789
+ })[];
12790
+ newlinesInside?: (("ignore" | number) | "newlinesBetween");
12791
+ groups?: (string | [string, ...(string)[]] | {
12792
+ newlinesBetween: ("ignore" | number);
12793
+ } | {
12794
+ group: (string | [string, ...(string)[]]);
12795
+ fallbackSort?: {
12796
+ type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12797
+ order?: ("asc" | "desc");
12798
+ };
12799
+ commentAbove?: string;
12800
+ type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
12801
+ newlinesInside?: ("ignore" | number);
12802
+ order?: ("asc" | "desc");
12803
+ })[];
12804
+ newlinesBetween?: ("ignore" | number);
12805
+ useConfigurationIf: {
12806
+ allNamesMatchPattern?: (({
12807
+ pattern: string;
12808
+ flags?: string;
12809
+ } | string)[] | ({
12810
+ pattern: string;
12811
+ flags?: string;
12812
+ } | string));
12813
+ matchesAstSelector?: string;
12814
+ };
12815
+ partitionByComment?: (boolean | (({
12816
+ pattern: string;
12817
+ flags?: string;
12818
+ } | string)[] | ({
12819
+ pattern: string;
12820
+ flags?: string;
12821
+ } | string)) | {
12822
+ block?: (boolean | (({
12823
+ pattern: string;
12824
+ flags?: string;
12825
+ } | string)[] | ({
12826
+ pattern: string;
12827
+ flags?: string;
12828
+ } | string)));
12829
+ line?: (boolean | (({
12830
+ pattern: string;
12831
+ flags?: string;
12832
+ } | string)[] | ({
12833
+ pattern: string;
12834
+ flags?: string;
12835
+ } | string)));
12836
+ });
12837
+ partitionByNewLine?: boolean;
12710
12838
  }[]; // ----- perfectionist/sort-classes -----
12711
12839
  type PerfectionistSortClasses = {
12712
12840
  fallbackSort?: {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ntnyq/eslint-config",
3
3
  "type": "module",
4
- "version": "6.0.0",
4
+ "version": "6.0.1",
5
5
  "description": "An opinionated ESLint config preset of ntnyq",
6
6
  "keywords": [
7
7
  "eslint",
@@ -36,16 +36,16 @@
36
36
  "tag": "latest"
37
37
  },
38
38
  "peerDependencies": {
39
- "@html-eslint/eslint-plugin": "^0.58.1",
40
- "@html-eslint/parser": "^0.58.1",
39
+ "@html-eslint/eslint-plugin": "^0.59.0",
40
+ "@html-eslint/parser": "^0.59.0",
41
41
  "astro-eslint-parser": "^1.4.0",
42
42
  "eslint": "^9.38.0 || ^10.0.0",
43
43
  "eslint-plugin-astro": "^1.6.0",
44
44
  "eslint-plugin-eslint-plugin": "^7.3.2",
45
45
  "eslint-plugin-pnpm": "^1.6.0",
46
- "eslint-plugin-svelte": "^3.16.0",
46
+ "eslint-plugin-svelte": "^3.17.0",
47
47
  "eslint-plugin-unused-imports": "^4.4.1",
48
- "svelte": "^5.55.0",
48
+ "svelte": "^5.55.1",
49
49
  "svelte-eslint-parser": "^1.6.0"
50
50
  },
51
51
  "peerDependenciesMeta": {
@@ -82,14 +82,14 @@
82
82
  },
83
83
  "dependencies": {
84
84
  "@antfu/install-pkg": "^1.1.0",
85
- "@clack/prompts": "^1.1.0",
85
+ "@clack/prompts": "^1.2.0",
86
86
  "@eslint-community/eslint-plugin-eslint-comments": "^4.7.1",
87
87
  "@eslint/js": "^10.0.1",
88
88
  "@eslint/markdown": "^8.0.1",
89
- "@unocss/eslint-plugin": "^66.6.7",
90
- "@vitest/eslint-plugin": "^1.6.13",
89
+ "@unocss/eslint-plugin": "^66.6.8",
90
+ "@vitest/eslint-plugin": "^1.6.15",
91
91
  "eslint-config-flat-gitignore": "^2.3.0",
92
- "eslint-flat-config-utils": "^3.0.2",
92
+ "eslint-flat-config-utils": "3.0.2",
93
93
  "eslint-import-resolver-typescript": "^4.4.4",
94
94
  "eslint-merge-processors": "^2.0.0",
95
95
  "eslint-parser-plain": "^0.1.1",
@@ -99,13 +99,13 @@
99
99
  "eslint-plugin-depend": "^1.5.0",
100
100
  "eslint-plugin-github-action": "^0.2.0",
101
101
  "eslint-plugin-import-x": "^4.16.2",
102
- "eslint-plugin-jsdoc": "^62.8.1",
102
+ "eslint-plugin-jsdoc": "^62.9.0",
103
103
  "eslint-plugin-jsonc": "^3.1.2",
104
104
  "eslint-plugin-n": "^17.24.0",
105
105
  "eslint-plugin-no-only-tests": "^3.3.0",
106
- "eslint-plugin-ntnyq": "^0.13.0",
107
- "eslint-plugin-oxfmt": "^0.2.0",
108
- "eslint-plugin-perfectionist": "^5.7.0",
106
+ "eslint-plugin-ntnyq": "^0.14.0",
107
+ "eslint-plugin-oxfmt": "^0.3.0",
108
+ "eslint-plugin-perfectionist": "^5.8.0",
109
109
  "eslint-plugin-pinia": "^0.4.2",
110
110
  "eslint-plugin-prettier": "^5.5.5",
111
111
  "eslint-plugin-regexp": "^3.1.0",
@@ -119,31 +119,31 @@
119
119
  "jsonc-eslint-parser": "^3.1.0",
120
120
  "local-pkg": "^1.1.2",
121
121
  "toml-eslint-parser": "^1.0.3",
122
- "typescript-eslint": "^8.58.0",
122
+ "typescript-eslint": "^8.58.1",
123
123
  "vue-eslint-parser": "^10.4.0",
124
124
  "yaml-eslint-parser": "^2.0.0"
125
125
  },
126
126
  "devDependencies": {
127
- "@types/node": "^25.5.0",
128
- "@typescript-eslint/types": "^8.58.0",
129
- "@typescript-eslint/utils": "^8.58.0",
130
- "@typescript/native-preview": "^7.0.0-dev.20260330.1",
127
+ "@types/node": "^25.5.2",
128
+ "@typescript-eslint/types": "^8.58.1",
129
+ "@typescript-eslint/utils": "^8.58.1",
130
+ "@typescript/native-preview": "^7.0.0-dev.20260408.1",
131
131
  "bumpp": "^11.0.1",
132
132
  "consola": "^3.4.2",
133
- "eslint": "^10.1.0",
133
+ "eslint": "^10.2.0",
134
134
  "eslint-typegen": "^2.3.1",
135
135
  "husky": "^9.1.7",
136
136
  "jiti": "^2.6.1",
137
- "nano-staged": "^0.9.0",
137
+ "nano-staged": "^1.0.2",
138
138
  "npm-run-all2": "^8.0.4",
139
- "oxfmt": "^0.42.0",
139
+ "oxfmt": "^0.44.0",
140
140
  "prettier": "^3.8.1",
141
- "tinyglobby": "^0.2.15",
141
+ "tinyglobby": "^0.2.16",
142
142
  "tsdown": "^0.21.7",
143
143
  "tsx": "^4.21.0",
144
144
  "typescript": "^6.0.2",
145
145
  "uncase": "^0.2.0",
146
- "vitest": "^4.1.2"
146
+ "vitest": "^4.1.3"
147
147
  },
148
148
  "engines": {
149
149
  "node": "^20.19.0 || ^22.13.0 || >=24"