Files
fusion/packages/dashboard/app/__tests__/build-output.test.ts
gsxdsm ed84a728c2 feat(FN-1093): add mobile build, PWA, and live reload workflow
- Optimize dashboard Vite output for mobile and include vite/client types in app typecheck
- Add PWA support with manifest, service worker, icons, and client registration hooks
- Add a mobile workspace package with Capacitor config and live-reload scripts for local development
- Add a dedicated GitHub Actions mobile pipeline and update mobile workflow documentation
- Add dashboard tests for build output, mobile scripts, and PWA asset coverage
2026-04-07 23:25:34 -07:00

26 lines
1.0 KiB
TypeScript

import { existsSync, readdirSync, readFileSync } from "node:fs";
import { resolve } from "node:path";
import { describe, expect, test } from "vitest";
const distDir = resolve(__dirname, "../../dist/client");
const assetsDir = resolve(distDir, "assets");
const distExists = existsSync(distDir) && existsSync(assetsDir);
describe("mobile build output chunking", () => {
test.skipIf(!distExists)("creates vendor chunk files for core dependencies", () => {
const files = readdirSync(assetsDir);
const jsFiles = files.filter((file) => file.endsWith(".js"));
expect(jsFiles.length).toBeGreaterThan(2);
expect(jsFiles.some((file) => file.includes("vendor-react"))).toBe(true);
expect(jsFiles.some((file) => file.includes("vendor-xterm"))).toBe(true);
});
test.skipIf(!distExists)("index.html references chunked asset scripts", () => {
const indexHtml = readFileSync(resolve(distDir, "index.html"), "utf8");
expect(indexHtml).toContain("<script");
expect(indexHtml).toMatch(/assets\/.+-[A-Za-z0-9_-]+\.js/);
});
});