webpack-cli v4 beta feedback and changes

Created on 12 Feb 2020  Β·  45Comments  Β·  Source: webpack/webpack-cli

About v4

With webpack-cli v4 we will support only webpack v5 and possibly v4 but not officially, so if there are any problems we suggest to use v3.* if you still want to keep the best compatibility.

We dropped Node.js 8 from our CI. We support at least Node.js 10.

What's changing

Less arguments

We drastically reduced the number of arguments that we support. This is because we think most of them are not used by anyone (or used inside a configuration file). Run

webpack --help

To check the arguments supported.

If you think that we wrongly removed an argument that you thought it was useful, please leave a comment here and we can discuss its implementation. (add a πŸ‘ if someone already requested an argument you need)

.webpack folder support

The CLI now supports the .webpack folder by default. This feature is still in beta so it would be great if people could start using it. Files that are automatically imported:

  • .webpack/webpack.config.dev
  • .webpack/webpack.config.prod

    • .webpack/webpackfile

    • webpack.config

Changed default output

We wanted to change a bit the output emitted via CLI.

βœ… Compilation Results

🌏 Version: 5.0.0-beta.12
βš’οΈ  Built: Wed Feb 12 2020 09:05:53 GMT+0100 (Central European Standard Time)
⏱  Compile Time: 265ms
πŸ“‚ Output Directory: /Users/***/www/webpack-cli/test/entry/defaults-index/dist
#️⃣ Hash: 0b145a012a5ce8805b14

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Entrypoint β”‚ Bundle                        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ main       β”‚  Bundle Name       β”‚ main.js  β”‚
β”‚            β”‚  Compared For Emit β”‚ true     β”‚
β”‚            β”‚  Bundle size       β”‚ 0.00 kb  β”‚
β”‚            β”‚                               β”‚
β”‚            β”‚ Modules:                      β”‚
β”‚            β”‚ ./index.js [size: 1 bytes]    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Don't worry, you can still go to the old output using the --standard flag.

Arguments --dev and --prod

Now you can pass the mode to the compiler using these two simple arguments.

Help for single arguments

Running the following command

webpack help --dev

Will output

Usage: webpack --dev
Description: Run development build
Documentation: https://webpack.js.org/concepts/#mode

Most helpful comment

Hey ho πŸ‘‹

Removing some of the flags is a good idea πŸ‘

But there are two features I really use a lot that are currently not implemented in v4:

  • Passing --env: I personally don't like to split the configuration into separate files since it becomes very hard to understand what the final configuration is going to be. I respect that some people prefer to split the configuration but I think that the webpack-cli should also support single-file configurations. And for single-file configs, the --env feature is really nice. This has already been requested in https://github.com/webpack/webpack-cli/issues/1216.

  • Using TypeScript in webpack configs: If I try to run webpack with a webpack.config.ts it currently throws an error:

webpack:  TypeError [ERR_INVALID_ARG_TYPE]: The "id" argument must be of type string. Received type undefined
    at validateString (internal/validators.js:112:11)
    at Module.require (internal/modules/cjs/loader.js:841:3)
    at require (internal/modules/cjs/helpers.js:74:18)
    at [...]/node_modules/webpack-cli/lib/groups/ConfigGroup.js:66:39
    at Array.forEach (<anonymous>)
    at ConfigGroup.requireConfig ([...]/node_modules/webpack-cli/lib/groups/ConfigGroup.js:65:33)
    at Array.map (<anonymous>)
    at ConfigGroup.resolveConfigFiles ([...]/node_modules/webpack-cli/lib/groups/ConfigGroup.js:144:44)
    at ConfigGroup.run ([...]/node_modules/webpack-cli/lib/groups/ConfigGroup.js:183:14)
    at WebpackCLI._handleGroupHelper ([...]/node_modules/webpack-cli/lib/webpack-cli.js:212:40) {
  code: 'ERR_INVALID_ARG_TYPE'
}

The configModule in ConfigGroup.prototype.requireConfig looks like this:

