Files
OmniRoute/tests/unit/browser-pool-optional-import.test.ts
2026-09-01 00:50:58 -03:00

38 lines
1.3 KiB
TypeScript

import assert from "node:assert/strict";
import { readFileSync } from "node:fs";
import path from "node:path";
import { describe, it } from "node:test";
import { fileURLToPath } from "node:url";
const __dirname = path.dirname(fileURLToPath(import.meta.url));
const REPO_ROOT = path.resolve(__dirname, "../..");
const BROWSER_POOL_PATHS = [
path.join(REPO_ROOT, "open-sse/services/browserPool.ts"),
path.join(REPO_ROOT, "packages/browser-pool/src/services/browserPool.ts"),
];
describe("browserPool optional cloakbrowser import", () => {
it("keeps cloakbrowser out of static dynamic import resolution", () => {
for (const browserPoolPath of BROWSER_POOL_PATHS) {
const source = readFileSync(browserPoolPath, "utf8");
assert.equal(
/import\(\s*["']cloakbrowser["']\s*\)/.test(source),
false,
"cloakbrowser must remain runtime-optional; static dynamic import triggers Turbopack resolution"
);
assert.match(
source,
/Turbopack resolve it during route compilation/,
"the computed import rationale should stay documented near the helper"
);
assert.match(source, /return \["cloak", "browser"\]\.join\(""\);/);
assert.match(
source,
/\/\* webpackIgnore: true \*\//,
"Webpack must leave the optional runtime import unresolved"
);
}
});
});