eslint-plugin-spellbookx 0.3.4 → 0.7.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 (89) hide show
  1. package/.turbo/turbo-build.log +12 -0
  2. package/LICENSE +1 -1
  3. package/README.md +11 -52
  4. package/dist/configs/cspell.d.ts +2 -3
  5. package/dist/configs/cspell.d.ts.map +1 -1
  6. package/dist/configs/ignores.d.ts.map +1 -1
  7. package/dist/configs/javascript.d.ts +1 -2
  8. package/dist/configs/javascript.d.ts.map +1 -1
  9. package/dist/configs/json.d.ts +2 -3
  10. package/dist/configs/json.d.ts.map +1 -1
  11. package/dist/configs/markdown.d.ts +2 -3
  12. package/dist/configs/markdown.d.ts.map +1 -1
  13. package/dist/configs/recommended.d.ts +3 -0
  14. package/dist/configs/recommended.d.ts.map +1 -0
  15. package/dist/configs/vuoto.d.ts +3 -0
  16. package/dist/configs/vuoto.d.ts.map +1 -0
  17. package/dist/index.d.ts +1 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +485 -43
  20. package/dist/types.d.ts +1 -1
  21. package/dist/types.d.ts.map +1 -1
  22. package/dist/types.js +10 -1
  23. package/package.json +26 -32
  24. package/rolldown.config.ts +31 -0
  25. package/src/configs/cspell.ts +9 -0
  26. package/src/configs/ignores.ts +99 -0
  27. package/src/configs/javascript.ts +322 -0
  28. package/src/configs/json.ts +57 -0
  29. package/src/configs/markdown.ts +15 -0
  30. package/src/configs/recommended.ts +20 -0
  31. package/src/configs/vuoto.ts +12 -0
  32. package/{dist/helpers.js → src/helpers.ts} +6 -1
  33. package/src/index.ts +38 -0
  34. package/src/types.ts +8 -0
  35. package/tsconfig.json +10 -0
  36. package/dist/configs/astro.d.ts +0 -4
  37. package/dist/configs/astro.d.ts.map +0 -1
  38. package/dist/configs/astro.js +0 -67
  39. package/dist/configs/cspell.js +0 -10
  40. package/dist/configs/ignores.js +0 -88
  41. package/dist/configs/index.d.ts +0 -15
  42. package/dist/configs/index.d.ts.map +0 -1
  43. package/dist/configs/index.js +0 -14
  44. package/dist/configs/javascript.js +0 -79
  45. package/dist/configs/json.js +0 -57
  46. package/dist/configs/markdown.js +0 -21
  47. package/dist/configs/prettier.d.ts +0 -4
  48. package/dist/configs/prettier.d.ts.map +0 -1
  49. package/dist/configs/prettier.js +0 -19
  50. package/dist/configs/react.d.ts +0 -4
  51. package/dist/configs/react.d.ts.map +0 -1
  52. package/dist/configs/react.js +0 -61
  53. package/dist/configs/recommended/astro.d.ts +0 -4
  54. package/dist/configs/recommended/astro.d.ts.map +0 -1
  55. package/dist/configs/recommended/astro.js +0 -18
  56. package/dist/configs/recommended/index.d.ts +0 -7
  57. package/dist/configs/recommended/index.d.ts.map +0 -1
  58. package/dist/configs/recommended/index.js +0 -6
  59. package/dist/configs/recommended/no-spellcheck-astro.d.ts +0 -4
  60. package/dist/configs/recommended/no-spellcheck-astro.d.ts.map +0 -1
  61. package/dist/configs/recommended/no-spellcheck-astro.js +0 -16
  62. package/dist/configs/recommended/no-spellcheck-react.d.ts +0 -4
  63. package/dist/configs/recommended/no-spellcheck-react.d.ts.map +0 -1
  64. package/dist/configs/recommended/no-spellcheck-react.js +0 -14
  65. package/dist/configs/recommended/no-spellcheck.d.ts +0 -4
  66. package/dist/configs/recommended/no-spellcheck.d.ts.map +0 -1
  67. package/dist/configs/recommended/no-spellcheck.js +0 -14
  68. package/dist/configs/recommended/react.d.ts +0 -4
  69. package/dist/configs/recommended/react.d.ts.map +0 -1
  70. package/dist/configs/recommended/react.js +0 -16
  71. package/dist/configs/recommended/recommended.d.ts +0 -4
  72. package/dist/configs/recommended/recommended.d.ts.map +0 -1
  73. package/dist/configs/recommended/recommended.js +0 -22
  74. package/dist/dependencies.d.ts +0 -3
  75. package/dist/dependencies.d.ts.map +0 -1
  76. package/dist/dependencies.js +0 -4
  77. package/dist/shared-rules/index.d.ts +0 -4
  78. package/dist/shared-rules/index.d.ts.map +0 -1
  79. package/dist/shared-rules/index.js +0 -3
  80. package/dist/shared-rules/js-common.d.ts +0 -25
  81. package/dist/shared-rules/js-common.d.ts.map +0 -1
  82. package/dist/shared-rules/js-common.js +0 -50
  83. package/dist/shared-rules/js-imports-exports.d.ts +0 -16
  84. package/dist/shared-rules/js-imports-exports.d.ts.map +0 -1
  85. package/dist/shared-rules/js-imports-exports.js +0 -191
  86. package/dist/shared-rules/jsdoc.d.ts +0 -23
  87. package/dist/shared-rules/jsdoc.d.ts.map +0 -1
  88. package/dist/shared-rules/jsdoc.js +0 -62
  89. package/dist/tsconfig.lib.tsbuildinfo +0 -1
