-
-
Notifications
You must be signed in to change notification settings - Fork 150
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[all] splitting up / restructuring of large(r) packages #486
Comments
postspectacular
added a commit
that referenced
this issue
Jul 20, 2024
- extract `MultiTrie` & `TrieMap` from thi.ng/associative
postspectacular
added a commit
that referenced
this issue
Jul 20, 2024
- extract `BidirIndex` from thi.ng/associative
postspectacular
added a commit
that referenced
this issue
Jul 20, 2024
- extract `BidirIndex` from thi.ng/associative
postspectacular
added a commit
that referenced
this issue
Jul 20, 2024
BREAKING CHANGE: restructure & split-up package, update readme - remove obsolete source files - update pkg exports
postspectacular
added a commit
that referenced
this issue
Jul 20, 2024
postspectacular
added a commit
that referenced
this issue
Jul 20, 2024
postspectacular
added a commit
that referenced
this issue
Jul 20, 2024
postspectacular
added a commit
that referenced
this issue
Jul 20, 2024
postspectacular
added a commit
that referenced
this issue
Jul 20, 2024
postspectacular
added a commit
that referenced
this issue
Jul 20, 2024
postspectacular
added a commit
that referenced
this issue
Jul 20, 2024
postspectacular
added a commit
that referenced
this issue
Jul 20, 2024
postspectacular
added a commit
that referenced
this issue
Jul 20, 2024
postspectacular
added a commit
that referenced
this issue
Jul 20, 2024
postspectacular
added a commit
that referenced
this issue
Jul 20, 2024
postspectacular
added a commit
that referenced
this issue
Jul 20, 2024
postspectacular
added a commit
that referenced
this issue
Jul 20, 2024
…486) BREAKING CHANGE: migrate/remove SortedMap/Set, sortedObject() - migrate `SortedMap`/`SortedSet` to thi.ng/sorted-map pkg - migrate `sortedObject()` to thi.ng/object-utils - remove obsolete source files - remove obsolete deps - update readme
postspectacular
added a commit
that referenced
this issue
Jul 20, 2024
- extract sparseset-related fns/classes from thi.ng/associative
postspectacular
added a commit
that referenced
this issue
Jul 20, 2024
BREAKING CHANGE: migrate sparse set features to thi.ng/sparse-set pkg - remove obsolete files - update pkg
postspectacular
added a commit
that referenced
this issue
Jul 20, 2024
- extract `DisjointSet` from thi.ng/adjacency
postspectacular
added a commit
that referenced
this issue
Jul 20, 2024
BREAKING CHANGE: migrate DisjointSet to thi.ng/disjoint-set pkg - remove obsolete files - update pkg
postspectacular
added a commit
that referenced
this issue
Jul 20, 2024
- migrate `dominantColors()` from thi.ng/pixel pkg
postspectacular
added a commit
that referenced
this issue
Jul 20, 2024
BREAKING CHANGE: migrate dominantColors() to thi.ng/pixel-dominant-colors pkg - remove obsolete files - update pkg
postspectacular
added a commit
that referenced
this issue
Jul 20, 2024
- migrate UUID functions from thi.ng/random pkg
postspectacular
added a commit
that referenced
this issue
Jul 20, 2024
BREAKING CHANGE: migrate UUID functions to thi.ng/uuid pkg - remove obsolete files - update deps/pkg - update readme
postspectacular
added a commit
that referenced
this issue
Jul 22, 2024
- migrate convolve, normalMap and imagePyramid functions from thi.ng/pixel pkg
postspectacular
added a commit
that referenced
this issue
Jul 22, 2024
BREAKING CHANGE: migrate convolve, normalMap & imagePyramid functionality to thi.ng/pixel-convolve pkg - remove obsolete files - update deps/pkg - update readme
postspectacular
added a commit
that referenced
this issue
Jul 22, 2024
* feature/large-pkg-splitting: (64 commits) docs(disjoint-set): update pkg meta & readme docs: regen readmes build(porter-duff): intern/update deps & readme docs: update node fs imports in snippets build(examples): update deps/imports (pixel-convolve) docs(pixel): update/regen readmes (code examples, tangle support) refactor(random): migrate/remove convolve functions (#486) feat(pixel-convolve): import as new pkg (#486) refactor(pixel): intern swapLane13 helper, remove dependency feat(tools): update check-imports & readme gen docs: regen/update readmes build(cache): remove transducers dependency build: update pkg exports build: update yarn.lock docs(strings): update doc link refactor(random): migrate/remove UUID functions (#486) feat(uuid): import as new pkg (#486) refactor(examples): update package-stats feat(tools): add/update stats scripts docs(pixel): minor update readme ...
An update: The above listed packages have all been released now and the packages this functionality has been extracted from have received majaor version updates with notices both in readmes & changelogs... Keeping this issue open for a while in case there might be future rounds of similar restructuring.... |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Context
Over the years there has been (infrequent, but repeated) criticism about some of the package sizes and implicitly about the number of dependencies of such packages. Only a very small number of the packages in this repo (currently 2, I think) have 3rd party dependencies, all others are thi.ng internal. Thanks to treeshaking, in most cases these internal deps are not really an issue and simply encourage better re-use, code density and also provide a huge benefit in terms of maintenance of all these packages. However, with the prevailing mindset of JS devs and also increased concern about "supply chain" issues, a newcomer user, will judge the presence of any dependencies as a negative factor and as such the current structure/organization of these larger packages is actually partially hurting uptake/interest, regardless of value and/or features provided. C'est la vie... 🤷
Proposed solution
Being pragmatic about this situation, I'm currently experimenting with splitting up some of these larger packages, introducing a number of smaller ones and migrating functionality to those. The idea is to still group related features, but with a more "atomic" (aka a more fine grained focus) and with the aim of minimizing deps per package.
For existing users, this will mean some breaking changes, but only in terms of having to update imports. I'm not going to conflate any other refactoring and/or API changes with this restructuring work!
Progress
I will keep updating this issue with ongoing progress of the restructing. All of this work is happening on the
feature/large-pkg-splitting
branch.thi.ng/associative
New additional packages:
Please do get in touch if you have opinions/views about other candidates which would benefit from a similar splitting!
The text was updated successfully, but these errors were encountered: