TypeScript Version: 2.5.2
Code
foo.ts file(npm install vue vue-class-component to get their types):
import Vue from "vue";
import Component from "vue-class-component";
import { vueTemplateHtml } from "./variables";
@Component({
template: vueTemplateHtml,
})
class Carousel<T> extends Vue {
}
variables.ts file:
export const vueTemplateHtml = `<div></div>`;
save it a js file e.g. foo.js, then run node foo.js
const ts = require("typescript");
const fs = require("fs");
const languageService = ts.createLanguageService({
getCompilationSettings() {
return {};
},
getScriptFileNames() {
return ["foo.ts", "variables.ts"];
},
getScriptVersion(fileName) {
return "";
},
getScriptSnapshot(fileName) {
if (fileName === ".ts") {
return ts.ScriptSnapshot.fromString("");
}
return ts.ScriptSnapshot.fromString(fs.readFileSync(fileName, { encoding: "utf8" }));
},
getCurrentDirectory: () => ".",
getDefaultLibFileName(options) {
return ts.getDefaultLibFilePath(options);
},
fileExists: ts.sys.fileExists,
readFile: ts.sys.readFile,
readDirectory: ts.sys.readDirectory,
});
const definitions = languageService.getDefinitionAtPosition("foo.ts", 158); // 158 is the latter `vueTemplateHtml` position
Expected behavior:
No error or more precise error message
Actual behavior:
/Users/yaoyao/repositories/test/node_modules/typescript/lib/typescript.js:3549
throw e;
^
Error: Debug Failure. False expression.
at Object.usingSingleLineStringWriter (/Users/yaoyao/repositories/test/node_modules/typescript/lib/typescript.js:6916:22)
at symbolToString (/Users/yaoyao/repositories/test/node_modules/typescript/lib/typescript.js:24679:23)
at getTargetOfImportClause (/Users/yaoyao/repositories/test/node_modules/typescript/lib/typescript.js:23833:85)
at getTargetOfAliasDeclaration (/Users/yaoyao/repositories/test/node_modules/typescript/lib/typescript.js:23947:28)
at resolveAlias (/Users/yaoyao/repositories/test/node_modules/typescript/lib/typescript.js:23978:30)
at /Users/yaoyao/repositories/test/node_modules/typescript/lib/typescript.js:24471:62
at Object.forEachEntry (/Users/yaoyao/repositories/test/node_modules/typescript/lib/typescript.js:2270:26)
at trySymbolTable (/Users/yaoyao/repositories/test/node_modules/typescript/lib/typescript.js:24464:31)
at getAccessibleSymbolChainFromSymbolTableWorker (/Users/yaoyao/repositories/test/node_modules/typescript/lib/typescript.js:24437:30)
at getAccessibleSymbolChainFromSymbolTable (/Users/yaoyao/repositories/test/node_modules/typescript/lib/typescript.js:24430:24)
Note: it works with typescript 2.4.2, when I update to 2.5.2, the error appears.
TypeScript Version: 2.5.2
Code
foo.tsfile(npm install vue vue-class-componentto get their types):variables.tsfile:save it a js file e.g.
foo.js, then runnode foo.jsExpected behavior:
No error or more precise error message
Actual behavior:
/Users/yaoyao/repositories/test/node_modules/typescript/lib/typescript.js:3549 throw e; ^ Error: Debug Failure. False expression. at Object.usingSingleLineStringWriter (/Users/yaoyao/repositories/test/node_modules/typescript/lib/typescript.js:6916:22) at symbolToString (/Users/yaoyao/repositories/test/node_modules/typescript/lib/typescript.js:24679:23) at getTargetOfImportClause (/Users/yaoyao/repositories/test/node_modules/typescript/lib/typescript.js:23833:85) at getTargetOfAliasDeclaration (/Users/yaoyao/repositories/test/node_modules/typescript/lib/typescript.js:23947:28) at resolveAlias (/Users/yaoyao/repositories/test/node_modules/typescript/lib/typescript.js:23978:30) at /Users/yaoyao/repositories/test/node_modules/typescript/lib/typescript.js:24471:62 at Object.forEachEntry (/Users/yaoyao/repositories/test/node_modules/typescript/lib/typescript.js:2270:26) at trySymbolTable (/Users/yaoyao/repositories/test/node_modules/typescript/lib/typescript.js:24464:31) at getAccessibleSymbolChainFromSymbolTableWorker (/Users/yaoyao/repositories/test/node_modules/typescript/lib/typescript.js:24437:30) at getAccessibleSymbolChainFromSymbolTable (/Users/yaoyao/repositories/test/node_modules/typescript/lib/typescript.js:24430:24)Note: it works with typescript 2.4.2, when I update to 2.5.2, the error appears.