package/dist/index.js CHANGED
@@ -1,47 +1,489 @@
1
- import configCSpell from './configs/cspell.js';
2
- import configIgnores from './configs/ignores.js';
3
- import { configRecommendedNoSpellCheckAstro } from './configs/index.js';
4
- import configJavascript from './configs/javascript.js';
5
- import configJson from './configs/json.js';
6
- import configMarkdown from './configs/markdown.js';
7
- import configPrettier from './configs/prettier.js';
8
- import configReact from './configs/react.js';
9
- import configRecommendedAstro from './configs/recommended/astro.js';
10
- import configRecommendedNoSpellCheck from './configs/recommended/no-spellcheck.js';
11
- import configRecommendedNoSpellCheckReact from './configs/recommended/no-spellcheck-react.js';
12
- import configRecommendedReact from './configs/recommended/react.js';
13
- import configRecommended from './configs/recommended/recommended.js';
14
- import { packageJson } from './helpers.js';
1
+
2
+ import { fileURLToPath as _fileURLToPath } from 'node:url';
3
+ import { dirname } from 'node:path';
4
+ import { createRequire as _createRequire } from 'node:module';
5
+
6
+ const __filename = _fileURLToPath(import.meta.url);
7
+ const __dirname = dirname(__filename);
8
+ const require = _createRequire(import.meta.url);
9
+
10
+ import { defineConfig, globalIgnores } from "eslint/config";
11
+ import prettierRecommended from "eslint-plugin-prettier/recommended";
12
+ import cspell from "@cspell/eslint-plugin/configs";
13
+ import importPlugin from "eslint-plugin-import";
14
+ import jsdoc from "eslint-plugin-jsdoc";
15
+ import nodeDependencies from "eslint-plugin-node-dependencies";
16
+ import prettierPlugin from "eslint-plugin-prettier";
17
+ import simpleImportSort from "eslint-plugin-simple-import-sort";
18
+ import unicorn from "eslint-plugin-unicorn";
19
+ import globals from "globals";
20
+ import tseslint from "typescript-eslint";
21
+ import js from "@eslint/js";
22
+ import eslintReact from "@eslint-react/eslint-plugin";
23
+ import packageJson from "eslint-plugin-package-json";
24
+ import jsoncParser from "jsonc-eslint-parser";
25
+ import json from "@eslint/json";
26
+ import markdown from "@eslint/markdown";
27
+ import vuoto from "eslint-plugin-vuoto";
28
+ import { readFileSync } from "node:fs";
29
+ import { fileURLToPath } from "node:url";
30
+
31
+ //#region src/configs/cspell.ts
32
+ const configCspell = defineConfig([cspell.recommended, prettierRecommended]);
33
+
34
+ //#endregion
35
+ //#region src/configs/ignores.ts
36
+ const configIgnores = defineConfig([globalIgnores([
37
+ "**/node_modules/**",
38
+ "**/dist/**",
39
+ "**/build/**",
40
+ "**/out/**",
41
+ "**/out-tsc/**",
42
+ "**/coverage/**",
43
+ "**/.astro/**",
44
+ "**/.next/**",
45
+ "**/.nuxt/**",
46
+ "**/.svelte-kit/**",
47
+ "**/.turbo/**",
48
+ "**/.pnpm/**",
49
+ "**/.npm/**",
50
+ "**/.yarn/**",
51
+ "**/.pnp/**",
52
+ "**/package-lock.json",
53
+ "**/pnpm-lock.yaml",
54
+ "**/yarn.lock",
55
+ "**/bun.lockb",
56
+ "**/__pycache__/**",
57
+ "**/*.pyc",
58
+ "**/*.pyo",
59
+ "**/.mypy_cache/**",
60
+ "**/.pytest_cache/**",
61
+ "**/.tox/**",
62
+ "**/.ruff_cache/**",
63
+ "**/.venv/**",
64
+ "**/venv/**",
65
+ "**/env/**",
66
+ "**/.ipynb_checkpoints/**",
67
+ "**/target/**",
68
+ "**/.cargo/**",
69
+ "**/Cargo.lock",
70
+ "**/go.sum",
71
+ "**/go.work",
72
+ "**/go.work.sum",
73
+ "**/vendor/**",
74
+ "**/.gopath/**",
75
+ "**/.cache/go-build/**",
76
+ "**/*LICENSE*",
77
+ "**/*.log",
78
+ "**/.cache/**",
79
+ "**/.temp/**",
80
+ "**/.tmp/**",
81
+ "**/.DS_Store",
82
+ "**/.idea/**",
83
+ "**/.vscode/**",
84
+ "**/.nx/**",
85
+ "**/.cspell/**",
86
+ "**/.cursor/**",
87
+ "**/.history/**",
88
+ "**/.terraform/**",
89
+ "**/.devcontainer/**",
90
+ "**/.direnv/**",
91
+ "**/.editorconfig",
92
+ "**/.eslintcache",
93
+ "**/.babelrc",
94
+ "**/.prettier*",
95
+ "**/.sass-cache/**",
96
+ "**/.gradle/**",
97
+ "**/.docker/**",
98
+ "**/.kube/**",
99
+ "**/.git/**",
100
+ "**/.svn/**",
101
+ "**/.hg/**",
102
+ "**/.gemini/**",
103
+ "**/.codacy/**",
104
+ ".github/instructions/**",
105
+ "**/*:Zone.Identifier",
106
+ "**/Thumbs.db",
107
+ "**/desktop.ini",
108
+ "**/$RECYCLE.BIN/**",
109
+ "**/System Volume Information/**",
110
+ "**/pagefile.sys",
111
+ "**/swapfile.sys",
112
+ "**/hiberfil.sys",
113
+ "**/*.hbs"
114
+ ])]);
115
+ var ignores_default = configIgnores;
116
+
117
+ //#endregion
118
+ //#region src/configs/javascript.ts
119
+ const configJavascript = defineConfig([
120
+ {
121
+ files: ["**/*.{js,jsx,mjs,cjs,ts,tsx,mts,cts}"],
122
+ plugins: {
123
+ jsdoc,
124
+ import: importPlugin,
125
+ prettier: prettierPlugin,
126
+ "simple-import-sort": simpleImportSort
127
+ },
128
+ extends: [
129
+ js.configs.recommended,
130
+ ...tseslint.configs.recommended,
131
+ unicorn.configs.recommended
132
+ ],
133
+ rules: {
134
+ "prettier/prettier": "error",
135
+ "no-unused-vars": "off",
136
+ "@typescript-eslint/no-unused-vars": ["error", {
137
+ argsIgnorePattern: "^_",
138
+ varsIgnorePattern: "^_"
139
+ }],
140
+ "sort-imports": "off",
141
+ "simple-import-sort/exports": "error",
142
+ "simple-import-sort/imports": ["error", { groups: [
143
+ ["^@dotenvx/dotenvx", "^dotenv"],
144
+ [String.raw`^\u0000`],
145
+ ["^@env"],
146
+ [
147
+ "^assert",
148
+ "^buffer",
149
+ "^child_process",
150
+ "^cluster",
151
+ "^console",
152
+ "^constants",
153
+ "^crypto",
154
+ "^dgram",
155
+ "^dns",
156
+ "^domain",
157
+ "^events",
158
+ "^fs",
159
+ "^http",
160
+ "^https",
161
+ "^inspector",
162
+ "^module",
163
+ "^net",
164
+ "^os",
165
+ "^path",
166
+ "^perf_hooks",
167
+ "^process",
168
+ "^punycode",
169
+ "^querystring",
170
+ "^readline",
171
+ "^repl",
172
+ "^stream",
173
+ "^string_decoder",
174
+ "^timers",
175
+ "^tls",
176
+ "^tty",
177
+ "^url",
178
+ "^util",
179
+ "^v8",
180
+ "^vm",
181
+ "^zlib"
182
+ ],
183
+ ["^node:"],
184
+ [
185
+ "^@fastify",
186
+ "^@hapi/hapi",
187
+ "^@koa/koa",
188
+ "^@nestjs",
189
+ "^express",
190
+ "^fastify",
191
+ "^hapi",
192
+ "^koa",
193
+ "^loopback",
194
+ "^nest",
195
+ "^sails"
196
+ ],
197
+ [
198
+ "^body-parser",
199
+ "^connect-redis",
200
+ "^cookie-parser",
201
+ "^cors",
202
+ "^express-rate-limit",
203
+ "^express-session",
204
+ "^helmet",
205
+ "^morgan",
206
+ "^passport",
207
+ String.raw`^pino-`,
208
+ "^redis",
209
+ "^winston"
210
+ ],
211
+ [
212
+ "^@angular",
213
+ "^react",
214
+ "^solid-js",
215
+ "^svelte",
216
+ "^vue"
217
+ ],
218
+ [
219
+ "^@tanstack/router",
220
+ "^react-dom",
221
+ "^react-helmet",
222
+ "^react-intl",
223
+ "^react-router",
224
+ "^react-router-dom"
225
+ ],
226
+ [
227
+ "^@nuxt/kit",
228
+ "^@remix-run",
229
+ "^@sveltejs/kit",
230
+ "^gatsby",
231
+ "^next"
232
+ ],
233
+ [
234
+ "^@expo",
235
+ String.raw`^@expo\/`,
236
+ "^@react-native",
237
+ "^expo",
238
+ String.raw`^expo-`,
239
+ "^react-native",
240
+ "^react-navigation"
241
+ ],
242
+ [
243
+ "^@reduxjs/toolkit",
244
+ "^jotai",
245
+ "^mobx",
246
+ "^recoil",
247
+ "^redux",
248
+ "^valtio",
249
+ "^zustand"
250
+ ],
251
+ [
252
+ "^@apollo/client",
253
+ "^@tanstack/react-query",
254
+ "^axios",
255
+ "^graphql",
256
+ "^swr"
257
+ ],
258
+ [
259
+ "^@chakra-ui",
260
+ "^@headlessui/react",
261
+ "^@lottiefiles",
262
+ "^@material-ui",
263
+ "^@mui",
264
+ "^@nextui-org/react",
265
+ "^@radix-ui",
266
+ "^@pittorica/pitto",
267
+ "^radix-ui",
268
+ "^antd",
269
+ "^framer-motion",
270
+ "^native-base",
271
+ "^react-native-paper",
272
+ "^shadcn-ui",
273
+ "^tailwindcss"
274
+ ],
275
+ [
276
+ "^@emotion",
277
+ "^class-variance-authority",
278
+ "^clsx",
279
+ "^lucide-react",
280
+ "^styled-components",
281
+ "^tailwind-merge",
282
+ "^twin.macro",
283
+ "^tw-animate-css"
284
+ ],
285
+ [
286
+ String.raw`^@expo\/vector-icons`,
287
+ "^@fortawesome",
288
+ "^@tabler/icons-react",
289
+ "^lucide",
290
+ "^react-feather",
291
+ "^react-icons",
292
+ "^react-native-feather",
293
+ "^react-native-vector-icons"
294
+ ],
295
+ [
296
+ "^@testing-library",
297
+ "^cypress",
298
+ "^jest",
299
+ "^playwright",
300
+ "^vitest"
301
+ ],
302
+ ["^[a-z]", String.raw`^@\w`],
303
+ [
304
+ "@org/",
305
+ "^@my-org/",
306
+ "^@workspace/",
307
+ "^@repo/"
308
+ ],
309
+ [
310
+ String.raw`^.+\.(avi|mkv|mov|mp4|webm)$`,
311
+ String.raw`^.+\.(mp3|ogg|wav|weba)$`,
312
+ String.raw`^.+\.(gif|jpe?g|png|svg|webp)$`,
313
+ String.raw`^.+\.lottie$`,
314
+ String.raw`^.+\.(eot|otf|ttf|woff|woff2)$`
315
+ ],
316
+ [String.raw`^.+\.json$`],
317
+ [String.raw`^.+\.less$`, String.raw`^.+\.s?css$`],
318
+ [String.raw`^\.?\.\/`]
319
+ ] }],
320
+ "unicorn/no-null": "off",
321
+ "unicorn/prevent-abbreviations": "off"
322
+ }
323
+ },
324
+ {
325
+ files: ["**/*.{ts,js,mts,mjs,cts,cjs}"],
326
+ ignores: ["**/*.{tsx,jsx}"],
327
+ extends: [
328
+ nodeDependencies.configs["flat/recommended"],
329
+ jsdoc.configs["flat/contents-typescript-flavor"],
330
+ jsdoc.configs["flat/logical-typescript-flavor"]
331
+ ],
332
+ languageOptions: { globals: { ...globals.node } },
333
+ rules: {
334
+ "unicorn/filename-case": ["error", { case: "kebabCase" }],
335
+ "jsdoc/require-jsdoc": ["warn", { require: {
336
+ FunctionDeclaration: true,
337
+ MethodDefinition: true,
338
+ ClassDeclaration: true
339
+ } }],
340
+ "jsdoc/require-description": "warn"
341
+ }
342
+ },
343
+ {
344
+ files: ["**/*.{tsx,jsx}"],
345
+ extends: [eslintReact.configs["recommended-typescript"]],
346
+ languageOptions: {
347
+ sourceType: "module",
348
+ globals: {
349
+ ...globals.browser,
350
+ ...globals.es2022
351
+ },
352
+ parser: tseslint.parser,
353
+ parserOptions: {
354
+ projectService: true,
355
+ tsconfigRootDir: import.meta.dirname
356
+ }
357
+ },
358
+ rules: {
359
+ "unicorn/filename-case": "off",
360
+ "jsdoc/require-jsdoc": "off",
361
+ "jsdoc/require-description": "off",
362
+ "jsdoc/require-param": "off",
363
+ "jsdoc/require-returns": "off",
364
+ "jsdoc/check-tag-names": "off"
365
+ }
366
+ },
367
+ {
368
+ files: ["**/*.{cjs,cts}"],
369
+ languageOptions: { globals: { ...globals.commonjs } },
370
+ rules: {
371
+ "@typescript-eslint/no-require-imports": "off",
372
+ "unicorn/prefer-module": "off"
373
+ }
374
+ },
375
+ prettierRecommended
376
+ ]);
377
+
378
+ //#endregion
379
+ //#region src/configs/json.ts
380
+ const configJson = defineConfig([
381
+ {
382
+ files: ["**/*.json"],
383
+ plugins: { json },
384
+ language: "json/json",
385
+ extends: ["json/recommended"],
386
+ languageOptions: { parser: jsoncParser },
387
+ rules: { "prettier/prettier": "off" }
388
+ },
389
+ {
390
+ files: ["**/*.json5"],
391
+ plugins: { json },
392
+ language: "json/json5",
393
+ extends: ["json/recommended"],
394
+ languageOptions: { parser: jsoncParser }
395
+ },
396
+ {
397
+ files: [
398
+ "**/*.jsonc",
399
+ "**/tsconfig*.json",
400
+ "**/.vscode/**/*.json"
401
+ ],
402
+ plugins: { json },
403
+ language: "json/jsonc",
404
+ extends: ["json/recommended"],
405
+ languageOptions: { parser: jsoncParser }
406
+ },
407
+ {
408
+ files: ["**/package.json"],
409
+ plugins: {
410
+ json,
411
+ "package-json": packageJson
412
+ },
413
+ language: "json/json",
414
+ extends: [packageJson.configs.recommended],
415
+ languageOptions: { parser: jsoncParser },
416
+ rules: {
417
+ "package-json/order-properties": "error",
418
+ "package-json/sort-collections": "error",
419
+ "package-json/require-description": "error",
420
+ "package-json/require-bugs": "error",
421
+ "package-json/require-keywords": "error",
422
+ "package-json/require-name": "error",
423
+ "package-json/require-version": "error",
424
+ "package-json/valid-description": "error",
425
+ "package-json/valid-license": "error",
426
+ "package-json/valid-name": "error",
427
+ "package-json/valid-package-definition": "error",
428
+ "package-json/valid-version": "error",
429
+ "prettier/prettier": "off"
430
+ }
431
+ },
432
+ prettierRecommended
433
+ ]);
434
+
435
+ //#endregion
436
+ //#region src/configs/markdown.ts
437
+ const configMarkdown = defineConfig([{
438
+ files: ["**/*.md"],
439
+ plugins: { markdown },
440
+ language: "markdown/gfm",
441
+ extends: ["markdown/recommended"]
442
+ }, prettierRecommended]);
443
+
444
+ //#endregion
445
+ //#region src/configs/vuoto.ts
446
+ const configVuoto = defineConfig([{ plugins: { vuoto } }, vuoto.configs.all]);
447
+
448
+ //#endregion
449
+ //#region src/configs/recommended.ts
450
+ const configRecommended = defineConfig([
451
+ ignores_default,
452
+ configJavascript,
453
+ configJson,
454
+ configMarkdown,
455
+ configVuoto,
456
+ configCspell,
457
+ prettierRecommended
458
+ ]);
459
+
460
+ //#endregion
461
+ //#region src/helpers.ts
462
+ const packagePath = fileURLToPath(new URL("../package.json", import.meta.url));
463
+ const packageJson$1 = JSON.parse(readFileSync(packagePath, "utf8"));
464
+
465
+ //#endregion
466
+ //#region src/index.ts
15
467
  const configs = {
16
- // global ignores
17
- ignores: configIgnores,
18
- // js/ts & react
19
- javascript: configJavascript,
20
- react: configReact,
21
- // json
22
- json: configJson,
23
- // markdown
24
- markdown: configMarkdown,
25
- // spelling
26
- cspell: configCSpell,
27
- // prettier fixes
28
- prettier: configPrettier,
29
- // collections
30
- recommended: configRecommended,
31
- 'recommended-astro': configRecommendedAstro,
32
- 'recommended-react': configRecommendedReact,
33
- 'recommended-no-spellcheck': configRecommendedNoSpellCheck,
34
- 'recommended-no-spellcheck-astro': configRecommendedNoSpellCheckAstro,
35
- 'recommended-no-spellcheck-react': configRecommendedNoSpellCheckReact,
468
+ cspell: configCspell,
469
+ ignores: ignores_default,
470
+ javascript: configJavascript,
471
+ json: configJson,
472
+ markdown: configMarkdown,
473
+ recommended: configRecommended,
474
+ vuoto: configVuoto
36
475
  };
