🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@codemap-ai/code-index

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@codemap-ai/code-index - npm Package Compare versions

Comparing version
3.1.2
to
3.2.0
+1
-1
dist/file-discovery.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"file-discovery.d.ts","sourceRoot":"","sources":["../src/file-discovery.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,mBAAmB,GAC3B,QAAQ,GACR,SAAS,GACT,WAAW,GACX,QAAQ,GACR,aAAa,GACb,OAAO,CAAC;AAEZ,eAAO,MAAM,aAAa,aA+BxB,CAAC;AAEH,kDAAkD;AAClD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGnD;AAED,eAAO,MAAM,eAAe,QAAkB,CAAC;AAC/C,eAAO,MAAM,2BAA2B,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEvE,CAAC;AAEF,eAAO,MAAM,eAAe,yBAAyB,CAAC;AACtD,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAE1C,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC;IACjC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,UASxD;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAiFxC;AAED,wBAAsB,qBAAqB,CACzC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAiGnC"}
{"version":3,"file":"file-discovery.d.ts","sourceRoot":"","sources":["../src/file-discovery.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,mBAAmB,GAC3B,QAAQ,GACR,SAAS,GACT,WAAW,GACX,QAAQ,GACR,aAAa,GACb,OAAO,CAAC;AAEZ,eAAO,MAAM,aAAa,aA4BxB,CAAC;AA4CH,kDAAkD;AAClD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGnD;AAED,eAAO,MAAM,eAAe,QAAkB,CAAC;AAC/C,eAAO,MAAM,2BAA2B,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEvE,CAAC;AAEF,eAAO,MAAM,eAAe,yBAAyB,CAAC;AACtD,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAE1C,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC;IACjC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,UASxD;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAiFxC;AAED,wBAAsB,qBAAqB,CACzC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAkFnC"}

@@ -13,2 +13,3 @@ "use strict";

const node_path_1 = __importDefault(require("node:path"));
const ignore_1 = __importDefault(require("ignore"));
const language_utils_js_1 = require("./language-utils.js");

@@ -21,4 +22,2 @@ exports.IGNORED_NAMES = new Set([

".pnpm-store",
".dist",
"build",
".next",

@@ -34,3 +33,2 @@ "coverage",

"temp",
"lib",
".continue",

@@ -49,2 +47,41 @@ ".github",

]);
// ponytail: removed lib/, dist/, build/ — these are gitignore's domain (lib/ is source in Ruby/Dart/Elixir)
async function loadGitignoreMatcher(workspacePath) {
const matcher = (0, ignore_1.default)();
try {
matcher.add(await (0, promises_1.readFile)(node_path_1.default.join(workspacePath, ".gitignore"), "utf8"));
}
catch {
// no root .gitignore
}
return matcher;
}
async function walkDir(dirPath, workspacePath, gitignoreMatcher, onFile) {
let entries;
try {
entries = await (0, promises_1.readdir)(dirPath, { withFileTypes: true });
}
catch {
return;
}
for (const entry of entries) {
const abs = node_path_1.default.join(dirPath, entry.name);
const rel = node_path_1.default.relative(workspacePath, abs).split(node_path_1.default.sep).join("/");
const relForMatcher = entry.isDirectory() ? `${rel}/` : rel;
if (entry.isDirectory()) {
if (exports.IGNORED_NAMES.has(entry.name))
continue;
if (gitignoreMatcher.ignores(relForMatcher))
continue;
await walkDir(abs, workspacePath, gitignoreMatcher, onFile);
}
else if (entry.isFile()) {
if (exports.IGNORED_NAMES.has(entry.name))
continue;
if (gitignoreMatcher.ignores(relForMatcher))
continue;
await onFile(rel, abs);
}
}
}
/** Helper to check if a path should be ignored */

@@ -152,21 +189,7 @@ function isPathIgnored(path) {

async function collectWorkspaceFiles(workspacePath) {
const gitignoreMatcher = await loadGitignoreMatcher(workspacePath);
const candidates = [];
async function visit(absolutePath) {
async function onFile(relativePath, absolutePath) {
const entryStats = await (0, promises_1.lstat)(absolutePath);
// Skip symlinks
if (entryStats.isSymbolicLink())
return;
const name = node_path_1.default.basename(absolutePath);
if (entryStats.isDirectory()) {
if (exports.IGNORED_NAMES.has(name))
return;
const entries = await (0, promises_1.readdir)(absolutePath, { withFileTypes: true });
for (const entry of entries) {
await visit(node_path_1.default.join(absolutePath, entry.name));
}
return;
}
if (!entryStats.isFile())
return;
const relativePath = normalizeRepositoryFilePath(node_path_1.default.relative(workspacePath, absolutePath).split(node_path_1.default.sep).join("/"));
const extension = (0, language_utils_js_1.extensionFromFilename)(name);

@@ -178,10 +201,12 @@ const language = (0, language_utils_js_1.inferLanguage)(extension);

const isText = !isBinary;
const maxParseBytes = (language ? exports.MAX_PARSE_BYTES_BY_LANGUAGE[language] : undefined) ?? exports.MAX_PARSE_BYTES;
const maxParseBytes = (language ? exports.MAX_PARSE_BYTES_BY_LANGUAGE[language] : undefined) ??
exports.MAX_PARSE_BYTES;
const isParseable = Boolean(language) && isText && entryStats.size <= maxParseBytes;
const dirPath = node_path_1.default.posix.dirname(relativePath) === "."
const normalizedPath = normalizeRepositoryFilePath(relativePath);
const dirPath = node_path_1.default.posix.dirname(normalizedPath) === "."
? ""
: node_path_1.default.posix.dirname(relativePath);
: node_path_1.default.posix.dirname(normalizedPath);
if (!isParseable) {
candidates.push({
path: relativePath,
path: normalizedPath,
absolutePath,

@@ -215,3 +240,3 @@ dirPath,

candidates.push({
path: relativePath,
path: normalizedPath,
absolutePath,

@@ -238,4 +263,4 @@ dirPath,

}
await visit(workspacePath);
return candidates.sort((left, right) => left.path.localeCompare(right.path));
await walkDir(workspacePath, workspacePath, gitignoreMatcher, onFile);
return candidates.sort((l, r) => l.path.localeCompare(r.path));
}
export { collectSingleFile, collectWorkspaceFiles, IGNORED_NAMES, isPathIgnored, MAX_PARSE_BYTES, MAX_PARSE_BYTES_BY_LANGUAGE, normalizeRepositoryFilePath, PARSE_TOOL_NAME, PARSE_TOOL_VERSION, type WorkspaceFileCandidate, } from "./file-discovery.js";
export { BINARY_SAMPLE_BYTES, SOURCE_LANGUAGE_BY_EXTENSION, MIME_TYPE_BY_EXTENSION, buildFileSha256, extensionFromFilename, inferLanguage, inferMimeType, isBinaryBuffer, normalizeExtension, readSampleBuffer, } from "./language-utils.js";
export { loadTypeScriptResolverConfigs, normalizeWorkspaceRelativePath, type TypeScriptPathAliasPattern, type TypeScriptResolverConfig, } from "./ts-resolver.js";
export { loadTypeScriptResolverConfigs, loadWorkspacePackageMap, normalizeWorkspaceRelativePath, type TypeScriptPathAliasPattern, type TypeScriptResolverConfig, type WorkspacePackageMap, } from "./ts-resolver.js";
export { parseWorkspaceFileSemantics, type ParsedWorkspaceSemantics, } from "./parsers/index.js";

@@ -5,0 +5,0 @@ export { JS_TS_EXTENSIONS, DART_EXTENSIONS, PHP_EXTENSIONS, PYTHON_EXTENSIONS, JAVA_EXTENSIONS, KOTLIN_EXTENSIONS, } from "./parsers/shared.js";

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,eAAe,EACf,2BAA2B,EAC3B,2BAA2B,EAC3B,eAAe,EACf,kBAAkB,EAClB,KAAK,sBAAsB,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,GAC9B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,2BAA2B,EAC3B,KAAK,wBAAwB,GAC9B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,wBAAwB,EACxB,sBAAsB,EACtB,cAAc,EACd,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,eAAe,EACf,2BAA2B,EAC3B,2BAA2B,EAC3B,eAAe,EACf,kBAAkB,EAClB,KAAK,sBAAsB,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,8BAA8B,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,2BAA2B,EAC3B,KAAK,wBAAwB,GAC9B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,wBAAwB,EACxB,sBAAsB,EACtB,cAAc,EACd,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC"}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.KOTLIN_EXTENSIONS = exports.JAVA_EXTENSIONS = exports.PYTHON_EXTENSIONS = exports.PHP_EXTENSIONS = exports.DART_EXTENSIONS = exports.JS_TS_EXTENSIONS = exports.parseWorkspaceFileSemantics = exports.normalizeWorkspaceRelativePath = exports.loadTypeScriptResolverConfigs = exports.readSampleBuffer = exports.normalizeExtension = exports.isBinaryBuffer = exports.inferMimeType = exports.inferLanguage = exports.extensionFromFilename = exports.buildFileSha256 = exports.MIME_TYPE_BY_EXTENSION = exports.SOURCE_LANGUAGE_BY_EXTENSION = exports.BINARY_SAMPLE_BYTES = exports.PARSE_TOOL_VERSION = exports.PARSE_TOOL_NAME = exports.normalizeRepositoryFilePath = exports.MAX_PARSE_BYTES_BY_LANGUAGE = exports.MAX_PARSE_BYTES = exports.isPathIgnored = exports.IGNORED_NAMES = exports.collectWorkspaceFiles = exports.collectSingleFile = void 0;
exports.KOTLIN_EXTENSIONS = exports.JAVA_EXTENSIONS = exports.PYTHON_EXTENSIONS = exports.PHP_EXTENSIONS = exports.DART_EXTENSIONS = exports.JS_TS_EXTENSIONS = exports.parseWorkspaceFileSemantics = exports.normalizeWorkspaceRelativePath = exports.loadWorkspacePackageMap = exports.loadTypeScriptResolverConfigs = exports.readSampleBuffer = exports.normalizeExtension = exports.isBinaryBuffer = exports.inferMimeType = exports.inferLanguage = exports.extensionFromFilename = exports.buildFileSha256 = exports.MIME_TYPE_BY_EXTENSION = exports.SOURCE_LANGUAGE_BY_EXTENSION = exports.BINARY_SAMPLE_BYTES = exports.PARSE_TOOL_VERSION = exports.PARSE_TOOL_NAME = exports.normalizeRepositoryFilePath = exports.MAX_PARSE_BYTES_BY_LANGUAGE = exports.MAX_PARSE_BYTES = exports.isPathIgnored = exports.IGNORED_NAMES = exports.collectWorkspaceFiles = exports.collectSingleFile = void 0;
var file_discovery_js_1 = require("./file-discovery.js");

@@ -27,2 +27,3 @@ Object.defineProperty(exports, "collectSingleFile", { enumerable: true, get: function () { return file_discovery_js_1.collectSingleFile; } });

Object.defineProperty(exports, "loadTypeScriptResolverConfigs", { enumerable: true, get: function () { return ts_resolver_js_1.loadTypeScriptResolverConfigs; } });
Object.defineProperty(exports, "loadWorkspacePackageMap", { enumerable: true, get: function () { return ts_resolver_js_1.loadWorkspacePackageMap; } });
Object.defineProperty(exports, "normalizeWorkspaceRelativePath", { enumerable: true, get: function () { return ts_resolver_js_1.normalizeWorkspaceRelativePath; } });

@@ -29,0 +30,0 @@ var index_js_1 = require("./parsers/index.js");

import type { WorkspaceFileCandidate } from "../file-discovery.js";
import type { TypeScriptResolverConfig } from "../ts-resolver.js";
import type { TypeScriptResolverConfig, WorkspacePackageMap } from "../ts-resolver.js";
export type { ParsedWorkspaceSemantics } from "./types.js";

@@ -10,3 +10,4 @@ export declare function parseWorkspaceFileSemantics(input: {

resolverConfigs?: TypeScriptResolverConfig[];
workspacePackageMap?: WorkspacePackageMap;
}): Promise<import("./types.js").ParsedWorkspaceSemantics>;
//# sourceMappingURL=index.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parsers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AASlE,YAAY,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE3D,wBAAsB,2BAA2B,CAAC,KAAK,EAAE;IACvD,IAAI,EAAE,sBAAsB,CAAC;IAC7B,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,wBAAwB,EAAE,CAAC;CAC9C,0DA4BA"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parsers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AASvF,YAAY,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE3D,wBAAsB,2BAA2B,CAAC,KAAK,EAAE;IACvD,IAAI,EAAE,sBAAsB,CAAC;IAC7B,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC7C,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C,0DA6BA"}

@@ -18,3 +18,3 @@ "use strict";

case "JavaScript":
return (0, typescript_js_1.parseTypeScriptOrJavaScriptFile)(input.file, input.filePathSet, input.projectImportId, input.workspacePath, input.resolverConfigs ?? []);
return (0, typescript_js_1.parseTypeScriptOrJavaScriptFile)(input.file, input.filePathSet, input.projectImportId, input.workspacePath, input.resolverConfigs ?? [], input.workspacePackageMap ?? {});
case "Dart":

@@ -21,0 +21,0 @@ return (0, dart_js_1.parseDartFile)(input.file, input.filePathSet, input.projectImportId);

@@ -1,2 +0,2 @@

import type { TypeScriptResolverConfig } from "../ts-resolver.js";
import type { TypeScriptResolverConfig, WorkspacePackageMap } from "../ts-resolver.js";
import type { ParsedExternalSymbolDraft } from "./types.js";

@@ -26,2 +26,13 @@ export declare const JS_TS_EXTENSIONS: string[];

} | null;
/**
* Resolve workspace package imports (e.g. `@codemap-ai/core/lib/foo`)
* to workspace-relative file paths (e.g. `packages/core/src/lib/foo.ts`).
*/
export declare function resolveWorkspacePackageTargetPath(workspacePath: string, moduleSpecifier: string, language: string, filePathSet: Set<string>, workspacePackageMap: WorkspacePackageMap): {
resolvedPath: string;
attemptedPath: string;
} | {
resolvedPath: null;
attemptedPath: string;
} | null;
export declare function maskCommentsAndTemplateLiterals(content: string, options?: {

@@ -28,0 +39,0 @@ hashLineComments?: boolean;

@@ -1,1 +0,1 @@

{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/parsers/shared.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE5D,eAAO,MAAM,gBAAgB,UAA6B,CAAC;AAC3D,eAAO,MAAM,eAAe,UAAW,CAAC;AACxC,eAAO,MAAM,cAAc,UAAU,CAAC;AACtC,eAAO,MAAM,iBAAiB,UAAS,CAAC;AACxC,eAAO,MAAM,eAAe,UAAW,CAAC;AACxC,eAAO,MAAM,iBAAiB,UAAgB,CAAC;AAE/C,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,UAEtF;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAErG;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,UAGZ;AAED,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC;;;EA0BzB;AAED,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,wBAAwB,EAAE,mCAY5C;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,EACxB,eAAe,EAAE,wBAAwB,EAAE;;;;;;;;SAoD5C;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,UAyD7C;AAED,wBAAgB,yBAAyB,CACvC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,GACtB,yBAAyB,CAa3B"}
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/parsers/shared.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE5D,eAAO,MAAM,gBAAgB,UAA6B,CAAC;AAC3D,eAAO,MAAM,eAAe,UAAW,CAAC;AACxC,eAAO,MAAM,cAAc,UAAU,CAAC;AACtC,eAAO,MAAM,iBAAiB,UAAS,CAAC;AACxC,eAAO,MAAM,eAAe,UAAW,CAAC;AACxC,eAAO,MAAM,iBAAiB,UAAgB,CAAC;AAE/C,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,UAEtF;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAErG;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,UAGZ;AAED,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC;;;EA0BzB;AAED,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,wBAAwB,EAAE,mCAY5C;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,EACxB,eAAe,EAAE,wBAAwB,EAAE;;;;;;;;SAoD5C;AAID;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,EACxB,mBAAmB,EAAE,mBAAmB;;;;;;SA+CzC;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,UAyD7C;AAED,wBAAgB,yBAAyB,CACvC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,GACtB,yBAAyB,CAa3B"}

@@ -13,2 +13,3 @@ "use strict";

exports.resolveTsconfigAliasTargetPath = resolveTsconfigAliasTargetPath;
exports.resolveWorkspacePackageTargetPath = resolveWorkspacePackageTargetPath;
exports.maskCommentsAndTemplateLiterals = maskCommentsAndTemplateLiterals;

@@ -107,2 +108,51 @@ exports.createExternalSymbolDraft = createExternalSymbolDraft;

}
const WORKSPACE_PACKAGE_PREFIX_RE = /^@[^/]+\/[^/]+/;
/**
* Resolve workspace package imports (e.g. `@codemap-ai/core/lib/foo`)
* to workspace-relative file paths (e.g. `packages/core/src/lib/foo.ts`).
*/
function resolveWorkspacePackageTargetPath(workspacePath, moduleSpecifier, language, filePathSet, workspacePackageMap) {
if (!WORKSPACE_PACKAGE_PREFIX_RE.test(moduleSpecifier))
return null;
// e.g. moduleSpecifier = "@codemap-ai/core/lib/foo"
// parts[0] = "@codemap-ai/core", parts[1] = "lib/foo"
const slashIdx = moduleSpecifier.indexOf("/");
const secondSlash = moduleSpecifier.indexOf("/", slashIdx + 1);
let packageName;
let subpath;
if (secondSlash >= 0) {
// e.g. @scope/pkg/sub/path — packageName is @scope/pkg
packageName = moduleSpecifier.slice(0, secondSlash);
subpath = moduleSpecifier.slice(secondSlash + 1);
}
else {
// e.g. @scope/pkg — no subpath, resolve to package entry
packageName = moduleSpecifier;
subpath = "";
}
const sourceDir = workspacePackageMap[packageName];
if (!sourceDir)
return null;
const extensions = language === "TypeScript" || language === "JavaScript" ? exports.JS_TS_EXTENSIONS
: language === "Dart" ? exports.DART_EXTENSIONS
: language === "Python" ? exports.PYTHON_EXTENSIONS
: language === "Java" ? exports.JAVA_EXTENSIONS
: language === "Kotlin" ? exports.KOTLIN_EXTENSIONS
: exports.PHP_EXTENSIONS;
// base path e.g. "packages/core/src/lib/foo" or "packages/core/src"
const basePath = subpath ? `${sourceDir}/${subpath}` : sourceDir;
const candidates = [basePath];
if (!node_path_1.default.posix.extname(basePath)) {
for (const ext of extensions) {
candidates.push(`${basePath}.${ext}`, `${basePath}/index.${ext}`);
}
}
else if (node_path_1.default.posix.extname(basePath) === ".js") {
candidates.push(basePath.replace(/\.js$/, ".ts"), basePath.replace(/\.js$/, ".tsx"));
}
const resolvedPath = candidates.find((c) => filePathSet.has(c));
if (resolvedPath)
return { resolvedPath, attemptedPath: basePath };
return { resolvedPath: null, attemptedPath: basePath };
}
function maskCommentsAndTemplateLiterals(content, options = {}) {

@@ -109,0 +159,0 @@ const chars = content.split("");

@@ -5,3 +5,3 @@ export type RepoFileParseStatus = "parsed" | "skipped" | "too_large" | "binary" | "unsupported" | "error";

export type RepoImportKind = "import" | "require" | "dynamic_import" | "export_from" | "include" | "use";
export type RepoImportResolutionKind = "relative_path" | "tsconfig_alias" | "package" | "unresolved" | "builtin";
export type RepoImportResolutionKind = "relative_path" | "tsconfig_alias" | "workspace_package" | "package" | "unresolved" | "builtin";
export type RepoExportKind = "named" | "default" | "wildcard" | "re_export";

@@ -8,0 +8,0 @@ export type RepoParseIssueSeverity = "info" | "warning" | "error";

@@ -1,1 +0,1 @@

{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/parsers/types.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/parsers/types.ts"],"names":[],"mappings":"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"}
import type { WorkspaceFileCandidate } from "../file-discovery.js";
import type { TypeScriptResolverConfig } from "../ts-resolver.js";
import type { TypeScriptResolverConfig, WorkspacePackageMap } from "../ts-resolver.js";
import type { ParsedWorkspaceSemantics } from "./types.js";
export declare function parseTypeScriptOrJavaScriptFile(file: WorkspaceFileCandidate, filePathSet: Set<string>, projectImportId: string, workspacePath: string, resolverConfigs: TypeScriptResolverConfig[]): ParsedWorkspaceSemantics;
export declare function parseTypeScriptOrJavaScriptFile(file: WorkspaceFileCandidate, filePathSet: Set<string>, projectImportId: string, workspacePath: string, resolverConfigs: TypeScriptResolverConfig[], workspacePackageMap?: WorkspacePackageMap): ParsedWorkspaceSemantics;
//# sourceMappingURL=typescript.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../src/parsers/typescript.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AASnE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAKV,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAumBpB,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,sBAAsB,EAC5B,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,EACxB,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,wBAAwB,EAAE,GAC1C,wBAAwB,CA+B1B"}
{"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../src/parsers/typescript.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAUvF,OAAO,KAAK,EAKV,wBAAwB,EACzB,MAAM,YAAY,CAAC;AA4mBpB,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,sBAAsB,EAC5B,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,EACxB,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,wBAAwB,EAAE,EAC3C,mBAAmB,GAAE,mBAAwB,GAC5C,wBAAwB,CA+B1B"}

@@ -19,3 +19,3 @@ "use strict";

// ─── Import/export extraction ─────────────────────────────────────────────────
function extractImportsWithAst(file, sourceFile, filePathSet, projectImportId, workspacePath, resolverConfigs) {
function extractImportsWithAst(file, sourceFile, filePathSet, projectImportId, workspacePath, resolverConfigs, workspacePackageMap) {
const imports = [];

@@ -41,5 +41,8 @@ const exports = [];

: null;
const workspaceResolution = !isRelative && !aliasResolution?.matched
? (0, shared_js_1.resolveWorkspacePackageTargetPath)(workspacePath, moduleSpecifier, file.language, filePathSet, workspacePackageMap)
: null;
const resolution = isRelative
? (0, shared_js_1.resolveRelativeTargetPath)(file.path, moduleSpecifier, file.language, filePathSet)
: (aliasResolution ?? { resolvedPath: null, attemptedPath: null });
: (aliasResolution ?? workspaceResolution ?? { resolvedPath: null, attemptedPath: null });
const importLocalKey = (0, shared_js_1.buildImportLocalKey)(file.path, importKind, moduleSpecifier, line, col);

@@ -59,9 +62,10 @@ imports.push({

: aliasResolution?.resolvedPath ? "tsconfig_alias"
: aliasResolution?.matched ? "unresolved" : "package",
: workspaceResolution?.resolvedPath ? "workspace_package"
: aliasResolution?.matched || workspaceResolution ? "unresolved" : "package",
targetPathText: resolution.resolvedPath ?? resolution.attemptedPath,
targetExternalSymbolKey: isRelative || aliasResolution?.matched
targetExternalSymbolKey: isRelative || aliasResolution?.matched || workspaceResolution
? null
: `${file.language?.toLowerCase()}:${moduleSpecifier}`,
});
if (!isRelative && !aliasResolution?.matched) {
if (!isRelative && !aliasResolution?.matched && !workspaceResolution) {
externalSymbols.push((0, shared_js_1.createExternalSymbolDraft)(projectImportId, file.language, moduleSpecifier));

@@ -527,5 +531,5 @@ }

// ─── Entry point ──────────────────────────────────────────────────────────────
function parseTypeScriptOrJavaScriptFile(file, filePathSet, projectImportId, workspacePath, resolverConfigs) {
function parseTypeScriptOrJavaScriptFile(file, filePathSet, projectImportId, workspacePath, resolverConfigs, workspacePackageMap = {}) {
const sourceFile = createSourceFile(file);
const { imports, exports, issues, externalSymbols } = extractImportsWithAst(file, sourceFile, filePathSet, projectImportId, workspacePath, resolverConfigs);
const { imports, exports, issues, externalSymbols } = extractImportsWithAst(file, sourceFile, filePathSet, projectImportId, workspacePath, resolverConfigs, workspacePackageMap);
const { symbols: astSymbols, relationships } = extractSymbolsWithAst(file, sourceFile);

@@ -532,0 +536,0 @@ const calls = extractCallsWithAst(file, sourceFile);

@@ -17,2 +17,16 @@ export interface TypeScriptPathAliasPattern {

export declare function loadTypeScriptResolverConfigs(workspacePath: string): Promise<TypeScriptResolverConfig[]>;
/**
* Workspace package name → source directory mapping.
* e.g. { "@codemap-ai/core": "packages/core/src" }
*/
export interface WorkspacePackageMap {
[packageName: string]: string;
}
/**
* Scan workspace for package.json files and build a map of
* package name → workspace-relative source directory.
* Checks for src/ dir first, falls back to package root.
* ponytail: no exports field parsing — add when subpath imports needed
*/
export declare function loadWorkspacePackageMap(workspacePath: string): Promise<WorkspacePackageMap>;
//# sourceMappingURL=ts-resolver.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"ts-resolver.d.ts","sourceRoot":"","sources":["../src/ts-resolver.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,0BAA0B,EAAE,CAAC;CAC3C;AAOD,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,UAKnB;AA2CD,wBAAsB,6BAA6B,CACjD,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAwErC"}
{"version":3,"file":"ts-resolver.d.ts","sourceRoot":"","sources":["../src/ts-resolver.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,0BAA0B,EAAE,CAAC;CAC3C;AAOD,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,UAKnB;AA2CD,wBAAsB,6BAA6B,CACjD,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAwErC;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/B;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,mBAAmB,CAAC,CA6D9B"}

@@ -8,2 +8,3 @@ "use strict";

exports.loadTypeScriptResolverConfigs = loadTypeScriptResolverConfigs;
exports.loadWorkspacePackageMap = loadWorkspacePackageMap;
const promises_1 = require("node:fs/promises");

@@ -112,1 +113,72 @@ const node_path_1 = __importDefault(require("node:path"));

}
/**
* Scan workspace for package.json files and build a map of
* package name → workspace-relative source directory.
* Checks for src/ dir first, falls back to package root.
* ponytail: no exports field parsing — add when subpath imports needed
*/
async function loadWorkspacePackageMap(workspacePath) {
const map = {};
const pkgDirs = [];
// Read pnpm-workspace.yaml or package.json workspaces
try {
const rootPkg = JSON.parse(await (0, promises_1.readFile)(node_path_1.default.join(workspacePath, "package.json"), "utf8"));
if (Array.isArray(rootPkg.workspaces)) {
pkgDirs.push(...rootPkg.workspaces);
}
}
catch { /* no root package.json */ }
if (pkgDirs.length === 0) {
try {
const yamlContent = await (0, promises_1.readFile)(node_path_1.default.join(workspacePath, "pnpm-workspace.yaml"), "utf8");
// Simple YAML array parse — covers "- 'packages/*'" pattern
for (const line of yamlContent.split("\n")) {
const m = line.match(/^\s*-\s+['"]?([^'"]+)['"]?\s*$/);
if (m)
pkgDirs.push(m[1]);
}
}
catch { /* no pnpm-workspace.yaml */ }
}
if (pkgDirs.length === 0)
return map;
// Expand glob patterns like "packages/*"
const expandedDirs = [];
for (const pattern of pkgDirs) {
if (pattern.endsWith("/*")) {
const parentDir = node_path_1.default.join(workspacePath, pattern.slice(0, -2));
try {
const entries = await (0, promises_1.readdir)(parentDir, { withFileTypes: true });
for (const entry of entries) {
if (entry.isDirectory() && !entry.name.startsWith(".")) {
expandedDirs.push(node_path_1.default.join(parentDir, entry.name));
}
}
}
catch { /* dir doesn't exist */ }
}
else {
expandedDirs.push(node_path_1.default.join(workspacePath, pattern));
}
}
for (const dir of expandedDirs) {
try {
const pkg = JSON.parse(await (0, promises_1.readFile)(node_path_1.default.join(dir, "package.json"), "utf8"));
if (!pkg.name)
continue;
const relDir = node_path_1.default.relative(workspacePath, dir).split(node_path_1.default.sep).join("/");
// Prefer src/ subdir if it exists
try {
const srcStat = await (0, promises_1.lstat)(node_path_1.default.join(dir, "src"));
if (srcStat.isDirectory()) {
map[pkg.name] = relDir + "/src";
continue;
}
}
catch { /* no src/ dir */ }
map[pkg.name] = relDir;
}
catch { /* no package.json in this dir */ }
}
return map;
}
{
"name": "@codemap-ai/code-index",
"version": "3.1.2",
"version": "3.2.0",
"main": "dist/index.js",

@@ -10,2 +10,3 @@ "types": "dist/index.d.ts",

"dependencies": {
"ignore": "^7.0.5",
"tree-sitter-python": "^0.25.0",

@@ -12,0 +13,0 @@ "tree-sitter-wasms": "^0.1.13",