PHP WebShell

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

Просмотр файла: dependencies.js

"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true,
});
exports.default = void 0;
var _cliUtils = require("../cli-utils");
var _Server = _interopRequireDefault(require("../Server"));
var _fs = _interopRequireDefault(require("fs"));
var _metroConfig = require("metro-config");
var _path = _interopRequireDefault(require("path"));
var _util = require("util");
function _interopRequireDefault(e) {
  return e && e.__esModule ? e : { default: e };
}
async function dependencies(args, config) {
  const rootModuleAbsolutePath = args.entryFile;
  if (!_fs.default.existsSync(rootModuleAbsolutePath)) {
    return Promise.reject(
      new Error(`File ${rootModuleAbsolutePath} does not exist`),
    );
  }
  config.cacheStores = [];
  const relativePath = _path.default.relative(
    config.server.unstable_serverRoot ?? config.projectRoot,
    rootModuleAbsolutePath,
  );
  const options = {
    platform: args.platform,
    entryFile: relativePath,
    dev: args.dev,
    minify: false,
    generateSourceMaps: !args.dev,
  };
  const outStream =
    args.output != null
      ? _fs.default.createWriteStream(args.output)
      : process.stdout;
  const server = new _Server.default(config);
  try {
    const deps = await server.getOrderedDependencyPaths(options);
    deps.forEach((modulePath) => {
      const isInsideProjectRoots =
        config.watchFolders.filter((root) => modulePath.startsWith(root))
          .length > 0;
      if (isInsideProjectRoots) {
        outStream.write(modulePath + "\n");
      }
    });
  } finally {
    await server.end();
  }
  return args.output != null
    ? (0, _util.promisify)(outStream.end).bind(outStream)()
    : Promise.resolve();
}
var _default = () => ({
  command: "get-dependencies [entryFile]",
  desc: "List all dependencies that will be bundled for a given entry point",
  builder: (yargs) => {
    yargs.option("entry-file", {
      type: "string",
      demandOption: true,
      describe: "Absolute path to the root JS file",
    });
    yargs.option("output", {
      type: "string",
      describe:
        "File name where to store the output, ex. /tmp/dependencies.txt",
    });
    yargs.option("platform", {
      type: "string",
      describe: "The platform extension used for selecting modules",
    });
    yargs.option("transformer", {
      type: "string",
      describe: "Specify a custom transformer to be used",
    });
    yargs.option("max-workers", {
      type: "number",
      describe:
        "Specifies the maximum number of workers the worker-pool " +
        "will spawn for transforming files. This defaults to the number of the " +
        "cores available on your machine.",
    });
    yargs.option("dev", {
      type: "boolean",
      default: true,
      describe: "If false, skip all dev-only code path",
    });
    yargs.option("verbose", {
      type: "boolean",
      default: false,
      description: "Enables logging",
    });
  },
  handler: (0, _cliUtils.makeAsyncCommand)(async (argv) => {
    const config = await (0, _metroConfig.loadConfig)(argv);
    await dependencies(argv, config);
  }),
});
exports.default = _default;

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


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