@volar/typescript 2.3.0-alpha.13 → 2.3.0-alpha.14
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.
|
@@ -6,18 +6,15 @@ const common_1 = require("../common");
|
|
|
6
6
|
const decorateLanguageService_1 = require("../node/decorateLanguageService");
|
|
7
7
|
const decorateLanguageServiceHost_1 = require("../node/decorateLanguageServiceHost");
|
|
8
8
|
const createLanguageServicePlugin_1 = require("./createLanguageServicePlugin");
|
|
9
|
-
const externalFiles = new WeakMap();
|
|
10
|
-
const decoratedLanguageServices = new WeakSet();
|
|
11
|
-
const decoratedLanguageServiceHosts = new WeakSet();
|
|
12
9
|
function createAsyncLanguageServicePlugin(extensions, scriptKind, create) {
|
|
13
10
|
return modules => {
|
|
14
11
|
const { typescript: ts } = modules;
|
|
15
12
|
const pluginModule = {
|
|
16
13
|
create(info) {
|
|
17
|
-
if (!decoratedLanguageServices.has(info.languageService)
|
|
18
|
-
&& !decoratedLanguageServiceHosts.has(info.languageServiceHost)) {
|
|
19
|
-
decoratedLanguageServices.add(info.languageService);
|
|
20
|
-
decoratedLanguageServiceHosts.add(info.languageServiceHost);
|
|
14
|
+
if (!createLanguageServicePlugin_1.decoratedLanguageServices.has(info.languageService)
|
|
15
|
+
&& !createLanguageServicePlugin_1.decoratedLanguageServiceHosts.has(info.languageServiceHost)) {
|
|
16
|
+
createLanguageServicePlugin_1.decoratedLanguageServices.add(info.languageService);
|
|
17
|
+
createLanguageServicePlugin_1.decoratedLanguageServiceHosts.add(info.languageServiceHost);
|
|
21
18
|
const emptySnapshot = ts.ScriptSnapshot.fromString('');
|
|
22
19
|
const getScriptSnapshot = info.languageServiceHost.getScriptSnapshot.bind(info.languageServiceHost);
|
|
23
20
|
const getScriptVersion = info.languageServiceHost.getScriptVersion.bind(info.languageServiceHost);
|
|
@@ -82,15 +79,15 @@ function createAsyncLanguageServicePlugin(extensions, scriptKind, create) {
|
|
|
82
79
|
},
|
|
83
80
|
getExternalFiles(project, updateLevel = 0) {
|
|
84
81
|
if (updateLevel >= (1)
|
|
85
|
-
|| !externalFiles.has(project)) {
|
|
86
|
-
const oldFiles = externalFiles.get(project);
|
|
82
|
+
|| !createLanguageServicePlugin_1.externalFiles.has(project)) {
|
|
83
|
+
const oldFiles = createLanguageServicePlugin_1.externalFiles.get(project);
|
|
87
84
|
const newFiles = extensions.length ? (0, decorateLanguageServiceHost_1.searchExternalFiles)(ts, project, extensions) : [];
|
|
88
|
-
externalFiles.set(project, newFiles);
|
|
85
|
+
createLanguageServicePlugin_1.externalFiles.set(project, newFiles);
|
|
89
86
|
if (oldFiles && !(0, createLanguageServicePlugin_1.arrayItemsEqual)(oldFiles, newFiles)) {
|
|
90
87
|
project.refreshDiagnostics();
|
|
91
88
|
}
|
|
92
89
|
}
|
|
93
|
-
return externalFiles.get(project);
|
|
90
|
+
return createLanguageServicePlugin_1.externalFiles.get(project);
|
|
94
91
|
},
|
|
95
92
|
};
|
|
96
93
|
return pluginModule;
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { Language, LanguagePlugin } from '@volar/language-core';
|
|
2
2
|
import type * as ts from 'typescript';
|
|
3
|
+
export declare const externalFiles: WeakMap<ts.server.Project, string[]>;
|
|
4
|
+
export declare const projectExternalFileExtensions: WeakMap<ts.server.Project, string[]>;
|
|
5
|
+
export declare const decoratedLanguageServices: WeakSet<ts.LanguageService>;
|
|
6
|
+
export declare const decoratedLanguageServiceHosts: WeakSet<ts.LanguageServiceHost>;
|
|
3
7
|
export declare function createLanguageServicePlugin(create: (ts: typeof import('typescript'), info: ts.server.PluginCreateInfo) => {
|
|
4
8
|
languagePlugins: LanguagePlugin<string>[];
|
|
5
9
|
setup?: (language: Language<string>) => void;
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.arrayItemsEqual = exports.createLanguageServicePlugin = void 0;
|
|
3
|
+
exports.arrayItemsEqual = exports.createLanguageServicePlugin = exports.decoratedLanguageServiceHosts = exports.decoratedLanguageServices = exports.projectExternalFileExtensions = exports.externalFiles = void 0;
|
|
4
4
|
const language_core_1 = require("@volar/language-core");
|
|
5
5
|
const common_1 = require("../common");
|
|
6
6
|
const decorateLanguageService_1 = require("../node/decorateLanguageService");
|
|
7
7
|
const decorateLanguageServiceHost_1 = require("../node/decorateLanguageServiceHost");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
exports.externalFiles = new WeakMap();
|
|
9
|
+
exports.projectExternalFileExtensions = new WeakMap();
|
|
10
|
+
exports.decoratedLanguageServices = new WeakSet();
|
|
11
|
+
exports.decoratedLanguageServiceHosts = new WeakSet();
|
|
12
12
|
function createLanguageServicePlugin(create) {
|
|
13
13
|
return modules => {
|
|
14
14
|
const { typescript: ts } = modules;
|
|
15
15
|
const pluginModule = {
|
|
16
16
|
create(info) {
|
|
17
|
-
if (!decoratedLanguageServices.has(info.languageService)
|
|
18
|
-
&& !decoratedLanguageServiceHosts.has(info.languageServiceHost)) {
|
|
19
|
-
decoratedLanguageServices.add(info.languageService);
|
|
20
|
-
decoratedLanguageServiceHosts.add(info.languageServiceHost);
|
|
17
|
+
if (!exports.decoratedLanguageServices.has(info.languageService)
|
|
18
|
+
&& !exports.decoratedLanguageServiceHosts.has(info.languageServiceHost)) {
|
|
19
|
+
exports.decoratedLanguageServices.add(info.languageService);
|
|
20
|
+
exports.decoratedLanguageServiceHosts.add(info.languageServiceHost);
|
|
21
21
|
const { languagePlugins, setup } = create(ts, info);
|
|
22
22
|
const extensions = languagePlugins
|
|
23
23
|
.map(plugin => plugin.typescript?.extraFileExtensions.map(ext => '.' + ext.extension) ?? [])
|
|
24
24
|
.flat();
|
|
25
|
-
projectExternalFileExtensions.set(info.project, extensions);
|
|
25
|
+
exports.projectExternalFileExtensions.set(info.project, extensions);
|
|
26
26
|
const getScriptSnapshot = info.languageServiceHost.getScriptSnapshot.bind(info.languageServiceHost);
|
|
27
27
|
const getScriptVersion = info.languageServiceHost.getScriptVersion.bind(info.languageServiceHost);
|
|
28
28
|
const syncedScriptVersions = new language_core_1.FileMap(ts.sys.useCaseSensitiveFileNames);
|
|
@@ -51,16 +51,16 @@ function createLanguageServicePlugin(create) {
|
|
|
51
51
|
},
|
|
52
52
|
getExternalFiles(project, updateLevel = 0) {
|
|
53
53
|
if (updateLevel >= (1)
|
|
54
|
-
|| !externalFiles.has(project)) {
|
|
55
|
-
const oldFiles = externalFiles.get(project);
|
|
56
|
-
const extensions = projectExternalFileExtensions.get(project);
|
|
54
|
+
|| !exports.externalFiles.has(project)) {
|
|
55
|
+
const oldFiles = exports.externalFiles.get(project);
|
|
56
|
+
const extensions = exports.projectExternalFileExtensions.get(project);
|
|
57
57
|
const newFiles = extensions?.length ? (0, decorateLanguageServiceHost_1.searchExternalFiles)(ts, project, extensions) : [];
|
|
58
|
-
externalFiles.set(project, newFiles);
|
|
58
|
+
exports.externalFiles.set(project, newFiles);
|
|
59
59
|
if (oldFiles && !arrayItemsEqual(oldFiles, newFiles)) {
|
|
60
60
|
project.refreshDiagnostics();
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
|
-
return externalFiles.get(project);
|
|
63
|
+
return exports.externalFiles.get(project);
|
|
64
64
|
},
|
|
65
65
|
};
|
|
66
66
|
return pluginModule;
|
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.14",
|
|
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.14",
|
|
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.14"
|
|
23
23
|
},
|
|
24
|
-
"gitHead": "
|
|
24
|
+
"gitHead": "9a8179277fe224de1d13e6331115918b79b30721"
|
|
25
25
|
}
|