tony-o / raku-fez

This project is for 'fez', raku's cool new shiny dist uploader & manager. If you're a module author you should definitely be using this sweet thang. ;;;;;;;;;;;;;; This project and the underlying infrastructure is supported out of my own pocket and through donations. If you'd like to donate please check here: https://www.patreon.com/oynot
Artistic License 2.0
20 stars 12 forks source link

Prohibit uploading of a distribution #63

Closed vrurg closed 1 year ago

vrurg commented 1 year ago

For a private distribution, no intended for publishing, it would be great to have a way to ever prohibit it been accidentally uploaded to the ecosystem. It doesn't really matter which way this is done: by a flag-file in distribution directory (say, .fez/noupload), by a distro-local fez configuration file with corresponding option, or by considering a special key in META6.

tony-o commented 1 year ago

@vrurg i'm hesitant to make more file clutter in repos with all of the CI and other garbage we put in them now. I like the idea of a key in the META and have mulling over how to enable private repositories for people and think it's doable with the current infrastructure. I've been chatting with @ugexe on how we can enable that for a wider audience and i think it'll eventually just be some META keys. For the time being I may add just move ahead with:

{...
 ".fez": {
    ...
 }
}
ugexe commented 1 year ago

I'm not sure I'm a fan of it being in the META6.json. The relevant bit of information is only ever relevant to whomever authors a given distribution, yet all consumers will end up repeatedly (de)serializing that data during various stages of a module querying / installation / loading lifecycle. I'm not against extra data being stored in META6.json, but I think my feeling is the data in that file should be useful by general consumers of distributions (in this case, for this specific features, its only useful for author and not the users).

tony-o commented 1 year ago

This may become part of #70

tony-o commented 1 year ago

@vrurg I'm going to remove that flag from META6.json and put it in .fez starting in v48. It'll just be deprecated until v52 and then it will go only be checked for in a .fez config file.

vrurg commented 1 year ago

I'm fine with either way. Just wonder what would the config format be. {"production": false}, I suppose?

tony-o commented 1 year ago

@vrurg yea, exactly it.

This is complete with v51