@vue/typescript-plugin 3.0.8 → 3.1.0
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.js
CHANGED
|
@@ -11,7 +11,6 @@ const getComponentSlots_1 = require("./lib/requests/getComponentSlots");
|
|
|
11
11
|
const getElementAttrs_1 = require("./lib/requests/getElementAttrs");
|
|
12
12
|
const getElementNames_1 = require("./lib/requests/getElementNames");
|
|
13
13
|
const getImportPathForFile_1 = require("./lib/requests/getImportPathForFile");
|
|
14
|
-
const getReactiveReferences_1 = require("./lib/requests/getReactiveReferences");
|
|
15
14
|
const isRefAtPosition_1 = require("./lib/requests/isRefAtPosition");
|
|
16
15
|
const windowsPathReg = /\\/g;
|
|
17
16
|
const project2Service = new WeakMap();
|
|
@@ -125,12 +124,6 @@ module.exports = (0, createLanguageServicePlugin_1.createLanguageServicePlugin)(
|
|
|
125
124
|
const { languageService } = getLanguageService(fileName);
|
|
126
125
|
return createResponse((0, getElementNames_1.getElementNames)(ts, languageService.getProgram(), fileName));
|
|
127
126
|
});
|
|
128
|
-
session.addProtocolHandler('_vue:getReactiveReferences', request => {
|
|
129
|
-
const [fileName, position] = request.arguments;
|
|
130
|
-
const { language } = getLanguageService(fileName);
|
|
131
|
-
const sourceScript = language.scripts.get(fileName);
|
|
132
|
-
return createResponse((0, getReactiveReferences_1.getReactiveReferences)(ts, language, sourceScript, position, sourceScript.generated ? sourceScript.snapshot.getLength() : 0));
|
|
133
|
-
});
|
|
134
127
|
projectService.logger.info('Vue specific commands are successfully added.');
|
|
135
128
|
function createResponse(res) {
|
|
136
129
|
return {
|
|
@@ -155,8 +148,7 @@ module.exports = (0, createLanguageServicePlugin_1.createLanguageServicePlugin)(
|
|
|
155
148
|
};
|
|
156
149
|
}
|
|
157
150
|
function getLanguageService(fileName) {
|
|
158
|
-
|
|
159
|
-
const { project } = session.getFileAndProject({
|
|
151
|
+
const { project } = session['getFileAndProject']({
|
|
160
152
|
file: fileName,
|
|
161
153
|
projectFileName: undefined,
|
|
162
154
|
});
|
package/lib/requests/index.d.ts
CHANGED
|
@@ -11,7 +11,6 @@ export interface Requests {
|
|
|
11
11
|
getComponentSlots(fileName: string): Response<ReturnType<typeof import('./getComponentSlots.js')['getComponentSlots']>>;
|
|
12
12
|
getElementAttrs(fileName: string, tag: string): Response<ReturnType<typeof import('./getElementAttrs.js')['getElementAttrs']>>;
|
|
13
13
|
getElementNames(fileName: string): Response<ReturnType<typeof import('./getElementNames.js')['getElementNames']>>;
|
|
14
|
-
getReactiveReferences(fileName: string, position: number): Response<ReturnType<typeof import('./getReactiveReferences.js')['getReactiveReferences']>>;
|
|
15
14
|
getDocumentHighlights(fileName: string, position: number): Response<ts.DocumentHighlights[]>;
|
|
16
15
|
getEncodedSemanticClassifications(fileName: string, span: ts.TextSpan): Response<ts.Classifications>;
|
|
17
16
|
getQuickInfoAtPosition(fileName: string, position: ts.LineAndCharacter): Response<string>;
|
package/lib/requests/utils.js
CHANGED
|
@@ -15,7 +15,7 @@ function getComponentType(ts, program, fileName, components, tag) {
|
|
|
15
15
|
if (!componentSymbol) {
|
|
16
16
|
const name = getSelfComponentName(fileName);
|
|
17
17
|
if (name === (0, shared_1.capitalize)((0, shared_1.camelize)(tag))) {
|
|
18
|
-
componentType = getVariableType(ts, program, fileName, '
|
|
18
|
+
componentType = getVariableType(ts, program, fileName, '__VLS_export')?.type;
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
else {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vue/typescript-plugin",
|
|
3
|
-
"version": "3.0
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"files": [
|
|
6
6
|
"**/*.js",
|
|
@@ -14,14 +14,13 @@
|
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"@volar/typescript": "2.4.23",
|
|
17
|
-
"@vue/language-core": "3.0
|
|
17
|
+
"@vue/language-core": "3.1.0",
|
|
18
18
|
"@vue/shared": "^3.5.0",
|
|
19
|
-
"laplacenoma": "^0.0.3",
|
|
20
19
|
"path-browserify": "^1.0.1"
|
|
21
20
|
},
|
|
22
21
|
"devDependencies": {
|
|
23
22
|
"@types/node": "^22.10.4",
|
|
24
23
|
"@types/path-browserify": "^1.0.1"
|
|
25
24
|
},
|
|
26
|
-
"gitHead": "
|
|
25
|
+
"gitHead": "fa32cb67b68c4fd01a146c7e2a276ffa022df268"
|
|
27
26
|
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { type Language, type SourceScript } from '@vue/language-core';
|
|
2
|
-
export declare function getReactiveReferences(ts: typeof import('typescript'), language: Language<string>, sourceScript: SourceScript<string>, position: number, leadingOffset?: number): {
|
|
3
|
-
dependencyRanges: ts.TextRange[];
|
|
4
|
-
dependentRanges: ts.TextRange[];
|
|
5
|
-
} | undefined;
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getReactiveReferences = getReactiveReferences;
|
|
4
|
-
const typescript_1 = require("@volar/typescript");
|
|
5
|
-
const laplacenoma_1 = require("laplacenoma");
|
|
6
|
-
const rulesVue = require("laplacenoma/rules/vue");
|
|
7
|
-
const analyzer = (0, laplacenoma_1.createAnalyzer)({
|
|
8
|
-
rules: rulesVue,
|
|
9
|
-
});
|
|
10
|
-
let currentVersion = -1;
|
|
11
|
-
let currentFileName = '';
|
|
12
|
-
let currentSnapshot;
|
|
13
|
-
let languageService;
|
|
14
|
-
let languageServiceHost;
|
|
15
|
-
function getReactiveReferences(ts, language, sourceScript, position, leadingOffset = 0) {
|
|
16
|
-
if (currentSnapshot !== sourceScript.snapshot || currentFileName !== sourceScript.id) {
|
|
17
|
-
currentSnapshot = sourceScript.snapshot;
|
|
18
|
-
currentFileName = sourceScript.id;
|
|
19
|
-
currentVersion++;
|
|
20
|
-
}
|
|
21
|
-
if (!languageService) {
|
|
22
|
-
languageServiceHost = {
|
|
23
|
-
getProjectVersion: () => currentVersion.toString(),
|
|
24
|
-
getScriptVersion: () => currentVersion.toString(),
|
|
25
|
-
getScriptFileNames: () => [currentFileName],
|
|
26
|
-
getScriptSnapshot: fileName => fileName === currentFileName ? currentSnapshot : undefined,
|
|
27
|
-
getCompilationSettings: () => ({ allowJs: true, allowNonTsExtensions: true }),
|
|
28
|
-
getCurrentDirectory: () => '',
|
|
29
|
-
getDefaultLibFileName: () => '',
|
|
30
|
-
readFile: () => undefined,
|
|
31
|
-
fileExists: fileName => fileName === currentFileName,
|
|
32
|
-
};
|
|
33
|
-
(0, typescript_1.decorateLanguageServiceHost)(ts, language, languageServiceHost);
|
|
34
|
-
const proxied = (0, typescript_1.createProxyLanguageService)(ts.createLanguageService(languageServiceHost));
|
|
35
|
-
proxied.initialize(language);
|
|
36
|
-
languageService = proxied.proxy;
|
|
37
|
-
}
|
|
38
|
-
const sourceFile = languageService.getProgram().getSourceFile(sourceScript.id);
|
|
39
|
-
const serviceScript = sourceScript.generated?.languagePlugin.typescript?.getServiceScript(sourceScript.generated.root);
|
|
40
|
-
const map = serviceScript ? language.maps.get(serviceScript.code, sourceScript) : undefined;
|
|
41
|
-
const toSourceRange = map
|
|
42
|
-
? (pos, end) => {
|
|
43
|
-
for (const [mappedStart, mappedEnd] of map.toSourceRange(pos - leadingOffset, end - leadingOffset, false)) {
|
|
44
|
-
return { pos: mappedStart, end: mappedEnd };
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
: (pos, end) => ({ pos, end });
|
|
48
|
-
return analyzer.analyze(sourceFile, position, {
|
|
49
|
-
typescript: ts,
|
|
50
|
-
languageService,
|
|
51
|
-
toSourceRange,
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=getReactiveReferences.js.map
|