create-vite-extra 4.1.0 → 4.1.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 (36) hide show
  1. package/README.md +4 -10
  2. package/index.js +34 -12
  3. package/package.json +3 -2
  4. package/template-deno-lit/deno.json +1 -1
  5. package/template-deno-lit-ts/deno.json +1 -1
  6. package/template-deno-preact/deno.json +2 -2
  7. package/template-deno-preact-ts/deno.json +2 -2
  8. package/template-deno-react/deno.json +6 -6
  9. package/template-deno-react-ts/deno.json +6 -6
  10. package/template-deno-solid/deno.json +3 -3
  11. package/template-deno-solid-ts/deno.json +3 -3
  12. package/template-deno-svelte/deno.json +3 -3
  13. package/template-deno-svelte-ts/deno.json +3 -3
  14. package/template-deno-vanilla/deno.json +1 -1
  15. package/template-deno-vanilla-ts/deno.json +1 -1
  16. package/template-deno-vue/deno.json +3 -3
  17. package/template-deno-vue-ts/deno.json +3 -3
  18. package/template-library/package.json +1 -1
  19. package/template-library-ts/package.json +2 -2
  20. package/template-ssr-preact/package.json +5 -5
  21. package/template-ssr-preact-ts/package.json +8 -8
  22. package/template-ssr-react/package.json +8 -8
  23. package/template-ssr-react-streaming/package.json +6 -6
  24. package/template-ssr-react-streaming-ts/package.json +11 -11
  25. package/template-ssr-react-ts/package.json +11 -11
  26. package/template-ssr-solid/package.json +5 -5
  27. package/template-ssr-solid-ts/package.json +7 -7
  28. package/template-ssr-svelte/package.json +5 -5
  29. package/template-ssr-svelte-ts/package.json +10 -10
  30. package/template-ssr-transform/package.json +1 -1
  31. package/template-ssr-vanilla/package.json +3 -3
  32. package/template-ssr-vanilla-ts/package.json +6 -6
  33. package/template-ssr-vue/package.json +5 -5
  34. package/template-ssr-vue-streaming/package.json +5 -5
  35. package/template-ssr-vue-streaming-ts/package.json +9 -9
  36. package/template-ssr-vue-ts/package.json +9 -9
package/README.md CHANGED
@@ -26,7 +26,7 @@ $ pnpm create vite-extra
26
26
  With Deno:
27
27
 
28
28
  ```bash
29
- $ deno run -A npm:create-vite-extra
29
+ $ deno init --npm vite-extra
30
30
  ```
31
31
 
32
32
  With Bun:
@@ -50,7 +50,7 @@ yarn create vite-extra my-vue-app --template ssr-vue
50
50
  pnpm create vite-extra my-vue-app --template ssr-vue
51
51
 
52
52
  # Deno
53
- deno run -A npm:create-vite-extra --template deno-vue
53
+ deno init --npm vite-extra my-vue-app --template deno-vue
54
54
 
55
55
  # Bun
56
56
  bun create vite-extra my-vue-app --template ssr-vue
@@ -100,22 +100,16 @@ You can use `.` for the project name to scaffold in the current directory.
100
100
 
101
101
  ## Community Templates
102
102
 
