Open fatcerberus opened 8 years ago
Continuing the Dragon Ball Z theme started with Cell and codified with SSJ, I think I will call the package server "Shenron". Basically, you use the dragonballs and make a wish to Shenron who gives you the package. I'm also thinking of calling the "spm" command goku
but that might be a bit too goofy. :stuck_out_tongue_closed_eyes:
Like
npm
for Node.js,spm
would allow Sphere developers to quickly and easily download and install Sphere 2.0 packages. These packages can then be loaded by callingrequire('package_id')
.Sphere packages would be set up for semantic versioning to allow for painless dependency management. A package could specify its dependent packages and the minimum version numbers required, and
spm
would automatically download the correct versions.The package server will likely be implemented in Node.js and be fully open-source under the same BSD license as the rest of minisphere, allowing anyone to run a package server. To avoid the potential for malware being distributed, packages could be digitally signed and
spm
would only accept them if it could match their signatures against a known public key. Public keys would be able to be added by the end-user, of course.This could even be integrated with Sphere Studio to work like NuGet: A project specifies which packages it depends on, and the IDE could download them automatically at build time, avoiding the need to commit third-party packages to version control.
Implementing this would go a long way in making Sphere a more serious game development platform, I think.