37
476
  const plugin = {
38
- meta: {
39
- name: packageJson.name,
40
- version: packageJson.version,
41
- namespace: 'spellbookx',
42
- },
43
- configs,
44
- rules: {},
45
- processors: {},
477
+ meta: {
478
+ name: packageJson$1.name,
479
+ version: packageJson$1.version,
480
+ namespace: "spellbookx"
481
+ },
482
+ configs,
483
+ rules: {},
484
+ processors: {}
46
485
  };
47
- export default plugin;
486
+ var src_default = plugin;
487
+
488
+ //#endregion
489
+ export { src_default as default };
package/dist/types.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export type SbxESLintConfig = 'ignores' | 'javascript' | 'react' | 'json' | 'markdown' | 'cspell' | 'prettier' | 'recommended' | 'recommended-astro' | 'recommended-react' | 'recommended-no-spellcheck' | 'recommended-no-spellcheck-astro' | 'recommended-no-spellcheck-react';
1
+ export type SbxESLintConfig = 'cspell' | 'ignores' | 'javascript' | 'json' | 'markdown' | 'recommended' | 'vuoto';
2
2
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GACvB,SAAS,GACT,YAAY,GACZ,OAAO,GACP,MAAM,GACN,UAAU,GACV,QAAQ,GACR,UAAU,GACV,aAAa,GACb,mBAAmB,GACnB,mBAAmB,GACnB,2BAA2B,GAC3B,iCAAiC,GACjC,iCAAiC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GACvB,QAAQ,GACR,SAAS,GACT,YAAY,GACZ,MAAM,GACN,UAAU,GACV,aAAa,GACb,OAAO,CAAC"}
package/dist/types.js CHANGED
@@ -1 +1,10 @@
1
- export {};
1
+
2
+ import { fileURLToPath as _fileURLToPath } from 'node:url';
3
+ import { dirname } from 'node:path';
4
+ import { createRequire as _createRequire } from 'node:module';
5
+
6
+ const __filename = _fileURLToPath(import.meta.url);
7
+ const __dirname = dirname(__filename);
8
+ const require = _createRequire(import.meta.url);
9
+
10
+ export { };
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "eslint-plugin-spellbookx",
3
- "version": "0.3.4",
3
+ "version": "0.7.1",
4
4
  "private": false,
