eslint-plugin-spellbookx 0.3.3 → 0.7.0

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 (88) 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/javascript.d.ts +1 -2
  7. package/dist/configs/javascript.d.ts.map +1 -1
  8. package/dist/configs/json.d.ts +2 -3
  9. package/dist/configs/json.d.ts.map +1 -1
  10. package/dist/configs/markdown.d.ts +2 -3
  11. package/dist/configs/markdown.d.ts.map +1 -1
  12. package/dist/configs/recommended.d.ts +3 -0
  13. package/dist/configs/recommended.d.ts.map +1 -0
  14. package/dist/configs/vuoto.d.ts +3 -0
  15. package/dist/configs/vuoto.d.ts.map +1 -0
  16. package/dist/index.d.ts +1 -1
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +484 -43
  19. package/dist/types.d.ts +1 -1
  20. package/dist/types.d.ts.map +1 -1
  21. package/dist/types.js +10 -1
  22. package/package.json +27 -33
  23. package/rolldown.config.ts +31 -0
  24. package/src/configs/cspell.ts +9 -0
  25. package/src/configs/ignores.ts +96 -0
  26. package/src/configs/javascript.ts +322 -0
  27. package/src/configs/json.ts +57 -0
  28. package/src/configs/markdown.ts +15 -0
  29. package/src/configs/recommended.ts +20 -0
  30. package/src/configs/vuoto.ts +12 -0
  31. package/{dist/helpers.js → src/helpers.ts} +6 -1
  32. package/src/index.ts +38 -0
  33. package/src/types.ts +8 -0
  34. package/tsconfig.json +10 -0
  35. package/dist/configs/astro.d.ts +0 -4
  36. package/dist/configs/astro.d.ts.map +0 -1
  37. package/dist/configs/astro.js +0 -67
  38. package/dist/configs/cspell.js +0 -10
  39. package/dist/configs/ignores.js +0 -88
  40. package/dist/configs/index.d.ts +0 -15
  41. package/dist/configs/index.d.ts.map +0 -1
  42. package/dist/configs/index.js +0 -14
  43. package/dist/configs/javascript.js +0 -79
  44. package/dist/configs/json.js +0 -57
  45. package/dist/configs/markdown.js +0 -21
  46. package/dist/configs/prettier.d.ts +0 -4
  47. package/dist/configs/prettier.d.ts.map +0 -1
  48. package/dist/configs/prettier.js +0 -19
  49. package/dist/configs/react.d.ts +0 -4
  50. package/dist/configs/react.d.ts.map +0 -1
  51. package/dist/configs/react.js +0 -61
  52. package/dist/configs/recommended/astro.d.ts +0 -4
  53. package/dist/configs/recommended/astro.d.ts.map +0 -1
  54. package/dist/configs/recommended/astro.js +0 -18
  55. package/dist/configs/recommended/index.d.ts +0 -7
  56. package/dist/configs/recommended/index.d.ts.map +0 -1
  57. package/dist/configs/recommended/index.js +0 -6
  58. package/dist/configs/recommended/no-spellcheck-astro.d.ts +0 -4
  59. package/dist/configs/recommended/no-spellcheck-astro.d.ts.map +0 -1
  60. package/dist/configs/recommended/no-spellcheck-astro.js +0 -16
  61. package/dist/configs/recommended/no-spellcheck-react.d.ts +0 -4
  62. package/dist/configs/recommended/no-spellcheck-react.d.ts.map +0 -1
  63. package/dist/configs/recommended/no-spellcheck-react.js +0 -14
  64. package/dist/configs/recommended/no-spellcheck.d.ts +0 -4
  65. package/dist/configs/recommended/no-spellcheck.d.ts.map +0 -1
  66. package/dist/configs/recommended/no-spellcheck.js +0 -14
  67. package/dist/configs/recommended/react.d.ts +0 -4
  68. package/dist/configs/recommended/react.d.ts.map +0 -1
  69. package/dist/configs/recommended/react.js +0 -16
  70. package/dist/configs/recommended/recommended.d.ts +0 -4
  71. package/dist/configs/recommended/recommended.d.ts.map +0 -1
  72. package/dist/configs/recommended/recommended.js +0 -22
  73. package/dist/dependencies.d.ts +0 -3
  74. package/dist/dependencies.d.ts.map +0 -1
  75. package/dist/dependencies.js +0 -4
  76. package/dist/shared-rules/index.d.ts +0 -4
  77. package/dist/shared-rules/index.d.ts.map +0 -1
  78. package/dist/shared-rules/index.js +0 -3
  79. package/dist/shared-rules/js-common.d.ts +0 -25
  80. package/dist/shared-rules/js-common.d.ts.map +0 -1
  81. package/dist/shared-rules/js-common.js +0 -50
  82. package/dist/shared-rules/js-imports-exports.d.ts +0 -16
  83. package/dist/shared-rules/js-imports-exports.d.ts.map +0 -1
  84. package/dist/shared-rules/js-imports-exports.js +0 -191
  85. package/dist/shared-rules/jsdoc.d.ts +0 -23
  86. package/dist/shared-rules/jsdoc.d.ts.map +0 -1
  87. package/dist/shared-rules/jsdoc.js +0 -62
  88. package/dist/tsconfig.lib.tsbuildinfo +0 -1
