ryanatkn / fuz_template

a static web app and Node library template for SvelteKit with TypeScript, Svelte, Vite, esbuild, Fuz, and Gro ❄
https://template.fuz.dev/
1 stars 0 forks source link

tracking dependencies #1

Open ryanatkn opened 3 years ago

ryanatkn commented 3 years ago

To be mindful of our project's dependencies, let's track some basic stats. Bots can look through the actual git history.

These numbers are absolute totals at each commit. (meaning, don't add numbers together between snapshots, each is the total)

At each commit, run:

rm -rf node_modules
npm i

initialize SvelteKit

npm init svelte@next # yes to TypeScript, plain CSS, and Prettier, no to eslint

https://github.com/ryanatkn/kitty/commit/df44ca381b92562c6bd4af345353a9e1aa8a6932

added 46 packages from 111 contributors and audited 47 packages in 2.406s


install Gro

npm i -D @feltcoop/gro@0.6.4

https://github.com/ryanatkn/kitty/commit/8720c75a23977c136fd6e356c38a9314eca268e7

+ 71 packages
+ 15 contributors

added 117 packages from 126 contributors and audited 124 packages in 3.429s

Hey that's neat, Gro only adds 15 contributors. Its esinstall dependency along with some Rollup plugins add a lot of unwanted weight.

Also, Gro has dependencies that re-use 6 existing packages internally, to SvelteKit's initial 1. (if you do the math, that's what those packages numbers mean)

Gro also has the stated goal of offering a SvelteKit alternative to Vite, but that's a ways off. And Vite currently hides all of its dependencies like Rollup, by bundling the dependencies up and shipping with near-zero dependencies to npm. (for more about Gro see here and here) So maybe there's more contributors than it appears. (I haven't checked if Vite/Rollup include them somehow)


update Gro

npm i -D @feltcoop/gro@0.13.0

https://github.com/ryanatkn/kitty/commit/9770d19e40dfb04b89d3624d4a1ee3ad400c61f8

+ 7 packages
+ 16 contributors

added 124 packages from 142 contributors and audited 131 packages in 5.085s

Lots of updates to Gro. Adds 7 packages and 16 contributors, almost all through types and Rollup plugins, so not bad. Also not bad considering the improvements to Gro between 0.6.4 and 0.13.0.

ryanatkn commented 1 month ago

eslint netted out a dep

https://github.com/ryanatkn/fuz_template/commit/2dd29810f41ca4d7670727ea02ffba6ededb1e7b

-1 packages

audited 208 packages in 1s

ryanatkn commented 4 weeks ago

Svelte 5 upgrade dropped a dep.

https://github.com/ryanatkn/fuz_template/commit/6252e602ea96a3fcd220a9bb247d88a7c122cd4e

-1 packages

audited 207 packages in 1s

ryanatkn commented 3 weeks ago

Gro switched over to oxc-parser from es-module-lexer. It's basically the same number of dependencies, but like esbuild it has platform-dependent packages, so the number can be higher than 1. (even deleting package-lock.json and reinstalling, which sometimes works, I don't understand npm)

https://github.com/ryanatkn/fuz_template/commit/4a1b9cd23c631f4efb2f57669721a7108a49ff76

+3 packages

audited 210 packages in 1s

ryanatkn commented 4 days ago

Eslint dropped text-table.

https://github.com/ryanatkn/fuz_template/commit/286a3c9e3c4ddeb2e67e04e2af4b7e63f05c45ef

-1 package

audited 209 packages in 454ms