| import { readFileSync } from "node:fs"; | |
| import { fileURLToPath } from "node:url"; | |
| import { dirname, resolve } from "node:path"; | |
| const here = dirname(fileURLToPath(import.meta.url)); | |
| const headerPath = resolve(here, "relative_imports/transit/three/header.ts"); | |
| const contents = readFileSync(headerPath, "utf8"); | |
| const expectedImports = [ | |
| "from '../one/info.js';", | |
| "from '../two/identity.js';", | |
| ]; | |
| for (const expected of expectedImports) { | |
| if (!contents.includes(expected)) { | |
| throw new Error(`Missing relative import "${expected}" in ${headerPath}`); | |
| } | |
| } | |
| const forbidden = "../transit/"; | |
| if (contents.includes(forbidden)) { | |
| throw new Error( | |
| `Found unexpected namespace segment in import path within ${headerPath}` | |
| ); | |
| } | |
| console.log("JavaScriptRelativeImportPathTest: OK"); |