UNPKG

one

Version:

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

25 lines (24 loc) 1.07 kB
import { existsSync, readFileSync } from "node:fs"; import { fileURLToPath, URL } from "node:url"; import { describe, expect, test } from "vitest"; const packageDirectory = fileURLToPath(new URL("../", import.meta.url)); function collectExportTargets(value) { if (typeof value === "string") { return value.includes("*") ? [] : [value]; } if (!value || typeof value !== "object" || Array.isArray(value)) { return []; } return Object.values(value).flatMap(collectExportTargets); } describe("package exports", () => { test("all concrete targets exist in the built package", () => { const packageJson = JSON.parse(readFileSync(`${packageDirectory}/package.json`, "utf8")); if (!packageJson || typeof packageJson !== "object" || !("exports" in packageJson)) { throw new Error("one package.json must define exports"); } const missing = collectExportTargets(packageJson.exports).filter(target => !existsSync(`${packageDirectory}/${target}`)); expect(missing).toEqual([]); }); }); //# sourceMappingURL=package-exports.test.mjs.map