@macroforge/svelte-language-server 0.1.3
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 +331 -0
- package/bin/server.js +5 -0
- package/dist/src/importPackage.d.ts +16 -0
- package/dist/src/importPackage.js +76 -0
- package/dist/src/importPackage.js.map +1 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.js +23 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/lib/DiagnosticsManager.d.ts +20 -0
- package/dist/src/lib/DiagnosticsManager.js +71 -0
- package/dist/src/lib/DiagnosticsManager.js.map +1 -0
- package/dist/src/lib/FallbackWatcher.d.ts +15 -0
- package/dist/src/lib/FallbackWatcher.js +66 -0
- package/dist/src/lib/FallbackWatcher.js.map +1 -0
- package/dist/src/lib/documentHighlight/wordHighlight.d.ts +3 -0
- package/dist/src/lib/documentHighlight/wordHighlight.js +62 -0
- package/dist/src/lib/documentHighlight/wordHighlight.js.map +1 -0
- package/dist/src/lib/documents/Document.d.ts +63 -0
- package/dist/src/lib/documents/Document.js +138 -0
- package/dist/src/lib/documents/Document.js.map +1 -0
- package/dist/src/lib/documents/DocumentBase.d.ts +65 -0
- package/dist/src/lib/documents/DocumentBase.js +69 -0
- package/dist/src/lib/documents/DocumentBase.js.map +1 -0
- package/dist/src/lib/documents/DocumentManager.d.ts +28 -0
- package/dist/src/lib/documents/DocumentManager.js +122 -0
- package/dist/src/lib/documents/DocumentManager.js.map +1 -0
- package/dist/src/lib/documents/DocumentMapper.d.ts +88 -0
- package/dist/src/lib/documents/DocumentMapper.js +258 -0
- package/dist/src/lib/documents/DocumentMapper.js.map +1 -0
- package/dist/src/lib/documents/configLoader.d.ts +80 -0
- package/dist/src/lib/documents/configLoader.js +265 -0
- package/dist/src/lib/documents/configLoader.js.map +1 -0
- package/dist/src/lib/documents/fileCollection.d.ts +41 -0
- package/dist/src/lib/documents/fileCollection.js +87 -0
- package/dist/src/lib/documents/fileCollection.js.map +1 -0
- package/dist/src/lib/documents/index.d.ts +5 -0
- package/dist/src/lib/documents/index.js +22 -0
- package/dist/src/lib/documents/index.js.map +1 -0
- package/dist/src/lib/documents/parseHtml.d.ts +13 -0
- package/dist/src/lib/documents/parseHtml.js +160 -0
- package/dist/src/lib/documents/parseHtml.js.map +1 -0
- package/dist/src/lib/documents/utils.d.ts +105 -0
- package/dist/src/lib/documents/utils.js +410 -0
- package/dist/src/lib/documents/utils.js.map +1 -0
- package/dist/src/lib/foldingRange/indentFolding.d.ts +26 -0
- package/dist/src/lib/foldingRange/indentFolding.js +142 -0
- package/dist/src/lib/foldingRange/indentFolding.js.map +1 -0
- package/dist/src/lib/semanticToken/semanticTokenLegend.d.ts +33 -0
- package/dist/src/lib/semanticToken/semanticTokenLegend.js +37 -0
- package/dist/src/lib/semanticToken/semanticTokenLegend.js.map +1 -0
- package/dist/src/logger.d.ts +9 -0
- package/dist/src/logger.js +28 -0
- package/dist/src/logger.js.map +1 -0
- package/dist/src/ls-config.d.ts +326 -0
- package/dist/src/ls-config.js +386 -0
- package/dist/src/ls-config.js.map +1 -0
- package/dist/src/plugins/PluginHost.d.ts +68 -0
- package/dist/src/plugins/PluginHost.js +447 -0
- package/dist/src/plugins/PluginHost.js.map +1 -0
- package/dist/src/plugins/css/CSSDocument.d.ts +46 -0
- package/dist/src/plugins/css/CSSDocument.js +78 -0
- package/dist/src/plugins/css/CSSDocument.js.map +1 -0
- package/dist/src/plugins/css/CSSPlugin.d.ts +35 -0
- package/dist/src/plugins/css/CSSPlugin.js +407 -0
- package/dist/src/plugins/css/CSSPlugin.js.map +1 -0
- package/dist/src/plugins/css/FileSystemProvider.d.ts +10 -0
- package/dist/src/plugins/css/FileSystemProvider.js +75 -0
- package/dist/src/plugins/css/FileSystemProvider.js.map +1 -0
- package/dist/src/plugins/css/StyleAttributeDocument.d.ts +41 -0
- package/dist/src/plugins/css/StyleAttributeDocument.js +65 -0
- package/dist/src/plugins/css/StyleAttributeDocument.js.map +1 -0
- package/dist/src/plugins/css/features/getIdClassCompletion.d.ts +19 -0
- package/dist/src/plugins/css/features/getIdClassCompletion.js +56 -0
- package/dist/src/plugins/css/features/getIdClassCompletion.js.map +1 -0
- package/dist/src/plugins/css/features/svelte-selectors.d.ts +2 -0
- package/dist/src/plugins/css/features/svelte-selectors.js +18 -0
- package/dist/src/plugins/css/features/svelte-selectors.js.map +1 -0
- package/dist/src/plugins/css/global-vars.d.ts +16 -0
- package/dist/src/plugins/css/global-vars.js +82 -0
- package/dist/src/plugins/css/global-vars.js.map +1 -0
- package/dist/src/plugins/css/service.d.ts +5 -0
- package/dist/src/plugins/css/service.js +66 -0
- package/dist/src/plugins/css/service.js.map +1 -0
- package/dist/src/plugins/documentContext.d.ts +3 -0
- package/dist/src/plugins/documentContext.js +36 -0
- package/dist/src/plugins/documentContext.js.map +1 -0
- package/dist/src/plugins/html/HTMLPlugin.d.ts +36 -0
- package/dist/src/plugins/html/HTMLPlugin.js +363 -0
- package/dist/src/plugins/html/HTMLPlugin.js.map +1 -0
- package/dist/src/plugins/html/dataProvider.d.ts +1 -0
- package/dist/src/plugins/html/dataProvider.js +481 -0
- package/dist/src/plugins/html/dataProvider.js.map +1 -0
- package/dist/src/plugins/index.d.ts +7 -0
- package/dist/src/plugins/index.js +24 -0
- package/dist/src/plugins/index.js.map +1 -0
- package/dist/src/plugins/interfaces.d.ts +132 -0
- package/dist/src/plugins/interfaces.js +3 -0
- package/dist/src/plugins/interfaces.js.map +1 -0
- package/dist/src/plugins/svelte/SvelteDocument.d.ts +98 -0
- package/dist/src/plugins/svelte/SvelteDocument.js +318 -0
- package/dist/src/plugins/svelte/SvelteDocument.js.map +1 -0
- package/dist/src/plugins/svelte/SveltePlugin.d.ts +24 -0
- package/dist/src/plugins/svelte/SveltePlugin.js +306 -0
- package/dist/src/plugins/svelte/SveltePlugin.js.map +1 -0
- package/dist/src/plugins/svelte/features/SvelteTags.d.ts +28 -0
- package/dist/src/plugins/svelte/features/SvelteTags.js +136 -0
- package/dist/src/plugins/svelte/features/SvelteTags.js.map +1 -0
- package/dist/src/plugins/svelte/features/getCodeActions/getQuickfixes.d.ts +11 -0
- package/dist/src/plugins/svelte/features/getCodeActions/getQuickfixes.js +140 -0
- package/dist/src/plugins/svelte/features/getCodeActions/getQuickfixes.js.map +1 -0
- package/dist/src/plugins/svelte/features/getCodeActions/getRefactorings.d.ts +9 -0
- package/dist/src/plugins/svelte/features/getCodeActions/getRefactorings.js +140 -0
- package/dist/src/plugins/svelte/features/getCodeActions/getRefactorings.js.map +1 -0
- package/dist/src/plugins/svelte/features/getCodeActions/index.d.ts +4 -0
- package/dist/src/plugins/svelte/features/getCodeActions/index.js +19 -0
- package/dist/src/plugins/svelte/features/getCodeActions/index.js.map +1 -0
- package/dist/src/plugins/svelte/features/getCompletions.d.ts +4 -0
- package/dist/src/plugins/svelte/features/getCompletions.js +184 -0
- package/dist/src/plugins/svelte/features/getCompletions.js.map +1 -0
- package/dist/src/plugins/svelte/features/getDiagnostics.d.ts +9 -0
- package/dist/src/plugins/svelte/features/getDiagnostics.js +284 -0
- package/dist/src/plugins/svelte/features/getDiagnostics.js.map +1 -0
- package/dist/src/plugins/svelte/features/getHoverInfo.d.ts +7 -0
- package/dist/src/plugins/svelte/features/getHoverInfo.js +93 -0
- package/dist/src/plugins/svelte/features/getHoverInfo.js.map +1 -0
- package/dist/src/plugins/svelte/features/getModifierData.d.ts +7 -0
- package/dist/src/plugins/svelte/features/getModifierData.js +56 -0
- package/dist/src/plugins/svelte/features/getModifierData.js.map +1 -0
- package/dist/src/plugins/svelte/features/getSelectionRanges.d.ts +3 -0
- package/dist/src/plugins/svelte/features/getSelectionRanges.js +46 -0
- package/dist/src/plugins/svelte/features/getSelectionRanges.js.map +1 -0
- package/dist/src/plugins/svelte/features/utils.d.ts +5 -0
- package/dist/src/plugins/svelte/features/utils.js +18 -0
- package/dist/src/plugins/svelte/features/utils.js.map +1 -0
- package/dist/src/plugins/typescript/ComponentInfoProvider.d.ts +27 -0
- package/dist/src/plugins/typescript/ComponentInfoProvider.js +116 -0
- package/dist/src/plugins/typescript/ComponentInfoProvider.js.map +1 -0
- package/dist/src/plugins/typescript/DocumentMapper.d.ts +10 -0
- package/dist/src/plugins/typescript/DocumentMapper.js +25 -0
- package/dist/src/plugins/typescript/DocumentMapper.js.map +1 -0
- package/dist/src/plugins/typescript/DocumentSnapshot.d.ts +173 -0
- package/dist/src/plugins/typescript/DocumentSnapshot.js +623 -0
- package/dist/src/plugins/typescript/DocumentSnapshot.js.map +1 -0
- package/dist/src/plugins/typescript/LSAndTSDocResolver.d.ts +100 -0
- package/dist/src/plugins/typescript/LSAndTSDocResolver.js +301 -0
- package/dist/src/plugins/typescript/LSAndTSDocResolver.js.map +1 -0
- package/dist/src/plugins/typescript/SnapshotManager.d.ts +59 -0
- package/dist/src/plugins/typescript/SnapshotManager.js +238 -0
- package/dist/src/plugins/typescript/SnapshotManager.js.map +1 -0
- package/dist/src/plugins/typescript/TypeScriptPlugin.d.ts +65 -0
- package/dist/src/plugins/typescript/TypeScriptPlugin.js +332 -0
- package/dist/src/plugins/typescript/TypeScriptPlugin.js.map +1 -0
- package/dist/src/plugins/typescript/features/CallHierarchyProvider.d.ts +24 -0
- package/dist/src/plugins/typescript/features/CallHierarchyProvider.js +325 -0
- package/dist/src/plugins/typescript/features/CallHierarchyProvider.js.map +1 -0
- package/dist/src/plugins/typescript/features/CodeActionsProvider.d.ts +72 -0
- package/dist/src/plugins/typescript/features/CodeActionsProvider.js +1030 -0
- package/dist/src/plugins/typescript/features/CodeActionsProvider.js.map +1 -0
- package/dist/src/plugins/typescript/features/CodeLensProvider.d.ts +28 -0
- package/dist/src/plugins/typescript/features/CodeLensProvider.js +205 -0
- package/dist/src/plugins/typescript/features/CodeLensProvider.js.map +1 -0
- package/dist/src/plugins/typescript/features/CompletionProvider.d.ts +57 -0
- package/dist/src/plugins/typescript/features/CompletionProvider.js +791 -0
- package/dist/src/plugins/typescript/features/CompletionProvider.js.map +1 -0
- package/dist/src/plugins/typescript/features/DiagnosticsProvider.d.ts +36 -0
- package/dist/src/plugins/typescript/features/DiagnosticsProvider.js +497 -0
- package/dist/src/plugins/typescript/features/DiagnosticsProvider.js.map +1 -0
- package/dist/src/plugins/typescript/features/DocumentHighlightProvider.d.ts +17 -0
- package/dist/src/plugins/typescript/features/DocumentHighlightProvider.js +211 -0
- package/dist/src/plugins/typescript/features/DocumentHighlightProvider.js.map +1 -0
- package/dist/src/plugins/typescript/features/FindComponentReferencesProvider.d.ts +9 -0
- package/dist/src/plugins/typescript/features/FindComponentReferencesProvider.js +66 -0
- package/dist/src/plugins/typescript/features/FindComponentReferencesProvider.js.map +1 -0
- package/dist/src/plugins/typescript/features/FindFileReferencesProvider.d.ts +9 -0
- package/dist/src/plugins/typescript/features/FindFileReferencesProvider.js +38 -0
- package/dist/src/plugins/typescript/features/FindFileReferencesProvider.js.map +1 -0
- package/dist/src/plugins/typescript/features/FindReferencesProvider.d.ts +20 -0
- package/dist/src/plugins/typescript/features/FindReferencesProvider.js +149 -0
- package/dist/src/plugins/typescript/features/FindReferencesProvider.js.map +1 -0
- package/dist/src/plugins/typescript/features/FoldingRangeProvider.d.ts +28 -0
- package/dist/src/plugins/typescript/features/FoldingRangeProvider.js +247 -0
- package/dist/src/plugins/typescript/features/FoldingRangeProvider.js.map +1 -0
- package/dist/src/plugins/typescript/features/HoverProvider.d.ts +11 -0
- package/dist/src/plugins/typescript/features/HoverProvider.js +75 -0
- package/dist/src/plugins/typescript/features/HoverProvider.js.map +1 -0
- package/dist/src/plugins/typescript/features/ImplementationProvider.d.ts +9 -0
- package/dist/src/plugins/typescript/features/ImplementationProvider.js +47 -0
- package/dist/src/plugins/typescript/features/ImplementationProvider.js.map +1 -0
- package/dist/src/plugins/typescript/features/InlayHintProvider.d.ts +22 -0
- package/dist/src/plugins/typescript/features/InlayHintProvider.js +225 -0
- package/dist/src/plugins/typescript/features/InlayHintProvider.js.map +1 -0
- package/dist/src/plugins/typescript/features/RenameProvider.d.ts +53 -0
- package/dist/src/plugins/typescript/features/RenameProvider.js +423 -0
- package/dist/src/plugins/typescript/features/RenameProvider.js.map +1 -0
- package/dist/src/plugins/typescript/features/SelectionRangeProvider.d.ts +18 -0
- package/dist/src/plugins/typescript/features/SelectionRangeProvider.js +62 -0
- package/dist/src/plugins/typescript/features/SelectionRangeProvider.js.map +1 -0
- package/dist/src/plugins/typescript/features/SemanticTokensProvider.d.ts +15 -0
- package/dist/src/plugins/typescript/features/SemanticTokensProvider.js +116 -0
- package/dist/src/plugins/typescript/features/SemanticTokensProvider.js.map +1 -0
- package/dist/src/plugins/typescript/features/SignatureHelpProvider.d.ts +22 -0
- package/dist/src/plugins/typescript/features/SignatureHelpProvider.js +110 -0
- package/dist/src/plugins/typescript/features/SignatureHelpProvider.js.map +1 -0
- package/dist/src/plugins/typescript/features/TypeDefinitionProvider.d.ts +9 -0
- package/dist/src/plugins/typescript/features/TypeDefinitionProvider.js +35 -0
- package/dist/src/plugins/typescript/features/TypeDefinitionProvider.js.map +1 -0
- package/dist/src/plugins/typescript/features/UpdateImportsProvider.d.ts +11 -0
- package/dist/src/plugins/typescript/features/UpdateImportsProvider.js +109 -0
- package/dist/src/plugins/typescript/features/UpdateImportsProvider.js.map +1 -0
- package/dist/src/plugins/typescript/features/WorkspaceSymbolProvider.d.ts +25 -0
- package/dist/src/plugins/typescript/features/WorkspaceSymbolProvider.js +176 -0
- package/dist/src/plugins/typescript/features/WorkspaceSymbolProvider.js.map +1 -0
- package/dist/src/plugins/typescript/features/getDirectiveCommentCompletions.d.ts +13 -0
- package/dist/src/plugins/typescript/features/getDirectiveCommentCompletions.js +58 -0
- package/dist/src/plugins/typescript/features/getDirectiveCommentCompletions.js.map +1 -0
- package/dist/src/plugins/typescript/features/getJsDocTemplateCompletion.d.ts +4 -0
- package/dist/src/plugins/typescript/features/getJsDocTemplateCompletion.js +57 -0
- package/dist/src/plugins/typescript/features/getJsDocTemplateCompletion.js.map +1 -0
- package/dist/src/plugins/typescript/features/utils.d.ts +81 -0
- package/dist/src/plugins/typescript/features/utils.js +331 -0
- package/dist/src/plugins/typescript/features/utils.js.map +1 -0
- package/dist/src/plugins/typescript/macroforgeAugmenter.d.ts +23 -0
- package/dist/src/plugins/typescript/macroforgeAugmenter.js +41 -0
- package/dist/src/plugins/typescript/macroforgeAugmenter.js.map +1 -0
- package/dist/src/plugins/typescript/module-loader.d.ts +28 -0
- package/dist/src/plugins/typescript/module-loader.js +254 -0
- package/dist/src/plugins/typescript/module-loader.js.map +1 -0
- package/dist/src/plugins/typescript/previewer.d.ts +7 -0
- package/dist/src/plugins/typescript/previewer.js +120 -0
- package/dist/src/plugins/typescript/previewer.js.map +1 -0
- package/dist/src/plugins/typescript/service.d.ts +105 -0
- package/dist/src/plugins/typescript/service.js +1073 -0
- package/dist/src/plugins/typescript/service.js.map +1 -0
- package/dist/src/plugins/typescript/serviceCache.d.ts +90 -0
- package/dist/src/plugins/typescript/serviceCache.js +50 -0
- package/dist/src/plugins/typescript/serviceCache.js.map +1 -0
- package/dist/src/plugins/typescript/svelte-ast-utils.d.ts +77 -0
- package/dist/src/plugins/typescript/svelte-ast-utils.js +100 -0
- package/dist/src/plugins/typescript/svelte-ast-utils.js.map +1 -0
- package/dist/src/plugins/typescript/svelte-sys.d.ts +9 -0
- package/dist/src/plugins/typescript/svelte-sys.js +79 -0
- package/dist/src/plugins/typescript/svelte-sys.js.map +1 -0
- package/dist/src/plugins/typescript/utils.d.ts +48 -0
- package/dist/src/plugins/typescript/utils.js +334 -0
- package/dist/src/plugins/typescript/utils.js.map +1 -0
- package/dist/src/server.d.ts +19 -0
- package/dist/src/server.js +434 -0
- package/dist/src/server.js.map +1 -0
- package/dist/src/svelte-check.d.ts +65 -0
- package/dist/src/svelte-check.js +288 -0
- package/dist/src/svelte-check.js.map +1 -0
- package/dist/src/utils.d.ts +111 -0
- package/dist/src/utils.js +337 -0
- package/dist/src/utils.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +79 -0
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SourceMapDocumentMapper = exports.FragmentMapper = exports.IdentityMapper = void 0;
|
|
4
|
+
exports.mapRangeToOriginal = mapRangeToOriginal;
|
|
5
|
+
exports.mapLocationToOriginal = mapLocationToOriginal;
|
|
6
|
+
exports.mapRangeToGenerated = mapRangeToGenerated;
|
|
7
|
+
exports.mapCompletionItemToOriginal = mapCompletionItemToOriginal;
|
|
8
|
+
exports.mapHoverToParent = mapHoverToParent;
|
|
9
|
+
exports.mapObjWithRangeToOriginal = mapObjWithRangeToOriginal;
|
|
10
|
+
exports.mapInsertReplaceEditToOriginal = mapInsertReplaceEditToOriginal;
|
|
11
|
+
exports.mapEditToOriginal = mapEditToOriginal;
|
|
12
|
+
exports.mapDiagnosticToGenerated = mapDiagnosticToGenerated;
|
|
13
|
+
exports.mapColorPresentationToOriginal = mapColorPresentationToOriginal;
|
|
14
|
+
exports.mapSymbolInformationToOriginal = mapSymbolInformationToOriginal;
|
|
15
|
+
exports.mapLocationLinkToOriginal = mapLocationLinkToOriginal;
|
|
16
|
+
exports.mapTextDocumentEditToOriginal = mapTextDocumentEditToOriginal;
|
|
17
|
+
exports.mapCodeActionToOriginal = mapCodeActionToOriginal;
|
|
18
|
+
exports.mapSelectionRangeToParent = mapSelectionRangeToParent;
|
|
19
|
+
const vscode_languageserver_1 = require("vscode-languageserver");
|
|
20
|
+
const utils_1 = require("./utils");
|
|
21
|
+
const logger_1 = require("../../logger");
|
|
22
|
+
const trace_mapping_1 = require("@jridgewell/trace-mapping");
|
|
23
|
+
/**
|
|
24
|
+
* Does not map, returns positions as is.
|
|
25
|
+
*/
|
|
26
|
+
class IdentityMapper {
|
|
27
|
+
constructor(url, parent) {
|
|
28
|
+
this.url = url;
|
|
29
|
+
this.parent = parent;
|
|
30
|
+
}
|
|
31
|
+
getOriginalPosition(generatedPosition) {
|
|
32
|
+
if (this.parent) {
|
|
33
|
+
generatedPosition = this.getOriginalPosition(generatedPosition);
|
|
34
|
+
}
|
|
35
|
+
return generatedPosition;
|
|
36
|
+
}
|
|
37
|
+
getGeneratedPosition(originalPosition) {
|
|
38
|
+
if (this.parent) {
|
|
39
|
+
originalPosition = this.getGeneratedPosition(originalPosition);
|
|
40
|
+
}
|
|
41
|
+
return originalPosition;
|
|
42
|
+
}
|
|
43
|
+
isInGenerated(position) {
|
|
44
|
+
if (this.parent && !this.parent.isInGenerated(position)) {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
getURL() {
|
|
50
|
+
return this.url;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.IdentityMapper = IdentityMapper;
|
|
54
|
+
/**
|
|
55
|
+
* Maps positions in a fragment relative to a parent.
|
|
56
|
+
*/
|
|
57
|
+
class FragmentMapper {
|
|
58
|
+
constructor(originalText, tagInfo, url) {
|
|
59
|
+
this.originalText = originalText;
|
|
60
|
+
this.tagInfo = tagInfo;
|
|
61
|
+
this.url = url;
|
|
62
|
+
this.lineOffsetsOriginal = (0, utils_1.getLineOffsets)(this.originalText);
|
|
63
|
+
this.lineOffsetsGenerated = (0, utils_1.getLineOffsets)(this.tagInfo.content);
|
|
64
|
+
}
|
|
65
|
+
getOriginalPosition(generatedPosition) {
|
|
66
|
+
const parentOffset = this.offsetInParent((0, utils_1.offsetAt)(generatedPosition, this.tagInfo.content, this.lineOffsetsGenerated));
|
|
67
|
+
return (0, utils_1.positionAt)(parentOffset, this.originalText, this.lineOffsetsOriginal);
|
|
68
|
+
}
|
|
69
|
+
offsetInParent(offset) {
|
|
70
|
+
return this.tagInfo.start + offset;
|
|
71
|
+
}
|
|
72
|
+
getGeneratedPosition(originalPosition) {
|
|
73
|
+
const fragmentOffset = (0, utils_1.offsetAt)(originalPosition, this.originalText, this.lineOffsetsOriginal) -
|
|
74
|
+
this.tagInfo.start;
|
|
75
|
+
return (0, utils_1.positionAt)(fragmentOffset, this.tagInfo.content, this.lineOffsetsGenerated);
|
|
76
|
+
}
|
|
77
|
+
isInGenerated(pos) {
|
|
78
|
+
const offset = (0, utils_1.offsetAt)(pos, this.originalText, this.lineOffsetsOriginal);
|
|
79
|
+
return offset >= this.tagInfo.start && offset <= this.tagInfo.end;
|
|
80
|
+
}
|
|
81
|
+
getURL() {
|
|
82
|
+
return this.url;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.FragmentMapper = FragmentMapper;
|
|
86
|
+
class SourceMapDocumentMapper {
|
|
87
|
+
constructor(traceMap, sourceUri, parent) {
|
|
88
|
+
this.traceMap = traceMap;
|
|
89
|
+
this.sourceUri = sourceUri;
|
|
90
|
+
this.parent = parent;
|
|
91
|
+
}
|
|
92
|
+
getOriginalPosition(generatedPosition) {
|
|
93
|
+
if (this.parent) {
|
|
94
|
+
generatedPosition = this.parent.getOriginalPosition(generatedPosition);
|
|
95
|
+
}
|
|
96
|
+
if (generatedPosition.line < 0) {
|
|
97
|
+
return { line: -1, character: -1 };
|
|
98
|
+
}
|
|
99
|
+
const mapped = (0, trace_mapping_1.originalPositionFor)(this.traceMap, {
|
|
100
|
+
line: generatedPosition.line + 1,
|
|
101
|
+
column: generatedPosition.character
|
|
102
|
+
});
|
|
103
|
+
if (!mapped) {
|
|
104
|
+
return { line: -1, character: -1 };
|
|
105
|
+
}
|
|
106
|
+
if (mapped.line === 0) {
|
|
107
|
+
logger_1.Logger.debug('Got 0 mapped line from', generatedPosition, 'col was', mapped.column);
|
|
108
|
+
}
|
|
109
|
+
return {
|
|
110
|
+
line: (mapped.line || 0) - 1,
|
|
111
|
+
character: mapped.column || 0
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
getGeneratedPosition(originalPosition) {
|
|
115
|
+
if (this.parent) {
|
|
116
|
+
originalPosition = this.parent.getGeneratedPosition(originalPosition);
|
|
117
|
+
}
|
|
118
|
+
const mapped = (0, trace_mapping_1.generatedPositionFor)(this.traceMap, {
|
|
119
|
+
line: originalPosition.line + 1,
|
|
120
|
+
column: originalPosition.character,
|
|
121
|
+
source: this.sourceUri
|
|
122
|
+
});
|
|
123
|
+
if (!mapped) {
|
|
124
|
+
return { line: -1, character: -1 };
|
|
125
|
+
}
|
|
126
|
+
const result = {
|
|
127
|
+
line: (mapped.line || 0) - 1,
|
|
128
|
+
character: mapped.column || 0
|
|
129
|
+
};
|
|
130
|
+
if (result.line < 0) {
|
|
131
|
+
return result;
|
|
132
|
+
}
|
|
133
|
+
return result;
|
|
134
|
+
}
|
|
135
|
+
isInGenerated(position) {
|
|
136
|
+
if (this.parent && !this.isInGenerated(position)) {
|
|
137
|
+
return false;
|
|
138
|
+
}
|
|
139
|
+
const generated = this.getGeneratedPosition(position);
|
|
140
|
+
return generated.line >= 0;
|
|
141
|
+
}
|
|
142
|
+
getURL() {
|
|
143
|
+
return this.sourceUri;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
exports.SourceMapDocumentMapper = SourceMapDocumentMapper;
|
|
147
|
+
function mapRangeToOriginal(fragment, range) {
|
|
148
|
+
// DON'T use Range.create here! Positions might not be mapped
|
|
149
|
+
// and therefore return negative numbers, which makes Range.create throw.
|
|
150
|
+
// These invalid position need to be handled
|
|
151
|
+
// on a case-by-case basis in the calling functions.
|
|
152
|
+
const originalRange = {
|
|
153
|
+
start: fragment.getOriginalPosition(range.start),
|
|
154
|
+
end: fragment.getOriginalPosition(range.end)
|
|
155
|
+
};
|
|
156
|
+
checkRangeLength(originalRange, range);
|
|
157
|
+
return originalRange;
|
|
158
|
+
}
|
|
159
|
+
/** Range may be mapped one character short - reverse that for "in the same line" cases*/
|
|
160
|
+
function checkRangeLength(originalRange, range) {
|
|
161
|
+
if (originalRange.start.line === originalRange.end.line &&
|
|
162
|
+
range.start.line === range.end.line &&
|
|
163
|
+
originalRange.end.character - originalRange.start.character ===
|
|
164
|
+
range.end.character - range.start.character - 1) {
|
|
165
|
+
originalRange.end.character += 1;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
function mapLocationToOriginal(fragment, range) {
|
|
169
|
+
const map = (fragment.getOriginalFilePosition ??
|
|
170
|
+
fragment.getOriginalPosition).bind(fragment);
|
|
171
|
+
const start = map(range.start);
|
|
172
|
+
const end = map(range.end);
|
|
173
|
+
const originalRange = {
|
|
174
|
+
start: { line: start.line, character: start.character },
|
|
175
|
+
end: { line: end.line, character: end.character }
|
|
176
|
+
};
|
|
177
|
+
checkRangeLength(originalRange, range);
|
|
178
|
+
return {
|
|
179
|
+
range: originalRange,
|
|
180
|
+
uri: start.uri ? start.uri : fragment.getURL()
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
function mapRangeToGenerated(fragment, range) {
|
|
184
|
+
return vscode_languageserver_1.Range.create(fragment.getGeneratedPosition(range.start), fragment.getGeneratedPosition(range.end));
|
|
185
|
+
}
|
|
186
|
+
function mapCompletionItemToOriginal(fragment, item) {
|
|
187
|
+
if (!item.textEdit) {
|
|
188
|
+
return item;
|
|
189
|
+
}
|
|
190
|
+
return {
|
|
191
|
+
...item,
|
|
192
|
+
textEdit: mapEditToOriginal(fragment, item.textEdit)
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
function mapHoverToParent(fragment, hover) {
|
|
196
|
+
if (!hover.range) {
|
|
197
|
+
return hover;
|
|
198
|
+
}
|
|
199
|
+
return { ...hover, range: mapRangeToOriginal(fragment, hover.range) };
|
|
200
|
+
}
|
|
201
|
+
function mapObjWithRangeToOriginal(fragment, objWithRange) {
|
|
202
|
+
return { ...objWithRange, range: mapRangeToOriginal(fragment, objWithRange.range) };
|
|
203
|
+
}
|
|
204
|
+
function mapInsertReplaceEditToOriginal(fragment, edit) {
|
|
205
|
+
return {
|
|
206
|
+
...edit,
|
|
207
|
+
insert: mapRangeToOriginal(fragment, edit.insert),
|
|
208
|
+
replace: mapRangeToOriginal(fragment, edit.replace)
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
function mapEditToOriginal(fragment, edit) {
|
|
212
|
+
return vscode_languageserver_1.TextEdit.is(edit)
|
|
213
|
+
? mapObjWithRangeToOriginal(fragment, edit)
|
|
214
|
+
: mapInsertReplaceEditToOriginal(fragment, edit);
|
|
215
|
+
}
|
|
216
|
+
function mapDiagnosticToGenerated(fragment, diagnostic) {
|
|
217
|
+
return { ...diagnostic, range: mapRangeToGenerated(fragment, diagnostic.range) };
|
|
218
|
+
}
|
|
219
|
+
function mapColorPresentationToOriginal(fragment, presentation) {
|
|
220
|
+
const item = {
|
|
221
|
+
...presentation
|
|
222
|
+
};
|
|
223
|
+
if (item.textEdit) {
|
|
224
|
+
item.textEdit = mapObjWithRangeToOriginal(fragment, item.textEdit);
|
|
225
|
+
}
|
|
226
|
+
if (item.additionalTextEdits) {
|
|
227
|
+
item.additionalTextEdits = item.additionalTextEdits.map((edit) => mapObjWithRangeToOriginal(fragment, edit));
|
|
228
|
+
}
|
|
229
|
+
return item;
|
|
230
|
+
}
|
|
231
|
+
function mapSymbolInformationToOriginal(fragment, info) {
|
|
232
|
+
return { ...info, location: mapObjWithRangeToOriginal(fragment, info.location) };
|
|
233
|
+
}
|
|
234
|
+
function mapLocationLinkToOriginal(fragment, def) {
|
|
235
|
+
return vscode_languageserver_1.LocationLink.create(def.targetUri, fragment.getURL() === def.targetUri
|
|
236
|
+
? mapRangeToOriginal(fragment, def.targetRange)
|
|
237
|
+
: def.targetRange, fragment.getURL() === def.targetUri
|
|
238
|
+
? mapRangeToOriginal(fragment, def.targetSelectionRange)
|
|
239
|
+
: def.targetSelectionRange, def.originSelectionRange
|
|
240
|
+
? mapRangeToOriginal(fragment, def.originSelectionRange)
|
|
241
|
+
: undefined);
|
|
242
|
+
}
|
|
243
|
+
function mapTextDocumentEditToOriginal(fragment, edit) {
|
|
244
|
+
if (edit.textDocument.uri !== fragment.getURL()) {
|
|
245
|
+
return edit;
|
|
246
|
+
}
|
|
247
|
+
return vscode_languageserver_1.TextDocumentEdit.create(edit.textDocument, edit.edits.map((textEdit) => mapObjWithRangeToOriginal(fragment, textEdit)));
|
|
248
|
+
}
|
|
249
|
+
function mapCodeActionToOriginal(fragment, codeAction) {
|
|
250
|
+
return vscode_languageserver_1.CodeAction.create(codeAction.title, {
|
|
251
|
+
documentChanges: codeAction.edit.documentChanges.map((edit) => mapTextDocumentEditToOriginal(fragment, edit))
|
|
252
|
+
}, codeAction.kind);
|
|
253
|
+
}
|
|
254
|
+
function mapSelectionRangeToParent(fragment, selectionRange) {
|
|
255
|
+
const { range, parent } = selectionRange;
|
|
256
|
+
return vscode_languageserver_1.SelectionRange.create(mapRangeToOriginal(fragment, range), parent && mapSelectionRangeToParent(fragment, parent));
|
|
257
|
+
}
|
|
258
|
+
//# sourceMappingURL=DocumentMapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocumentMapper.js","sourceRoot":"","sources":["../../../../src/lib/documents/DocumentMapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { CompileOptions } from 'svelte/types/compiler/interfaces';
|
|
2
|
+
import { PreprocessorGroup } from 'svelte/types/compiler/preprocess';
|
|
3
|
+
import { fdir } from 'fdir';
|
|
4
|
+
import _path from 'path';
|
|
5
|
+
import _fs from 'fs';
|
|
6
|
+
import { URL } from 'url';
|
|
7
|
+
export type InternalPreprocessorGroup = PreprocessorGroup & {
|
|
8
|
+
/**
|
|
9
|
+
* svelte-preprocess has this since 4.x
|
|
10
|
+
*/
|
|
11
|
+
defaultLanguages?: {
|
|
12
|
+
markup?: string;
|
|
13
|
+
script?: string;
|
|
14
|
+
style?: string;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export interface SvelteConfig {
|
|
18
|
+
compilerOptions?: CompileOptions;
|
|
19
|
+
preprocess?: InternalPreprocessorGroup | InternalPreprocessorGroup[];
|
|
20
|
+
loadConfigError?: any;
|
|
21
|
+
isFallbackConfig?: boolean;
|
|
22
|
+
kit?: any;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* This function encapsulates the import call in a way
|
|
26
|
+
* that TypeScript does not transpile `import()`.
|
|
27
|
+
* https://github.com/microsoft/TypeScript/issues/43329
|
|
28
|
+
*/
|
|
29
|
+
declare const _dynamicImport: (modulePath: URL) => Promise<any>;
|
|
30
|
+
/**
|
|
31
|
+
* Loads svelte.config.{js,cjs,mjs} files. Provides both a synchronous and asynchronous
|
|
32
|
+
* interface to get a config file because snapshots need access to it synchronously.
|
|
33
|
+
* This means that another instance (the ts service host on startup) should make
|
|
34
|
+
* sure that all config files are loaded before snapshots are retrieved.
|
|
35
|
+
* Asynchronousity is needed because we use the dynamic `import()` statement.
|
|
36
|
+
*/
|
|
37
|
+
export declare class ConfigLoader {
|
|
38
|
+
private globSync;
|
|
39
|
+
private fs;
|
|
40
|
+
private path;
|
|
41
|
+
private dynamicImport;
|
|
42
|
+
private configFiles;
|
|
43
|
+
private configFilesAsync;
|
|
44
|
+
private filePathToConfigPath;
|
|
45
|
+
private disabled;
|
|
46
|
+
constructor(globSync: typeof fdir, fs: Pick<typeof _fs, 'existsSync'>, path: Pick<typeof _path, 'dirname' | 'relative' | 'join'>, dynamicImport: typeof _dynamicImport);
|
|
47
|
+
/**
|
|
48
|
+
* Enable/disable loading of configs (for security reasons for example)
|
|
49
|
+
*/
|
|
50
|
+
setDisabled(disabled: boolean): void;
|
|
51
|
+
/**
|
|
52
|
+
* Tries to load all `svelte.config.js` files below given directory
|
|
53
|
+
* and the first one found inside/above that directory.
|
|
54
|
+
*
|
|
55
|
+
* @param directory Directory where to load the configs from
|
|
56
|
+
*/
|
|
57
|
+
loadConfigs(directory: string): Promise<void>;
|
|
58
|
+
private addFallbackConfig;
|
|
59
|
+
private searchConfigPathUpwards;
|
|
60
|
+
private loadAndCacheConfig;
|
|
61
|
+
private loadConfig;
|
|
62
|
+
/**
|
|
63
|
+
* Returns config associated to file. If no config is found, the file
|
|
64
|
+
* was called in a context where no config file search was done before,
|
|
65
|
+
* which can happen
|
|
66
|
+
* - if TS intellisense is turned off and the search did not run on tsconfig init
|
|
67
|
+
* - if the file was opened not through the TS service crawl, but through the LSP
|
|
68
|
+
*
|
|
69
|
+
* @param file
|
|
70
|
+
*/
|
|
71
|
+
getConfig(file: string): SvelteConfig | undefined;
|
|
72
|
+
/**
|
|
73
|
+
* Like `getConfig`, but will search for a config above if no config found.
|
|
74
|
+
*/
|
|
75
|
+
awaitConfig(file: string): Promise<SvelteConfig | undefined>;
|
|
76
|
+
private tryGetConfig;
|
|
77
|
+
private useFallbackPreprocessor;
|
|
78
|
+
}
|
|
79
|
+
export declare const configLoader: ConfigLoader;
|
|
80
|
+
export {};
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.configLoader = exports.ConfigLoader = void 0;
|
|
7
|
+
const logger_1 = require("../../logger");
|
|
8
|
+
const importPackage_1 = require("../../importPackage");
|
|
9
|
+
const fdir_1 = require("fdir");
|
|
10
|
+
const path_1 = __importDefault(require("path"));
|
|
11
|
+
const fs_1 = __importDefault(require("fs"));
|
|
12
|
+
const url_1 = require("url");
|
|
13
|
+
const fileCollection_1 = require("./fileCollection");
|
|
14
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
15
|
+
const DEFAULT_OPTIONS = {
|
|
16
|
+
dev: true
|
|
17
|
+
};
|
|
18
|
+
const NO_GENERATE = {
|
|
19
|
+
generate: false
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* This function encapsulates the import call in a way
|
|
23
|
+
* that TypeScript does not transpile `import()`.
|
|
24
|
+
* https://github.com/microsoft/TypeScript/issues/43329
|
|
25
|
+
*/
|
|
26
|
+
const _dynamicImport = new Function('modulePath', 'return import(modulePath)');
|
|
27
|
+
const configRegex = /\/svelte\.config\.(js|cjs|mjs)$/;
|
|
28
|
+
/**
|
|
29
|
+
* Loads svelte.config.{js,cjs,mjs} files. Provides both a synchronous and asynchronous
|
|
30
|
+
* interface to get a config file because snapshots need access to it synchronously.
|
|
31
|
+
* This means that another instance (the ts service host on startup) should make
|
|
32
|
+
* sure that all config files are loaded before snapshots are retrieved.
|
|
33
|
+
* Asynchronousity is needed because we use the dynamic `import()` statement.
|
|
34
|
+
*/
|
|
35
|
+
class ConfigLoader {
|
|
36
|
+
constructor(globSync, fs, path, dynamicImport) {
|
|
37
|
+
this.globSync = globSync;
|
|
38
|
+
this.fs = fs;
|
|
39
|
+
this.path = path;
|
|
40
|
+
this.dynamicImport = dynamicImport;
|
|
41
|
+
this.configFiles = new fileCollection_1.FileMap();
|
|
42
|
+
this.configFilesAsync = new fileCollection_1.FileMap();
|
|
43
|
+
this.filePathToConfigPath = new fileCollection_1.FileMap();
|
|
44
|
+
this.disabled = false;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Enable/disable loading of configs (for security reasons for example)
|
|
48
|
+
*/
|
|
49
|
+
setDisabled(disabled) {
|
|
50
|
+
this.disabled = disabled;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Tries to load all `svelte.config.js` files below given directory
|
|
54
|
+
* and the first one found inside/above that directory.
|
|
55
|
+
*
|
|
56
|
+
* @param directory Directory where to load the configs from
|
|
57
|
+
*/
|
|
58
|
+
async loadConfigs(directory) {
|
|
59
|
+
logger_1.Logger.log('Trying to load configs for', directory);
|
|
60
|
+
try {
|
|
61
|
+
const pathResults = new this.globSync({})
|
|
62
|
+
.withPathSeparator('/')
|
|
63
|
+
.exclude((_, path) => {
|
|
64
|
+
// no / at the start, path could start with node_modules
|
|
65
|
+
return path.includes('node_modules/') || path.includes('/.') || path[0] === '.';
|
|
66
|
+
})
|
|
67
|
+
.filter((path, isDir) => {
|
|
68
|
+
return !isDir && configRegex.test(path);
|
|
69
|
+
})
|
|
70
|
+
.withRelativePaths()
|
|
71
|
+
.crawl(directory)
|
|
72
|
+
.sync();
|
|
73
|
+
const someConfigIsImmediateFileInDirectory = pathResults.length > 0 && pathResults.some((res) => !this.path.dirname(res));
|
|
74
|
+
if (!someConfigIsImmediateFileInDirectory) {
|
|
75
|
+
const configPathUpwards = this.searchConfigPathUpwards(directory);
|
|
76
|
+
if (configPathUpwards) {
|
|
77
|
+
pathResults.push(this.path.relative(directory, configPathUpwards));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (pathResults.length === 0) {
|
|
81
|
+
this.addFallbackConfig(directory);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const promises = pathResults
|
|
85
|
+
.map((pathResult) => this.path.join(directory, pathResult))
|
|
86
|
+
.filter((pathResult) => {
|
|
87
|
+
const config = this.configFiles.get(pathResult);
|
|
88
|
+
return !config || config.loadConfigError;
|
|
89
|
+
})
|
|
90
|
+
.map(async (pathResult) => {
|
|
91
|
+
await this.loadAndCacheConfig(pathResult, directory);
|
|
92
|
+
});
|
|
93
|
+
await Promise.all(promises);
|
|
94
|
+
}
|
|
95
|
+
catch (e) {
|
|
96
|
+
logger_1.Logger.error(e);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
addFallbackConfig(directory) {
|
|
100
|
+
const fallback = this.useFallbackPreprocessor(directory, false);
|
|
101
|
+
const path = this.path.join(directory, 'svelte.config.js');
|
|
102
|
+
this.configFilesAsync.set(path, Promise.resolve(fallback));
|
|
103
|
+
this.configFiles.set(path, fallback);
|
|
104
|
+
}
|
|
105
|
+
searchConfigPathUpwards(path) {
|
|
106
|
+
let currentDir = path;
|
|
107
|
+
let nextDir = this.path.dirname(path);
|
|
108
|
+
while (currentDir !== nextDir) {
|
|
109
|
+
const tryFindConfigPath = (ending) => {
|
|
110
|
+
const path = this.path.join(currentDir, `svelte.config.${ending}`);
|
|
111
|
+
return this.fs.existsSync(path) ? path : undefined;
|
|
112
|
+
};
|
|
113
|
+
const configPath = tryFindConfigPath('js') || tryFindConfigPath('cjs') || tryFindConfigPath('mjs');
|
|
114
|
+
if (configPath) {
|
|
115
|
+
return configPath;
|
|
116
|
+
}
|
|
117
|
+
currentDir = nextDir;
|
|
118
|
+
nextDir = this.path.dirname(currentDir);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
async loadAndCacheConfig(configPath, directory) {
|
|
122
|
+
const loadingConfig = this.configFilesAsync.get(configPath);
|
|
123
|
+
if (loadingConfig) {
|
|
124
|
+
await loadingConfig;
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
const newConfig = this.loadConfig(configPath, directory);
|
|
128
|
+
this.configFilesAsync.set(configPath, newConfig);
|
|
129
|
+
this.configFiles.set(configPath, await newConfig);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
async loadConfig(configPath, directory) {
|
|
133
|
+
try {
|
|
134
|
+
let config = this.disabled
|
|
135
|
+
? {}
|
|
136
|
+
: (await this.dynamicImport((0, url_1.pathToFileURL)(configPath)))?.default;
|
|
137
|
+
if (!config) {
|
|
138
|
+
throw new Error('Missing exports in the config. Make sure to include "export default config" or "module.exports = config"');
|
|
139
|
+
}
|
|
140
|
+
config = {
|
|
141
|
+
...config,
|
|
142
|
+
compilerOptions: {
|
|
143
|
+
...DEFAULT_OPTIONS,
|
|
144
|
+
...config.compilerOptions,
|
|
145
|
+
...NO_GENERATE
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
logger_1.Logger.log('Loaded config at ', configPath);
|
|
149
|
+
return config;
|
|
150
|
+
}
|
|
151
|
+
catch (err) {
|
|
152
|
+
logger_1.Logger.error('Error while loading config at ', configPath);
|
|
153
|
+
logger_1.Logger.error(err);
|
|
154
|
+
const config = {
|
|
155
|
+
...this.useFallbackPreprocessor(directory, true),
|
|
156
|
+
compilerOptions: {
|
|
157
|
+
...DEFAULT_OPTIONS,
|
|
158
|
+
...NO_GENERATE
|
|
159
|
+
},
|
|
160
|
+
loadConfigError: err
|
|
161
|
+
};
|
|
162
|
+
return config;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Returns config associated to file. If no config is found, the file
|
|
167
|
+
* was called in a context where no config file search was done before,
|
|
168
|
+
* which can happen
|
|
169
|
+
* - if TS intellisense is turned off and the search did not run on tsconfig init
|
|
170
|
+
* - if the file was opened not through the TS service crawl, but through the LSP
|
|
171
|
+
*
|
|
172
|
+
* @param file
|
|
173
|
+
*/
|
|
174
|
+
getConfig(file) {
|
|
175
|
+
const cached = this.filePathToConfigPath.get(file);
|
|
176
|
+
if (cached) {
|
|
177
|
+
return this.configFiles.get(cached);
|
|
178
|
+
}
|
|
179
|
+
let currentDir = file;
|
|
180
|
+
let nextDir = this.path.dirname(file);
|
|
181
|
+
while (currentDir !== nextDir) {
|
|
182
|
+
currentDir = nextDir;
|
|
183
|
+
const config = this.tryGetConfig(file, currentDir, 'js') ||
|
|
184
|
+
this.tryGetConfig(file, currentDir, 'cjs') ||
|
|
185
|
+
this.tryGetConfig(file, currentDir, 'mjs');
|
|
186
|
+
if (config) {
|
|
187
|
+
return config;
|
|
188
|
+
}
|
|
189
|
+
nextDir = this.path.dirname(currentDir);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Like `getConfig`, but will search for a config above if no config found.
|
|
194
|
+
*/
|
|
195
|
+
async awaitConfig(file) {
|
|
196
|
+
const config = this.getConfig(file);
|
|
197
|
+
if (config) {
|
|
198
|
+
return config;
|
|
199
|
+
}
|
|
200
|
+
const fileDirectory = this.path.dirname(file);
|
|
201
|
+
const configPath = this.searchConfigPathUpwards(fileDirectory);
|
|
202
|
+
if (configPath) {
|
|
203
|
+
await this.loadAndCacheConfig(configPath, fileDirectory);
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
this.addFallbackConfig(fileDirectory);
|
|
207
|
+
}
|
|
208
|
+
return this.getConfig(file);
|
|
209
|
+
}
|
|
210
|
+
tryGetConfig(file, fromDirectory, configFileEnding) {
|
|
211
|
+
const path = this.path.join(fromDirectory, `svelte.config.${configFileEnding}`);
|
|
212
|
+
const config = this.configFiles.get(path);
|
|
213
|
+
if (config) {
|
|
214
|
+
this.filePathToConfigPath.set(file, path);
|
|
215
|
+
return config;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
useFallbackPreprocessor(path, foundConfig) {
|
|
219
|
+
try {
|
|
220
|
+
const sveltePreprocess = (0, importPackage_1.importSveltePreprocess)(path);
|
|
221
|
+
logger_1.Logger.log((foundConfig
|
|
222
|
+
? 'Found svelte.config.js but there was an error loading it. '
|
|
223
|
+
: 'No svelte.config.js found. ') +
|
|
224
|
+
'Using https://github.com/sveltejs/svelte-preprocess as fallback');
|
|
225
|
+
return {
|
|
226
|
+
preprocess: sveltePreprocess({
|
|
227
|
+
// 4.x does not have transpileOnly anymore, but if the user has version 3.x
|
|
228
|
+
// in his repo, that one is loaded instead, for which we still need this.
|
|
229
|
+
typescript: {
|
|
230
|
+
transpileOnly: true,
|
|
231
|
+
compilerOptions: { sourceMap: true, inlineSourceMap: false }
|
|
232
|
+
}
|
|
233
|
+
}),
|
|
234
|
+
isFallbackConfig: true
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
catch (e) {
|
|
238
|
+
// User doesn't have svelte-preprocess installed, provide a barebones TS preprocessor
|
|
239
|
+
return {
|
|
240
|
+
preprocess: {
|
|
241
|
+
// @ts-ignore name property exists in Svelte 4 onwards
|
|
242
|
+
name: 'svelte-language-tools-ts-fallback-preprocessor',
|
|
243
|
+
script: ({ content, attributes, filename }) => {
|
|
244
|
+
if (attributes.lang !== 'ts')
|
|
245
|
+
return;
|
|
246
|
+
const { outputText, sourceMapText } = typescript_1.default.transpileModule(content, {
|
|
247
|
+
fileName: filename,
|
|
248
|
+
compilerOptions: {
|
|
249
|
+
module: typescript_1.default.ModuleKind.ESNext,
|
|
250
|
+
target: typescript_1.default.ScriptTarget.ESNext,
|
|
251
|
+
sourceMap: true,
|
|
252
|
+
verbatimModuleSyntax: true
|
|
253
|
+
}
|
|
254
|
+
});
|
|
255
|
+
return { code: outputText, map: sourceMapText };
|
|
256
|
+
}
|
|
257
|
+
},
|
|
258
|
+
isFallbackConfig: true
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
exports.ConfigLoader = ConfigLoader;
|
|
264
|
+
exports.configLoader = new ConfigLoader(fdir_1.fdir, fs_1.default, path_1.default, _dynamicImport);
|
|
265
|
+
//# sourceMappingURL=configLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configLoader.js","sourceRoot":"","sources":["../../../../src/lib/documents/configLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* wrapper around Map<string, T> for case insensitive file systems
|
|
3
|
+
*/
|
|
4
|
+
export declare class FileMap<T> implements Iterable<[string, T]> {
|
|
5
|
+
private getCanonicalFileName;
|
|
6
|
+
private readonly map;
|
|
7
|
+
constructor(useCaseSensitiveFileNames?: boolean);
|
|
8
|
+
get(filePath: string): T | undefined;
|
|
9
|
+
set(filePath: string, value: T): Map<string, T>;
|
|
10
|
+
has(filePath: string): boolean;
|
|
11
|
+
delete(filePath: string): boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Returns an iterable of key, value pairs for every entry in the map.
|
|
14
|
+
* In case insensitive file system the key in the key-value pairs is in lowercase
|
|
15
|
+
*/
|
|
16
|
+
entries(): IterableIterator<[string, T]>;
|
|
17
|
+
/**
|
|
18
|
+
*
|
|
19
|
+
* @param callbackfn In case insensitive file system the key parameter for the callback is in lowercase
|
|
20
|
+
*/
|
|
21
|
+
forEach(callbackfn: (value: T, key: string) => void): void;
|
|
22
|
+
values(): MapIterator<T>;
|
|
23
|
+
clear(): void;
|
|
24
|
+
/**
|
|
25
|
+
* Returns an iterable of values in the map.
|
|
26
|
+
* In case insensitive file system the key is in lowercase
|
|
27
|
+
*/
|
|
28
|
+
keys(): MapIterator<string>;
|
|
29
|
+
get size(): number;
|
|
30
|
+
[Symbol.iterator](): Iterator<[string, T]>;
|
|
31
|
+
}
|
|
32
|
+
export declare class FileSet implements Iterable<string> {
|
|
33
|
+
private getCanonicalFileName;
|
|
34
|
+
private readonly set;
|
|
35
|
+
constructor(useCaseSensitiveFileNames?: boolean);
|
|
36
|
+
add(filePath: string): void;
|
|
37
|
+
has(filePath: string): boolean;
|
|
38
|
+
delete(filePath: string): boolean;
|
|
39
|
+
clear(): void;
|
|
40
|
+
[Symbol.iterator](): Iterator<string>;
|
|
41
|
+
}
|