103
- create-vite-extra is a tool to quickly start a project from a basic template for popular frameworks. Check out Awesome Vite for [community maintained templates](https://github.com/vitejs/awesome-vite#templates) that include other tools or target different frameworks. You can use a tool like [degit](https://github.com/Rich-Harris/degit) to scaffold your project with one of the templates.
103
+ create-vite-extra is a tool to quickly start a project from a basic template for popular frameworks. Check out Awesome Vite for [community maintained templates](https://github.com/vitejs/awesome-vite#templates) that include other tools or target different frameworks. You can use a tool like [tiged](https://github.com/tiged/tiged) to scaffold your project with one of the templates.
104
104
 
105
105
  ```bash
106
- npx degit user/project my-project
106
+ npx tiged user/project my-project
107
107
  cd my-project
108
108
 
109
109
  npm install
110
110
  npm run dev
111
111
  ```
112
112
 
113
- If the project uses `main` as the default branch, suffix the project repo with `#main`
114
-
115
- ```bash
116
- npx degit user/project#main my-project
117
- ```
118
-
119
113
  ## Attribution
120
114
 
121
115
  This project is originally a fork of [create-vite](https://github.com/vitejs/vite/tree/main/packages/create-vite). Credit goes to all of its contributors.
package/index.js CHANGED
@@ -29,6 +29,15 @@ const argv = minimist(process.argv.slice(2), {
29
29
  })
30
30
  const cwd = process.cwd()
31
31
 
32
+ /**
33
+ * @typedef {Object} Framework
34
+ * @property {string} name
35
+ * @property {string} [display]
36
+ * @property {(typeof colors.blue)} color
37
+ * @property {Framework[]} [variants]
38
+ */
39
+
40
+ /** @type {Framework[]} */
32
41
  const FRAMEWORKS = [
33
42
  {
34
43
  name: 'ssr-vanilla',
@@ -338,6 +347,10 @@ const FRAMEWORKS = [
338
347
  },
339
348
  ]
340
349
 
350
+ /**
351
+ * @param {Framework} framework
352
+ * @return {string[]}
353
+ */
341
354
  function flattenVariants(framework) {
342
355
  if (framework.variants) {
343
356
  return framework.variants.flatMap((variant) => flattenVariants(variant))
@@ -347,19 +360,19 @@ function flattenVariants(framework) {
347
360
 
348
361
  const TEMPLATES = FRAMEWORKS.flatMap(flattenVariants)
349
362
 
363
+ /** @type {Record<string, string>} */
350
364
  const renameFiles = {
351
365
  _gitignore: '.gitignore',
352
366
  }
353
367
 
354
368
  async function init() {
355
- /** @type {string} */
356
- // @ts-ignore
357
- let targetDir = formatTargetDir(argv._[0])
369
+ let targetDir = /** @type {string} */ (formatTargetDir(argv._[0]))
358
370
  const argTemplate = argv.template || argv.t
359
371
 
360
372
  const defaultTargetDir = 'vite-project'
361
373
  const getProjectName = () => path.basename(path.resolve(targetDir))
362
374
 
375
+ /** @type {Record<string, any>} */
363
376
  let result = {}
364
377
 
365
378
  try {
@@ -390,7 +403,7 @@ async function init() {
390
403
  ` is not empty. Remove existing files and continue?`,
391
404
  },
392
405
  {
393
- // @ts-ignore
406
+ // @ts-expect-error
394
407
  type: (_, { overwrite } = {}) => {
395
408
  if (overwrite === false) {
396
409
  throw new Error(red('✖') + ' Operation cancelled')
@@ -428,13 +441,14 @@ async function init() {
428
441
  },
429
442
  // Variant 1
430
443
  {
444
+ /** @param {Framework} framework */
431
445
  type: (framework) =>
432
446
  framework && framework.variants ? 'select' : null,
433
447
  name: 'variant',
434
448
  message: reset('Select a variant:'),
435
- // @ts-ignore
449
+ /** @param {Framework} framework */
436
450
  choices: (framework) =>
437
- framework.variants.map((variant) => {
451
+ framework.variants?.map((variant) => {
438
452
  const variantColor = variant.color
439
453
  return {
440
454
  title: variantColor(variant.display || variant.name),
@@ -444,13 +458,14 @@ async function init() {
444
458
  },
445
459
  // Variant 2
446
460
  {
461
+ /** @param {Framework} framework */
447
462
  type: (framework) =>
448
463
  framework && framework.variants ? 'select' : null,
449
464
  name: 'variant',
450
465
  message: reset('Select a variant:'),
451
- // @ts-ignore
466
+ /** @param {Framework} framework */
452
467
  choices: (framework) =>
453
- framework.variants.map((variant) => {
468
+ framework.variants?.map((variant) => {
454
469
  const variantColor = variant.color
455
470
  return {
456
471
  title: variantColor(variant.display || variant.name),
@@ -465,7 +480,7 @@ async function init() {
465
480
  },
466
481
  },
467
482
  )
468
- } catch (cancelled) {
483
+ } catch (/** @type {any} */ cancelled) {
469
484
  console.log(cancelled.message)
470
485
  return
471
486
  }
@@ -497,6 +512,10 @@ async function init() {
497
512
  `template-${template}`,
498
513
  )
499
514
 
515
+ /**
516
+ * @param {string} file
517
+ * @param {string} [content]
518
+ */
500
519
  const write = (file, content) => {
501
520
  const targetPath = renameFiles[file]
502
521
  ? path.join(root, renameFiles[file])
@@ -566,6 +585,10 @@ function formatTargetDir(targetDir) {
566
585
  return targetDir?.trim().replace(/\/+$/g, '')
567
586
  }
568
587
 
588
+ /**
589
+ * @param {string} src
590
+ * @param {string} dest
591
+ */
569
592
  function copy(src, dest) {
570
593
  const stat = fs.statSync(src)
571
594
  if (stat.isDirectory()) {
@@ -652,14 +675,14 @@ function setupReactSwc(root, { isTs, isDeno }) {
652
675
  editFile(path.resolve(root, 'deno.json'), (content) => {
653
676
  return content.replace(
654
677
  /"@vitejs\/plugin-react": ".+?"/,
655
- `"@vitejs/plugin-react-swc": "npm:@vitejs/plugin-react-swc@^4.0.1"`,
678
+ `"@vitejs/plugin-react-swc": "npm:@vitejs/plugin-react-swc@^4.2.2"`,
656
679
  )
657
680
  })
658
681
  } else {
659
682
  editFile(path.resolve(root, 'package.json'), (content) => {
660
683
  return content.replace(
661
684
  /"@vitejs\/plugin-react": ".+?"/,
662
- `"@vitejs/plugin-react-swc": "^4.0.1"`,
685
+ `"@vitejs/plugin-react-swc": "^4.2.2"`,
663
686
  )
664
687
  })
665
688
  }
@@ -672,7 +695,6 @@ function setupReactSwc(root, { isTs, isDeno }) {
672
695
  }
673
696
 
674
697
  /**
675
- *
676
698
  * @param {string} file
677
699
  * @param {(content: string) => string} callback
678
700
  */
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "create-vite-extra",
3
- "version": "4.1.0",
3
+ "version": "4.1.1",
4
+ "description": "Extra Vite templates",
4
5
  "type": "module",
5
6
  "license": "MIT",
6
7
  "author": "Bjorn Lu",
@@ -34,7 +35,7 @@
34
35
  "prompts": "^2.4.2"
35
36
  },
36
37
  "devDependencies": {
37
- "prettier": "^3.6.2"
38
+ "prettier": "^3.7.4"
38
39
  },
39
40
  "scripts": {
40
41
  "format": "prettier --write .",
@@ -9,6 +9,6 @@
9
9
  "imports": {
10
10
  "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.5",
11
11
  "lit": "npm:lit@^3.2.1",
12
- "vite": "npm:vite@^7.1.5"
12
+ "vite": "npm:vite@^7.2.7"
13
13
  }
14
14
  }
@@ -10,6 +10,6 @@
10
10
  "imports": {
11
11
  "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.5",
12
12
  "lit": "npm:lit@^3.2.1",
13
- "vite": "npm:vite@^7.1.5"
13
+ "vite": "npm:vite@^7.2.7"
14
14
  }
15
15
  }
@@ -13,7 +13,7 @@
13
13
  "imports": {
14
14
  "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.5",
15
15
  "@preact/preset-vite": "npm:@preact/preset-vite@^2.10.2",
16
- "preact": "npm:preact@^10.27.2",
17
- "vite": "npm:vite@^7.1.5"
16
+ "preact": "npm:preact@^10.28.0",
17
+ "vite": "npm:vite@^7.2.7"
18
18
  }
19
19
  }
@@ -13,7 +13,7 @@
13
13
  "imports": {
14
14
  "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.5",
15
15
  "@preact/preset-vite": "npm:@preact/preset-vite@^2.10.2",
16
- "preact": "npm:preact@^10.27.2",
17
- "vite": "npm:vite@^7.1.5"
16
+ "preact": "npm:preact@^10.28.0",
17
+ "vite": "npm:vite@^7.2.7"
18
18
  }
19
19
  }
@@ -13,11 +13,11 @@
13
13
  },
14
14
  "imports": {
15
15
  "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.5",
16
- "@types/react": "npm:@types/react@^19.1.13",
17
- "@types/react-dom": "npm:@types/react-dom@^19.1.9",
18
- "@vitejs/plugin-react": "npm:@vitejs/plugin-react@^5.0.2",
19
- "react": "npm:react@^19.1.1",
20
- "react-dom": "npm:react-dom@^19.1.1",
21
- "vite": "npm:vite@^7.1.5"
16
+ "@types/react": "npm:@types/react@^19.2.7",
17
+ "@types/react-dom": "npm:@types/react-dom@^19.2.3",
18
+ "@vitejs/plugin-react": "npm:@vitejs/plugin-react@^5.1.2",
19
+ "react": "npm:react@^19.2.1",
20
+ "react-dom": "npm:react-dom@^19.2.1",
21
+ "vite": "npm:vite@^7.2.7"
22
22
  }
23
23
  }
@@ -13,11 +13,11 @@
13
13
  },
14
14
  "imports": {
15
15
  "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.5",
16
- "@types/react": "npm:@types/react@^19.1.13",
17
- "@types/react-dom": "npm:@types/react-dom@^19.1.9",
18
- "@vitejs/plugin-react": "npm:@vitejs/plugin-react@^5.0.2",
19
- "react": "npm:react@^19.1.1",
20
- "react-dom": "npm:react-dom@^19.1.1",
21
- "vite": "npm:vite@^7.1.5"
16
+ "@types/react": "npm:@types/react@^19.2.7",
17
+ "@types/react-dom": "npm:@types/react-dom@^19.2.3",
18
+ "@vitejs/plugin-react": "npm:@vitejs/plugin-react@^5.1.2",
19
+ "react": "npm:react@^19.2.1",
20
+ "react-dom": "npm:react-dom@^19.2.1",
21
+ "vite": "npm:vite@^7.2.7"
22
22
  }
23
23
  }
@@ -12,8 +12,8 @@
12
12
  },
13
13
  "imports": {
14
14
  "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.5",
15
- "solid-js": "npm:solid-js@^1.9.9",
16
- "vite": "npm:vite@^7.1.5",
17
- "vite-plugin-solid": "npm:vite-plugin-solid@^2.11.8"
15
+ "solid-js": "npm:solid-js@^1.9.10",
16
+ "vite": "npm:vite@^7.2.7",
17
+ "vite-plugin-solid": "npm:vite-plugin-solid@^2.11.10"
18
18
  }
19
19
  }
@@ -12,8 +12,8 @@
12
12
  },
13
13
  "imports": {
14
14
  "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.5",
15
- "solid-js": "npm:solid-js@^1.9.9",
16
- "vite": "npm:vite@^7.1.5",
17
- "vite-plugin-solid": "npm:vite-plugin-solid@^2.11.8"
15
+ "solid-js": "npm:solid-js@^1.9.10",
16
+ "vite": "npm:vite@^7.2.7",
17
+ "vite-plugin-solid": "npm:vite-plugin-solid@^2.11.10"
18
18
  }
19
19
  }
@@ -10,8 +10,8 @@
10
10
  },
11
11
  "imports": {
12
12
  "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.5",
13
- "@sveltejs/vite-plugin-svelte": "npm:@sveltejs/vite-plugin-svelte@^6.2.0",
14
- "svelte": "npm:svelte@^5.38.10",
15
- "vite": "npm:vite@^7.1.5"
13
+ "@sveltejs/vite-plugin-svelte": "npm:@sveltejs/vite-plugin-svelte@^6.2.1",
14
+ "svelte": "npm:svelte@^5.45.8",
15
+ "vite": "npm:vite@^7.2.7"
16
16
  }
17
17
  }
@@ -10,8 +10,8 @@
10
10
  },
11
11
  "imports": {
12
12
  "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.5",
13
- "@sveltejs/vite-plugin-svelte": "npm:@sveltejs/vite-plugin-svelte@^6.2.0",
14
- "svelte": "npm:svelte@^5.38.10",
15
- "vite": "npm:vite@^7.1.5"
13
+ "@sveltejs/vite-plugin-svelte": "npm:@sveltejs/vite-plugin-svelte@^6.2.1",
14
+ "svelte": "npm:svelte@^5.45.8",
15
+ "vite": "npm:vite@^7.2.7"
16
16
  }
17
17
  }
@@ -10,6 +10,6 @@
10
10
  },
11
11
  "imports": {
12
12
  "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.5",
13
- "vite": "npm:vite@^7.1.5"
13
+ "vite": "npm:vite@^7.2.7"
14
14
  }
15
15
  }
@@ -10,6 +10,6 @@
10
10
  },
11
11
  "imports": {
12
12
  "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.5",
13
- "vite": "npm:vite@^7.1.5"
13
+ "vite": "npm:vite@^7.2.7"
14
14
  }
15
15
  }
@@ -10,8 +10,8 @@
10
10
  },
11
11
  "imports": {
12
12
  "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.5",
13
- "@vitejs/plugin-vue": "npm:@vitejs/plugin-vue@^6.0.1",
14
- "vite": "npm:vite@^7.1.5",
15
- "vue": "npm:vue@^3.5.21"
13
+ "@vitejs/plugin-vue": "npm:@vitejs/plugin-vue@^6.0.2",
14
+ "vite": "npm:vite@^7.2.7",
15
+ "vue": "npm:vue@^3.5.25"
16
16
  }
17
17
  }
@@ -10,8 +10,8 @@
10
10
  },
11
11
  "imports": {
12
12
  "@deno/vite-plugin": "npm:@deno/vite-plugin@^1.0.5",
13
- "@vitejs/plugin-vue": "npm:@vitejs/plugin-vue@^6.0.1",
14
- "vite": "npm:vite@^7.1.5",
15
- "vue": "npm:vue@^3.5.21"
13
+ "@vitejs/plugin-vue": "npm:@vitejs/plugin-vue@^6.0.2",
14
+ "vite": "npm:vite@^7.2.7",
15
+ "vue": "npm:vue@^3.5.25"
16
16
  }
17
17
  }
