na4zagin3 / satyrographos

Package manager for SATySFi
GNU Lesser General Public License v3.0
44 stars 13 forks source link

Support new third-party package schema #24

Open na4zagin3 opened 5 years ago

na4zagin3 commented 5 years ago

The discussion is going on in the SATySFi-Slack.

It would be like this.

  1. Directory hierarchy.
    1. Files related to a package are located under $LIBROOT/dist/packages/[<namespace>/]/<package-name>/<package-name>.<package-semver>/.
    2. Package description file (like Node.js’s package.json), which is also located there, indicates files to load.
  2. Import
    1. @require: [<namespace>/]<package-name>[.<package-semver>]
  3. Namespace
    1. For example, na4zagin3/grcnum.0.1.0
na4zagin3 commented 5 years ago

We can switch the feature to keep backward compatibility.

Regardless of series, automatic install assumes the new package schema.

na4zagin3 commented 5 years ago

We need to rethink about semvar. Allowing multiple versions of a library can break type safety.