@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.
Files changed (256) hide show
  1. package/README.md +331 -0
  2. package/bin/server.js +5 -0
  3. package/dist/src/importPackage.d.ts +16 -0
  4. package/dist/src/importPackage.js +76 -0
  5. package/dist/src/importPackage.js.map +1 -0
  6. package/dist/src/index.d.ts +3 -0
  7. package/dist/src/index.js +23 -0
  8. package/dist/src/index.js.map +1 -0
  9. package/dist/src/lib/DiagnosticsManager.d.ts +20 -0
  10. package/dist/src/lib/DiagnosticsManager.js +71 -0
  11. package/dist/src/lib/DiagnosticsManager.js.map +1 -0
  12. package/dist/src/lib/FallbackWatcher.d.ts +15 -0
  13. package/dist/src/lib/FallbackWatcher.js +66 -0
  14. package/dist/src/lib/FallbackWatcher.js.map +1 -0
  15. package/dist/src/lib/documentHighlight/wordHighlight.d.ts +3 -0
  16. package/dist/src/lib/documentHighlight/wordHighlight.js +62 -0
  17. package/dist/src/lib/documentHighlight/wordHighlight.js.map +1 -0
  18. package/dist/src/lib/documents/Document.d.ts +63 -0
  19. package/dist/src/lib/documents/Document.js +138 -0
  20. package/dist/src/lib/documents/Document.js.map +1 -0
  21. package/dist/src/lib/documents/DocumentBase.d.ts +65 -0
  22. package/dist/src/lib/documents/DocumentBase.js +69 -0
  23. package/dist/src/lib/documents/DocumentBase.js.map +1 -0
  24. package/dist/src/lib/documents/DocumentManager.d.ts +28 -0
  25. package/dist/src/lib/documents/DocumentManager.js +122 -0
  26. package/dist/src/lib/documents/DocumentManager.js.map +1 -0
  27. package/dist/src/lib/documents/DocumentMapper.d.ts +88 -0
  28. package/dist/src/lib/documents/DocumentMapper.js +258 -0
  29. package/dist/src/lib/documents/DocumentMapper.js.map +1 -0
  30. package/dist/src/lib/documents/configLoader.d.ts +80 -0
  31. package/dist/src/lib/documents/configLoader.js +265 -0
  32. package/dist/src/lib/documents/configLoader.js.map +1 -0
  33. package/dist/src/lib/documents/fileCollection.d.ts +41 -0
  34. package/dist/src/lib/documents/fileCollection.js +87 -0
  35. package/dist/src/lib/documents/fileCollection.js.map +1 -0
  36. package/dist/src/lib/documents/index.d.ts +5 -0
  37. package/dist/src/lib/documents/index.js +22 -0
  38. package/dist/src/lib/documents/index.js.map +1 -0
  39. package/dist/src/lib/documents/parseHtml.d.ts +13 -0
  40. package/dist/src/lib/documents/parseHtml.js +160 -0
  41. package/dist/src/lib/documents/parseHtml.js.map +1 -0
  42. package/dist/src/lib/documents/utils.d.ts +105 -0
  43. package/dist/src/lib/documents/utils.js +410 -0
  44. package/dist/src/lib/documents/utils.js.map +1 -0
  45. package/dist/src/lib/foldingRange/indentFolding.d.ts +26 -0
  46. package/dist/src/lib/foldingRange/indentFolding.js +142 -0
  47. package/dist/src/lib/foldingRange/indentFolding.js.map +1 -0
  48. package/dist/src/lib/semanticToken/semanticTokenLegend.d.ts +33 -0
  49. package/dist/src/lib/semanticToken/semanticTokenLegend.js +37 -0
  50. package/dist/src/lib/semanticToken/semanticTokenLegend.js.map +1 -0
  51. package/dist/src/logger.d.ts +9 -0
  52. package/dist/src/logger.js +28 -0
  53. package/dist/src/logger.js.map +1 -0
  54. package/dist/src/ls-config.d.ts +326 -0
  55. package/dist/src/ls-config.js +386 -0
  56. package/dist/src/ls-config.js.map +1 -0
  57. package/dist/src/plugins/PluginHost.d.ts +68 -0
  58. package/dist/src/plugins/PluginHost.js +447 -0
  59. package/dist/src/plugins/PluginHost.js.map +1 -0
  60. package/dist/src/plugins/css/CSSDocument.d.ts +46 -0
  61. package/dist/src/plugins/css/CSSDocument.js +78 -0
  62. package/dist/src/plugins/css/CSSDocument.js.map +1 -0
  63. package/dist/src/plugins/css/CSSPlugin.d.ts +35 -0
  64. package/dist/src/plugins/css/CSSPlugin.js +407 -0
  65. package/dist/src/plugins/css/CSSPlugin.js.map +1 -0
  66. package/dist/src/plugins/css/FileSystemProvider.d.ts +10 -0
  67. package/dist/src/plugins/css/FileSystemProvider.js +75 -0
  68. package/dist/src/plugins/css/FileSystemProvider.js.map +1 -0
  69. package/dist/src/plugins/css/StyleAttributeDocument.d.ts +41 -0
  70. package/dist/src/plugins/css/StyleAttributeDocument.js +65 -0
  71. package/dist/src/plugins/css/StyleAttributeDocument.js.map +1 -0
  72. package/dist/src/plugins/css/features/getIdClassCompletion.d.ts +19 -0
  73. package/dist/src/plugins/css/features/getIdClassCompletion.js +56 -0
  74. package/dist/src/plugins/css/features/getIdClassCompletion.js.map +1 -0
  75. package/dist/src/plugins/css/features/svelte-selectors.d.ts +2 -0
  76. package/dist/src/plugins/css/features/svelte-selectors.js +18 -0
  77. package/dist/src/plugins/css/features/svelte-selectors.js.map +1 -0
  78. package/dist/src/plugins/css/global-vars.d.ts +16 -0
  79. package/dist/src/plugins/css/global-vars.js +82 -0
  80. package/dist/src/plugins/css/global-vars.js.map +1 -0
  81. package/dist/src/plugins/css/service.d.ts +5 -0
  82. package/dist/src/plugins/css/service.js +66 -0
  83. package/dist/src/plugins/css/service.js.map +1 -0
  84. package/dist/src/plugins/documentContext.d.ts +3 -0
  85. package/dist/src/plugins/documentContext.js +36 -0
  86. package/dist/src/plugins/documentContext.js.map +1 -0
  87. package/dist/src/plugins/html/HTMLPlugin.d.ts +36 -0
  88. package/dist/src/plugins/html/HTMLPlugin.js +363 -0
  89. package/dist/src/plugins/html/HTMLPlugin.js.map +1 -0
  90. package/dist/src/plugins/html/dataProvider.d.ts +1 -0
  91. package/dist/src/plugins/html/dataProvider.js +481 -0
  92. package/dist/src/plugins/html/dataProvider.js.map +1 -0
  93. package/dist/src/plugins/index.d.ts +7 -0
  94. package/dist/src/plugins/index.js +24 -0
  95. package/dist/src/plugins/index.js.map +1 -0
  96. package/dist/src/plugins/interfaces.d.ts +132 -0
  97. package/dist/src/plugins/interfaces.js +3 -0
  98. package/dist/src/plugins/interfaces.js.map +1 -0
  99. package/dist/src/plugins/svelte/SvelteDocument.d.ts +98 -0
  100. package/dist/src/plugins/svelte/SvelteDocument.js +318 -0
  101. package/dist/src/plugins/svelte/SvelteDocument.js.map +1 -0
  102. package/dist/src/plugins/svelte/SveltePlugin.d.ts +24 -0
  103. package/dist/src/plugins/svelte/SveltePlugin.js +306 -0
  104. package/dist/src/plugins/svelte/SveltePlugin.js.map +1 -0
  105. package/dist/src/plugins/svelte/features/SvelteTags.d.ts +28 -0
  106. package/dist/src/plugins/svelte/features/SvelteTags.js +136 -0
  107. package/dist/src/plugins/svelte/features/SvelteTags.js.map +1 -0
  108. package/dist/src/plugins/svelte/features/getCodeActions/getQuickfixes.d.ts +11 -0
  109. package/dist/src/plugins/svelte/features/getCodeActions/getQuickfixes.js +140 -0
  110. package/dist/src/plugins/svelte/features/getCodeActions/getQuickfixes.js.map +1 -0
  111. package/dist/src/plugins/svelte/features/getCodeActions/getRefactorings.d.ts +9 -0
  112. package/dist/src/plugins/svelte/features/getCodeActions/getRefactorings.js +140 -0
  113. package/dist/src/plugins/svelte/features/getCodeActions/getRefactorings.js.map +1 -0
  114. package/dist/src/plugins/svelte/features/getCodeActions/index.d.ts +4 -0
  115. package/dist/src/plugins/svelte/features/getCodeActions/index.js +19 -0
  116. package/dist/src/plugins/svelte/features/getCodeActions/index.js.map +1 -0
  117. package/dist/src/plugins/svelte/features/getCompletions.d.ts +4 -0
  118. package/dist/src/plugins/svelte/features/getCompletions.js +184 -0
  119. package/dist/src/plugins/svelte/features/getCompletions.js.map +1 -0
  120. package/dist/src/plugins/svelte/features/getDiagnostics.d.ts +9 -0
  121. package/dist/src/plugins/svelte/features/getDiagnostics.js +284 -0
  122. package/dist/src/plugins/svelte/features/getDiagnostics.js.map +1 -0
  123. package/dist/src/plugins/svelte/features/getHoverInfo.d.ts +7 -0
  124. package/dist/src/plugins/svelte/features/getHoverInfo.js +93 -0
  125. package/dist/src/plugins/svelte/features/getHoverInfo.js.map +1 -0
  126. package/dist/src/plugins/svelte/features/getModifierData.d.ts +7 -0
  127. package/dist/src/plugins/svelte/features/getModifierData.js +56 -0
  128. package/dist/src/plugins/svelte/features/getModifierData.js.map +1 -0
  129. package/dist/src/plugins/svelte/features/getSelectionRanges.d.ts +3 -0
  130. package/dist/src/plugins/svelte/features/getSelectionRanges.js +46 -0
  131. package/dist/src/plugins/svelte/features/getSelectionRanges.js.map +1 -0
  132. package/dist/src/plugins/svelte/features/utils.d.ts +5 -0
  133. package/dist/src/plugins/svelte/features/utils.js +18 -0
  134. package/dist/src/plugins/svelte/features/utils.js.map +1 -0
  135. package/dist/src/plugins/typescript/ComponentInfoProvider.d.ts +27 -0
  136. package/dist/src/plugins/typescript/ComponentInfoProvider.js +116 -0
  137. package/dist/src/plugins/typescript/ComponentInfoProvider.js.map +1 -0
  138. package/dist/src/plugins/typescript/DocumentMapper.d.ts +10 -0
  139. package/dist/src/plugins/typescript/DocumentMapper.js +25 -0
  140. package/dist/src/plugins/typescript/DocumentMapper.js.map +1 -0
  141. package/dist/src/plugins/typescript/DocumentSnapshot.d.ts +173 -0
  142. package/dist/src/plugins/typescript/DocumentSnapshot.js +623 -0
  143. package/dist/src/plugins/typescript/DocumentSnapshot.js.map +1 -0
  144. package/dist/src/plugins/typescript/LSAndTSDocResolver.d.ts +100 -0
  145. package/dist/src/plugins/typescript/LSAndTSDocResolver.js +301 -0
  146. package/dist/src/plugins/typescript/LSAndTSDocResolver.js.map +1 -0
  147. package/dist/src/plugins/typescript/SnapshotManager.d.ts +59 -0
  148. package/dist/src/plugins/typescript/SnapshotManager.js +238 -0
  149. package/dist/src/plugins/typescript/SnapshotManager.js.map +1 -0
  150. package/dist/src/plugins/typescript/TypeScriptPlugin.d.ts +65 -0
  151. package/dist/src/plugins/typescript/TypeScriptPlugin.js +332 -0
  152. package/dist/src/plugins/typescript/TypeScriptPlugin.js.map +1 -0
  153. package/dist/src/plugins/typescript/features/CallHierarchyProvider.d.ts +24 -0
  154. package/dist/src/plugins/typescript/features/CallHierarchyProvider.js +325 -0
  155. package/dist/src/plugins/typescript/features/CallHierarchyProvider.js.map +1 -0
  156. package/dist/src/plugins/typescript/features/CodeActionsProvider.d.ts +72 -0
  157. package/dist/src/plugins/typescript/features/CodeActionsProvider.js +1030 -0
  158. package/dist/src/plugins/typescript/features/CodeActionsProvider.js.map +1 -0
  159. package/dist/src/plugins/typescript/features/CodeLensProvider.d.ts +28 -0
  160. package/dist/src/plugins/typescript/features/CodeLensProvider.js +205 -0
  161. package/dist/src/plugins/typescript/features/CodeLensProvider.js.map +1 -0
  162. package/dist/src/plugins/typescript/features/CompletionProvider.d.ts +57 -0
  163. package/dist/src/plugins/typescript/features/CompletionProvider.js +791 -0
  164. package/dist/src/plugins/typescript/features/CompletionProvider.js.map +1 -0
  165. package/dist/src/plugins/typescript/features/DiagnosticsProvider.d.ts +36 -0
  166. package/dist/src/plugins/typescript/features/DiagnosticsProvider.js +497 -0
  167. package/dist/src/plugins/typescript/features/DiagnosticsProvider.js.map +1 -0
  168. package/dist/src/plugins/typescript/features/DocumentHighlightProvider.d.ts +17 -0
  169. package/dist/src/plugins/typescript/features/DocumentHighlightProvider.js +211 -0
  170. package/dist/src/plugins/typescript/features/DocumentHighlightProvider.js.map +1 -0
  171. package/dist/src/plugins/typescript/features/FindComponentReferencesProvider.d.ts +9 -0
  172. package/dist/src/plugins/typescript/features/FindComponentReferencesProvider.js +66 -0
  173. package/dist/src/plugins/typescript/features/FindComponentReferencesProvider.js.map +1 -0
  174. package/dist/src/plugins/typescript/features/FindFileReferencesProvider.d.ts +9 -0
  175. package/dist/src/plugins/typescript/features/FindFileReferencesProvider.js +38 -0
  176. package/dist/src/plugins/typescript/features/FindFileReferencesProvider.js.map +1 -0
  177. package/dist/src/plugins/typescript/features/FindReferencesProvider.d.ts +20 -0
  178. package/dist/src/plugins/typescript/features/FindReferencesProvider.js +149 -0
  179. package/dist/src/plugins/typescript/features/FindReferencesProvider.js.map +1 -0
  180. package/dist/src/plugins/typescript/features/FoldingRangeProvider.d.ts +28 -0
  181. package/dist/src/plugins/typescript/features/FoldingRangeProvider.js +247 -0
  182. package/dist/src/plugins/typescript/features/FoldingRangeProvider.js.map +1 -0
  183. package/dist/src/plugins/typescript/features/HoverProvider.d.ts +11 -0
  184. package/dist/src/plugins/typescript/features/HoverProvider.js +75 -0
  185. package/dist/src/plugins/typescript/features/HoverProvider.js.map +1 -0
  186. package/dist/src/plugins/typescript/features/ImplementationProvider.d.ts +9 -0
  187. package/dist/src/plugins/typescript/features/ImplementationProvider.js +47 -0
  188. package/dist/src/plugins/typescript/features/ImplementationProvider.js.map +1 -0
  189. package/dist/src/plugins/typescript/features/InlayHintProvider.d.ts +22 -0
  190. package/dist/src/plugins/typescript/features/InlayHintProvider.js +225 -0
  191. package/dist/src/plugins/typescript/features/InlayHintProvider.js.map +1 -0
  192. package/dist/src/plugins/typescript/features/RenameProvider.d.ts +53 -0
  193. package/dist/src/plugins/typescript/features/RenameProvider.js +423 -0
  194. package/dist/src/plugins/typescript/features/RenameProvider.js.map +1 -0
  195. package/dist/src/plugins/typescript/features/SelectionRangeProvider.d.ts +18 -0
  196. package/dist/src/plugins/typescript/features/SelectionRangeProvider.js +62 -0
  197. package/dist/src/plugins/typescript/features/SelectionRangeProvider.js.map +1 -0
  198. package/dist/src/plugins/typescript/features/SemanticTokensProvider.d.ts +15 -0
  199. package/dist/src/plugins/typescript/features/SemanticTokensProvider.js +116 -0
  200. package/dist/src/plugins/typescript/features/SemanticTokensProvider.js.map +1 -0
  201. package/dist/src/plugins/typescript/features/SignatureHelpProvider.d.ts +22 -0
  202. package/dist/src/plugins/typescript/features/SignatureHelpProvider.js +110 -0
  203. package/dist/src/plugins/typescript/features/SignatureHelpProvider.js.map +1 -0
  204. package/dist/src/plugins/typescript/features/TypeDefinitionProvider.d.ts +9 -0
  205. package/dist/src/plugins/typescript/features/TypeDefinitionProvider.js +35 -0
  206. package/dist/src/plugins/typescript/features/TypeDefinitionProvider.js.map +1 -0
  207. package/dist/src/plugins/typescript/features/UpdateImportsProvider.d.ts +11 -0
  208. package/dist/src/plugins/typescript/features/UpdateImportsProvider.js +109 -0
  209. package/dist/src/plugins/typescript/features/UpdateImportsProvider.js.map +1 -0
  210. package/dist/src/plugins/typescript/features/WorkspaceSymbolProvider.d.ts +25 -0
  211. package/dist/src/plugins/typescript/features/WorkspaceSymbolProvider.js +176 -0
  212. package/dist/src/plugins/typescript/features/WorkspaceSymbolProvider.js.map +1 -0
  213. package/dist/src/plugins/typescript/features/getDirectiveCommentCompletions.d.ts +13 -0
  214. package/dist/src/plugins/typescript/features/getDirectiveCommentCompletions.js +58 -0
  215. package/dist/src/plugins/typescript/features/getDirectiveCommentCompletions.js.map +1 -0
  216. package/dist/src/plugins/typescript/features/getJsDocTemplateCompletion.d.ts +4 -0
  217. package/dist/src/plugins/typescript/features/getJsDocTemplateCompletion.js +57 -0
  218. package/dist/src/plugins/typescript/features/getJsDocTemplateCompletion.js.map +1 -0
  219. package/dist/src/plugins/typescript/features/utils.d.ts +81 -0
  220. package/dist/src/plugins/typescript/features/utils.js +331 -0
  221. package/dist/src/plugins/typescript/features/utils.js.map +1 -0
  222. package/dist/src/plugins/typescript/macroforgeAugmenter.d.ts +23 -0
  223. package/dist/src/plugins/typescript/macroforgeAugmenter.js +41 -0
  224. package/dist/src/plugins/typescript/macroforgeAugmenter.js.map +1 -0
  225. package/dist/src/plugins/typescript/module-loader.d.ts +28 -0
  226. package/dist/src/plugins/typescript/module-loader.js +254 -0
  227. package/dist/src/plugins/typescript/module-loader.js.map +1 -0
  228. package/dist/src/plugins/typescript/previewer.d.ts +7 -0
  229. package/dist/src/plugins/typescript/previewer.js +120 -0
  230. package/dist/src/plugins/typescript/previewer.js.map +1 -0
  231. package/dist/src/plugins/typescript/service.d.ts +105 -0
  232. package/dist/src/plugins/typescript/service.js +1073 -0
  233. package/dist/src/plugins/typescript/service.js.map +1 -0
  234. package/dist/src/plugins/typescript/serviceCache.d.ts +90 -0
  235. package/dist/src/plugins/typescript/serviceCache.js +50 -0
  236. package/dist/src/plugins/typescript/serviceCache.js.map +1 -0
  237. package/dist/src/plugins/typescript/svelte-ast-utils.d.ts +77 -0
  238. package/dist/src/plugins/typescript/svelte-ast-utils.js +100 -0
  239. package/dist/src/plugins/typescript/svelte-ast-utils.js.map +1 -0
  240. package/dist/src/plugins/typescript/svelte-sys.d.ts +9 -0
  241. package/dist/src/plugins/typescript/svelte-sys.js +79 -0
  242. package/dist/src/plugins/typescript/svelte-sys.js.map +1 -0
  243. package/dist/src/plugins/typescript/utils.d.ts +48 -0
  244. package/dist/src/plugins/typescript/utils.js +334 -0
  245. package/dist/src/plugins/typescript/utils.js.map +1 -0
  246. package/dist/src/server.d.ts +19 -0
  247. package/dist/src/server.js +434 -0
  248. package/dist/src/server.js.map +1 -0
  249. package/dist/src/svelte-check.d.ts +65 -0
  250. package/dist/src/svelte-check.js +288 -0
  251. package/dist/src/svelte-check.js.map +1 -0
  252. package/dist/src/utils.d.ts +111 -0
  253. package/dist/src/utils.js +337 -0
  254. package/dist/src/utils.js.map +1 -0
  255. package/dist/tsconfig.tsbuildinfo +1 -0
  256. package/package.json +79 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../src/plugins/typescript/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ import { ProjectService } from 'typescript-auto-import-cache/out/5_0/projectService';
