test(FN-000): fix changed-test package cache dirs
This commit is contained in:
@@ -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
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user