/** * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * strict-local * @format */ "use strict"; function _toConsumableArray(arr) { return ( _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread() ); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } function _iterableToArray(iter) { if ( Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]" ) return Array.from(iter); } function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; return arr2; } } function _slicedToArray(arr, i) { return ( _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest() ); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for ( var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true ) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function() { var self = this, args = arguments; return new Promise(function(resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } const defaults = require("metro-config/src/defaults/defaults"); const virtualModule = require("./module").virtual; const getPreludeCode = require("../lib/getPreludeCode"); function build(_x) { return _build.apply(this, arguments); } function _build() { _build = _asyncToGenerator(function*(options) { const entryPointPaths = options.entryPointPaths, getPolyfills = options.getPolyfills, graphFn = options.graphFn, optimize = options.optimize, platform = options.platform, postProcessModules = options.postProcessModules, translateDefaultsPath = options.translateDefaultsPath; const graphOnlyModules = /*#__PURE__*/ (function() { var _ref = _asyncToGenerator(function*(m) { return (yield graphFn(m)).modules; }); return function graphOnlyModules(_x2) { return _ref.apply(this, arguments); }; })(); const _ref2 = yield Promise.all([ _asyncToGenerator(function*() { const result = yield graphFn(entryPointPaths); const modules = result.modules, entryModules = result.entryModules; const prModules = postProcessModules( modules, _toConsumableArray(entryPointPaths) ); return { modules: prModules, entryModules }; })(), graphOnlyModules([translateDefaultsPath(defaults.moduleSystem)]), graphOnlyModules( getPolyfills({ platform }).map(translateDefaultsPath) ) ]), _ref3 = _slicedToArray(_ref2, 3), graph = _ref3[0], moduleSystem = _ref3[1], polyfills = _ref3[2]; const entryModules = graph.entryModules; const preludeScript = virtualModule( getPreludeCode({ extraVars: { __FRAMEWORK__: options.framework }, isDev: !optimize }), "/<generated>/prelude.js" ); const prependedScripts = [preludeScript].concat( _toConsumableArray(moduleSystem), _toConsumableArray(polyfills) ); return { entryModules, modules: _toConsumableArray(prependedScripts).concat( _toConsumableArray(graph.modules) ) }; }); return _build.apply(this, arguments); } module.exports = build;