mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-21 01:01:42 +00:00
fix(coding-agent): use ESM resolution for extension alias fallback (#1821)
The previous fix (83b57924) replaced require.resolve() with bare
specifier fallbacks to avoid ERR_PACKAGE_PATH_NOT_EXPORTED for ESM-only
packages like pi-ai. However, bare specifiers are not valid jiti alias
targets, breaking extension loading in global npm installs.
Use import.meta.resolve() as the fallback instead. It respects the
"import" exports condition and returns a real file path.
This commit is contained in:
parent
f430dce00a
commit
1ce870db1b
2 changed files with 7 additions and 7 deletions
|
|
@ -94,6 +94,6 @@
|
||||||
"directory": "packages/coding-agent"
|
"directory": "packages/coding-agent"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=20.0.0"
|
"node": ">=20.6.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -65,20 +65,20 @@ function getAliases(): Record<string, string> {
|
||||||
const typeboxRoot = typeboxEntry.replace(/[\\/]build[\\/]cjs[\\/]index\.js$/, "");
|
const typeboxRoot = typeboxEntry.replace(/[\\/]build[\\/]cjs[\\/]index\.js$/, "");
|
||||||
|
|
||||||
const packagesRoot = path.resolve(__dirname, "../../../../");
|
const packagesRoot = path.resolve(__dirname, "../../../../");
|
||||||
const resolveWorkspaceOrSpecifier = (workspaceRelativePath: string, specifier: string): string => {
|
const resolveWorkspaceOrImport = (workspaceRelativePath: string, specifier: string): string => {
|
||||||
const workspacePath = path.join(packagesRoot, workspaceRelativePath);
|
const workspacePath = path.join(packagesRoot, workspaceRelativePath);
|
||||||
if (fs.existsSync(workspacePath)) {
|
if (fs.existsSync(workspacePath)) {
|
||||||
return workspacePath;
|
return workspacePath;
|
||||||
}
|
}
|
||||||
return specifier;
|
return fileURLToPath(import.meta.resolve(specifier));
|
||||||
};
|
};
|
||||||
|
|
||||||
_aliases = {
|
_aliases = {
|
||||||
"@mariozechner/pi-coding-agent": packageIndex,
|
"@mariozechner/pi-coding-agent": packageIndex,
|
||||||
"@mariozechner/pi-agent-core": resolveWorkspaceOrSpecifier("agent/src/index.ts", "@mariozechner/pi-agent-core"),
|
"@mariozechner/pi-agent-core": resolveWorkspaceOrImport("agent/src/index.ts", "@mariozechner/pi-agent-core"),
|
||||||
"@mariozechner/pi-tui": resolveWorkspaceOrSpecifier("tui/src/index.ts", "@mariozechner/pi-tui"),
|
"@mariozechner/pi-tui": resolveWorkspaceOrImport("tui/src/index.ts", "@mariozechner/pi-tui"),
|
||||||
"@mariozechner/pi-ai": resolveWorkspaceOrSpecifier("ai/src/index.ts", "@mariozechner/pi-ai"),
|
"@mariozechner/pi-ai": resolveWorkspaceOrImport("ai/src/index.ts", "@mariozechner/pi-ai"),
|
||||||
"@mariozechner/pi-ai/oauth": resolveWorkspaceOrSpecifier("ai/src/oauth.ts", "@mariozechner/pi-ai/oauth"),
|
"@mariozechner/pi-ai/oauth": resolveWorkspaceOrImport("ai/src/oauth.ts", "@mariozechner/pi-ai/oauth"),
|
||||||
"@sinclair/typebox": typeboxRoot,
|
"@sinclair/typebox": typeboxRoot,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue