diff --git a/extensions/html-language-features/server/build/javaScriptLibraryLoader.js b/extensions/html-language-features/server/build/javaScriptLibraryLoader.js
index 85792138ba4..51e74618042 100644
--- a/extensions/html-language-features/server/build/javaScriptLibraryLoader.js
+++ b/extensions/html-language-features/server/build/javaScriptLibraryLoader.js
@@ -31,7 +31,7 @@ module.exports = function () {
queue.push(name);
};
- enqueue('es6');
+ enqueue('es2020.full');
var result = [];
while (queue.length > 0) {
diff --git a/extensions/html-language-features/server/src/modes/javascriptLibs.ts b/extensions/html-language-features/server/src/modes/javascriptLibs.ts
index bdca89be362..7abf94edf22 100644
--- a/extensions/html-language-features/server/src/modes/javascriptLibs.ts
+++ b/extensions/html-language-features/server/src/modes/javascriptLibs.ts
@@ -24,7 +24,7 @@ export function loadLibrary(name: string) {
try {
content = readFileSync(libPath).toString();
} catch (e) {
- console.log(`Unable to load library ${name} at ${libPath}: ${e.message}`);
+ console.log(`Unable to load library ${name} at ${libPath}`);
content = '';
}
contents[name] = content;
diff --git a/extensions/html-language-features/server/src/modes/javascriptMode.ts b/extensions/html-language-features/server/src/modes/javascriptMode.ts
index 7f9e3f1d85a..a119a9248ae 100644
--- a/extensions/html-language-features/server/src/modes/javascriptMode.ts
+++ b/extensions/html-language-features/server/src/modes/javascriptMode.ts
@@ -19,7 +19,7 @@ import { getSemanticTokens, getSemanticTokenLegend } from './javascriptSemanticT
const JS_WORD_REGEX = /(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g;
function getLanguageServiceHost(scriptKind: ts.ScriptKind) {
- const compilerOptions: ts.CompilerOptions = { allowNonTsExtensions: true, allowJs: true, lib: ['lib.es6.d.ts'], target: ts.ScriptTarget.Latest, moduleResolution: ts.ModuleResolutionKind.Classic, experimentalDecorators: false };
+ const compilerOptions: ts.CompilerOptions = { allowNonTsExtensions: true, allowJs: true, lib: ['lib.es2020.full.d.ts'], target: ts.ScriptTarget.Latest, moduleResolution: ts.ModuleResolutionKind.Classic, experimentalDecorators: false };
let currentTextDocument = TextDocument.create('init', 'javascript', 1, '');
const jsLanguageService = import(/* webpackChunkName: "javascriptLibs" */ './javascriptLibs').then(libs => {
@@ -52,7 +52,7 @@ function getLanguageServiceHost(scriptKind: ts.ScriptKind) {
};
},
getCurrentDirectory: () => '',
- getDefaultLibFileName: (_options: ts.CompilerOptions) => 'es6',
+ getDefaultLibFileName: (_options: ts.CompilerOptions) => 'es2020.full',
readFile: (path: string, _encoding?: string | undefined): string | undefined => {
if (path === currentTextDocument.uri) {
return currentTextDocument.getText();
@@ -66,6 +66,15 @@ function getLanguageServiceHost(scriptKind: ts.ScriptKind) {
} else {
return !!libs.loadLibrary(path);
}
+ },
+ directoryExists: (path: string): boolean => {
+ // typescript tries to first find libraries in node_modules/@types and node_modules/@typescript
+ // there's no node_modules in our setup
+ if (path.startsWith('node_modules')) {
+ return false;
+ }
+ return true;
+
}
};
return ts.createLanguageService(host);