@@ -20,6 +20,6 @@
20
20
  "build": "vite build"
21
21
  },
22
22
  "devDependencies": {
23
- "vite": "^7.1.5"
23
+ "vite": "^7.2.7"
24
24
  }
25
25
  }
@@ -20,7 +20,7 @@
20
20
  "build": "tsc && vite build"
21
21
  },
22
22
  "devDependencies": {
23
- "typescript": "~5.9.2",
24
- "vite": "^7.1.5"
23
+ "typescript": "~5.9.3",
24
+ "vite": "^7.2.7"
25
25
  }
26
26
  }
@@ -12,14 +12,14 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "compression": "^1.8.1",
15
- "express": "^5.1.0",
16
- "preact": "^10.27.2",
17
- "preact-render-to-string": "^6.6.1",
15
+ "express": "^5.2.1",
16
+ "preact": "^10.28.0",
17
+ "preact-render-to-string": "^6.6.3",
18
18
  "sirv": "^3.0.2"
19
19
  },
20
20
  "devDependencies": {
21
21
  "@preact/preset-vite": "^2.10.2",
22
- "cross-env": "^10.0.0",
23
- "vite": "^7.1.5"
22
+ "cross-env": "^10.1.0",
23
+ "vite": "^7.2.7"
24
24
  }
