UNPKG

one

Version:

One is a new React Framework that makes Vite serve both native and web.

116 lines 5.23 kB
var import_node_fs = require("node:fs"); var import_node_os = require("node:os"); var import_node_path = require("node:path"); var import_vitest = require("vitest"); var import_cloudflareWranglerConfig = require("./cloudflareWranglerConfig.cjs"); (0, import_vitest.describe)("createCloudflareWranglerConfig", () => { (0, import_vitest.it)("synthesizes a worker config when no user wrangler file exists", () => { const config = (0, import_cloudflareWranglerConfig.createCloudflareWranglerConfig)("my-app"); (0, import_vitest.expect)(config.name).toBe("my-app"); (0, import_vitest.expect)(config.main).toBe("worker.js"); (0, import_vitest.expect)(config.compatibility_flags).toEqual(["nodejs_compat"]); (0, import_vitest.expect)(config.find_additional_modules).toBe(true); (0, import_vitest.expect)(config.assets).toEqual({ directory: "client", binding: "ASSETS", run_worker_first: true }); }); (0, import_vitest.it)("merges user wrangler.jsonc the same way the cloudflare build does", () => { const config = (0, import_cloudflareWranglerConfig.createCloudflareWranglerConfig)("generated-name", { name: "test-cloudflare-user-config", compatibility_date: "2025-01-01", compatibility_flags: ["nodejs_als"], vars: { CUSTOM_VALUE: "from-root-config" }, assets: { html_handling: "auto-trailing-slash" }, rules: [{ type: "ESModule", globs: ["./extra/**/*.js"], fallthrough: true }] }); (0, import_vitest.expect)(config.name).toBe("test-cloudflare-user-config"); (0, import_vitest.expect)(config.main).toBe("worker.js"); (0, import_vitest.expect)(config.compatibility_date).toBe("2025-01-01"); (0, import_vitest.expect)(config.compatibility_flags).toEqual(["nodejs_compat", "nodejs_als"]); (0, import_vitest.expect)(config.vars).toEqual({ CUSTOM_VALUE: "from-root-config" }); (0, import_vitest.expect)(config.assets).toEqual({ html_handling: "auto-trailing-slash", directory: "client", binding: "ASSETS", run_worker_first: true }); (0, import_vitest.expect)(config.rules).toEqual([{ type: "ESModule", globs: ["./server/**/*.js"], fallthrough: true }, { type: "ESModule", globs: ["./api/**/*.js"], fallthrough: true }, { type: "ESModule", globs: ["./middlewares/**/*.js"], fallthrough: true }, { type: "ESModule", globs: ["./assets/**/*.js"], fallthrough: true }, { type: "ESModule", globs: ["./extra/**/*.js"], fallthrough: true }]); }); }); (0, import_vitest.describe)("shouldEnableWorkerdDev", () => { const previous = process.env.ONE_EXPERIMENTAL_WORKER_DEV; (0, import_vitest.afterEach)(() => { if (previous === void 0) delete process.env.ONE_EXPERIMENTAL_WORKER_DEV;else process.env.ONE_EXPERIMENTAL_WORKER_DEV = previous; }); (0, import_vitest.it)("is off when the flag is unset", () => { delete process.env.ONE_EXPERIMENTAL_WORKER_DEV; (0, import_vitest.expect)((0, import_cloudflareWranglerConfig.isExperimentalWorkerDevEnabled)()).toBe(false); (0, import_vitest.expect)((0, import_cloudflareWranglerConfig.shouldEnableWorkerdDev)("cloudflare", "/tmp")).toBe(false); }); (0, import_vitest.it)("is off when the flag is on but the app has no cloudflare target or wrangler file", () => { process.env.ONE_EXPERIMENTAL_WORKER_DEV = "1"; const root = (0, import_node_fs.mkdtempSync)((0, import_node_path.join)((0, import_node_os.tmpdir)(), "one-workerd-flag-")); try { (0, import_vitest.expect)((0, import_cloudflareWranglerConfig.shouldEnableWorkerdDev)(void 0, root)).toBe(false); (0, import_vitest.expect)((0, import_cloudflareWranglerConfig.shouldEnableWorkerdDev)("node", root)).toBe(false); } finally { (0, import_node_fs.rmSync)(root, { recursive: true, force: true }); } }); (0, import_vitest.it)("is on when the flag is set and deploy is cloudflare", () => { process.env.ONE_EXPERIMENTAL_WORKER_DEV = "1"; (0, import_vitest.expect)((0, import_cloudflareWranglerConfig.shouldEnableWorkerdDev)("cloudflare", "/tmp-does-not-exist")).toBe(true); (0, import_vitest.expect)((0, import_cloudflareWranglerConfig.shouldEnableWorkerdDev)({ target: "cloudflare" }, "/tmp-does-not-exist")).toBe(true); }); (0, import_vitest.it)("is on when the flag is set and wrangler.jsonc exists", () => { process.env.ONE_EXPERIMENTAL_WORKER_DEV = "1"; const root = (0, import_node_fs.mkdtempSync)((0, import_node_path.join)((0, import_node_os.tmpdir)(), "one-workerd-wrangler-")); try { (0, import_node_fs.writeFileSync)((0, import_node_path.join)(root, "wrangler.jsonc"), '{ "name": "from-file" }\n'); (0, import_vitest.expect)((0, import_cloudflareWranglerConfig.shouldEnableWorkerdDev)(void 0, root)).toBe(true); (0, import_vitest.expect)((0, import_cloudflareWranglerConfig.loadUserWranglerConfigSync)(root)?.config.name).toBe("from-file"); } finally { (0, import_node_fs.rmSync)(root, { recursive: true, force: true }); } }); });