Introducing XPack - A package manager for XOJO

I’m working on a package manager solution for XOJO for quite a while would like to share my current state of development with the community. The project is called “XPack” and can be used to establish a (local) repository of source code packages, like nuget or npm in other programming environments.

It is in early development stage and the concepts are still not perfect and may change in the future. But in my day-to-day work the solution is quite helpful already, so it may be good to know if it might be helpful for other developers too.

I have published the source-code under the MIT license on GitHub: https://github.com/stefanwatermann/XPack

You also find a basic documentation on GitHub together with a simple demo repository.

I’m happy to get feedback and I’m happy to include other developers into the project.

11 Likes

Hey, I’ve written a package manager as well in the past and I am experienced using npm, yarn, brew as a user, but as a contrubutor/submitter as well.

Do you plan to turn this into a community project? if yes, I would like to attend (after I dug deeper in your concepts).

Hey fast wrap up:

  • I like the concept, also that you use the binary output of the modules
  • Using the attributes in the IDE is pretty smart, I use a package.json in my (private) PM
  • If I understand it correctly, you could provide a global repository where “everyone” can attend and fill the packages list, right?

Questions:

  • What I don’t understand: does XPack injects the code into the project or does the user always have to manually copy & paste the modules into their projecs?
    • If so, It’s possible to inject them into project at least for Text- and XML-Prjects into the project file. Should be easier to use.
  • Can you add multiple repositories? For example the global, but also my private ones?
  • I don’t get the Idea with the server. What will be it’s purpose? Is this the location where the repo lives? Why not using Git?

Thats all for now. Pretty interesting!

1 Like

sounds nice
but whats the difference beetween copy-pasting module or plug ins ?
you can update code without rebuilding app ?