ui
This commit is contained in:
+50
@@ -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
@@ -0,0 +1,4 @@
|
||||
declare class InfoCommand {
|
||||
apply(cli: any): Promise<void>;
|
||||
}
|
||||
export default InfoCommand;
|
||||
+85
@@ -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
@@ -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"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user