@volar/typescript 2.2.0-alpha.4 → 2.2.0-alpha.5

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.
@@ -9,6 +9,7 @@ function decorateProgram(language, program) {
9
9
  const getSyntacticDiagnostics = program.getSyntacticDiagnostics;
10
10
  const getSemanticDiagnostics = program.getSemanticDiagnostics;
11
11
  const getGlobalDiagnostics = program.getGlobalDiagnostics;
12
+ const getSourceFileByPath = program.getSourceFileByPath;
12
13
  // for tsc --noEmit --watch
13
14
  // @ts-ignore
14
15
  const getBindAndCheckDiagnostics = program.getBindAndCheckDiagnostics;
@@ -42,6 +43,18 @@ function decorateProgram(language, program) {
42
43
  .map(d => (0, transform_1.transformDiagnostic)(language, d))
43
44
  .filter(utils_1.notEmpty);
44
45
  };
46
+ // fix https://github.com/vuejs/language-tools/issues/4099
47
+ program.getSourceFileByPath = path => {
48
+ const sourceFile = getSourceFileByPath(path);
49
+ if (sourceFile) {
50
+ const [serviceScript, sourceScript] = (0, utils_1.getServiceScript)(language, sourceFile.fileName);
51
+ if (serviceScript) {
52
+ sourceFile.text = sourceScript.snapshot.getText(0, sourceScript.snapshot.getLength())
53
+ + sourceFile.text.substring(sourceScript.snapshot.getLength());
54
+ }
55
+ }
56
+ return sourceFile;
57
+ };
45
58
  }
46
59
  exports.decorateProgram = decorateProgram;
47
60
  //# sourceMappingURL=decorateProgram.js.map
@@ -1,3 +1,3 @@
1
- import type * as ts from 'typescript';
2
1
  import { LanguagePlugin } from '@volar/language-core';
2
+ import type * as ts from 'typescript';
3
3
  export declare function proxyCreateProgram(ts: typeof import('typescript'), original: typeof ts['createProgram'], getLanguagePlugins: (ts: typeof import('typescript'), options: ts.CreateProgramOptions) => LanguagePlugin[], getLanguageId: (fileName: string) => string): typeof import("typescript").createProgram;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.proxyCreateProgram = void 0;
4
- const decorateProgram_1 = require("./decorateProgram");
5
4
  const language_core_1 = require("@volar/language-core");
6
5
  const resolveModuleName_1 = require("../resolveModuleName");
6
+ const decorateProgram_1 = require("./decorateProgram");
7
7
  function proxyCreateProgram(ts, original, getLanguagePlugins, getLanguageId) {
8
8
  return new Proxy(original, {
9
9
  apply: (target, thisArg, args) => {
@@ -2,7 +2,6 @@ import { Language, CodeInformation, SourceMap, SourceScript } from '@volar/langu
2
2
  import type * as ts from 'typescript';
3
3
  export declare function transformCallHierarchyItem(language: Language, item: ts.CallHierarchyItem, filter: (data: CodeInformation) => boolean): ts.CallHierarchyItem;
4
4
  export declare function transformDiagnostic<T extends ts.Diagnostic>(language: Language, diagnostic: T): T | undefined;
5
- export declare function transformSourceFile(sourceFile: ts.SourceFile, sourceText: string): ts.SourceFile;
6
5
  export declare function transformFileTextChanges(language: Language, changes: ts.FileTextChanges, filter: (data: CodeInformation) => boolean): ts.FileTextChanges | undefined;
7
6
  export declare function transformDocumentSpan<T extends ts.DocumentSpan>(language: Language, documentSpan: T, filter: (data: CodeInformation) => boolean, shouldFallback?: boolean): T | undefined;
8
7
  export declare function transformSpan(language: Language, fileName: string | undefined, textSpan: ts.TextSpan | undefined, filter: (data: CodeInformation) => boolean): {
@@ -1,10 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toGeneratedOffset = exports.toSourceOffset = exports.transformTextSpan = exports.transformTextChange = exports.transformSpan = exports.transformDocumentSpan = exports.transformFileTextChanges = exports.transformSourceFile = exports.transformDiagnostic = exports.transformCallHierarchyItem = void 0;
3
+ exports.toGeneratedOffset = exports.toSourceOffset = exports.transformTextSpan = exports.transformTextChange = exports.transformSpan = exports.transformDocumentSpan = exports.transformFileTextChanges = exports.transformDiagnostic = exports.transformCallHierarchyItem = void 0;
4
4
  const language_core_1 = require("@volar/language-core");
5
5
  const utils_1 = require("./utils");
6
6
  const transformedDiagnostics = new WeakMap();
7
- const transformedSourceFiles = new WeakMap();
8
7
  function transformCallHierarchyItem(language, item, filter) {
9
8
  const span = transformSpan(language, item.file, item.span, filter);
10
9
  const selectionSpan = transformSpan(language, item.file, item.selectionSpan, filter);
@@ -35,7 +34,6 @@ function transformDiagnostic(language, diagnostic) {
35
34
  ...diagnostic,
36
35
  start: sourceSpan.start,
37
36
  length: sourceSpan.length,
38
- file: transformSourceFile(diagnostic.file, sourceScript.snapshot.getText(0, sourceScript.snapshot.getLength())),
39
37
  });
40
38
  }
41
39
  }
@@ -50,16 +48,6 @@ function transformDiagnostic(language, diagnostic) {
50
48
  return transformedDiagnostics.get(diagnostic);
51
49
  }
52
50
  exports.transformDiagnostic = transformDiagnostic;
53
- function transformSourceFile(sourceFile, sourceText) {
54
- if (!transformedSourceFiles.has(sourceFile)) {
55
- transformedSourceFiles.set(sourceFile, {
56
- ...sourceFile,
57
- text: sourceText,
58
- });
59
- }
60
- return transformedSourceFiles.get(sourceFile);
61
- }
62
- exports.transformSourceFile = transformSourceFile;
63
51
  function transformFileTextChanges(language, changes, filter) {
64
52
  const [_, source] = (0, utils_1.getServiceScript)(language, changes.fileName);
65
53
  if (source) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volar/typescript",
3
- "version": "2.2.0-alpha.4",
3
+ "version": "2.2.0-alpha.5",
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.2.0-alpha.4",
15
+ "@volar/language-core": "2.2.0-alpha.5",
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.2.0-alpha.4"
21
+ "@volar/language-service": "2.2.0-alpha.5"
22
22
  },
23
- "gitHead": "bd85b9c56d71c411fa3342696014c4b5f7436568"
23
+ "gitHead": "d28a26415df929b2cc949df276fc27e7961b0925"
24
24
  }