satyrographos
satyrographos copied to clipboard
Support new third-party package schema
The discussion is going on in the SATySFi-Slack.
It would be like this.
- Directory hierarchy.
- Files related to a package are located under
$LIBROOT/dist/packages/[<namespace>/]/<package-name>/<package-name>.<package-semver>/. - Package description file (like Node.js’s
package.json), which is also located there, indicates files to load.
- Files related to a package are located under
- Import
@require: [<namespace>/]<package-name>[.<package-semver>]
- Namespace
- For example,
na4zagin3/grcnum.0.1.0
- For example,
We can switch the feature to keep backward compatibility.
- satyrographos 0.0.1 series keep the behavior
- satyrographos 0.0.2 series provide the new schema by default
Regardless of series, automatic install assumes the new package schema.
We need to rethink about semvar. Allowing multiple versions of a library can break type safety.