mirror of
https://github.com/hanzoai/pack.git
synced 2026-09-30 23:43:13 +00:00
* feat: add generation script for latest tanstack example Generated-by: aiautocommit * test(examples): add tanstack-latest example project setup Generated-by: aiautocommit * feat(node): add helper methods to check production and dev dependencies Generated-by: aiautocommit * feat(logger): support absolute URLs in DocsURL and suggestions Generated-by: aiautocommit * feat(node): exclude TanStack Start packages from Vite static build Generated-by: aiautocommit * feat(node): add support for TanStack Start srvx fallback Generated-by: aiautocommit * test(core): update test snapshots for TanStack build plan Generated-by: aiautocommit * docs(node): document TanStack Start detection and build behavior Generated-by: aiautocommit * feat(node): add TanStack Start framework support and fallback server Generated-by: aiautocommit
36 lines
934 B
Go
36 lines
934 B
Go
package node
|
|
|
|
const (
|
|
// Static dir is resolved relative to the server entry (dist/server/), matching TanStack docs.
|
|
DefaultTanstackSrvxStartCommand = "srvx --prod -s ../client dist/server/server.js"
|
|
)
|
|
|
|
func (p *NodeProvider) isTanstackStart() bool {
|
|
return p.isTanstackStartPackage(p.workspace.Root)
|
|
}
|
|
|
|
func (p *NodeProvider) isTanstackStartPackage(pkg *WorkspacePackage) bool {
|
|
if pkg == nil || pkg.PackageJson == nil {
|
|
return false
|
|
}
|
|
|
|
return pkg.PackageJson.hasProductionDependency("@tanstack/react-start")
|
|
}
|
|
|
|
// True when TanStack Start has no start script and we fall back to srvx.
|
|
func (p *NodeProvider) usesTanstackSrvxFallback() bool {
|
|
if !p.isTanstackStart() {
|
|
return false
|
|
}
|
|
|
|
return p.getScripts(p.packageJson, "start") == ""
|
|
}
|
|
|
|
func (p *NodeProvider) getTanstackStartCommand() string {
|
|
if !p.usesTanstackSrvxFallback() {
|
|
return ""
|
|
}
|
|
|
|
return p.packageManager.ExecCommand(DefaultTanstackSrvxStartCommand)
|
|
}
|