From ee9ddcc5b8bafd5e5367c56ce9cef66c3d14e47e Mon Sep 17 00:00:00 2001 From: Johannes Date: Wed, 21 Aug 2024 16:29:44 +0200 Subject: [PATCH 1/2] support for `export` "dependency" in amdX, also copy for non-source files --- migrate.mjs | 2 +- src/vs/amdX.ts | 23 +++++++++++++++++++---- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/migrate.mjs b/migrate.mjs index 13ef3a6f641..090396c8fb4 100644 --- a/migrate.mjs +++ b/migrate.mjs @@ -26,7 +26,7 @@ const srcFolder = fileURLToPath(new URL('src', import.meta.url)); const dstFolder = fileURLToPath(new URL('src2', import.meta.url)); const binaryFileExtensions = new Set([ - '.svg', '.ttf', '.png', '.sh', '.html', '.json', '.zsh', '.scpt', '.mp3', '.fish', '.ps1', '.psm1', '.md', '.txt', '.zip', '.pdf', '.qwoff', '.jxs', '.tst', '.wuff', '.less', '.utf16le', '.snap', '.tsx' + '.svg', '.ttf', '.png', '.sh', '.html', '.json', '.zsh', '.scpt', '.mp3', '.fish', '.ps1', '.psm1', '.md', '.txt', '.zip', '.pdf', '.qwoff', '.jxs', '.tst', '.wuff', '.less', '.utf16le', '.snap', '.actual', '.tsx', '.scm' ]); function migrate() { diff --git a/src/vs/amdX.ts b/src/vs/amdX.ts index eebe82fe16c..b55a312bd29 100644 --- a/src/vs/amdX.ts +++ b/src/vs/amdX.ts @@ -88,12 +88,27 @@ class AMDModuleImporter { console.warn(`Did not receive a define call from script ${scriptSrc}`); return undefined; } - // TODO require, exports, module - if (Array.isArray(defineCall.dependencies) && defineCall.dependencies.length > 0) { - throw new Error(`Cannot resolve dependencies for script ${scriptSrc}. The dependencies are: ${defineCall.dependencies.join(', ')}`); + // TODO require, module + const exports = {}; + const dependencyObjs: any[] = []; + const dependencyModules: string[] = []; + + if (Array.isArray(defineCall.dependencies)) { + + for (const mod of defineCall.dependencies) { + if (mod === 'exports') { + dependencyObjs.push(exports); + } else { + dependencyModules.push(mod); + } + } + } + + if (dependencyModules.length > 0) { + throw new Error(`Cannot resolve dependencies for script ${scriptSrc}. The dependencies are: ${dependencyModules.join(', ')}`); } if (typeof defineCall.callback === 'function') { - return defineCall.callback([]); + return defineCall.callback(dependencyObjs) ?? exports; } else { return defineCall.callback; } From 24af1f24eb0be9dd0944cd3e2d70a96dc320d79e Mon Sep 17 00:00:00 2001 From: Johannes Date: Thu, 22 Aug 2024 10:49:34 +0200 Subject: [PATCH 2/2] fix dependencies --- src/vs/amdX.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vs/amdX.ts b/src/vs/amdX.ts index b55a312bd29..a293e7ba25d 100644 --- a/src/vs/amdX.ts +++ b/src/vs/amdX.ts @@ -108,7 +108,7 @@ class AMDModuleImporter { throw new Error(`Cannot resolve dependencies for script ${scriptSrc}. The dependencies are: ${dependencyModules.join(', ')}`); } if (typeof defineCall.callback === 'function') { - return defineCall.callback(dependencyObjs) ?? exports; + return defineCall.callback(...dependencyObjs) ?? exports; } else { return defineCall.callback; }