diff --git a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json index 93f61b4302..5ed1c5ece3 100644 --- a/packages/babel-compiler/.npm/package/npm-shrinkwrap.json +++ b/packages/babel-compiler/.npm/package/npm-shrinkwrap.json @@ -3,6 +3,8 @@ "dependencies": { "@meteorjs/babel": { "version": "7.19.0-beta.1", + "resolved": "https://registry.npmjs.org/@meteorjs/babel/-/babel-7.19.0-beta.1.tgz", + "integrity": "sha512-4dy7oSXEo6Eb2PHfPkMX0VVnkQJ9Kb6Qv6/ssiXOqQRtTRpBAgeWeMzUd42u/8VzxG6l8NoNqIhPSOHZjC2usg==", "dependencies": { "@ampproject/remapping": { "version": "2.1.1", diff --git a/tools/runners/run-hmr.js b/tools/runners/run-hmr.js index a7625dbabd..c375d62f99 100644 --- a/tools/runners/run-hmr.js +++ b/tools/runners/run-hmr.js @@ -184,7 +184,7 @@ export class HMRServer { } } - compare({ name, arch, hmrAvailable, files, cacheKey }, getFileOutput) { + async compare({ name, arch, hmrAvailable, files, cacheKey }, getFileOutput) { if (this.firstBuild = null) { this.firstBuild = Date.now(); } @@ -248,20 +248,36 @@ export class HMRServer { onlyReplaceableChanges && removedFilePaths.length === 0; - function saveFileDetails(file) { + async function saveFileDetails(file) { + + const content = await getFileOutput(file); return { - content: getFileOutput(file).toStringWithSourceMap({}), + content: content.toStringWithSourceMap({}), path: file.absModuleId, meteorInstallOptions: file.meteorInstallOptions }; } + // TODO: try to improve the performance of this + const iterWithFn = async (iter, fn) => { + let arr = []; + for (let i = 0; i < iter.length; i++) { + try { + const d = await fn(iter[i]); + arr.push(d); + } catch (e) { + console.log(e); + } + } + return arr; + } + const result = { fileHashes, unreloadableHashes: unreloadable, reloadable, - addedFiles: reloadable ? addedFiles.map(saveFileDetails) : [], - changedFiles: reloadable ? changedFiles.map(saveFileDetails) : [], + addedFiles: reloadable ? await iterWithFn(addedFiles, saveFileDetails) : [], + changedFiles: reloadable ? await iterWithFn(changedFiles, saveFileDetails) : [], linkedAt: Date.now(), id: this._createId(), name