Move typescript sources to /src/

This commit is contained in:
Alex Dima 2021-11-13 20:06:41 +01:00
parent c41a5ce8aa
commit 8b4f06b8c5
No known key found for this signature in database
GPG key ID: 39563C1504FDD0C9
24 changed files with 107 additions and 667 deletions

View file

@ -14,7 +14,5 @@
/monaco-editor-webpack-plugin/test/dist/*.js /monaco-editor-webpack-plugin/test/dist/*.js
/monaco-languages/out/ /monaco-languages/out/
/monaco-languages/release/ /monaco-languages/release/
/monaco-typescript/out/
/monaco-typescript/release/
/monaco-typescript/src/lib/
/release/ /release/
/src/typescript/lib/

View file

@ -5,12 +5,14 @@
//@ts-check //@ts-check
const { removeDir, tsc, dts, buildESM2, buildAMD2 } = require('../build/utils'); const { copyFile, removeDir, tsc, dts, buildESM2, buildAMD2 } = require('../build/utils');
removeDir(`out`); removeDir(`out`);
tsc(`src/tsconfig.json`); 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/css/monaco.contribution.d.ts`, `out/release/css/monaco.d.ts`, 'monaco.languages.css');
dts( dts(
`out/amd/html/monaco.contribution.d.ts`, `out/amd/html/monaco.contribution.d.ts`,
@ -22,6 +24,15 @@ dts(
`out/release/json/monaco.d.ts`, `out/release/json/monaco.d.ts`,
'monaco.languages.json' 'monaco.languages.json'
); );
dts(
`out/amd/typescript/monaco.contribution.d.ts`,
`out/release/typescript/monaco.d.ts`,
'monaco.languages.typescript'
);
//#endregion
//#region css
buildESM2({ buildESM2({
base: 'css', base: 'css',
@ -45,6 +56,10 @@ buildAMD2({
amdModuleId: 'vs/language/css/cssWorker' amdModuleId: 'vs/language/css/cssWorker'
}); });
//#endregion
//#region html
buildESM2({ buildESM2({
base: 'html', base: 'html',
entryPoints: [ entryPoints: [
@ -71,9 +86,17 @@ buildAMD2({
amdModuleId: 'vs/language/html/htmlWorker' amdModuleId: 'vs/language/html/htmlWorker'
}); });
//#endregion
//#region json
buildESM2({ buildESM2({
base: 'json', 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'] external: ['monaco-editor-core', '*/jsonMode']
}); });
buildAMD2({ buildAMD2({
@ -92,3 +115,40 @@ buildAMD2({
entryPoint: 'src/json/jsonWorker.ts', entryPoint: 'src/json/jsonWorker.ts',
amdModuleId: 'vs/language/json/jsonWorker' 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

View file

@ -15,12 +15,12 @@
name: 'monaco-typescript', name: 'monaco-typescript',
contrib: 'vs/language/typescript/monaco.contribution', contrib: 'vs/language/typescript/monaco.contribution',
modulePrefix: 'vs/language/typescript', modulePrefix: 'vs/language/typescript',
rootPath: './monaco-typescript', rootPath: './out/release/typescript',
paths: { paths: {
// use ./ to indicate it is relative to the `rootPath` // use ./ to indicate it is relative to the `rootPath`
dev: './release/dev', dev: './dev',
min: './release/min', min: './min',
esm: './release/esm' esm: './esm'
} }
}, },
{ {

View file

@ -6952,15 +6952,7 @@ declare namespace monaco.languages.typescript {
interface MapLike<T> { interface MapLike<T> {
[index: string]: T; [index: string]: T;
} }
type CompilerOptionsValue = type CompilerOptionsValue = string | number | boolean | (string | number)[] | string[] | MapLike<string[]> | null | undefined;
| string
| number
| boolean
| (string | number)[]
| string[]
| MapLike<string[]>
| null
| undefined;
interface CompilerOptions { interface CompilerOptions {
allowJs?: boolean; allowJs?: boolean;
allowSyntheticDefaultImports?: boolean; allowSyntheticDefaultImports?: boolean;
@ -7098,11 +7090,9 @@ declare namespace monaco.languages.typescript {
category: 0 | 1 | 2 | 3; category: 0 | 1 | 2 | 3;
code: number; code: number;
/** TypeScriptWorker removes all but the `fileName` property to avoid serializing circular JSON structures. */ /** TypeScriptWorker removes all but the `fileName` property to avoid serializing circular JSON structures. */
file: file: {
| { fileName: string;
fileName: string; } | undefined;
}
| undefined;
start: number | undefined; start: number | undefined;
length: number | undefined; length: number | undefined;
messageText: string | DiagnosticMessageChain; 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`. * files that won't be loaded as editor documents, like `jquery.d.ts`.
* @param libs An array of entries to register. * @param libs An array of entries to register.
*/ */
setExtraLibs( setExtraLibs(libs: {
libs: { content: string;
content: string; filePath?: string;
filePath?: string; }[]): void;
}[]
): void;
/** /**
* Get current TypeScript compiler options for the language service. * 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. * Get code completion details for the given file, position, and entry.
* @returns `Promise<typescript.CompletionEntryDetails | undefined>` * @returns `Promise<typescript.CompletionEntryDetails | undefined>`
*/ */
getCompletionEntryDetails( getCompletionEntryDetails(fileName: string, position: number, entry: string): Promise<any | undefined>;
fileName: string,
position: number,
entry: string
): Promise<any | undefined>;
/** /**
* Get signature help items for the item at the given file and position. * Get signature help items for the item at the given file and position.
* @returns `Promise<typescript.SignatureHelpItems | undefined>` * @returns `Promise<typescript.SignatureHelpItems | undefined>`
*/ */
getSignatureHelpItems( getSignatureHelpItems(fileName: string, position: number, options: any): Promise<any | undefined>;
fileName: string,
position: number,
options: any
): Promise<any | undefined>;
/** /**
* Get quick info for the item at the given position in the file. * Get quick info for the item at the given position in the file.
* @returns `Promise<typescript.QuickInfo | undefined>` * @returns `Promise<typescript.QuickInfo | undefined>`
@ -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). * Get other ranges which are related to the item at the given position in the file (often used for highlighting).
* @returns `Promise<ReadonlyArray<typescript.ReferenceEntry> | undefined>` * @returns `Promise<ReadonlyArray<typescript.ReferenceEntry> | undefined>`
*/ */
getOccurrencesAtPosition( getOccurrencesAtPosition(fileName: string, position: number): Promise<ReadonlyArray<any> | undefined>;
fileName: string,
position: number
): Promise<ReadonlyArray<any> | undefined>;
/** /**
* Get the definition of the item at the given position in the file. * Get the definition of the item at the given position in the file.
* @returns `Promise<ReadonlyArray<typescript.DefinitionInfo> | undefined>` * @returns `Promise<ReadonlyArray<typescript.DefinitionInfo> | undefined>`
*/ */
getDefinitionAtPosition( getDefinitionAtPosition(fileName: string, position: number): Promise<ReadonlyArray<any> | undefined>;
fileName: string,
position: number
): Promise<ReadonlyArray<any> | undefined>;
/** /**
* Get references to the item at the given position in the file. * Get references to the item at the given position in the file.
* @returns `Promise<typescript.ReferenceEntry[] | undefined>` * @returns `Promise<typescript.ReferenceEntry[] | undefined>`
@ -7281,34 +7255,18 @@ declare namespace monaco.languages.typescript {
* @param options `typescript.FormatCodeOptions` * @param options `typescript.FormatCodeOptions`
* @returns `Promise<typescript.TextChange[]>` * @returns `Promise<typescript.TextChange[]>`
*/ */
getFormattingEditsForRange( getFormattingEditsForRange(fileName: string, start: number, end: number, options: any): Promise<any[]>;
fileName: string,
start: number,
end: number,
options: any
): Promise<any[]>;
/** /**
* Get formatting changes which should be applied after the given keystroke. * Get formatting changes which should be applied after the given keystroke.
* @param options `typescript.FormatCodeOptions` * @param options `typescript.FormatCodeOptions`
* @returns `Promise<typescript.TextChange[]>` * @returns `Promise<typescript.TextChange[]>`
*/ */
getFormattingEditsAfterKeystroke( getFormattingEditsAfterKeystroke(fileName: string, postion: number, ch: string, options: any): Promise<any[]>;
fileName: string,
postion: number,
ch: string,
options: any
): Promise<any[]>;
/** /**
* Get other occurrences which should be updated when renaming the item at the given file and position. * Get other occurrences which should be updated when renaming the item at the given file and position.
* @returns `Promise<readonly typescript.RenameLocation[] | undefined>` * @returns `Promise<readonly typescript.RenameLocation[] | undefined>`
*/ */
findRenameLocations( findRenameLocations(fileName: string, positon: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename: boolean): Promise<readonly any[] | undefined>;
fileName: string,
positon: number,
findInStrings: boolean,
findInComments: boolean,
providePrefixAndSuffixTextForRename: boolean
): Promise<readonly any[] | undefined>;
/** /**
* Get edits which should be applied to rename the item at the given file and position (or a failure reason). * Get edits which should be applied to rename the item at the given file and position (or a failure reason).
* @param options `typescript.RenameInfoOptions` * @param options `typescript.RenameInfoOptions`
@ -7325,13 +7283,7 @@ declare namespace monaco.languages.typescript {
* @param formatOptions `typescript.FormatCodeOptions` * @param formatOptions `typescript.FormatCodeOptions`
* @returns `Promise<ReadonlyArray<typescript.CodeFixAction>>` * @returns `Promise<ReadonlyArray<typescript.CodeFixAction>>`
*/ */
getCodeFixesAtPosition( getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: number[], formatOptions: any): Promise<ReadonlyArray<any>>;
fileName: string,
start: number,
end: number,
errorCodes: number[],
formatOptions: any
): Promise<ReadonlyArray<any>>;
/** /**
* Get inlay hints in the range of the file. * Get inlay hints in the range of the file.
* @param fileName * @param fileName

View file

@ -6952,15 +6952,7 @@ declare namespace monaco.languages.typescript {
interface MapLike<T> { interface MapLike<T> {
[index: string]: T; [index: string]: T;
} }
type CompilerOptionsValue = type CompilerOptionsValue = string | number | boolean | (string | number)[] | string[] | MapLike<string[]> | null | undefined;
| string
| number
| boolean
| (string | number)[]
| string[]
| MapLike<string[]>
| null
| undefined;
interface CompilerOptions { interface CompilerOptions {
allowJs?: boolean; allowJs?: boolean;
allowSyntheticDefaultImports?: boolean; allowSyntheticDefaultImports?: boolean;
@ -7098,11 +7090,9 @@ declare namespace monaco.languages.typescript {
category: 0 | 1 | 2 | 3; category: 0 | 1 | 2 | 3;
code: number; code: number;
/** TypeScriptWorker removes all but the `fileName` property to avoid serializing circular JSON structures. */ /** TypeScriptWorker removes all but the `fileName` property to avoid serializing circular JSON structures. */
file: file: {
| { fileName: string;
fileName: string; } | undefined;
}
| undefined;
start: number | undefined; start: number | undefined;
length: number | undefined; length: number | undefined;
messageText: string | DiagnosticMessageChain; 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`. * files that won't be loaded as editor documents, like `jquery.d.ts`.
* @param libs An array of entries to register. * @param libs An array of entries to register.
*/ */
setExtraLibs( setExtraLibs(libs: {
libs: { content: string;
content: string; filePath?: string;
filePath?: string; }[]): void;
}[]
): void;
/** /**
* Get current TypeScript compiler options for the language service. * 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. * Get code completion details for the given file, position, and entry.
* @returns `Promise<typescript.CompletionEntryDetails | undefined>` * @returns `Promise<typescript.CompletionEntryDetails | undefined>`
*/ */
getCompletionEntryDetails( getCompletionEntryDetails(fileName: string, position: number, entry: string): Promise<any | undefined>;
fileName: string,
position: number,
entry: string
): Promise<any | undefined>;
/** /**
* Get signature help items for the item at the given file and position. * Get signature help items for the item at the given file and position.
* @returns `Promise<typescript.SignatureHelpItems | undefined>` * @returns `Promise<typescript.SignatureHelpItems | undefined>`
*/ */
getSignatureHelpItems( getSignatureHelpItems(fileName: string, position: number, options: any): Promise<any | undefined>;
fileName: string,
position: number,
options: any
): Promise<any | undefined>;
/** /**
* Get quick info for the item at the given position in the file. * Get quick info for the item at the given position in the file.
* @returns `Promise<typescript.QuickInfo | undefined>` * @returns `Promise<typescript.QuickInfo | undefined>`
@ -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). * Get other ranges which are related to the item at the given position in the file (often used for highlighting).
* @returns `Promise<ReadonlyArray<typescript.ReferenceEntry> | undefined>` * @returns `Promise<ReadonlyArray<typescript.ReferenceEntry> | undefined>`
*/ */
getOccurrencesAtPosition( getOccurrencesAtPosition(fileName: string, position: number): Promise<ReadonlyArray<any> | undefined>;
fileName: string,
position: number
): Promise<ReadonlyArray<any> | undefined>;
/** /**
* Get the definition of the item at the given position in the file. * Get the definition of the item at the given position in the file.
* @returns `Promise<ReadonlyArray<typescript.DefinitionInfo> | undefined>` * @returns `Promise<ReadonlyArray<typescript.DefinitionInfo> | undefined>`
*/ */
getDefinitionAtPosition( getDefinitionAtPosition(fileName: string, position: number): Promise<ReadonlyArray<any> | undefined>;
fileName: string,
position: number
): Promise<ReadonlyArray<any> | undefined>;
/** /**
* Get references to the item at the given position in the file. * Get references to the item at the given position in the file.
* @returns `Promise<typescript.ReferenceEntry[] | undefined>` * @returns `Promise<typescript.ReferenceEntry[] | undefined>`
@ -7281,34 +7255,18 @@ declare namespace monaco.languages.typescript {
* @param options `typescript.FormatCodeOptions` * @param options `typescript.FormatCodeOptions`
* @returns `Promise<typescript.TextChange[]>` * @returns `Promise<typescript.TextChange[]>`
*/ */
getFormattingEditsForRange( getFormattingEditsForRange(fileName: string, start: number, end: number, options: any): Promise<any[]>;
fileName: string,
start: number,
end: number,
options: any
): Promise<any[]>;
/** /**
* Get formatting changes which should be applied after the given keystroke. * Get formatting changes which should be applied after the given keystroke.
* @param options `typescript.FormatCodeOptions` * @param options `typescript.FormatCodeOptions`
* @returns `Promise<typescript.TextChange[]>` * @returns `Promise<typescript.TextChange[]>`
*/ */
getFormattingEditsAfterKeystroke( getFormattingEditsAfterKeystroke(fileName: string, postion: number, ch: string, options: any): Promise<any[]>;
fileName: string,
postion: number,
ch: string,
options: any
): Promise<any[]>;
/** /**
* Get other occurrences which should be updated when renaming the item at the given file and position. * Get other occurrences which should be updated when renaming the item at the given file and position.
* @returns `Promise<readonly typescript.RenameLocation[] | undefined>` * @returns `Promise<readonly typescript.RenameLocation[] | undefined>`
*/ */
findRenameLocations( findRenameLocations(fileName: string, positon: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename: boolean): Promise<readonly any[] | undefined>;
fileName: string,
positon: number,
findInStrings: boolean,
findInComments: boolean,
providePrefixAndSuffixTextForRename: boolean
): Promise<readonly any[] | undefined>;
/** /**
* Get edits which should be applied to rename the item at the given file and position (or a failure reason). * Get edits which should be applied to rename the item at the given file and position (or a failure reason).
* @param options `typescript.RenameInfoOptions` * @param options `typescript.RenameInfoOptions`
@ -7325,13 +7283,7 @@ declare namespace monaco.languages.typescript {
* @param formatOptions `typescript.FormatCodeOptions` * @param formatOptions `typescript.FormatCodeOptions`
* @returns `Promise<ReadonlyArray<typescript.CodeFixAction>>` * @returns `Promise<ReadonlyArray<typescript.CodeFixAction>>`
*/ */
getCodeFixesAtPosition( getCodeFixesAtPosition(fileName: string, start: number, end: number, errorCodes: number[], formatOptions: any): Promise<ReadonlyArray<any>>;
fileName: string,
start: number,
end: number,
errorCodes: number[],
formatOptions: any
): Promise<ReadonlyArray<any>>;
/** /**
* Get inlay hints in the range of the file. * Get inlay hints in the range of the file.
* @param fileName * @param fileName

View file

@ -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

View file

@ -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: []
});

View file

@ -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<T> {
[index: string]: T;
}
type CompilerOptionsValue =
| string
| number
| boolean
| (string | number)[]
| string[]
| MapLike<string[]>
| 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<string[]>;
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<void>;
/**
* Event fired when extra libraries registered with the language service change.
*/
readonly onDidExtraLibsChange: IEvent<void>;
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<Diagnostic[]>;
/**
* Get diagnostic messages for any semantic issues in the given file.
*/
getSemanticDiagnostics(fileName: string): Promise<Diagnostic[]>;
/**
* Get diagnostic messages for any suggestions related to the given file.
*/
getSuggestionDiagnostics(fileName: string): Promise<Diagnostic[]>;
/**
* Get the content of a given file.
*/
getScriptText(fileName: string): Promise<string | undefined>;
/**
* Get diagnostic messages related to the current compiler options.
* @param fileName Not used
*/
getCompilerOptionsDiagnostics(fileName: string): Promise<Diagnostic[]>;
/**
* Get code completions for the given file and position.
* @returns `Promise<typescript.CompletionInfo | undefined>`
*/
getCompletionsAtPosition(fileName: string, position: number): Promise<any | undefined>;
/**
* Get code completion details for the given file, position, and entry.
* @returns `Promise<typescript.CompletionEntryDetails | undefined>`
*/
getCompletionEntryDetails(
fileName: string,
position: number,
entry: string
): Promise<any | undefined>;
/**
* Get signature help items for the item at the given file and position.
* @returns `Promise<typescript.SignatureHelpItems | undefined>`
*/
getSignatureHelpItems(
fileName: string,
position: number,
options: any
): Promise<any | undefined>;
/**
* Get quick info for the item at the given position in the file.
* @returns `Promise<typescript.QuickInfo | undefined>`
*/
getQuickInfoAtPosition(fileName: string, position: number): Promise<any | undefined>;
/**
* Get other ranges which are related to the item at the given position in the file (often used for highlighting).
* @returns `Promise<ReadonlyArray<typescript.ReferenceEntry> | undefined>`
*/
getOccurrencesAtPosition(
fileName: string,
position: number
): Promise<ReadonlyArray<any> | undefined>;
/**
* Get the definition of the item at the given position in the file.
* @returns `Promise<ReadonlyArray<typescript.DefinitionInfo> | undefined>`
*/
getDefinitionAtPosition(
fileName: string,
position: number
): Promise<ReadonlyArray<any> | undefined>;
/**
* Get references to the item at the given position in the file.
* @returns `Promise<typescript.ReferenceEntry[] | undefined>`
*/
getReferencesAtPosition(fileName: string, position: number): Promise<any[] | undefined>;
/**
* Get outline entries for the item at the given position in the file.
* @returns `Promise<typescript.NavigationBarItem[]>`
*/
getNavigationBarItems(fileName: string): Promise<any[]>;
/**
* Get changes which should be applied to format the given file.
* @param options `typescript.FormatCodeOptions`
* @returns `Promise<typescript.TextChange[]>`
*/
getFormattingEditsForDocument(fileName: string, options: any): Promise<any[]>;
/**
* Get changes which should be applied to format the given range in the file.
* @param options `typescript.FormatCodeOptions`
* @returns `Promise<typescript.TextChange[]>`
*/
getFormattingEditsForRange(
fileName: string,
start: number,
end: number,
options: any
): Promise<any[]>;
/**
* Get formatting changes which should be applied after the given keystroke.
* @param options `typescript.FormatCodeOptions`
* @returns `Promise<typescript.TextChange[]>`
*/
getFormattingEditsAfterKeystroke(
fileName: string,
postion: number,
ch: string,
options: any
): Promise<any[]>;
/**
* Get other occurrences which should be updated when renaming the item at the given file and position.
* @returns `Promise<readonly typescript.RenameLocation[] | undefined>`
*/
findRenameLocations(
fileName: string,
positon: number,
findInStrings: boolean,
findInComments: boolean,
providePrefixAndSuffixTextForRename: boolean
): Promise<readonly any[] | undefined>;
/**
* 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<typescript.RenameInfo>`
*/
getRenameInfo(fileName: string, positon: number, options: any): Promise<any>;
/**
* Get transpiled output for the given file.
* @returns `typescript.EmitOutput`
*/
getEmitOutput(fileName: string): Promise<EmitOutput>;
/**
* Get possible code fixes at the given position in the file.
* @param formatOptions `typescript.FormatCodeOptions`
* @returns `Promise<ReadonlyArray<typescript.CodeFixAction>>`
*/
getCodeFixesAtPosition(
fileName: string,
start: number,
end: number,
errorCodes: number[],
formatOptions: any
): Promise<ReadonlyArray<any>>;
/**
* Get inlay hints in the range of the file.
* @param fileName
* @returns `Promise<typescript.InlayHint[]>`
*/
provideInlayHints(fileName: string, start: number, end: number): Promise<ReadonlyArray<any>>;
}
export const typescriptVersion: string;
export const typescriptDefaults: LanguageServiceDefaults;
export const javascriptDefaults: LanguageServiceDefaults;
export const getTypeScriptWorker: () => Promise<(...uris: Uri[]) => Promise<TypeScriptWorker>>;
export const getJavaScriptWorker: () => Promise<(...uris: Uri[]) => Promise<TypeScriptWorker>>;
}

View file

@ -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';

View file

@ -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
}
}

View file

@ -10,12 +10,10 @@
"import-typescript": "node ./monaco-typescript/importTypescript", "import-typescript": "node ./monaco-typescript/importTypescript",
"watch-src": "tsc -w -p ./src", "watch-src": "tsc -w -p ./src",
"watch-languages": "tsc -w -p ./monaco-languages/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": "npm-run-all -lp watch-src watch-languages watch-typescript",
"release-src": "node ./build/build", "release-src": "node ./build/build",
"release-languages": "node ./monaco-languages/build", "release-languages": "node ./monaco-languages/build",
"release-typescript": "node ./monaco-typescript/build", "release-plugins": "npm-run-all -lp release-src release-languages",
"release-plugins": "npm-run-all -lp release-src release-languages release-typescript",
"test": "node ./monaco-languages/test/all.js", "test": "node ./monaco-languages/test/all.js",
"gulp-release": "gulp release", "gulp-release": "gulp release",
"release": "npm-run-all -ls release-plugins gulp-release", "release": "npm-run-all -ls release-plugins gulp-release",

View file

@ -24,7 +24,7 @@ import {
IRange, IRange,
MarkerTag, MarkerTag,
MarkerSeverity MarkerSeverity
} from './fillers/monaco-editor-core'; } from '../fillers/monaco-editor-core';
//#region utils copied from typescript to prevent loading the entire typescriptServices --- //#region utils copied from typescript to prevent loading the entire typescriptServices ---

View file

@ -6,7 +6,7 @@
import type * as mode from './tsMode'; import type * as mode from './tsMode';
import { typescriptVersion as tsversion } from './lib/typescriptServicesMetadata'; // do not import the whole typescriptServices here 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 --- //#region enums copied from typescript to prevent loading the entire typescriptServices ---

View file

@ -6,7 +6,7 @@
import * as edworker from 'monaco-editor-core/esm/vs/editor/editor.worker'; import * as edworker from 'monaco-editor-core/esm/vs/editor/editor.worker';
import { TypeScriptWorker, ICreateData } from './tsWorker'; import { TypeScriptWorker, ICreateData } from './tsWorker';
import { worker } from './fillers/monaco-editor-core'; import { worker } from '../fillers/monaco-editor-core';
self.onmessage = () => { self.onmessage = () => {
// ignore the first message // ignore the first message

View file

@ -8,7 +8,7 @@ import { WorkerManager } from './workerManager';
import type { TypeScriptWorker } from './tsWorker'; import type { TypeScriptWorker } from './tsWorker';
import { LanguageServiceDefaults } from './monaco.contribution'; import { LanguageServiceDefaults } from './monaco.contribution';
import * as languageFeatures from './languageFeatures'; 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<TypeScriptWorker>; let javaScriptWorker: (...uris: Uri[]) => Promise<TypeScriptWorker>;
let typeScriptWorker: (...uris: Uri[]) => Promise<TypeScriptWorker>; let typeScriptWorker: (...uris: Uri[]) => Promise<TypeScriptWorker>;

View file

@ -12,7 +12,7 @@ import {
IExtraLibs, IExtraLibs,
TypeScriptWorker as ITypeScriptWorker TypeScriptWorker as ITypeScriptWorker
} from './monaco.contribution'; } 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. * Loading a default lib as a source file will mess up TS completely.

View file

@ -6,7 +6,7 @@
import { LanguageServiceDefaults } from './monaco.contribution'; import { LanguageServiceDefaults } from './monaco.contribution';
import type { TypeScriptWorker } from './tsWorker'; 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 { export class WorkerManager {
private _modeId: string; private _modeId: string;