124 lines
3.3 KiB
JavaScript
124 lines
3.3 KiB
JavaScript
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.default = void 0;
|
|
|
|
function _Server() {
|
|
const data = _interopRequireDefault(require("metro/src/Server"));
|
|
|
|
_Server = function () {
|
|
return data;
|
|
};
|
|
|
|
return data;
|
|
}
|
|
|
|
function _bundle() {
|
|
const data = _interopRequireDefault(require("metro/src/shared/output/bundle"));
|
|
|
|
_bundle = function () {
|
|
return data;
|
|
};
|
|
|
|
return data;
|
|
}
|
|
|
|
function _path() {
|
|
const data = _interopRequireDefault(require("path"));
|
|
|
|
_path = function () {
|
|
return data;
|
|
};
|
|
|
|
return data;
|
|
}
|
|
|
|
function _chalk() {
|
|
const data = _interopRequireDefault(require("chalk"));
|
|
|
|
_chalk = function () {
|
|
return data;
|
|
};
|
|
|
|
return data;
|
|
}
|
|
|
|
var _saveAssets = _interopRequireDefault(require("./saveAssets"));
|
|
|
|
var _loadMetroConfig = _interopRequireDefault(require("../../tools/loadMetroConfig"));
|
|
|
|
function _cliTools() {
|
|
const data = require("@react-native-community/cli-tools");
|
|
|
|
_cliTools = function () {
|
|
return data;
|
|
};
|
|
|
|
return data;
|
|
}
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
/**
|
|
* 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.
|
|
*
|
|
*/
|
|
// @ts-ignore - no typed definition for the package
|
|
// @ts-ignore - no typed definition for the package
|
|
async function buildBundle(args, ctx, output = _bundle().default) {
|
|
const config = await (0, _loadMetroConfig.default)(ctx, {
|
|
maxWorkers: args.maxWorkers,
|
|
resetCache: args.resetCache,
|
|
config: args.config
|
|
});
|
|
|
|
if (config.resolver.platforms.indexOf(args.platform) === -1) {
|
|
_cliTools().logger.error(`Invalid platform ${args.platform ? `"${_chalk().default.bold(args.platform)}" ` : ''}selected.`);
|
|
|
|
_cliTools().logger.info(`Available platforms are: ${config.resolver.platforms.map(x => `"${_chalk().default.bold(x)}"`).join(', ')}. If you are trying to bundle for an out-of-tree platform, it may not be installed.`);
|
|
|
|
throw new Error('Bundling failed');
|
|
} // This is used by a bazillion of npm modules we don't control so we don't
|
|
// have other choice than defining it as an env variable here.
|
|
|
|
|
|
process.env.NODE_ENV = args.dev ? 'development' : 'production';
|
|
let sourceMapUrl = args.sourcemapOutput;
|
|
|
|
if (sourceMapUrl && !args.sourcemapUseAbsolutePath) {
|
|
sourceMapUrl = _path().default.basename(sourceMapUrl);
|
|
}
|
|
|
|
const requestOpts = {
|
|
entryFile: args.entryFile,
|
|
sourceMapUrl,
|
|
dev: args.dev,
|
|
minify: args.minify !== undefined ? args.minify : !args.dev,
|
|
platform: args.platform
|
|
};
|
|
const server = new (_Server().default)(config);
|
|
|
|
try {
|
|
const bundle = await output.build(server, requestOpts);
|
|
await output.save(bundle, args, _cliTools().logger.info); // Save the assets of the bundle
|
|
|
|
const outputAssets = await server.getAssets({ ..._Server().default.DEFAULT_BUNDLE_OPTIONS,
|
|
...requestOpts,
|
|
bundleType: 'todo'
|
|
}); // When we're done saving bundle output and the assets, we're done.
|
|
|
|
return await (0, _saveAssets.default)(outputAssets, args.platform, args.assetsDest);
|
|
} finally {
|
|
server.end();
|
|
}
|
|
}
|
|
|
|
var _default = buildBundle;
|
|
exports.default = _default;
|
|
|
|
//# sourceMappingURL=buildBundle.js.map
|