25
25
  }
@@ -12,17 +12,17 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "compression": "^1.8.1",
15
- "express": "^5.1.0",
16
- "preact": "^10.27.2",
17
- "preact-render-to-string": "^6.6.1",
15
+ "express": "^5.2.1",
16
+ "preact": "^10.28.0",
17
+ "preact-render-to-string": "^6.6.3",
18
18
  "sirv": "^3.0.2"
19
19
  },
20
20
  "devDependencies": {
21
21
  "@preact/preset-vite": "^2.10.2",
22
- "@types/express": "^5.0.3",
23
- "@types/node": "^24.5.1",
24
- "cross-env": "^10.0.0",
25
- "typescript": "~5.9.2",
26
- "vite": "^7.1.5"
22
+ "@types/express": "^5.0.6",
23
+ "@types/node": "^24.10.2",
24
+ "cross-env": "^10.1.0",
25
+ "typescript": "~5.9.3",
26
+ "vite": "^7.2.7"
27
27
  }
28
28
  }
@@ -12,16 +12,16 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "compression": "^1.8.1",
15
- "express": "^5.1.0",
16
- "react": "^19.1.1",
17
- "react-dom": "^19.1.1",
15
+ "express": "^5.2.1",
16
+ "react": "^19.2.1",
17
+ "react-dom": "^19.2.1",
18
18
  "sirv": "^3.0.2"
