Closed frank-dspeed closed 4 years ago
We sort-of cover this in our FAQ https://bundlers.tooling.report/faqs/.
Our list isn't exhaustive, of either tools or tests. We did what we felt we could do a good job of given the resources available.
But even if we had the resources… I'm not really familiar with StealJS, but it doesn't seem particularly popular https://www.npmjs.com/package/steal - around 1000 downloads a week.
Compare with esbuild https://www.npmjs.com/package/esbuild that has 24k per week.
If I was going to put effort into adding a new tool to the site, I don't think StealJS would be next on the list.
Moving this one to the board as well for tacking purposes
Hmmm ok, I understand we go for popular first and then choose what is the right tool that supports the most needed features? Ok Sounds fair for me. Maybe someone should put NPM on this list and NPM is like Gulp + Browserify a nice task runner npm has maybe the most downloads lets put that on the list.
Maybe someone should put NPM on this list and NPM is like Gulp + Browserify a nice task runner npm has maybe the most downloads lets put that on the list.
I'm having trouble parsing this. NPM is a package manager, not a bundler. Browserify & Gulp are already on the site.
NPM scripts can be used as a bundler they can execute shell commands and also other javascript like gulp does so the conclusion was to show that if you want to go for popularity NPM is the Tool to list as it can, for example, build and minify typescript or like gulp it can do "ls | cat > output" to bundle files
NPM is in fact with its script section a task runner like gulp but it has far more downloads
I want to make the point that this project should list other tools that are able to do the job and not list tools based on popularity the criteria for a tool that gets listed should be the feature list and how easy they are to use the final result matters, not the downloads.
npm could replace gulp in our test setup. But Browserify is the tool doing the bundling, which is why the section on tooling.report is called “Browserify”, not “Gulp”.
cat
can indeed qualify as a bundler, but I’d argue that it’s not very popular (as in, very few projects actually resort to cat
to bundler their files) and it would also fail the vast majority of the tests. Not sure it’s worth the effort.
The reason we consider popularity in our choice is that we have very few people on the team and want to maximize the number of people that find tooling.report useful. The vast majority of projects uses one of the 4 tools we have listed. I understand that this can be frustrating as a tooling author.
However, we welcome contributions. So if you want to provide us with the data for StealJS, please do so. But heads up: We have work to do on the site and the build scripts before we can list more than 4 tools, so we won’t be able to merge it immediately.
@frank-dspeed
Oh you mean NPM scripts? Ok, it feels like you're making a deliberately obtuse, bad-faith comparison, but I'll answer as if you were being genuine.
If you look at any of our tests, you'll see we're already using NPM scripts to run the bundlers.
Also note that we focus on "browserify", the bundler, rather than the task runner, "Gulp", although most of our browserify tests include gulp, because that's how they're typically used in the wild.
Also also note that we've cast doubt on including snowpack or vite as they're built on top of existing bundlers.
@surma
So if you want to provide us with the data for StealJS
I think we should have a discussion before giving the go-ahead to something like that. Remember that it'll like fall to us to maintain any documentation/tests for tools that are added to the site. We can't assume that authors are also committing to coming back and providing the implementation to any changes or extra tests that are needed.
@surma I have some free resources I would like to offer some refactoring to this whole project https://github.com/TechEmpower/FrameworkBenchmarks is a Project that I am familiar with it tests frameworks for different coding langs and has a solid structure to run tests we could apply some stuff. Like the Tool oriented structure at present, this is using a test based structure but it would be easier to have a test catalog and then a list of tools with a implementation of the catalog
@jakearchibald I see the issue that's why I suggest a bit of refactoring so that everyone can add tests as long as they pass if an added test suite does not work anymore and is not maintained it simply does not get listed.
for example, the docker library is a good example of a repo where external code gets referenced and maintained by external people. or https://github.com/TechEmpower/FrameworkBenchmarks here the code gets directly contributed but it has less maintenance overhead because of the integration framework
@frank-dspeed an automated solution can't really cater for "partial" passes, which I think are important for the site. I don't we need a refactor at this stage, and I also don't think tooling.report's primary purpose is for people to promote their own tools.
@jakearchibald oh my intend is not the promotion of my tools I am not affiliated with any tools only rollup at present as a contributor.
I am simply a passionated ECMAScript Developer that wants to push forward and I see a big issue with this project when it only promotes the old tools that everyone knows. I only put StealJS on the list because it is Unique I do Research on this field for ages.
I note your point that an entire site refactor would be necessary to represent StealJS, and will take that into consideration when looking at other tools to list on the site.
@jakearchibald
I think it would be cool when the directory structure would enable simple adding of other bundlers and some filtering I think that this project can add value to the scene when it would allow comparing tools so a tool author should be able to add his tools.
Then we all can get better tooling based on that results.
https://www.techempower.com/benchmarks/
this data added so much value to my tech stack choice and i would love if this project could add extra value for the tooling part,
StealJS is a rock solid bundler from bitovi a top 10 web agency from US with fortune 500 customers like apple and yahoo they use https://stealjs.com it is also in use by the frameworks https://donejs.com and https://canjs.com