From d199064a4b037e976a4b0f8131836a0ecabd014c Mon Sep 17 00:00:00 2001 From: Ulrich Buchgraber Date: Thu, 23 May 2019 01:14:55 +0200 Subject: [PATCH 1/2] Expose TypeScript version via `monaco.languages.typescript.typeScriptVersion` --- scripts/importTypescript.js | 8 ++++++++ src/lib/typescriptServicesMetadata.ts | 1 + src/monaco.contribution.ts | 2 ++ src/monaco.d.ts | 2 ++ 4 files changed, 13 insertions(+) create mode 100644 src/lib/typescriptServicesMetadata.ts diff --git a/scripts/importTypescript.js b/scripts/importTypescript.js index 722b267bc5..402618c45e 100644 --- a/scripts/importTypescript.js +++ b/scripts/importTypescript.js @@ -5,6 +5,7 @@ const path = require('path'); const fs = require('fs'); +const child_process = require('child_process'); const TYPESCRIPT_LIB_SOURCE = path.join(__dirname, '../node_modules/typescript/lib'); const TYPESCRIPT_LIB_DESTINATION = path.join(__dirname, '../src/lib'); @@ -17,6 +18,13 @@ const TYPESCRIPT_LIB_DESTINATION = path.join(__dirname, '../src/lib'); } importLibs(); + const npmLsOutput = JSON.parse(child_process.execSync("npm ls typescript --depth=0 --json=true").toString()); + const typeScriptDependencyVersion = npmLsOutput.dependencies.typescript.version; + + fs.writeFileSync(path.join(TYPESCRIPT_LIB_DESTINATION, 'typescriptServicesMetadata.ts'), + `export const typeScriptVersion = "${typeScriptDependencyVersion}"; +`); + var tsServices = fs.readFileSync(path.join(TYPESCRIPT_LIB_SOURCE, 'typescriptServices.js')).toString(); // Ensure we never run into the node system... diff --git a/src/lib/typescriptServicesMetadata.ts b/src/lib/typescriptServicesMetadata.ts new file mode 100644 index 0000000000..cf9d830318 --- /dev/null +++ b/src/lib/typescriptServicesMetadata.ts @@ -0,0 +1 @@ +export const typeScriptVersion = "3.3.3333"; diff --git a/src/monaco.contribution.ts b/src/monaco.contribution.ts index 62da8db94c..98a8414d06 100644 --- a/src/monaco.contribution.ts +++ b/src/monaco.contribution.ts @@ -5,6 +5,7 @@ 'use strict'; import * as mode from './tsMode'; +import { typeScriptVersion } from './lib/typescriptServicesMetadata'; // do not import the whole typescriptServices here import Emitter = monaco.Emitter; import IEvent = monaco.IEvent; @@ -204,6 +205,7 @@ function createAPI(): typeof monaco.languages.typescript { NewLineKind: NewLineKind, ScriptTarget: ScriptTarget, ModuleResolutionKind: ModuleResolutionKind, + typeScriptVersion, typescriptDefaults: typescriptDefaults, javascriptDefaults: javascriptDefaults, getTypeScriptWorker: getTypeScriptWorker, diff --git a/src/monaco.d.ts b/src/monaco.d.ts index 2a3bab0c97..2d358f0a8b 100644 --- a/src/monaco.d.ts +++ b/src/monaco.d.ts @@ -166,6 +166,8 @@ declare module monaco.languages.typescript { setEagerModelSync(value: boolean): void; } + export var typeScriptVersion: string; + export var typescriptDefaults: LanguageServiceDefaults; export var javascriptDefaults: LanguageServiceDefaults; From 18f80838f6f72c3f52ca4de216bc170b6e13f9ec Mon Sep 17 00:00:00 2001 From: Alex Dima Date: Tue, 13 Aug 2019 14:06:19 +0200 Subject: [PATCH 2/2] Use consistent casing, rerun import on top of master --- scripts/importTypescript.js | 7 ++++--- src/lib/typescriptServicesMetadata.ts | 2 +- src/monaco.contribution.ts | 4 ++-- src/monaco.d.ts | 2 +- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/scripts/importTypescript.js b/scripts/importTypescript.js index 402618c45e..f962d86951 100644 --- a/scripts/importTypescript.js +++ b/scripts/importTypescript.js @@ -21,9 +21,10 @@ const TYPESCRIPT_LIB_DESTINATION = path.join(__dirname, '../src/lib'); const npmLsOutput = JSON.parse(child_process.execSync("npm ls typescript --depth=0 --json=true").toString()); const typeScriptDependencyVersion = npmLsOutput.dependencies.typescript.version; - fs.writeFileSync(path.join(TYPESCRIPT_LIB_DESTINATION, 'typescriptServicesMetadata.ts'), - `export const typeScriptVersion = "${typeScriptDependencyVersion}"; -`); + fs.writeFileSync( + path.join(TYPESCRIPT_LIB_DESTINATION, 'typescriptServicesMetadata.ts'), + `export const typescriptVersion = "${typeScriptDependencyVersion}";\n` + ); var tsServices = fs.readFileSync(path.join(TYPESCRIPT_LIB_SOURCE, 'typescriptServices.js')).toString(); diff --git a/src/lib/typescriptServicesMetadata.ts b/src/lib/typescriptServicesMetadata.ts index cf9d830318..433e642ee7 100644 --- a/src/lib/typescriptServicesMetadata.ts +++ b/src/lib/typescriptServicesMetadata.ts @@ -1 +1 @@ -export const typeScriptVersion = "3.3.3333"; +export const typescriptVersion = "3.5.1"; diff --git a/src/monaco.contribution.ts b/src/monaco.contribution.ts index 98a8414d06..a5d9f1a68f 100644 --- a/src/monaco.contribution.ts +++ b/src/monaco.contribution.ts @@ -5,7 +5,7 @@ 'use strict'; import * as mode from './tsMode'; -import { typeScriptVersion } from './lib/typescriptServicesMetadata'; // do not import the whole typescriptServices here +import { typescriptVersion } from './lib/typescriptServicesMetadata'; // do not import the whole typescriptServices here import Emitter = monaco.Emitter; import IEvent = monaco.IEvent; @@ -205,7 +205,7 @@ function createAPI(): typeof monaco.languages.typescript { NewLineKind: NewLineKind, ScriptTarget: ScriptTarget, ModuleResolutionKind: ModuleResolutionKind, - typeScriptVersion, + typescriptVersion, typescriptDefaults: typescriptDefaults, javascriptDefaults: javascriptDefaults, getTypeScriptWorker: getTypeScriptWorker, diff --git a/src/monaco.d.ts b/src/monaco.d.ts index 2d358f0a8b..59fc8e1cd6 100644 --- a/src/monaco.d.ts +++ b/src/monaco.d.ts @@ -166,7 +166,7 @@ declare module monaco.languages.typescript { setEagerModelSync(value: boolean): void; } - export var typeScriptVersion: string; + export var typescriptVersion: string; export var typescriptDefaults: LanguageServiceDefaults; export var javascriptDefaults: LanguageServiceDefaults;