19
19
  },
20
20
  "devDependencies": {
21
- "@types/react": "^19.1.13",
22
- "@types/react-dom": "^19.1.9",
23
- "@vitejs/plugin-react": "^5.0.2",
24
- "cross-env": "^10.0.0",
25
- "vite": "^7.1.5"
21
+ "@types/react": "^19.2.7",
22
+ "@types/react-dom": "^19.2.3",
23
+ "@vitejs/plugin-react": "^5.1.2",
24
+ "cross-env": "^10.1.0",
25
+ "vite": "^7.2.7"
26
26
  }
27
27
  }
@@ -12,14 +12,14 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "compression": "^1.8.1",
15
- "express": "^5.1.0",
16
- "react": "^19.1.1",
17
- "react-dom": "^19.1.1",
15
+ "express": "^5.2.1",
16
+ "react": "^19.2.1",
17
+ "react-dom": "^19.2.1",
18
18
  "sirv": "^3.0.2"
19
19
  },
20
20
  "devDependencies": {
21
- "@vitejs/plugin-react": "^5.0.2",
22
- "cross-env": "^10.0.0",
23
- "vite": "^7.1.5"
21
+ "@vitejs/plugin-react": "^5.1.2",
22
+ "cross-env": "^10.1.0",
23
+ "vite": "^7.2.7"
24
24
  }
