create-vite-extra 4.0.1 → 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 +52 -17
  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 +6 -6
  21. package/template-ssr-preact-ts/package.json +9 -9
  22. package/template-ssr-react/package.json +9 -9
  23. package/template-ssr-react-streaming/package.json +7 -7
  24. package/template-ssr-react-streaming-ts/package.json +12 -12
  25. package/template-ssr-react-ts/package.json +12 -12
  26. package/template-ssr-solid/package.json +6 -6
  27. package/template-ssr-solid-ts/package.json +8 -8
  28. package/template-ssr-svelte/package.json +6 -6
  29. package/template-ssr-svelte-ts/package.json +11 -11
  30. package/template-ssr-transform/package.json +1 -1
  31. package/template-ssr-vanilla/package.json +4 -4
  32. package/template-ssr-vanilla-ts/package.json +7 -7
  33. package/template-ssr-vue/package.json +6 -6
  34. package/template-ssr-vue-streaming/package.json +6 -6
  35. package/template-ssr-vue-streaming-ts/package.json +10 -10
  36. package/template-ssr-vue-ts/package.json +10 -10
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
@@ -23,9 +23,21 @@ const {
23
23
 
24
24
  // Avoids autoconversion to number of the project name by defining that the args
25
25
  // non associated with an option ( _ ) needs to be parsed as a string. See #4606
26
- const argv = minimist(process.argv.slice(2), { string: ['_'] })
26
+ const argv = minimist(process.argv.slice(2), {
27
+ string: ['_'],
28
+ boolean: ['overwrite'],
29
+ })
27
30
  const cwd = process.cwd()
28
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[]} */
29
41
  const FRAMEWORKS = [
30
42
  {
31
43
  name: 'ssr-vanilla',
@@ -335,23 +347,32 @@ const FRAMEWORKS = [
335
347
  },
336
348
  ]
337
349
 
338
- const TEMPLATES = FRAMEWORKS.map(
339
- (f) => (f.variants && f.variants.map((v) => v.name)) || [f.name],
340
- ).reduce((a, b) => a.concat(b), [])
350
+ /**
351
+ * @param {Framework} framework
352
+ * @return {string[]}
353
+ */
354
+ function flattenVariants(framework) {
355
+ if (framework.variants) {
356
+ return framework.variants.flatMap((variant) => flattenVariants(variant))
357
+ }
358
+ return [framework.name]
359
+ }
360
+
361
+ const TEMPLATES = FRAMEWORKS.flatMap(flattenVariants)
341
362
 
363
+ /** @type {Record<string, string>} */
342
364
  const renameFiles = {
343
365
  _gitignore: '.gitignore',
344
366
  }
345
367
 
346
368
  async function init() {
347
- /** @type {string} */
348
- // @ts-ignore
349
- let targetDir = formatTargetDir(argv._[0])
369
+ let targetDir = /** @type {string} */ (formatTargetDir(argv._[0]))
350
370
  const argTemplate = argv.template || argv.t
351
371
 
352
372
  const defaultTargetDir = 'vite-project'
353
373
  const getProjectName = () => path.basename(path.resolve(targetDir))
354
374
 
375
+ /** @type {Record<string, any>} */
355
376
  let result = {}
356
377
 
357
378
  try {
@@ -368,8 +389,13 @@ async function init() {
368
389
  },
369
390
  {
370
391
  type: () =>
371
- !fs.existsSync(targetDir) || isEmpty(targetDir) ? null : 'confirm',
392
+ argv.overwrite
393
+ ? null
394
+ : !fs.existsSync(targetDir) || isEmpty(targetDir)
395
+ ? null
396
+ : 'confirm',
372
397
  name: 'overwrite',
398
+ initial: argv.overwrite ? true : false,
373
399
  message: () =>
374
400
  (targetDir === '.'
375
401
  ? 'Current directory'
@@ -377,7 +403,7 @@ async function init() {
377
403
  ` is not empty. Remove existing files and continue?`,
378
404
  },
379
405
  {
380
- // @ts-ignore
406
+ // @ts-expect-error
381
407
  type: (_, { overwrite } = {}) => {
382
408
  if (overwrite === false) {
383
409
  throw new Error(red('✖') + ' Operation cancelled')
@@ -415,13 +441,14 @@ async function init() {
415
441
  },
416
442
  // Variant 1
417
443
  {
444
+ /** @param {Framework} framework */
418
445
  type: (framework) =>
419
446
  framework && framework.variants ? 'select' : null,
420
447
  name: 'variant',
421
448
  message: reset('Select a variant:'),
422
- // @ts-ignore
449
+ /** @param {Framework} framework */
423
450
  choices: (framework) =>
424
- framework.variants.map((variant) => {
451
+ framework.variants?.map((variant) => {
425
452
  const variantColor = variant.color
426
453
  return {
427
454
  title: variantColor(variant.display || variant.name),
@@ -431,13 +458,14 @@ async function init() {
431
458
  },
432
459
  // Variant 2
433
460
  {
461
+ /** @param {Framework} framework */
434
462
  type: (framework) =>
435
463
  framework && framework.variants ? 'select' : null,
436
464
  name: 'variant',
437
465
  message: reset('Select a variant:'),
438
- // @ts-ignore
466
+ /** @param {Framework} framework */
439
467
  choices: (framework) =>
440
- framework.variants.map((variant) => {
468
+ framework.variants?.map((variant) => {
441
469
  const variantColor = variant.color
442
470
  return {
443
471
  title: variantColor(variant.display || variant.name),
@@ -452,7 +480,7 @@ async function init() {
452
480
  },
453
481
  },
454
482
  )
455
- } catch (cancelled) {
483
+ } catch (/** @type {any} */ cancelled) {
456
484
  console.log(cancelled.message)
457
485
  return
458
486
  }
@@ -484,6 +512,10 @@ async function init() {
484
512
  `template-${template}`,
485
513
  )
486
514
 
515
+ /**
516
+ * @param {string} file
517
+ * @param {string} [content]
518
+ */
487
519
  const write = (file, content) => {
488
520
  const targetPath = renameFiles[file]
489
521
  ? path.join(root, renameFiles[file])
@@ -553,6 +585,10 @@ function formatTargetDir(targetDir) {
553
585
  return targetDir?.trim().replace(/\/+$/g, '')
554
586
  }
555
587
 
588
+ /**
589
+ * @param {string} src
590
+ * @param {string} dest
591
+ */
556
592
  function copy(src, dest) {
557
593
  const stat = fs.statSync(src)
558
594
  if (stat.isDirectory()) {
@@ -639,14 +675,14 @@ function setupReactSwc(root, { isTs, isDeno }) {
639
675
  editFile(path.resolve(root, 'deno.json'), (content) => {
640
676
  return content.replace(
641
677
  /"@vitejs\/plugin-react": ".+?"/,
642
- `"@vitejs/plugin-react-swc": "npm:@vitejs/plugin-react-swc@^3.10.2"`,
678
+ `"@vitejs/plugin-react-swc": "npm:@vitejs/plugin-react-swc@^4.2.2"`,
643
679
  )
644
680
  })
645
681
  } else {
646
682
  editFile(path.resolve(root, 'package.json'), (content) => {
647
683
  return content.replace(
648
684
  /"@vitejs\/plugin-react": ".+?"/,
649
- `"@vitejs/plugin-react-swc": "^3.10.2"`,
685
+ `"@vitejs/plugin-react-swc": "^4.2.2"`,
650
686
  )
651
687
  })
652
688
  }
@@ -659,7 +695,6 @@ function setupReactSwc(root, { isTs, isDeno }) {
659
695
  }
660
696
 
661
697
  /**
662
- *
663
698
  * @param {string} file
664
699
  * @param {(content: string) => string} callback
665
700
  */
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "create-vite-extra",
3
- "version": "4.0.1",
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.0.6"
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.0.6"
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.0",
17
- "vite": "npm:vite@^7.0.6"
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.0",
17
- "vite": "npm:vite@^7.0.6"
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.9",
17
- "@types/react-dom": "npm:@types/react-dom@^19.1.7",
18
- "@vitejs/plugin-react": "npm:@vitejs/plugin-react@^4.7.0",
19
- "react": "npm:react@^19.1.1",
20
- "react-dom": "npm:react-dom@^19.1.1",
21
- "vite": "npm:vite@^7.0.6"
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.9",
17
- "@types/react-dom": "npm:@types/react-dom@^19.1.7",
18
- "@vitejs/plugin-react": "npm:@vitejs/plugin-react@^4.7.0",
19
- "react": "npm:react@^19.1.1",
20
- "react-dom": "npm:react-dom@^19.1.1",
21
- "vite": "npm:vite@^7.0.6"
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.7",
16
- "vite": "npm:vite@^7.0.6",
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.7",
16
- "vite": "npm:vite@^7.0.6",
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.1.0",
14
- "svelte": "npm:svelte@^5.37.3",
15
- "vite": "npm:vite@^7.0.6"
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.1.0",
14
- "svelte": "npm:svelte@^5.37.3",
15
- "vite": "npm:vite@^7.0.6"
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.0.6"
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.0.6"
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.0.6",
15
- "vue": "npm:vue@^3.5.18"
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.0.6",
15
- "vue": "npm:vue@^3.5.18"
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.0.6"
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.0.6"
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.0",
17
- "preact-render-to-string": "^6.5.13",
18
- "sirv": "^3.0.1"
15
+ "express": "^5.2.1",
16
+ "preact": "^10.28.0",
17
+ "preact-render-to-string": "^6.6.3",
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.0.6"
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.0",
17
- "preact-render-to-string": "^6.5.13",
18
- "sirv": "^3.0.1"
15
+ "express": "^5.2.1",
16
+ "preact": "^10.28.0",
17
+ "preact-render-to-string": "^6.6.3",
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.1.0",
24
- "cross-env": "^10.0.0",
25
- "typescript": "~5.9.2",
26
- "vite": "^7.0.6"
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",
18
- "sirv": "^3.0.1"
15
+ "express": "^5.2.1",
16
+ "react": "^19.2.1",
17
+ "react-dom": "^19.2.1",
18
+ "sirv": "^3.0.2"
19
19
  },
20
20
  "devDependencies": {
21
- "@types/react": "^19.1.9",
22
- "@types/react-dom": "^19.1.7",
23
- "@vitejs/plugin-react": "^4.7.0",
24
- "cross-env": "^10.0.0",
25
- "vite": "^7.0.6"
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",
18
- "sirv": "^3.0.1"
15
+ "express": "^5.2.1",
16
+ "react": "^19.2.1",
17
+ "react-dom": "^19.2.1",
18
+ "sirv": "^3.0.2"
19
19
  },
20
20
  "devDependencies": {
21
- "@vitejs/plugin-react": "^4.7.0",
22
- "cross-env": "^10.0.0",
23
- "vite": "^7.0.6"
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",
18
- "sirv": "^3.0.1"
15
+ "express": "^5.2.1",
16
+ "react": "^19.2.1",
17
+ "react-dom": "^19.2.1",
18
+ "sirv": "^3.0.2"
19
19
  },
20
20
  "devDependencies": {
21
- "@types/express": "^5.0.3",
22
- "@types/node": "^24.1.0",
23
- "@types/react": "^19.1.9",
24
- "@types/react-dom": "^19.1.7",
25
- "@vitejs/plugin-react": "^4.7.0",
26
- "cross-env": "^10.0.0",
27
- "typescript": "~5.9.2",
28
- "vite": "^7.0.6"
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",
18
- "sirv": "^3.0.1"
15
+ "express": "^5.2.1",
16
+ "react": "^19.2.1",
17
+ "react-dom": "^19.2.1",
18
+ "sirv": "^3.0.2"
19
19
  },
20
20
  "devDependencies": {
21
- "@types/express": "^5.0.3",
22
- "@types/node": "^24.1.0",
23
- "@types/react": "^19.1.9",
24
- "@types/react-dom": "^19.1.7",
25
- "@vitejs/plugin-react": "^4.7.0",
26
- "cross-env": "^10.0.0",
27
- "typescript": "~5.9.2",
28
- "vite": "^7.0.6"
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",
16
- "sirv": "^3.0.1",
17
- "solid-js": "^1.9.7"
15
+ "express": "^5.2.1",
16
+ "sirv": "^3.0.2",
17
+ "solid-js": "^1.9.10"
18
18
  },
19
19
  "devDependencies": {
20
- "cross-env": "^10.0.0",
21
- "vite": "^7.0.6",
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",
16
- "sirv": "^3.0.1",
17
- "solid-js": "^1.9.7"
15
+ "express": "^5.2.1",
16
+ "sirv": "^3.0.2",
17
+ "solid-js": "^1.9.10"
18
18
  },
19
19
  "devDependencies": {
20
- "@types/express": "^5.0.3",
21
- "@types/node": "^24.1.0",
22
- "cross-env": "^10.0.0",
23
- "vite": "^7.0.6",
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",
16
- "sirv": "^3.0.1"
15
+ "express": "^5.2.1",
16
+ "sirv": "^3.0.2"
17
17
  },
18
18
  "devDependencies": {
19
- "@sveltejs/vite-plugin-svelte": "^6.1.0",
20
- "cross-env": "^10.0.0",
21
- "svelte": "^5.37.3",
22
- "vite": "^7.0.6"
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",
17
- "sirv": "^3.0.1"
16
+ "express": "^5.2.1",
17
+ "sirv": "^3.0.2"
18
18
  },
19
19
  "devDependencies": {
20
- "@sveltejs/vite-plugin-svelte": "^6.1.0",
21
- "@tsconfig/svelte": "^5.0.4",
22
- "@types/express": "^5.0.3",
23
- "@types/node": "^24.1.0",
24
- "cross-env": "^10.0.0",
25
- "svelte": "^5.37.3",
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.0.6"
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.0.6"
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",
16
- "sirv": "^3.0.1"
15
+ "express": "^5.2.1",
16
+ "sirv": "^3.0.2"
17
17
  },
18
18
  "devDependencies": {
19
- "cross-env": "^10.0.0",
20
- "vite": "^7.0.6"
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",
16
- "sirv": "^3.0.1"
15
+ "express": "^5.2.1",
16
+ "sirv": "^3.0.2"
17
17
  },
18
18
  "devDependencies": {
19
- "@types/express": "^5.0.3",
20
- "@types/node": "^24.1.0",
21
- "cross-env": "^10.0.0",
22
- "typescript": "~5.9.2",
23
- "vite": "^7.0.6"
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",
16
- "sirv": "^3.0.1",
17
- "vue": "^3.5.18"
15
+ "express": "^5.2.1",
16
+ "sirv": "^3.0.2",
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.0.6"
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",
16
- "sirv": "^3.0.1",
17
- "vue": "^3.5.18"
15
+ "express": "^5.2.1",
16
+ "sirv": "^3.0.2",
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.0.6"
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",
16
- "sirv": "^3.0.1",
17
- "vue": "^3.5.18"
15
+ "express": "^5.2.1",
16
+ "sirv": "^3.0.2",
17
+ "vue": "^3.5.25"
18
18
  },
19
19
  "devDependencies": {
20
- "@types/express": "^5.0.3",
21
- "@types/node": "^24.1.0",
22
- "@vitejs/plugin-vue": "^6.0.1",
23
- "cross-env": "^10.0.0",
24
- "typescript": "~5.9.2",
25
- "vite": "^7.0.6",
26
- "vue-tsc": "^3.0.5"
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",
17
- "sirv": "^3.0.1",
18
- "vue": "^3.5.18"
16
+ "express": "^5.2.1",
17
+ "sirv": "^3.0.2",
18
+ "vue": "^3.5.25"
19
19
  },
20
20
  "devDependencies": {
21
- "@types/express": "^5.0.3",
22
- "@types/node": "^24.1.0",
23
- "@vitejs/plugin-vue": "^6.0.1",
24
- "cross-env": "^10.0.0",
25
- "typescript": "~5.9.2",
26
- "vite": "^7.0.6",
27
- "vue-tsc": "^3.0.5"
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
  }