1 | "use strict";
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.default = void 0;
|
7 |
|
8 | function _Server() {
|
9 | const data = _interopRequireDefault(require("metro/src/Server"));
|
10 |
|
11 | _Server = function () {
|
12 | return data;
|
13 | };
|
14 |
|
15 | return data;
|
16 | }
|
17 |
|
18 | function _bundle() {
|
19 | const data = _interopRequireDefault(require("metro/src/shared/output/bundle"));
|
20 |
|
21 | _bundle = function () {
|
22 | return data;
|
23 | };
|
24 |
|
25 | return data;
|
26 | }
|
27 |
|
28 | function _path() {
|
29 | const data = _interopRequireDefault(require("path"));
|
30 |
|
31 | _path = function () {
|
32 | return data;
|
33 | };
|
34 |
|
35 | return data;
|
36 | }
|
37 |
|
38 | function _chalk() {
|
39 | const data = _interopRequireDefault(require("chalk"));
|
40 |
|
41 | _chalk = function () {
|
42 | return data;
|
43 | };
|
44 |
|
45 | return data;
|
46 | }
|
47 |
|
48 | var _saveAssets = _interopRequireDefault(require("./saveAssets"));
|
49 |
|
50 | var _loadMetroConfig = _interopRequireDefault(require("../../tools/loadMetroConfig"));
|
51 |
|
52 | function _cliTools() {
|
53 | const data = require("@react-native-community/cli-tools");
|
54 |
|
55 | _cliTools = function () {
|
56 | return data;
|
57 | };
|
58 |
|
59 | return data;
|
60 | }
|
61 |
|
62 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
63 |
|
64 | function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
|
65 |
|
66 | function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
67 |
|
68 | async function buildBundle(args, ctx, output = _bundle().default) {
|
69 | const config = await (0, _loadMetroConfig.default)(ctx, {
|
70 | maxWorkers: args.maxWorkers,
|
71 | resetCache: args.resetCache,
|
72 | config: args.config
|
73 | });
|
74 |
|
75 | if (config.resolver.platforms.indexOf(args.platform) === -1) {
|
76 | _cliTools().logger.error(`Invalid platform ${args.platform ? `"${_chalk().default.bold(args.platform)}" ` : ''}selected.`);
|
77 |
|
78 | _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.`);
|
79 |
|
80 | throw new Error('Bundling failed');
|
81 | }
|
82 |
|
83 |
|
84 |
|
85 | process.env.NODE_ENV = args.dev ? 'development' : 'production';
|
86 | let sourceMapUrl = args.sourcemapOutput;
|
87 |
|
88 | if (sourceMapUrl && !args.sourcemapUseAbsolutePath) {
|
89 | sourceMapUrl = _path().default.basename(sourceMapUrl);
|
90 | }
|
91 |
|
92 | const requestOpts = {
|
93 | entryFile: args.entryFile,
|
94 | sourceMapUrl,
|
95 | dev: args.dev,
|
96 | minify: args.minify !== undefined ? args.minify : !args.dev,
|
97 | platform: args.platform
|
98 | };
|
99 | const server = new (_Server().default)(config);
|
100 |
|
101 | try {
|
102 | const bundle = await output.build(server, requestOpts);
|
103 | await output.save(bundle, args, _cliTools().logger.info);
|
104 |
|
105 | const outputAssets = await server.getAssets(_objectSpread({}, _Server().default.DEFAULT_BUNDLE_OPTIONS, requestOpts, {
|
106 | bundleType: 'todo'
|
107 | }));
|
108 |
|
109 | return await (0, _saveAssets.default)(outputAssets, args.platform, args.assetsDest);
|
110 | } finally {
|
111 | server.end();
|
112 | }
|
113 | }
|
114 |
|
115 | var _default = buildBundle;
|
116 | exports.default = _default; |
\ | No newline at end of file |