diff --git a/packages/schema/src/utils/ast-utils.ts b/packages/schema/src/utils/ast-utils.ts index 3a255228e..83a5a6a57 100644 --- a/packages/schema/src/utils/ast-utils.ts +++ b/packages/schema/src/utils/ast-utils.ts @@ -181,15 +181,19 @@ function resolveTransitiveImportsInternal( documents: LangiumDocuments, model: Model, initialModel = model, - visited: Set = new Set(), + visited: Set = new Set(), models: Set = new Set() ): Model[] { const doc = getDocument(model); - if (initialModel !== model) { + const initialDoc = getDocument(initialModel); + + if (initialDoc.uri.fsPath.toLowerCase() !== doc.uri.fsPath.toLowerCase()) { models.add(model); } - if (!visited.has(doc.uri)) { - visited.add(doc.uri); + + const normalizedPath = doc.uri.fsPath.toLowerCase(); + if (!visited.has(normalizedPath)) { + visited.add(normalizedPath); for (const imp of model.imports) { const importedModel = resolveImport(documents, imp); if (importedModel) {