Skip to content

Commit 6cc6a49

Browse files
authored
chore: post refactor CLI (#1237)
* chore(cli): moved package under "webpack-cli" folder * chore(webpack-cli): removed inquirer in favour of enquirer (more light)
1 parent 358651e commit 6cc6a49

38 files changed

+13351
-107
lines changed

.gitignore

-3
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,6 @@ lerna-debug.log
3838
# Yeoman file
3939
.yo-rc.json
4040

41-
# Yarn lock file
42-
yarn.lock
43-
4441
# source maps of docs
4542
docs/**/*.map
4643
junit.xml

packages/cli/bin/cli.js

-45
This file was deleted.

packages/cli/package.json

-52
This file was deleted.
File renamed without changes.
File renamed without changes.
File renamed without changes.

packages/webpack-cli/bin/cli.js

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#!/usr/bin/env node
2+
3+
'use strict';
4+
require('v8-compile-cache');
5+
const execa = require('execa');
6+
const importLocal = require('import-local');
7+
const logger = require('../lib/utils/logger');
8+
const parseArgs = require('../lib/utils/parse-args');
9+
10+
// Prefer the local installation of webpack-cli
11+
if (importLocal(__filename)) {
12+
// return;
13+
}
14+
process.title = 'webpack';
15+
16+
const [, , ...rawArgs] = process.argv;
17+
const { cliArgs, nodeArgs } = parseArgs(rawArgs);
18+
const bootstrapPath = require.resolve('../lib/bootstrap');
19+
20+
execa('node', [...nodeArgs, bootstrapPath, ...cliArgs], { stdio: 'inherit' }).catch(e => {
21+
process.exit(e.exitCode);
22+
});
File renamed without changes.

packages/cli/lib/commands/external.js packages/webpack-cli/lib/commands/external.js

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const { prompt } = require('inquirer');
1+
const { prompt } = require('enquirer');
22
const chalk = require('chalk');
33
const logger = require('../utils/logger');
44
const execa = require('execa');
@@ -50,8 +50,7 @@ class ExternalCommand {
5050
type: 'confirm',
5151
name: 'installConfirm',
5252
message: question,
53-
default: 'Y',
54-
choices: ['Yes', 'No', 'Y', 'N', 'y', 'n'],
53+
initial: 'Y'
5554
},
5655
]);
5756
if (installConfirm) {
File renamed without changes.
File renamed without changes.
File renamed without changes.

packages/cli/lib/webpack-cli.js packages/webpack-cli/lib/webpack-cli.js

-1
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,6 @@ class WebpackCLI extends GroupHelper {
8888
return commandArgs(...args);
8989
}
9090

91-
9291
getCoreFlags() {
9392
return core;
9493
}

packages/webpack-cli/package.json

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
{
2+
"name": "webpack-cli",
3+
"version": "4.0.0-beta.3",
4+
"description": "CLI for webpack & friends",
5+
"license": "MIT",
6+
"repository": {
7+
"type": "git",
8+
"url": "https://github.com/webpack/webpack-cli.git"
9+
},
10+
"bin": {
11+
"webpack-cli": "./bin/cli.js"
12+
},
13+
"main": "./lib/webpack-cli.js",
14+
"engines": {
15+
"node": ">=10.13.0"
16+
},
17+
"keywords": [
18+
"webpack",
19+
"cli",
20+
"scaffolding",
21+
"module",
22+
"bundler",
23+
"web"
24+
],
25+
"files": [
26+
"lib",
27+
"bin/cli.js"
28+
],
29+
"dependencies": {
30+
"ansi-escapes": "^4.2.1",
31+
"chalk": "^3.0.0",
32+
"cli-table3": "^0.5.1",
33+
"command-line-args": "^5.1.1",
34+
"command-line-usage": "^6.1.0",
35+
"execa": "^3.2.0",
36+
"import-local": "^3.0.2",
37+
"enquirer": "^2.3.4",
38+
"interpret": "^2.0.0",
39+
"v8-compile-cache": "^2.1.0",
40+
"webpack-log": "^3.0.1",
41+
"webpack-merge": "^4.2.2"
42+
},
43+
"peerDependencies": {
44+
"webpack": "^5.0.0-beta.12"
45+
},
46+
"devDependencies": {
47+
"@webpack-cli/info": "1.0.1-alpha.0"
48+
}
49+
}

test/info/info-help.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
const chalk = require('chalk');
44
const path = require('path');
55
const { run } = require('../utils/test-utils');
6-
const { commands } = require('../../packages/cli/lib/utils/cli-flags');
6+
const { commands } = require('../../packages/webpack-cli/lib/utils/cli-flags');
77

88
const runInfo = args => {
99
return run(path.resolve(__dirname), args, false);

test/node/node.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
const { stat } = require('fs');
33
const { resolve, sep } = require('path');
44
const { run, extractSummary } = require('../utils/test-utils');
5-
const parseArgs = require('../../packages/cli/lib/utils/parse-args');
5+
const parseArgs = require('../../packages/webpack-cli/lib/utils/parse-args');
66

77
describe('node flags', () => {
88
it('parseArgs helper must work correctly', () => {

test/utils/test-utils.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const fs = require('fs');
44
const execa = require('execa');
55
const { sync: spawnSync } = execa;
66
const { Writable } = require('readable-stream');
7-
const WEBPACK_PATH = path.resolve(__dirname, '../../packages/cli/bin/cli.js');
7+
const WEBPACK_PATH = path.resolve(__dirname, '../../packages/webpack-cli/bin/cli.js');
88
const ENABLE_LOG_COMPILATION = process.env.ENABLE_PIPE || false;
99
/**
1010
* Description

0 commit comments

Comments
 (0)