PHP WebShell

Текущая директория: /opt/BitGoJS/node_modules/@lerna/publish

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

"use strict";

const log = require("npmlog");
const versionCommand = require("@lerna/version/command");

/**
 * @see https://github.com/yargs/yargs/blob/master/docs/advanced.md#providing-a-command-module
 */
exports.command = "publish [bump]";

exports.describe = "Publish packages in the current project.";

exports.builder = (yargs) => {
  const opts = {
    c: {
      describe: "Publish packages after every successful merge using the sha as part of the tag.",
      alias: "canary",
      type: "boolean",
    },
    // preid is copied from ../version/command because a whitelist for one option isn't worth it
    preid: {
      describe: "Specify the prerelease identifier when publishing a prerelease",
      type: "string",
      requiresArg: true,
      defaultDescription: "alpha",
    },
    contents: {
      describe: "Subdirectory to publish. Must apply to ALL packages.",
      type: "string",
      requiresArg: true,
      defaultDescription: ".",
    },
    "dist-tag": {
      describe: "Publish packages with the specified npm dist-tag",
      type: "string",
      requiresArg: true,
    },
    "legacy-auth": {
      describe: "Legacy Base64 Encoded username and password.",
      type: "string",
    },
    "pre-dist-tag": {
      describe: "Publish prerelease packages with the specified npm dist-tag",
      type: "string",
      requiresArg: true,
    },
    "git-head": {
      describe:
        "Explicit SHA to set as gitHead when packing tarballs, only allowed with 'from-package' positional.",
      type: "string",
      requiresArg: true,
    },
    "graph-type": {
      describe: "Type of dependency to use when determining package hierarchy.",
      choices: ["all", "dependencies"],
      defaultDescription: "dependencies",
    },
    "ignore-prepublish": {
      describe: "Disable deprecated 'prepublish' lifecycle script",
      type: "boolean",
    },
    "ignore-scripts": {
      describe: "Disable all lifecycle scripts",
      type: "boolean",
    },
    // TODO: (major) make --no-granular-pathspec the default
    "no-granular-pathspec": {
      describe: "Do not reset changes file-by-file, but globally.",
      type: "boolean",
    },
    "granular-pathspec": {
      // proxy for --no-granular-pathspec
      hidden: true,
      // describe: "Reset changes file-by-file, not globally.",
      type: "boolean",
    },
    otp: {
      describe: "Supply a one-time password for publishing with two-factor authentication.",
      type: "string",
      requiresArg: true,
    },
    registry: {
      describe: "Use the specified registry for all npm client operations.",
      type: "string",
      requiresArg: true,
    },
    "require-scripts": {
      describe: "Execute ./scripts/prepublish.js and ./scripts/postpublish.js, relative to package root.",
      type: "boolean",
    },
    "no-git-reset": {
      describe: "Do not reset changes to working tree after publishing is complete.",
      type: "boolean",
    },
    "git-reset": {
      // proxy for --no-git-reset
      hidden: true,
      type: "boolean",
    },
    "temp-tag": {
      describe: "Create a temporary tag while publishing.",
      type: "boolean",
    },
    "no-verify-access": {
      // proxy for --verify-access
      describe: "Do not verify package read-write access for current npm user.",
      type: "boolean",
    },
    "verify-access": {
      describe: "Verify package read-write access for current npm user.",
      type: "boolean",
    },
  };

  composeVersionOptions(yargs);

  yargs.options(opts);

  // "unhide" duplicate options
  const { hiddenOptions } = yargs.getOptions();
  const sharedKeys = ["preid", "y", "ignore-scripts"];

  for (const sharedKey of sharedKeys) {
    hiddenOptions.splice(
      hiddenOptions.findIndex((k) => k === sharedKey),
      1
    );
  }

  yargs.group(Object.keys(opts).concat(sharedKeys), "Command Options:");

  return yargs
    .option("npm-tag", {
      // TODO: remove in next major release
      hidden: true,
      conflicts: "dist-tag",
      type: "string",
      requiresArg: true,
    })
    .option("verify-registry", {
      // TODO: remove in next major release
      hidden: true,
      type: "boolean",
    })
    .option("skip-npm", {
      // TODO: remove in next major release
      // deprecation notice handled in initialize()
      hidden: true,
      type: "boolean",
    })
    .check((argv) => {
      /* eslint-disable no-param-reassign */
      if (argv.npmTag) {
        argv.distTag = argv.npmTag;
        argv["dist-tag"] = argv.npmTag;
        delete argv.npmTag;
        delete argv["npm-tag"];
        log.warn("deprecated", "--npm-tag has been renamed --dist-tag");
      }
      /* eslint-enable no-param-reassign */

      return argv;
    });
};

exports.handler = function handler(argv) {
  return require(".")(argv);
};

function composeVersionOptions(yargs) {
  versionCommand.addBumpPositional(yargs, ["from-git", "from-package"]);
  versionCommand.builder(yargs, "publish");

  return yargs;
}

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


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