create-fullstack-scaffold 0.4.13 → 0.4.14

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-fullstack-scaffold",
3
- "version": "0.4.13",
3
+ "version": "0.4.14",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "create-fullstack-scaffold": "dist/cli/index.js"
@@ -3,8 +3,17 @@ import { existsSync } from 'fs'
3
3
  import { defineConfig } from 'vite'
4
4
  import devServer from '@hono/vite-dev-server'
5
5
  import { websocketPlugin, dbPlugin } from './vite-plugins'
6
- import prerender from '@prerenderer/rollup-plugin'
7
- import puppeteerRenderer from '@prerenderer/renderer-puppeteer'
6
+ // Prerender is optional — only needed during production build with puppeteer installed
7
+ let prerender: typeof import('@prerenderer/rollup-plugin').default | undefined
8
+ let puppeteerRenderer: typeof import('@prerenderer/renderer-puppeteer').default | undefined
9
+ try {
10
+ const prerenderMod = await import('@prerenderer/rollup-plugin')
11
+ prerender = prerenderMod.default
12
+ const puppeteerMod = await import('@prerenderer/renderer-puppeteer')
13
+ puppeteerRenderer = puppeteerMod.default
14
+ } catch {
15
+ // puppeteer not available — prerendering disabled
16
+ }
8
17
 
9
18
  async function getPrerenderRoutes(): Promise<string[]> {
10
19
  const staticRoutes = ['/', '/todos', '/notifications', '/websocket', '/content']
@@ -76,13 +85,17 @@ export default defineConfig({
76
85
  },
77
86
  output: {
78
87
  plugins: [
79
- prerender({
80
- routes,
81
- renderer: new puppeteerRenderer({
82
- renderAfterDocumentEvent: 'prerender-ready',
83
- renderAfterTime: 5000,
84
- }),
85
- }),
88
+ ...(prerender && puppeteerRenderer
89
+ ? [
90
+ prerender({
91
+ routes,
92
+ renderer: new puppeteerRenderer({
93
+ renderAfterDocumentEvent: 'prerender-ready',
94
+ renderAfterTime: 5000,
95
+ }),
96
+ }),
97
+ ]
98
+ : []),
86
99
  ],
87
100
  },
88
101
  onwarn(warning, defaultHandler) {