@brnshkr/config 0.0.1-beta.2 → 0.0.1-beta.4

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 (37) hide show
  1. package/README.md +177 -228
  2. package/conf/.gitignore.dist +15 -0
  3. package/conf/Makefile +3778 -0
  4. package/conf/Makefile.dist +13 -0
  5. package/conf/bunfig.dist.toml +5 -0
  6. package/conf/commitlint.dist.mjs +1 -0
  7. package/conf/editorconfig.dist +19 -0
  8. package/conf/launch.dist.json +31 -0
  9. package/conf/markdownlint.dist.mjs +1 -0
  10. package/conf/spelling/defaults.json +185 -0
  11. package/conf/tsconfig.dist.json +3 -0
  12. package/conf/tsconfig.json +31 -27
  13. package/conf/vitest.dist.mjs +1 -0
  14. package/conf/vscode-css-custom-data.dist.json +95 -0
  15. package/conf/vscode-extensions.dist.json +21 -0
  16. package/conf/vscode-settings.dist.jsonc +338 -0
  17. package/dist/commitlint/index.d.mts +72 -0
  18. package/dist/commitlint/index.mjs +239 -0
  19. package/dist/eslint/index.d.mts +3897 -1383
  20. package/dist/eslint/index.mjs +2784 -419
  21. package/dist/markdownlint/index.d.mts +2304 -0
  22. package/dist/markdownlint/index.mjs +440 -0
  23. package/dist/shared.mjs +405 -65
  24. package/dist/spelling/index.d.mts +30 -0
  25. package/dist/spelling/index.mjs +2 -0
  26. package/dist/spelling/spelling.test.d.mts +1 -0
  27. package/dist/spelling/spelling.test.mjs +12 -0
  28. package/dist/stylelint/index.d.mts +47 -9
  29. package/dist/stylelint/index.mjs +145 -47
  30. package/dist/vitest/index.d.mts +73 -0
  31. package/dist/vitest/index.mjs +181 -0
  32. package/package.json +192 -105
  33. package/conf/tsconfig.json.example +0 -3
  34. package/dist/scripts/eslint.mjs +0 -16
  35. package/dist/scripts/stylelint.mjs +0 -29
  36. /package/conf/{eslint.config.mjs.example → eslint.dist.mjs} +0 -0
  37. /package/conf/{stylelint.config.mjs.example → stylelint.dist.mjs} +0 -0
