Feature Planning and techstack
So I layed out the core concept of the whole thing and also worked on how the system would work (will be changed in the future).
So basically you have the package manager itself. It will be written in Zig for speed and safety and because I don’t trust C. Also most of the C libraries will work fine in Zig (yes zig is c compatible!). So the idea is that the User will type in “blaze add https://coolpkg.com/coolpkg.json” and then the package manager will read the json to like learn about the package and then set it up for the system. After that it will add that to the enviroment variables. lets dive a bit deeper:
Adding packages
you just add it with: “blaze add https://coolpkg.com/coolpkg.json”. The cool thing about this json will be something that points to the portable version of the app and this means that it won’t require admin rights such as MSI’s mostly do. Also we will be prob implementing SHA256 verification and also raise flags for non http downloads.
Dependency resolution
I am thinking more of like an thing where we basically copy nvm-style where you can specify:
“blaze use [email protected]” or something like that so we basically install a copy of the thing yk?
Removing
This is pretty straightforward ngl, you just “blaze remove node” and boom! If you have multiple stuff it says: “You have multiple versions of ! Please specify via appname@version or use –all to remove all!” and problem solved.
Storage.
Nothing fancy. It’s all stored in a json, because i feel and sqlite database is overkill for something like this.
Size
Size matters. Since I am using Zig i am not worried about size
Plans
Right now I will prob setup the Zig project and also get on with creating cli args