jiuyiUniapp/service/node_modules/@react-native/community-cli-plugin/dist/commands/bundle/buildBundle.js

96 lines
3.1 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true,
});
exports.unstable_buildBundleWithConfig = exports.default = void 0;
var _loadMetroConfig = _interopRequireDefault(
require("../../utils/loadMetroConfig")
);
var _parseKeyValueParamArray = _interopRequireDefault(
require("../../utils/parseKeyValueParamArray")
);
var _saveAssets = _interopRequireDefault(require("./saveAssets"));
var _chalk = _interopRequireDefault(require("chalk"));
var _fs = require("fs");
var _Server = _interopRequireDefault(require("metro/src/Server"));
var _bundle = _interopRequireDefault(require("metro/src/shared/output/bundle"));
var _RamBundle = _interopRequireDefault(
require("metro/src/shared/output/RamBundle")
);
var _path = _interopRequireDefault(require("path"));
function _interopRequireDefault(e) {
return e && e.__esModule ? e : { default: e };
}
async function buildBundle(_argv, ctx, args, bundleImpl = _bundle.default) {
const config = await (0, _loadMetroConfig.default)(ctx, {
maxWorkers: args.maxWorkers,
resetCache: args.resetCache,
config: args.config,
});
return buildBundleWithConfig(args, config, bundleImpl);
}
async function buildBundleWithConfig(
args,
config,
bundleImpl = _bundle.default
) {
const customResolverOptions = (0, _parseKeyValueParamArray.default)(
args.resolverOption ?? []
);
if (config.resolver.platforms.indexOf(args.platform) === -1) {
console.error(
`${_chalk.default.red("error")}: Invalid platform ${
args.platform ? `"${_chalk.default.bold(args.platform)}" ` : ""
}selected.`
);
console.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");
}
process.env.NODE_ENV = args.dev ? "development" : "production";
let sourceMapUrl = args.sourcemapOutput;
if (sourceMapUrl != null && !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,
unstable_transformProfile: args.unstableTransformProfile,
customResolverOptions,
};
const server = new _Server.default(config);
try {
const bundle = await bundleImpl.build(server, requestOpts);
await _fs.promises.mkdir(_path.default.dirname(args.bundleOutput), {
recursive: true,
mode: 0o755,
});
await bundleImpl.save(bundle, args, console.info);
const outputAssets = await server.getAssets({
..._Server.default.DEFAULT_BUNDLE_OPTIONS,
...requestOpts,
bundleType: "todo",
});
return await (0, _saveAssets.default)(
outputAssets,
args.platform,
args.assetsDest,
args.assetCatalogDest
);
} finally {
await server.end();
}
}
const unstable_buildBundleWithConfig = (exports.unstable_buildBundleWithConfig =
buildBundleWithConfig);
var _default = (exports.default = buildBundle);