25
25
  }
@@ -12,19 +12,19 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "compression": "^1.8.1",
15
- "express": "^5.1.0",
16
- "react": "^19.1.1",
17
- "react-dom": "^19.1.1",
15
+ "express": "^5.2.1",
16
+ "react": "^19.2.1",
17
+ "react-dom": "^19.2.1",
18
18
  "sirv": "^3.0.2"
19
19
  },
20
20
  "devDependencies": {
21
- "@types/express": "^5.0.3",
22
- "@types/node": "^24.5.1",
23
- "@types/react": "^19.1.13",
24
- "@types/react-dom": "^19.1.9",
25
- "@vitejs/plugin-react": "^5.0.2",
26
- "cross-env": "^10.0.0",
27
- "typescript": "~5.9.2",
28
- "vite": "^7.1.5"
21
+ "@types/express": "^5.0.6",
22
+ "@types/node": "^24.10.2",
23
+ "@types/react": "^19.2.7",
24
+ "@types/react-dom": "^19.2.3",
25
+ "@vitejs/plugin-react": "^5.1.2",
26
+ "cross-env": "^10.1.0",
27
+ "typescript": "~5.9.3",
28
+ "vite": "^7.2.7"
29
29
  }
30
30
  }
@@ -12,19 +12,19 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "compression": "^1.8.1",
15
- "express": "^5.1.0",
16
- "react": "^19.1.1",
17
- "react-dom": "^19.1.1",
15
+ "express": "^5.2.1",
16
+ "react": "^19.2.1",
17
+ "react-dom": "^19.2.1",
18
18
  "sirv": "^3.0.2"
19
19
  },
20
20
  "devDependencies": {
21
- "@types/express": "^5.0.3",
22
- "@types/node": "^24.5.1",
23
- "@types/react": "^19.1.13",
24
- "@types/react-dom": "^19.1.9",
25
- "@vitejs/plugin-react": "^5.0.2",
26
- "cross-env": "^10.0.0",
27
- "typescript": "~5.9.2",
28
- "vite": "^7.1.5"
21
+ "@types/express": "^5.0.6",
22
+ "@types/node": "^24.10.2",
23
+ "@types/react": "^19.2.7",
24
+ "@types/react-dom": "^19.2.3",
25
+ "@vitejs/plugin-react": "^5.1.2",
26
+ "cross-env": "^10.1.0",
27
+ "typescript": "~5.9.3",
28
+ "vite": "^7.2.7"
29
29
  }
30
30
  }
@@ -12,13 +12,13 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "compression": "^1.8.1",
15
- "express": "^5.1.0",
15
+ "express": "^5.2.1",
16
16
  "sirv": "^3.0.2",