5
- "description": "Shared ESLint plugin and configs tuned for the SpellbookX monorepo and common JS/TS frameworks.",
5
+ "description": "Shared ESLint plugin and configs tuned for the Spellbookx monorepo and common JS/TS frameworks.",
6
6
  "keywords": [
7
7
  "eslint",
8
8
  "eslint-plugin",
@@ -10,17 +10,16 @@
10
10
  "spellbookx",
11
11
  "eslint-config"
12
12
  ],
13
- "homepage": "https://github.com/dcdavidev/spellbookx#readme",
13
+ "homepage": "https://github.com/spellbookx/spellbookx#readme",
14
14
  "bugs": {
15
- "url": "https://github.com/dcdavidev/spellbookx/issues"
15
+ "url": "https://github.com/spellbookx/spellbookx/issues"
16
16
  },
17
17
  "repository": {
18
18
  "type": "git",
19
- "url": "git+https://github.com/dcdavidev/spellbookx.git",
19
+ "url": "git+https://github.com/spellbookx/spellbookx.git",
20
20
  "directory": "packages/eslint-plugin-spellbookx"
21
21
  },
22
22
  "license": "MIT",
23
- "author": "Davide Di Criscito",
24
23
  "type": "module",
25
24
  "exports": {
26
25
  "./package.json": "./package.json",
@@ -29,11 +28,6 @@
29
28
  "import": "./dist/index.js",
30
29
  "default": "./dist/index.js"
31
30
  },
