mirror of
https://github.com/microsoft/monaco-editor.git
synced 2025-12-22 13:55:41 +01:00
Adds backwards compatability for diagnostic chains
This commit is contained in:
parent
7e5cb3e7ac
commit
c8b92c097f
8 changed files with 15576 additions and 8652 deletions
8
package-lock.json
generated
8
package-lock.json
generated
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "monaco-typescript",
|
"name": "monaco-typescript",
|
||||||
"version": "3.6.0",
|
"version": "3.6.2",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
@ -52,9 +52,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"typescript": {
|
"typescript": {
|
||||||
"version": "3.5.1",
|
"version": "3.6.2",
|
||||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.1.tgz",
|
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.2.tgz",
|
||||||
"integrity": "sha512-64HkdiRv1yYZsSe4xC1WVgamNigVYjlssIoaH2HcZF0+ijsk5YK2g0G34w9wJkze8+5ow4STd22AynfO6ZYYLw==",
|
"integrity": "sha512-lmQ4L+J6mnu3xweP8+rOrUwzmN+MRAj7TgtJtDaXE5PMyX2kCrklhg3rvOsOIfNeAWMQWO2F1GPc1kMD2vLAfw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"uglify-js": {
|
"uglify-js": {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "monaco-typescript",
|
"name": "monaco-typescript",
|
||||||
"version": "3.6.0",
|
"version": "3.6.2",
|
||||||
"description": "TypeScript and JavaScript language support for Monaco Editor",
|
"description": "TypeScript and JavaScript language support for Monaco Editor",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"compile-amd": "mcopy ./src/lib/typescriptServices-amd.js ./release/dev/lib/typescriptServices.js && tsc -p ./src/tsconfig.json",
|
"compile-amd": "mcopy ./src/lib/typescriptServices-amd.js ./release/dev/lib/typescriptServices.js && tsc -p ./src/tsconfig.json",
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
"monaco-languages": "^1.7.0",
|
"monaco-languages": "^1.7.0",
|
||||||
"monaco-plugin-helpers": "^1.0.2",
|
"monaco-plugin-helpers": "^1.0.2",
|
||||||
"requirejs": "^2.3.6",
|
"requirejs": "^2.3.6",
|
||||||
"typescript": "^3.5.1",
|
"typescript": "^3.6.2",
|
||||||
"uglify-js": "^3.4.9"
|
"uglify-js": "^3.4.9"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,12 @@ const TYPESCRIPT_LIB_DESTINATION = path.join(__dirname, '../src/lib');
|
||||||
tsServices.replace(/return require\(fileNameToRequire\);/, `// MONACOCHANGE\n return undefined;\n // END MONACOCHANGE`)
|
tsServices.replace(/return require\(fileNameToRequire\);/, `// MONACOCHANGE\n return undefined;\n // END MONACOCHANGE`)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Make sure process.args don't get called in the browser, this
|
||||||
|
// should only happen in TS 2.6.2
|
||||||
|
const beforeProcess = `ts.perfLogger.logInfoEvent("Starting TypeScript v" + ts.versionMajorMinor + " with command line: " + JSON.stringify(process.argv));`
|
||||||
|
const afterProcess = `// MONACOCHANGE\n ts.perfLogger.logInfoEvent("Starting TypeScript v" + ts.versionMajorMinor + " with command line: " + JSON.stringify([]));\n// END MONACOCHANGE`
|
||||||
|
tsServices = tsServices.replace(beforeProcess, afterProcess);
|
||||||
|
|
||||||
var tsServices_amd = tsServices +
|
var tsServices_amd = tsServices +
|
||||||
`
|
`
|
||||||
// MONACOCHANGE
|
// MONACOCHANGE
|
||||||
|
|
@ -64,6 +70,7 @@ export = ts;
|
||||||
// END MONACOCHANGE
|
// END MONACOCHANGE
|
||||||
`;
|
`;
|
||||||
fs.writeFileSync(path.join(TYPESCRIPT_LIB_DESTINATION, 'typescriptServices.d.ts'), dtsServices);
|
fs.writeFileSync(path.join(TYPESCRIPT_LIB_DESTINATION, 'typescriptServices.d.ts'), dtsServices);
|
||||||
|
|
||||||
})();
|
})();
|
||||||
|
|
||||||
function importLibs() {
|
function importLibs() {
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ import Thenable = monaco.Thenable;
|
||||||
import CancellationToken = monaco.CancellationToken;
|
import CancellationToken = monaco.CancellationToken;
|
||||||
import IDisposable = monaco.IDisposable;
|
import IDisposable = monaco.IDisposable;
|
||||||
|
|
||||||
//#region utils copied from typescript to prevent loading the entire typescriptServices ---
|
//#region utils copied and modified from typescript to prevent loading the entire typescriptServices ---
|
||||||
|
|
||||||
enum IndentStyle {
|
enum IndentStyle {
|
||||||
None = 0,
|
None = 0,
|
||||||
|
|
@ -41,8 +41,27 @@ export function flattenDiagnosticMessageText(diag: string | ts.DiagnosticMessage
|
||||||
result += diag.messageText;
|
result += diag.messageText;
|
||||||
indent++;
|
indent++;
|
||||||
if (diag.next) {
|
if (diag.next) {
|
||||||
for (const kid of diag.next) {
|
const diagAny = diag as any
|
||||||
result += flattenDiagnosticMessageText(kid, newLine, indent);
|
// Post 3.6 you can iterate through diags
|
||||||
|
if (typeof diagAny.next[Symbol.iterator] === 'function') {
|
||||||
|
for (const kid of diagAny.next) {
|
||||||
|
result += flattenDiagnosticMessageText(kid, newLine, indent);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// In 3.5 and below you iterate through manually, and don't recurse
|
||||||
|
// this is more or less a direct port of the original function from TS 3.5
|
||||||
|
let diagnosticChain = diagAny.next;
|
||||||
|
while (diagnosticChain) {
|
||||||
|
if (indent) {
|
||||||
|
result += newLine;
|
||||||
|
for (let i = 0; i < indent; i++) {
|
||||||
|
result += " ";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
result += diagnosticChain.messageText;
|
||||||
|
indent++;
|
||||||
|
diagnosticChain = diagnosticChain.next;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1306
src/lib/typescriptServices.d.ts
vendored
1306
src/lib/typescriptServices.d.ts
vendored
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue