test(FN-000): fix changed-test package cache dirs

This commit is contained in:
Aron Prins
2026-05-07 18:26:48 +02:00
parent 2bc0f53064
commit 409d4efa62
2 changed files with 17 additions and 7 deletions

View File

@@ -8,6 +8,7 @@ import test from "node:test";
import assert from "node:assert/strict";
import {
buildPackageDirByName,
buildReverseDependencyMap,
shouldForceFullSuite,
resolveAffectedPackages,
@@ -144,6 +145,19 @@ test("resolveAffectedPackages: maps plugin workspace changes", () => {
assert.deepEqual(result, ["@fusion-plugin-examples/hermes-runtime"]);
});
test("buildPackageDirByName: uses canonical workspace dirs instead of package aliases", () => {
const result = buildPackageDirByName([
{ name: "@fusion/engine", dir: "packages/engine" },
{ name: "@fusion/core", dir: "packages/core" },
{ name: "@fusion-plugin-examples/cursor-runtime", dir: "plugins/fusion-plugin-cursor-runtime" },
]);
assert.equal(result.get("@fusion/engine"), "packages/engine");
assert.equal(result.get("@fusion/core"), "packages/core");
assert.equal(result.get("@fusion-plugin-examples/cursor-runtime"), "plugins/fusion-plugin-cursor-runtime");
assert.notEqual(result.get("@fusion/engine"), "engine");
});
// ---------------------------------------------------------------------------
// decideExecutionPlan
// ---------------------------------------------------------------------------

View File

@@ -719,13 +719,9 @@ export function main(argv = process.argv.slice(2)) {
const baseBranch = getBaseBranch();
const comparisonBase = detectComparisonBase(baseBranch);
const changedFiles = comparisonBase ? changedFilesSince(comparisonBase) : null;
const packageNameByDir = listWorkspacePackages();
// Build reverse map: pkg-name → relative dir (e.g. "packages/engine")
const packageDirByName = new Map();
for (const [dir, name] of packageNameByDir) {
packageDirByName.set(name, dir);
}
const workspacePackages = listWorkspacePackageInfos();
const packageNameByDir = listWorkspacePackages(workspacePackages);
const packageDirByName = buildPackageDirByName(workspacePackages);
const plan = decideExecutionPlan({
forceFullSuite,