Repository navigation
Closed
Description
Summary
This is the roadmap to keep progress of webpack-cli v4 which is on the next branch of webpack.
TODO
Stable
- Choose a lead developer ALWAYS TO READ
In order to avoid conflicts and misunderstandings what happened before, together we select a leading developer. This person makes the final decision, when a dispute arises. If a situation arises when the whole team believes that the lead developer is wrong, then one of the developers from @webpack/core-team is involved in the dispute, his/her/it decision is last and not subject to dispute.
- CLI arguments from core feat: cli flags webpack#10515 + tests
- Allow multiple types for arguments, i.e.
webpack --stats(meansstats: true),
webpack --stats=verbose(means:stats: verbose), - Allow negative boolean args, i.e.
webpack --no-stats(means:stats: false) - Allow multiple same arguments, i.e.
webpack --entry=./src/one.js --entry=./src/two.js - To solve the points above, we may need to seach good CLI helper, like
yargs-parserand etc. Update - we decided to go with commander.js - Verify webpack-dev-server + webpack-cli:
- Tests for
webpack serve - Relax dependencies, i.e. webpack-cli should works with webpack-dev-server@3 and webpack-dev-server@next
- Tests for
- Compatibility with webpack@4 + tests (always)
- Write Documentation, need clarify What we should write
- Refactor https://github.com/webpack/webpack-cli/blob/next/packages/webpack-cli/lib/utils/cli-flags.js . We need to determine what arguments we are leaving, what we remove in favor CLI arguments from core, for example
--sourcemapis not good candidate (https://github.com/webpack/webpack-cli/blob/next/packages/webpack-cli/lib/utils/cli-flags.js#L236), because--devtoolused in webpack and most developers are used, butverboseis used in most of CLI tools and will be great to keep it for better DX (it is alias for--stats=verbose), not sure, it can be misleading, need dicussion - 0CJS:
webpack-clishould be shipped withinfoandinitcommands out of box, need discussion aboutservecommand - 0CJS:
webpack-clishould works without the--configoption + tests - Update all dependencies to latest and setup dependabot
- Part of the code in JS, part in TypeScript, let's choose one
- Default
statsvalue should be taken from user configurations, if user doesn't providestatsoptions (or aliases likeverbose/quiet) - Resolve stale PRs (close/rewrite/add to project webpack-cli@5 https://github.com/webpack/webpack-cli/projects/5)
- Resolve stale Issues (close/rewrite/add to project webpack-cli@5 https://github.com/webpack/webpack-cli/projects/5)
- Resolve all
TODOin tests and fix smotetest for windows
Post-beta (non-blocking)
- Try to avoid using unnecessary dependencies, we should try to keep CLI small and fast
- Clean up code
- More Smoketests and improving watch smoketest
- webpack interactive
- Allow other packages register own command and flags for CLI
- Union generate-loader + generate-plugin + webpack-defaults, we need discussion how to better to do it
- Simplify and reduce unnecessary architecture stratification, for example https://github.com/webpack/webpack-cli/blob/next/packages/logger/src/index.ts, we do not need packages consisting of three lines of code, Need to look at all the other packages.
- Increase coverage
- Setup webpack bot for github actions
Feel free to come up with feedback
Reacted by 明夷齋主
Reacted by Anshuman and Nitin Kumar
Reacted by Nitin Kumar
Metadata
Metadata
Assignees
Type
Fields
Priority
None yet
Activity
renatoagds commentedon Dec 28, 2018
@evenstensberg
cli-guiwill be released with next or standalone?ematipico commentedon Dec 28, 2018
The UI package will be released as a standalone package, probably we will release a minor version just to support the cli command
daniele-orlando commentedon Jan 23, 2019
Nice roadmap of solid improvements.
evenstensberg commentedon Nov 6, 2019
Roadmap blocking a beta as per now:
Progress flag needs a rebrushAdding interpretSupporting mjs and pre-processing filesAdding verbose flagsDev-server version bumpevenstensberg commentedon Nov 12, 2019
Removed webpack-config-plugins as it's not fit for webpack v5 yet. Also upgraded our peerDep + dep to webpack v5. After fixing failing tests and those regressions we are go.
TheLarkInn commentedon Nov 21, 2019
Let's add #1126 to blocking list.
godcrampy commentedon Nov 22, 2019
I'd like to write some smoke-tests! Can I get some pointers as to what kind of smoke tests are to be written besides the ones which are already present. What all stuff are these tests supposed to display?
evenstensberg commentedon Nov 22, 2019
Fixing the smoketests for watch mode would be really nice, right now those are kinda flaky, so we've disabled the CI to run them.
Could you check that out? The tests are supposed to show that the CLI is rigid and doesn't break under harsh conditions 👍
endiliey commentedon Nov 22, 2019
Hi there, this is sort of unrelated but can I suggest to use "Squash and Merge pull request" instead of "Merge pull request" moving forward. Currently, its very hard to track changes between version of webpack-cli because a lot of commits in a PR is all retained. Here is an example:
v3.3.5...next
Due to using "merge pull request", there are lot of "extra" commits being sent here. Even something like "fix: revert :("

If squash merge was used, it will be something like below, which is more cleaner
An example is webpack/webpack-dev-server@v3.8.2...v3.9.0

Less number of commits, and related PR is linked
evenstensberg commentedon Nov 22, 2019
I think one of the reasons why we changed from squash to merge was because people wanted the entire commit log, but I'm happy to do squashing, it's cleaner, if there's no objections
godcrampy commentedon Nov 22, 2019
I tried running the smoketests as is without any changes. Currently they return
Test for child compilation hang, exiting. Is this delay a problem with core webpack or is the current smoketest causing it to behave this way.Also, for the temporary files that are created during the smoketest, will it help if instead of appending comments we add some javascript snippets to check the watch mode performance.
evenstensberg commentedon Nov 25, 2019
Do you have a stack trace @godcrampy ?
godcrampy commentedon Nov 25, 2019
When I run
$ npm run smoketestI get the following:The exact iteration it fails varies between 1 to 3 for my machine. The current error is shown when the webpack compiler exceeds 5 seconds for compiling the given changes on watch mode.I think that the arbitrary five second wait time to decide whether the process is stuck is a bad metric.
These exceptions come from here:
https://github.com/webpack/webpack-cli/blob/next/smoketests/watch/watch.single.smoketest.js#L56
https://github.com/webpack/webpack-cli/blob/next/smoketests/watch/watch.array.smoketest.js#L60
24 remaining items
alexander-akait commentedon Jun 9, 2020
Why we need support multiple
stats?snitin315 commentedon Jun 9, 2020
not multiple stats but multiple types for stats.
I'm thinking to add a property
multiType : truefor stats insidecli-flags.js?Any suggestions ?
alexander-akait commentedon Jun 9, 2020
@snitin315 I can't understand, please clarify
snitin315 commentedon Jun 9, 2020
No worries I will create a Draft PR for same.
snitin315 commentedon Jul 28, 2020
I think now cli supports
infoandinitout of the box.webpack-cli/packages/webpack-cli/package.json
Lines 27 to 28 in f1876c1
/cc @rishabh3112 am I right?
rishabh3112 commentedon Jul 28, 2020
Yes, but
serveis still left for integration as decided.alexander-akait commentedon Jul 28, 2020
@rishabh3112 Let's send a commit with integration, we will fix an problems with options late
rishabh3112 commentedon Jul 29, 2020
@evilebottnawi Sure, I will send PR then.
billyjanitsch commentedon Sep 23, 2020
Hi, I just wanted to cross-link this comment #1222 (comment) because this might be the more appropriate issue:
alexander-akait commentedon Sep 23, 2020
@billyjanitsch yes, we will do it
lopopolo commentedon Oct 9, 2020
@evilebottnawi is there a ticket to track the removal of
@webpack-cli/initas a required dependency ofwebpack-cli?alexander-akait commentedon Oct 10, 2020
@lopopolo We search way to not remove it, but reduce size
alexander-akait commentedon Dec 30, 2020
We have separate issue and PR for this
Already supports, but not documented, we need do some improvements (I will do it in near future)
We have separate issue for this
Todo for tests also have own issues
So let's close