one
Version:
One is a new React Framework that makes Vite serve both native and web.
46 lines • 1.89 kB
JavaScript
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_getManifest = require("./getManifest.cjs");
let testDir;
function writeRoute(relativePath) {
if (!testDir) {
testDir = (0, import_node_fs.mkdtempSync)((0, import_node_path.join)((0, import_node_os.tmpdir)(), "one-get-manifest-"));
}
const filePath = (0, import_node_path.join)(testDir, "app", relativePath);
(0, import_node_fs.mkdirSync)((0, import_node_path.dirname)(filePath), {
recursive: true
});
(0, import_node_fs.writeFileSync)(filePath, "export default function Route() { return null }");
}
(0, import_vitest.afterEach)(() => {
if (testDir) {
(0, import_node_fs.rmSync)(testDir, {
recursive: true,
force: true
});
testDir = void 0;
}
});
(0, import_vitest.describe)("getManifest", () => {
(0, import_vitest.it)("filters ignoredRouteFiles from server route manifests", () => {
writeRoute("index.tsx");
writeRoute("about.tsx");
writeRoute("contact.test.tsx");
writeRoute("admin/dashboard.tsx");
writeRoute("admin/types.ts");
writeRoute("api/users+api.ts");
const manifest = (0, import_getManifest.getManifest)({
routerRoot: (0, import_node_path.join)(testDir, "app"),
ignoredRouteFiles: ["**/*.test.*", "**/types.ts"]
});
const files = manifest?.allRoutes.map(route => route.file) ?? [];
(0, import_vitest.expect)(files).toContain("./index.tsx");
(0, import_vitest.expect)(files).toContain("./about.tsx");
(0, import_vitest.expect)(files).toContain("./admin/dashboard.tsx");
(0, import_vitest.expect)(files).toContain("./api/users+api.ts");
(0, import_vitest.expect)(files).not.toContain("./contact.test.tsx");
(0, import_vitest.expect)(files).not.toContain("./admin/types.ts");
});
});