Henning Dieterichs 2025-09-09 17:34:40 +02:00
parent f17ccd3d70
commit a23c7a3aed
No known key found for this signature in database
GPG key ID: 771381EFFDB9EC06

View file

@ -231,7 +231,7 @@ function releaseDTS() {
let contents = monacodts.contents.toString(); let contents = monacodts.contents.toString();
const additionalDtsFiles: Record<string, string> = { const additionalDtsFiles: Record<string, string> = {
'out/languages/tsc/common/workers.d.ts': 'editor' 'out/languages/tsc/common/workers.d.ts': 'monaco.editor'
}; };
Object.entries(additionalDtsFiles).forEach(([filePath, namespace]) => { Object.entries(additionalDtsFiles).forEach(([filePath, namespace]) => {
try { try {
@ -240,6 +240,7 @@ function releaseDTS() {
// Remove imports // Remove imports
dtsContent = dtsContent.replace(/import .*\n/gm, ''); dtsContent = dtsContent.replace(/import .*\n/gm, '');
dtsContent = dtsContent.replace(/export declare function/gm, 'export function');
// Wrap in namespace if specified // Wrap in namespace if specified
if (namespace) { if (namespace) {
@ -292,12 +293,13 @@ function releaseDTS() {
/** /**
* Transforms a .d.ts which uses internal modules (namespaces) to one which is usable with external modules * Transforms a .d.ts which uses internal modules (namespaces) to one which is usable with external modules
* This function is duplicated in the `vscode` repo. * This function is duplicated in the `vscode` repo.
* @param {string} contents
*/ */
function toExternalDTS(contents: string): string { function toExternalDTS(contents) {
let lines = contents.split(/\r\n|\r|\n/); const lines = contents.split(/\r\n|\r|\n/);
let killNextCloseCurlyBrace = false; let killNextCloseCurlyBrace = false;
for (let i = 0; i < lines.length; i++) { for (let i = 0; i < lines.length; i++) {
let line = lines[i]; const line = lines[i];
if (killNextCloseCurlyBrace) { if (killNextCloseCurlyBrace) {
if ('}' === line) { if ('}' === line) {
@ -325,20 +327,8 @@ function toExternalDTS(contents: string): string {
lines[i] = line.replace('declare namespace monaco.', 'export namespace '); lines[i] = line.replace('declare namespace monaco.', 'export namespace ');
} }
if (line.indexOf('declare let MonacoEnvironment') === 0) { if (line.indexOf('declare var MonacoEnvironment') === 0) {
lines[i] = [ lines[i] = `declare global {\n var MonacoEnvironment: Environment | undefined;\n}`;
'declare global {',
' let MonacoEnvironment: Environment | undefined;',
'',
' interface Window {',
' MonacoEnvironment?: Environment | undefined;',
' }',
'}',
''
].join('\n');
}
if (line.indexOf(' MonacoEnvironment?') === 0) {
lines[i] = ` MonacoEnvironment?: Environment | undefined;`;
} }
} }
return lines.join('\n').replace(/\n\n\n+/g, '\n\n'); return lines.join('\n').replace(/\n\n\n+/g, '\n\n');