create-fullstack-scaffold 0.4.15 → 0.4.17
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/dist/cli/index.js +52 -10
- package/dist/cli/index.js.map +1 -1
- package/package.json +1 -1
- package/template/src/server/module-admin/module.ts +2 -0
- package/template/src/server/module-captcha/module.ts +2 -0
- package/template/src/server/module-chat/module.ts +2 -0
- package/template/src/server/module-content/module.ts +2 -0
- package/template/src/server/module-dispute/module.ts +2 -0
- package/template/src/server/module-file/module.ts +2 -0
- package/template/src/server/module-merchant/module.ts +2 -0
- package/template/src/server/module-order/module.ts +2 -0
- package/template/src/server/module-permission/module.ts +2 -0
- package/template/src/server/module-tenant/module.ts +2 -0
- package/template/src/server/module-ticket/module.ts +2 -0
- package/template/vite.config.ts +10 -2
package/package.json
CHANGED
|
@@ -41,6 +41,8 @@ const contentManifest: ModuleManifest = {
|
|
|
41
41
|
hasSeed: true,
|
|
42
42
|
seed: { serviceFile: 'content-service', functionName: 'seedContentsIfEmpty' },
|
|
43
43
|
},
|
|
44
|
+
|
|
45
|
+
cliModule: { dir: 'content', registerFunction: 'registerContentCommands' },
|
|
44
46
|
}
|
|
45
47
|
|
|
46
48
|
export default contentManifest
|
|
@@ -26,6 +26,8 @@ const disputeManifest: ModuleManifest = {
|
|
|
26
26
|
hasSeed: true,
|
|
27
27
|
seed: { serviceFile: 'dispute-service', functionName: 'seedDisputesIfEmpty' },
|
|
28
28
|
},
|
|
29
|
+
|
|
30
|
+
cliModule: { dir: 'dispute', registerFunction: 'registerDisputeCommands' },
|
|
29
31
|
}
|
|
30
32
|
|
|
31
33
|
export default disputeManifest
|
|
@@ -28,6 +28,8 @@ const merchantManifest: ModuleManifest = {
|
|
|
28
28
|
hasSeed: true,
|
|
29
29
|
seed: { serviceFile: 'merchant-service', functionName: 'seedMerchantsIfEmpty' },
|
|
30
30
|
},
|
|
31
|
+
|
|
32
|
+
cliModule: { dir: 'merchant', registerFunction: 'registerMerchantCommands' },
|
|
31
33
|
}
|
|
32
34
|
|
|
33
35
|
export default merchantManifest
|
|
@@ -26,6 +26,8 @@ const tenantManifest: ModuleManifest = {
|
|
|
26
26
|
hasSeed: true,
|
|
27
27
|
seed: { serviceFile: 'tenant-service', functionName: 'seedTenantsIfEmpty' },
|
|
28
28
|
},
|
|
29
|
+
|
|
30
|
+
cliModule: { dir: 'tenant', registerFunction: 'registerTenantCommands' },
|
|
29
31
|
}
|
|
30
32
|
|
|
31
33
|
export default tenantManifest
|
|
@@ -26,6 +26,8 @@ const ticketManifest: ModuleManifest = {
|
|
|
26
26
|
hasSeed: true,
|
|
27
27
|
seed: { serviceFile: 'ticket-service', functionName: 'seedTicketsIfEmpty' },
|
|
28
28
|
},
|
|
29
|
+
|
|
30
|
+
cliModule: { dir: 'ticket', registerFunction: 'registerTicketCommands' },
|
|
29
31
|
}
|
|
30
32
|
|
|
31
33
|
export default ticketManifest
|
package/template/vite.config.ts
CHANGED
|
@@ -3,7 +3,7 @@ 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
|
-
// Prerender is optional — only needed during production build with puppeteer installed
|
|
6
|
+
// Prerender is optional — only needed during production build with puppeteer + Chrome installed
|
|
7
7
|
let prerender: typeof import('@prerenderer/rollup-plugin').default | undefined
|
|
8
8
|
let puppeteerRenderer: typeof import('@prerenderer/renderer-puppeteer').default | undefined
|
|
9
9
|
try {
|
|
@@ -11,8 +11,16 @@ try {
|
|
|
11
11
|
prerender = prerenderMod.default
|
|
12
12
|
const puppeteerMod = await import('@prerenderer/renderer-puppeteer')
|
|
13
13
|
puppeteerRenderer = puppeteerMod.default
|
|
14
|
+
// Verify Chrome is actually available at runtime
|
|
15
|
+
// @ts-expect-error — puppeteer is an optional dependency, may not be installed
|
|
16
|
+
const { executablePath } = await import('puppeteer')
|
|
17
|
+
const chromePath = executablePath()
|
|
18
|
+
if (!existsSync(chromePath)) {
|
|
19
|
+
prerender = undefined
|
|
20
|
+
puppeteerRenderer = undefined
|
|
21
|
+
}
|
|
14
22
|
} catch {
|
|
15
|
-
// puppeteer not available — prerendering disabled
|
|
23
|
+
// puppeteer/Chrome not available — prerendering disabled
|
|
16
24
|
}
|
|
17
25
|
|
|
18
26
|
async function getPrerenderRoutes(): Promise<string[]> {
|