@@ -0,0 +1,181 @@
1
+ import { A as name, C as objectAssign, E as objectKeys, O as packageOrganization, d as GLOB_TEST_FILES, f as createModuleState, g as resolvePackagesSharedSynchronously, m as isModuleEnabledByDefault, u as GLOB_IGNORES, w as objectEntries, x as VITEST_PACKAGES } from "../shared.mjs";
2
+ import { mergeConfig } from "vitest/config";
3
+ //#region ../src/js/vitest/utils/module.ts
4
+ /**
5
+ * @internal @brnshkr/config/vitest
6
+ */
7
+ const MODULES = {
8
+ environment: {
9
+ name: "environment",
10
+ packages: { requiredAny: [VITEST_PACKAGES.HAPPY_DOM, VITEST_PACKAGES.JSDOM] }
11
+ },
12
+ spelling: { name: "spelling" },
13
+ ui: {
14
+ name: "ui",
15
+ packages: { requiredAll: [VITEST_PACKAGES.VITEST_UI] }
16
+ }
17
+ };
18
+ const resolvePackages = resolvePackagesSharedSynchronously;
19
+ const { isModuleEnabled, setModuleEnabled } = createModuleState();
20
+ //#endregion
21
+ //#region ../src/js/vitest/configs/environment.ts
22
+ /**
23
+ * @internal @brnshkr/config/vitest
24
+ */
25
+ const environment = () => {
26
+ const { requiredAny: [isHappyDomInstalled, isJsdomInstalled] } = resolvePackages(MODULES.environment);
27
+ if (!isHappyDomInstalled && !isJsdomInstalled) return [];
28
+ return [{ test: { environment: isHappyDomInstalled ? VITEST_PACKAGES.HAPPY_DOM : VITEST_PACKAGES.JSDOM } }];
29
+ };
30
+ //#endregion
31
+ //#region ../src/js/vitest/configs/spelling.ts
32
+ /**
33
+ * @internal @brnshkr/config/vitest
34
+ */
35
+ const spelling = () => [{ test: { include: [`**/node_modules/${name}/dist/spelling/spelling.test.mjs`] } }];
36
+ //#endregion
37
+ //#region ../src/js/vitest/configs/test.ts
38
+ /**
39
+ * @internal @brnshkr/config/vitest
40
+ */
41
+ const NARROWED_IGNORES = {
42
+ "**/dist/**": ["dist/**"],
43
+ "**/node_modules/**": [`**/node_modules/!(@${packageOrganization})/**`, `**/node_modules/@${packageOrganization}/*/!(dist)/**`]
44
+ };
45
+ const test = () => [{
46
+ resolve: { tsconfigPaths: true },
47
+ test: {
48
+ include: GLOB_TEST_FILES,
49
+ exclude: GLOB_IGNORES.flatMap((glob) => NARROWED_IGNORES[glob] ?? glob)
50
+ }
51
+ }];
52
+ //#endregion
53
+ //#region ../src/js/vitest/configs/ui.ts
54
+ /**
55
+ * @internal @brnshkr/config/vitest
56
+ */
57
+ const ui = () => {
58
+ const { requiredAll: [isVitestUiInstalled] } = resolvePackages(MODULES.ui);
59
+ if (!isVitestUiInstalled) return [];
60
+ return [{ test: { open: false } }];
61
+ };
62
+ //#endregion
63
+ //#region ../src/js/vitest/configs/index.ts
64
+ /**
65
+ * @internal @brnshkr/config/vitest
66
+ */
67
+ const configs = {
68
+ environment,
69
+ spelling,
70
+ test,
71
+ ui
72
+ };
73
+ //#endregion
74
+ //#region ../src/js/vitest/utils/config.ts
75
+ /**
76
+ * @internal @brnshkr/config/vitest
77
+ */
78
+ const isValidGlobalAdditionalConfigKey = (key) => [
79
+ "appType",
80
+ "assetsInclude",
81
+ "base",
82
+ "build",
83
+ "builder",
84
+ "cacheDir",
85
+ "clearScreen",
86
+ "css",
87
+ "customLogger",
88
+ "define",
89
+ "dev",
90
+ "devtools",
91
+ "envDir",
92
+ "envPrefix",
93
+ "environments",
94
+ "esbuild",
95
+ "experimental",
96
+ "future",
97
+ "html",
98
+ "json",
99
+ "legacy",
100
+ "logLevel",
101
+ "mode",
102
+ "optimizeDeps",
103
+ "oxc",
104
+ "plugins",
105
+ "preview",
106
+ "publicDir",
107
+ "resolve",
108
+ "root",
109
+ "server",
110
+ "ssr",
111
+ "test",
112
+ "tsconfig",
113
+ "worker"
114
+ ].includes(key);
115
+ const getGlobalAdditionalConfig = (options) => {
116
+ const config = {};
117
+ for (const [key, value] of objectEntries(options)) if (isValidGlobalAdditionalConfigKey(key)) config[key] = value;
118
+ if (objectKeys(config).length === 0) return;
119
+ return config;
120
+ };
121
+ const getUserConfigs = (resolvedOptions, additionalConfigs) => [getGlobalAdditionalConfig(resolvedOptions), ...additionalConfigs].filter(Boolean);
122
+ const includeConfigs = (config, configsToInclude) => {
123
+ for (const configToInclude of configsToInclude) objectAssign(config, mergeConfig(config, configToInclude));
124
+ };
125
+ //#endregion
126
+ //#region ../src/js/vitest/index.ts
127
+ /**
128
+ * Build the `@brnshkr` Vitest config object.
129
+ *
130
+ * Collects the project's own tests and the spelling test this package ships, so a repository
131
+ * needs no test file of its own for it, and activates each module lazily, only when its
132
+ * optional peer dependency is installed.
133
+ *
134
+ * @api
135
+ *
136
+ * @param optionsAndGlobalConfig per-module toggles and global Vitest fields merged with the defaults
137
+ * @param additionalConfigs extra config entries merged after the built-in ones
138
+ *
139
+ * @returns final config ready to be consumed by Vitest
140
+ *
141
+ * @see https://github.com/brnshkr/config/blob/master/docs/js/vitest.md
142
+ *
143
+ * @example
144
+ * ```js
145
+ * import { getConfig } from '@brnshkr/config/vitest';
146
+ *
147
+ * getConfig(undefined);
148
+ * getConfig({});
149
+ *
150
+ * getConfig({
151
+ * spelling: false,
152
+ * test: { testTimeout: 120_000 },
153
+ * });
154
+ * ```
155
+ */
156
+ const getConfig = (optionsAndGlobalConfig, ...additionalConfigs) => {
157
+ const resolvedOptions = {
158
+ environment: isModuleEnabledByDefault(MODULES.environment),
159
+ spelling: isModuleEnabledByDefault(MODULES.spelling),
160
+ ui: isModuleEnabledByDefault(MODULES.ui),
161
+ ...optionsAndGlobalConfig
162
+ };
163
+ setModuleEnabled(MODULES.environment, resolvedOptions.environment);
164
+ setModuleEnabled(MODULES.spelling, resolvedOptions.spelling);
165
+ setModuleEnabled(MODULES.ui, resolvedOptions.ui);
166
+ const config = {};
167
+ includeConfigs(config, configs.test());
168
+ if (isModuleEnabled(MODULES.environment)) includeConfigs(config, configs.environment());
169
+ if (isModuleEnabled(MODULES.spelling)) includeConfigs(config, configs.spelling());
170
+ if (isModuleEnabled(MODULES.ui)) includeConfigs(config, configs.ui());
171
+ includeConfigs(config, getUserConfigs(resolvedOptions, additionalConfigs));
172
+ return config;
173
+ };
174
+ /**
175
+ * Default-exported pre-built config for direct re-export from a Vitest config file.
176
+ *
177
+ * @api
178
+ */
179
+ var vitest_default = getConfig();
180
+ //#endregion
181
+ export { vitest_default as default, getConfig };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package",
3
3
  "name": "@brnshkr/config",
