ngx-libs
ngx-libs copied to clipboard
Consume the compatibility matrix to check a project's dependencies
It would be handy if we can somehow consume this referential data from the outside.
There are many interesting tools we can build on top of this compatibility matrix.
For example a script that checks what libraries need to be updated when upgrading a project to some Angular version (Could be part of this repo actually)
Project example
"@angular/core": "^13.0.0"
"ngx-toast": "^14.0.0",
"ngx-old-legacy": "^13.0.0"
npx ngx-libs migrate 16 --check (check depedencies' versions)
* You need to upgrade ngx-toast to version 17.0.0
* ngx-old-legacy is not compatible with Angular 16
npx ngx-libs migrate 15 --apply (apply the updates (if compatible))
npx ngx-libs migrate --supported (search for common supported Angular version)
* You can peacefully migrate to Angular 15
* The latest Angular 16 version is not yet supported by some packages:
- ngx-old-legacy
Yeah that is a good idea, there's another issue opened for this kind of feature: https://github.com/eneajaho/ngx-libs/issues/27
It would be great to have the matrix accessible from the outside, as an endpoint or a node lib..., so external tooling could also consume it.
For that we probably would need a server so what do you recommend?
@eneajaho add SSR then we can use the express server. Should have gone with Analog 😝
@nartc I can always merge a PR to convert the site to Analog with SSR and maybe why not cloudlfare workers LOL.
maybe just a json file in the repo is enough no? https://raw.githubusercontent.com/eneajaho/ngx-libs/master/package.json
the external script would just have to fetch the matrix from the repo:
const ngxLibs = await (await fetch('https://raw.githubusercontent.com/eneajaho/ngx-libs/master/maxtrix.json')).json()