123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- "use strict";
- var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
- };
- Object.defineProperty(exports, "__esModule", { value: true });
- const envinfo_1 = __importDefault(require("envinfo"));
- class InfoCommand {
- async apply(cli) {
- await cli.makeCommand({
- name: "info",
- alias: "i",
- description: "Outputs information about your system.",
- usage: "[options]",
- pkg: "@webpack-cli/info",
- }, [
- {
- name: "output",
- alias: "o",
- configs: [
- {
- type: "string",
- },
- ],
- description: "To get the output in a specified format ( accept json or markdown )",
- },
- {
- name: "additional-package",
- alias: "a",
- configs: [{ type: "string" }],
- multiple: true,
- description: "Adds additional packages to the output",
- },
- ], async (options) => {
- let { output } = options;
- const envinfoConfig = {};
- if (output) {
- // Remove quotes if exist
- output = output.replace(/['"]+/g, "");
- switch (output) {
- case "markdown":
- envinfoConfig["markdown"] = true;
- break;
- case "json":
- envinfoConfig["json"] = true;
- break;
- default:
- cli.logger.error(`'${output}' is not a valid value for output`);
- process.exit(2);
- }
- }
- const defaultInformation = {
- Binaries: ["Node", "Yarn", "npm"],
- Browsers: [
- "Brave Browser",
- "Chrome",
- "Chrome Canary",
- "Edge",
- "Firefox",
- "Firefox Developer Edition",
- "Firefox Nightly",
- "Internet Explorer",
- "Safari",
- "Safari Technology Preview",
- ],
- Monorepos: ["Yarn Workspaces", "Lerna"],
- System: ["OS", "CPU", "Memory"],
- npmGlobalPackages: ["webpack", "webpack-cli", "webpack-dev-server"],
- npmPackages: "{*webpack*,*loader*}",
- };
- let defaultPackages = ["webpack", "loader"];
- if (typeof options.additionalPackage !== "undefined") {
- defaultPackages = [...defaultPackages, ...options.additionalPackage];
- }
- defaultInformation.npmPackages = `{${defaultPackages
- .map((item) => `*${item}*`)
- .join(",")}}`;
- let info = await envinfo_1.default.run(defaultInformation, envinfoConfig);
- info = info.replace(/npmPackages/g, "Packages");
- info = info.replace(/npmGlobalPackages/g, "Global Packages");
- cli.logger.raw(info);
- });
- }
- }
- exports.default = InfoCommand;
|