diff --git a/packages/desktop/vitest.config.ts b/packages/desktop/vitest.config.ts index 7885553dc0..59e5201251 100644 --- a/packages/desktop/vitest.config.ts +++ b/packages/desktop/vitest.config.ts @@ -4,6 +4,14 @@ import { computeMaxWorkers } from "../core/src/__test-utils__/vitest-workers"; const maxWorkers = computeMaxWorkers(); const fusionAliases = { + /* + FNXC:VitestAliases 2026-07-30-13:10: + Must precede the broader `@fusion/core` alias: Vite string aliases match by PREFIX, so that key + rewrites this subpath to `index.ts/task-delete-attribution` and resolution fails. Reached here + transitively — this project aliases `@fusion/dashboard`, and `app/api/client.ts` imports the + browser-safe delete-attribution leaf. + */ + "@fusion/core/task-delete-attribution": resolve(__dirname, "../core/src/task-delete-attribution.ts"), "@fusion/core": resolve(__dirname, "../core/src/index.ts"), "@fusion/dashboard": resolve(__dirname, "../dashboard/src/index.ts"), "@fusion/engine": resolve(__dirname, "../engine/src/index.ts"), diff --git a/packages/engine/vitest.config.ts b/packages/engine/vitest.config.ts index 598f48b7d4..a4ef94013e 100644 --- a/packages/engine/vitest.config.ts +++ b/packages/engine/vitest.config.ts @@ -7,6 +7,14 @@ const maxWorkers = computeMaxWorkers(); export default defineConfig({ resolve: { alias: { + /* + FNXC:VitestAliases 2026-07-30-13:10: + Must precede the broader `@fusion/core` alias: Vite string aliases match by PREFIX, so that key + rewrites this subpath to `index.ts/task-delete-attribution` and resolution fails. Reached here + transitively — this project aliases `@fusion/dashboard`, and `app/api/client.ts` imports the + browser-safe delete-attribution leaf. + */ + "@fusion/core/task-delete-attribution": resolve(__dirname, "../core/src/task-delete-attribution.ts"), "@fusion/core": resolve(__dirname, "../core/src/index.ts"), "@fusion/test-utils": resolve(__dirname, "../core/src/__test-utils__/workspace.ts"), "@fusion/engine": resolve(__dirname, "./src/index.ts"), diff --git a/plugins/fusion-plugin-cli-printing-press/vitest.config.ts b/plugins/fusion-plugin-cli-printing-press/vitest.config.ts index 0712c1116e..e9f4487190 100644 --- a/plugins/fusion-plugin-cli-printing-press/vitest.config.ts +++ b/plugins/fusion-plugin-cli-printing-press/vitest.config.ts @@ -25,6 +25,14 @@ const quarantinedCliPrintingPressTests = [ export default defineConfig({ resolve: { alias: { + /* + FNXC:VitestAliases 2026-07-30-13:10: + Must precede the broader `@fusion/core` alias: Vite string aliases match by PREFIX, so that key + rewrites this subpath to `index.ts/task-delete-attribution` and resolution fails. Reached here + transitively — this project aliases `@fusion/dashboard`, and `app/api/client.ts` imports the + browser-safe delete-attribution leaf. + */ + "@fusion/core/task-delete-attribution": fileURLToPath(new URL("../../packages/core/src/task-delete-attribution.ts", import.meta.url)), "@fusion/core": fileURLToPath(new URL("../../packages/core/src/index.ts", import.meta.url)), "@fusion/plugin-sdk": fileURLToPath(new URL("../../packages/plugin-sdk/src/index.ts", import.meta.url)), "@fusion/dashboard": fileURLToPath(new URL("../../packages/dashboard/app/index.ts", import.meta.url)), diff --git a/plugins/fusion-plugin-compound-engineering/vitest.config.ts b/plugins/fusion-plugin-compound-engineering/vitest.config.ts index 33cf21b46e..4db8348112 100644 --- a/plugins/fusion-plugin-compound-engineering/vitest.config.ts +++ b/plugins/fusion-plugin-compound-engineering/vitest.config.ts @@ -45,6 +45,14 @@ export default defineConfig({ find: /^@fusion-plugin-examples\/compound-engineering$/, replacement: fileURLToPath(new URL("./src/index.ts", import.meta.url)), }, + /* + FNXC:VitestAliases 2026-07-30-13:10: + Must precede the broader `@fusion/core` alias: Vite string aliases match by PREFIX, so that key + rewrites this subpath to `index.ts/task-delete-attribution` and resolution fails. Reached here + transitively — this project aliases `@fusion/dashboard`, and `app/api/client.ts` imports the + browser-safe delete-attribution leaf. + */ + { find: "@fusion/core/task-delete-attribution", replacement: fileURLToPath(new URL("../../packages/core/src/task-delete-attribution.ts", import.meta.url)) }, { find: "@fusion/core", replacement: fileURLToPath(new URL("../../packages/core/src/index.ts", import.meta.url)) }, { find: "@fusion/test-utils/pg-test-harness", diff --git a/plugins/fusion-plugin-dependency-graph/vitest.config.ts b/plugins/fusion-plugin-dependency-graph/vitest.config.ts index bba1943043..c39bbb92ec 100644 --- a/plugins/fusion-plugin-dependency-graph/vitest.config.ts +++ b/plugins/fusion-plugin-dependency-graph/vitest.config.ts @@ -26,6 +26,14 @@ export default defineConfig({ find: /^@fusion-plugin-examples\/dependency-graph$/, replacement: fileURLToPath(new URL("./src/index.ts", import.meta.url)), }, + /* + FNXC:VitestAliases 2026-07-30-13:10: + Must precede the broader `@fusion/core` alias: Vite string aliases match by PREFIX, so that key + rewrites this subpath to `index.ts/task-delete-attribution` and resolution fails. Reached here + transitively — this project aliases `@fusion/dashboard`, and `app/api/client.ts` imports the + browser-safe delete-attribution leaf. + */ + { find: "@fusion/core/task-delete-attribution", replacement: fileURLToPath(new URL("../../packages/core/src/task-delete-attribution.ts", import.meta.url)) }, { find: "@fusion/core", replacement: fileURLToPath(new URL("../../packages/core/src/index.ts", import.meta.url)) }, { find: "@fusion/plugin-sdk", diff --git a/plugins/fusion-plugin-reports/vitest.config.ts b/plugins/fusion-plugin-reports/vitest.config.ts index 8d252eafec..dbfa9b84dc 100644 --- a/plugins/fusion-plugin-reports/vitest.config.ts +++ b/plugins/fusion-plugin-reports/vitest.config.ts @@ -25,6 +25,14 @@ const quarantinedReportsTests = [ export default defineConfig({ resolve: { alias: { + /* + FNXC:VitestAliases 2026-07-30-13:10: + Must precede the broader `@fusion/core` alias: Vite string aliases match by PREFIX, so that key + rewrites this subpath to `index.ts/task-delete-attribution` and resolution fails. Reached here + transitively — this project aliases `@fusion/dashboard`, and `app/api/client.ts` imports the + browser-safe delete-attribution leaf. + */ + "@fusion/core/task-delete-attribution": fileURLToPath(new URL("../../packages/core/src/task-delete-attribution.ts", import.meta.url)), "@fusion/core": fileURLToPath(new URL("../../packages/core/src/index.ts", import.meta.url)), // FNXC:Clipboard 2026-07-12-00:00: The reports plugin imports the dashboard clipboard helper through its package subpath export; keep this exact alias ahead of the package root alias so vitest does not collapse the subpath to src/index.ts. "@fusion/dashboard/app/utils/copyToClipboard": fileURLToPath(new URL("../../packages/dashboard/app/utils/copyToClipboard.ts", import.meta.url)),