From 8b4f06b8c50353a14740d496ee99068be219e095 Mon Sep 17 00:00:00 2001 From: Alex Dima Date: Sat, 13 Nov 2021 20:06:41 +0100 Subject: [PATCH] Move typescript sources to `/src/` --- .prettierignore | 4 +- build/build.js | 64 ++- monaco-editor/metadata.js | 8 +- monaco-editor/typedoc/monaco.d.ts | 80 +--- .../website/playground/monaco.d.ts.txt | 80 +--- monaco-typescript/.github/workflows/ci.yml | 16 - monaco-typescript/build.js | 47 -- monaco-typescript/monaco.d.ts | 440 ------------------ .../src/fillers/monaco-editor-core.ts | 6 - monaco-typescript/src/tsconfig.json | 11 - package.json | 6 +- .../typescript}/languageFeatures.ts | 2 +- .../typescript}/lib/editor.worker.d.ts | 0 .../src => src/typescript}/lib/lib.index.ts | 0 .../src => src/typescript}/lib/lib.ts | 0 .../typescript}/lib/typescriptServices-amd.js | 0 .../typescript}/lib/typescriptServices.d.ts | 0 .../typescript}/lib/typescriptServices.js | 0 .../lib/typescriptServicesMetadata.ts | 0 .../typescript}/monaco.contribution.ts | 2 +- .../src => src/typescript}/ts.worker.ts | 2 +- .../src => src/typescript}/tsMode.ts | 2 +- .../src => src/typescript}/tsWorker.ts | 2 +- .../src => src/typescript}/workerManager.ts | 2 +- 24 files changed, 107 insertions(+), 667 deletions(-) delete mode 100644 monaco-typescript/.github/workflows/ci.yml delete mode 100644 monaco-typescript/build.js delete mode 100644 monaco-typescript/monaco.d.ts delete mode 100644 monaco-typescript/src/fillers/monaco-editor-core.ts delete mode 100644 monaco-typescript/src/tsconfig.json rename {monaco-typescript/src => src/typescript}/languageFeatures.ts (99%) rename {monaco-typescript/src => src/typescript}/lib/editor.worker.d.ts (100%) rename {monaco-typescript/src => src/typescript}/lib/lib.index.ts (100%) rename {monaco-typescript/src => src/typescript}/lib/lib.ts (100%) rename {monaco-typescript/src => src/typescript}/lib/typescriptServices-amd.js (100%) rename {monaco-typescript/src => src/typescript}/lib/typescriptServices.d.ts (100%) rename {monaco-typescript/src => src/typescript}/lib/typescriptServices.js (100%) rename {monaco-typescript/src => src/typescript}/lib/typescriptServicesMetadata.ts (100%) rename {monaco-typescript/src => src/typescript}/monaco.contribution.ts (99%) rename {monaco-typescript/src => src/typescript}/ts.worker.ts (92%) rename {monaco-typescript/src => src/typescript}/tsMode.ts (98%) rename {monaco-typescript/src => src/typescript}/tsWorker.ts (99%) rename {monaco-typescript/src => src/typescript}/workerManager.ts (97%) diff --git a/.prettierignore b/.prettierignore index 9981429a..33639d99 100644 --- a/.prettierignore +++ b/.prettierignore @@ -14,7 +14,5 @@ /monaco-editor-webpack-plugin/test/dist/*.js /monaco-languages/out/ /monaco-languages/release/ -/monaco-typescript/out/ -/monaco-typescript/release/ -/monaco-typescript/src/lib/ /release/ +/src/typescript/lib/ diff --git a/build/build.js b/build/build.js index 734158d6..f247c814 100644 --- a/build/build.js +++ b/build/build.js @@ -5,12 +5,14 @@ //@ts-check -const { removeDir, tsc, dts, buildESM2, buildAMD2 } = require('../build/utils'); +const { copyFile, removeDir, tsc, dts, buildESM2, buildAMD2 } = require('../build/utils'); removeDir(`out`); tsc(`src/tsconfig.json`); +//#region Type Defintion + dts(`out/amd/css/monaco.contribution.d.ts`, `out/release/css/monaco.d.ts`, 'monaco.languages.css'); dts( `out/amd/html/monaco.contribution.d.ts`, @@ -22,6 +24,15 @@ dts( `out/release/json/monaco.d.ts`, 'monaco.languages.json' ); +dts( + `out/amd/typescript/monaco.contribution.d.ts`, + `out/release/typescript/monaco.d.ts`, + 'monaco.languages.typescript' +); + +//#endregion + +//#region css buildESM2({ base: 'css', @@ -45,6 +56,10 @@ buildAMD2({ amdModuleId: 'vs/language/css/cssWorker' }); +//#endregion + +//#region html + buildESM2({ base: 'html', entryPoints: [ @@ -71,9 +86,17 @@ buildAMD2({ amdModuleId: 'vs/language/html/htmlWorker' }); +//#endregion + +//#region json + buildESM2({ base: 'json', - entryPoints: ['src/json/monaco.contribution.ts', 'src/json/jsonMode.ts', 'src/json/json.worker.ts'], + entryPoints: [ + 'src/json/monaco.contribution.ts', + 'src/json/jsonMode.ts', + 'src/json/json.worker.ts' + ], external: ['monaco-editor-core', '*/jsonMode'] }); buildAMD2({ @@ -92,3 +115,40 @@ buildAMD2({ entryPoint: 'src/json/jsonWorker.ts', amdModuleId: 'vs/language/json/jsonWorker' }); + +//#endregion + +//#region typescript + +copyFile( + `src/typescript/lib/typescriptServices-amd.js`, + `out/amd/typescript/lib/typescriptServices.js` +); + +buildESM2({ + base: 'typescript', + entryPoints: [ + 'src/typescript/monaco.contribution.ts', + 'src/typescript/tsMode.ts', + 'src/typescript/ts.worker.ts' + ], + external: ['monaco-editor-core', '*/tsMode'] +}); +buildAMD2({ + base: 'typescript', + entryPoint: 'src/typescript/monaco.contribution.ts', + amdModuleId: 'vs/language/typescript/monaco.contribution', + amdDependencies: ['vs/editor/editor.api'] +}); +buildAMD2({ + base: 'typescript', + entryPoint: 'src/typescript/tsMode.ts', + amdModuleId: 'vs/language/typescript/tsMode' +}); +buildAMD2({ + base: 'typescript', + entryPoint: 'src/typescript/tsWorker.ts', + amdModuleId: 'vs/language/typescript/tsWorker' +}); + +//#endregion diff --git a/monaco-editor/metadata.js b/monaco-editor/metadata.js index 9786f69d..f528f61b 100644 --- a/monaco-editor/metadata.js +++ b/monaco-editor/metadata.js @@ -15,12 +15,12 @@ name: 'monaco-typescript', contrib: 'vs/language/typescript/monaco.contribution', modulePrefix: 'vs/language/typescript', - rootPath: './monaco-typescript', + rootPath: './out/release/typescript', paths: { // use ./ to indicate it is relative to the `rootPath` - dev: './release/dev', - min: './release/min', - esm: './release/esm' + dev: './dev', + min: './min', + esm: './esm' } }, { diff --git a/monaco-editor/typedoc/monaco.d.ts b/monaco-editor/typedoc/monaco.d.ts index 73d54aad..bfec7b8a 100644 --- a/monaco-editor/typedoc/monaco.d.ts +++ b/monaco-editor/typedoc/monaco.d.ts @@ -6952,15 +6952,7 @@ declare namespace monaco.languages.typescript { interface MapLike { [index: string]: T; } - type CompilerOptionsValue = - | string - | number - | boolean - | (string | number)[] - | string[] - | MapLike - | null - | undefined; + type CompilerOptionsValue = string | number | boolean | (string | number)[] | string[] | MapLike | null | undefined; interface CompilerOptions { allowJs?: boolean; allowSyntheticDefaultImports?: boolean; @@ -7098,11 +7090,9 @@ declare namespace monaco.languages.typescript { category: 0 | 1 | 2 | 3; code: number; /** TypeScriptWorker removes all but the `fileName` property to avoid serializing circular JSON structures. */ - file: - | { - fileName: string; - } - | undefined; + file: { + fileName: string; + } | undefined; start: number | undefined; length: number | undefined; messageText: string | DiagnosticMessageChain; @@ -7148,12 +7138,10 @@ declare namespace monaco.languages.typescript { * files that won't be loaded as editor documents, like `jquery.d.ts`. * @param libs An array of entries to register. */ - setExtraLibs( - libs: { - content: string; - filePath?: string; - }[] - ): void; + setExtraLibs(libs: { + content: string; + filePath?: string; + }[]): void; /** * Get current TypeScript compiler options for the language service. */ @@ -7225,20 +7213,12 @@ declare namespace monaco.languages.typescript { * Get code completion details for the given file, position, and entry. * @returns `Promise` */ - getCompletionEntryDetails( - fileName: string, - position: number, - entry: string - ): Promise; + getCompletionEntryDetails(fileName: string, position: number, entry: string): Promise; /** * Get signature help items for the item at the given file and position. * @returns `Promise` */ - getSignatureHelpItems( - fileName: string, - position: number, - options: any - ): Promise; + getSignatureHelpItems(fileName: string, position: number, options: any): Promise; /** * Get quick info for the item at the given position in the file. * @returns `Promise` @@ -7248,18 +7228,12 @@ declare namespace monaco.languages.typescript { * Get other ranges which are related to the item at the given position in the file (often used for highlighting). * @returns `Promise | undefined>` */ - getOccurrencesAtPosition( - fileName: string, - position: number - ): Promise | undefined>; + getOccurrencesAtPosition(fileName: string, position: number): Promise | undefined>; /** * Get the definition of the item at the given position in the file. * @returns `Promise | undefined>` */ - getDefinitionAtPosition( - fileName: string, - position: number - ): Promise | undefined>; + getDefinitionAtPosition(fileName: string, position: number): Promise | undefined>; /** * Get references to the item at the given position in the file. * @returns `Promise` @@ -7281,34 +7255,18 @@ declare namespace monaco.languages.typescript { * @param options `typescript.FormatCodeOptions` * @returns `Promise` */ - getFormattingEditsForRange( - fileName: string, - start: number, - end: number, - options: any - ): Promise; + getFormattingEditsForRange(fileName: string, start: number, end: number, options: any): Promise; /** * Get formatting changes which should be applied after the given keystroke. * @param options `typescript.FormatCodeOptions` * @returns `Promise` */ - getFormattingEditsAfterKeystroke( - fileName: string, - postion: number, - ch: string, - options: any - ): Promise; + getFormattingEditsAfterKeystroke(fileName: string, postion: number, ch: string, options: any): Promise; /** * Get other occurrences which should be updated when renaming the item at the given file and position. * @returns `Promise` */ - findRenameLocations( - fileName: string, - positon: number, - findInStrings: boolean, - findInComments: boolean, - providePrefixAndSuffixTextForRename: boolean - ): Promise; + findRenameLocations(fileName: string, positon: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename: boolean): Promise; /** * Get edits which should be applied to rename the item at the given file and position (or a failure reason). * @param options `typescript.RenameInfoOptions` @@ -7325,13 +7283,7 @@ declare namespace monaco.languages.typescript { * @param formatOptions `typescript.FormatCodeOptions` * @returns `Promise>` */ - getCodeFixesAtPosition( - fileName: string, - start: number, - end: number, - errorCodes: number[], - formatOptions: any - ): Promise>; + getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: number[], formatOptions: any): Promise>; /** * Get inlay hints in the range of the file. * @param fileName diff --git a/monaco-editor/website/playground/monaco.d.ts.txt b/monaco-editor/website/playground/monaco.d.ts.txt index 73d54aad..bfec7b8a 100644 --- a/monaco-editor/website/playground/monaco.d.ts.txt +++ b/monaco-editor/website/playground/monaco.d.ts.txt @@ -6952,15 +6952,7 @@ declare namespace monaco.languages.typescript { interface MapLike { [index: string]: T; } - type CompilerOptionsValue = - | string - | number - | boolean - | (string | number)[] - | string[] - | MapLike - | null - | undefined; + type CompilerOptionsValue = string | number | boolean | (string | number)[] | string[] | MapLike | null | undefined; interface CompilerOptions { allowJs?: boolean; allowSyntheticDefaultImports?: boolean; @@ -7098,11 +7090,9 @@ declare namespace monaco.languages.typescript { category: 0 | 1 | 2 | 3; code: number; /** TypeScriptWorker removes all but the `fileName` property to avoid serializing circular JSON structures. */ - file: - | { - fileName: string; - } - | undefined; + file: { + fileName: string; + } | undefined; start: number | undefined; length: number | undefined; messageText: string | DiagnosticMessageChain; @@ -7148,12 +7138,10 @@ declare namespace monaco.languages.typescript { * files that won't be loaded as editor documents, like `jquery.d.ts`. * @param libs An array of entries to register. */ - setExtraLibs( - libs: { - content: string; - filePath?: string; - }[] - ): void; + setExtraLibs(libs: { + content: string; + filePath?: string; + }[]): void; /** * Get current TypeScript compiler options for the language service. */ @@ -7225,20 +7213,12 @@ declare namespace monaco.languages.typescript { * Get code completion details for the given file, position, and entry. * @returns `Promise` */ - getCompletionEntryDetails( - fileName: string, - position: number, - entry: string - ): Promise; + getCompletionEntryDetails(fileName: string, position: number, entry: string): Promise; /** * Get signature help items for the item at the given file and position. * @returns `Promise` */ - getSignatureHelpItems( - fileName: string, - position: number, - options: any - ): Promise; + getSignatureHelpItems(fileName: string, position: number, options: any): Promise; /** * Get quick info for the item at the given position in the file. * @returns `Promise` @@ -7248,18 +7228,12 @@ declare namespace monaco.languages.typescript { * Get other ranges which are related to the item at the given position in the file (often used for highlighting). * @returns `Promise | undefined>` */ - getOccurrencesAtPosition( - fileName: string, - position: number - ): Promise | undefined>; + getOccurrencesAtPosition(fileName: string, position: number): Promise | undefined>; /** * Get the definition of the item at the given position in the file. * @returns `Promise | undefined>` */ - getDefinitionAtPosition( - fileName: string, - position: number - ): Promise | undefined>; + getDefinitionAtPosition(fileName: string, position: number): Promise | undefined>; /** * Get references to the item at the given position in the file. * @returns `Promise` @@ -7281,34 +7255,18 @@ declare namespace monaco.languages.typescript { * @param options `typescript.FormatCodeOptions` * @returns `Promise` */ - getFormattingEditsForRange( - fileName: string, - start: number, - end: number, - options: any - ): Promise; + getFormattingEditsForRange(fileName: string, start: number, end: number, options: any): Promise; /** * Get formatting changes which should be applied after the given keystroke. * @param options `typescript.FormatCodeOptions` * @returns `Promise` */ - getFormattingEditsAfterKeystroke( - fileName: string, - postion: number, - ch: string, - options: any - ): Promise; + getFormattingEditsAfterKeystroke(fileName: string, postion: number, ch: string, options: any): Promise; /** * Get other occurrences which should be updated when renaming the item at the given file and position. * @returns `Promise` */ - findRenameLocations( - fileName: string, - positon: number, - findInStrings: boolean, - findInComments: boolean, - providePrefixAndSuffixTextForRename: boolean - ): Promise; + findRenameLocations(fileName: string, positon: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename: boolean): Promise; /** * Get edits which should be applied to rename the item at the given file and position (or a failure reason). * @param options `typescript.RenameInfoOptions` @@ -7325,13 +7283,7 @@ declare namespace monaco.languages.typescript { * @param formatOptions `typescript.FormatCodeOptions` * @returns `Promise>` */ - getCodeFixesAtPosition( - fileName: string, - start: number, - end: number, - errorCodes: number[], - formatOptions: any - ): Promise>; + getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: number[], formatOptions: any): Promise>; /** * Get inlay hints in the range of the file. * @param fileName diff --git a/monaco-typescript/.github/workflows/ci.yml b/monaco-typescript/.github/workflows/ci.yml deleted file mode 100644 index 5fc63f7c..00000000 --- a/monaco-typescript/.github/workflows/ci.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: 'CI' -on: [push, pull_request] -jobs: - build: - name: 'Builds and Compiles' - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@master - - uses: actions/setup-node@v1 - with: - node-version: '10.x' - - run: npm install - - run: npm run import-typescript - - run: npm run compile - - run: npm run prepublishOnly diff --git a/monaco-typescript/build.js b/monaco-typescript/build.js deleted file mode 100644 index fff00847..00000000 --- a/monaco-typescript/build.js +++ /dev/null @@ -1,47 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -//@ts-check - -const { copyFile, removeDir, tsc, dts, buildESM, buildAMD } = require('../build/utils'); - -removeDir(`monaco-typescript/release`); -removeDir(`monaco-typescript/out`); - -copyFile( - `monaco-typescript/src/lib/typescriptServices-amd.js`, - `monaco-typescript/out/amd/lib/typescriptServices.js` -); - -tsc(`monaco-typescript/src/tsconfig.json`); - -dts( - `monaco-typescript/out/amd/monaco.contribution.d.ts`, - `monaco-typescript/monaco.d.ts`, - 'monaco.languages.typescript' -); - -buildESM({ - base: 'monaco-typescript', - entryPoints: ['src/monaco.contribution.ts', 'src/tsMode.ts', 'src/ts.worker.ts'], - external: ['monaco-editor-core', '*/tsMode'] -}); -buildAMD({ - base: 'monaco-typescript', - entryPoint: 'src/monaco.contribution.ts', - amdModuleId: 'vs/language/typescript/monaco.contribution', - amdDependencies: ['vs/editor/editor.api'] -}); -buildAMD({ - base: 'monaco-typescript', - entryPoint: 'src/tsMode.ts', - amdModuleId: 'vs/language/typescript/tsMode' -}); -buildAMD({ - base: 'monaco-typescript', - entryPoint: 'src/tsWorker.ts', - amdModuleId: 'vs/language/typescript/tsWorker', - amdDependencies: [] -}); diff --git a/monaco-typescript/monaco.d.ts b/monaco-typescript/monaco.d.ts deleted file mode 100644 index 74a21a47..00000000 --- a/monaco-typescript/monaco.d.ts +++ /dev/null @@ -1,440 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -declare namespace monaco.languages.typescript { - export enum ModuleKind { - None = 0, - CommonJS = 1, - AMD = 2, - UMD = 3, - System = 4, - ES2015 = 5, - ESNext = 99 - } - export enum JsxEmit { - None = 0, - Preserve = 1, - React = 2, - ReactNative = 3, - ReactJSX = 4, - ReactJSXDev = 5 - } - export enum NewLineKind { - CarriageReturnLineFeed = 0, - LineFeed = 1 - } - export enum ScriptTarget { - ES3 = 0, - ES5 = 1, - ES2015 = 2, - ES2016 = 3, - ES2017 = 4, - ES2018 = 5, - ES2019 = 6, - ES2020 = 7, - ESNext = 99, - JSON = 100, - Latest = 99 - } - export enum ModuleResolutionKind { - Classic = 1, - NodeJs = 2 - } - interface MapLike { - [index: string]: T; - } - type CompilerOptionsValue = - | string - | number - | boolean - | (string | number)[] - | string[] - | MapLike - | null - | undefined; - interface CompilerOptions { - allowJs?: boolean; - allowSyntheticDefaultImports?: boolean; - allowUmdGlobalAccess?: boolean; - allowUnreachableCode?: boolean; - allowUnusedLabels?: boolean; - alwaysStrict?: boolean; - baseUrl?: string; - charset?: string; - checkJs?: boolean; - declaration?: boolean; - declarationMap?: boolean; - emitDeclarationOnly?: boolean; - declarationDir?: string; - disableSizeLimit?: boolean; - disableSourceOfProjectReferenceRedirect?: boolean; - downlevelIteration?: boolean; - emitBOM?: boolean; - emitDecoratorMetadata?: boolean; - experimentalDecorators?: boolean; - forceConsistentCasingInFileNames?: boolean; - importHelpers?: boolean; - inlineSourceMap?: boolean; - inlineSources?: boolean; - isolatedModules?: boolean; - jsx?: JsxEmit; - keyofStringsOnly?: boolean; - lib?: string[]; - locale?: string; - mapRoot?: string; - maxNodeModuleJsDepth?: number; - module?: ModuleKind; - moduleResolution?: ModuleResolutionKind; - newLine?: NewLineKind; - noEmit?: boolean; - noEmitHelpers?: boolean; - noEmitOnError?: boolean; - noErrorTruncation?: boolean; - noFallthroughCasesInSwitch?: boolean; - noImplicitAny?: boolean; - noImplicitReturns?: boolean; - noImplicitThis?: boolean; - noStrictGenericChecks?: boolean; - noUnusedLocals?: boolean; - noUnusedParameters?: boolean; - noImplicitUseStrict?: boolean; - noLib?: boolean; - noResolve?: boolean; - out?: string; - outDir?: string; - outFile?: string; - paths?: MapLike; - preserveConstEnums?: boolean; - preserveSymlinks?: boolean; - project?: string; - reactNamespace?: string; - jsxFactory?: string; - composite?: boolean; - removeComments?: boolean; - rootDir?: string; - rootDirs?: string[]; - skipLibCheck?: boolean; - skipDefaultLibCheck?: boolean; - sourceMap?: boolean; - sourceRoot?: string; - strict?: boolean; - strictFunctionTypes?: boolean; - strictBindCallApply?: boolean; - strictNullChecks?: boolean; - strictPropertyInitialization?: boolean; - stripInternal?: boolean; - suppressExcessPropertyErrors?: boolean; - suppressImplicitAnyIndexErrors?: boolean; - target?: ScriptTarget; - traceResolution?: boolean; - resolveJsonModule?: boolean; - types?: string[]; - /** Paths used to compute primary types search locations */ - typeRoots?: string[]; - esModuleInterop?: boolean; - useDefineForClassFields?: boolean; - [option: string]: CompilerOptionsValue | undefined; - } - export interface DiagnosticsOptions { - noSemanticValidation?: boolean; - noSyntaxValidation?: boolean; - noSuggestionDiagnostics?: boolean; - /** - * Limit diagnostic computation to only visible files. - * Defaults to false. - */ - onlyVisible?: boolean; - diagnosticCodesToIgnore?: number[]; - } - export interface WorkerOptions { - /** A full HTTP path to a JavaScript file which adds a function `customTSWorkerFactory` to the self inside a web-worker */ - customWorkerPath?: string; - } - interface InlayHintsOptions { - readonly includeInlayParameterNameHints?: 'none' | 'literals' | 'all'; - readonly includeInlayParameterNameHintsWhenArgumentMatchesName?: boolean; - readonly includeInlayFunctionParameterTypeHints?: boolean; - readonly includeInlayVariableTypeHints?: boolean; - readonly includeInlayPropertyDeclarationTypeHints?: boolean; - readonly includeInlayFunctionLikeReturnTypeHints?: boolean; - readonly includeInlayEnumMemberValueHints?: boolean; - } - interface IExtraLib { - content: string; - version: number; - } - export interface IExtraLibs { - [path: string]: IExtraLib; - } - /** - * A linked list of formatted diagnostic messages to be used as part of a multiline message. - * It is built from the bottom up, leaving the head to be the "main" diagnostic. - */ - interface DiagnosticMessageChain { - messageText: string; - /** Diagnostic category: warning = 0, error = 1, suggestion = 2, message = 3 */ - category: 0 | 1 | 2 | 3; - code: number; - next?: DiagnosticMessageChain[]; - } - export interface Diagnostic extends DiagnosticRelatedInformation { - /** May store more in future. For now, this will simply be `true` to indicate when a diagnostic is an unused-identifier diagnostic. */ - reportsUnnecessary?: {}; - reportsDeprecated?: {}; - source?: string; - relatedInformation?: DiagnosticRelatedInformation[]; - } - export interface DiagnosticRelatedInformation { - /** Diagnostic category: warning = 0, error = 1, suggestion = 2, message = 3 */ - category: 0 | 1 | 2 | 3; - code: number; - /** TypeScriptWorker removes all but the `fileName` property to avoid serializing circular JSON structures. */ - file: - | { - fileName: string; - } - | undefined; - start: number | undefined; - length: number | undefined; - messageText: string | DiagnosticMessageChain; - } - interface EmitOutput { - outputFiles: OutputFile[]; - emitSkipped: boolean; - } - interface OutputFile { - name: string; - writeByteOrderMark: boolean; - text: string; - } - export interface LanguageServiceDefaults { - /** - * Event fired when compiler options or diagnostics options are changed. - */ - readonly onDidChange: IEvent; - /** - * Event fired when extra libraries registered with the language service change. - */ - readonly onDidExtraLibsChange: IEvent; - readonly workerOptions: WorkerOptions; - readonly inlayHintsOptions: InlayHintsOptions; - /** - * Get the current extra libs registered with the language service. - */ - getExtraLibs(): IExtraLibs; - /** - * Add an additional source file to the language service. Use this - * for typescript (definition) files that won't be loaded as editor - * documents, like `jquery.d.ts`. - * - * @param content The file content - * @param filePath An optional file path - * @returns A disposable which will remove the file from the - * language service upon disposal. - */ - addExtraLib(content: string, filePath?: string): IDisposable; - /** - * Remove all existing extra libs and set the additional source - * files to the language service. Use this for typescript definition - * files that won't be loaded as editor documents, like `jquery.d.ts`. - * @param libs An array of entries to register. - */ - setExtraLibs( - libs: { - content: string; - filePath?: string; - }[] - ): void; - /** - * Get current TypeScript compiler options for the language service. - */ - getCompilerOptions(): CompilerOptions; - /** - * Set TypeScript compiler options. - */ - setCompilerOptions(options: CompilerOptions): void; - /** - * Get the current diagnostics options for the language service. - */ - getDiagnosticsOptions(): DiagnosticsOptions; - /** - * Configure whether syntactic and/or semantic validation should - * be performed - */ - setDiagnosticsOptions(options: DiagnosticsOptions): void; - /** - * Configure webworker options - */ - setWorkerOptions(options: WorkerOptions): void; - /** - * No-op. - */ - setMaximumWorkerIdleTime(value: number): void; - /** - * Configure if all existing models should be eagerly sync'd - * to the worker on start or restart. - */ - setEagerModelSync(value: boolean): void; - /** - * Get the current setting for whether all existing models should be eagerly sync'd - * to the worker on start or restart. - */ - getEagerModelSync(): boolean; - /** - * Configure inlay hints options. - */ - setInlayHintsOptions(options: InlayHintsOptions): void; - } - export interface TypeScriptWorker { - /** - * Get diagnostic messages for any syntax issues in the given file. - */ - getSyntacticDiagnostics(fileName: string): Promise; - /** - * Get diagnostic messages for any semantic issues in the given file. - */ - getSemanticDiagnostics(fileName: string): Promise; - /** - * Get diagnostic messages for any suggestions related to the given file. - */ - getSuggestionDiagnostics(fileName: string): Promise; - /** - * Get the content of a given file. - */ - getScriptText(fileName: string): Promise; - /** - * Get diagnostic messages related to the current compiler options. - * @param fileName Not used - */ - getCompilerOptionsDiagnostics(fileName: string): Promise; - /** - * Get code completions for the given file and position. - * @returns `Promise` - */ - getCompletionsAtPosition(fileName: string, position: number): Promise; - /** - * Get code completion details for the given file, position, and entry. - * @returns `Promise` - */ - getCompletionEntryDetails( - fileName: string, - position: number, - entry: string - ): Promise; - /** - * Get signature help items for the item at the given file and position. - * @returns `Promise` - */ - getSignatureHelpItems( - fileName: string, - position: number, - options: any - ): Promise; - /** - * Get quick info for the item at the given position in the file. - * @returns `Promise` - */ - getQuickInfoAtPosition(fileName: string, position: number): Promise; - /** - * Get other ranges which are related to the item at the given position in the file (often used for highlighting). - * @returns `Promise | undefined>` - */ - getOccurrencesAtPosition( - fileName: string, - position: number - ): Promise | undefined>; - /** - * Get the definition of the item at the given position in the file. - * @returns `Promise | undefined>` - */ - getDefinitionAtPosition( - fileName: string, - position: number - ): Promise | undefined>; - /** - * Get references to the item at the given position in the file. - * @returns `Promise` - */ - getReferencesAtPosition(fileName: string, position: number): Promise; - /** - * Get outline entries for the item at the given position in the file. - * @returns `Promise` - */ - getNavigationBarItems(fileName: string): Promise; - /** - * Get changes which should be applied to format the given file. - * @param options `typescript.FormatCodeOptions` - * @returns `Promise` - */ - getFormattingEditsForDocument(fileName: string, options: any): Promise; - /** - * Get changes which should be applied to format the given range in the file. - * @param options `typescript.FormatCodeOptions` - * @returns `Promise` - */ - getFormattingEditsForRange( - fileName: string, - start: number, - end: number, - options: any - ): Promise; - /** - * Get formatting changes which should be applied after the given keystroke. - * @param options `typescript.FormatCodeOptions` - * @returns `Promise` - */ - getFormattingEditsAfterKeystroke( - fileName: string, - postion: number, - ch: string, - options: any - ): Promise; - /** - * Get other occurrences which should be updated when renaming the item at the given file and position. - * @returns `Promise` - */ - findRenameLocations( - fileName: string, - positon: number, - findInStrings: boolean, - findInComments: boolean, - providePrefixAndSuffixTextForRename: boolean - ): Promise; - /** - * Get edits which should be applied to rename the item at the given file and position (or a failure reason). - * @param options `typescript.RenameInfoOptions` - * @returns `Promise` - */ - getRenameInfo(fileName: string, positon: number, options: any): Promise; - /** - * Get transpiled output for the given file. - * @returns `typescript.EmitOutput` - */ - getEmitOutput(fileName: string): Promise; - /** - * Get possible code fixes at the given position in the file. - * @param formatOptions `typescript.FormatCodeOptions` - * @returns `Promise>` - */ - getCodeFixesAtPosition( - fileName: string, - start: number, - end: number, - errorCodes: number[], - formatOptions: any - ): Promise>; - /** - * Get inlay hints in the range of the file. - * @param fileName - * @returns `Promise` - */ - provideInlayHints(fileName: string, start: number, end: number): Promise>; - } - export const typescriptVersion: string; - export const typescriptDefaults: LanguageServiceDefaults; - export const javascriptDefaults: LanguageServiceDefaults; - export const getTypeScriptWorker: () => Promise<(...uris: Uri[]) => Promise>; - export const getJavaScriptWorker: () => Promise<(...uris: Uri[]) => Promise>; -} diff --git a/monaco-typescript/src/fillers/monaco-editor-core.ts b/monaco-typescript/src/fillers/monaco-editor-core.ts deleted file mode 100644 index cd996aa7..00000000 --- a/monaco-typescript/src/fillers/monaco-editor-core.ts +++ /dev/null @@ -1,6 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -export * from 'monaco-editor-core'; diff --git a/monaco-typescript/src/tsconfig.json b/monaco-typescript/src/tsconfig.json deleted file mode 100644 index 001f587e..00000000 --- a/monaco-typescript/src/tsconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "compilerOptions": { - "module": "amd", - "moduleResolution": "node", - "outDir": "../out/amd", - "declaration": true, - "target": "es5", - "lib": ["dom", "es5", "es2015.collection", "es2015.iterable", "es2015.promise"], - "strict": true - } -} diff --git a/package.json b/package.json index 5f1b5038..c847d45f 100644 --- a/package.json +++ b/package.json @@ -10,12 +10,10 @@ "import-typescript": "node ./monaco-typescript/importTypescript", "watch-src": "tsc -w -p ./src", "watch-languages": "tsc -w -p ./monaco-languages/src", - "watch-typescript": "tsc -w -p ./monaco-typescript/src", - "watch": "npm-run-all -lp watch-src watch-languages watch-typescript", + "watch": "npm-run-all -lp watch-src watch-languages", "release-src": "node ./build/build", "release-languages": "node ./monaco-languages/build", - "release-typescript": "node ./monaco-typescript/build", - "release-plugins": "npm-run-all -lp release-src release-languages release-typescript", + "release-plugins": "npm-run-all -lp release-src release-languages", "test": "node ./monaco-languages/test/all.js", "gulp-release": "gulp release", "release": "npm-run-all -ls release-plugins gulp-release", diff --git a/monaco-typescript/src/languageFeatures.ts b/src/typescript/languageFeatures.ts similarity index 99% rename from monaco-typescript/src/languageFeatures.ts rename to src/typescript/languageFeatures.ts index 2dba4a86..cac3e8ee 100644 --- a/monaco-typescript/src/languageFeatures.ts +++ b/src/typescript/languageFeatures.ts @@ -24,7 +24,7 @@ import { IRange, MarkerTag, MarkerSeverity -} from './fillers/monaco-editor-core'; +} from '../fillers/monaco-editor-core'; //#region utils copied from typescript to prevent loading the entire typescriptServices --- diff --git a/monaco-typescript/src/lib/editor.worker.d.ts b/src/typescript/lib/editor.worker.d.ts similarity index 100% rename from monaco-typescript/src/lib/editor.worker.d.ts rename to src/typescript/lib/editor.worker.d.ts diff --git a/monaco-typescript/src/lib/lib.index.ts b/src/typescript/lib/lib.index.ts similarity index 100% rename from monaco-typescript/src/lib/lib.index.ts rename to src/typescript/lib/lib.index.ts diff --git a/monaco-typescript/src/lib/lib.ts b/src/typescript/lib/lib.ts similarity index 100% rename from monaco-typescript/src/lib/lib.ts rename to src/typescript/lib/lib.ts diff --git a/monaco-typescript/src/lib/typescriptServices-amd.js b/src/typescript/lib/typescriptServices-amd.js similarity index 100% rename from monaco-typescript/src/lib/typescriptServices-amd.js rename to src/typescript/lib/typescriptServices-amd.js diff --git a/monaco-typescript/src/lib/typescriptServices.d.ts b/src/typescript/lib/typescriptServices.d.ts similarity index 100% rename from monaco-typescript/src/lib/typescriptServices.d.ts rename to src/typescript/lib/typescriptServices.d.ts diff --git a/monaco-typescript/src/lib/typescriptServices.js b/src/typescript/lib/typescriptServices.js similarity index 100% rename from monaco-typescript/src/lib/typescriptServices.js rename to src/typescript/lib/typescriptServices.js diff --git a/monaco-typescript/src/lib/typescriptServicesMetadata.ts b/src/typescript/lib/typescriptServicesMetadata.ts similarity index 100% rename from monaco-typescript/src/lib/typescriptServicesMetadata.ts rename to src/typescript/lib/typescriptServicesMetadata.ts diff --git a/monaco-typescript/src/monaco.contribution.ts b/src/typescript/monaco.contribution.ts similarity index 99% rename from monaco-typescript/src/monaco.contribution.ts rename to src/typescript/monaco.contribution.ts index 0334106e..b00258a1 100644 --- a/monaco-typescript/src/monaco.contribution.ts +++ b/src/typescript/monaco.contribution.ts @@ -6,7 +6,7 @@ import type * as mode from './tsMode'; import { typescriptVersion as tsversion } from './lib/typescriptServicesMetadata'; // do not import the whole typescriptServices here -import { languages, Emitter, IEvent, IDisposable, Uri } from './fillers/monaco-editor-core'; +import { languages, Emitter, IEvent, IDisposable, Uri } from '../fillers/monaco-editor-core'; //#region enums copied from typescript to prevent loading the entire typescriptServices --- diff --git a/monaco-typescript/src/ts.worker.ts b/src/typescript/ts.worker.ts similarity index 92% rename from monaco-typescript/src/ts.worker.ts rename to src/typescript/ts.worker.ts index 3da5d69f..33b186a0 100644 --- a/monaco-typescript/src/ts.worker.ts +++ b/src/typescript/ts.worker.ts @@ -6,7 +6,7 @@ import * as edworker from 'monaco-editor-core/esm/vs/editor/editor.worker'; import { TypeScriptWorker, ICreateData } from './tsWorker'; -import { worker } from './fillers/monaco-editor-core'; +import { worker } from '../fillers/monaco-editor-core'; self.onmessage = () => { // ignore the first message diff --git a/monaco-typescript/src/tsMode.ts b/src/typescript/tsMode.ts similarity index 98% rename from monaco-typescript/src/tsMode.ts rename to src/typescript/tsMode.ts index 9ebf59cf..b1bdbdc2 100644 --- a/monaco-typescript/src/tsMode.ts +++ b/src/typescript/tsMode.ts @@ -8,7 +8,7 @@ import { WorkerManager } from './workerManager'; import type { TypeScriptWorker } from './tsWorker'; import { LanguageServiceDefaults } from './monaco.contribution'; import * as languageFeatures from './languageFeatures'; -import { languages, Uri } from './fillers/monaco-editor-core'; +import { languages, Uri } from '../fillers/monaco-editor-core'; let javaScriptWorker: (...uris: Uri[]) => Promise; let typeScriptWorker: (...uris: Uri[]) => Promise; diff --git a/monaco-typescript/src/tsWorker.ts b/src/typescript/tsWorker.ts similarity index 99% rename from monaco-typescript/src/tsWorker.ts rename to src/typescript/tsWorker.ts index a0fec667..3cf342a6 100644 --- a/monaco-typescript/src/tsWorker.ts +++ b/src/typescript/tsWorker.ts @@ -12,7 +12,7 @@ import { IExtraLibs, TypeScriptWorker as ITypeScriptWorker } from './monaco.contribution'; -import { Uri, worker } from './fillers/monaco-editor-core'; +import { Uri, worker } from '../fillers/monaco-editor-core'; /** * Loading a default lib as a source file will mess up TS completely. diff --git a/monaco-typescript/src/workerManager.ts b/src/typescript/workerManager.ts similarity index 97% rename from monaco-typescript/src/workerManager.ts rename to src/typescript/workerManager.ts index 6e70ae02..d7f18924 100644 --- a/monaco-typescript/src/workerManager.ts +++ b/src/typescript/workerManager.ts @@ -6,7 +6,7 @@ import { LanguageServiceDefaults } from './monaco.contribution'; import type { TypeScriptWorker } from './tsWorker'; -import { editor, Uri, IDisposable } from './fillers/monaco-editor-core'; +import { editor, Uri, IDisposable } from '../fillers/monaco-editor-core'; export class WorkerManager { private _modeId: string;