17
- "solid-js": "^1.9.9"
17
+ "solid-js": "^1.9.10"
18
18
  },
19
19
  "devDependencies": {
20
- "cross-env": "^10.0.0",
21
- "vite": "^7.1.5",
22
- "vite-plugin-solid": "^2.11.8"
20
+ "cross-env": "^10.1.0",
21
+ "vite": "^7.2.7",
22
+ "vite-plugin-solid": "^2.11.10"
23
23
  }
24
24
  }
@@ -12,15 +12,15 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "compression": "^1.8.1",
15
- "express": "^5.1.0",
15
+ "express": "^5.2.1",
16
16
  "sirv": "^3.0.2",
17
- "solid-js": "^1.9.9"
17
+ "solid-js": "^1.9.10"
18
18
  },
19
19
  "devDependencies": {
20
- "@types/express": "^5.0.3",
21
- "@types/node": "^24.5.1",
22
- "cross-env": "^10.0.0",
23
- "vite": "^7.1.5",
24
- "vite-plugin-solid": "^2.11.8"
20
+ "@types/express": "^5.0.6",
21
+ "@types/node": "^24.10.2",
22
+ "cross-env": "^10.1.0",
23
+ "vite": "^7.2.7",
24
+ "vite-plugin-solid": "^2.11.10"
25
25
  }
26
26
  }
@@ -12,13 +12,13 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "compression": "^1.8.1",
15
- "express": "^5.1.0",
15
+ "express": "^5.2.1",
16
16
  "sirv": "^3.0.2"
17
17
  },
18
18
  "devDependencies": {
19
- "@sveltejs/vite-plugin-svelte": "^6.2.0",
20
- "cross-env": "^10.0.0",
21
- "svelte": "^5.38.10",
22
- "vite": "^7.1.5"
19
+ "@sveltejs/vite-plugin-svelte": "^6.2.1",
20
+ "cross-env": "^10.1.0",
21
+ "svelte": "^5.45.8",
22
+ "vite": "^7.2.7"
23
23
  }
24
24
  }
@@ -13,19 +13,19 @@
13
13
  },
14
14
  "dependencies": {
15
15
  "compression": "^1.8.1",
16
- "express": "^5.1.0",
16
+ "express": "^5.2.1",
17
17
  "sirv": "^3.0.2"
18
18
  },
19
19
  "devDependencies": {
20
- "@sveltejs/vite-plugin-svelte": "^6.2.0",
21
- "@tsconfig/svelte": "^5.0.5",
22
- "@types/express": "^5.0.3",
23
- "@types/node": "^24.5.1",
24
- "cross-env": "^10.0.0",
25
- "svelte": "^5.38.10",
26
- "svelte-check": "^4.3.1",
20
+ "@sveltejs/vite-plugin-svelte": "^6.2.1",
21
+ "@tsconfig/svelte": "^5.0.6",
22
+ "@types/express": "^5.0.6",
23
+ "@types/node": "^24.10.2",
24
+ "cross-env": "^10.1.0",
25
+ "svelte": "^5.45.8",
26
+ "svelte-check": "^4.3.4",
27
27
  "tslib": "^2.8.1",
28
- "typescript": "~5.9.2",
29
- "vite": "^7.1.5"
28
+ "typescript": "~5.9.3",
29
+ "vite": "^7.2.7"
30
30
  }
31
31
  }
@@ -7,6 +7,6 @@
7
7
  "test": "node test"
8
8
  },
9
9
  "devDependencies": {
10
- "vite": "^7.1.5"
10
+ "vite": "^7.2.7"
11
11
  }
12
12
  }
@@ -12,11 +12,11 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "compression": "^1.8.1",
15
- "express": "^5.1.0",
15
+ "express": "^5.2.1",
16
16
  "sirv": "^3.0.2"
17
17
  },
18
18
  "devDependencies": {
19
- "cross-env": "^10.0.0",
20
- "vite": "^7.1.5"
19
+ "cross-env": "^10.1.0",
20
+ "vite": "^7.2.7"
21
21
  }
22
22
  }
@@ -12,14 +12,14 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "compression": "^1.8.1",
15
- "express": "^5.1.0",
15
+ "express": "^5.2.1",
16
16
  "sirv": "^3.0.2"