4
- "version": "0.0.1-beta.2",
4
+ "version": "0.0.1-beta.4",
5
5
  "description": "Centralized collection of configuration and tooling used across all @brnshkr projects",
6
6
  "license": "MIT",
7
7
  "author": "Patrick Rupp",
@@ -14,86 +14,117 @@
14
14
  "url": "https://github.com/brnshkr/config/issues"
15
15
  },
16
16
  "type": "module",
17
- "scripts": {
18
- "lint": "bun --bun lint:css && bun --bun lint:js && bun --bun lint:commit",
19
- "lint:css": "bun --bun ./scripts/stylelint.ts",
20
- "lint:js": "bun --bun ./scripts/eslint.ts",
21
- "lint:commit": "bun --bun commitlint --config ./conf/commitlint.config.mjs --edit",
22
- "inspect:eslint": "bun --bun eslint-config-inspector --config ./conf/eslint.config.ts",
23
- "inspect:modules": "bun --bun node-modules-inspector",
24
- "test": "bun --bun vitest --run --testTimeout 120000 --exclude **/fixtures/**",
25
- "test-update": "bun --bun run test --update",
26
- "check": "bun --bun tsc && bun --bun lint && bun --bun run test",
27
- "build": "bun --bun typegen && bun --bun tsdown --config ./conf/tsdown.config.ts",
28
- "watch": "bun --bun tsdown --config ./conf/tsdown.config.ts --watch",
29
- "typegen": "bun --bun scripts/typegen.ts",
30
- "install-hooks": "bun --bun simple-git-hooks"
31
- },
32
17
  "exports": {
18
+ "./commitlint": "./dist/commitlint/index.mjs",
19
+ "./conf/Makefile": "./conf/Makefile",
20
+ "./conf/tsconfig.json": "./conf/tsconfig.json",
33
21
  "./eslint": "./dist/eslint/index.mjs",
34
- "./scripts/eslint": "./dist/scripts/eslint.mjs",
22
+ "./markdownlint": "./dist/markdownlint/index.mjs",
23
+ "./spelling": "./dist/spelling/index.mjs",
24
+ "./spelling/test": "./dist/spelling/spelling.test.mjs",
35
25
  "./stylelint": "./dist/stylelint/index.mjs",
36
- "./scripts/stylelint": "./dist/scripts/stylelint.mjs"
26
+ "./vitest": "./dist/vitest/index.mjs"
37
27
  },
