@volar/typescript 2.3.0-alpha.0 → 2.3.0-alpha.2
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/env.d.ts +15 -0
- package/lib/protocol/createProject.d.ts +2 -2
- package/lib/protocol/createProject.js +4 -4
- package/package.json +4 -4
package/env.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
declare module '@volar/langauge-core' {
|
|
2
|
+
interface Language<T> {
|
|
3
|
+
typescript?: {
|
|
4
|
+
configFileName: string | undefined;
|
|
5
|
+
sys: ts.System & {
|
|
6
|
+
version?: number;
|
|
7
|
+
sync?(): Promise<number>;
|
|
8
|
+
};
|
|
9
|
+
languageServiceHost: ts.LanguageServiceHost;
|
|
10
|
+
getExtraServiceScript(fileName: string): [SourceScript<T>, TypeScriptExtraServiceScript] | undefined;
|
|
11
|
+
asScriptId(fileName: string): T;
|
|
12
|
+
asFileName(scriptId: T): string;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Language, TypeScriptExtraServiceScript } from '@volar/language-core';
|
|
1
|
+
import { Language, SourceScript, TypeScriptExtraServiceScript } from '@volar/language-core';
|
|
2
2
|
import type * as ts from 'typescript';
|
|
3
3
|
import type { createSys } from './createSys';
|
|
4
4
|
export interface TypeScriptProjectHost extends Pick<ts.LanguageServiceHost, 'getLocalizedDiagnosticMessages' | 'getCurrentDirectory' | 'getCompilationSettings' | 'getProjectReferences' | 'getScriptFileNames' | 'getProjectVersion' | 'getScriptSnapshot'> {
|
|
5
5
|
}
|
|
6
6
|
export declare function createLanguageServiceHost<T>(ts: typeof import('typescript'), sys: ReturnType<typeof createSys> | ts.System, language: Language<T>, asScrpitId: (fileName: string) => T, projectHost: TypeScriptProjectHost): {
|
|
7
7
|
languageServiceHost: ts.LanguageServiceHost;
|
|
8
|
-
getExtraServiceScript: (fileName: string) => TypeScriptExtraServiceScript | undefined;
|
|
8
|
+
getExtraServiceScript: (fileName: string) => [SourceScript<T>, TypeScriptExtraServiceScript] | undefined;
|
|
9
9
|
};
|
|
@@ -80,7 +80,7 @@ function createLanguageServiceHost(ts, sys, language, asScrpitId, projectHost) {
|
|
|
80
80
|
getScriptKind(fileName) {
|
|
81
81
|
sync();
|
|
82
82
|
if (extraScriptRegistry.has(fileName)) {
|
|
83
|
-
return extraScriptRegistry.get(fileName).scriptKind;
|
|
83
|
+
return extraScriptRegistry.get(fileName)[1].scriptKind;
|
|
84
84
|
}
|
|
85
85
|
const sourceScript = language.scripts.get(asScrpitId(fileName));
|
|
86
86
|
if (sourceScript?.generated) {
|
|
@@ -170,7 +170,7 @@ function createLanguageServiceHost(ts, sys, language, asScrpitId, projectHost) {
|
|
|
170
170
|
for (const extraServiceScript of sourceScript.generated.languagePlugin.typescript?.getExtraServiceScripts?.(fileName, sourceScript.generated.root) ?? []) {
|
|
171
171
|
newTsVirtualFileSnapshots.add(extraServiceScript.code.snapshot);
|
|
172
172
|
tsFileNamesSet.add(extraServiceScript.fileName);
|
|
173
|
-
extraScriptRegistry.set(extraServiceScript.fileName, extraServiceScript);
|
|
173
|
+
extraScriptRegistry.set(extraServiceScript.fileName, [sourceScript, extraServiceScript]);
|
|
174
174
|
}
|
|
175
175
|
for (const code of (0, language_core_1.forEachEmbeddedCode)(sourceScript.generated.root)) {
|
|
176
176
|
newOtherVirtualFileSnapshots.add(code.snapshot);
|
|
@@ -197,7 +197,7 @@ function createLanguageServiceHost(ts, sys, language, asScrpitId, projectHost) {
|
|
|
197
197
|
function getScriptSnapshot(fileName) {
|
|
198
198
|
sync();
|
|
199
199
|
if (extraScriptRegistry.has(fileName)) {
|
|
200
|
-
return extraScriptRegistry.get(fileName).code.snapshot;
|
|
200
|
+
return extraScriptRegistry.get(fileName)[1].code.snapshot;
|
|
201
201
|
}
|
|
202
202
|
const sourceScript = language.scripts.get(asScrpitId(fileName));
|
|
203
203
|
if (sourceScript?.generated) {
|
|
@@ -217,7 +217,7 @@ function createLanguageServiceHost(ts, sys, language, asScrpitId, projectHost) {
|
|
|
217
217
|
}
|
|
218
218
|
const version = scriptVersions.get(fileName);
|
|
219
219
|
if (extraScriptRegistry.has(fileName)) {
|
|
220
|
-
const snapshot = extraScriptRegistry.get(fileName).code.snapshot;
|
|
220
|
+
const snapshot = extraScriptRegistry.get(fileName)[1].code.snapshot;
|
|
221
221
|
if (!version.map.has(snapshot)) {
|
|
222
222
|
version.map.set(snapshot, version.lastVersion++);
|
|
223
223
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@volar/typescript",
|
|
3
|
-
"version": "2.3.0-alpha.
|
|
3
|
+
"version": "2.3.0-alpha.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"files": [
|
|
6
6
|
"**/*.js",
|
|
@@ -12,14 +12,14 @@
|
|
|
12
12
|
"directory": "packages/typescript"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@volar/language-core": "2.3.0-alpha.
|
|
15
|
+
"@volar/language-core": "2.3.0-alpha.2",
|
|
16
16
|
"path-browserify": "^1.0.1",
|
|
17
17
|
"vscode-uri": "^3.0.8"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
20
|
"@types/node": "latest",
|
|
21
21
|
"@types/path-browserify": "latest",
|
|
22
|
-
"@volar/language-service": "2.3.0-alpha.
|
|
22
|
+
"@volar/language-service": "2.3.0-alpha.2"
|
|
23
23
|
},
|
|
24
|
-
"gitHead": "
|
|
24
|
+
"gitHead": "25e56612551d56037f4064c599532b4c7c185118"
|
|
25
25
|
}
|