webpack-blocks icon indicating copy to clipboard operation
webpack-blocks copied to clipboard

Move unpopular blocks to the webpack-blocks org

Open vlad-zhukov opened this issue 6 years ago • 11 comments

We bring this idea from time to time and we finally have to just do it, so I decided to add it to the 2.0 roadmap (#264). Now I went ahead and gathered some stats from npm:

Package Downloads last 30 days First release
webpack-blocks 19k 1.0.0-alpha, May 8, 2017
@webpack-blocks/assets 20.1k 1.0.0-alpha, May 8, 2017
@webpack-blocks/babel 18k 1.0.0-rc, October 2, 2017
@webpack-blocks/core 27.5k 0.1.0, October 13, 2016
@webpack-blocks/dev-server 18.7k 0.1.0, October 13, 2016
@webpack-blocks/elm 1.6k 0.4.0, April 5, 2017
@webpack-blocks/eslint 35 1.0.0-rc, March 2, 2018
@webpack-blocks/extract-text 19.9k 0.1.0, October 18, 2016
@webpack-blocks/postcss 20.7k 0.1.0, October 13, 2016
@webpack-blocks/sass 18.4k 0.1.0, October 13, 2016
@webpack-blocks/tslint 269 0.4.0, January 27, 2017
@webpack-blocks/typescript 18.3k 0.4.0, January 27, 2017
@webpack-blocks/uglify 19.6k 1.0.0, August 29, 2017
@webpack-blocks/webpack 20.4k 0.1.0, October 13, 2016

I am very surprised the vast majority of block are very popular and have so close download stats! There are, however, 3 exceptions:

  • elm: this is the 1st candidate to be moved out of the monorepo. It's framework-specific, niche, takes a lot of time to download and build and very often breaks the CI.
  • tslint: despite the fact it was added more than a year ago it has a drastically low download number. Looks like the majority of developers prefer using linters outside of webpack from the command line.
  • eslint: it's a very new block but I believe it's not going to become popular enough. I expect it to have a similar amount of downloads as the tslint block and that makes it another candidate to be moved.

For now I am insistently suggesting to move the elm block into its own repo under the webpack-blocks org.

vlad-zhukov avatar Apr 21 '18 20:04 vlad-zhukov

Whoa, haven't thought the linters have such low usage - would be interesting to know how many people are using it from within the convenience package, but it will probably resemble the usage of the individual blocks.

Thanks for the stats in any case!

If we go on and move blocks to the org, I'd like to have them in individual repositories - so an external maintainer for the elm block for example, doesn't need to be notified about / be able to push to other blocks. In order to keep the structure, style etc aligned, what do you think about a "#0CJS" toolkit? I'd happy to help out building one, maybe with prettier & ava in the beginning, and then we can see what we need to add there. Then each blocks scripts section would be something like "fmt": "blocks-dev fmt", "test": "blocks-dev test" and needs only one dev dependency to get started.

zcei avatar Apr 22 '18 11:04 zcei

If we go on and move blocks to the org, I'd like to have them in individual repositories

That's the plan.

In order to keep the structure, style etc aligned, what do you think about a "#0CJS" toolkit?

It's a good idea to have something like this eventually but right now there aren't many configs and they will have certain changes soon.

vlad-zhukov avatar Apr 22 '18 11:04 vlad-zhukov

they will have certain changes soon

Which is a good reason to have it in such a package 😜 For only moving elm we could extract what we need and set it up within the repo and once we're moving more blocks we can see what is shared and put that in the toolkit.

This way we can start now without any overhead, but have a plan for the future 💪

zcei avatar Apr 22 '18 11:04 zcei

@zcei would you like to work on moving it? Note that there is also an e2e test inside the webpack package.

vlad-zhukov avatar Apr 22 '18 11:04 vlad-zhukov

Sure, I could tackle it on Wednesday.

zcei avatar Apr 22 '18 11:04 zcei

Wow, great job gathering all the stats! 🐰

Room for discussion

I think we should settle on a decision whether to move those unpopular blocks into single repos for each block or move them into a new monorepo (webpack-blocks-contrib?).

andywer avatar Apr 22 '18 14:04 andywer

Personally, I'm biased towards Elm and would like to see it stay in the primary repo. However, I understand that it's rather niche and would not be upset if it were moved.

farism avatar Apr 23 '18 20:04 farism

@farism If you would like to maintain it we could give you an access to the new repo we move it to! 😏

vlad-zhukov avatar Apr 24 '18 05:04 vlad-zhukov

First stab done via git subtree split - smooth experience: https://github.com/webpack-blocks/elm

Still need to setup Travis.

@farism is that something you'd like to do? (like Elm block maintenance in general, I can setup Travis if you like)

zcei avatar Apr 24 '18 15:04 zcei

git subtree split

TIL 😳

vlad-zhukov avatar Apr 24 '18 19:04 vlad-zhukov

Is anyone interested in taking over that task? Will close it otherwise...

andywer avatar Apr 11 '19 17:04 andywer