test(e2e): add jiti devDep, derive repo root from import.meta.url

'npm run test:e2e' was failing before it even started:
the four tests import { createJiti } from 'jiti' but jiti was never
declared in package.json, so Node threw ERR_MODULE_NOT_FOUND on the
first import. Adding it to devDependencies fixes the loader.

The same tests hard-coded the original developer's path
('/home/moze/Sorgenti/pi-imgen'), so even with jiti installed they
would have failed on any other checkout. Replacing it with
dirname(dirname(dirname(fileURLToPath(import.meta.url)))) lets the
suite run from wherever the repo is cloned.
This commit is contained in:
2026-08-27 15:52:04 +02:00
parent 8d14a4f23e
commit 898b8d74af
6 changed files with 25 additions and 9 deletions
+11
View File
@@ -13,6 +13,7 @@
},
"devDependencies": {
"@types/node": "^20.14.0",
"jiti": "^2.4.0",
"typescript": "^5.6.0"
},
"engines": {
@@ -3515,6 +3516,16 @@
"node": ">= 4"
}
},
"node_modules/jiti": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz",
"integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==",
"dev": true,
"license": "MIT",
"bin": {
"jiti": "lib/jiti-cli.mjs"
}
},
"node_modules/json-bigint": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz",
+2 -1
View File
@@ -41,6 +41,7 @@
},
"devDependencies": {
"typescript": "^5.6.0",
"@types/node": "^20.14.0"
"@types/node": "^20.14.0",
"jiti": "^2.4.0"
}
}
+3 -2
View File
@@ -1,7 +1,8 @@
import { createJiti } from "jiti";
import { join } from "node:path";
import { dirname, join } from "node:path";
import { fileURLToPath } from "node:url";
const jiti = createJiti(import.meta.url, { interopDefault: true });
const R = "/home/moze/Sorgenti/pi-imgen";
const R = dirname(dirname(dirname(fileURLToPath(import.meta.url))));
const c = await jiti.import(join(R, "extensions/imgen/render/contrast.ts"));
const region = c.TEXT_REGIONS["hero-bottom"];
+3 -2
View File
@@ -10,10 +10,11 @@
* `print.dpi` has no upper clamp, so a user on 600dpi puts every A3 region over the cap.
*/
import { createJiti } from "jiti";
import { join } from "node:path";
import { dirname, join } from "node:path";
import { fileURLToPath } from "node:url";
const jiti = createJiti(import.meta.url, { interopDefault: true });
const R = "/home/moze/Sorgenti/pi-imgen";
const R = dirname(dirname(dirname(fileURLToPath(import.meta.url))));
const c = await jiti.import(join(R, "extensions/imgen/render/contrast.ts"));
const a = await c.analyseRegion(join(R, "tests/art-fine-busy.png"), { left: 0, top: 0, width: 1, height: 1 });
+3 -2
View File
@@ -1,10 +1,11 @@
import { createJiti } from "jiti";
import { mkdtempSync, copyFileSync, existsSync, readFileSync } from "node:fs";
import { tmpdir } from "node:os";
import { join } from "node:path";
import { dirname, join } from "node:path";
import { fileURLToPath } from "node:url";
const jiti = createJiti(import.meta.url, { interopDefault: true });
const R = "/home/moze/Sorgenti/pi-imgen";
const R = dirname(dirname(dirname(fileURLToPath(import.meta.url))));
const typst = await jiti.import(join(R, "extensions/imgen/render/typst.ts"));
const cfgMod = await jiti.import(join(R, "extensions/imgen/config.ts"));
+3 -2
View File
@@ -7,10 +7,11 @@
* time — a cycle or a hoisting mistake would surface as `undefined`, not a type error.
*/
import { createJiti } from "jiti";
import { join } from "node:path";
import { dirname, join } from "node:path";
import { fileURLToPath } from "node:url";
const jiti = createJiti(import.meta.url, { interopDefault: true });
const R = "/home/moze/Sorgenti/pi-imgen";
const R = dirname(dirname(dirname(fileURLToPath(import.meta.url))));
const s = await jiti.import(join(R, "extensions/imgen/ui/strings.ts"));
let bad = 0;