32
- "./dependencies": {
33
- "types": "./dist/dependencies.d.ts",
34
- "import": "./dist/dependencies.js",
35
- "default": "./dist/dependencies.js"
36
- },
37
31
  "./types": {
38
32
  "types": "./dist/types.d.ts",
39
33
  "import": "./dist/types.js",
@@ -43,42 +37,42 @@
43
37
  "main": "./dist/index.js",
44
38
  "module": "./dist/index.js",
45
39
  "types": "./dist/index.d.ts",
46
- "files": [
47
- "dist",
48
- "LICENSE"
49
- ],
50
40
  "dependencies": {
51
- "@cspell/eslint-plugin": "^9.3.2",
52
- "@eslint-react/eslint-plugin": "^2.3.9",
53
- "@eslint/js": "^9.39.1",
41
+ "@cspell/eslint-plugin": "^9.6.2",
42
+ "@eslint-react/eslint-plugin": "^2.7.4",
43
+ "@eslint/js": "^9.39.2",
54
44
  "@eslint/json": "^0.14.0",
55
45
  "@eslint/markdown": "^7.5.1",
56
- "@typescript-eslint/parser": "^8.48.0",
57
- "astro-eslint-parser": "^1.2.2",
46
+ "@typescript-eslint/parser": "^8.54.0",
58
47
  "eslint-config-prettier": "^10.1.8",
59
- "eslint-plugin-astro": "^1.5.0",
60
48
  "eslint-plugin-import": "^2.32.0",
61
- "eslint-plugin-jsdoc": "^61.4.1",
49
+ "eslint-plugin-jsdoc": "^62.4.1",
62
50
  "eslint-plugin-jsx-a11y": "^6.10.2",
63
51
  "eslint-plugin-node-dependencies": "^1.3.0",
64
- "eslint-plugin-package-json": "^0.85.0",
65
- "eslint-plugin-prettier": "^5.5.4",
52
+ "eslint-plugin-package-json": "^0.88.2",
53
+ "eslint-plugin-prettier": "^5.5.5",
66
54
  "eslint-plugin-simple-import-sort": "^12.1.1",
67
55
  "eslint-plugin-unicorn": "^62.0.0",
68
- "globals": "^16.5.0",
69
- "jsonc-eslint-parser": "^2.4.1",
70
- "tslib": "^2.8.1",
71
- "typescript-eslint": "^8.48.0"
56
+ "eslint-plugin-vuoto": "^0.1.1",
57
+ "globals": "^17.1.0",
58
+ "jsonc-eslint-parser": "^2.4.2",
59
+ "typescript-eslint": "^8.54.0"
72
60
  },
73
61
  "devDependencies": {
74
- "@types/node": "24.10.1",
75
- "eslint": "^9.39.1",
76
- "typescript": "^5.9.3"
62
+ "@types/node": "^25.0.10",
63
+ "eslint": "^9.39.2",
64
+ "rolldown": "1.0.0-rc.1",
65
+ "typescript": "5.9.2",
66
+ "@spellbookx/typescript-config": "0.7.1"
77
67
  },
78
68
  "peerDependencies": {
79
- "eslint": "^9.39.1"
69
+ "eslint": "^9.39.2"
80
70
  },
81
71
  "publishConfig": {
82
72
  "access": "public"
73
+ },
74
+ "scripts": {
75
+ "build": "rolldown -c",
76
+ "postbuild": "tsc"
83
77
  }
84
78
  }
@@ -0,0 +1,31 @@
1
+ import { defineConfig } from 'rolldown';
2
+
3
+ const esmBanner = `
4
+ import { fileURLToPath as _fileURLToPath } from 'node:url';
5
+ import { dirname } from 'node:path';
6
+ import { createRequire as _createRequire } from 'node:module';
7
+
8
+ const __filename = _fileURLToPath(import.meta.url);
9
+ const __dirname = dirname(__filename);
10
+ const require = _createRequire(import.meta.url);
11
+ `;
12
+
13
+ export default defineConfig([
14
+ {
15
+ input: ['src/index.ts', 'src/types.ts'],
16
+ output: {
17
+ format: 'esm',
18
+ dir: 'dist',
19
+ entryFileNames: '[name].js',
20
+ chunkFileNames: '[name]-[hash].js',
21
+ assetFileNames: '[name]-[hash][extname]',
22
+ banner: esmBanner,
23
+ },
24
+ platform: 'node',
25
+ external: (id) => {
26
+ if (id.startsWith('node:')) return true;
27
+ if (id.startsWith('.') || id.startsWith('/')) return false;
28
+ return true;
29
+ },
30
+ },
31
+ ]);