Revert "Simplify external .d.ts"
This reverts commit 65b10df98f
.
See https://www.typescriptlang.org/docs/handbook/modules.html#export--and-import--require
This commit is contained in:
parent
258f678323
commit
3860b772e4
|
@ -198,17 +198,46 @@ const compileEditorESMTask = task.define('compile-editor-esm', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
function toExternalDTS(contents) {
|
function toExternalDTS(contents) {
|
||||||
|
let lines = contents.split(/\r\n|\r|\n/);
|
||||||
|
let killNextCloseCurlyBrace = false;
|
||||||
|
for (let i = 0; i < lines.length; i++) {
|
||||||
|
let line = lines[i];
|
||||||
|
|
||||||
contents = contents.replace(
|
if (killNextCloseCurlyBrace) {
|
||||||
'declare let MonacoEnvironment: monaco.Environment | undefined;',
|
if ('}' === line) {
|
||||||
|
lines[i] = '';
|
||||||
|
killNextCloseCurlyBrace = false;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
'export = monaco;\n'+
|
if (line.indexOf(' ') === 0) {
|
||||||
'declare global {\n' +
|
lines[i] = line.substr(4);
|
||||||
'\tlet MonacoEnvironment: monaco.Environment | undefined;\n' +
|
} else if (line.charAt(0) === '\t') {
|
||||||
'}\n'
|
lines[i] = line.substr(1);
|
||||||
);
|
}
|
||||||
|
|
||||||
return contents.split(/\r\n|\r|\n/).join('\n').replace(/\n\n\n+/g, '\n\n');
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ('declare namespace monaco {' === line) {
|
||||||
|
lines[i] = '';
|
||||||
|
killNextCloseCurlyBrace = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (line.indexOf('declare namespace monaco.') === 0) {
|
||||||
|
lines[i] = line.replace('declare namespace monaco.', 'export namespace ');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (line.indexOf('declare let MonacoEnvironment') === 0) {
|
||||||
|
lines[i] = `declare global {\n let MonacoEnvironment: Environment | undefined;\n}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (line.indexOf('\tMonacoEnvironment?') === 0) {
|
||||||
|
lines[i] = ` MonacoEnvironment?: Environment | undefined;`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return lines.join('\n').replace(/\n\n\n+/g, '\n\n');
|
||||||
}
|
}
|
||||||
|
|
||||||
function filterStream(testFunc) {
|
function filterStream(testFunc) {
|
||||||
|
|
Loading…
Reference in a new issue