{
  path: '[...]/webpack.config.ts',
  ext: '.ts',
  module: [
    'ts-node/register',
    'typescript-node/register',
    'typescript-register',
    'typescript-require',
    { module: '@babel/register', register: [Function: register] }
  ]
}

Is this a bug or are you planning to drop support for TypeScript configs? Using TS in webpack configs is really nice because of Intellisense and type checking.

I'm going to present both features in my upcoming talk next week at the Frontend Developer Love Conference in Amsterdam and I don't want to advertise deprecated features 😁.

All 45 comments

Hello,

I tested beta2 unintentionally with my students very quickly 2 days ago (In fact I didn't notice until they told me that the options I asked them to use were throwing errors, when I realized 4.0.0-beta2 had just been published I told them to downgrade to make my exercise work ! πŸ˜„ )

Not a big deal but even if I understand the point of having clean and concise --dev and --prod options, I think the --mode= option better matches the way it works in configuration file and is more straightforward when you already know configuration file. Just my 2 cents, but I'm not sure a breaking change in this area is really useful ?

Anyway, thanks for the great work here πŸ‘

Hey ho πŸ‘‹

Removing some of the flags is a good idea πŸ‘

But there are two features I really use a lot that are currently not implemented in v4:

  • Passing --env: I personally don't like to split the configuration into separate files since it becomes very hard to understand what the final configuration is going to be. I respect that some people prefer to split the configuration but I think that the webpack-cli should also support single-file configurations. And for single-file configs, the --env feature is really nice. This has already been requested in https://github.com/webpack/webpack-cli/issues/1216.

  • Using TypeScript in webpack configs: If I try to run webpack with a webpack.config.ts it currently throws an error:

webpack:  TypeError [ERR_INVALID_ARG_TYPE]: The "id" argument must be of type string. Received type undefined
    at validateString (internal/validators.js:112:11)
    at Module.require (internal/modules/cjs/loader.js:841:3)
    at require (internal/modules/cjs/helpers.js:74:18)
    at [...]/node_modules/webpack-cli/lib/groups/ConfigGroup.js:66:39
    at Array.forEach (<anonymous>)
    at ConfigGroup.requireConfig ([...]/node_modules/webpack-cli/lib/groups/ConfigGroup.js:65:33)
    at Array.map (<anonymous>)
    at ConfigGroup.resolveConfigFiles ([...]/node_modules/webpack-cli/lib/groups/ConfigGroup.js:144:44)
    at ConfigGroup.run ([...]/node_modules/webpack-cli/lib/groups/ConfigGroup.js:183:14)
    at WebpackCLI._handleGroupHelper ([...]/node_modules/webpack-cli/lib/webpack-cli.js:212:40) {
  code: 'ERR_INVALID_ARG_TYPE'
}

The configModule in ConfigGroup.prototype.requireConfig looks like this:

{
  path: '[...]/webpack.config.ts',
  ext: '.ts',
  module: [
    'ts-node/register',
    'typescript-node/register',
    'typescript-register',
    'typescript-require',
    { module: '@babel/register', register: [Function: register] }
  ]
}

Is this a bug or are you planning to drop support for TypeScript configs? Using TS in webpack configs is really nice because of Intellisense and type checking.

I'm going to present both features in my upcoming talk next week at the Frontend Developer Love Conference in Amsterdam and I don't want to advertise deprecated features 😁.

Hi,

Following @jhnns message, using a file webpack.config.babel.js also leads to an error after switching from webpack 3 to the 4.0.0-beta.3:
Error: Cannot find module 'babel-register'

Are support for babel and typescript been made opt-in using peer-dependencies?
It seems that switching to .mjs works, but it would be great to know what we can/can't do with the new beta.
Thanks in advance.

Seamless support for typescript and babel is not deprecated, it was a bug. We're working on restoring these features :)

@ematipico 4.0.0-beta.7 doesn't work well due to Error: Cannot find module '@webpack-cli/logger'. The published @webpack-cli/[email protected] package seems to contain no lib directory as follows:

$ pwd
/Users/XXXX/test/node_modules/@webpack-cli/logger
$ ls
CHANGELOG.md LICENSE      README.md    package.json

Thank you @exKAZUu , I will check this out

@exKAZUu the latest beta should work now!

Confirmed. Thanks!

I second @jhnns comment on the --env parameter. It's pretty handy for single file configs and should be kept in my opinion.

4.0.0-beta.8 does not fails when errors occur in loaders.

For example:
ts-loader raise a error when compiling wrong typescript code, however webpack returns exit code 0.

@mstssk Can you open a new issue with reproducible test repo?

@evilebottnawi Thank you. I wrote https://github.com/webpack/webpack-cli/issues/1581

I am trying to write my webpack.config.js as a function, e.g.,

module.exports = function(env, argv) {
...

but the v4 beta doesn't seem to recognize it. Does this syntax no longer work?

i was wanting to read env vars in my webpack config file, is there some other way to get access to env vars in the config?

also, i'm enjoying the new features. the webpack serve is working great, and the --prod flag if helpful. thanks.

/cc @webpack/cli-team Need to add test with config like a function

/cc @webpack/cli-team Need to add test with config like a function

On it :100:

@evilebottnawi we should add the env flag, comes in handy in case of single config which performs differently as per the env.

+1 for --env

Go ahead

WIP

There is a warning when webpack-cli v4 is used with webpack v5:

  "devDependencies": {
    "webpack": "5.0.0-beta.22",
    "webpack-cli": "4.0.0-beta.8"
  }

➀ YN0000: β”Œ Resolution step
➀ YN0002: β”‚ @webpack-cli/package-utils@npm:1.0.1-alpha.4 doesn't provide webpack@^4.41.6 requested by @webpack-cli/logger@npm:1.0.1-alpha.4
➀ YN0060: β”‚ webpack-cli@npm:4.0.0-beta.8 [1d845] provides webpack@npm:5.0.0-beta.22 with version 5.0.0-beta.22 which doesn't satisfy ^4.41.6 requested by @webpack-cli/logger@npm:1.0.1-alpha.4
➀ YN0000: β”” Completed

It is expected, after stable release no warnings

"webpack": "^4.43.0",
"webpack-cli": "^4.0.0-beta.8"

dir

β”œβ”€β”€ src
β”‚Β Β  β”œβ”€β”€ app.js
β”‚Β Β  β”œβ”€β”€ index.js
β”‚Β Β  └── print.js
└── webpack.config.js

webpack.config

const path = require('path');

module.exports = {
  mode: 'development',
  entry: {
    app: './src/app.js',
    print: './src/print.js'
  },
  output: {
    filename: '[name].bundle.js',
    path: path.resolve(__dirname, 'dist')
  }
};

whie I run webpack output file is main.bundle.js but I want app.bundle.js print.bundle.js

➜  day1 git:(OutputManagement) βœ— npm run build

> [email protected] build /Users/toge/Desktop/S/webpackDemo/day1
> webpack


βœ… Compilation Results

🌏 Version: 4.44.0
βš’οΈ  Built: Wed Jul 29 2020 17:29:33 GMT+0800 (中国标准既间)
⏱  Compile Time: 62ms
πŸ“‚ Output Directory: /Users/toge/Desktop/S/webpackDemo/day1/dist
#️⃣ Hash: 6d591a19d872d97f1e02

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Entrypoint β”‚ Bundle                               β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚            β”‚  Bundle Name       β”‚ main.bundle.js  β”‚
β”‚            β”‚  Compared For Emit β”‚                 β”‚
β”‚            β”‚  Bundle size       β”‚ 3.88 kb         β”‚
β”‚            β”‚                                      β”‚
β”‚            β”‚ Modules:                             β”‚
β”‚            β”‚ ./src/index.js [size: 24 bytes]      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

when I del the index.js, It's OK

β”œβ”€β”€ src
β”‚Β Β  β”œβ”€β”€ app.js
β”‚Β Β  └── print.js
└── webpack.config.js
➜  day1 git:(OutputManagement) βœ— npm run build

> [email protected] build /Users/toge/Desktop/S/webpackDemo/day1
> webpack


βœ… Compilation Results

🌏 Version: 4.44.0
βš’οΈ  Built: Wed Jul 29 2020 17:35:59 GMT+0800 (中国标准既间)
⏱  Compile Time: 75ms
πŸ“‚ Output Directory: /Users/toge/Desktop/S/webpackDemo/day1/dist
#️⃣ Hash: 585ff9566fdc2fba6ea4

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Entrypoint β”‚ Bundle                                β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚            β”‚  Bundle Name       β”‚ app.bundle.js    β”‚
β”‚            β”‚  Compared For Emit β”‚                  β”‚
β”‚            β”‚  Bundle size       β”‚ 4.97 kb          β”‚
β”‚            β”‚                                       β”‚
β”‚            β”‚ Modules:                              β”‚
β”‚            β”‚ ./src/app.js [size: 356 bytes]        β”‚
β”‚            β”‚ ./src/print.js [size: 84 bytes]       β”‚
β”‚            β”‚  Bundle Name       β”‚ print.bundle.js  β”‚
β”‚            β”‚  Compared For Emit β”‚                  β”‚
β”‚            β”‚  Bundle size       β”‚ 4.15 kb          β”‚
β”‚            β”‚                                       β”‚
β”‚            β”‚ Modules:                              β”‚
β”‚            β”‚ ./src/print.js [size: 84 bytes]       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Hi @Toge66 thanks for your feedback!

To me it looks like a bug in the beta release but it doesn't seem to happen now in the latest branch so I've added a test for your case in https://github.com/webpack/webpack-cli/pull/1718.

Maybe @evilebottnawi we should tag a new release since it's been quite long since the last version was tagged and a lot of work as gone in.

@anshumanv Yes, we need to do the new release, I think we can do it at the new week

webpack serve does not work with yarn@2.
It keeps prompting to install @webpack-cli/serve. After adding some logging I found that packageExists from @webpack-cli/package-utils throws this:

Error: A package is trying to access another package without the second one being listed as a dependency of the first one

Required package: @webpack-cli/serve (via "@webpack-cli/serve")
Required by: @webpack-cli/package-utils@npm:1.0.1-alpha.4

@Demivan we have PR on this

Hi! I get a problem when using [email protected] in Github Action.

It seems that this is not a tty

https://github.com/axetroy/anti-redirect/pull/271/checks?check_run_id=952326284

yarn run v1.22.4
$ cross-env NODE_ENV=production webpack --progress

[webpack-cli] Promise rejection: TypeError: process.stdout.clearLine is not a function
[webpack-cli] TypeError: process.stdout.clearLine is not a function
    at defaultProgressPluginHandler (/home/runner/work/anti-redirect/anti-redirect/node_modules/webpack-cli/lib/utils/Compiler.js:23:36)
    at Object.call (/home/runner/work/anti-redirect/anti-redirect/node_modules/webpack/lib/ProgressPlugin.js:491:6)
    at Hook.eval [as callAsync] (eval at create (/home/runner/work/anti-redirect/anti-redirect/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:6:18)
    at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (/home/runner/work/anti-redirect/anti-redirect/node_modules/tapable/lib/Hook.js:18:14)
    at /home/runner/work/anti-redirect/anti-redirect/node_modules/webpack/lib/Compiler.js:444:20
    at Hook.eval (eval at create (/home/runner/work/anti-redirect/anti-redirect/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:22:1)
    at Hook.CALL_ASYNC_DELEGATE (/home/runner/work/anti-redirect/anti-redirect/node_modules/tapable/lib/Hook.js:18:14)
    at run (/home/runner/work/anti-redirect/anti-redirect/node_modules/webpack/lib/Compiler.js:441:25)
    at Compiler.run (/home/runner/work/anti-redirect/anti-redirect/node_modules/webpack/lib/Compiler.js:464:4)
    at /home/runner/work/anti-redirect/anti-redirect/node_modules/webpack-cli/lib/utils/Compiler.js:134:33
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

@axetroy This is fixed but not yet released.

@axetroy This is fixed but not yet released.

@snitin315 I found that the latest version was released on March 2.

Can you let me known me about when the new version will be released?

Because I used webpack-cli@v4 in my project. CI is not passed and I cannot release a new version.

It will depend on whether I want to downgrade to webpack-cli@v3.

Thx

/cc @evilebottnawi can you do a release?

Hey,

Few days ago I wanted to try out webpack 5 and newest webpack/cli, most of the migration went well except it seems like I cannot change stats output. I've created simple test project:

// package.json
"dependencies": {
  "webpack": "^5.0.0-beta.24",
  "webpack-cli": "^4.0.0-beta.8"
}

// index.js
class Test {
  constructor() {
    this._load();
  }

  async _load() {
    const { AF } = await import("./async");
    console.log(AF);
  }
}

export { Test };

// async.js
export const AF = {
  async: true,
};

Whenever I build it the stats look like this:

 Compilation Results

 Version: 5.0.0-beta.24
 Built: Fri Aug 07 2020 22:44:13 GMT+0100 (British Summer Time)
 Compile Time: 262ms
 Output Directory: /home/raflus/projects/webpack/dist
 Hash: 948f3455615e28bc9cf0

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Entrypoint β”‚ Bundle                                                          β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ main       β”‚  Bundle Name       β”‚ main.js                                    β”‚
β”‚            β”‚  Compared For Emit β”‚ false                                      β”‚
β”‚            β”‚  Bundle size       β”‚ 2.04 kb                                    β”‚
β”‚            β”‚                                                                 β”‚
β”‚            β”‚ Modules:                                                        β”‚
β”‚            β”‚ ./index.js [size: 161 bytes]                                    β”‚
β”‚            β”‚ webpack/runtime/define property getters [size: 308 bytes]       β”‚
β”‚            β”‚ webpack/runtime/ensure chunk [size: 326 bytes]                  β”‚
β”‚            β”‚ webpack/runtime/get javascript chunk filename [size: 167 bytes] β”‚
β”‚            β”‚ webpack/runtime/hasOwnProperty shorthand [size: 86 bytes]       β”‚
β”‚            β”‚ webpack/runtime/jsonp chunk loading [size: 3012 bytes]          β”‚
β”‚            β”‚ webpack/runtime/load script [size: 1493 bytes]                  β”‚
β”‚            β”‚ webpack/runtime/make namespace object [size: 274 bytes]         β”‚
β”‚            β”‚ webpack/runtime/publicPath [size: 27 bytes]                     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

I really like the new format but I got few issues with it. First, I was unable to clean it up a bit, I've tried to use all sort of options from stats config but the output is always the same. Another thing is it doesn't show that it emited 2 files, it only shows entrypoint.

I am not sure how much work in progress it is so any information would be appreciated.

// example webpack.config.js
module.exports = {
  mode: "production",
  stats: {
    all: undefined,
  },
};

I tried loking in other issues in this repo or webpack but haven't found anything useful on my own.
Apologies if I am posting it in wrong issue or if it was discussed somewhere else.

Thanks!

We will try to do the next release on this week

Any update on a new beta release?

@webpack/cli-team friendly ping, we need to finish PRs

Please, please reconsider having webpack-cli depend directly on @webpack-cli/init (https://github.com/webpack/webpack-cli/pull/1609). The latter is an enormous module with so many dependencies (particularly jscodeshift, which is huge and very outdated). This doesn't affect bundle size, of course, but it does affect install time and npm's ability to dedupe modules. Plus, the init functionality is only useful when initializing a project, and most projects probably don't use it to initialize themselves anyway.

This issue came up back when webpack v4 was in beta. There's nothing wrong with @webpack-cli/init existing, but webpack-cli is currently _required_ to invoke webpack via CLI and it would be really nice to have some way of doing this without bringing in half of the npm registry. All that most people need is to be able to add a simple build script to package.json. webpack-cli v3 did the right thing by including only this minimal core.

In an empty project, npm install webpack-cli@next (4.0.0-rc.0) currently installs 82mb of dependencies (!) whereas npm install webpack-cli@3 only installs 6mb.

@billyjanitsch Are you sure about 82mb? https://arve0.github.io/npm-download-size/#webpack-cli@next

https://arve0.github.io/npm-download-size/#webpack-cli@next

@evilebottnawi that website is only tracking the size of direct dependencies. For example, it shows 12.11 MiB but if you click on @webpack-cli/init @ 1.0.1-rc.0 -- 11.3 MiB (606 deps) it shows 19.44 MiB, and so on, recursively.

Try this:

mkdir foo
cd foo
npm install webpack-cli@next
du -sh node_modules/

You get:

82M    node_modules/

@billyjanitsch can you run npm ls? and put it here?

@evilebottnawi yes, no problem:


Expand

β”œβ”€β”€ UNMET PEER DEPENDENCY [email protected] || 5.x.x └─┬ [email protected] β”œβ”€β”¬ @webpack-cli/[email protected] β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”œβ”€β”€ [email protected] β”‚ └─┬ [email protected] β”‚ β”œβ”€β”€ [email protected] β”‚ └── [email protected] β”œβ”€β”¬ @webpack-cli/[email protected] β”‚ β”œβ”€β”¬ @webpack-cli/[email protected] β”‚ β”‚ β”œβ”€β”€ @webpack-cli/[email protected] deduped β”‚ β”‚ β”œβ”€β”€ @webpack-cli/[email protected] deduped β”‚ β”‚ β”œβ”€β”¬ @webpack-cli/[email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”œβ”€β”€ UNMET PEER DEPENDENCY [email protected] || 5.x.x β”‚ β”‚ β”œβ”€β”€ UNMET PEER DEPENDENCY [email protected] || 5.x.x β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ └── [email protected] extraneous β”‚ β”‚ β”œβ”€β”€ [email protected] extraneous β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”œβ”€β”€ [email protected] extraneous β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] extraneous β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] extraneous β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”œβ”€β”€ [email protected] extraneous β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] extraneous β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] extraneous β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @types/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] extraneous β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] extraneous β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] extraneous β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ @types/[email protected] β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ └── [email protected] extraneous β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] extraneous β”‚ β”‚ β”‚ └── [email protected] extraneous β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] extraneous β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ └── [email protected] deduped β”‚ β”œβ”€β”¬ @webpack-cli/[email protected] β”‚ β”‚ β”œβ”€β”€ @webpack-cli/[email protected] deduped β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ @sindresorhus/[email protected] β”‚ β”‚ β”‚ β”œβ”€β”¬ @szmarczak/[email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ β”œβ”€β”¬ @types/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @types/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ @types/[email protected] β”‚ β”‚ β”‚ β”‚ β”‚ └── @types/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @types/[email protected] β”‚ β”‚ β”‚ β”‚ └─┬ @types/[email protected] β”‚ β”‚ β”‚ β”‚ └── @types/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @types/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] extraneous β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] extraneous β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] extraneous β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] extraneous β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ @mrmlnc/[email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @nodelib/[email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] extraneous β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] extraneous β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] extraneous β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] extraneous β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] extraneous β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] extraneous β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] extraneous β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] extraneous β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] extraneous β”‚ β”‚ β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ └── [email protected] deduped β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └─┬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ └── @babel/[email protected] β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ └─┬ @babel/[email protected] β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] extraneous β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”‚ └─┬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └─┬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ └── [email protected] extraneous β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ └─┬ @babel/[email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ └─┬ @babel/[email protected] β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ └─┬ @babel/[email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”€ @babel/[email protected] deduped β”‚ β”‚ β”‚ └─┬ @babel/[email protected] β”‚ β”‚ β”‚ └── @babel/[email protected] deduped β”‚ β”‚ β”œβ”€β”¬ @babel/[email protected] β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ └── [email protected] extraneous β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”œβ”€β”€ [email protected] extraneous β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”‚ └── [email protected] extraneous β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ └── [email protected] deduped β”‚ β”œβ”€β”€ [email protected] β”‚ β”œβ”€β”€ UNMET PEER DEPENDENCY [email protected] || 5.x.x β”‚ └── UNMET PEER DEPENDENCY [email protected] || 4.x.x β”œβ”€β”¬ @webpack-cli/[email protected] β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ └── [email protected] β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”œβ”€β”€ [email protected] deduped β”‚ └─┬ [email protected] β”‚ └─┬ [email protected] β”‚ β”œβ”€β”€ [email protected] β”‚ β”œβ”€β”€ [email protected] β”‚ └── [email protected] extraneous β”œβ”€β”€ @webpack-cli/[email protected] β”œβ”€β”¬ [email protected] β”‚ └── [email protected] extraneous β”œβ”€β”€ [email protected] β”œβ”€β”¬ [email protected] β”‚ β”œβ”€β”€ [email protected] β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”‚ └── [email protected] β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ └── [email protected] β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”œβ”€β”€ [email protected] β”‚ β”‚ └── [email protected] deduped β”‚ └── [email protected] β”œβ”€β”€ [email protected] β”œβ”€β”¬ [email protected] β”‚ └── [email protected] β”œβ”€β”¬ [email protected] β”‚ β”œβ”€β”€ [email protected] deduped β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ β”‚ └── [email protected] deduped β”‚ β”‚ └─┬ [email protected] β”‚ β”‚ └── [email protected] β”‚ β”œβ”€β”€ [email protected] β”‚ β”œβ”€β”€ [email protected] β”‚ β”œβ”€β”€ [email protected] β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ └── [email protected] deduped β”‚ β”œβ”€β”¬ [email protected] β”‚ β”‚ └── [email protected] β”‚ β”œβ”€β”€ [email protected] β”‚ └── [email protected] β”œβ”€β”¬ [email protected] β”‚ β”œβ”€β”€ [email protected] extraneous β”‚ └─┬ [email protected] β”‚ └── [email protected] β”œβ”€β”€ [email protected] β”œβ”€β”¬ [email protected] β”‚ └─┬ [email protected] β”‚ └── [email protected] β”œβ”€β”€ [email protected] β”œβ”€β”€ UNMET PEER DEPENDENCY [email protected] └─┬ [email protected] └── [email protected]

Can we have the default folder name as webpack instead of .webpack?

Webpack config is an important part of any app that uses it, so we should (IMHO) use a not-dotted folder them so they're not hidden by the OS.

@mustafawm you can use any directory name and use require/import, I want to close this issue, because we done webpack-cli v4 and want to focus on fixing bugs

--dev and --prod are nice, but since --env has been removed what do you suggest for projects that have more than two configurations (for instance, I need --staging)

Hi @dmurvihill, we added env back since it was requested by quite a lot of folks.

You can do --env environment=staging and read it in your config

const { environment } = env

if(environment === "staging") {
  return { ... }
}

--dev and --prod are nice, but since --env has been removed what do you suggest for projects that have more than two configurations (for instance, I need --staging)

my suggestion is not to have staging config at all. the staging config should be prod.
i know that sounds strict but staging should be compiled the same way as prod.
in most of my use cases i've seen, this assumption can work as we can inject the ENV=staging in the runtime of the server (eg. nginx), so that we have ONE SINGLE docker image that holds our service serving those static files, both for prod and for staging. while injecting the env staging to that docker will inject env=staging to the main html, then you can use config to distinguish these envs.
having the same image for both staging/local/prod is a great advantage for consistency and testability

Was this page helpful?
0 / 5 - 0 ratings

Related issues

aleksandrlat picture aleksandrlat  Β·  3Comments

Pomax picture Pomax  Β·  3Comments

sam-s4s picture sam-s4s  Β·  5Comments

logo749 picture logo749  Β·  4Comments

anshumanv picture anshumanv  Β·  3Comments