fix: resolve CodexLens installation failure with NPM global install

Implements two-pass search strategy to support CodexLens in NPM global installations. Fixes issue #104.
This commit is contained in:
catlog22
2026-01-24 10:52:07 +08:00
committed by GitHub

View File

@@ -83,8 +83,8 @@ function findLocalPackagePath(packageName: string): string | null {
possiblePaths.push(join(cwdParent, packageName));
}
// First pass: prefer non-node_modules paths (development environment)
for (const localPath of possiblePaths) {
// Skip paths inside node_modules
if (isInsideNodeModules(localPath)) {
continue;
}
@@ -94,8 +94,12 @@ function findLocalPackagePath(packageName: string): string | null {
}
}
if (!isDevEnvironment()) {
console.log(`[CodexLens] Running from node_modules - will try PyPI for ${packageName}`);
// Second pass: allow node_modules paths (NPM global install)
for (const localPath of possiblePaths) {
if (existsSync(join(localPath, 'pyproject.toml'))) {
console.log(`[CodexLens] Found ${packageName} in node_modules at: ${localPath}`);
return localPath;
}
}
return null;