codingbuddy 0.0.0-canary.20260108050746.gfae72df → 0.0.0-canary.20260108060016.g9b2ee10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -11,6 +11,8 @@ export declare class ConfigLoadError extends Error {
|
|
|
11
11
|
constructor(message: string, filePath: string, cause?: Error | undefined);
|
|
12
12
|
}
|
|
13
13
|
export declare function findConfigFile(projectRoot: string): string | null;
|
|
14
|
+
export declare function clearProjectRootCache(): void;
|
|
15
|
+
export declare function getProjectRootCacheSize(): number;
|
|
14
16
|
export declare function findProjectRoot(startDir?: string): string;
|
|
15
17
|
export declare function loadJsConfig(filePath: string): Promise<unknown>;
|
|
16
18
|
export declare function loadJsonConfig(filePath: string): Promise<unknown>;
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ConfigLoadError = exports.CONFIG_FILE_NAMES = void 0;
|
|
4
4
|
exports.findConfigFile = findConfigFile;
|
|
5
|
+
exports.clearProjectRootCache = clearProjectRootCache;
|
|
6
|
+
exports.getProjectRootCacheSize = getProjectRootCacheSize;
|
|
5
7
|
exports.findProjectRoot = findProjectRoot;
|
|
6
8
|
exports.loadJsConfig = loadJsConfig;
|
|
7
9
|
exports.loadJsonConfig = loadJsonConfig;
|
|
@@ -40,17 +42,44 @@ function findConfigFile(projectRoot) {
|
|
|
40
42
|
return null;
|
|
41
43
|
}
|
|
42
44
|
const MAX_PARENT_TRAVERSAL = 10;
|
|
45
|
+
const MAX_CACHE_SIZE = 100;
|
|
46
|
+
const projectRootCache = new Map();
|
|
47
|
+
function setCacheEntry(key, value) {
|
|
48
|
+
if (projectRootCache.has(key)) {
|
|
49
|
+
projectRootCache.delete(key);
|
|
50
|
+
}
|
|
51
|
+
while (projectRootCache.size >= MAX_CACHE_SIZE) {
|
|
52
|
+
const oldestKey = projectRootCache.keys().next().value;
|
|
53
|
+
if (oldestKey !== undefined) {
|
|
54
|
+
projectRootCache.delete(oldestKey);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
projectRootCache.set(key, value);
|
|
58
|
+
}
|
|
59
|
+
function clearProjectRootCache() {
|
|
60
|
+
projectRootCache.clear();
|
|
61
|
+
}
|
|
62
|
+
function getProjectRootCacheSize() {
|
|
63
|
+
return projectRootCache.size;
|
|
64
|
+
}
|
|
43
65
|
function findProjectRoot(startDir) {
|
|
44
66
|
const start = startDir ?? process.cwd();
|
|
45
|
-
|
|
67
|
+
const resolvedStart = path.resolve(start);
|
|
68
|
+
const cached = projectRootCache.get(resolvedStart);
|
|
69
|
+
if (cached !== undefined) {
|
|
70
|
+
return cached;
|
|
71
|
+
}
|
|
72
|
+
let currentDir = resolvedStart;
|
|
46
73
|
let traversalCount = 0;
|
|
74
|
+
let firstPackageJsonDir = null;
|
|
47
75
|
while (traversalCount < MAX_PARENT_TRAVERSAL) {
|
|
48
76
|
if (findConfigFile(currentDir) !== null) {
|
|
77
|
+
setCacheEntry(resolvedStart, currentDir);
|
|
49
78
|
return currentDir;
|
|
50
79
|
}
|
|
51
80
|
const packageJsonPath = path.join(currentDir, 'package.json');
|
|
52
|
-
if ((0, fs_1.existsSync)(packageJsonPath)) {
|
|
53
|
-
|
|
81
|
+
if ((0, fs_1.existsSync)(packageJsonPath) && firstPackageJsonDir === null) {
|
|
82
|
+
firstPackageJsonDir = currentDir;
|
|
54
83
|
}
|
|
55
84
|
const parentDir = path.dirname(currentDir);
|
|
56
85
|
if (parentDir === currentDir) {
|
|
@@ -59,7 +88,9 @@ function findProjectRoot(startDir) {
|
|
|
59
88
|
currentDir = parentDir;
|
|
60
89
|
traversalCount++;
|
|
61
90
|
}
|
|
62
|
-
|
|
91
|
+
const result = firstPackageJsonDir ?? start;
|
|
92
|
+
setCacheEntry(resolvedStart, result);
|
|
93
|
+
return result;
|
|
63
94
|
}
|
|
64
95
|
async function loadJsConfig(filePath) {
|
|
65
96
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.loader.js","sourceRoot":"","sources":["../../../src/config/config.loader.ts"],"names":[],"mappings":";;;AA4CA,wCAQC;
|
|
1
|
+
{"version":3,"file":"config.loader.js","sourceRoot":"","sources":["../../../src/config/config.loader.ts"],"names":[],"mappings":"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"}
|