@warlock.js/core 4.0.1 → 4.0.2
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.
- package/cjs/dev2-server/config-loader.d.ts.map +1 -1
- package/cjs/dev2-server/config-loader.js +9 -4
- package/cjs/dev2-server/config-loader.js.map +1 -1
- package/cjs/dev2-server/connectors/base-connector.d.ts.map +1 -1
- package/cjs/dev2-server/connectors/base-connector.js +2 -2
- package/cjs/dev2-server/connectors/base-connector.js.map +1 -1
- package/cjs/dev2-server/connectors/database-connector.d.ts.map +1 -1
- package/cjs/dev2-server/connectors/database-connector.js +5 -1
- package/cjs/dev2-server/connectors/database-connector.js.map +1 -1
- package/cjs/dev2-server/dependency-graph.d.ts +9 -2
- package/cjs/dev2-server/dependency-graph.d.ts.map +1 -1
- package/cjs/dev2-server/dependency-graph.js +47 -6
- package/cjs/dev2-server/dependency-graph.js.map +1 -1
- package/cjs/dev2-server/dev-logger.js +1 -13
- package/cjs/dev2-server/dev-logger.js.map +1 -1
- package/cjs/dev2-server/development-server.d.ts.map +1 -1
- package/cjs/dev2-server/development-server.js +25 -13
- package/cjs/dev2-server/development-server.js.map +1 -1
- package/cjs/dev2-server/file-manager.d.ts +6 -1
- package/cjs/dev2-server/file-manager.d.ts.map +1 -1
- package/cjs/dev2-server/file-manager.js +6 -1
- package/cjs/dev2-server/file-manager.js.map +1 -1
- package/cjs/dev2-server/file-operations.js +4 -4
- package/cjs/dev2-server/file-operations.js.map +1 -1
- package/cjs/dev2-server/files-orchestrator.d.ts.map +1 -1
- package/cjs/dev2-server/files-orchestrator.js +10 -8
- package/cjs/dev2-server/files-orchestrator.js.map +1 -1
- package/cjs/dev2-server/import-transformer.d.ts.map +1 -1
- package/cjs/dev2-server/import-transformer.js +37 -8
- package/cjs/dev2-server/import-transformer.js.map +1 -1
- package/cjs/dev2-server/layer-executor.d.ts.map +1 -1
- package/cjs/dev2-server/layer-executor.js +67 -62
- package/cjs/dev2-server/layer-executor.js.map +1 -1
- package/cjs/dev2-server/module-loader.d.ts.map +1 -1
- package/cjs/dev2-server/module-loader.js +14 -15
- package/cjs/dev2-server/module-loader.js.map +1 -1
- package/cjs/dev2-server/parse-imports.d.ts.map +1 -1
- package/cjs/dev2-server/parse-imports.js +97 -43
- package/cjs/dev2-server/parse-imports.js.map +1 -1
- package/cjs/dev2-server/runtime-import-helper.d.ts.map +1 -1
- package/cjs/dev2-server/runtime-import-helper.js +86 -8
- package/cjs/dev2-server/runtime-import-helper.js.map +1 -1
- package/cjs/dev2-server/special-files-collector.d.ts +4 -4
- package/cjs/dev2-server/special-files-collector.js +9 -9
- package/cjs/dev2-server/special-files-collector.js.map +1 -1
- package/cjs/dev2-server/transpile-file.d.ts +4 -0
- package/cjs/dev2-server/transpile-file.d.ts.map +1 -1
- package/cjs/dev2-server/transpile-file.js +20 -3
- package/cjs/dev2-server/transpile-file.js.map +1 -1
- package/cjs/dev2-server/tsconfig-manager.d.ts +2 -2
- package/cjs/dev2-server/tsconfig-manager.d.ts.map +1 -1
- package/cjs/dev2-server/tsconfig-manager.js +8 -7
- package/cjs/dev2-server/tsconfig-manager.js.map +1 -1
- package/cjs/router/route-registry.d.ts +4 -0
- package/cjs/router/route-registry.d.ts.map +1 -1
- package/cjs/router/route-registry.js +26 -7
- package/cjs/router/route-registry.js.map +1 -1
- package/cjs/router/router.d.ts +0 -1
- package/cjs/router/router.d.ts.map +1 -1
- package/cjs/router/router.js +0 -4
- package/cjs/router/router.js.map +1 -1
- package/cjs/router/types.d.ts +2 -2
- package/cjs/router/types.d.ts.map +1 -1
- package/esm/dev2-server/config-loader.d.ts.map +1 -1
- package/esm/dev2-server/config-loader.js +9 -4
- package/esm/dev2-server/config-loader.js.map +1 -1
- package/esm/dev2-server/connectors/base-connector.d.ts.map +1 -1
- package/esm/dev2-server/connectors/base-connector.js +2 -2
- package/esm/dev2-server/connectors/base-connector.js.map +1 -1
- package/esm/dev2-server/connectors/database-connector.d.ts.map +1 -1
- package/esm/dev2-server/connectors/database-connector.js +5 -1
- package/esm/dev2-server/connectors/database-connector.js.map +1 -1
- package/esm/dev2-server/dependency-graph.d.ts +9 -2
- package/esm/dev2-server/dependency-graph.d.ts.map +1 -1
- package/esm/dev2-server/dependency-graph.js +47 -6
- package/esm/dev2-server/dependency-graph.js.map +1 -1
- package/esm/dev2-server/dev-logger.js +1 -13
- package/esm/dev2-server/dev-logger.js.map +1 -1
- package/esm/dev2-server/development-server.d.ts.map +1 -1
- package/esm/dev2-server/development-server.js +25 -13
- package/esm/dev2-server/development-server.js.map +1 -1
- package/esm/dev2-server/file-manager.d.ts +6 -1
- package/esm/dev2-server/file-manager.d.ts.map +1 -1
- package/esm/dev2-server/file-manager.js +6 -1
- package/esm/dev2-server/file-manager.js.map +1 -1
- package/esm/dev2-server/file-operations.js +4 -4
- package/esm/dev2-server/file-operations.js.map +1 -1
- package/esm/dev2-server/files-orchestrator.d.ts.map +1 -1
- package/esm/dev2-server/files-orchestrator.js +10 -8
- package/esm/dev2-server/files-orchestrator.js.map +1 -1
- package/esm/dev2-server/import-transformer.d.ts.map +1 -1
- package/esm/dev2-server/import-transformer.js +37 -8
- package/esm/dev2-server/import-transformer.js.map +1 -1
- package/esm/dev2-server/layer-executor.d.ts.map +1 -1
- package/esm/dev2-server/layer-executor.js +68 -63
- package/esm/dev2-server/layer-executor.js.map +1 -1
- package/esm/dev2-server/module-loader.d.ts.map +1 -1
- package/esm/dev2-server/module-loader.js +15 -16
- package/esm/dev2-server/module-loader.js.map +1 -1
- package/esm/dev2-server/parse-imports.d.ts.map +1 -1
- package/esm/dev2-server/parse-imports.js +98 -44
- package/esm/dev2-server/parse-imports.js.map +1 -1
- package/esm/dev2-server/runtime-import-helper.d.ts.map +1 -1
- package/esm/dev2-server/runtime-import-helper.js +86 -8
- package/esm/dev2-server/runtime-import-helper.js.map +1 -1
- package/esm/dev2-server/special-files-collector.d.ts +4 -4
- package/esm/dev2-server/special-files-collector.js +9 -9
- package/esm/dev2-server/special-files-collector.js.map +1 -1
- package/esm/dev2-server/transpile-file.d.ts +4 -0
- package/esm/dev2-server/transpile-file.d.ts.map +1 -1
- package/esm/dev2-server/transpile-file.js +20 -3
- package/esm/dev2-server/transpile-file.js.map +1 -1
- package/esm/dev2-server/tsconfig-manager.d.ts +2 -2
- package/esm/dev2-server/tsconfig-manager.d.ts.map +1 -1
- package/esm/dev2-server/tsconfig-manager.js +8 -7
- package/esm/dev2-server/tsconfig-manager.js.map +1 -1
- package/esm/router/route-registry.d.ts +4 -0
- package/esm/router/route-registry.d.ts.map +1 -1
- package/esm/router/route-registry.js +26 -7
- package/esm/router/route-registry.js.map +1 -1
- package/esm/router/router.d.ts +0 -1
- package/esm/router/router.d.ts.map +1 -1
- package/esm/router/router.js +1 -5
- package/esm/router/router.js.map +1 -1
- package/esm/router/types.d.ts +2 -2
- package/esm/router/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/cjs/dev-server/file-health.d.ts +0 -9
- package/cjs/dev-server/file-health.d.ts.map +0 -1
- package/cjs/dev-server/file-manager.d.ts +0 -39
- package/cjs/dev-server/file-manager.d.ts.map +0 -1
- package/cjs/dev-server/files-orchestrator.d.ts +0 -1
- package/cjs/dev-server/files-orchestrator.d.ts.map +0 -1
- package/cjs/dev-server/types.d.ts +0 -2
- package/cjs/dev-server/types.d.ts.map +0 -1
- package/esm/dev-server/file-health.d.ts +0 -9
- package/esm/dev-server/file-health.d.ts.map +0 -1
- package/esm/dev-server/file-manager.d.ts +0 -39
- package/esm/dev-server/file-manager.d.ts.map +0 -1
- package/esm/dev-server/files-orchestrator.d.ts +0 -1
- package/esm/dev-server/files-orchestrator.d.ts.map +0 -1
- package/esm/dev-server/types.d.ts +0 -2
- package/esm/dev-server/types.d.ts.map +0 -1
|
@@ -5,51 +5,86 @@
|
|
|
5
5
|
function extractImportPathsWithRegex(source) {
|
|
6
6
|
const imports = [];
|
|
7
7
|
const seenPaths = new Set();
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Check if an import line is type-only
|
|
10
|
+
* Handles:
|
|
11
|
+
* - import type { Foo } from "module"
|
|
12
|
+
* - import type Foo from "module"
|
|
13
|
+
* - import type * as Foo from "module"
|
|
14
|
+
*/
|
|
15
|
+
const isTypeOnlyImport = (line) => {
|
|
10
16
|
const trimmed = line.trim();
|
|
11
17
|
return (trimmed.startsWith("import type ") ||
|
|
12
|
-
!!trimmed.match(
|
|
18
|
+
!!trimmed.match(/^import\s+type\s+[\{\*]/));
|
|
13
19
|
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Check if an import has any runtime (non-type) imports
|
|
22
|
+
* Handles mixed imports: import { type Foo, runtimeBar } from "module"
|
|
23
|
+
* Returns true if there are runtime imports (should be tracked)
|
|
24
|
+
*/
|
|
25
|
+
const hasRuntimeImports = (line) => {
|
|
19
26
|
const trimmed = line.trim();
|
|
27
|
+
// If it's a pure type-only import, no runtime imports
|
|
28
|
+
if (isTypeOnlyImport(trimmed)) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
// Extract the import specifiers part: import { ... } from "module"
|
|
32
|
+
const specifiersMatch = trimmed.match(/import\s+\{([^}]+)\}/);
|
|
33
|
+
if (!specifiersMatch) {
|
|
34
|
+
// Not a destructured import, or it's a default/namespace import
|
|
35
|
+
// These are runtime imports unless marked with "import type"
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
const specifiers = specifiersMatch[1];
|
|
39
|
+
// Split by comma and check each specifier
|
|
40
|
+
const items = specifiers.split(',').map(s => s.trim());
|
|
41
|
+
// Check if ALL items are type-only (prefixed with "type ")
|
|
42
|
+
const allTypeOnly = items.every(item => {
|
|
43
|
+
// Match: "type Foo" or "type Foo as Bar"
|
|
44
|
+
return /^type\s+\w+/.test(item);
|
|
45
|
+
});
|
|
46
|
+
// If all are type-only, this import has no runtime imports
|
|
47
|
+
// Otherwise, it has at least one runtime import
|
|
48
|
+
return !allTypeOnly;
|
|
49
|
+
};
|
|
50
|
+
// Pattern 1: Standard ES module imports (handles multiline)
|
|
51
|
+
// Matches: import { ... } from "path", import Foo from "path", import Foo, { ... } from "path"
|
|
52
|
+
const importRegex = /import\s+(?:type\s+)?(\{[\s\S]*?\}|\*\s+as\s+\w+|\w+(?:\s*,\s*\{[\s\S]*?\})?)\s+from\s+['"]([^'"]+)['"]/g;
|
|
53
|
+
let match;
|
|
54
|
+
while ((match = importRegex.exec(source)) !== null) {
|
|
55
|
+
const fullMatch = match[0];
|
|
56
|
+
match[1];
|
|
57
|
+
const importPath = match[2];
|
|
20
58
|
// Skip type-only imports
|
|
21
|
-
if (
|
|
59
|
+
if (fullMatch.match(/^import\s+type\s+/)) {
|
|
22
60
|
continue;
|
|
23
61
|
}
|
|
24
|
-
//
|
|
25
|
-
|
|
26
|
-
if (fromMatch && trimmed.startsWith("import")) {
|
|
27
|
-
const importPath = fromMatch[1];
|
|
28
|
-
if (importPath && !seenPaths.has(importPath)) {
|
|
29
|
-
seenPaths.add(importPath);
|
|
30
|
-
imports.push({
|
|
31
|
-
path: importPath,
|
|
32
|
-
originalLine: line,
|
|
33
|
-
});
|
|
34
|
-
}
|
|
62
|
+
// Skip if it's a mixed import with only types
|
|
63
|
+
if (!hasRuntimeImports(fullMatch)) {
|
|
35
64
|
continue;
|
|
36
65
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
66
|
+
if (importPath && !seenPaths.has(importPath)) {
|
|
67
|
+
seenPaths.add(importPath);
|
|
68
|
+
imports.push({
|
|
69
|
+
path: importPath,
|
|
70
|
+
originalLine: fullMatch,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
// Pattern 1b: Side-effect imports - import "path"
|
|
75
|
+
const sideEffectRegex = /import\s+['"]([^'"]+)['"]/g;
|
|
76
|
+
while ((match = sideEffectRegex.exec(source)) !== null) {
|
|
77
|
+
const importPath = match[1];
|
|
78
|
+
if (importPath && !seenPaths.has(importPath)) {
|
|
79
|
+
seenPaths.add(importPath);
|
|
80
|
+
imports.push({
|
|
81
|
+
path: importPath,
|
|
82
|
+
originalLine: match[0],
|
|
83
|
+
});
|
|
48
84
|
}
|
|
49
85
|
}
|
|
50
86
|
// Pattern 2: Dynamic imports - import("path")
|
|
51
87
|
const dynamicImportPattern = /import\s*\(\s*['"]([^'"]+)['"]\s*\)/g;
|
|
52
|
-
let match;
|
|
53
88
|
while ((match = dynamicImportPattern.exec(source)) !== null) {
|
|
54
89
|
const importPath = match[1];
|
|
55
90
|
if (importPath && !seenPaths.has(importPath)) {
|
|
@@ -61,14 +96,20 @@ function extractImportPathsWithRegex(source) {
|
|
|
61
96
|
}
|
|
62
97
|
}
|
|
63
98
|
// Pattern 3: Export from - export ... from "path"
|
|
99
|
+
// Skip export type statements (e.g., export type { Foo } from "module")
|
|
64
100
|
const exportFromPattern = /export\s+(?:\{[^}]*\}|\*|\w+)\s+from\s+['"]([^'"]+)['"]/g;
|
|
65
101
|
while ((match = exportFromPattern.exec(source)) !== null) {
|
|
102
|
+
const fullMatch = match[0];
|
|
103
|
+
// Skip type-only exports: export type ... from "module"
|
|
104
|
+
if (/^export\s+type\s+/.test(fullMatch)) {
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
66
107
|
const importPath = match[1];
|
|
67
108
|
if (importPath && !seenPaths.has(importPath)) {
|
|
68
109
|
seenPaths.add(importPath);
|
|
69
110
|
imports.push({
|
|
70
111
|
path: importPath,
|
|
71
|
-
originalLine:
|
|
112
|
+
originalLine: fullMatch,
|
|
72
113
|
});
|
|
73
114
|
}
|
|
74
115
|
}
|
|
@@ -191,6 +232,16 @@ async function resolveRelativeImport(importPath, currentFilePath) {
|
|
|
191
232
|
* @TODO: For better performance, we need to check the files in files orchestrator
|
|
192
233
|
* instead of using the file system as we will be fetching all project files anyway.
|
|
193
234
|
*/
|
|
235
|
+
// Cache for file existence checks to avoid redundant filesystem calls
|
|
236
|
+
const fileExistsCache = new Map();
|
|
237
|
+
async function cachedFileExists(filePath) {
|
|
238
|
+
if (fileExistsCache.has(filePath)) {
|
|
239
|
+
return fileExistsCache.get(filePath);
|
|
240
|
+
}
|
|
241
|
+
const exists = await fs.fileExistsAsync(filePath);
|
|
242
|
+
fileExistsCache.set(filePath, exists);
|
|
243
|
+
return exists;
|
|
244
|
+
}
|
|
194
245
|
async function tryResolveWithExtensions(basePath) {
|
|
195
246
|
// Normalize the base path first (handle Windows paths)
|
|
196
247
|
const normalizedBase = path$1.Path.normalize(basePath);
|
|
@@ -200,25 +251,28 @@ async function tryResolveWithExtensions(basePath) {
|
|
|
200
251
|
// If the path already has a VALID code file extension, check if it exists
|
|
201
252
|
const ext = path__default.default.extname(normalizedBase);
|
|
202
253
|
if (ext && validExtensions.has(ext)) {
|
|
203
|
-
if (await
|
|
254
|
+
if (await cachedFileExists(normalizedBase)) {
|
|
204
255
|
return normalizedBase;
|
|
205
256
|
}
|
|
206
257
|
// If explicit extension doesn't exist, return null
|
|
207
258
|
return null;
|
|
208
259
|
}
|
|
209
|
-
// Try
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
260
|
+
// Try all extensions in parallel for better performance
|
|
261
|
+
const pathsToCheck = extensions.map(extension => normalizedBase + extension);
|
|
262
|
+
const results = await Promise.all(pathsToCheck.map(async (p) => ({ path: p, exists: await cachedFileExists(p) })));
|
|
263
|
+
// Return the first one that exists (in order of preference)
|
|
264
|
+
for (const result of results) {
|
|
265
|
+
if (result.exists) {
|
|
266
|
+
return result.path;
|
|
214
267
|
}
|
|
215
268
|
}
|
|
216
269
|
// Try index files in directory
|
|
217
270
|
if (await fs.isDirectoryAsync(normalizedBase)) {
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
271
|
+
const indexPaths = extensions.map(extension => path$1.Path.join(normalizedBase, `index${extension}`));
|
|
272
|
+
const indexResults = await Promise.all(indexPaths.map(async (p) => ({ path: p, exists: await cachedFileExists(p) })));
|
|
273
|
+
for (const result of indexResults) {
|
|
274
|
+
if (result.exists) {
|
|
275
|
+
return result.path;
|
|
222
276
|
}
|
|
223
277
|
}
|
|
224
278
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-imports.js","sources":["../../src/dev2-server/parse-imports.ts"],"sourcesContent":[null],"names":["parse","tsconfigManager","path","Path","fileExistsAsync","isDirectoryAsync"
|
|
1
|
+
{"version":3,"file":"parse-imports.js","sources":["../../src/dev2-server/parse-imports.ts"],"sourcesContent":[null],"names":["parse","tsconfigManager","path","Path","fileExistsAsync","isDirectoryAsync"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-import-helper.d.ts","sourceRoot":"","sources":["../../src/dev2-server/runtime-import-helper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runtime-import-helper.d.ts","sourceRoot":"","sources":["../../src/dev2-server/runtime-import-helper.ts"],"names":[],"mappings":"AA4LA,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,qBAAqB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5E,IAAI,oBAAoB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,IAAI,wBAAwB,EAAE,MAAM,IAAI,CAAC;IACzC,IAAI,kBAAkB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CACpE;AAGD,wBAAgB,6BAA6B,IAAI,IAAI,CAMpD"}
|
|
@@ -15,26 +15,81 @@
|
|
|
15
15
|
*/
|
|
16
16
|
const moduleVersions = new Map();
|
|
17
17
|
/**
|
|
18
|
-
*
|
|
18
|
+
* Modules currently being loaded
|
|
19
|
+
* Used to detect and handle circular dependencies
|
|
20
|
+
*/
|
|
21
|
+
const loadingModules = new Set();
|
|
22
|
+
/**
|
|
23
|
+
* Module import promise cache
|
|
24
|
+
* Maps module paths to their import promises
|
|
25
|
+
* Prevents duplicate imports and handles circular dependencies
|
|
26
|
+
*/
|
|
27
|
+
const modulePromises = new Map();
|
|
28
|
+
/**
|
|
29
|
+
* Get last version of timestamp for a module
|
|
30
|
+
* if not found set it then return it
|
|
31
|
+
*/
|
|
32
|
+
function useModuleVersion(modulePath) {
|
|
33
|
+
const cleanPath = modulePath.startsWith("./")
|
|
34
|
+
? modulePath.slice(2)
|
|
35
|
+
: modulePath;
|
|
36
|
+
if (!moduleVersions.has(cleanPath)) {
|
|
37
|
+
moduleVersions.set(cleanPath, Date.now());
|
|
38
|
+
}
|
|
39
|
+
return moduleVersions.get(cleanPath);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Dynamic import with cache busting and circular dependency protection
|
|
19
43
|
*
|
|
20
44
|
* @param modulePath - The relative cache path (e.g., "./src-app-users-shared-utils.js")
|
|
21
45
|
* @returns The imported module
|
|
22
46
|
*/
|
|
23
47
|
async function __import(modulePath) {
|
|
24
|
-
//
|
|
25
|
-
const timestamp = moduleVersions.get(modulePath) || Date.now();
|
|
26
|
-
// Resolve the module path relative to the cache directory
|
|
27
|
-
// Remove leading "./" if present
|
|
48
|
+
// Normalize the module path (remove leading "./" if present)
|
|
28
49
|
const cleanPath = modulePath.startsWith("./")
|
|
29
50
|
? modulePath.slice(2)
|
|
30
51
|
: modulePath;
|
|
52
|
+
// Check if this module is already being loaded (circular dependency detected)
|
|
53
|
+
if (loadingModules.has(cleanPath)) {
|
|
54
|
+
// Return the existing promise - this prevents deadlock
|
|
55
|
+
// The promise should already be cached since we cache it before marking as loading
|
|
56
|
+
const existingPromise = modulePromises.get(cleanPath);
|
|
57
|
+
if (existingPromise) {
|
|
58
|
+
return existingPromise;
|
|
59
|
+
}
|
|
60
|
+
// This should rarely happen, but handle the edge case where promise isn't cached yet
|
|
61
|
+
// This can occur in a race condition scenario
|
|
62
|
+
throw new Error(`Circular dependency detected: Module "${cleanPath}" is being loaded but no promise is cached. This may indicate a timing issue in module loading.`);
|
|
63
|
+
}
|
|
64
|
+
// Get the current version timestamp for this module
|
|
65
|
+
const timestamp = useModuleVersion(modulePath);
|
|
66
|
+
// Resolve the module path relative to the cache directory
|
|
31
67
|
const absolutePath = utils.warlockCachePath(cleanPath);
|
|
32
68
|
// Convert to file:// URL for cross-platform compatibility
|
|
33
69
|
const fileUrl = node_url.pathToFileURL(absolutePath).href;
|
|
34
70
|
// Append timestamp as query parameter to bust cache
|
|
35
71
|
const moduleUrl = `${fileUrl}?t=${timestamp}`;
|
|
36
|
-
//
|
|
37
|
-
|
|
72
|
+
// Create the import promise and cache it BEFORE marking as loading
|
|
73
|
+
// This ensures circular dependencies can always find the promise
|
|
74
|
+
const importPromise = (function(t){return Promise.resolve().then(function(){return /*#__PURE__*/_interopNamespace(require(t))})})(moduleUrl);
|
|
75
|
+
modulePromises.set(cleanPath, importPromise);
|
|
76
|
+
// Mark module as loading AFTER caching the promise
|
|
77
|
+
// This order is critical for circular dependency handling
|
|
78
|
+
loadingModules.add(cleanPath);
|
|
79
|
+
try {
|
|
80
|
+
// Wait for the import to complete
|
|
81
|
+
const module = await importPromise;
|
|
82
|
+
return module;
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
// Remove from cache on error so it can be retried
|
|
86
|
+
modulePromises.delete(cleanPath);
|
|
87
|
+
throw error;
|
|
88
|
+
}
|
|
89
|
+
finally {
|
|
90
|
+
// Mark module as no longer loading
|
|
91
|
+
loadingModules.delete(cleanPath);
|
|
92
|
+
}
|
|
38
93
|
}
|
|
39
94
|
/**
|
|
40
95
|
* Update the version timestamp for a module
|
|
@@ -44,7 +99,17 @@ async function __import(modulePath) {
|
|
|
44
99
|
* @param timestamp - Optional timestamp (defaults to current time)
|
|
45
100
|
*/
|
|
46
101
|
function __updateModuleVersion(modulePath, timestamp) {
|
|
102
|
+
// Normalize the module path
|
|
103
|
+
const cleanPath = modulePath.startsWith("./")
|
|
104
|
+
? modulePath.slice(2)
|
|
105
|
+
: modulePath;
|
|
106
|
+
// Update the version timestamp
|
|
47
107
|
moduleVersions.set(modulePath, timestamp || Date.now());
|
|
108
|
+
// Clear the cached promise so the new version gets loaded
|
|
109
|
+
// Only clear if the module is not currently loading (to avoid breaking circular deps)
|
|
110
|
+
if (!loadingModules.has(cleanPath)) {
|
|
111
|
+
modulePromises.delete(cleanPath);
|
|
112
|
+
}
|
|
48
113
|
}
|
|
49
114
|
/**
|
|
50
115
|
* Clear version for a module (reset to default behavior)
|
|
@@ -52,13 +117,26 @@ function __updateModuleVersion(modulePath, timestamp) {
|
|
|
52
117
|
* @param modulePath - The path to the module
|
|
53
118
|
*/
|
|
54
119
|
function __clearModuleVersion(modulePath) {
|
|
120
|
+
const cleanPath = modulePath.startsWith("./")
|
|
121
|
+
? modulePath.slice(2)
|
|
122
|
+
: modulePath;
|
|
55
123
|
moduleVersions.delete(modulePath);
|
|
124
|
+
// Clear cached promise if not currently loading
|
|
125
|
+
if (!loadingModules.has(cleanPath)) {
|
|
126
|
+
modulePromises.delete(cleanPath);
|
|
127
|
+
}
|
|
56
128
|
}
|
|
57
129
|
/**
|
|
58
|
-
* Clear all module versions
|
|
130
|
+
* Clear all module versions and caches
|
|
59
131
|
*/
|
|
60
132
|
function __clearAllModuleVersions() {
|
|
61
133
|
moduleVersions.clear();
|
|
134
|
+
// Clear all cached promises that aren't currently loading
|
|
135
|
+
for (const [path] of modulePromises) {
|
|
136
|
+
if (!loadingModules.has(path)) {
|
|
137
|
+
modulePromises.delete(path);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
62
140
|
}
|
|
63
141
|
/**
|
|
64
142
|
* Get current version timestamp for a module
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-import-helper.js","sources":["../../src/dev2-server/runtime-import-helper.ts"],"sourcesContent":[null],"names":["warlockCachePath","pathToFileURL"],"mappings":"6XAGA;;;;;;;;;;AAUG;AAEH;;;AAGG;AACH,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEjD
|
|
1
|
+
{"version":3,"file":"runtime-import-helper.js","sources":["../../src/dev2-server/runtime-import-helper.ts"],"sourcesContent":[null],"names":["warlockCachePath","pathToFileURL"],"mappings":"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"}
|
|
@@ -30,12 +30,12 @@ export declare class SpecialFilesCollector {
|
|
|
30
30
|
private categorizeFile;
|
|
31
31
|
/**
|
|
32
32
|
* Check if file is a config file
|
|
33
|
-
* Pattern: src/config
|
|
33
|
+
* Pattern: src/config/$config.ts
|
|
34
34
|
*/
|
|
35
35
|
private isConfigFile;
|
|
36
36
|
/**
|
|
37
37
|
* Check if file is a main file
|
|
38
|
-
* Pattern: src/app/
|
|
38
|
+
* Pattern: src/app/$module/main.ts
|
|
39
39
|
*/
|
|
40
40
|
private isMainFile;
|
|
41
41
|
/**
|
|
@@ -45,12 +45,12 @@ export declare class SpecialFilesCollector {
|
|
|
45
45
|
private isRouteFile;
|
|
46
46
|
/**
|
|
47
47
|
* Check if file is an event file
|
|
48
|
-
* Pattern: src/app/
|
|
48
|
+
* Pattern: src/app/$module/events/$event.ts
|
|
49
49
|
*/
|
|
50
50
|
private isEventFile;
|
|
51
51
|
/**
|
|
52
52
|
* Check if file is a locale file
|
|
53
|
-
* Pattern: src/app/
|
|
53
|
+
* Pattern: src/app/$module/utils/locales.ts
|
|
54
54
|
*/
|
|
55
55
|
private isLocaleFile;
|
|
56
56
|
/**
|
|
@@ -62,17 +62,17 @@ class SpecialFilesCollector {
|
|
|
62
62
|
}
|
|
63
63
|
/**
|
|
64
64
|
* Check if file is a config file
|
|
65
|
-
* Pattern: src/config
|
|
65
|
+
* Pattern: src/config/$config.ts
|
|
66
66
|
*/
|
|
67
67
|
isConfigFile(path) {
|
|
68
|
-
return
|
|
68
|
+
return /^src\/config\/.*\.(ts|tsx)$/.test(path);
|
|
69
69
|
}
|
|
70
70
|
/**
|
|
71
71
|
* Check if file is a main file
|
|
72
|
-
* Pattern: src/app/
|
|
72
|
+
* Pattern: src/app/$module/main.ts
|
|
73
73
|
*/
|
|
74
74
|
isMainFile(path) {
|
|
75
|
-
return (
|
|
75
|
+
return (/^src\/app\/[^/]+\/main\.(ts|tsx)$/.test(path) ||
|
|
76
76
|
["src/app/main.ts", "src/app/main.tsx"].includes(path));
|
|
77
77
|
}
|
|
78
78
|
/**
|
|
@@ -80,21 +80,21 @@ class SpecialFilesCollector {
|
|
|
80
80
|
* Pattern: src/app/$module/routes.ts
|
|
81
81
|
*/
|
|
82
82
|
isRouteFile(path) {
|
|
83
|
-
return
|
|
83
|
+
return /^src\/app\/[^/]+\/routes\.(ts|tsx)$/.test(path);
|
|
84
84
|
}
|
|
85
85
|
/**
|
|
86
86
|
* Check if file is an event file
|
|
87
|
-
* Pattern: src/app/
|
|
87
|
+
* Pattern: src/app/$module/events/$event.ts
|
|
88
88
|
*/
|
|
89
89
|
isEventFile(path) {
|
|
90
|
-
return
|
|
90
|
+
return /^src\/app\/[^/]+\/events\/[^/]+\.(ts|tsx)$/.test(path);
|
|
91
91
|
}
|
|
92
92
|
/**
|
|
93
93
|
* Check if file is a locale file
|
|
94
|
-
* Pattern: src/app/
|
|
94
|
+
* Pattern: src/app/$module/utils/locales.ts
|
|
95
95
|
*/
|
|
96
96
|
isLocaleFile(path) {
|
|
97
|
-
return
|
|
97
|
+
return /^src\/app\/[^/]+\/utils\/locales\.(ts|tsx)$/.test(path);
|
|
98
98
|
}
|
|
99
99
|
/**
|
|
100
100
|
* Add a new file to the appropriate collection
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"special-files-collector.js","sources":["../../src/dev2-server/special-files-collector.ts"],"sourcesContent":[null],"names":[],"mappings":"aAOA;;;;AAIG;MACU,qBAAqB,CAAA;AAChC;;AAEG;AACc,IAAA,WAAW,GAAG,IAAI,GAAG,EAAuB,CAAC;AAC7C,IAAA,SAAS,GAAG,IAAI,GAAG,EAAuB,CAAC;AAC3C,IAAA,UAAU,GAAG,IAAI,GAAG,EAAuB,CAAC;AAC5C,IAAA,UAAU,GAAG,IAAI,GAAG,EAAuB,CAAC;AAC5C,IAAA,WAAW,GAAG,IAAI,GAAG,EAAuB,CAAC;AAE9D;;;AAGG;AACI,IAAA,OAAO,CAAC,KAA+B,EAAA;;AAE5C,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;;QAGzB,KAAK,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,IAAI,KAAK,EAAE;AAC/C,YAAA,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAChD,SAAA;KACF;AAED;;;;AAIG;IACK,cAAc,CAAC,YAAoB,EAAE,WAAwB,EAAA;;AAEnE,QAAA,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE;YACnC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YAChD,OAAO;AACR,SAAA;;AAGD,QAAA,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;YACjC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YAC9C,OAAO;AACR,SAAA;;AAGD,QAAA,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE;YAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YAC/C,OAAO;AACR,SAAA;;AAGD,QAAA,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE;YAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YAC/C,OAAO;AACR,SAAA;;AAGD,QAAA,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE;YACnC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YAChD,OAAO;AACR,SAAA;KACF;AAED;;;AAGG;AACK,IAAA,YAAY,CAAC,IAAY,EAAA;
|
|
1
|
+
{"version":3,"file":"special-files-collector.js","sources":["../../src/dev2-server/special-files-collector.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import type { FileManager } from "./file-manager";
|
|
2
2
|
/**
|
|
3
3
|
* Using esbuild to transpile the given code
|
|
4
|
+
* Uses external sourcemaps for better performance:
|
|
5
|
+
* - Inline sourcemaps double file size and require base64 parsing on every import
|
|
6
|
+
* - External sourcemaps keep files small and fast to parse
|
|
7
|
+
* - Sourcemap files are written separately and only loaded when debugging
|
|
4
8
|
*/
|
|
5
9
|
export declare function transpile(fileManager: FileManager): Promise<any>;
|
|
6
10
|
//# sourceMappingURL=transpile-file.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transpile-file.d.ts","sourceRoot":"","sources":["../../src/dev2-server/transpile-file.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transpile-file.d.ts","sourceRoot":"","sources":["../../src/dev2-server/transpile-file.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAIlD;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,WAAW,EAAE,WAAW,gBA+BvD"}
|
|
@@ -1,14 +1,31 @@
|
|
|
1
|
-
'use strict';var esbuild=require('esbuild'),tsconfigManager=require('./tsconfig-manager.js');/**
|
|
1
|
+
'use strict';var fs=require('@mongez/fs'),esbuild=require('esbuild'),tsconfigManager=require('./tsconfig-manager.js'),utils=require('./utils.js');/**
|
|
2
2
|
* Using esbuild to transpile the given code
|
|
3
|
+
* Uses external sourcemaps for better performance:
|
|
4
|
+
* - Inline sourcemaps double file size and require base64 parsing on every import
|
|
5
|
+
* - External sourcemaps keep files small and fast to parse
|
|
6
|
+
* - Sourcemap files are written separately and only loaded when debugging
|
|
3
7
|
*/
|
|
4
8
|
async function transpile(fileManager) {
|
|
5
|
-
const { code: transpiled } = await esbuild.transform(fileManager.source, {
|
|
9
|
+
const { code: transpiled, map: sourceMap } = await esbuild.transform(fileManager.source, {
|
|
6
10
|
loader: fileManager.absolutePath.endsWith(".tsx") ? "tsx" : "ts",
|
|
7
11
|
format: "esm",
|
|
8
|
-
sourcemap: "
|
|
12
|
+
sourcemap: "external",
|
|
9
13
|
target: "es2022",
|
|
10
14
|
sourcefile: fileManager.absolutePath,
|
|
11
15
|
tsconfigRaw: tsconfigManager.tsconfigManager.tsconfig,
|
|
12
16
|
});
|
|
17
|
+
// Write sourcemap file if it exists and add sourceMappingURL comment
|
|
18
|
+
if (sourceMap) {
|
|
19
|
+
const sourceMapFileName = fileManager.cachePath.replace(/\.js$/, ".js.map");
|
|
20
|
+
const sourceMapPath = utils.warlockCachePath(sourceMapFileName);
|
|
21
|
+
// Add sourceMappingURL comment to the transpiled code
|
|
22
|
+
// This tells Node.js/debuggers where to find the sourcemap
|
|
23
|
+
const codeWithSourceMap = transpiled + `\n//# sourceMappingURL=${sourceMapFileName}`;
|
|
24
|
+
// Don't await - write sourcemap asynchronously to not block transpilation
|
|
25
|
+
fs.putFileAsync(sourceMapPath, sourceMap).catch(() => {
|
|
26
|
+
// Silently fail - sourcemaps are optional
|
|
27
|
+
});
|
|
28
|
+
return codeWithSourceMap;
|
|
29
|
+
}
|
|
13
30
|
return transpiled;
|
|
14
31
|
}exports.transpile=transpile;//# sourceMappingURL=transpile-file.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transpile-file.js","sources":["../../src/dev2-server/transpile-file.ts"],"sourcesContent":[null],"names":["transform","tsconfigManager"],"mappings":"
|
|
1
|
+
{"version":3,"file":"transpile-file.js","sources":["../../src/dev2-server/transpile-file.ts"],"sourcesContent":[null],"names":["transform","tsconfigManager","warlockCachePath","putFileAsync"],"mappings":"kJAMA;;;;;;AAMG;AACI,eAAe,SAAS,CAAC,WAAwB,EAAA;AACtD,IAAA,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,MAAMA,iBAAS,CAC1D,WAAW,CAAC,MAAM,EAClB;AACE,QAAA,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,IAAI;AAChE,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,SAAS,EAAE,UAAU;AACrB,QAAA,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,WAAW,CAAC,YAAY;QACpC,WAAW,EAAEC,+BAAe,CAAC,QAAQ;AACtC,KAAA,CACF,CAAC;;AAGF,IAAA,IAAI,SAAS,EAAE;AACb,QAAA,MAAM,iBAAiB,GAAG,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAC5E,QAAA,MAAM,aAAa,GAAGC,sBAAgB,CAAC,iBAAiB,CAAC,CAAC;;;AAI1D,QAAA,MAAM,iBAAiB,GAAG,UAAU,GAAG,CAA0B,uBAAA,EAAA,iBAAiB,EAAE,CAAC;;QAGrFC,eAAY,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,MAAK;;AAElD,SAAC,CAAC,CAAC;AAEH,QAAA,OAAO,iBAAiB,CAAC;AAC1B,KAAA;AAED,IAAA,OAAO,UAAU,CAAC;AACpB"}
|
|
@@ -16,8 +16,8 @@ export declare class TSConfigManager {
|
|
|
16
16
|
* Check if the given path is an alias
|
|
17
17
|
* This checks if it's a REAL path alias (not an external package alias)
|
|
18
18
|
*
|
|
19
|
-
* Real aliases map to local paths (e.g., app/* -> src/app/*)
|
|
20
|
-
* External package aliases map to themselves (e.g., @warlock.js/core -> @warlock.js/core)
|
|
19
|
+
* Real aliases map to local paths (e.g., app/* -> src/app/*, src/* -> src/*)
|
|
20
|
+
* External package aliases map to themselves with @ prefix (e.g., @warlock.js/core -> @warlock.js/core)
|
|
21
21
|
*/
|
|
22
22
|
isAlias(path: string): boolean;
|
|
23
23
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tsconfig-manager.d.ts","sourceRoot":"","sources":["../../src/dev2-server/tsconfig-manager.ts"],"names":[],"mappings":"AAIA,qBAAa,eAAe;IAC1B;;OAEG;IACI,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAM;IAE9C;;OAEG;IACI,OAAO,EAAE,MAAM,CAAO;IAE7B;;OAEG;IACI,QAAQ,EAAE,GAAG,CAAM;IAEb,IAAI;IAUjB;;;;;;OAMG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"tsconfig-manager.d.ts","sourceRoot":"","sources":["../../src/dev2-server/tsconfig-manager.ts"],"names":[],"mappings":"AAIA,qBAAa,eAAe;IAC1B;;OAEG;IACI,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAM;IAE9C;;OAEG;IACI,OAAO,EAAE,MAAM,CAAO;IAE7B;;OAEG;IACI,QAAQ,EAAE,GAAG,CAAM;IAEb,IAAI;IAUjB;;;;;;OAMG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM;IA8B3B;;OAEG;IACI,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IASpD;;;;;;OAMG;IACI,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IA4B5D;;;;;;OAMG;IACI,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAO3D;AAED,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
* Check if the given path is an alias
|
|
23
23
|
* This checks if it's a REAL path alias (not an external package alias)
|
|
24
24
|
*
|
|
25
|
-
* Real aliases map to local paths (e.g., app/* -> src/app/*)
|
|
26
|
-
* External package aliases map to themselves (e.g., @warlock.js/core -> @warlock.js/core)
|
|
25
|
+
* Real aliases map to local paths (e.g., app/* -> src/app/*, src/* -> src/*)
|
|
26
|
+
* External package aliases map to themselves with @ prefix (e.g., @warlock.js/core -> @warlock.js/core)
|
|
27
27
|
*/
|
|
28
28
|
isAlias(path) {
|
|
29
29
|
return Object.keys(this.aliases).some((alias) => {
|
|
@@ -37,14 +37,15 @@
|
|
|
37
37
|
if (!Array.isArray(aliasTargets) || aliasTargets.length === 0) {
|
|
38
38
|
return false;
|
|
39
39
|
}
|
|
40
|
-
|
|
41
|
-
// If the
|
|
42
|
-
// it's an external package, not a real path alias
|
|
40
|
+
aliasTargets[0].replace("/*", "");
|
|
41
|
+
// If the alias starts with @, it's likely an external package alias
|
|
43
42
|
// Example: "@warlock.js/core" -> "@warlock.js/core" (external package)
|
|
44
|
-
|
|
45
|
-
if (targetPattern === aliasPattern || targetPattern.startsWith(aliasPattern)) {
|
|
43
|
+
if (aliasPattern.startsWith("@")) {
|
|
46
44
|
return false;
|
|
47
45
|
}
|
|
46
|
+
// Otherwise, it's a real path alias (including self-referencing ones like src/* -> src/*)
|
|
47
|
+
// Example: "app/*" -> "src/app/*" (real alias)
|
|
48
|
+
// Example: "src/*" -> "src/*" (self-referencing alias, still valid)
|
|
48
49
|
return true;
|
|
49
50
|
});
|
|
50
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tsconfig-manager.js","sources":["../../src/dev2-server/tsconfig-manager.ts"],"sourcesContent":[null],"names":["ts","Path","path"],"mappings":"+QAIa,eAAe,CAAA;AAC1B;;AAEG;IACI,OAAO,GAA6B,EAAE,CAAC;AAE9C;;AAEG;IACI,OAAO,GAAW,GAAG,CAAC;AAE7B;;AAEG;IACI,QAAQ,GAAQ,EAAE,CAAC;AAEnB,IAAA,MAAM,IAAI,GAAA;;QAEf,MAAM,MAAM,GAAG,MAAMA,mBAAE,CAAC,cAAc,CAACC,SAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAED,mBAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAE1F,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAO,CAAC;AAE/B,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC;AAC3D,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,IAAI,GAAG,CAAC;KAC/D;AAED;;;;;;AAMG;AACI,IAAA,OAAO,CAAC,IAAY,EAAA;AACzB,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAI;;YAE9C,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAE7C,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;AAClC,gBAAA,OAAO,KAAK,CAAC;AACd,aAAA;;YAGD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACzC,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;AAC7D,gBAAA,OAAO,KAAK,CAAC;AACd,aAAA;AAED,
|
|
1
|
+
{"version":3,"file":"tsconfig-manager.js","sources":["../../src/dev2-server/tsconfig-manager.ts"],"sourcesContent":[null],"names":["ts","Path","path"],"mappings":"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"}
|