diff --git a/package.json b/package.json index a247542f3..5222b408d 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "lint:affected:package-json": "nx affected --target=lint:packagejson --parallel --exclude=*-bench,docs,example_* --nxBail", "lint:affected:types": "nx affected --target=lint:types --parallel --exclude=*-bench,docs,example_* --nxBail", "lint:attw": "nx run-many --target=lint:attw --all --parallel", - "lint:attw:affected": "nx affected --target=lint:attw --parallel --exclude=*-bench,docs,storybook --nxBail", + "lint:affected:attw": "nx affected --target=lint:attw --parallel --exclude=*-bench,docs,storybook --nxBail", "lint:eslint": "nx run-many --target=lint:eslint --all --parallel", "lint:eslint:fix": "nx run-many --target=lint:eslint:fix --all --parallel", "lint:fix": "pnpm run lint:prettier:fix && pnpm run lint:eslint:fix && pnpm run sort-package-json", diff --git a/packages/packem/__tests__/intigration/error-cases.test.ts b/packages/packem/__tests__/intigration/error-cases.test.ts index 3a560ed74..085cea033 100644 --- a/packages/packem/__tests__/intigration/error-cases.test.ts +++ b/packages/packem/__tests__/intigration/error-cases.test.ts @@ -42,7 +42,10 @@ describe("packem error cases", () => { reject: false, }); - expect(binProcess.stderr).toContain("Unexpected end of JSON input in"); + const NODE_JS_VERSION = Number(process.versions.node.split(".")[0]); + + + expect(binProcess.stderr).toContain(NODE_JS_VERSION < 20 ? "Unexpected end of JSON input in" : "Expected property name or"); expect(binProcess.exitCode).toBe(1); }); diff --git a/packages/packem/__tests__/intigration/jit.test.ts b/packages/packem/__tests__/intigration/jit.test.ts index 0edba08ab..0060f2fb6 100644 --- a/packages/packem/__tests__/intigration/jit.test.ts +++ b/packages/packem/__tests__/intigration/jit.test.ts @@ -1,11 +1,11 @@ import { rm } from "node:fs/promises"; import { readFileSync, writeFileSync } from "@visulima/fs"; -import { join } from "@visulima/path"; +import { join, relative } from "@visulima/path"; +import { resolvePath } from "mlly"; import { temporaryDirectory } from "tempy"; import { afterEach, beforeEach, describe, expect, it } from "vitest"; -import packageJson from "../../package.json"; import { createPackageJson, createPackemConfig, createTsConfig, execPackemSync, installPackage } from "../helpers"; describe("packem build --jit", () => { @@ -55,11 +55,16 @@ describe("packem build --jit", () => { expect(binProcess.exitCode).toBe(0); const cjsContent = readFileSync(`${temporaryDirectoryPath}/dist/index.cjs`); + const jitiCJSPath = relative( + join(temporaryDirectoryPath, "dist"), - const projectPath = join(__dirname, "..", "..", "..", ".."); + await resolvePath("jiti", { + conditions: ["node", "require"], + url: import.meta.url, + }), + ); - expect(cjsContent) - .toBe(`const { createJiti } = require("../../..${projectPath}/node_modules/.pnpm/jiti@${packageJson.dependencies.jiti}/node_modules/jiti/lib/jiti.cjs"); + expect(cjsContent).toBe(`const { createJiti } = require("${jitiCJSPath}"); const jiti = createJiti(__filename, { "alias": {}, @@ -81,9 +86,16 @@ module.exports = jiti("${temporaryDirectoryPath}/src/index.ts")`); export { default } from "${temporaryDirectoryPath}/src/index.d.cts";`); const mjsContent = readFileSync(`${temporaryDirectoryPath}/dist/index.mjs`); + const jitiESMPath = relative( + join(temporaryDirectoryPath, "dist"), - expect(mjsContent) - .toBe(`import { createJiti } from "../../..${projectPath}/node_modules/.pnpm/jiti@${packageJson.dependencies.jiti}/node_modules/jiti/lib/jiti.mjs"; + await resolvePath("jiti", { + conditions: ["node", "import"], + url: import.meta.url, + }), + ); + + expect(mjsContent).toBe(`import { createJiti } from "${jitiESMPath}"; const jiti = createJiti(import.meta.url, { "alias": {},