This commit is contained in:
2022-04-07 18:09:31 +05:30
parent 36ea86d8e6
commit 1c779ef816
14095 changed files with 1769361 additions and 47 deletions
+50
View File
@@ -0,0 +1,50 @@
# webpack-cli info
[![NPM Downloads][downloads]][downloads-url]
## Description
This package returns a set of information related to the local environment.
## Installation
```bash
#npm
npm i -D @webpack-cli/info
#yarn
yarn add -D @webpack-cli/info
```
## Usage
```bash
#npx
npx webpack info [options]
#global installation
webpack info [options]
```
### Args / Flags
#### Output format
| Flag | Description | Type |
| ------------------------------------- | --------------------------------------- | ------ |
| `-o, --output < json or markdown >` | To get the output in a specified format | string |
| `-a, --additional-package <value...>` | Adds additional packages to the output | string |
_Not supported for config_
#### Options
| Flag | Description | Type |
| ----------- | ------------------------------------------ | ------- |
| `--help` | Show help | boolean |
| `--version` | Show version number of `@webpack-cli/info` | boolean |
[downloads]: https://img.shields.io/npm/dm/@webpack-cli/info.svg
[downloads-url]: https://www.npmjs.com/package/@webpack-cli/info
+4
View File
@@ -0,0 +1,4 @@
declare class InfoCommand {
apply(cli: any): Promise<void>;
}
export default InfoCommand;
+85
View File
@@ -0,0 +1,85 @@
"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 {
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
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;
+29
View File
@@ -0,0 +1,29 @@
{
"name": "@webpack-cli/info",
"version": "1.4.1",
"description": "Outputs info about system and webpack config",
"main": "lib/index.js",
"types": "lib/index.d.ts",
"license": "MIT",
"publishConfig": {
"access": "public"
},
"repository": {
"type": "git",
"url": "https://github.com/webpack/webpack-cli.git"
},
"homepage": "https://github.com/webpack/webpack-cli/tree/master/packages/info",
"files": [
"lib"
],
"dependencies": {
"envinfo": "^7.7.3"
},
"gitHead": "fb50f766851f500ca12867a2aa9de81fa6e368f9",
"peerDependencies": {
"webpack-cli": "4.x.x"
},
"devDependencies": {
"@types/envinfo": "^7.8.1"
}
}