-
-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Description
On the Twittersphere, I recently tweeted:
One of the more painful aspects of the previous couple of #webpack major version releases was waiting for all the related packages to publish compatible versions.
Is there a webpack ecosystem status page to track compatibility progress for these events?
People seem to think this would be useful as a page in the webpack documentation. I think maybe having a table that lists each plugin or loader or whatever and how ready it is for any given webpack release would be awesome. I think relevant statuses might be unstarted, in progress, merged, and published.
Keeping this list up to date should be a community effort and might be a good, low-cost way to encourage folks to get involved and contribute to webpack documentation.
This issue was moved from webpack/webpack#6560 by @sokra. Orginal issue was by @lencioni.
Activity
[-]Add page to documentation that tracks webpack ecosystem status [/-][+]General - Ecosystem Status Page[/+]skipjack commentedon Feb 24, 2018
I think maybe creating a page at
./src/content/status.md
(orecosystem-status.md
) could work. The only thing to keep in mind is that this will take some serious effort to keep up to date. It might be a good opportunity for automation, e.g. readingpeerDependencies
in thelatest
versions ofwebpack-contrib
packages and seeing whichwebpack
version they support.I'm going to leave this decision to @jeremenichelli as he will be taking over the lead role on the repo soon. @lencioni if we did decide to include this page and agreed on an approach, would you be willing to start a PR for it?
jeremenichelli commentedon Feb 24, 2018
I'm a little hesitant about this because of the maintainance a file like this would require. If we are not automating the generation of the file by scrapping the
peerDependencies
required like @skipjack suggested there's a high chance the file gets easily unsync and out to date, not serving to its purpose.TheLarkInn commentedon Feb 25, 2018
I started a bit on something like this. Although I agree with @jeremenichelli I think depending on something like peerDependencies would be the best way. Here's the work I started for it. 1df6f60
jeremenichelli commentedon Feb 25, 2018
That's a really good start @TheLarkInn, will see if I have time before v4 release, if not I can get into it after the big day.
montogeek commentedon Feb 26, 2018
I am working on it, from @skipjack idea, there are some packages that does not specify its
peerDependencies
, so first we should updates those packages:Also, some other packages specify
peerDependencies
but notwebpack
in it:[ 'coffee-loader', 'url-loader', 'jshint-loader', 'mocha-loader' ]
I could go on each of those packages and start adding it
montogeek commentedon Feb 26, 2018
This is how it looks at this moment:

feat(compat): include fetch_compat in fetch scripts
jeremenichelli commentedon Feb 26, 2018
Looks great @montogeek, are you working inside a PR? Throw the link reference here, and tell us when you are ready so we can review it.
jeremenichelli commentedon Feb 26, 2018
We should ignore packages with no peerDependencies declared or put something like unkown webpack compat version: check out the package repository
montogeek commentedon Feb 26, 2018
@jeremenichelli There is not PR, I am afraid to open one since it was @TheLarkInn work.
Branch is https://github.com/webpack/webpack.js.org/tree/feature/compatibility-page
@jeremenichelli When the user goes to the package repository, What would they find different from this page?
jeremenichelli commentedon Feb 26, 2018
Well first, not at all @montogeek don't be afraid. Sean and everyone will appreciate you are working on it. Just create a branch from his and whenever you have something in place submit a Pull Request explaining its content. No one will have a negative comment or an objection about an intend of contribution as long as you communicate somehow you are working on it 😉
Second, they will have the README and history of commits which should be enough information to know if the module has been updated to v4, if not they can open an issue.
montogeek commentedon Feb 26, 2018
@jeremenichelli @skipjack made me a contributor so I think it would be ok to opening a PR directly from @TheLarkInn branch.
Yeah, that sounds good, problem is majority of developers don't read commits history, releases pages, releases.md, history.md or even a readme. Maybe we could find some way to link an issue or branch or something that shows what is the status of the package directly in the page, at the end the objective with this page is to conglomerate all that information in one single place.
lencioni commentedon Feb 26, 2018
@montogeek looks great, thanks for working on this! 💃 Here are some thoughts:
*
) we should say "unknown".jeremenichelli commentedon Feb 26, 2018
We could contact all teams in Slack and see if they can help adding the
peerDependency
value or propose a way for the script to detect the current status of the package regarding the current webpack version. We need ideas for sure, to avoid issue spamming and to help @montogeek build the script.montogeek commentedon Feb 26, 2018
@jeremenichelli I already did that script, that is how I got that list: https://github.com/webpack/webpack.js.org/pull/1857/files#diff-f442a5314c6923d4650227050bd66738R35
jeremenichelli commentedon Feb 26, 2018
@montogeek I meant the definitive version, since apparently just scrapping the peer dependencies of the packages is not enough and could case negative effects
lencioni commentedon Feb 26, 2018
What negative effects?
I think we should stick with peerDependencies, list everything that can't be determined as "unknown" and provide clear guidance on how to take your package from "unknown" to ✅
jeremenichelli commentedon Feb 26, 2018
Sorry maybe I misunderstodd one part of the conversation. If the list with peerDependencies satifies our needs I'm good. But I would suggest reaching out maintainers of the modules so they can update with time the package data and avoid confusion in the users.
TheLarkInn commentedon Feb 27, 2018
montogeek commentedon Feb 27, 2018
@lencioni
peerDependencies
and clarifying that is ecosystem effort.webpack >= v4.0.0
(peerDependencies
) webpack-contrib/expose-loader#67lencioni commentedon Mar 7, 2018
All of the above?
Your table looks pretty good to me