diff --git a/server/package.json b/server/package.json index 13d54c02a4..b0b7bd8c49 100644 --- a/server/package.json +++ b/server/package.json @@ -35,7 +35,7 @@ "dev": "tsx src/index.ts", "dev:watch": "cross-env PAPERCLIP_MIGRATION_PROMPT=never PAPERCLIP_MIGRATION_AUTO_APPLY=true tsx ./scripts/dev-watch.ts", "prepare:ui-dist": "bash ../scripts/prepare-server-ui-dist.sh", - "build": "tsc && mkdir -p dist/onboarding-assets && cp -R src/onboarding-assets/. dist/onboarding-assets/", + "build": "tsc && mkdir -p dist/onboarding-assets dist/built-ins && cp -R src/onboarding-assets/. dist/onboarding-assets/ && cp -R src/built-ins/. dist/built-ins/", "prepack": "pnpm run prepare:ui-dist", "postpack": "rm -rf ui-dist", "clean": "rm -rf dist", diff --git a/server/src/__tests__/server-package-build-script.test.ts b/server/src/__tests__/server-package-build-script.test.ts new file mode 100644 index 0000000000..9c4d16a916 --- /dev/null +++ b/server/src/__tests__/server-package-build-script.test.ts @@ -0,0 +1,18 @@ +import { readFileSync } from "node:fs"; +import { fileURLToPath } from "node:url"; +import { describe, expect, it } from "vitest"; + +const packageJsonPath = fileURLToPath(new URL("../../package.json", import.meta.url)); + +describe("server package build script", () => { + it("copies static runtime asset directories into dist", () => { + const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf8")) as { + scripts?: Record; + }; + const buildScript = packageJson.scripts?.build ?? ""; + + expect(buildScript).toContain("mkdir -p dist/onboarding-assets dist/built-ins"); + expect(buildScript).toContain("cp -R src/onboarding-assets/. dist/onboarding-assets/"); + expect(buildScript).toContain("cp -R src/built-ins/. dist/built-ins/"); + }); +});