package/dist/index.js CHANGED
@@ -1,47 +1,488 @@
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
+ ])]);
114
+ var ignores_default = configIgnores;
115
+
116
+ //#endregion
117
+ //#region src/configs/javascript.ts
118
+ const configJavascript = defineConfig([
119
+ {
120
+ files: ["**/*.{js,jsx,mjs,cjs,ts,tsx,mts,cts}"],
121
+ plugins: {
122
+ jsdoc,
123
+ import: importPlugin,
124
+ prettier: prettierPlugin,
125
+ "simple-import-sort": simpleImportSort
126
+ },
127
+ extends: [
128
+ js.configs.recommended,
129
+ ...tseslint.configs.recommended,
130
+ unicorn.configs.recommended
131
+ ],
132
+ rules: {
133
+ "prettier/prettier": "error",
134
+ "no-unused-vars": "off",
135
+ "@typescript-eslint/no-unused-vars": ["error", {
136
+ argsIgnorePattern: "^_",
137
+ varsIgnorePattern: "^_"
138
+ }],
139
+ "sort-imports": "off",
140
+ "simple-import-sort/exports": "error",
141
+ "simple-import-sort/imports": ["error", { groups: [
142
+ ["^@dotenvx/dotenvx", "^dotenv"],
143
+ [String.raw`^\u0000`],
144
+ ["^@env"],
145
+ [
146
+ "^assert",
147
+ "^buffer",
148
+ "^child_process",
149
+ "^cluster",
150
+ "^console",
151
+ "^constants",
152
+ "^crypto",
153
+ "^dgram",
154
+ "^dns",
155
+ "^domain",
156
+ "^events",
157
+ "^fs",
158
+ "^http",
159
+ "^https",
160
+ "^inspector",
161
+ "^module",
162
+ "^net",
163
+ "^os",
164
+ "^path",
165
+ "^perf_hooks",
166
+ "^process",
167
+ "^punycode",
168
+ "^querystring",
169
+ "^readline",
170
+ "^repl",
171
+ "^stream",
172
+ "^string_decoder",
173
+ "^timers",
174
+ "^tls",
175
+ "^tty",
176
+ "^url",
177
+ "^util",
178
+ "^v8",
179
+ "^vm",
180
+ "^zlib"
181
+ ],
182
+ ["^node:"],
183
+ [
184
+ "^@fastify",
185
+ "^@hapi/hapi",
186
+ "^@koa/koa",
187
+ "^@nestjs",
188
+ "^express",
189
+ "^fastify",
190
+ "^hapi",
191
+ "^koa",
192
+ "^loopback",
193
+ "^nest",
194
+ "^sails"
195
+ ],
196
+ [
197
+ "^body-parser",
198
+ "^connect-redis",
199
+ "^cookie-parser",
200
+ "^cors",
201
+ "^express-rate-limit",
202
+ "^express-session",
203
+ "^helmet",
204
+ "^morgan",
205
+ "^passport",
206
+ String.raw`^pino-`,
207
+ "^redis",
208
+ "^winston"
209
+ ],
210
+ [
211
+ "^@angular",
212
+ "^react",
213
+ "^solid-js",
214
+ "^svelte",
215
+ "^vue"
216
+ ],
217
+ [
218
+ "^@tanstack/router",
219
+ "^react-dom",
220
+ "^react-helmet",
221
+ "^react-intl",
222
+ "^react-router",
223
+ "^react-router-dom"
224
+ ],
225
+ [
226
+ "^@nuxt/kit",
227
+ "^@remix-run",
228
+ "^@sveltejs/kit",
229
+ "^gatsby",
230
+ "^next"
231
+ ],
232
+ [
233
+ "^@expo",
234
+ String.raw`^@expo\/`,
235
+ "^@react-native",
236
+ "^expo",
237
+ String.raw`^expo-`,
238
+ "^react-native",
239
+ "^react-navigation"
240
+ ],
241
+ [
242
+ "^@reduxjs/toolkit",
243
+ "^jotai",
244
+ "^mobx",
245
+ "^recoil",
246
+ "^redux",
247
+ "^valtio",
248
+ "^zustand"
249
+ ],
250
+ [
251
+ "^@apollo/client",
252
+ "^@tanstack/react-query",
253
+ "^axios",
254
+ "^graphql",
255
+ "^swr"
256
+ ],
257
+ [
258
+ "^@chakra-ui",
259
+ "^@headlessui/react",
260
+ "^@lottiefiles",
261
+ "^@material-ui",
262
+ "^@mui",
263
+ "^@nextui-org/react",
264
+ "^@radix-ui",
265
+ "^@pittorica/pitto",
266
+ "^radix-ui",
267
+ "^antd",
268
+ "^framer-motion",
269
+ "^native-base",
270
+ "^react-native-paper",
271
+ "^shadcn-ui",
272
+ "^tailwindcss"
273
+ ],
274
+ [
275
+ "^@emotion",
276
+ "^class-variance-authority",
277
+ "^clsx",
278
+ "^lucide-react",
279
+ "^styled-components",
280
+ "^tailwind-merge",
281
+ "^twin.macro",
282
+ "^tw-animate-css"
283
+ ],
284
+ [
285
+ String.raw`^@expo\/vector-icons`,
286
+ "^@fortawesome",
287
+ "^@tabler/icons-react",
288
+ "^lucide",
289
+ "^react-feather",
290
+ "^react-icons",
291
+ "^react-native-feather",
292
+ "^react-native-vector-icons"
293
+ ],
294
+ [
295
+ "^@testing-library",
296
+ "^cypress",
297
+ "^jest",
298
+ "^playwright",
299
+ "^vitest"
300
+ ],
301
+ ["^[a-z]", String.raw`^@\w`],
302
+ [
303
+ "@org/",
304
+ "^@my-org/",
305
+ "^@workspace/",
306
+ "^@repo/"
307
+ ],
308
+ [
309
+ String.raw`^.+\.(avi|mkv|mov|mp4|webm)$`,
310
+ String.raw`^.+\.(mp3|ogg|wav|weba)$`,
311
+ String.raw`^.+\.(gif|jpe?g|png|svg|webp)$`,
312
+ String.raw`^.+\.lottie$`,
313
+ String.raw`^.+\.(eot|otf|ttf|woff|woff2)$`
314
+ ],
315
+ [String.raw`^.+\.json$`],
316
+ [String.raw`^.+\.less$`, String.raw`^.+\.s?css$`],
317
+ [String.raw`^\.?\.\/`]
318
+ ] }],
319
+ "unicorn/no-null": "off",
320
+ "unicorn/prevent-abbreviations": "off"
321
+ }
322
+ },
323
+ {
324
+ files: ["**/*.{ts,js,mts,mjs,cts,cjs}"],
325
+ ignores: ["**/*.{tsx,jsx}"],
326
+ extends: [
327
+ nodeDependencies.configs["flat/recommended"],
328
+ jsdoc.configs["flat/contents-typescript-flavor"],
329
+ jsdoc.configs["flat/logical-typescript-flavor"]
330
+ ],
331
+ languageOptions: { globals: { ...globals.node } },
332
+ rules: {
333
+ "unicorn/filename-case": ["error", { case: "kebabCase" }],
334
+ "jsdoc/require-jsdoc": ["warn", { require: {
335
+ FunctionDeclaration: true,
336
+ MethodDefinition: true,
337
+ ClassDeclaration: true
338
+ } }],
339
+ "jsdoc/require-description": "warn"
340
+ }
341
+ },
342
+ {
343
+ files: ["**/*.{tsx,jsx}"],
344
+ extends: [eslintReact.configs["recommended-typescript"]],
345
+ languageOptions: {
346
+ sourceType: "module",
347
+ globals: {
348
+ ...globals.browser,
349
+ ...globals.es2022
350
+ },
351
+ parser: tseslint.parser,
352
+ parserOptions: {
353
+ projectService: true,
354
+ tsconfigRootDir: import.meta.dirname
355
+ }
356
+ },
357
+ rules: {
358
+ "unicorn/filename-case": "off",
359
+ "jsdoc/require-jsdoc": "off",
360
+ "jsdoc/require-description": "off",
361
+ "jsdoc/require-param": "off",
362
+ "jsdoc/require-returns": "off",
363
+ "jsdoc/check-tag-names": "off"
364
+ }
365
+ },
366
+ {
367
+ files: ["**/*.{cjs,cts}"],
368
+ languageOptions: { globals: { ...globals.commonjs } },
369
+ rules: {
370
+ "@typescript-eslint/no-require-imports": "off",
371
+ "unicorn/prefer-module": "off"
372
+ }
373
+ },
374
+ prettierRecommended
375
+ ]);
376
+
377
+ //#endregion
378
+ //#region src/configs/json.ts
379
+ const configJson = defineConfig([
380
+ {
381
+ files: ["**/*.json"],
382
+ plugins: { json },
383
+ language: "json/json",
384
+ extends: ["json/recommended"],
385
+ languageOptions: { parser: jsoncParser },
386
+ rules: { "prettier/prettier": "off" }
387
+ },
388
+ {
389
+ files: ["**/*.json5"],
390
+ plugins: { json },
391
+ language: "json/json5",
392
+ extends: ["json/recommended"],
393
+ languageOptions: { parser: jsoncParser }
394
+ },
395
+ {
396
+ files: [
397
+ "**/*.jsonc",
398
+ "**/tsconfig*.json",
399
+ "**/.vscode/**/*.json"
400
+ ],
401
+ plugins: { json },
402
+ language: "json/jsonc",
403
+ extends: ["json/recommended"],
404
+ languageOptions: { parser: jsoncParser }
405
+ },
406
+ {
407
+ files: ["**/package.json"],
408
+ plugins: {
409
+ json,
410
+ "package-json": packageJson
411
+ },
412
+ language: "json/json",
413
+ extends: [packageJson.configs.recommended],
414
+ languageOptions: { parser: jsoncParser },
415
+ rules: {
416
+ "package-json/order-properties": "error",
417
+ "package-json/sort-collections": "error",
418
+ "package-json/require-description": "error",
419
+ "package-json/require-bugs": "error",
420
+ "package-json/require-keywords": "error",
421
+ "package-json/require-name": "error",
422
+ "package-json/require-version": "error",
423
+ "package-json/valid-description": "error",
424
+ "package-json/valid-license": "error",
425
+ "package-json/valid-name": "error",
426
+ "package-json/valid-package-definition": "error",
427
+ "package-json/valid-version": "error",
428
+ "prettier/prettier": "off"
429
+ }
430
+ },
431
+ prettierRecommended
432
+ ]);
433
+
434
+ //#endregion
435
+ //#region src/configs/markdown.ts
436
+ const configMarkdown = defineConfig([{
437
+ files: ["**/*.md"],
438
+ plugins: { markdown },
439
+ language: "markdown/gfm",
440
+ extends: ["markdown/recommended"]
441
+ }, prettierRecommended]);
442
+
443
+ //#endregion
444
+ //#region src/configs/vuoto.ts
445
+ const configVuoto = defineConfig([{ plugins: { vuoto } }, vuoto.configs.all]);
446
+
447
+ //#endregion
448
+ //#region src/configs/recommended.ts
449
+ const configRecommended = defineConfig([
450
+ ignores_default,
451
+ configJavascript,
452
+ configJson,
453
+ configMarkdown,
454
+ configVuoto,
455
+ configCspell,
456
+ prettierRecommended
457
+ ]);
458
+
459
+ //#endregion
460
+ //#region src/helpers.ts
461
+ const packagePath = fileURLToPath(new URL("../package.json", import.meta.url));
462
+ const packageJson$1 = JSON.parse(readFileSync(packagePath, "utf8"));
463
+
464
+ //#endregion
465
+ //#region src/index.ts
15
466
  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,
