spaceout/front_end/node_modules/@webpack-cli/info/lib/index.js
2020-12-12 10:25:30 -05:00

61 lines
2.1 KiB
JavaScript

"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"));
const webpack_cli_1 = __importDefault(require("webpack-cli"));
const webpack_cli_2 = require("webpack-cli");
const { logger, commands } = webpack_cli_2.utils;
const DEFAULT_DETAILS = {
Binaries: ['Node', 'Yarn', 'npm'],
Browsers: [
'Brave Browser',
'Chrome',
'Chrome Canary',
'Edge',
'Firefox',
'Firefox Developer Edition',
'Firefox Nightly',
'Internet Explorer',
'Safari',
'Safari Technology Preview',
],
System: ['OS', 'CPU', 'Memory'],
npmGlobalPackages: ['webpack', 'webpack-cli'],
npmPackages: '*webpack*',
};
async function info(...args) {
const cli = new webpack_cli_1.default();
const { flags: infoFlags } = commands.find((cmd) => cmd.name === 'info');
const parsedArgs = cli.argParser(infoFlags, args, true);
const infoArgs = parsedArgs.opts;
const envinfoConfig = {};
if (parsedArgs.unknownArgs.length > 0) {
logger.error(`Unknown argument: ${parsedArgs.unknownArgs}`);
process.exit(2);
}
if (infoArgs.output) {
// Remove quotes if exist
const output = infoArgs.output.replace(/['"]+/g, '');
switch (output) {
case 'markdown':
envinfoConfig['markdown'] = true;
break;
case 'json':
envinfoConfig['json'] = true;
break;
default:
logger.error(`'${infoArgs.output}' is not a valid value for output`);
process.exit(2);
}
}
let output = await envinfo_1.default.run(DEFAULT_DETAILS, envinfoConfig);
output = output.replace(/npmPackages/g, 'Packages');
output = output.replace(/npmGlobalPackages/g, 'Global Packages');
const finalOutput = output;
logger.raw(finalOutput);
return finalOutput;
}
exports.default = info;