38
28
  "files": [
39
- "./conf/eslint.config.mjs.example",
40
- "./conf/stylelint.config.mjs.example",
29
+ "./conf/.gitignore.dist",
30
+ "./conf/Makefile",
31
+ "./conf/Makefile.dist",
32
+ "./conf/bunfig.dist.toml",
33
+ "./conf/commitlint.dist.mjs",
34
+ "./conf/editorconfig.dist",
35
+ "./conf/eslint.dist.mjs",
36
+ "./conf/launch.dist.json",
37
+ "./conf/markdownlint.dist.mjs",
38
+ "./conf/spelling",
39
+ "./conf/stylelint.dist.mjs",
40
+ "./conf/tsconfig.dist.json",
41
41
  "./conf/tsconfig.json",
42
- "./conf/tsconfig.json.example",
42
+ "./conf/vitest.dist.mjs",
43
+ "./conf/vscode-css-custom-data.dist.json",
44
+ "./conf/vscode-extensions.dist.json",
45
+ "./conf/vscode-settings.dist.jsonc",
43
46
  "./dist"
44
47
  ],
45
48
  "dependencies": {
46
49
  "@eslint/js": "^10.0.1",
47
50
  "confusing-browser-globals": "^1.0.11",
48
- "eslint-flat-config-utils": "^3.1.0",
49
- "globals": "^17.5.0",
50
- "local-pkg": "^1.1.2",
51
+ "eslint-flat-config-utils": "^3.2.0",
52
+ "globals": "^17.12.0",
53
+ "local-pkg": "^1.2.1",
51
54
  "stylelint-config-standard": "^40.0.0"
52
55
  },
