@domainlang/language 0.9.0 → 0.11.0
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/README.md +44 -102
- package/out/domain-lang-module.d.ts +2 -2
- package/out/domain-lang-module.js +2 -2
- package/out/domain-lang-module.js.map +1 -1
- package/out/index.d.ts +4 -0
- package/out/index.js +4 -0
- package/out/index.js.map +1 -1
- package/out/lsp/domain-lang-completion.js +1 -1
- package/out/lsp/domain-lang-completion.js.map +1 -1
- package/out/lsp/domain-lang-index-manager.d.ts +149 -5
- package/out/lsp/domain-lang-index-manager.js +388 -52
- package/out/lsp/domain-lang-index-manager.js.map +1 -1
- package/out/lsp/domain-lang-refresh.d.ts +35 -0
- package/out/lsp/domain-lang-refresh.js +129 -0
- package/out/lsp/domain-lang-refresh.js.map +1 -0
- package/out/lsp/domain-lang-workspace-manager.d.ts +10 -0
- package/out/lsp/domain-lang-workspace-manager.js +35 -0
- package/out/lsp/domain-lang-workspace-manager.js.map +1 -1
- package/out/lsp/explain.d.ts +18 -0
- package/out/lsp/explain.js +138 -0
- package/out/lsp/explain.js.map +1 -0
- package/out/lsp/tool-handlers.d.ts +113 -0
- package/out/lsp/tool-handlers.js +297 -0
- package/out/lsp/tool-handlers.js.map +1 -0
- package/out/main.js +33 -190
- package/out/main.js.map +1 -1
- package/out/sdk/index.d.ts +2 -0
- package/out/sdk/index.js +2 -0
- package/out/sdk/index.js.map +1 -1
- package/out/sdk/loader-node.js +1 -1
- package/out/sdk/loader-node.js.map +1 -1
- package/out/sdk/serializers.d.ts +110 -0
- package/out/sdk/serializers.js +158 -0
- package/out/sdk/serializers.js.map +1 -0
- package/out/sdk/validator.js +17 -14
- package/out/sdk/validator.js.map +1 -1
- package/out/services/import-resolver.d.ts +67 -17
- package/out/services/import-resolver.js +146 -65
- package/out/services/import-resolver.js.map +1 -1
- package/out/services/lsp-logger.d.ts +42 -0
- package/out/services/lsp-logger.js +50 -0
- package/out/services/lsp-logger.js.map +1 -0
- package/out/services/lsp-runtime-settings.d.ts +20 -0
- package/out/services/lsp-runtime-settings.js +20 -0
- package/out/services/lsp-runtime-settings.js.map +1 -0
- package/out/services/performance-optimizer.d.ts +9 -9
- package/out/services/performance-optimizer.js +17 -41
- package/out/services/performance-optimizer.js.map +1 -1
- package/out/services/workspace-manager.d.ts +22 -1
- package/out/services/workspace-manager.js +57 -9
- package/out/services/workspace-manager.js.map +1 -1
- package/out/utils/import-utils.js +6 -6
- package/out/utils/import-utils.js.map +1 -1
- package/out/validation/constants.d.ts +6 -0
- package/out/validation/constants.js +7 -0
- package/out/validation/constants.js.map +1 -1
- package/out/validation/import.d.ts +13 -3
- package/out/validation/import.js +54 -10
- package/out/validation/import.js.map +1 -1
- package/package.json +1 -1
- package/src/domain-lang-module.ts +3 -3
- package/src/index.ts +4 -0
- package/src/lsp/domain-lang-completion.ts +3 -3
- package/src/lsp/domain-lang-index-manager.ts +438 -56
- package/src/lsp/domain-lang-refresh.ts +205 -0
- package/src/lsp/domain-lang-workspace-manager.ts +45 -0
- package/src/lsp/explain.ts +172 -0
- package/src/lsp/tool-handlers.ts +443 -0
- package/src/main.ts +40 -244
- package/src/sdk/index.ts +11 -0
- package/src/sdk/loader-node.ts +1 -1
- package/src/sdk/serializers.ts +213 -0
- package/src/sdk/validator.ts +17 -13
- package/src/services/import-resolver.ts +196 -89
- package/src/services/lsp-logger.ts +89 -0
- package/src/services/lsp-runtime-settings.ts +34 -0
- package/src/services/performance-optimizer.ts +18 -57
- package/src/services/workspace-manager.ts +62 -10
- package/src/utils/import-utils.ts +6 -6
- package/src/validation/constants.ts +9 -0
- package/src/validation/import.ts +67 -12
|
@@ -5,19 +5,24 @@
|
|
|
5
5
|
* - In-memory caching of frequently accessed lock files
|
|
6
6
|
* - Parallel dependency downloads
|
|
7
7
|
* - Cache warming strategies
|
|
8
|
-
* -
|
|
8
|
+
* - Event-based invalidation (PRS-017 R15)
|
|
9
9
|
*/
|
|
10
10
|
import path from 'node:path';
|
|
11
11
|
import fs from 'node:fs/promises';
|
|
12
12
|
/**
|
|
13
13
|
* Performance optimizer with in-memory caching.
|
|
14
|
+
*
|
|
15
|
+
* PRS-017 R15: Cache entries are valid until explicitly invalidated
|
|
16
|
+
* by `invalidateCache()` or `clearAllCaches()`. The previous TTL-based
|
|
17
|
+
* approach could serve stale data (within window) or unnecessarily
|
|
18
|
+
* re-read unchanged files (after expiry). Event-based invalidation
|
|
19
|
+
* via `processManifestChanges()` and `processLockFileChanges()` is
|
|
20
|
+
* always correct and immediate.
|
|
14
21
|
*/
|
|
15
22
|
export class PerformanceOptimizer {
|
|
16
|
-
constructor(
|
|
23
|
+
constructor() {
|
|
17
24
|
this.lockFileCache = new Map();
|
|
18
25
|
this.manifestCache = new Map();
|
|
19
|
-
// Default TTL: 5 minutes
|
|
20
|
-
this.cacheTTL = options.cacheTTL ?? 5 * 60 * 1000;
|
|
21
26
|
}
|
|
22
27
|
/**
|
|
23
28
|
* Gets a lock file from cache or loads it from disk.
|
|
@@ -25,9 +30,8 @@ export class PerformanceOptimizer {
|
|
|
25
30
|
async getCachedLockFile(workspaceRoot) {
|
|
26
31
|
const cacheKey = this.normalizePath(workspaceRoot);
|
|
27
32
|
const cached = this.lockFileCache.get(cacheKey);
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
return cached.value;
|
|
33
|
+
if (cached) {
|
|
34
|
+
return cached;
|
|
31
35
|
}
|
|
32
36
|
// Load from disk
|
|
33
37
|
const lockPath = path.join(workspaceRoot, 'model.lock');
|
|
@@ -35,10 +39,7 @@ export class PerformanceOptimizer {
|
|
|
35
39
|
const content = await fs.readFile(lockPath, 'utf-8');
|
|
36
40
|
const lockFile = JSON.parse(content);
|
|
37
41
|
// Cache it
|
|
38
|
-
this.lockFileCache.set(cacheKey,
|
|
39
|
-
value: lockFile,
|
|
40
|
-
timestamp: Date.now(),
|
|
41
|
-
});
|
|
42
|
+
this.lockFileCache.set(cacheKey, lockFile);
|
|
42
43
|
return lockFile;
|
|
43
44
|
}
|
|
44
45
|
catch {
|
|
@@ -51,17 +52,14 @@ export class PerformanceOptimizer {
|
|
|
51
52
|
async getCachedManifest(manifestPath) {
|
|
52
53
|
const cacheKey = this.normalizePath(manifestPath);
|
|
53
54
|
const cached = this.manifestCache.get(cacheKey);
|
|
54
|
-
if (cached
|
|
55
|
-
return cached
|
|
55
|
+
if (cached) {
|
|
56
|
+
return cached;
|
|
56
57
|
}
|
|
57
58
|
try {
|
|
58
59
|
const content = await fs.readFile(manifestPath, 'utf-8');
|
|
59
60
|
const { parse } = await import('yaml');
|
|
60
61
|
const manifest = parse(content);
|
|
61
|
-
this.manifestCache.set(cacheKey,
|
|
62
|
-
value: manifest,
|
|
63
|
-
timestamp: Date.now(),
|
|
64
|
-
});
|
|
62
|
+
this.manifestCache.set(cacheKey, manifest);
|
|
65
63
|
return manifest;
|
|
66
64
|
}
|
|
67
65
|
catch {
|
|
@@ -70,10 +68,12 @@ export class PerformanceOptimizer {
|
|
|
70
68
|
}
|
|
71
69
|
/**
|
|
72
70
|
* Invalidates cache for a specific workspace.
|
|
71
|
+
* Called when model.lock or model.yaml changes (event-based, PRS-017 R15).
|
|
73
72
|
*/
|
|
74
73
|
invalidateCache(workspaceRoot) {
|
|
75
74
|
const cacheKey = this.normalizePath(workspaceRoot);
|
|
76
75
|
this.lockFileCache.delete(cacheKey);
|
|
76
|
+
this.manifestCache.delete(cacheKey);
|
|
77
77
|
}
|
|
78
78
|
/**
|
|
79
79
|
* Clears all caches.
|
|
@@ -91,30 +91,6 @@ export class PerformanceOptimizer {
|
|
|
91
91
|
manifests: this.manifestCache.size,
|
|
92
92
|
};
|
|
93
93
|
}
|
|
94
|
-
/**
|
|
95
|
-
* Detects if cached files are stale compared to disk.
|
|
96
|
-
*/
|
|
97
|
-
async detectStaleCaches() {
|
|
98
|
-
const stale = [];
|
|
99
|
-
for (const [workspaceRoot] of this.lockFileCache) {
|
|
100
|
-
const lockPath = path.join(workspaceRoot, 'model.lock');
|
|
101
|
-
try {
|
|
102
|
-
const stat = await fs.stat(lockPath);
|
|
103
|
-
const cached = this.lockFileCache.get(workspaceRoot);
|
|
104
|
-
// Floor mtimeMs to integer precision to match Date.now() —
|
|
105
|
-
// some filesystems (e.g. APFS) report sub-millisecond mtime,
|
|
106
|
-
// which can exceed the integer timestamp from Date.now().
|
|
107
|
-
if (cached && Math.floor(stat.mtimeMs) > cached.timestamp) {
|
|
108
|
-
stale.push(workspaceRoot);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
catch {
|
|
112
|
-
// File doesn't exist anymore
|
|
113
|
-
stale.push(workspaceRoot);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
return stale;
|
|
117
|
-
}
|
|
118
94
|
/**
|
|
119
95
|
* Normalizes a file path for cache keys.
|
|
120
96
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"performance-optimizer.js","sourceRoot":"","sources":["../../src/services/performance-optimizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"performance-optimizer.js","sourceRoot":"","sources":["../../src/services/performance-optimizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ import type { LockFile, ModelManifest, DependencySpec, ExtendedDependencySpec, P
|
|
|
17
17
|
* - Read manifest configuration (path aliases, dependencies)
|
|
18
18
|
* - Read lock file (to resolve cached package locations)
|
|
19
19
|
*/
|
|
20
|
-
export declare class
|
|
20
|
+
export declare class ManifestManager {
|
|
21
21
|
private readonly manifestFiles;
|
|
22
22
|
private readonly lockFiles;
|
|
23
23
|
/**
|
|
@@ -30,6 +30,13 @@ export declare class WorkspaceManager {
|
|
|
30
30
|
* Avoids repeated directory tree walking for the same paths.
|
|
31
31
|
*/
|
|
32
32
|
private readonly pathToRootCache;
|
|
33
|
+
/**
|
|
34
|
+
* PRS-017 R11: Cached set of directories known to contain a manifest file.
|
|
35
|
+
* Populated during `findWorkspaceRoot()` walks and updated incrementally
|
|
36
|
+
* when manifest creation/deletion events arrive via `onManifestEvent()`.
|
|
37
|
+
* Prevents redundant filesystem walks for paths already explored.
|
|
38
|
+
*/
|
|
39
|
+
private readonly knownManifestDirs;
|
|
33
40
|
/**
|
|
34
41
|
* The currently active workspace root (set by last initialize() call).
|
|
35
42
|
* Used by methods like getWorkspaceRoot(), getManifest(), etc.
|
|
@@ -126,6 +133,14 @@ export declare class WorkspaceManager {
|
|
|
126
133
|
* Call this when model.lock changes.
|
|
127
134
|
*/
|
|
128
135
|
invalidateLockCache(): void;
|
|
136
|
+
/**
|
|
137
|
+
* PRS-017 R11: Incrementally updates the workspace layout cache
|
|
138
|
+
* when a manifest file is created or deleted.
|
|
139
|
+
*
|
|
140
|
+
* @param manifestDir - Directory where the manifest was created/deleted
|
|
141
|
+
* @param created - true if manifest was created, false if deleted
|
|
142
|
+
*/
|
|
143
|
+
onManifestEvent(manifestDir: string, created: boolean): void;
|
|
129
144
|
/**
|
|
130
145
|
* Returns the path aliases from the manifest, if present.
|
|
131
146
|
*/
|
|
@@ -186,7 +201,13 @@ export declare class WorkspaceManager {
|
|
|
186
201
|
/**
|
|
187
202
|
* Finds workspace root by walking up from startPath looking for model.yaml.
|
|
188
203
|
* Uses configurable manifest files if specified in constructor options.
|
|
204
|
+
* PRS-017 R11: Consults `knownManifestDirs` before hitting the filesystem.
|
|
189
205
|
*/
|
|
190
206
|
private findWorkspaceRoot;
|
|
191
207
|
private containsManifest;
|
|
208
|
+
/**
|
|
209
|
+
* Computes a SHA-256 hex digest of the given content.
|
|
210
|
+
* Used for content-hash based cache validation (PRS-017 R5).
|
|
211
|
+
*/
|
|
212
|
+
private computeHash;
|
|
192
213
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
2
|
import fs from 'node:fs/promises';
|
|
3
|
+
import { createHash } from 'node:crypto';
|
|
3
4
|
import YAML from 'yaml';
|
|
4
5
|
import { getGlobalOptimizer } from './performance-optimizer.js';
|
|
5
6
|
import { fileExists as checkFileExists, findWorkspaceRoot as findWorkspaceRootUtil } from '../utils/manifest-utils.js';
|
|
@@ -27,7 +28,7 @@ const DEFAULT_LOCK_FILES = [
|
|
|
27
28
|
* - Read manifest configuration (path aliases, dependencies)
|
|
28
29
|
* - Read lock file (to resolve cached package locations)
|
|
29
30
|
*/
|
|
30
|
-
export class
|
|
31
|
+
export class ManifestManager {
|
|
31
32
|
constructor(options = {}) {
|
|
32
33
|
/**
|
|
33
34
|
* Cache of workspace contexts by resolved workspace root path.
|
|
@@ -39,6 +40,13 @@ export class WorkspaceManager {
|
|
|
39
40
|
* Avoids repeated directory tree walking for the same paths.
|
|
40
41
|
*/
|
|
41
42
|
this.pathToRootCache = new Map();
|
|
43
|
+
/**
|
|
44
|
+
* PRS-017 R11: Cached set of directories known to contain a manifest file.
|
|
45
|
+
* Populated during `findWorkspaceRoot()` walks and updated incrementally
|
|
46
|
+
* when manifest creation/deletion events arrive via `onManifestEvent()`.
|
|
47
|
+
* Prevents redundant filesystem walks for paths already explored.
|
|
48
|
+
*/
|
|
49
|
+
this.knownManifestDirs = new Set();
|
|
42
50
|
this.manifestFiles = options.manifestFiles ?? [...DEFAULT_MANIFEST_FILES];
|
|
43
51
|
this.lockFiles = options.lockFiles ?? [...DEFAULT_LOCK_FILES];
|
|
44
52
|
}
|
|
@@ -101,7 +109,7 @@ export class WorkspaceManager {
|
|
|
101
109
|
*/
|
|
102
110
|
getWorkspaceRoot() {
|
|
103
111
|
if (!this.activeRoot) {
|
|
104
|
-
throw new Error('
|
|
112
|
+
throw new Error('ManifestManager not initialized. Call initialize() first.');
|
|
105
113
|
}
|
|
106
114
|
return this.activeRoot;
|
|
107
115
|
}
|
|
@@ -114,7 +122,7 @@ export class WorkspaceManager {
|
|
|
114
122
|
*/
|
|
115
123
|
getCacheDir() {
|
|
116
124
|
if (!this.activeRoot) {
|
|
117
|
-
throw new Error('
|
|
125
|
+
throw new Error('ManifestManager not initialized. Call initialize() first.');
|
|
118
126
|
}
|
|
119
127
|
// If workspace root is inside .dlang/packages, find the project root
|
|
120
128
|
const projectRoot = this.findProjectRootFromCache(this.activeRoot);
|
|
@@ -245,6 +253,28 @@ export class WorkspaceManager {
|
|
|
245
253
|
context.lockFile = undefined;
|
|
246
254
|
}
|
|
247
255
|
}
|
|
256
|
+
/**
|
|
257
|
+
* PRS-017 R11: Incrementally updates the workspace layout cache
|
|
258
|
+
* when a manifest file is created or deleted.
|
|
259
|
+
*
|
|
260
|
+
* @param manifestDir - Directory where the manifest was created/deleted
|
|
261
|
+
* @param created - true if manifest was created, false if deleted
|
|
262
|
+
*/
|
|
263
|
+
onManifestEvent(manifestDir, created) {
|
|
264
|
+
const normalized = path.resolve(manifestDir);
|
|
265
|
+
if (created) {
|
|
266
|
+
this.knownManifestDirs.add(normalized);
|
|
267
|
+
}
|
|
268
|
+
else {
|
|
269
|
+
this.knownManifestDirs.delete(normalized);
|
|
270
|
+
// Invalidate path-to-root cache entries that pointed to this dir
|
|
271
|
+
for (const [startPath, root] of this.pathToRootCache) {
|
|
272
|
+
if (root === normalized) {
|
|
273
|
+
this.pathToRootCache.delete(startPath);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
248
278
|
/**
|
|
249
279
|
* Returns the path aliases from the manifest, if present.
|
|
250
280
|
*/
|
|
@@ -347,7 +377,7 @@ export class WorkspaceManager {
|
|
|
347
377
|
return;
|
|
348
378
|
}
|
|
349
379
|
}
|
|
350
|
-
throw new Error('
|
|
380
|
+
throw new Error('ManifestManager not initialized. Call initialize() first.');
|
|
351
381
|
}
|
|
352
382
|
async loadLockFileFromDisk(root) {
|
|
353
383
|
const workspaceRoot = root ?? this.activeRoot;
|
|
@@ -399,12 +429,14 @@ export class WorkspaceManager {
|
|
|
399
429
|
* Reads, validates, and caches a manifest file.
|
|
400
430
|
*/
|
|
401
431
|
async readAndCacheManifest(manifestPath, context) {
|
|
402
|
-
|
|
432
|
+
// PRS-017 R5: Use content hash instead of mtime for reliable change detection.
|
|
433
|
+
// Content hashing is immune to mtime skew after git operations or on NFS.
|
|
434
|
+
const content = await fs.readFile(manifestPath, 'utf-8');
|
|
435
|
+
const contentHash = this.computeHash(content);
|
|
403
436
|
if (context?.manifestCache?.path === manifestPath &&
|
|
404
|
-
context.manifestCache.
|
|
437
|
+
context.manifestCache.contentHash === contentHash) {
|
|
405
438
|
return context.manifestCache.manifest;
|
|
406
439
|
}
|
|
407
|
-
const content = await fs.readFile(manifestPath, 'utf-8');
|
|
408
440
|
const manifest = (YAML.parse(content) ?? {});
|
|
409
441
|
// Validate manifest structure
|
|
410
442
|
this.validateManifest(manifest, manifestPath);
|
|
@@ -412,7 +444,7 @@ export class WorkspaceManager {
|
|
|
412
444
|
context.manifestCache = {
|
|
413
445
|
manifest,
|
|
414
446
|
path: manifestPath,
|
|
415
|
-
|
|
447
|
+
contentHash,
|
|
416
448
|
};
|
|
417
449
|
}
|
|
418
450
|
return manifest;
|
|
@@ -551,17 +583,26 @@ export class WorkspaceManager {
|
|
|
551
583
|
/**
|
|
552
584
|
* Finds workspace root by walking up from startPath looking for model.yaml.
|
|
553
585
|
* Uses configurable manifest files if specified in constructor options.
|
|
586
|
+
* PRS-017 R11: Consults `knownManifestDirs` before hitting the filesystem.
|
|
554
587
|
*/
|
|
555
588
|
async findWorkspaceRoot(startPath) {
|
|
556
589
|
// Use shared utility for default case (single manifest file)
|
|
557
590
|
if (this.manifestFiles.length === 1 && this.manifestFiles[0] === 'model.yaml') {
|
|
558
|
-
|
|
591
|
+
const result = await findWorkspaceRootUtil(startPath);
|
|
592
|
+
if (result)
|
|
593
|
+
this.knownManifestDirs.add(result);
|
|
594
|
+
return result;
|
|
559
595
|
}
|
|
560
596
|
// Custom logic for multiple or non-default manifest files
|
|
561
597
|
let current = path.resolve(startPath);
|
|
562
598
|
const { root } = path.parse(current);
|
|
563
599
|
while (true) {
|
|
600
|
+
// R11: Check cached knowledge first
|
|
601
|
+
if (this.knownManifestDirs.has(current)) {
|
|
602
|
+
return current;
|
|
603
|
+
}
|
|
564
604
|
if (await this.containsManifest(current)) {
|
|
605
|
+
this.knownManifestDirs.add(current);
|
|
565
606
|
return current;
|
|
566
607
|
}
|
|
567
608
|
if (current === root) {
|
|
@@ -582,5 +623,12 @@ export class WorkspaceManager {
|
|
|
582
623
|
}
|
|
583
624
|
return false;
|
|
584
625
|
}
|
|
626
|
+
/**
|
|
627
|
+
* Computes a SHA-256 hex digest of the given content.
|
|
628
|
+
* Used for content-hash based cache validation (PRS-017 R5).
|
|
629
|
+
*/
|
|
630
|
+
computeHash(content) {
|
|
631
|
+
return createHash('sha256').update(content).digest('hex');
|
|
632
|
+
}
|
|
585
633
|
}
|
|
586
634
|
//# sourceMappingURL=workspace-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-manager.js","sourceRoot":"","sources":["../../src/services/workspace-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspace-manager.js","sourceRoot":"","sources":["../../src/services/workspace-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
2
|
import { URI } from 'langium';
|
|
3
|
-
import {
|
|
3
|
+
import { ManifestManager } from '../services/workspace-manager.js';
|
|
4
4
|
import { ImportResolver } from '../services/import-resolver.js';
|
|
5
5
|
/**
|
|
6
6
|
* Lazily initialized workspace manager for standalone (non-LSP) usage.
|
|
@@ -10,12 +10,12 @@ import { ImportResolver } from '../services/import-resolver.js';
|
|
|
10
10
|
* These singletons exist only for backwards compatibility with callers
|
|
11
11
|
* that haven't been updated to pass through DI services.
|
|
12
12
|
*/
|
|
13
|
-
let
|
|
13
|
+
let standaloneManifestManager;
|
|
14
14
|
let standaloneImportResolver;
|
|
15
15
|
let lastInitializedDir;
|
|
16
16
|
/**
|
|
17
17
|
* Gets or creates a standalone import resolver for non-LSP contexts.
|
|
18
|
-
* Creates its own
|
|
18
|
+
* Creates its own ManifestManager if not previously initialized for this directory.
|
|
19
19
|
*
|
|
20
20
|
* @deprecated Prefer using services.imports.ImportResolver directly.
|
|
21
21
|
* @param startDir - Directory to start workspace search from
|
|
@@ -24,15 +24,15 @@ let lastInitializedDir;
|
|
|
24
24
|
async function getStandaloneImportResolver(startDir) {
|
|
25
25
|
// Re-initialize if directory changed (workspace boundary)
|
|
26
26
|
if (lastInitializedDir !== startDir || !standaloneImportResolver) {
|
|
27
|
-
|
|
27
|
+
standaloneManifestManager = new ManifestManager();
|
|
28
28
|
try {
|
|
29
|
-
await
|
|
29
|
+
await standaloneManifestManager.initialize(startDir);
|
|
30
30
|
}
|
|
31
31
|
catch (error) {
|
|
32
32
|
console.warn(`Failed to initialize workspace: ${error instanceof Error ? error.message : String(error)}`);
|
|
33
33
|
}
|
|
34
34
|
const services = {
|
|
35
|
-
imports: {
|
|
35
|
+
imports: { ManifestManager: standaloneManifestManager }
|
|
36
36
|
};
|
|
37
37
|
standaloneImportResolver = new ImportResolver(services);
|
|
38
38
|
lastInitializedDir = startDir;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-utils.js","sourceRoot":"","sources":["../../src/utils/import-utils.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,GAAG,EAA+C,MAAM,SAAS,CAAC;AAE3E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"import-utils.js","sourceRoot":"","sources":["../../src/utils/import-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,7 @@ export declare const IssueCodes: {
|
|
|
28
28
|
readonly ImportAbsolutePath: "import-absolute-path";
|
|
29
29
|
readonly ImportEscapesWorkspace: "import-escapes-workspace";
|
|
30
30
|
readonly ImportUnresolved: "import-unresolved";
|
|
31
|
+
readonly ImportCycleDetected: "import-cycle-detected";
|
|
31
32
|
readonly DomainNoVision: "domain-no-vision";
|
|
32
33
|
readonly DomainCircularHierarchy: "domain-circular-hierarchy";
|
|
33
34
|
readonly BoundedContextNoDescription: "bounded-context-no-description";
|
|
@@ -165,6 +166,11 @@ export declare const ValidationMessages: {
|
|
|
165
166
|
* @param uri - The import URI that couldn't be resolved
|
|
166
167
|
*/
|
|
167
168
|
readonly IMPORT_UNRESOLVED: (uri: string) => string;
|
|
169
|
+
/**
|
|
170
|
+
* Error when an import creates a cycle in the dependency graph.
|
|
171
|
+
* @param cycleDisplay - Human-readable cycle path (e.g., "a.dlang → b.dlang → a.dlang")
|
|
172
|
+
*/
|
|
173
|
+
readonly IMPORT_CYCLE_DETECTED: (cycleDisplay: string) => string;
|
|
168
174
|
/**
|
|
169
175
|
* Warning when context map contains no bounded contexts.
|
|
170
176
|
* @param name - The context map name
|
|
@@ -31,6 +31,7 @@ export const IssueCodes = {
|
|
|
31
31
|
ImportAbsolutePath: 'import-absolute-path',
|
|
32
32
|
ImportEscapesWorkspace: 'import-escapes-workspace',
|
|
33
33
|
ImportUnresolved: 'import-unresolved',
|
|
34
|
+
ImportCycleDetected: 'import-cycle-detected',
|
|
34
35
|
// Domain Issues
|
|
35
36
|
DomainNoVision: 'domain-no-vision',
|
|
36
37
|
DomainCircularHierarchy: 'domain-circular-hierarchy',
|
|
@@ -222,6 +223,12 @@ export const ValidationMessages = {
|
|
|
222
223
|
*/
|
|
223
224
|
IMPORT_UNRESOLVED: (uri) => `Cannot resolve import '${uri}'.\n` +
|
|
224
225
|
`Hint: Check that the file exists and the path is correct.`,
|
|
226
|
+
/**
|
|
227
|
+
* Error when an import creates a cycle in the dependency graph.
|
|
228
|
+
* @param cycleDisplay - Human-readable cycle path (e.g., "a.dlang → b.dlang → a.dlang")
|
|
229
|
+
*/
|
|
230
|
+
IMPORT_CYCLE_DETECTED: (cycleDisplay) => `Import cycle detected: ${cycleDisplay}.\n` +
|
|
231
|
+
`Hint: Break the cycle by extracting shared definitions into a separate file.`,
|
|
225
232
|
// ========================================================================
|
|
226
233
|
// Context Map & Domain Map Validation
|
|
227
234
|
// ========================================================================
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/validation/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,+EAA+E;AAC/E,+BAA+B;AAC/B,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,6BAA6B;IAC7B,gBAAgB,EAAE,oBAAoB;IACtC,sBAAsB,EAAE,0BAA0B;IAClD,mBAAmB,EAAE,wBAAwB;IAC7C,kBAAkB,EAAE,sBAAsB;IAC1C,2BAA2B,EAAE,gCAAgC;IAC7D,yBAAyB,EAAE,+BAA+B;IAC1D,gBAAgB,EAAE,oBAAoB;IACtC,kBAAkB,EAAE,sBAAsB;IAC1C,sBAAsB,EAAE,0BAA0B;IAClD,gBAAgB,EAAE,mBAAmB;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/validation/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,23 +6,25 @@ import type { DomainLangServices } from '../domain-lang-module.js';
|
|
|
6
6
|
* Validates import statements in DomainLang.
|
|
7
7
|
*
|
|
8
8
|
* Uses async validators (Langium 4.x supports MaybePromise<void>) to leverage
|
|
9
|
-
* the shared
|
|
9
|
+
* the shared ManifestManager service with its cached manifest/lock file reading.
|
|
10
10
|
*
|
|
11
11
|
* Checks:
|
|
12
12
|
* - All import URIs resolve to existing files
|
|
13
13
|
* - External imports require manifest + alias
|
|
14
14
|
* - Local path dependencies stay inside workspace
|
|
15
15
|
* - Lock file exists for external dependencies
|
|
16
|
+
* - Import cycles are detected and reported (PRS-017 R3)
|
|
16
17
|
*/
|
|
17
18
|
export declare class ImportValidator {
|
|
18
19
|
private readonly workspaceManager;
|
|
19
20
|
private readonly importResolver;
|
|
21
|
+
private readonly indexManager;
|
|
20
22
|
constructor(services: DomainLangServices);
|
|
21
23
|
/**
|
|
22
24
|
* Validates an import statement asynchronously.
|
|
23
25
|
*
|
|
24
26
|
* Langium validators can return MaybePromise<void>, enabling async operations
|
|
25
|
-
* like reading manifests via the shared, cached
|
|
27
|
+
* like reading manifests via the shared, cached ManifestManager.
|
|
26
28
|
*/
|
|
27
29
|
checkImportPath(imp: ImportStatement, accept: ValidationAcceptor, document: LangiumDocument, _cancelToken: Cancellation.CancellationToken): Promise<void>;
|
|
28
30
|
/**
|
|
@@ -78,11 +80,19 @@ export declare class ImportValidator {
|
|
|
78
80
|
* Checks if a directory exists (async).
|
|
79
81
|
*/
|
|
80
82
|
private directoryExists;
|
|
83
|
+
/**
|
|
84
|
+
* Reports a warning if the current document is part of an import cycle.
|
|
85
|
+
*
|
|
86
|
+
* Cycle data is populated during indexing by DomainLangIndexManager.
|
|
87
|
+
* This method reads the pre-computed cycles and emits a diagnostic
|
|
88
|
+
* on the import statement contributing to the cycle.
|
|
89
|
+
*/
|
|
90
|
+
private checkImportCycle;
|
|
81
91
|
}
|
|
82
92
|
/**
|
|
83
93
|
* Creates validation checks for import statements.
|
|
84
94
|
*
|
|
85
|
-
* Returns async validators that leverage the shared
|
|
95
|
+
* Returns async validators that leverage the shared ManifestManager
|
|
86
96
|
* for cached manifest/lock file reading.
|
|
87
97
|
*/
|
|
88
98
|
export declare function createImportChecks(services: DomainLangServices): ValidationChecks<DomainLangAstType>;
|