@volar/typescript 2.1.6 → 2.2.0-alpha.1
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/index.d.ts +0 -1
- package/index.js +0 -1
- package/lib/node/decorateLanguageService.d.ts +2 -2
- package/lib/node/decorateLanguageService.js +102 -102
- package/lib/node/decorateLanguageServiceHost.d.ts +2 -2
- package/lib/node/decorateLanguageServiceHost.js +14 -15
- package/lib/node/decorateProgram.d.ts +2 -2
- package/lib/node/decorateProgram.js +6 -6
- package/lib/node/proxyCreateProgram.js +14 -13
- package/lib/node/transform.d.ts +10 -10
- package/lib/node/transform.js +30 -30
- package/lib/node/utils.d.ts +2 -2
- package/lib/node/utils.js +10 -11
- package/lib/protocol/createProject.d.ts +2 -7
- package/lib/protocol/createProject.js +66 -70
- package/lib/quickstart/createAsyncLanguageServicePlugin.js +5 -5
- package/lib/quickstart/createLanguageServicePlugin.js +5 -5
- package/lib/resolveModuleName.d.ts +2 -2
- package/lib/resolveModuleName.js +6 -6
- package/package.json +4 -4
|
@@ -23,17 +23,17 @@ function createLanguageServicePlugin(loadLanguagePlugins) {
|
|
|
23
23
|
.flat();
|
|
24
24
|
projectExternalFileExtensions.set(info.project, extensions);
|
|
25
25
|
const getScriptSnapshot = info.languageServiceHost.getScriptSnapshot.bind(info.languageServiceHost);
|
|
26
|
-
const
|
|
26
|
+
const language = (0, language_core_1.createLanguage)(languagePlugins, ts.sys.useCaseSensitiveFileNames, fileName => {
|
|
27
27
|
const snapshot = getScriptSnapshot(fileName);
|
|
28
28
|
if (snapshot) {
|
|
29
|
-
|
|
29
|
+
language.scripts.set(fileName, (0, language_core_1.resolveCommonLanguageId)(fileName), snapshot);
|
|
30
30
|
}
|
|
31
31
|
else {
|
|
32
|
-
|
|
32
|
+
language.scripts.delete(fileName);
|
|
33
33
|
}
|
|
34
34
|
});
|
|
35
|
-
(0, decorateLanguageService_1.decorateLanguageService)(
|
|
36
|
-
(0, decorateLanguageServiceHost_1.decorateLanguageServiceHost)(
|
|
35
|
+
(0, decorateLanguageService_1.decorateLanguageService)(language, info.languageService);
|
|
36
|
+
(0, decorateLanguageServiceHost_1.decorateLanguageServiceHost)(language, info.languageServiceHost, ts);
|
|
37
37
|
}
|
|
38
38
|
return info.languageService;
|
|
39
39
|
},
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { LanguagePlugin,
|
|
1
|
+
import type { LanguagePlugin, SourceScript } from '@volar/language-core';
|
|
2
2
|
import type * as ts from 'typescript';
|
|
3
|
-
export declare function createResolveModuleName(ts: typeof import('typescript'), languageServiceHost: ts.LanguageServiceHost, languagePlugins: LanguagePlugin<any>[],
|
|
3
|
+
export declare function createResolveModuleName(ts: typeof import('typescript'), languageServiceHost: ts.LanguageServiceHost, languagePlugins: LanguagePlugin<any>[], getSourceScript: (fileName: string) => SourceScript | undefined): (moduleName: string, containingFile: string, compilerOptions: ts.CompilerOptions, cache?: ts.ModuleResolutionCache, redirectedReference?: ts.ResolvedProjectReference, resolutionMode?: ts.ResolutionMode) => ts.ResolvedModuleWithFailedLookupLocations;
|
package/lib/resolveModuleName.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createResolveModuleName = void 0;
|
|
4
|
-
function createResolveModuleName(ts, languageServiceHost, languagePlugins,
|
|
4
|
+
function createResolveModuleName(ts, languageServiceHost, languagePlugins, getSourceScript) {
|
|
5
5
|
const toPatchResults = new Map();
|
|
6
6
|
const moduleResolutionHost = {
|
|
7
7
|
readFile: languageServiceHost.readFile.bind(languageServiceHost),
|
|
@@ -32,11 +32,11 @@ function createResolveModuleName(ts, languageServiceHost, languagePlugins, getFi
|
|
|
32
32
|
const result = ts.resolveModuleName(moduleName, containingFile, compilerOptions, moduleResolutionHost, cache, redirectedReference, resolutionMode);
|
|
33
33
|
if (result.resolvedModule && toPatchResults.has(result.resolvedModule.resolvedFileName)) {
|
|
34
34
|
result.resolvedModule.resolvedFileName = toPatchResults.get(result.resolvedModule.resolvedFileName);
|
|
35
|
-
const
|
|
36
|
-
if (
|
|
37
|
-
const
|
|
38
|
-
if (
|
|
39
|
-
result.resolvedModule.extension =
|
|
35
|
+
const sourceScript = getSourceScript(result.resolvedModule.resolvedFileName);
|
|
36
|
+
if (sourceScript?.generated) {
|
|
37
|
+
const serviceScript = sourceScript.generated.languagePlugin.typescript?.getServiceScript(sourceScript.generated.root);
|
|
38
|
+
if (serviceScript) {
|
|
39
|
+
result.resolvedModule.extension = serviceScript.extension;
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@volar/typescript",
|
|
3
|
-
"version": "2.1
|
|
3
|
+
"version": "2.2.0-alpha.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"files": [
|
|
6
6
|
"**/*.js",
|
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
"directory": "packages/typescript"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@volar/language-core": "2.1
|
|
15
|
+
"@volar/language-core": "2.2.0-alpha.1",
|
|
16
16
|
"path-browserify": "^1.0.1"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
19
|
"@types/node": "latest",
|
|
20
20
|
"@types/path-browserify": "latest",
|
|
21
|
-
"@volar/language-service": "2.1
|
|
21
|
+
"@volar/language-service": "2.2.0-alpha.1"
|
|
22
22
|
},
|
|
23
|
-
"gitHead": "
|
|
23
|
+
"gitHead": "e6dcb83ecadcfcc9e22083eea61e1ee817a9d483"
|
|
24
24
|
}
|