53
56
  "peerDependencies": {
54
- "@eslint-community/eslint-plugin-eslint-comments": "^4.7.1",
55
- "@eslint/css": "^1.1.0",
56
- "@eslint/json": "^1.2.0",
57
- "@eslint/markdown": "^8.0.1",
57
+ "@commitlint/config-conventional": "^21.2.2",
58
+ "@commitlint/types": "^21.2.0",
59
+ "@eslint-community/eslint-plugin-eslint-comments": "^4.8.1",
60
+ "@eslint/config-inspector": "^3.4.1",
61
+ "@eslint/css": "^2.0.0",
62
+ "@eslint/json": "^2.1.0",
63
+ "@eslint/markdown": "^8.0.3",
64
+ "@github/markdownlint-github": "^0.8.3",
65
+ "@hongminhee/markdownlint-rules": "^0.2.5",
58
66
  "@stylistic/eslint-plugin": "^5.10.0",
59
67
  "@stylistic/stylelint-config": "^5.0.0",
60
- "@vitest/eslint-plugin": "^1.6.15",
61
- "eslint": "^10.2.0",
62
- "eslint-config-flat-gitignore": "^2.3.0",
63
- "eslint-import-resolver-typescript": "^4.4.4",
68
+ "@typescript-eslint/utils": "^8.70.0",
69
+ "@vitest/eslint-plugin": "^1.6.27",
70
+ "@vitest/ui": "^5.0.0",
71
+ "commitlint": "^21.2.2",
72
+ "commitlint-plugin-function-rules": "^5.0.1",
73
+ "commitlint-plugin-tense": "^1.0.10",
74
+ "eslint": "^10.10.0",
75
+ "eslint-import-resolver-typescript": "^4.4.5",
64
76
  "eslint-merge-processors": "^2.0.0",
65
- "eslint-plugin-antfu": "^3.2.2",
66
- "eslint-plugin-import-x": "^4.16.2",
67
- "eslint-plugin-jsdoc": "^62.9.0",
68
- "eslint-plugin-jsonc": "^3.1.2",
69
- "eslint-plugin-n": "^17.24.0",
70
- "eslint-plugin-perfectionist": "^5.8.0",
71
- "eslint-plugin-regexp": "^3.1.0",
72
- "eslint-plugin-svelte": "^3.17.0",
73
- "eslint-plugin-toml": "^1.3.1",
74
- "eslint-plugin-unicorn": "^64.0.0",
77
+ "eslint-plugin-antfu": "^3.2.3",
78
+ "eslint-plugin-import-x": "^4.17.1",
79
+ "eslint-plugin-jsdoc": "^64.3.10",
80
+ "eslint-plugin-jsonc": "^3.4.2",
81
+ "eslint-plugin-n": "^18.3.0",
82
+ "eslint-plugin-perfectionist": "^5.11.0",
83
+ "eslint-plugin-regexp": "^3.3.0",
84
+ "eslint-plugin-svelte": "^3.23.0",
85
+ "eslint-plugin-toml": "^1.5.0",
86
+ "eslint-plugin-unicorn": "^74.0.0",
75
87
  "eslint-plugin-unused-imports": "^4.4.1",
76
- "eslint-plugin-yml": "^3.3.1",
77
- "postcss-html": "^1.8.1",
78
- "stylelint": "^17.7.0",
88
+ "eslint-plugin-yml": "^3.8.1",
89
+ "happy-dom": "^20.14.5",
90
+ "jsdom": "^30.0.1",
91
+ "markdownlint-cli2": "^0.23.2",
92
+ "markdownlint-rule-no-trailing-slash-in-links": "^0.0.2",
93
+ "markdownlint-rule-relative-links": "^5.1.2",
94
+ "markdownlint-rule-search-replace": "^1.2.0",
95
+ "markdownlint-rule-table-format": "^1.0.3",
96
+ "node-modules-inspector": "^2.5.0",
97
+ "postcss-html": "^2.0.0",
98
+ "stylelint": "^17.15.0",
79
99
  "stylelint-config-css-modules": "^4.6.0",
80
- "stylelint-config-html": "^1.1.0",
81
- "stylelint-config-recess-order": "^7.7.0",
100
+ "stylelint-config-html": "^2.0.0",
101
+ "stylelint-config-recess-order": "^7.8.0",
102
+ "stylelint-config-standard-less": "^4.1.0",
82
103
  "stylelint-config-standard-scss": "^17.0.0",
83
- "stylelint-declaration-strict-value": "^1.11.1",
104
+ "stylelint-declaration-strict-value": "^1.12.1",
84
105
  "stylelint-order": "^8.1.1",
85
- "stylelint-plugin-defensive-css": "^2.9.0",
86
- "stylelint-plugin-logical-css": "^2.1.0",
87
- "stylelint-plugin-use-baseline": "^1.4.1",
106
+ "stylelint-plugin-defensive-css": "^2.9.7",
107
+ "stylelint-plugin-use-baseline": "^1.4.6",
88
108
  "stylelint-use-nesting": "^6.0.2",
89
- "svelte": "^5.55.3",
90
- "typescript": "^6.0.2",
91
- "typescript-eslint": "^8.58.2"
109
+ "svelte": "^5.57.0",
110
+ "typescript": "^6.0.3",
111
+ "typescript-eslint": "^8.70.0",
112
+ "vite": "^8.3.0",
113
+ "vitest": "^5.0.0"
92
114
  },
