@rootreeweb/linting 5.1.1 → 5.1.3

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 ADDED
@@ -0,0 +1,245 @@
1
+ # @rootreeweb/linting
2
+
3
+ ## 5.1.3
4
+
5
+ ### Patch Changes
6
+
7
+ - 9730732: Dependency updates
8
+
9
+ ## 5.1.2
10
+
11
+ ### Patch Changes
12
+
13
+ - Ignore design system files from Claude
14
+
15
+ ## 5.1.1
16
+
17
+ ### Patch Changes
18
+
19
+ - Correct missing types field info
20
+
21
+ ## 5.1.0
22
+
23
+ ### Minor Changes
24
+
25
+ - Turn off two `package-json` rules that conflict with the shared dual-build packaging shape:
26
+
27
+ - `prefer-exports`, so packages can keep a top-level `types` alongside `exports` for TypeScript's `node10` resolution.
28
+ - `require-types-in-exports`, since the build emits one ESM `.d.ts` tree with no `.d.cts` counterpart for the CJS `require` condition.
29
+
30
+ ## 5.0.0
31
+
32
+ ### Major Changes
33
+
34
+ - d40ace9: Package JSON linting. May require downstream config fixes.
35
+
36
+ - Configs may need to be updated to use composeConfig for proper exclusions.
37
+ - A large number of errors may show up in certain Package files.
38
+
39
+ ### Patch Changes
40
+
41
+ - Package JSON linting and configuration helpers
42
+
43
+ ## 4.2.9
44
+
45
+ ### Patch Changes
46
+
47
+ - Chore: Dependency Updates
48
+
49
+ ## 4.2.8
50
+
51
+ ### Patch Changes
52
+
53
+ - Chore: Dependency Updates
54
+
55
+ ## 4.2.7
56
+
57
+ ### Patch Changes
58
+
59
+ - Fix tags
60
+
61
+ ## 4.2.6
62
+
63
+ ### Patch Changes
64
+
65
+ - Chore: dependency updates
66
+
67
+ ## 4.2.5
68
+
69
+ ### Patch Changes
70
+
71
+ - Chore: Dependency updates
72
+
73
+ ## 4.2.4
74
+
75
+ ### Patch Changes
76
+
77
+ - Chore: dependency updates
78
+
79
+ ## 4.2.3
80
+
81
+ ### Patch Changes
82
+
83
+ - Chore: Dependency Updates
84
+
85
+ ## 4.2.2
86
+
87
+ ### Patch Changes
88
+
89
+ - Chore: Dependency updates
90
+
91
+ ## 4.2.1
92
+
93
+ ### Patch Changes
94
+
95
+ - Chore: Dependency updates
96
+
97
+ ## 4.2.0
98
+
99
+ ### Minor Changes
100
+
101
+ - 5e6f68b: Fixes for false positives in sonar rules and allow for rule patching
102
+
103
+ ## 4.1.2
104
+
105
+ ### Patch Changes
106
+
107
+ - Fix faulty TW rules and test for them
108
+
109
+ ## 4.1.1
110
+
111
+ ### Patch Changes
112
+
113
+ - Upgrade tailwind linting to the new alpha
114
+
115
+ ## 4.1.0
116
+
117
+ ### Minor Changes
118
+
119
+ - Add support for ESLint 10.0
120
+
121
+ ## 4.0.6
122
+
123
+ ### Patch Changes
124
+
125
+ - Chore: Dependency updates
126
+
127
+ ## 4.0.5
128
+
129
+ ### Patch Changes
130
+
131
+ - Chore: Dependency updates
132
+
133
+ ## 4.0.4
134
+
135
+ ### Patch Changes
136
+
137
+ - Chore: Dependency updates
138
+
139
+ ## 4.0.3
140
+
141
+ ### Patch Changes
142
+
143
+ - Chore: dependency updates
144
+
145
+ ## 4.0.2
146
+
147
+ ### Patch Changes
148
+
149
+ - chore: Dependency updates
150
+
151
+ ## 4.0.1
152
+
153
+ ### Patch Changes
154
+
155
+ - Dependency updtes
156
+
157
+ ## 4.0.0
158
+
159
+ ### Major Changes
160
+
161
+ - Add acessibility requirements to base react
162
+
163
+ ## 3.6.17
164
+
165
+ ### Patch Changes
166
+
167
+ - Chore: Dependency settings
168
+
169
+ ## 3.6.16
170
+
171
+ ### Patch Changes
172
+
173
+ - Supress some problematic rules
174
+
175
+ ## 3.6.15
176
+
177
+ ### Patch Changes
178
+
179
+ - Chore: dependency updates
180
+
181
+ ## 3.6.14
182
+
183
+ ### Patch Changes
184
+
185
+ - Fix package meta
186
+
187
+ ## 3.6.13
188
+
189
+ ### Patch Changes
190
+
191
+ - Chore: dependency updates
192
+
193
+ ## 3.6.12
194
+
195
+ ### Patch Changes
196
+
197
+ - Fix mismatch over composite projects
198
+
199
+ ## 3.6.11
200
+
201
+ ### Patch Changes
202
+
203
+ - TS 6 Support
204
+
205
+ ## 3.6.10
206
+
207
+ ### Patch Changes
208
+
209
+ - Chore: dependency updates
210
+
211
+ ## 3.6.9
212
+
213
+ ### Patch Changes
214
+
215
+ - Chore: dependency updates
216
+
217
+ ## 3.6.8
218
+
219
+ ### Patch Changes
220
+
221
+ - Chore: Dependency Updates
222
+
223
+ ## 3.6.7
224
+
225
+ ### Patch Changes
226
+
227
+ - Chore: Dependency Updates
228
+
229
+ ## 3.6.6
230
+
231
+ ### Patch Changes
232
+
233
+ - Chore: dependency updates
234
+
235
+ ## 3.6.5
236
+
237
+ ### Patch Changes
238
+
239
+ - Chore: dependency updates
240
+
241
+ ## 3.6.4
242
+
243
+ ### Patch Changes
244
+
245
+ - Chore: dependency updates
@@ -1 +1 @@
1
- {"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../../src/eslint/basic.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAmBrC,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,MAAM,EA2I/B,CAAC"}
1
+ {"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../../src/eslint/basic.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAmBrC,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,MAAM,EA4I/B,CAAC"}
@@ -144,6 +144,7 @@ export const basic = excludePackageJsonFromAll([
144
144
  // Global Ignores
145
145
  {
146
146
  ignores: [
147
+ "ds-bundle/**/*",
147
148
  "dist/**/*",
148
149
  ".tsup/**/*",
149
150
  ".yarn/**/*",
@@ -1 +1 @@
1
- {"version":3,"file":"basic.js","sourceRoot":"","sources":["../../../src/eslint/basic.ts"],"names":[],"mappings":"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","sourcesContent":["import eslint from \"@eslint/js\";\nimport vitest from \"@vitest/eslint-plugin\";\nimport type { Linter } from \"eslint\";\nimport { createTypeScriptImportResolver } from \"eslint-import-resolver-typescript\";\nimport importPlugin from \"eslint-plugin-import\";\nimport perfectionist from \"eslint-plugin-perfectionist\";\n// @ts-expect-error TS7016 Can't get these types to work.\nimport pluginPromise from \"eslint-plugin-promise\";\nimport security from \"eslint-plugin-security\";\nimport sonarjs from \"eslint-plugin-sonarjs\";\nimport { defineConfig } from \"eslint/config\";\nimport globals from \"globals\";\nimport tseslint from \"typescript-eslint\";\n\nimport { packageJson } from \"./packageJson.js\";\nimport { applyPatches } from \"./patches/index.js\";\nimport { excludePackageJsonFromAll } from \"./utils.js\";\n\n// Apply all custom plugin patches before building configs.\napplyPatches({ sonarjs: sonarjs });\n\nexport const basic: Linter.Config[] = excludePackageJsonFromAll([\n\teslint.configs.recommended,\n\t...tseslint.configs.strictTypeChecked,\n\t...tseslint.configs.stylisticTypeChecked,\n\timportPlugin.flatConfigs.recommended,\n\tsecurity.configs.recommended,\n\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\tpluginPromise.configs[\"flat/recommended\"],\n\t// eslint-disable-next-line import/no-named-as-default-member\n\tperfectionist.configs[\"recommended-natural\"],\n\t...defineConfig({\n\t\tplugins: { vitest },\n\t\trules: {\n\t\t\t...vitest.configs.recommended.rules,\n\t\t\t\"vitest/valid-expect\": [\"warn\", { maxArgs: 2 }],\n\t\t},\n\t}),\n\tsonarjs.configs.recommended,\n\t{\n\t\trules: {\n\t\t\t\"import/first\": \"error\",\n\t\t\t\"import/newline-after-import\": \"error\",\n\t\t\t\"import/no-cycle\": \"error\",\n\t\t\t\"import/no-deprecated\": \"warn\",\n\t\t\t\"import/no-duplicates\": \"error\",\n\t\t\t\"import/no-useless-path-segments\": \"error\",\n\t\t\t\"perfectionist/sort-imports\": \"off\", // Conflict with the prettier ordering\n\t\t\t\"perfectionist/sort-named-imports\": \"off\",\n\t\t\t\"promise/always-return\": \"off\",\n\t\t\t\"promise/catch-or-return\": \"off\",\n\t\t\t\"sonarjs/argument-type\": \"off\", // Disabled: conflicts with the internal includes definition.\n\t\t\t\"sonarjs/assertions-in-tests\": \"off\",\n\t\t\t\"sonarjs/cognitive-complexity\": \"warn\",\n\t\t\t\"sonarjs/deprecation\": \"off\", // Double coverage with @typescript-eslint/no-deprecated\n\t\t\t\"sonarjs/no-control-regex\": \"off\", // Double coverage\n\t\t\t\"sonarjs/no-ignored-exceptions\": \"warn\",\n\t\t\t\"sonarjs/no-implicit-dependencies\": \"warn\",\n\t\t\t\"sonarjs/no-os-command-from-path\": \"warn\",\n\t\t\t\"sonarjs/no-unused-vars\": \"off\", // Double coverage\n\t\t\t\"sonarjs/prefer-read-only-props\": \"warn\",\n\t\t\t\"sonarjs/prefer-single-boolean-return\": \"off\",\n\t\t\t\"sonarjs/pseudo-random\": \"warn\",\n\t\t\t\"sonarjs/slow-regex\": \"warn\",\n\t\t\t\"sonarjs/todo-tag\": \"warn\",\n\t\t},\n\t\tsettings: {\n\t\t\t\"import/resolver\": {\n\t\t\t\tnode: {\n\t\t\t\t\textensions: [\".js\", \".jsx\", \".ts\", \".tsx\", \".svg\", \".jpg\", \".png\"],\n\t\t\t\t},\n\t\t\t\ttypescript: {\n\t\t\t\t\textensions: [\".js\", \".jsx\", \".ts\", \".tsx\", \".svg\", \".jpg\", \".png\"],\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"import/resolver-next\": [createTypeScriptImportResolver({})],\n\t\t},\n\t},\n\t{\n\t\tlanguageOptions: {\n\t\t\tecmaVersion: 2024,\n\t\t\tglobals: {\n\t\t\t\t...globals.node,\n\t\t\t\t...globals.browser,\n\t\t\t},\n\t\t\tparserOptions: {\n\t\t\t\tprojectService: true,\n\t\t\t\t// CJS Workaround\n\t\t\t\t// eslint-disable-next-line\n\t\t\t\t// @ts-ignore\n\t\t\t\ttsconfigRootDir: import.meta.dirname,\n\t\t\t},\n\t\t\tsourceType: \"module\",\n\t\t},\n\t\trules: {\n\t\t\t\"@typescript-eslint/consistent-type-definitions\": [\"error\", \"type\"],\n\t\t\t\"@typescript-eslint/consistent-type-imports\": \"error\",\n\t\t\t\"@typescript-eslint/explicit-module-boundary-types\": \"warn\",\n\t\t\t\"@typescript-eslint/no-base-to-string\": \"warn\",\n\t\t\t\"@typescript-eslint/no-explicit-any\": \"warn\",\n\t\t\t\"@typescript-eslint/no-floating-promises\": \"warn\",\n\t\t\t\"@typescript-eslint/no-misused-spread\": \"warn\",\n\t\t\t\"@typescript-eslint/no-shadow\": \"error\",\n\t\t\t\"@typescript-eslint/no-unnecessary-condition\": \"warn\",\n\t\t\t\"@typescript-eslint/no-unnecessary-type-parameters\": \"off\",\n\t\t\t\"@typescript-eslint/no-unsafe-argument\": \"warn\",\n\t\t\t\"@typescript-eslint/no-unsafe-assignment\": \"warn\",\n\t\t\t\"@typescript-eslint/no-unsafe-call\": \"warn\",\n\t\t\t\"@typescript-eslint/no-unsafe-member-access\": \"warn\",\n\t\t\t\"@typescript-eslint/no-unsafe-return\": \"warn\",\n\t\t\t\"@typescript-eslint/no-unused-vars\": [\n\t\t\t\t\"error\",\n\t\t\t\t{\n\t\t\t\t\targs: \"all\",\n\t\t\t\t\targsIgnorePattern: \"^_\",\n\t\t\t\t\tcaughtErrors: \"all\",\n\t\t\t\t\tcaughtErrorsIgnorePattern: \"^_\",\n\t\t\t\t\tdestructuredArrayIgnorePattern: \"^_\",\n\t\t\t\t\tignoreRestSiblings: true,\n\t\t\t\t\tvarsIgnorePattern: \"^_\",\n\t\t\t\t},\n\t\t\t],\n\t\t\t\"@typescript-eslint/prefer-nullish-coalescing\": \"warn\",\n\t\t\t\"@typescript-eslint/require-await\": \"warn\",\n\t\t\t\"@typescript-eslint/restrict-template-expressions\": [\n\t\t\t\t\"warn\",\n\t\t\t\t{ allowNumber: true },\n\t\t\t],\n\t\t\t\"no-console\": [\"warn\", { allow: [\"warn\", \"error\"] }],\n\t\t\t\"no-shadow\": \"off\",\n\t\t},\n\t},\n\t...defineConfig({\n\t\textends: [tseslint.configs.disableTypeChecked],\n\t\tfiles: [\n\t\t\t\"**/*.js\",\n\t\t\t\"**/*.astro\",\n\t\t\t\"**/*.cjs\",\n\t\t\t\"**/*.config.ts\",\n\t\t\t\"test.ts\",\n\t\t\t\"test.tsx\",\n\t\t],\n\t\trules: {\n\t\t\t\"@typescript-eslint/explicit-module-boundary-types\": \"off\",\n\t\t},\n\t}),\n\t...packageJson,\n\t// Global Ignores\n\t{\n\t\tignores: [\n\t\t\t\"dist/**/*\",\n\t\t\t\".tsup/**/*\",\n\t\t\t\".yarn/**/*\",\n\t\t\t\".next/**/*\",\n\t\t\t\".astro/**/*\",\n\t\t\t\"vendor/**/*\",\n\t\t\t\"playwright-report/**/*\",\n\t\t\t\"coverage/**/*\",\n\t\t],\n\t},\n]);\n"]}
1
+ {"version":3,"file":"basic.js","sourceRoot":"","sources":["../../../src/eslint/basic.ts"],"names":[],"mappings":"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","sourcesContent":["import eslint from \"@eslint/js\";\nimport vitest from \"@vitest/eslint-plugin\";\nimport type { Linter } from \"eslint\";\nimport { createTypeScriptImportResolver } from \"eslint-import-resolver-typescript\";\nimport importPlugin from \"eslint-plugin-import\";\nimport perfectionist from \"eslint-plugin-perfectionist\";\n// @ts-expect-error TS7016 Can't get these types to work.\nimport pluginPromise from \"eslint-plugin-promise\";\nimport security from \"eslint-plugin-security\";\nimport sonarjs from \"eslint-plugin-sonarjs\";\nimport { defineConfig } from \"eslint/config\";\nimport globals from \"globals\";\nimport tseslint from \"typescript-eslint\";\n\nimport { packageJson } from \"./packageJson.js\";\nimport { applyPatches } from \"./patches/index.js\";\nimport { excludePackageJsonFromAll } from \"./utils.js\";\n\n// Apply all custom plugin patches before building configs.\napplyPatches({ sonarjs: sonarjs });\n\nexport const basic: Linter.Config[] = excludePackageJsonFromAll([\n\teslint.configs.recommended,\n\t...tseslint.configs.strictTypeChecked,\n\t...tseslint.configs.stylisticTypeChecked,\n\timportPlugin.flatConfigs.recommended,\n\tsecurity.configs.recommended,\n\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\tpluginPromise.configs[\"flat/recommended\"],\n\t// eslint-disable-next-line import/no-named-as-default-member\n\tperfectionist.configs[\"recommended-natural\"],\n\t...defineConfig({\n\t\tplugins: { vitest },\n\t\trules: {\n\t\t\t...vitest.configs.recommended.rules,\n\t\t\t\"vitest/valid-expect\": [\"warn\", { maxArgs: 2 }],\n\t\t},\n\t}),\n\tsonarjs.configs.recommended,\n\t{\n\t\trules: {\n\t\t\t\"import/first\": \"error\",\n\t\t\t\"import/newline-after-import\": \"error\",\n\t\t\t\"import/no-cycle\": \"error\",\n\t\t\t\"import/no-deprecated\": \"warn\",\n\t\t\t\"import/no-duplicates\": \"error\",\n\t\t\t\"import/no-useless-path-segments\": \"error\",\n\t\t\t\"perfectionist/sort-imports\": \"off\", // Conflict with the prettier ordering\n\t\t\t\"perfectionist/sort-named-imports\": \"off\",\n\t\t\t\"promise/always-return\": \"off\",\n\t\t\t\"promise/catch-or-return\": \"off\",\n\t\t\t\"sonarjs/argument-type\": \"off\", // Disabled: conflicts with the internal includes definition.\n\t\t\t\"sonarjs/assertions-in-tests\": \"off\",\n\t\t\t\"sonarjs/cognitive-complexity\": \"warn\",\n\t\t\t\"sonarjs/deprecation\": \"off\", // Double coverage with @typescript-eslint/no-deprecated\n\t\t\t\"sonarjs/no-control-regex\": \"off\", // Double coverage\n\t\t\t\"sonarjs/no-ignored-exceptions\": \"warn\",\n\t\t\t\"sonarjs/no-implicit-dependencies\": \"warn\",\n\t\t\t\"sonarjs/no-os-command-from-path\": \"warn\",\n\t\t\t\"sonarjs/no-unused-vars\": \"off\", // Double coverage\n\t\t\t\"sonarjs/prefer-read-only-props\": \"warn\",\n\t\t\t\"sonarjs/prefer-single-boolean-return\": \"off\",\n\t\t\t\"sonarjs/pseudo-random\": \"warn\",\n\t\t\t\"sonarjs/slow-regex\": \"warn\",\n\t\t\t\"sonarjs/todo-tag\": \"warn\",\n\t\t},\n\t\tsettings: {\n\t\t\t\"import/resolver\": {\n\t\t\t\tnode: {\n\t\t\t\t\textensions: [\".js\", \".jsx\", \".ts\", \".tsx\", \".svg\", \".jpg\", \".png\"],\n\t\t\t\t},\n\t\t\t\ttypescript: {\n\t\t\t\t\textensions: [\".js\", \".jsx\", \".ts\", \".tsx\", \".svg\", \".jpg\", \".png\"],\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"import/resolver-next\": [createTypeScriptImportResolver({})],\n\t\t},\n\t},\n\t{\n\t\tlanguageOptions: {\n\t\t\tecmaVersion: 2024,\n\t\t\tglobals: {\n\t\t\t\t...globals.node,\n\t\t\t\t...globals.browser,\n\t\t\t},\n\t\t\tparserOptions: {\n\t\t\t\tprojectService: true,\n\t\t\t\t// CJS Workaround\n\t\t\t\t// eslint-disable-next-line\n\t\t\t\t// @ts-ignore\n\t\t\t\ttsconfigRootDir: import.meta.dirname,\n\t\t\t},\n\t\t\tsourceType: \"module\",\n\t\t},\n\t\trules: {\n\t\t\t\"@typescript-eslint/consistent-type-definitions\": [\"error\", \"type\"],\n\t\t\t\"@typescript-eslint/consistent-type-imports\": \"error\",\n\t\t\t\"@typescript-eslint/explicit-module-boundary-types\": \"warn\",\n\t\t\t\"@typescript-eslint/no-base-to-string\": \"warn\",\n\t\t\t\"@typescript-eslint/no-explicit-any\": \"warn\",\n\t\t\t\"@typescript-eslint/no-floating-promises\": \"warn\",\n\t\t\t\"@typescript-eslint/no-misused-spread\": \"warn\",\n\t\t\t\"@typescript-eslint/no-shadow\": \"error\",\n\t\t\t\"@typescript-eslint/no-unnecessary-condition\": \"warn\",\n\t\t\t\"@typescript-eslint/no-unnecessary-type-parameters\": \"off\",\n\t\t\t\"@typescript-eslint/no-unsafe-argument\": \"warn\",\n\t\t\t\"@typescript-eslint/no-unsafe-assignment\": \"warn\",\n\t\t\t\"@typescript-eslint/no-unsafe-call\": \"warn\",\n\t\t\t\"@typescript-eslint/no-unsafe-member-access\": \"warn\",\n\t\t\t\"@typescript-eslint/no-unsafe-return\": \"warn\",\n\t\t\t\"@typescript-eslint/no-unused-vars\": [\n\t\t\t\t\"error\",\n\t\t\t\t{\n\t\t\t\t\targs: \"all\",\n\t\t\t\t\targsIgnorePattern: \"^_\",\n\t\t\t\t\tcaughtErrors: \"all\",\n\t\t\t\t\tcaughtErrorsIgnorePattern: \"^_\",\n\t\t\t\t\tdestructuredArrayIgnorePattern: \"^_\",\n\t\t\t\t\tignoreRestSiblings: true,\n\t\t\t\t\tvarsIgnorePattern: \"^_\",\n\t\t\t\t},\n\t\t\t],\n\t\t\t\"@typescript-eslint/prefer-nullish-coalescing\": \"warn\",\n\t\t\t\"@typescript-eslint/require-await\": \"warn\",\n\t\t\t\"@typescript-eslint/restrict-template-expressions\": [\n\t\t\t\t\"warn\",\n\t\t\t\t{ allowNumber: true },\n\t\t\t],\n\t\t\t\"no-console\": [\"warn\", { allow: [\"warn\", \"error\"] }],\n\t\t\t\"no-shadow\": \"off\",\n\t\t},\n\t},\n\t...defineConfig({\n\t\textends: [tseslint.configs.disableTypeChecked],\n\t\tfiles: [\n\t\t\t\"**/*.js\",\n\t\t\t\"**/*.astro\",\n\t\t\t\"**/*.cjs\",\n\t\t\t\"**/*.config.ts\",\n\t\t\t\"test.ts\",\n\t\t\t\"test.tsx\",\n\t\t],\n\t\trules: {\n\t\t\t\"@typescript-eslint/explicit-module-boundary-types\": \"off\",\n\t\t},\n\t}),\n\t...packageJson,\n\t// Global Ignores\n\t{\n\t\tignores: [\n\t\t\t\"ds-bundle/**/*\",\n\t\t\t\"dist/**/*\",\n\t\t\t\".tsup/**/*\",\n\t\t\t\".yarn/**/*\",\n\t\t\t\".next/**/*\",\n\t\t\t\".astro/**/*\",\n\t\t\t\"vendor/**/*\",\n\t\t\t\"playwright-report/**/*\",\n\t\t\t\"coverage/**/*\",\n\t\t],\n\t},\n]);\n"]}
package/package.json CHANGED
@@ -1,119 +1,119 @@
1
1
  {
2
- "name": "@rootreeweb/linting",
3
- "version": "5.1.1",
4
- "description": "Shared configurations for ESLint and Stylelint",
5
- "license": "UNLICENSED",
6
- "repository": "github:rootreeweb/meta-tools",
7
- "author": "Rootree Web <web@rootree.ca>",
8
- "type": "module",
9
- "exports": {
10
- ".": {
11
- "types": "./dist/esm/index.d.ts",
12
- "import": {
13
- "types": "./dist/esm/index.d.ts",
14
- "default": "./dist/esm/index.js"
15
- },
16
- "default": "./dist/esm/index.js"
17
- }
18
- },
19
- "types": "./dist/esm/index.d.ts",
20
- "sideEffects": false,
21
- "engines": {
22
- "node": ">=22"
23
- },
24
- "scripts": {
25
- "build": "yarn run clean && yarn run build:esm",
26
- "build:esm": "tsgo -p ./configs/tsconfig.esm.json",
27
- "check": "tsgo --noEmit",
28
- "clean": "del-cli ./dist",
29
- "format": "prettier . --write --cache",
30
- "lint": "eslint --fix --cache",
31
- "prepare": "husky",
32
- "release": "yarn dlx -p @rootreeweb/rt-node-lib release ${0}",
33
- "test": "vitest run --coverage",
34
- "test:watch": "vitest --coverage --ui"
35
- },
36
- "files": [
37
- "dist/**/*"
38
- ],
39
- "keywords": [
40
- "eslint",
41
- "eslint-config",
42
- "lint",
43
- "stylelint",
44
- "stylelint-config"
45
- ],
46
- "dependencies": {
47
- "@eslint/js": "^10.0.1",
48
- "@ianvs/prettier-plugin-sort-imports": "^4.7.1",
49
- "@next/eslint-plugin-next": "^16.3.0",
50
- "@rootreeweb/js-lib": "^4.0.18",
51
- "@tanstack/eslint-plugin-query": "^5.101.4",
52
- "@vitest/eslint-plugin": "^1.6.26",
53
- "eslint-import-resolver-typescript": "^4.4.5",
54
- "eslint-package-json": "^0.3.0",
55
- "eslint-plugin-astro": "^3.1.0",
56
- "eslint-plugin-import": "^2.32.0",
57
- "eslint-plugin-jsdoc": "^63.3.3",
58
- "eslint-plugin-jsx-a11y": "^6.10.2",
59
- "eslint-plugin-perfectionist": "^5.10.1",
60
- "eslint-plugin-promise": "^7.3.0",
61
- "eslint-plugin-react": "^7.37.5",
62
- "eslint-plugin-react-compiler": "^19.1.0-rc.2",
63
- "eslint-plugin-react-hooks": "^7.1.1",
64
- "eslint-plugin-react-you-might-not-need-an-effect": "^1.0.1",
65
- "eslint-plugin-security": "^4.0.1",
66
- "eslint-plugin-sonarjs": "^4.2.0",
67
- "eslint-plugin-tailwindcss": "^4.2.0",
68
- "eslint-plugin-testing-library": "^7.16.2",
69
- "eslint-plugin-turbo": "^2.10.8",
70
- "globals": "^17.9.0",
71
- "postcss": "^8.5.25",
72
- "prettier-plugin-astro": "^0.14.1",
73
- "prettier-plugin-jsdoc": "^1.8.1",
74
- "prettier-plugin-tailwindcss": "^0.8.1",
75
- "stylelint-config-standard": "^40.0.0",
76
- "stylelint-config-standard-scss": "^17.0.0",
77
- "stylelint-config-tailwindcss": "^1.0.1",
78
- "stylelint-prettier": "^5.0.3",
79
- "tailwindcss": "^4.3.3",
80
- "typescript-eslint": "^8.66.0"
81
- },
82
- "devDependencies": {
83
- "@rootreeweb/tsconfigs": "^3.3.16",
84
- "@types/eslint-plugin-jsx-a11y": "^6.10.1",
85
- "@types/eslint-plugin-security": "^3.0.1",
86
- "@types/node": "^26.1.2",
87
- "@types/react": "^19.2.18",
88
- "@typescript/native-preview": "^7.0.0-dev.20260707.2",
89
- "@vitest/coverage-v8": "^4.1.10",
90
- "@vitest/ui": "^4.1.10",
91
- "del-cli": "^7.0.0",
92
- "eslint": "^10.8.0",
93
- "husky": "^9.1.7",
94
- "knip": "^6.31.0",
95
- "lint-staged": "^17.3.0",
96
- "prettier": "~3.8.5",
97
- "react": "^19.2.8",
98
- "stylelint": "~17.14.1",
99
- "turbo": "~2.10.8",
100
- "typescript": "^6.0.3",
101
- "vitest": "^4.1.10"
102
- },
103
- "peerDependencies": {
104
- "eslint": "^10",
105
- "husky": "^9.1.7",
106
- "lint-staged": "^17.2.0",
107
- "prettier": "~3.8.0",
108
- "stylelint": "~17.14.1",
109
- "turbo": "~2.10.7"
110
- },
111
- "peerDependenciesMeta": {
112
- "stylelint": {
113
- "optional": true
114
- },
115
- "turbo": {
116
- "optional": true
117
- }
118
- }
119
- }
2
+ "name": "@rootreeweb/linting",
3
+ "version": "5.1.3",
4
+ "description": "Shared configurations for ESLint and Stylelint",
5
+ "license": "UNLICENSED",
6
+ "repository": "github:rootreeweb/meta-tools",
7
+ "author": "Rootree Web <web@rootree.ca>",
8
+ "type": "module",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/esm/index.d.ts",
12
+ "import": {
13
+ "types": "./dist/esm/index.d.ts",
14
+ "default": "./dist/esm/index.js"
15
+ },
16
+ "default": "./dist/esm/index.js"
17
+ }
18
+ },
19
+ "types": "./dist/esm/index.d.ts",
20
+ "sideEffects": false,
21
+ "engines": {
22
+ "node": ">=22"
23
+ },
24
+ "scripts": {
25
+ "build": "yarn run clean && yarn run build:esm",
26
+ "build:esm": "tsgo -p ./configs/tsconfig.esm.json",
27
+ "check": "tsgo --noEmit",
28
+ "clean": "del-cli ./dist",
29
+ "format": "prettier . --write --cache",
30
+ "lint": "eslint --fix --cache",
31
+ "prepare": "husky",
32
+ "release": "yarn dlx -p @rootreeweb/rt-node-lib release ${0}",
33
+ "test": "vitest run --coverage",
34
+ "test:watch": "vitest --coverage --ui"
35
+ },
36
+ "files": [
37
+ "dist/**/*"
38
+ ],
39
+ "keywords": [
40
+ "eslint",
41
+ "eslint-config",
42
+ "lint",
43
+ "stylelint",
44
+ "stylelint-config"
45
+ ],
46
+ "dependencies": {
47
+ "@eslint/js": "^10.0.1",
48
+ "@ianvs/prettier-plugin-sort-imports": "^4.7.1",
49
+ "@next/eslint-plugin-next": "^16.3.1",
50
+ "@rootreeweb/js-lib": "^4.0.18",
51
+ "@tanstack/eslint-plugin-query": "^5.101.4",
52
+ "@vitest/eslint-plugin": "^1.6.27",
53
+ "eslint-import-resolver-typescript": "^4.4.5",
54
+ "eslint-package-json": "^0.3.0",
55
+ "eslint-plugin-astro": "^3.1.0",
56
+ "eslint-plugin-import": "^2.32.0",
57
+ "eslint-plugin-jsdoc": "^64.2.0",
58
+ "eslint-plugin-jsx-a11y": "^6.10.2",
59
+ "eslint-plugin-perfectionist": "^5.10.1",
60
+ "eslint-plugin-promise": "^7.3.0",
61
+ "eslint-plugin-react": "^7.37.5",
62
+ "eslint-plugin-react-compiler": "^19.1.0-rc.2",
63
+ "eslint-plugin-react-hooks": "^7.1.1",
64
+ "eslint-plugin-react-you-might-not-need-an-effect": "^1.0.1",
65
+ "eslint-plugin-security": "^4.0.1",
66
+ "eslint-plugin-sonarjs": "^4.2.0",
67
+ "eslint-plugin-tailwindcss": "^4.3.0",
68
+ "eslint-plugin-testing-library": "^7.16.2",
69
+ "eslint-plugin-turbo": "^2.10.10",
70
+ "globals": "^17.11.0",
71
+ "postcss": "^8.5.26",
72
+ "prettier-plugin-astro": "^0.14.1",
73
+ "prettier-plugin-jsdoc": "^1.8.1",
74
+ "prettier-plugin-tailwindcss": "^0.8.1",
75
+ "stylelint-config-standard": "^40.0.0",
76
+ "stylelint-config-standard-scss": "^17.0.0",
77
+ "stylelint-config-tailwindcss": "^1.0.1",
78
+ "stylelint-prettier": "^5.0.3",
79
+ "tailwindcss": "^4.3.3",
80
+ "typescript-eslint": "^8.67.0"
81
+ },
82
+ "devDependencies": {
83
+ "@rootreeweb/tsconfigs": "^3.3.17",
84
+ "@types/eslint-plugin-jsx-a11y": "^6.10.1",
85
+ "@types/eslint-plugin-security": "^3.0.1",
86
+ "@types/node": "^26.2.0",
87
+ "@types/react": "^19.2.18",
88
+ "@typescript/native-preview": "^7.0.0-dev.20260707.2",
89
+ "@vitest/coverage-v8": "^4.1.10",
90
+ "@vitest/ui": "^4.1.10",
91
+ "del-cli": "^7.0.0",
92
+ "eslint": "^10.8.1",
93
+ "husky": "^9.1.7",
94
+ "knip": "^6.32.2",
95
+ "lint-staged": "^17.3.0",
96
+ "prettier": "~3.8.5",
97
+ "react": "^19.2.8",
98
+ "stylelint": "~17.14.1",
99
+ "turbo": "~2.10.10",
100
+ "typescript": "^6.0.3",
101
+ "vitest": "^4.1.10"
102
+ },
103
+ "peerDependencies": {
104
+ "eslint": "^10",
105
+ "husky": "^9.1.7",
106
+ "lint-staged": "^17.2.0",
107
+ "prettier": "~3.8.0",
108
+ "stylelint": "~17.14.1",
109
+ "turbo": "~2.10.7"
110
+ },
111
+ "peerDependenciesMeta": {
112
+ "stylelint": {
113
+ "optional": true
114
+ },
115
+ "turbo": {
116
+ "optional": true
117
+ }
118
+ }
119
+ }