create-vite-extra 2.4.0 → 3.0.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 (95) hide show
  1. package/README.md +1 -1
  2. package/index.js +1 -2
  3. package/package.json +4 -3
  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 +3 -3
  9. package/template-deno-react-ts/deno.json +3 -3
  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/index.html +1 -1
  16. package/template-deno-vanilla-ts/deno.json +1 -1
  17. package/template-deno-vue/deno.json +3 -3
  18. package/template-deno-vue-ts/deno.json +3 -3
  19. package/template-library/package.json +1 -1
  20. package/template-library-ts/package.json +2 -2
  21. package/template-library-ts/tsconfig.json +1 -1
  22. package/template-ssr-preact/package.json +4 -4
  23. package/template-ssr-preact/server.js +4 -4
  24. package/template-ssr-preact/src/entry-server.jsx +4 -1
  25. package/template-ssr-preact-ts/package.json +6 -6
  26. package/template-ssr-preact-ts/server.js +4 -4
  27. package/template-ssr-preact-ts/src/entry-server.tsx +1 -1
  28. package/template-ssr-preact-ts/tsconfig.json +1 -1
  29. package/template-ssr-preact-ts/tsconfig.node.json +1 -1
  30. package/template-ssr-react/package.json +5 -5
  31. package/template-ssr-react/server.js +4 -4
  32. package/template-ssr-react/src/entry-server.jsx +4 -1
  33. package/template-ssr-react-streaming/package.json +4 -4
  34. package/template-ssr-react-streaming/server.js +4 -4
  35. package/template-ssr-react-streaming/src/entry-server.jsx +2 -3
  36. package/template-ssr-react-streaming-ts/package.json +7 -7
  37. package/template-ssr-react-streaming-ts/server.js +4 -4
  38. package/template-ssr-react-streaming-ts/src/entry-server.tsx +1 -5
  39. package/template-ssr-react-streaming-ts/tsconfig.json +1 -1
  40. package/template-ssr-react-streaming-ts/tsconfig.node.json +1 -1
  41. package/template-ssr-react-ts/package.json +7 -7
  42. package/template-ssr-react-ts/server.js +4 -4
  43. package/template-ssr-react-ts/src/entry-server.tsx +1 -1
  44. package/template-ssr-react-ts/tsconfig.json +1 -1
  45. package/template-ssr-react-ts/tsconfig.node.json +1 -1
  46. package/template-ssr-solid/package.json +5 -5
  47. package/template-ssr-solid/server.js +4 -4
  48. package/template-ssr-solid/src/entry-server.jsx +4 -1
  49. package/template-ssr-solid-ts/package.json +6 -6
  50. package/template-ssr-solid-ts/server.js +4 -4
  51. package/template-ssr-solid-ts/src/entry-server.tsx +1 -1
  52. package/template-ssr-solid-ts/tsconfig.json +1 -1
  53. package/template-ssr-solid-ts/tsconfig.node.json +1 -1
  54. package/template-ssr-svelte/jsconfig.json +1 -1
  55. package/template-ssr-svelte/package.json +5 -5
  56. package/template-ssr-svelte/server.js +4 -4
  57. package/template-ssr-svelte/src/entry-server.js +4 -1
  58. package/template-ssr-svelte-ts/package.json +9 -9
  59. package/template-ssr-svelte-ts/server.js +4 -4
  60. package/template-ssr-svelte-ts/src/entry-server.ts +1 -1
  61. package/template-ssr-svelte-ts/tsconfig.node.json +1 -1
  62. package/template-ssr-transform/package.json +1 -1
  63. package/template-ssr-vanilla/package.json +3 -3
  64. package/template-ssr-vanilla/server.js +4 -4
  65. package/template-ssr-vanilla/src/entry-server.js +4 -1
  66. package/template-ssr-vanilla-ts/package.json +5 -5
  67. package/template-ssr-vanilla-ts/server.js +4 -4
  68. package/template-ssr-vanilla-ts/src/entry-server.ts +1 -1
  69. package/template-ssr-vanilla-ts/tsconfig.json +1 -1
  70. package/template-ssr-vue/package.json +5 -5
  71. package/template-ssr-vue/server.js +4 -4
  72. package/template-ssr-vue/src/entry-server.js +4 -1
  73. package/template-ssr-vue-streaming/package.json +5 -5
  74. package/template-ssr-vue-streaming/server.js +4 -4
  75. package/template-ssr-vue-streaming/src/entry-server.js +4 -1
  76. package/template-ssr-vue-streaming-ts/package.json +8 -8
  77. package/template-ssr-vue-streaming-ts/server.js +4 -4
  78. package/template-ssr-vue-streaming-ts/src/entry-server.ts +1 -1
  79. package/template-ssr-vue-streaming-ts/tsconfig.node.json +1 -1
  80. package/template-ssr-vue-ts/package.json +8 -8
  81. package/template-ssr-vue-ts/server.js +4 -4
  82. package/template-ssr-vue-ts/src/entry-server.ts +1 -1
  83. package/template-ssr-vue-ts/tsconfig.node.json +1 -1
  84. package/template-deno-svelte/jsconfig.json +0 -34
  85. package/template-ssr-preact-ts/package-lock.json +0 -2923
  86. package/template-ssr-react/package-lock.json +0 -2629
  87. package/template-ssr-react-streaming/package-lock.json +0 -2596
  88. package/template-ssr-svelte/package-lock.json +0 -2125
  89. package/template-ssr-svelte-ts/package-lock.json +0 -2345
  90. package/template-ssr-vue-streaming-ts/package-lock.json +0 -2346
  91. package/template-ssr-vue-ts/package-lock.json +0 -2346
  92. /package/template-deno-vanilla/{counter.js → src/counter.js} +0 -0
  93. /package/template-deno-vanilla/{javascript.svg → src/javascript.svg} +0 -0
  94. /package/template-deno-vanilla/{main.js → src/main.js} +0 -0
  95. /package/template-deno-vanilla/{style.css → src/style.css} +0 -0