93
115
  "peerDependenciesMeta": {
116
+ "@commitlint/config-conventional": {
117
+ "optional": true
118
+ },
119
+ "@commitlint/types": {
120
+ "optional": true
121
+ },
94
122
  "@eslint-community/eslint-plugin-eslint-comments": {
95
123
  "optional": true
96
124
  },
125
+ "@eslint/config-inspector": {
126
+ "optional": true
127
+ },
97
128
  "@eslint/css": {
98
129
  "optional": true
99
130
  },
@@ -103,16 +134,34 @@
103
134
  "@eslint/markdown": {
104
135
  "optional": true
105
136
  },
137
+ "@github/markdownlint-github": {
138
+ "optional": true
139
+ },
140
+ "@hongminhee/markdownlint-rules": {
141
+ "optional": true
142
+ },
106
143
  "@stylistic/eslint-plugin": {
107
144
  "optional": true
108
145
  },
109
146
  "@stylistic/stylelint-config": {
110
147
  "optional": true
111
148
  },
149
+ "@typescript-eslint/utils": {
150
+ "optional": true
151
+ },
112
152
  "@vitest/eslint-plugin": {
113
153
  "optional": true
114
154
  },
115
- "eslint-config-flat-gitignore": {
155
+ "@vitest/ui": {
156
+ "optional": true
157
+ },
158
+ "commitlint": {
159
+ "optional": true
160
+ },
161
+ "commitlint-plugin-function-rules": {
162
+ "optional": true
163
+ },
164
+ "commitlint-plugin-tense": {
116
165
  "optional": true
117
166
  },
118
167
  "eslint-import-resolver-typescript": {
@@ -157,6 +206,30 @@
157
206
  "eslint-plugin-yml": {
158
207
  "optional": true
159
208
  },
209
+ "happy-dom": {
210
+ "optional": true
211
+ },
212
+ "jsdom": {
213
+ "optional": true
214
+ },
215
+ "markdownlint-cli2": {
216
+ "optional": true
217
+ },
218
+ "markdownlint-rule-no-trailing-slash-in-links": {
219
+ "optional": true
220
+ },
221
+ "markdownlint-rule-relative-links": {
222
+ "optional": true
223
+ },
224
+ "markdownlint-rule-search-replace": {
225
+ "optional": true
226
+ },
227
+ "markdownlint-rule-table-format": {
228
+ "optional": true
229
+ },
230
+ "node-modules-inspector": {
231
+ "optional": true
232
+ },
160
233
  "postcss-html": {
161
234
  "optional": true
162
235
  },
@@ -172,6 +245,9 @@
172
245
  "stylelint-config-recess-order": {
173
246
  "optional": true
174
247
  },
248
+ "stylelint-config-standard-less": {
249
+ "optional": true
250
+ },
175
251
  "stylelint-config-standard-scss": {
176
252
  "optional": true
177
253
  },
@@ -184,9 +260,6 @@
184
260
  "stylelint-plugin-defensive-css": {
185
261
  "optional": true
186
262
  },
187
- "stylelint-plugin-logical-css": {
188
- "optional": true
189
- },
190
263
  "stylelint-plugin-use-baseline": {
191
264
  "optional": true
192
265
  },
@@ -201,63 +274,80 @@
201
274
  },
202
275
  "typescript-eslint": {
203
276
  "optional": true
277
+ },
278
+ "vite": {
279
+ "optional": true
280
+ },
281
+ "vitest": {
282
+ "optional": true
204
283
  }
205
284
  },
206
285
  "devDependencies": {
207
- "@commitlint/config-conventional": "20.5.0",
208
- "@commitlint/types": "20.5.0",
209
- "@eslint-community/eslint-plugin-eslint-comments": "4.7.1",
210
- "@eslint/config-inspector": "1.5.0",
211
- "@eslint/css": "1.1.0",
212
- "@eslint/json": "1.2.0",
213
- "@eslint/markdown": "8.0.1",
286
+ "@commitlint/config-conventional": "21.2.2",
287
+ "@commitlint/load": "21.2.2",
288
+ "@commitlint/types": "21.2.0",
289
+ "@eslint-community/eslint-plugin-eslint-comments": "4.8.1",
290
+ "@eslint/config-inspector": "3.4.1",
291
+ "@eslint/css": "2.0.0",
292
+ "@eslint/json": "2.1.0",
293
+ "@eslint/markdown": "8.0.3",
294
+ "@github/markdownlint-github": "0.8.3",
295
+ "@hongminhee/markdownlint-rules": "0.2.5",
214
296
  "@stylistic/eslint-plugin": "5.10.0",
215
297
  "@stylistic/stylelint-config": "5.0.0",
216
298
  "@total-typescript/ts-reset": "0.6.1",
217
- "@types/bun": "1.3.12",
299
+ "@types/bun": "1.4.2",
218
300
  "@types/confusing-browser-globals": "1.0.3",
219
- "@typescript-eslint/utils": "8.58.2",
220
- "@vitest/eslint-plugin": "1.6.15",
221
- "commitlint": "20.5.0",
222
- "conventional-changelog": "7.2.0",
223
- "eslint": "10.2.0",
224
- "eslint-config-flat-gitignore": "2.3.0",
225
- "eslint-import-resolver-typescript": "4.4.4",
301
+ "@typescript-eslint/utils": "8.70.0",
302
+ "@vitest/coverage-v8": "5.0.0",
303
+ "@vitest/eslint-plugin": "1.6.27",
304
+ "@vitest/ui": "5.0.0",
305
+ "commitlint": "21.2.2",
306
+ "commitlint-plugin-function-rules": "5.0.1",
307
+ "commitlint-plugin-tense": "1.0.10",
308
+ "eslint": "10.10.0",
309
+ "eslint-import-resolver-typescript": "4.4.5",
226
310
  "eslint-merge-processors": "2.0.0",
227
- "eslint-plugin-antfu": "3.2.2",
228
- "eslint-plugin-import-x": "4.16.2",
229
- "eslint-plugin-jsdoc": "62.9.0",
230
- "eslint-plugin-jsonc": "3.1.2",
231
- "eslint-plugin-n": "17.24.0",
232
- "eslint-plugin-perfectionist": "5.8.0",
233
- "eslint-plugin-regexp": "3.1.0",
234
- "eslint-plugin-svelte": "3.17.0",
235
- "eslint-plugin-toml": "1.3.1",
236
- "eslint-plugin-unicorn": "64.0.0",
311
+ "eslint-plugin-antfu": "3.2.3",
312
+ "eslint-plugin-import-x": "4.17.1",
313
+ "eslint-plugin-jsdoc": "64.3.10",
314
+ "eslint-plugin-jsonc": "3.4.2",
315
+ "eslint-plugin-n": "18.3.0",
316
+ "eslint-plugin-perfectionist": "5.11.0",
317
+ "eslint-plugin-regexp": "3.3.0",
318
+ "eslint-plugin-svelte": "3.23.0",
319
+ "eslint-plugin-toml": "1.5.0",
320
+ "eslint-plugin-unicorn": "74.0.0",
237
321
  "eslint-plugin-unused-imports": "4.4.1",
238
- "eslint-plugin-yml": "3.3.1",
322
+ "eslint-plugin-yml": "3.8.1",
239
323
  "eslint-typegen": "2.3.1",
240
- "jiti": "2.6.1",
241
- "node-modules-inspector": "1.4.2",
242
- "postcss-html": "1.8.1",
243
- "simple-git-hooks": "2.13.1",
244
- "stylelint": "17.7.0",
324
+ "jiti": "2.7.0",
325
+ "json-schema-to-typescript": "16.0.0",
326
+ "markdownlint-cli2": "0.23.2",
327
+ "markdownlint-rule-no-trailing-slash-in-links": "0.0.2",
328
+ "markdownlint-rule-relative-links": "5.1.2",
329
+ "markdownlint-rule-search-replace": "1.2.0",
330
+ "markdownlint-rule-table-format": "1.0.3",
331
+ "minimatch": "10.2.6",
332
+ "node-modules-inspector": "2.5.0",
333
+ "postcss-html": "2.0.0",
334
+ "stylelint": "17.15.0",
245
335
  "stylelint-config-css-modules": "4.6.0",
246
- "stylelint-config-html": "1.1.0",
247
- "stylelint-config-recess-order": "7.7.0",
336
+ "stylelint-config-html": "2.0.0",
337
+ "stylelint-config-recess-order": "7.8.0",
338
+ "stylelint-config-standard-less": "4.1.0",
248
339
  "stylelint-config-standard-scss": "17.0.0",
249
- "stylelint-declaration-strict-value": "1.11.1",
340
+ "stylelint-declaration-strict-value": "1.12.1",
250
341
  "stylelint-order": "8.1.1",
251
- "stylelint-plugin-defensive-css": "2.9.0",
252
- "stylelint-plugin-logical-css": "2.1.0",
253
- "stylelint-plugin-use-baseline": "1.4.1",
342
+ "stylelint-plugin-defensive-css": "2.9.7",
343
+ "stylelint-plugin-use-baseline": "1.4.6",
254
344
  "stylelint-use-nesting": "6.0.2",
255
- "svelte": "5.55.3",
256
- "tsdown": "0.21.8",
257
- "type-fest": "5.5.0",
258
- "typescript": "6.0.2",
259
- "typescript-eslint": "8.58.2",
260
- "vitest": "4.1.4"
345
+ "svelte": "5.57.0",
346
+ "tsdown": "0.23.0",
347
+ "typescript": "6.0.3",
348
+ "typescript-eslint": "8.70.0",
349
+ "vite": "8.3.0",
350
+ "vitest": "5.0.0"
261
351
  },
262
352
  "keywords": [
263
353
  "dev",
@@ -266,8 +356,5 @@
266
356
  "eslint",
267
357
  "lint",
268
358
  "linting"
269
- ],
270
- "simple-git-hooks": {
271
- "commit-msg": "bun lint:commit"
272
- }
359
+ ]
273
360
  }
