PHP WebShell

Текущая директория: /usr/lib/node_modules/bitgo/node_modules/metro/src/shared/output/RamBundle

Просмотр файла: as-assets.js

"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true,
});
exports.default = saveAsAssets;
var _relativizeSourceMap = _interopRequireDefault(
  require("../../../lib/relativizeSourceMap"),
);
var _writeFile = _interopRequireDefault(require("../writeFile"));
var _buildSourcemapWithMetadata = _interopRequireDefault(
  require("./buildSourcemapWithMetadata"),
);
var _magicNumber = _interopRequireDefault(require("./magic-number"));
var _util = require("./util");
var _writeSourcemap = _interopRequireDefault(require("./write-sourcemap"));
var _fs = require("fs");
var _path = _interopRequireDefault(require("path"));
function _interopRequireDefault(e) {
  return e && e.__esModule ? e : { default: e };
}
const MAGIC_RAM_BUNDLE_FILENAME = "UNBUNDLE";
const MODULES_DIR = "js-modules";
function saveAsAssets(bundle, options, log) {
  const {
    bundleOutput,
    bundleEncoding: encoding,
    sourcemapOutput,
    sourcemapSourcesRoot,
  } = options;
  log("start");
  const { startupModules, lazyModules } = bundle;
  log("finish");
  const startupCode = (0, _util.joinModules)(startupModules);
  log("Writing bundle output to:", bundleOutput);
  const modulesDir = _path.default.join(
    _path.default.dirname(bundleOutput),
    MODULES_DIR,
  );
  const writeUnbundle = createDir(modulesDir).then(() =>
    Promise.all([
      writeModules(lazyModules, modulesDir, encoding),
      (0, _writeFile.default)(bundleOutput, startupCode, encoding),
      writeMagicFlagFile(modulesDir),
    ]),
  );
  writeUnbundle.then(() => log("Done writing unbundle output"));
  if (sourcemapOutput) {
    const sourceMap = (0, _buildSourcemapWithMetadata.default)({
      fixWrapperOffset: true,
      lazyModules: lazyModules.concat(),
      moduleGroups: null,
      startupModules: startupModules.concat(),
    });
    if (sourcemapSourcesRoot != null) {
      (0, _relativizeSourceMap.default)(sourceMap, sourcemapSourcesRoot);
    }
    const wroteSourceMap = (0, _writeSourcemap.default)(
      sourcemapOutput,
      JSON.stringify(sourceMap),
      log,
    );
    return Promise.all([writeUnbundle, wroteSourceMap]);
  } else {
    return writeUnbundle;
  }
}
function createDir(dirName) {
  return _fs.promises.mkdir(dirName, {
    recursive: true,
  });
}
function writeModuleFile(module, modulesDir, encoding) {
  const { code, id } = module;
  return (0, _writeFile.default)(
    _path.default.join(modulesDir, id + ".js"),
    code,
    encoding,
  );
}
function writeModules(modules, modulesDir, encoding) {
  const writeFiles = modules.map((module) =>
    writeModuleFile(module, modulesDir, encoding),
  );
  return Promise.all(writeFiles);
}
function writeMagicFlagFile(outputDir) {
  const buffer = Buffer.alloc(4);
  buffer.writeUInt32LE(_magicNumber.default, 0);
  return (0, _writeFile.default)(
    _path.default.join(outputDir, MAGIC_RAM_BUNDLE_FILENAME),
    buffer,
  );
}

Выполнить команду


Для локальной разработки. Не используйте в интернете!