Dictu icon indicating copy to clipboard operation
Dictu copied to clipboard

Package manager

Open Jason2605 opened this issue 5 years ago • 5 comments

Package Manager

Currently there is no package manager for the Dictu language. Eventually, when (if), Dictu begins to gain traction, it will need a package manager for it to actually be a viable option. This issue is more of a reminder / open discussion for how we should go about this, what we will need, how it should operate and the like.

Jason2605 avatar Sep 20 '20 21:09 Jason2605

If/when this becomes relevant: Something many existing package managers lack (imo) is conditional dependencies and build configurations. Would definitely be a plus to have that 🙂

devmaximilian avatar Oct 01 '20 06:10 devmaximilian

Hi @devmaximilian thanks for the ideas, creating a package manager is definitely something that will need to be done at some point and is on my radar, so i'm happy to hear any ideas you have! The two you mentioned are potentially something to explore, when you say "conditional dependency" what kind of conditions were you thinking of: Things like OS? Potentially Dictu version, etc? Similar to the next point, build configuration, could you potentially expand slightly on this point.

Thanks for suggesting some ideas 😃

Jason2605 avatar Oct 01 '20 11:10 Jason2605

No problem! 🙂

By "conditional dependency" I'm referring to a dependency one might only want sometimes (e.g. during development or when targeting a specific platform). As for the conditions part, I think most of them would depend on the nature of a "package". Though some, like the ones you mentioned, would be great in any case.

A "build configuration" is apparently what I call a "runtime configuration" before I've had my coffee. This might be the more reasonable starting-point for a potential "conditional dependency" as it potentially doesn't have to just apply to a potential package manager.

I imagine this "runtime configuration" to essentially only be a flag for something like enabling additional debugging or development related code. How one could/should evaluate the state of this flag, I do not know.. Usage wise however, maybe something like the following?

if (<debug state evaluation>) {
    // More logging!
}

Using this "runtime configuration" one could e.g. not include test-related dependencies when they're not needed.

Will be very interesting to following the development of Dictu! 😄

devmaximilian avatar Oct 01 '20 14:10 devmaximilian

Yeah the conditional packages is definitely something to think about! Configurable variables within the package managers manifest is an interesting thought, negates the need to have a separate configuration file that would need to be read / parsed manually. Definitely some interesting ideas there.

Will be very interesting to following the development of Dictu! 😄

I'm glad you're here following it 😃

Jason2605 avatar Oct 01 '20 18:10 Jason2605