Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Working on the ArkScript package manager #74

Closed
SuperFola opened this issue Jan 30, 2020 · 4 comments
Closed

Working on the ArkScript package manager #74

SuperFola opened this issue Jan 30, 2020 · 4 comments
Assignees
Labels
ark/modules Related to compiled modules used by the language enhancement New feature or request ❓ question Further information is requested

Comments

@SuperFola
Copy link
Member

At this point where modules are starting to be more numerous, we should (imo) consider having an ArkScript package manager.

Won't be for the 3.1.0, more like a 3.2.0 or even a 3.x.0

@SuperFola SuperFola added enhancement New feature or request ark/modules Related to compiled modules used by the language labels Jan 30, 2020
@SuperFola SuperFola added the ❓ question Further information is requested label Jan 31, 2020
@SuperFola SuperFola added this to To Do in v3.1.0 Feb 24, 2020
@SuperFola SuperFola removed this from To Do in v3.1.0 Mar 1, 2020
@SuperFola SuperFola added this to Related in Better standard library Mar 1, 2020
@BioTheWolff
Copy link
Member

So a module could potentially be added through a site (i.e. pypi)?

The idea is interesting, it would allow to easily create ArkScript packages and allow people to use them easily.

Would all native packages still be in C++? Would they instead be written in ArkScript?
Would all the available packages be ArkScript or could they also be C++?

@SuperFola
Copy link
Member Author

Yes, the basic idea would be to be able to do a [package manager command] install github.com/user/package<@version>, with a listing of the available packages on a website we would host.

We still need to discuss where it will be hosted, if we want to host a listing that only the dev team will update or if other developers could create an account and add their package, the TOS will need to be established long before putting this online (we don't want people to reserve package names, as some are doing on npm or crates). The version would be optional, and fetched from the the releases of a github/gitlab/git thing repository. The installation of a package should be in a folder named package<@version> to be able to have different versions of the same package, but again we don't know yet if we want that to be in a .arkpackages/ in the home directory of the user, or in a arkpackages/ in the user project folder (as node is doing for non global packages).

(the current name we have in mind is nuclear, as the lib file generated to embed ArkScript is named ArkReactor)

I don't know what you mean by "native packages", like packages operating on a system level (networking and stuff)?

I personnally thing it would be interesting to have both C++ packages (using the ArkScript API) and ArkScript packages handled by the package manager. Probably a file arkpackage.[toml/yaml/json/whatever] describing the module, author, type (C++ or ArkScript) and stuff would help

@SuperFola
Copy link
Member Author

Bumping it, I started working on a proof of concept: https://github.com/ArkScript-lang/nuclear

@SuperFola SuperFola moved this from Related to In Progress in Better standard library Sep 30, 2020
@SuperFola SuperFola changed the title Interest of adding an ArkScript package manager Working on the ArkScript package manager Nov 21, 2020
@SuperFola
Copy link
Member Author

The package manager is now nearly ready to be used in projects, you can find it here: https://github.com/ArkScript-lang/nuclear

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ark/modules Related to compiled modules used by the language enhancement New feature or request ❓ question Further information is requested
Projects
No open projects
Development

No branches or pull requests

3 participants