From c35f1a2c013d9a4626321aa134d1b406e0ff8efa Mon Sep 17 00:00:00 2001 From: Rafael Oleza Date: Tue, 10 Apr 2018 09:23:41 -0700 Subject: [PATCH] Remove .meta files generation from metro Reviewed By: davidaurelio Differential Revision: D7347623 fbshipit-source-id: 29c8b79771566178ea8f720a93bd73df678c7807 --- packages/metro/src/shared/output/bundle.js | 34 ++++++++++------------ 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/packages/metro/src/shared/output/bundle.js b/packages/metro/src/shared/output/bundle.js index 892d62d6..33862e3e 100644 --- a/packages/metro/src/shared/output/bundle.js +++ b/packages/metro/src/shared/output/bundle.js @@ -12,7 +12,6 @@ const Server = require('../../Server'); -const meta = require('./meta'); const relativizeSourceMapInline = require('../../lib/relativizeSourceMap'); const writeFile = require('./writeFile'); @@ -39,7 +38,7 @@ function relativateSerializedMap( return JSON.stringify(sourceMap); } -function saveBundleAndMap( +async function saveBundleAndMap( bundle: {code: string, map: string}, options: OutputOptions, log: (...args: Array) => void, @@ -51,18 +50,13 @@ function saveBundleAndMap( sourcemapSourcesRoot, } = options; - log('Writing bundle output to:', bundleOutput); + const writeFns = []; - const {code} = bundle; - const writeBundle = writeFile(bundleOutput, code, encoding); - const writeMetadata = writeFile( - bundleOutput + '.meta', - meta(code, encoding), - 'binary', - ); - Promise.all([writeBundle, writeMetadata]).then(() => - log('Done writing bundle output'), - ); + writeFns.push(async () => { + log('Writing bundle output to:', bundleOutput); + await writeFile(bundleOutput, bundle.code, encoding); + log('Done writing bundle output'); + }); if (sourcemapOutput) { let {map} = bundle; @@ -72,13 +66,15 @@ function saveBundleAndMap( log('finished relativating'); } - log('Writing sourcemap output to:', sourcemapOutput); - const writeMap = writeFile(sourcemapOutput, map, null); - writeMap.then(() => log('Done writing sourcemap output')); - return Promise.all([writeBundle, writeMetadata, writeMap]); - } else { - return writeBundle; + writeFns.push(async () => { + log('Writing sourcemap output to:', sourcemapOutput); + await writeFile(sourcemapOutput, map, null); + log('Done writing sourcemap output'); + }); } + + // Wait until everything is written to disk. + await Promise.all(writeFns.map(cb => cb())); } exports.build = buildBundle;