@@ -1,3 +0,0 @@
1
- {
2
- "extends": "./node_modules/@brnshkr/config/conf/tsconfig.json"
3
- }
@@ -1,16 +0,0 @@
1
- import { spawn } from "node:child_process";
2
- //#region ../scripts/eslint.ts
3
- spawn("bun", [
4
- "eslint",
5
- "--config",
6
- "./conf/eslint.config.ts",
7
- "--cache",
8
- "--cache-location",
9
- "./.cache/eslint.cache.json",
10
- ...process.argv.slice(2)
11
- ], {
12
- stdio: "inherit",
13
- env: import.meta.env
14
- });
15
- //#endregion
16
- export {};
@@ -1,29 +0,0 @@
1
- import { spawn } from "node:child_process";
2
- //#region ../scripts/stylelint.ts
3
- const EXTENSIONS = [
4
- "css",
5
- "ejs",
6
- "html",
7
- "less",
8
- "postcss",
9
- "scss",
10
- "svelte",
11
- "svg",
12
- "vue"
13
- ];
14
- const argv = process.argv.slice(2);
15
- spawn("bun", [
16
- "stylelint",
17
- "--config",
18
- "./conf/stylelint.config.mjs",
19
- "--cache",
20
- "--cache-location",
21
- "./.cache/stylelint.cache.json",
22
- argv.includes("--print-config") ? "" : `**/*.{${EXTENSIONS.join(",")}}`,
23
- ...argv
24
- ].filter(Boolean), {
25
- stdio: "inherit",
26
- env: import.meta.env
27
- });
28
- //#endregion
29
- export {};