@@ -12,14 +12,12 @@ const ABORT_DELAY = 10000
12
12
  const templateHtml = isProduction
13
13
  ? await fs.readFile('./dist/client/index.html', 'utf-8')
14
14
  : ''
15
- const ssrManifest = isProduction
16
- ? await fs.readFile('./dist/client/.vite/ssr-manifest.json', 'utf-8')
17
- : undefined
18
15
 
19
16
  // Create http server
20
17
  const app = express()
21
18
 
22
19
  // Add Vite or respective production middlewares
20
+ /** @type {import('vite').ViteDevServer | undefined} */
23
21
  let vite
24
22
  if (!isProduction) {
25
23
  const { createServer } = await import('vite')
@@ -41,7 +39,9 @@ app.use('*all', async (req, res) => {
41
39
  try {
42
40
  const url = req.originalUrl.replace(base, '')
43
41
 
42
+ /** @type {string} */
44
43
  let template
44
+ /** @type {import('./src/entry-server.ts').render} */
45
45
  let render
46
46
  if (!isProduction) {
47
47
  // Always read fresh template in development
@@ -55,7 +55,7 @@ app.use('*all', async (req, res) => {
55
55
 
56
56
  let didError = false
57
57
 
58
- const { pipe, abort } = render(url, ssrManifest, {
58
+ const { pipe, abort } = render(url, {
59
59
  onShellError() {
60
60
  res.status(500)
61
61
  res.set({ 'Content-Type': 'text/html' })
@@ -5,11 +5,7 @@ import {
5
5
  } from 'react-dom/server'
6
6
  import App from './App'
7
7
 
8
- export function render(
9
- _url: string,
10
- _ssrManifest?: string,
11
- options?: RenderToPipeableStreamOptions,
12
- ) {
8
+ export function render(_url: string, options?: RenderToPipeableStreamOptions) {
13
9
  return renderToPipeableStream(
14
10
  <StrictMode>
15
11
  <App />
@@ -7,7 +7,7 @@
7
7
  "skipLibCheck": true,
8
8
 
9
9
  /* Bundler mode */
10
- "moduleResolution": "Bundler",
10
+ "moduleResolution": "bundler",
11
11
  "allowImportingTsExtensions": true,
12
12
  "isolatedModules": true,
13
13
  "moduleDetection": "force",
@@ -8,7 +8,7 @@
8
8
  "skipLibCheck": true,
9
9
 
10
10
  /* Bundler mode */
11
- "moduleResolution": "Bundler",
11
+ "moduleResolution": "bundler",
12
12
  "allowImportingTsExtensions": true,
13
13
  "isolatedModules": true,
14
14
  "moduleDetection": "force",
@@ -6,12 +6,12 @@
6
6
  "scripts": {
7
7
  "dev": "node server",
8
8
  "build": "npm run build:client && npm run build:server",
9
- "build:client": "vite build --ssrManifest --outDir dist/client",
9
+ "build:client": "vite build --outDir dist/client",
10
10
  "build:server": "vite build --ssr src/entry-server.tsx --outDir dist/server",
11
11
  "preview": "cross-env NODE_ENV=production node server"
12
12
  },
13
13
  "dependencies": {
14
- "compression": "^1.7.4",
14
+ "compression": "^1.7.5",
15
15
  "express": "^5.0.1",
16
16
  "react": "^18.3.1",
17
17
  "react-dom": "^18.3.1",
@@ -19,12 +19,12 @@
19
19
  },
20
20
  "devDependencies": {
21
21
  "@types/express": "^5.0.0",
22
- "@types/node": "^22.7.7",
23
- "@types/react": "^18.3.11",
22
+ "@types/node": "^22.10.0",
23
+ "@types/react": "^18.3.12",
24
24
  "@types/react-dom": "^18.3.1",
25
- "@vitejs/plugin-react": "^4.3.3",
25
+ "@vitejs/plugin-react": "^4.3.4",
26
26
  "cross-env": "^7.0.3",
27
- "typescript": "~5.6.3",
28
- "vite": "^5.4.9"
27
+ "typescript": "~5.7.2",
28
+ "vite": "^6.0.1"
29
29
  }
30
30
  }
@@ -10,14 +10,12 @@ const base = process.env.BASE || '/'
10
10
  const templateHtml = isProduction
11
11
  ? await fs.readFile('./dist/client/index.html', 'utf-8')
12
12
  : ''
13
- const ssrManifest = isProduction
14
- ? await fs.readFile('./dist/client/.vite/ssr-manifest.json', 'utf-8')
15
- : undefined
16
13
 
17
14
  // Create http server
18
15
  const app = express()
19
16
 
20
17
  // Add Vite or respective production middlewares
18
+ /** @type {import('vite').ViteDevServer | undefined} */
21
19
  let vite
22
20
  if (!isProduction) {
23
21
  const { createServer } = await import('vite')
@@ -39,7 +37,9 @@ app.use('*all', async (req, res) => {
39
37
  try {
40
38
  const url = req.originalUrl.replace(base, '')
41
39
 
40
+ /** @type {string} */
42
41
  let template
42
+ /** @type {import('./src/entry-server.ts').render} */
43
43
  let render
44
44
  if (!isProduction) {
45
45
  // Always read fresh template in development
@@ -51,7 +51,7 @@ app.use('*all', async (req, res) => {
51
51
  render = (await import('./dist/server/entry-server.js')).render
52
52
  }
53
53
 
54
- const rendered = await render(url, ssrManifest)
54
+ const rendered = await render(url)
55
55
 
56
56
  const html = template
57
57
  .replace(`<!--app-head-->`, rendered.head ?? '')
@@ -2,7 +2,7 @@ import { StrictMode } from 'react'
2
2
  import { renderToString } from 'react-dom/server'
3
3
  import App from './App'
4
4
 
5
- export function render() {
5
+ export function render(_url: string) {
6
6
  const html = renderToString(
7
7
  <StrictMode>
8
8
  <App />
@@ -7,7 +7,7 @@
7
7
  "skipLibCheck": true,
8
8
 
9
9
  /* Bundler mode */
10
- "moduleResolution": "Bundler",
10
+ "moduleResolution": "bundler",
11
11
  "allowImportingTsExtensions": true,
12
12
  "isolatedModules": true,
13
13
  "moduleDetection": "force",
@@ -8,7 +8,7 @@
8
8
  "skipLibCheck": true,
9
9
 
10
10
  /* Bundler mode */
11
- "moduleResolution": "Bundler",
11
+ "moduleResolution": "bundler",
12
12
  "allowImportingTsExtensions": true,
13
13
  "isolatedModules": true,
14
14
  "moduleDetection": "force",
@@ -6,19 +6,19 @@
6
6
  "scripts": {
7
7
  "dev": "node server",
8
8
  "build": "npm run build:client && npm run build:server",
9
- "build:client": "vite build --ssrManifest --outDir dist/client",
9
+ "build:client": "vite build --outDir dist/client",
10
10
  "build:server": "vite build --ssr src/entry-server.jsx --outDir dist/server",
11
11
  "preview": "cross-env NODE_ENV=production node server"
12
12
  },
13
13
  "dependencies": {
14
- "compression": "^1.7.4",
14
+ "compression": "^1.7.5",
15
15
  "express": "^5.0.1",
16
16
  "sirv": "^3.0.0",
17
- "solid-js": "^1.9.2"
17
+ "solid-js": "^1.9.3"
18
18
  },
19
19
  "devDependencies": {
20
20
  "cross-env": "^7.0.3",
21
- "vite": "^5.4.9",
22
- "vite-plugin-solid": "^2.10.2"
21
+ "vite": "^6.0.1",
22
+ "vite-plugin-solid": "^2.11.0"
23
23
  }
24
24
  }
@@ -11,14 +11,12 @@ const base = process.env.BASE || '/'
11
11
  const templateHtml = isProduction
12
12
  ? await fs.readFile('./dist/client/index.html', 'utf-8')
13
13
  : ''
14
- const ssrManifest = isProduction
15
- ? await fs.readFile('./dist/client/.vite/ssr-manifest.json', 'utf-8')
16
- : undefined
17
14
 
18
15
  // Create http server
19
16
  const app = express()
20
17
 
21
18
  // Add Vite or respective production middlewares
19
+ /** @type {import('vite').ViteDevServer | undefined} */
22
20
  let vite
23
21
  if (!isProduction) {
24
22
  const { createServer } = await import('vite')
@@ -40,7 +38,9 @@ app.use('*all', async (req, res) => {
40
38
  try {
41
39
  const url = req.originalUrl.replace(base, '')
42
40
 
41
+ /** @type {string} */
43
42
  let template
43
+ /** @type {import('./src/entry-server.js').render} */
44
44
  let render
45
45
  if (!isProduction) {
46
46
  // Always read fresh template in development
@@ -52,7 +52,7 @@ app.use('*all', async (req, res) => {
52
52
  render = (await import('./dist/server/entry-server.js')).render
53
53
  }
54
54
 
55
- const rendered = await render(url, ssrManifest)
55
+ const rendered = await render(url)
56
56
 
57
57
  const head = (rendered.head ?? '') + generateHydrationScript()
58
58
 
@@ -1,7 +1,10 @@
1
1
  import { renderToString } from 'solid-js/web'
2
2
  import App from './App'
3
3
 
4
- export function render() {
4
+ /**
5
+ * @param {string} _url
6
+ */
7
+ export function render(_url) {
5
8
  const html = renderToString(() => <App />)
6
9
  return { html }
7
10
  }
@@ -6,21 +6,21 @@
6
6
  "scripts": {
7
7
  "dev": "node server",
8
8
  "build": "npm run build:client && npm run build:server",
9
- "build:client": "vite build --ssrManifest --outDir dist/client",
9
+ "build:client": "vite build --outDir dist/client",
10
10
  "build:server": "vite build --ssr src/entry-server.tsx --outDir dist/server",
11
11
  "preview": "cross-env NODE_ENV=production node server"
12
12
  },
13
13
  "dependencies": {
14
- "compression": "^1.7.4",
14
+ "compression": "^1.7.5",
15
15
  "express": "^5.0.1",
16
16
  "sirv": "^3.0.0",
17
- "solid-js": "^1.9.2"
17
+ "solid-js": "^1.9.3"
18
18
  },
19
19
  "devDependencies": {
20
20
  "@types/express": "^5.0.0",
21
- "@types/node": "^22.7.7",
21
+ "@types/node": "^22.10.0",
22
22
  "cross-env": "^7.0.3",
23
- "vite": "^5.4.9",
24
- "vite-plugin-solid": "^2.10.2"
23
+ "vite": "^6.0.1",
24
+ "vite-plugin-solid": "^2.11.0"
25
25
  }
26
26
  }
@@ -11,14 +11,12 @@ const base = process.env.BASE || '/'
11
11
  const templateHtml = isProduction
12
12
  ? await fs.readFile('./dist/client/index.html', 'utf-8')
13
13
  : ''
14
- const ssrManifest = isProduction
15
- ? await fs.readFile('./dist/client/.vite/ssr-manifest.json', 'utf-8')
16
- : undefined
17
14
 
18
15
  // Create http server
19
16
  const app = express()
20
17
 
21
18
  // Add Vite or respective production middlewares
19
+ /** @type {import('vite').ViteDevServer | undefined} */
22
20
  let vite
23
21
  if (!isProduction) {
24
22
  const { createServer } = await import('vite')
@@ -40,7 +38,9 @@ app.use('*all', async (req, res) => {
40
38
  try {
41
39
  const url = req.originalUrl.replace(base, '')
42
40
 
41
+ /** @type {string} */
43
42
  let template
43
+ /** @type {import('./src/entry-server.ts').render} */
44
44
  let render
45
45
  if (!isProduction) {
46
46
  // Always read fresh template in development
@@ -52,7 +52,7 @@ app.use('*all', async (req, res) => {
52
52
  render = (await import('./dist/server/entry-server.js')).render
53
53
  }
54
54
 
55
- const rendered = await render(url, ssrManifest)
55
+ const rendered = await render(url)
56
56
 
57
57
  const head = (rendered.head ?? '') + generateHydrationScript()
58
58
 
@@ -1,7 +1,7 @@
1
1
  import { renderToString } from 'solid-js/web'
2
2
  import App from './App'
3
3
 
4
- export function render() {
4
+ export function render(_url: string) {
5
5
  const html = renderToString(() => <App />)
6
6
  return { html }
7
7
  }
@@ -7,7 +7,7 @@
7
7
  "skipLibCheck": true,
8
8
 
9
9
  /* Bundler mode */
10
- "moduleResolution": "Bundler",
10
+ "moduleResolution": "bundler",
11
11
  "allowImportingTsExtensions": true,
12
12
  "isolatedModules": true,
13
13
  "moduleDetection": "force",
@@ -8,7 +8,7 @@
8
8
  "skipLibCheck": true,
9
9
 
10
10
  /* Bundler mode */
11
- "moduleResolution": "Bundler",
11
+ "moduleResolution": "bundler",
12
12
  "allowImportingTsExtensions": true,
13
13
  "isolatedModules": true,
14
14
  "moduleDetection": "force",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "moduleResolution": "Bundler",
3
+ "moduleResolution": "bundler",
4
4
  "target": "ESNext",
5
5
  "module": "ESNext",
6
6
  /**
@@ -6,19 +6,19 @@
6
6
  "scripts": {
7
7
  "dev": "node server",
8
8
  "build": "npm run build:client && npm run build:server",
9
- "build:client": "vite build --ssrManifest --outDir dist/client",
9
+ "build:client": "vite build --outDir dist/client",
10
10
  "build:server": "vite build --ssr src/entry-server.js --outDir dist/server",
11
11
  "preview": "cross-env NODE_ENV=production node server"
12
12
  },
13
13
  "dependencies": {
14
- "compression": "^1.7.4",
14
+ "compression": "^1.7.5",
15
15
  "express": "^5.0.1",
16
16
  "sirv": "^3.0.0"
17
17
  },
18
18
  "devDependencies": {
19
- "@sveltejs/vite-plugin-svelte": "^4.0.0",
19
+ "@sveltejs/vite-plugin-svelte": "^5.0.1",
20
20
  "cross-env": "^7.0.3",
21
- "svelte": "^5.0.3",
22
- "vite": "^5.4.9"
21
+ "svelte": "^5.2.9",
22
+ "vite": "^6.0.1"
23
23
  }
24
24
  }
@@ -10,14 +10,12 @@ const base = process.env.BASE || '/'
10
10
  const templateHtml = isProduction
11
11
  ? await fs.readFile('./dist/client/index.html', 'utf-8')
12
12
  : ''
13
- const ssrManifest = isProduction
14
- ? await fs.readFile('./dist/client/.vite/ssr-manifest.json', 'utf-8')
15
- : undefined
16
13
 
17
14
  // Create http server
18
15
  const app = express()
19
16
 
20
17
  // Add Vite or respective production middlewares
18
+ /** @type {import('vite').ViteDevServer | undefined} */
21
19
  let vite
22
20
  if (!isProduction) {
23
21
  const { createServer } = await import('vite')
@@ -39,7 +37,9 @@ app.use('*all', async (req, res) => {
39
37
  try {
40
38
  const url = req.originalUrl.replace(base, '')
41
39
 
40
+ /** @type {string} */
42
41
  let template
42
+ /** @type {import('./src/entry-server.js').render} */
43
43
  let render
44
44
  if (!isProduction) {
45
45
  // Always read fresh template in development
@@ -51,7 +51,7 @@ app.use('*all', async (req, res) => {
51
51
  render = (await import('./dist/server/entry-server.js')).render
52
52
  }
53
53
 
54
- const rendered = await render(url, ssrManifest)
54
+ const rendered = await render(url)
55
55
 
56
56
  const html = template
57
57
  .replace(`<!--app-head-->`, rendered.head ?? '')
@@ -1,6 +1,9 @@
1
1
  import { render as _render } from 'svelte/server'
2
2
  import App from './App.svelte'
3
3
 
4
- export function render() {
4
+ /**
5
+ * @param {string} _url
6
+ */
7
+ export function render(_url) {
5
8
  return _render(App)
6
9
  }
@@ -6,26 +6,26 @@
6
6
  "scripts": {
7
7
  "dev": "node server",
8
8
  "build": "npm run build:client && npm run build:server",
9
- "build:client": "vite build --ssrManifest --outDir dist/client",
9
+ "build:client": "vite build --outDir dist/client",
10
10
  "build:server": "vite build --ssr src/entry-server.ts --outDir dist/server",
11
11
  "preview": "cross-env NODE_ENV=production node server",
12
12
  "check": "svelte-check"
13
13
  },
14
14
  "dependencies": {
15
- "compression": "^1.7.4",
15
+ "compression": "^1.7.5",
16
16
  "express": "^5.0.1",
17
17
  "sirv": "^3.0.0"
18
18
  },
19
19
  "devDependencies": {
20
- "@sveltejs/vite-plugin-svelte": "^4.0.0",
20
+ "@sveltejs/vite-plugin-svelte": "^5.0.1",
21
21
  "@tsconfig/svelte": "^5.0.4",
22
22
  "@types/express": "^5.0.0",
23
- "@types/node": "^22.7.7",
23
+ "@types/node": "^22.10.0",
24
24
  "cross-env": "^7.0.3",
25
- "svelte": "^5.0.3",
26
- "svelte-check": "^4.0.5",
27
- "tslib": "^2.8.0",
28
- "typescript": "~5.6.3",
29
- "vite": "^5.4.9"
25
+ "svelte": "^5.2.9",
26
+ "svelte-check": "^4.1.0",
27
+ "tslib": "^2.8.1",
28
+ "typescript": "~5.7.2",
29
+ "vite": "^6.0.1"
30
30
  }
31
31
  }
@@ -10,14 +10,12 @@ const base = process.env.BASE || '/'
10
10
  const templateHtml = isProduction
11
11
  ? await fs.readFile('./dist/client/index.html', 'utf-8')
12
12
  : ''
13
- const ssrManifest = isProduction
14
- ? await fs.readFile('./dist/client/.vite/ssr-manifest.json', 'utf-8')
15
- : undefined
16
13
 
17
14
  // Create http server
18
15
  const app = express()
19
16
 
20
17
  // Add Vite or respective production middlewares
18
+ /** @type {import('vite').ViteDevServer | undefined} */
21
19
  let vite
22
20
  if (!isProduction) {
23
21
  const { createServer } = await import('vite')
@@ -39,7 +37,9 @@ app.use('*all', async (req, res) => {
39
37
  try {
40
38
  const url = req.originalUrl.replace(base, '')
41
39
 
40
+ /** @type {string} */
42
41
  let template
42
+ /** @type {import('./src/entry-server.ts').render} */
43
43
  let render
44
44
  if (!isProduction) {
45
45
  // Always read fresh template in development
@@ -51,7 +51,7 @@ app.use('*all', async (req, res) => {
51
51
  render = (await import('./dist/server/entry-server.js')).render
52
52
  }
53
53
 
54
- const rendered = await render(url, ssrManifest)
54
+ const rendered = await render(url)
55
55
 
56
56
  const html = template
57
57
  .replace(`<!--app-head-->`, rendered.head ?? '')
@@ -1,6 +1,6 @@
1
1
  import { render as _render } from 'svelte/server'
2
2
  import App from './App.svelte'
3
3
 
4
- export function render() {
4
+ export function render(_url: string) {
5
5
  return _render(App)
6
6
  }
@@ -4,7 +4,7 @@
4
4
  "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
5
5
  "skipLibCheck": true,
6
6
  "module": "ESNext",
7
- "moduleResolution": "Bundler",
7
+ "moduleResolution": "bundler",
8
8
  "strict": true,
9
9
  "noUncheckedSideEffectImports": true
10
10
  },
@@ -7,6 +7,6 @@
7
7
  "test": "node test"
8
8
  },
9
9
  "devDependencies": {
10
- "vite": "^5.4.9"
10
+ "vite": "^6.0.1"
11
11
  }
12
12
  }
@@ -6,17 +6,17 @@
6
6
  "scripts": {
7
7
  "dev": "node server",
8
8
  "build": "npm run build:client && npm run build:server",
9
- "build:client": "vite build --ssrManifest --outDir dist/client",
9
+ "build:client": "vite build --outDir dist/client",
10
10
  "build:server": "vite build --ssr src/entry-server.js --outDir dist/server",
11
11
  "preview": "cross-env NODE_ENV=production node server"
12
12
  },
13
13
  "dependencies": {
14
- "compression": "^1.7.4",
14
+ "compression": "^1.7.5",
15
15
  "express": "^5.0.1",
16
16
  "sirv": "^3.0.0"
17
17
  },
18
18
  "devDependencies": {
19
19
  "cross-env": "^7.0.3",
20
- "vite": "^5.4.9"
20
+ "vite": "^6.0.1"
21
21
  }
22
22
  }
@@ -10,14 +10,12 @@ const base = process.env.BASE || '/'
10
10
  const templateHtml = isProduction
11
11
  ? await fs.readFile('./dist/client/index.html', 'utf-8')
12
12
  : ''
13
- const ssrManifest = isProduction
14
- ? await fs.readFile('./dist/client/.vite/ssr-manifest.json', 'utf-8')
15
- : undefined
16
13
 
17
14
  // Create http server
18
15
  const app = express()
19
16
 
20
17
  // Add Vite or respective production middlewares
18
+ /** @type {import('vite').ViteDevServer | undefined} */
21
19
  let vite
22
20
  if (!isProduction) {
23
21
  const { createServer } = await import('vite')
@@ -39,7 +37,9 @@ app.use('*all', async (req, res) => {
39
37
  try {
40
38
  const url = req.originalUrl.replace(base, '')
41
39
 
40
+ /** @type {string} */
42
41
  let template
42
+ /** @type {import('./src/entry-server.js').render} */
43
43
  let render
44
44
  if (!isProduction) {
45
45
  // Always read fresh template in development
@@ -51,7 +51,7 @@ app.use('*all', async (req, res) => {
51
51
  render = (await import('./dist/server/entry-server.js')).render
52
52
  }
53
53
 
54
- const rendered = await render(url, ssrManifest)
54
+ const rendered = await render(url)
55
55
 
56
56
  const html = template
57
57
  .replace(`<!--app-head-->`, rendered.head ?? '')
@@ -1,6 +1,9 @@
1
1
  import javascriptLogo from './javascript.svg'
2
2
 
3
- export function render() {
3
+ /**
4
+ * @param {string} _url
5
+ */
6
+ export function render(_url) {
4
7
  const html = `
5
8
  <div>
6
9
  <a href="https://vite.dev" target="_blank">
@@ -6,20 +6,20 @@
6
6
  "scripts": {
7
7
  "dev": "node server",
8
8
  "build": "npm run build:client && npm run build:server",
9
- "build:client": "vite build --ssrManifest --outDir dist/client",
9
+ "build:client": "vite build --outDir dist/client",
10
10
  "build:server": "vite build --ssr src/entry-server.ts --outDir dist/server",
11
11
  "preview": "cross-env NODE_ENV=production node server"
12
12
  },
13
13
  "dependencies": {
14
- "compression": "^1.7.4",
14
+ "compression": "^1.7.5",
15
15
  "express": "^5.0.1",
16
16
  "sirv": "^3.0.0"
17
17
  },
18
18
  "devDependencies": {
19
19
  "@types/express": "^5.0.0",
20
- "@types/node": "^22.7.7",
20
+ "@types/node": "^22.10.0",
21
21
  "cross-env": "^7.0.3",
22
- "typescript": "~5.6.3",
23
- "vite": "^5.4.9"
22
+ "typescript": "~5.7.2",
23
+ "vite": "^6.0.1"
24
24
  }
25
25
  }
@@ -10,14 +10,12 @@ const base = process.env.BASE || '/'
10
10
  const templateHtml = isProduction
11
11
  ? await fs.readFile('./dist/client/index.html', 'utf-8')
12
12
  : ''
13
- const ssrManifest = isProduction
14
- ? await fs.readFile('./dist/client/.vite/ssr-manifest.json', 'utf-8')
15
- : undefined
16
13
 
17
14
  // Create http server
18
15
  const app = express()
19
16
 
20
17
  // Add Vite or respective production middlewares
18
+ /** @type {import('vite').ViteDevServer | undefined} */
21
19
  let vite
22
20
  if (!isProduction) {
23
21
  const { createServer } = await import('vite')
@@ -39,7 +37,9 @@ app.use('*all', async (req, res) => {
39
37
  try {
40
38
  const url = req.originalUrl.replace(base, '')
41
39
 
40
+ /** @type {string} */
42
41
  let template
42
+ /** @type {import('./src/entry-server.ts').render} */
43
43
  let render
44
44
  if (!isProduction) {
45
45
  // Always read fresh template in development
@@ -51,7 +51,7 @@ app.use('*all', async (req, res) => {
51
51
  render = (await import('./dist/server/entry-server.js')).render
52
52
  }
53
53
 
54
- const rendered = await render(url, ssrManifest)
54
+ const rendered = await render(url)
55
55
 
56
56
  const html = template
57
57
  .replace(`<!--app-head-->`, rendered.head ?? '')