17
17
  },
18
18
  "devDependencies": {
19
- "@types/express": "^5.0.3",
20
- "@types/node": "^24.5.1",
21
- "cross-env": "^10.0.0",
22
- "typescript": "~5.9.2",
23
- "vite": "^7.1.5"
19
+ "@types/express": "^5.0.6",
20
+ "@types/node": "^24.10.2",
21
+ "cross-env": "^10.1.0",
22
+ "typescript": "~5.9.3",
23
+ "vite": "^7.2.7"
24
24
  }
25
25
  }
@@ -12,13 +12,13 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "compression": "^1.8.1",
15
- "express": "^5.1.0",
15
+ "express": "^5.2.1",
16
16
  "sirv": "^3.0.2",
17
- "vue": "^3.5.21"
17
+ "vue": "^3.5.25"
18
18
  },
19
19
  "devDependencies": {
20
- "@vitejs/plugin-vue": "^6.0.1",
21
- "cross-env": "^10.0.0",
22
- "vite": "^7.1.5"
20
+ "@vitejs/plugin-vue": "^6.0.2",
21
+ "cross-env": "^10.1.0",
22
+ "vite": "^7.2.7"
23
23
  }
24
24
  }
@@ -12,13 +12,13 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "compression": "^1.8.1",
15
- "express": "^5.1.0",
15
+ "express": "^5.2.1",
16
16
  "sirv": "^3.0.2",
17
- "vue": "^3.5.21"
17
+ "vue": "^3.5.25"
18
18
  },
19
19
  "devDependencies": {
20
- "@vitejs/plugin-vue": "^6.0.1",
21
- "cross-env": "^10.0.0",
22
- "vite": "^7.1.5"
20
+ "@vitejs/plugin-vue": "^6.0.2",
21
+ "cross-env": "^10.1.0",
22
+ "vite": "^7.2.7"
23
23
  }
24
24
  }
@@ -12,17 +12,17 @@
12
12
  },
13
13
  "dependencies": {
14
14
  "compression": "^1.8.1",
15
- "express": "^5.1.0",
15
+ "express": "^5.2.1",
16
16
  "sirv": "^3.0.2",
17
- "vue": "^3.5.21"
17
+ "vue": "^3.5.25"
18
18
  },
19
19
  "devDependencies": {
20
- "@types/express": "^5.0.3",
21
- "@types/node": "^24.5.1",
22
- "@vitejs/plugin-vue": "^6.0.1",
23
- "cross-env": "^10.0.0",
24
- "typescript": "~5.9.2",
25
- "vite": "^7.1.5",
26
- "vue-tsc": "^3.0.7"
20
+ "@types/express": "^5.0.6",
21
+ "@types/node": "^24.10.2",
22
+ "@vitejs/plugin-vue": "^6.0.2",
23
+ "cross-env": "^10.1.0",
24
+ "typescript": "~5.9.3",
25
+ "vite": "^7.2.7",
26
+ "vue-tsc": "^3.1.7"
27
27
  }
28
28
  }
@@ -13,17 +13,17 @@
13
13
  },
14
14
  "dependencies": {
15
15
  "compression": "^1.8.1",
16
- "express": "^5.1.0",
16
+ "express": "^5.2.1",
17
17
  "sirv": "^3.0.2",
18
- "vue": "^3.5.21"
18
+ "vue": "^3.5.25"
19
19
  },
20
20
  "devDependencies": {
21
- "@types/express": "^5.0.3",
22
- "@types/node": "^24.5.1",
23
- "@vitejs/plugin-vue": "^6.0.1",
24
- "cross-env": "^10.0.0",
25
- "typescript": "~5.9.2",
26
- "vite": "^7.1.5",
27
- "vue-tsc": "^3.0.7"
21
+ "@types/express": "^5.0.6",
22
+ "@types/node": "^24.10.2",
23
+ "@vitejs/plugin-vue": "^6.0.2",
24
+ "cross-env": "^10.1.0",
25
+ "typescript": "~5.9.3",
26
+ "vite": "^7.2.7",
27
+ "vue-tsc": "^3.1.7"
28
28
  }
29
29
  }