2
+ import ts from 'typescript';
3
+ import { ExportInfoMap } from 'typescript-auto-import-cache/out/5_0/exportInfoMap';
4
+ import { ModuleSpecifierCache } from 'typescript-auto-import-cache/out/5_0/moduleSpecifierCache';
5
+ import { SymlinkCache } from 'typescript-auto-import-cache/out/5_0/symlinkCache';
6
+ import { ProjectPackageJsonInfo } from 'typescript-auto-import-cache/out/5_0/packageJsonCache';
7
+ export { ProjectService };
8
+ declare module 'typescript' {
9
+ interface LanguageServiceHost {
10
+ /** @internal */ getCachedExportInfoMap?(): ExportInfoMap;
11
+ /** @internal */ getModuleSpecifierCache?(): ModuleSpecifierCache;
12
+ /** @internal */ getGlobalTypingsCacheLocation?(): string | undefined;
13
+ /** @internal */ getSymlinkCache?(files: readonly ts.SourceFile[]): SymlinkCache;
14
+ /** @internal */ getPackageJsonsVisibleToFile?(fileName: string, rootDir?: string): readonly ProjectPackageJsonInfo[];
15
+ /** @internal */ getPackageJsonAutoImportProvider?(): ts.Program | undefined;
16
+ /** @internal */ useSourceOfProjectReferenceRedirect?(): boolean;
17
+ }
18
+ }
19
+ export declare function createProjectService(system: ts.System, hostConfiguration: {
20
+ preferences: ts.UserPreferences;
21
+ }): {
22
+ serverMode: ts.LanguageServiceMode;
23
+ host: ts.System;
24
+ currentDirectory: any;
25
+ toCanonicalFileName: any;
26
+ toPath(fileName: string): any;
27
+ getExecutingFilePath(): any;
28
+ getNormalizedAbsolutePath(fileName: string): any;
29
+ packageJsonCache: import("typescript-auto-import-cache/out/5_0/packageJsonCache").PackageJsonCache;
30
+ getPackageJsonsVisibleToFile(fileName: string, rootDir?: string): readonly ProjectPackageJsonInfo[];
31
+ includePackageJsonAutoImports(): import("typescript-auto-import-cache/out/5_0/projectService").PackageJsonAutoImportPreference;
32
+ fileExists(fileName: ts.server.NormalizedPath): boolean;
33
+ } | undefined;
34
+ export declare function createProject(host: ts.LanguageServiceHost, createLanguageService: (host: ts.LanguageServiceHost) => ts.LanguageService, options: {
35
+ projectService: ProjectService;
36
+ compilerOptions: ts.CompilerOptions;
37
+ currentDirectory: string;
38
+ }): {
39
+ dirty: boolean;
40
+ hostProject: any;
41
+ languageServiceEnabled: boolean;
42
+ languageService: ts.LanguageService | undefined;
43
+ projectService: {
44
+ serverMode: import("typescript").LanguageServiceMode;
45
+ host: import("typescript").System;
46
+ currentDirectory: any;
47
+ toCanonicalFileName: any;
48
+ toPath(fileName: string): any;
49
+ getExecutingFilePath(): any;
50
+ getNormalizedAbsolutePath(fileName: string): any;
51
+ packageJsonCache: import("typescript-auto-import-cache/out/5_0/packageJsonCache").PackageJsonCache;
52
+ getPackageJsonsVisibleToFile(fileName: string, rootDir?: string | undefined): readonly ProjectPackageJsonInfo[];
53
+ includePackageJsonAutoImports(): import("typescript-auto-import-cache/out/5_0/projectService").PackageJsonAutoImportPreference;
54
+ fileExists(fileName: import("typescript").server.NormalizedPath): boolean;
55
+ };
56
+ getCanonicalFileName: any;
57
+ exportMapCache: ExportInfoMap | undefined;
58
+ getCachedExportInfoMap(): any;
59
+ clearCachedExportInfoMap(): void;
60
+ moduleSpecifierCache: any;
61
+ getModuleSpecifierCache(): any;
62
+ compilerOptions: ts.CompilerOptions;
63
+ getCompilationSettings(): ts.CompilerOptions;
64
+ getCompilerOptions(): ts.CompilerOptions;
65
+ program: ts.Program | undefined;
66
+ getCurrentProgram(): ts.Program | undefined;
67
+ currentDirectory: any;
68
+ getCurrentDirectory(): string;
69
+ symlinks: SymlinkCache | undefined;
70
+ getSymlinkCache(): SymlinkCache;
71
+ packageJsonsForAutoImport: Set<string> | undefined;
72
+ getPackageJsonsForAutoImport(rootDir?: string): readonly ProjectPackageJsonInfo[];
73
+ getPackageJsonsVisibleToFile(fileName: string, rootDir?: string): readonly ProjectPackageJsonInfo[];
74
+ getModuleResolutionHostForAutoImportProvider(): ts.ModuleResolutionHost;
75
+ autoImportProviderHost: false | {
76
+ getCurrentProgram(): ts.Program | undefined;
77
+ isEmpty(): boolean;
78
+ close(): void;
79
+ markAsDirty(): void;
80
+ } | undefined;
81
+ getPackageJsonAutoImportProvider(): ts.Program | undefined;
82
+ includePackageJsonAutoImports(): import("typescript-auto-import-cache/out/5_0/projectService").PackageJsonAutoImportPreference;
83
+ close(): void;
84
+ log(_message: string): void;
85
+ sendPerformanceEvent(_kind: ts.PerformanceEvent["kind"], _durationMs: number): void;
86
+ toPath(fileName: string): any;
87
+ getGlobalTypingsCacheLocation(): undefined;
88
+ useSourceOfProjectReferenceRedirect(): boolean;
89
+ onAutoImportProviderSettingsChanged(): void;
90
+ } | undefined;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ // abstracting the typescript-auto-import-cache package to support our use case
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.createProjectService = createProjectService;
8
+ exports.createProject = createProject;
9
+ const projectService_1 = require("typescript-auto-import-cache/out/5_0/projectService");
10
+ const project_1 = require("typescript-auto-import-cache/out/5_0/project");
11
+ const project_2 = require("typescript-auto-import-cache/out/5_3/project");
12
+ const project_3 = require("typescript-auto-import-cache/out/5_5/project");
13
+ const typescript_1 = __importDefault(require("typescript"));
14
+ function createProjectService(system, hostConfiguration) {
15
+ const version = typescript_1.default.version.split('.');
16
+ const major = parseInt(version[0]);
17
+ if (major < 5) {
18
+ return undefined;
19
+ }
20
+ const projectService = (0, projectService_1.createProjectService)(typescript_1.default, system, system.getCurrentDirectory(), hostConfiguration, typescript_1.default.LanguageServiceMode.Semantic);
21
+ return projectService;
22
+ }
23
+ function createProject(host, createLanguageService, options) {
24
+ const version = typescript_1.default.version.split('.');
25
+ const major = parseInt(version[0]);
26
+ const minor = parseInt(version[1]);
27
+ if (major < 5) {
28
+ return undefined;
29
+ }
30
+ const factory = minor < 3 ? project_1.createProject : minor < 5 ? project_2.createProject : project_3.createProject;
31
+ const project = factory(typescript_1.default, host, createLanguageService, options);
32
+ const proxyMethods = [
33
+ 'getCachedExportInfoMap',
34
+ 'getModuleSpecifierCache',
35
+ 'getGlobalTypingsCacheLocation',
36
+ 'getSymlinkCache',
37
+ 'getPackageJsonsVisibleToFile',
38
+ 'getPackageJsonAutoImportProvider',
39
+ 'includePackageJsonAutoImports'
40
+ // Volar doesn't have the "languageServiceReducedMode" support but we do
41
+ // so don't proxy this method and implement this directly in the ts.LanguageServiceHost
42
+ // 'useSourceOfProjectReferenceRedirect'
43
+ ];
44
+ proxyMethods.forEach((key) => (host[key] = project[key].bind(project)));
45
+ if (host.log) {
46
+ project.log = host.log.bind(host);
47
+ }
48
+ return project;
49
+ }
50
+ //# sourceMappingURL=serviceCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serviceCache.js","sourceRoot":"","sources":["../../../../src/plugins/typescript/serviceCache.ts"],"names":[],"mappings":";AAAA,+EAA+E;;;;;AAgC/E,oDAsBC;AAED,sCAuCC;AA7FD,wFAG6D;AAC7D,0EAAgG;AAChG,0EAAgG;AAChG,0EAAgG;AAChG,4DAA4B;AAuB5B,SAAgB,oBAAoB,CAChC,MAAiB,EACjB,iBAEC;IAED,MAAM,OAAO,GAAG,oBAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,cAAc,GAAG,IAAA,qCAAsB,EACzC,oBAAE,EACF,MAAM,EACN,MAAM,CAAC,mBAAmB,EAAE,EAC5B,iBAAiB,EACjB,oBAAE,CAAC,mBAAmB,CAAC,QAAQ,CAClC,CAAC;IAEF,OAAO,cAAc,CAAC;AAC1B,CAAC;AAED,SAAgB,aAAa,CACzB,IAA4B,EAC5B,qBAA2E,EAC3E,OAIC;IAED,MAAM,OAAO,GAAG,oBAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAe,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAe,CAAC,CAAC,CAAC,uBAAe,CAAC;IAC5F,MAAM,OAAO,GAAG,OAAO,CAAC,oBAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,CAAC,CAAC;IAElE,MAAM,YAAY,GAA6B;QAC3C,wBAAwB;QACxB,yBAAyB;QACzB,+BAA+B;QAC/B,iBAAiB;QACjB,8BAA8B;QAC9B,kCAAkC;QAClC,+BAA+B;QAC/B,wEAAwE;QACxE,uFAAuF;QACvF,wCAAwC;KAC3C,CAAC;IACF,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAE,IAAY,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAEjF,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -0,0 +1,77 @@
1
+ import { Node } from 'estree';
2
+ import { walk } from 'estree-walker';
3
+ import { TemplateNode } from 'svelte/types/compiler/interfaces';
4
+ export interface SvelteNode {
5
+ start: number;
6
+ end: number;
7
+ type: string;
8
+ parent?: SvelteNode;
9
+ [key: string]: any;
10
+ }
11
+ export interface AwaitBlock extends SvelteNode {
12
+ type: 'AwaitBlock';
13
+ expression: SvelteNode & Node;
14
+ value: (SvelteNode & Node) | null;
15
+ error: (SvelteNode & Node) | null;
16
+ pending: AwaitSubBlock;
17
+ then: AwaitSubBlock;
18
+ catch: AwaitSubBlock;
19
+ }
20
+ export interface AwaitSubBlock extends SvelteNode {
21
+ skip: boolean;
22
+ children: SvelteNode[];
23
+ }
24
+ export interface EachBlock extends SvelteNode {
25
+ type: 'EachBlock';
26
+ expression: SvelteNode & Node;
27
+ context: SvelteNode & Node;
28
+ key?: SvelteNode & Node;
29
+ else?: SvelteNode;
30
+ children: SvelteNode[];
31
+ }
32
+ /**
33
+ * Returns true if given node is a component or html element, or if the offset is at the end of the node
34
+ * and its parent is a component or html element.
35
+ */
36
+ export declare function isInTag(node: SvelteNode | null | undefined, offset: number): boolean;
37
+ /**
38
+ * Returns when given node represents an HTML Attribute.
39
+ * Example: The `class` in `<div class=".."`.
40
+ * Note: This method returns `false` for shorthands like `<div {foo}`.
41
+ */
42
+ export declare function isAttributeName(node: SvelteNode | null | undefined, only?: 'Element' | 'InlineComponent'): boolean;
43
+ /**
44
+ * Returns when given node represents an HTML Attribute shorthand or is inside one.
45
+ * Example: The `{foo}` in `<div {foo}`
46
+ */
47
+ export declare function isAttributeShorthand(node: SvelteNode | null | undefined, only?: 'Element' | 'InlineComponent'): boolean;
48
+ /**
49
+ * Returns when given node represents an HTML Attribute shorthand or is inside one.
50
+ * Example: The `on:click={foo}` in `<div on:click={foo}`
51
+ */
52
+ export declare function isEventHandler(node: SvelteNode | null | undefined, only?: 'Element' | 'InlineComponent'): boolean;
53
+ export declare function isElseBlockWithElseIf(node: SvelteNode | null | undefined): boolean;
54
+ export declare function hasElseBlock(node: SvelteNode): node is SvelteNode & {
55
+ else: SvelteNode;
56
+ };
57
+ export declare function findElseBlockTagStart(documentText: string, elseBlock: SvelteNode): number;
58
+ export declare function findIfBlockEndTagStart(documentText: string, ifBlock: SvelteNode): number;
59
+ type ESTreeWaker = Parameters<typeof walk>[1];
60
+ type ESTreeEnterFunc = NonNullable<ESTreeWaker['enter']>;
61
+ type ESTreeLeaveFunc = NonNullable<ESTreeWaker['leave']>;
62
+ export interface SvelteNodeWalker {
63
+ enter?: (this: {
64
+ skip: () => void;
65
+ remove: () => void;
66
+ replace: (node: SvelteNode) => void;
67
+ }, node: SvelteNode, parent: SvelteNode, key: Parameters<ESTreeEnterFunc>[2], index: Parameters<ESTreeEnterFunc>[3]) => void;
68
+ leave?: (this: {
69
+ skip: () => void;
70
+ remove: () => void;
71
+ replace: (node: SvelteNode) => void;
72
+ }, node: SvelteNode, parent: SvelteNode, key: Parameters<ESTreeLeaveFunc>[2], index: Parameters<ESTreeLeaveFunc>[3]) => void;
73
+ }
74
+ export declare function walkSvelteAst(htmlAst: TemplateNode, walker: SvelteNodeWalker): void;
75
+ export declare function isAwaitBlock(node: SvelteNode): node is AwaitBlock;
76
+ export declare function isEachBlock(node: SvelteNode): node is EachBlock;
77
+ export {};
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isInTag = isInTag;
4
+ exports.isAttributeName = isAttributeName;
5
+ exports.isAttributeShorthand = isAttributeShorthand;
6
+ exports.isEventHandler = isEventHandler;
7
+ exports.isElseBlockWithElseIf = isElseBlockWithElseIf;
8
+ exports.hasElseBlock = hasElseBlock;
9
+ exports.findElseBlockTagStart = findElseBlockTagStart;
10
+ exports.findIfBlockEndTagStart = findIfBlockEndTagStart;
11
+ exports.walkSvelteAst = walkSvelteAst;
12
+ exports.isAwaitBlock = isAwaitBlock;
13
+ exports.isEachBlock = isEachBlock;
14
+ const estree_walker_1 = require("estree-walker");
15
+ function matchesOnly(type, only) {
16
+ return (!only ||
17
+ // We hide the detail that body/window are also like elements in the context of this usage
18
+ (only === 'Element' && ['Element', 'Body', 'Window'].includes(type)) ||
19
+ (only === 'InlineComponent' && type === 'InlineComponent'));
20
+ }
21
+ /**
22
+ * Returns true if given node is a component or html element, or if the offset is at the end of the node
23
+ * and its parent is a component or html element.
24
+ */
25
+ function isInTag(node, offset) {
26
+ return (node?.type === 'InlineComponent' ||
27
+ node?.type === 'Element' ||
28
+ (node?.end === offset &&
29
+ (node?.parent?.type === 'InlineComponent' || node?.parent?.type === 'Element')));
30
+ }
31
+ /**
32
+ * Returns when given node represents an HTML Attribute.
33
+ * Example: The `class` in `<div class=".."`.
34
+ * Note: This method returns `false` for shorthands like `<div {foo}`.
35
+ */
36
+ function isAttributeName(node, only) {
37
+ return !!node && node.type === 'Attribute' && matchesOnly(node.parent?.type, only);
38
+ }
39
+ /**
40
+ * Returns when given node represents an HTML Attribute shorthand or is inside one.
41
+ * Example: The `{foo}` in `<div {foo}`
42
+ */
43
+ function isAttributeShorthand(node, only) {
44
+ if (!node) {
45
+ return false;
46
+ }
47
+ do {
48
+ // We could get the expression, or the shorthand, or the attribute
49
+ // Be pragmatic and just go upwards until we can't anymore
50
+ if (isAttributeName(node, only)) {
51
+ return true;
52
+ }
53
+ node = node.parent;
54
+ } while (node);
55
+ return false;
56
+ }
57
+ /**
58
+ * Returns when given node represents an HTML Attribute shorthand or is inside one.
59
+ * Example: The `on:click={foo}` in `<div on:click={foo}`
60
+ */
61
+ function isEventHandler(node, only) {
62
+ return !!node && node.type === 'EventHandler' && matchesOnly(node.parent?.type, only);
63
+ }
64
+ function isElseBlockWithElseIf(node) {
65
+ return (!!node &&
66
+ node.type === 'ElseBlock' &&
67
+ 'children' in node &&
68
+ Array.isArray(node.children) &&
69
+ node.children.length === 1 &&
70
+ node.children[0].type === 'IfBlock');
71
+ }
72
+ function hasElseBlock(node) {
73
+ return 'else' in node && !!node.else;
74
+ }
75
+ function findElseBlockTagStart(documentText, elseBlock) {
76
+ return documentText.lastIndexOf('{', documentText.lastIndexOf(':else', elseBlock.start));
77
+ }
78
+ function findIfBlockEndTagStart(documentText, ifBlock) {
79
+ return documentText.lastIndexOf('{', documentText.lastIndexOf('/if', ifBlock.end));
80
+ }
81
+ // wrap the estree-walker to make it svelte specific
82
+ // the type casting is necessary because estree-walker is not designed for this
83
+ // especially in v3 which svelte 4 uses
84
+ function walkSvelteAst(htmlAst, walker) {
85
+ (0, estree_walker_1.walk)(htmlAst, {
86
+ enter(node, parent, key, index) {
87
+ walker.enter?.call(this, node, parent, key, index);
88
+ },
89
+ leave(node, parent, key, index) {
90
+ walker.leave?.call(this, node, parent, key, index);
91
+ }
92
+ });
93
+ }
94
+ function isAwaitBlock(node) {
95
+ return node.type === 'AwaitBlock';
96
+ }
97
+ function isEachBlock(node) {
98
+ return node.type === 'EachBlock';
99
+ }
100
+ //# sourceMappingURL=svelte-ast-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svelte-ast-utils.js","sourceRoot":"","sources":["../../../../src/plugins/typescript/svelte-ast-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import ts from 'typescript';
2
+ /**
3
+ * This should only be accessed by TS svelte module resolution.
4
+ */
5
+ export declare function createSvelteSys(tsSystem: ts.System): ts.System & {
6
+ deleteFromCache: (path: string) => void;
7
+ svelteFileExists: (path: string) => boolean;
8
+ getRealSveltePathIfExists: (path: string) => string;
9
+ };
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createSvelteSys = createSvelteSys;
4
+ const utils_1 = require("./utils");
5
+ const fileCollection_1 = require("../../lib/documents/fileCollection");
6
+ /**
7
+ * This should only be accessed by TS svelte module resolution.
8
+ */
9
+ function createSvelteSys(tsSystem) {
10
+ const fileExistsCache = new fileCollection_1.FileMap();
11
+ function svelteFileExists(path) {
12
+ if ((0, utils_1.isVirtualSvelteFilePath)(path)) {
13
+ const sveltePath = (0, utils_1.toRealSvelteFilePath)(path);
14
+ // First check if there's a `.svelte.d.ts` or `.d.svelte.ts` file, which should take precedence
15
+ const dtsPath = sveltePath.slice(0, -7) + '.svelte.d.ts';
16
+ const dtsPathExists = fileExistsCache.get(dtsPath) ?? tsSystem.fileExists(dtsPath);
17
+ fileExistsCache.set(dtsPath, dtsPathExists);
18
+ if (dtsPathExists)
19
+ return false;
20
+ const svelteDtsPathExists = fileExistsCache.get(path) ?? tsSystem.fileExists(path);
21
+ fileExistsCache.set(path, svelteDtsPathExists);
22
+ if (svelteDtsPathExists)
23
+ return false;
24
+ const sveltePathExists = fileExistsCache.get(sveltePath) ?? tsSystem.fileExists(sveltePath);
25
+ fileExistsCache.set(sveltePath, sveltePathExists);
26
+ return sveltePathExists;
27
+ }
28
+ else {
29
+ return false;
30
+ }
31
+ }
32
+ function getRealSveltePathIfExists(path) {
33
+ return svelteFileExists(path) ? (0, utils_1.toRealSvelteFilePath)(path) : path;
34
+ }
35
+ const svelteSys = {
36
+ ...tsSystem,
37
+ svelteFileExists,
38
+ getRealSveltePathIfExists,
39
+ fileExists(path) {
40
+ // We need to check if this is a virtual svelte file
41
+ const sveltePathExists = svelteFileExists(path);
42
+ if (sveltePathExists)
43
+ return true;
44
+ const exists = fileExistsCache.get(path) ?? tsSystem.fileExists(path);
45
+ fileExistsCache.set(path, exists);
46
+ return exists;
47
+ },
48
+ readFile(path) {
49
+ // No getSnapshot here, because TS will very rarely call this and only for files that are not in the project
50
+ return tsSystem.readFile(getRealSveltePathIfExists(path));
51
+ },
52
+ readDirectory(path, extensions, exclude, include, depth) {
53
+ const extensionsWithSvelte = extensions ? [...extensions, '.svelte'] : undefined;
54
+ return tsSystem.readDirectory(path, extensionsWithSvelte, exclude, include, depth);
55
+ },
56
+ deleteFile(path) {
57
+ // assumption: never a foo.svelte.ts file next to a foo.svelte file
58
+ fileExistsCache.delete((0, utils_1.ensureRealSvelteFilePath)(path));
59
+ fileExistsCache.delete(path);
60
+ return tsSystem.deleteFile?.(path);
61
+ },
62
+ deleteFromCache(path) {
63
+ // assumption: never a foo.svelte.ts file next to a foo.svelte file
64
+ fileExistsCache.delete((0, utils_1.ensureRealSvelteFilePath)(path));
65
+ fileExistsCache.delete(path);
66
+ }
67
+ };
68
+ if (tsSystem.realpath) {
69
+ const realpath = tsSystem.realpath;
70
+ svelteSys.realpath = function (path) {
71
+ if (svelteFileExists(path)) {
72
+ return realpath((0, utils_1.toRealSvelteFilePath)(path));
73
+ }
74
+ return realpath(path);
75
+ };
76
+ }
77
+ return svelteSys;
78
+ }
79
+ //# sourceMappingURL=svelte-sys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svelte-sys.js","sourceRoot":"","sources":["../../../../src/plugins/typescript/svelte-sys.ts"],"names":[],"mappings":";;AAOA,0CAgFC;AAtFD,mCAAkG;AAClG,uEAA6D;AAE7D;;GAEG;AACH,SAAgB,eAAe,CAAC,QAAmB;IAC/C,MAAM,eAAe,GAAG,IAAI,wBAAO,EAAW,CAAC;IAE/C,SAAS,gBAAgB,CAAC,IAAY;QAClC,IAAI,IAAA,+BAAuB,EAAC,IAAI,CAAC,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,IAAA,4BAAoB,EAAC,IAAI,CAAC,CAAC;YAE9C,+FAA+F;YAC/F,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC;YACzD,MAAM,aAAa,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACnF,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAC5C,IAAI,aAAa;gBAAE,OAAO,KAAK,CAAC;YAEhC,MAAM,mBAAmB,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACnF,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;YAC/C,IAAI,mBAAmB;gBAAE,OAAO,KAAK,CAAC;YAEtC,MAAM,gBAAgB,GAClB,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACvE,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAClD,OAAO,gBAAgB,CAAC;QAC5B,CAAC;aAAM,CAAC;YACJ,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,SAAS,yBAAyB,CAAC,IAAY;QAC3C,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,4BAAoB,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,CAAC;IAED,MAAM,SAAS,GAIX;QACA,GAAG,QAAQ;QACX,gBAAgB;QAChB,yBAAyB;QACzB,UAAU,CAAC,IAAY;YACnB,oDAAoD;YACpD,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,gBAAgB;gBAAE,OAAO,IAAI,CAAC;YAElC,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACtE,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAClC,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,QAAQ,CAAC,IAAY;YACjB,4GAA4G;YAC5G,OAAO,QAAQ,CAAC,QAAQ,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK;YACnD,MAAM,oBAAoB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAEjF,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACvF,CAAC;QACD,UAAU,CAAC,IAAI;YACX,mEAAmE;YACnE,eAAe,CAAC,MAAM,CAAC,IAAA,gCAAwB,EAAC,IAAI,CAAC,CAAC,CAAC;YACvD,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC7B,OAAO,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;QACD,eAAe,CAAC,IAAI;YAChB,mEAAmE;YACnE,eAAe,CAAC,MAAM,CAAC,IAAA,gCAAwB,EAAC,IAAI,CAAC,CAAC,CAAC;YACvD,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;KACJ,CAAC;IAEF,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACnC,SAAS,CAAC,QAAQ,GAAG,UAAU,IAAI;YAC/B,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,OAAO,QAAQ,CAAC,IAAA,4BAAoB,EAAC,IAAI,CAAC,CAAC,CAAC;YAChD,CAAC;YACD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CAAC;IACN,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC"}
@@ -0,0 +1,48 @@
1
+ import ts from 'typescript';
2
+ import { CompletionItemKind, DiagnosticSeverity, DiagnosticTag, Position, Range, SymbolKind, Location } from 'vscode-languageserver';
3
+ import { Document } from '../../lib/documents';
4
+ import { GetCanonicalFileName } from '../../utils';
5
+ import { DocumentSnapshot, SvelteDocumentSnapshot } from './DocumentSnapshot';
6
+ export declare function getScriptKindFromFileName(fileName: string): ts.ScriptKind;
7
+ export declare function getExtensionFromScriptKind(kind: ts.ScriptKind | undefined): ts.Extension;
8
+ export declare function getScriptKindFromAttributes(attrs: Record<string, string>): ts.ScriptKind.TSX | ts.ScriptKind.JSX;
9
+ export declare function isSvelteFilePath(filePath: string): boolean;
10
+ export declare function isVirtualSvelteFilePath(filePath: string): boolean;
11
+ export declare function toRealSvelteFilePath(filePath: string): string;
12
+ export declare function toVirtualSvelteFilePath(svelteFilePath: string): string;
13
+ export declare function ensureRealSvelteFilePath(filePath: string): string;
14
+ export declare function convertRange(document: {
15
+ positionAt: (offset: number) => Position;
16
+ }, range: {
17
+ start?: number;
18
+ length?: number;
19
+ }): Range;
20
+ export declare function convertToLocationRange(snapshot: DocumentSnapshot, textSpan: ts.TextSpan): Range;
21
+ export declare function convertToLocationForReferenceOrDefinition(snapshot: DocumentSnapshot, textSpan: ts.TextSpan): Location;
22
+ export declare function hasNonZeroRange({ range }: {
23
+ range?: Range;
24
+ }): boolean;
25
+ export declare function rangeToTextSpan(range: Range, document: {
26
+ offsetAt: (position: Position) => number;
27
+ }): ts.TextSpan;
28
+ export declare function findTsConfigPath(fileName: string, rootUris: string[], fileExists: (path: string) => boolean, getCanonicalFileName: GetCanonicalFileName): string;
29
+ export declare function isSubPath(uri: string, possibleSubPath: string, getCanonicalFileName: GetCanonicalFileName): boolean;
30
+ export declare function getNearestWorkspaceUri(workspaceUris: string[], path: string, getCanonicalFileName: GetCanonicalFileName): string | undefined;
31
+ export declare function symbolKindFromString(kind: string): SymbolKind;
32
+ export declare function scriptElementKindToCompletionItemKind(kind: ts.ScriptElementKind): CompletionItemKind;
33
+ export declare function mapSeverity(category: ts.DiagnosticCategory): DiagnosticSeverity;
34
+ /**
35
+ * Returns `// @ts-check` or `// @ts-nocheck` if content starts with comments and has one of these
36
+ * in its comments.
37
+ */
38
+ export declare function getTsCheckComment(str?: string): string | undefined;
39
+ export declare function convertToTextSpan(range: Range, snapshot: DocumentSnapshot): ts.TextSpan;
40
+ export declare function isInScript(position: Position, snapshot: SvelteDocumentSnapshot | Document): boolean;
41
+ export declare function getDiagnosticTag(diagnostic: ts.Diagnostic): DiagnosticTag[];
42
+ export declare function changeSvelteComponentName(name: string): string;
43
+ export declare function isGeneratedSvelteComponentName(className: string): boolean;
44
+ export declare function offsetOfGeneratedComponentExport(snapshot: SvelteDocumentSnapshot): number;
45
+ export declare function toGeneratedSvelteComponentName(className: string): string;
46
+ export declare function hasTsExtensions(fileName: string): boolean;
47
+ export declare function isSvelte2tsxShimFile(fileName: string | undefined): boolean | undefined;
48
+ export declare function cloneRange(range: Range): Range;