467
+ cspell: configCspell,
468
+ ignores: ignores_default,
469
+ javascript: configJavascript,
470
+ json: configJson,
471
+ markdown: configMarkdown,
472
+ recommended: configRecommended,
473
+ vuoto: configVuoto
36
474
  };
37
475
  const plugin = {
38
- meta: {
39
- name: packageJson.name,
40
- version: packageJson.version,
41
- namespace: 'spellbookx',
42
- },
43
- configs,
44
- rules: {},
45
- processors: {},
476
+ meta: {
477
+ name: packageJson$1.name,
478
+ version: packageJson$1.version,
479
+ namespace: "spellbookx"
480
+ },
481
+ configs,
482
+ rules: {},
483
+ processors: {}
46
484
  };
47
- export default plugin;
485
+ var src_default = plugin;
486
+
487
+ //#endregion
488
+ 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.3",
3
+ "version": "0.7.0",
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.1",
52
- "@eslint-react/eslint-plugin": "^2.3.4",
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.46.4",
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.2.0",
49
+ "eslint-plugin-jsdoc": "^62.4.1",
62
50
  "eslint-plugin-jsx-a11y": "^6.10.2",
63
- "eslint-plugin-node-dependencies": "^1.2.0",
64
- "eslint-plugin-package-json": "^0.68.0",
65
- "eslint-plugin-prettier": "^5.5.4",
51
+ "eslint-plugin-node-dependencies": "^1.3.0",
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.46.4"
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.0"
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
+ ]);