Comments (8)
This has been long discussed in the Roblox OSS Discord, but there hasn't been much consensus. Some say wally should support lune, some say we should use npm instead, and some say lune should have a native package manager.
from lune.
I think it's a good idea to have a public discussion about this that people can refer to here on GitHub. Conversations on other platforms tend to get lost or mixed in with other things that aren't relevant to the issue.
Here are some of my thoughts on a package manager:
- There have been some ideas floating around about a generic Luau package manager that would support different targets/runtimes - Luau (CLI), Luau in Roblox, and Luau in Lune. I think this would be the "optimal" outcome, all the different environments sharing the same package manager and standards.
- If the above doesn't happen I'm personally partial to integrating Wally into Lune and proxying the functionality that already exists there. So Lune would get
lune install
and other commands, a Lune project manifest, and a Lune-specific wally registry. To a user this would (hopefully) be just as ergonomic as a custom package manager, but we would leverage work already done in Wally and try to share as much code as possible.
I'd like to see how / if the plan for a new shared package manager moves forward before making any decisions here.
from lune.
I think the overlap between Luau libraries targeting Roblox and Luau libraries targeting Lune is probably insufficient to justify sharing a package manager that in which most libraries would be useless/broken from a Lune perspective.
I don't know if Lune would benefit from trying to shoehorn itself into an existing Roblox ecosystem, but I'm interested in hearing other opinions.
from lune.
Sadly, I am not in the OSS Discord.
One way to look at this is a temporary computer with just lune installed, installing npm
, git
, wally
or aftman
could be more less convenient. This feature request is more like having bun install
.
Is there a way to look at for lune specific packages/modules, because right now it seems extremely hard to find one?
from lune.
I might try working on a luau package manager that supports lune and native luau 🤷
from lune.
Sorry, this is going to be a bit of a word vomit of stuff relating to this issue that's been on my mind. I'm currently working on a few libraries that target lune and would love to see a package manager. Some of my libraries depend on each other and it would be really nice to have a better solution than using git submodules. One of my libraries targets native luau, lune and roblox luau, so a shared pm would be really nice. I think one of the biggest problems with making cross-target libraries is that each target has it's own way of doing requires and it's own set of standard libraries, so it's pretty annoying to have to figure out how to retarget to 2 other platforms. Right now I use darklua for this but if we could have some kind of retargeting tool that would be amazing and would make runtime-agnostic libraries much easier to make and might encourage more developers to do so (I might actually try to implement this myself if I have time). Also, it would be really nice if the package manager had a useful and informative search (wally's search is abysmally bare-bones).
from lune.
I totally feel you @mxruben, I had to practically cancel some projects altogether since they need a package manager to function.
@filiptibell What's stopping us from creating our own package manager (possibly a wally fork)?
from lune.
What's stopping us from creating our own package manager (possibly a wally fork)?
I don't think there's anything stopping us, and there is a wally fork with lune support already, maybe others too. But any official package manager will need some extra thought put into it since we're going to be stuck with it for a long time.
It seems like the Luau team has making a package manager on their radar, but if you need something right now, I'd personally vendor dependencies, or maybe use the above wally fork.
from lune.
Related Issues (20)
- Add support for string.format HOT 1
- Support Audio manipulation HOT 5
- Support FFI HOT 1
- Support UI HOT 1
- Roblox Library `SetAttribute` errors when value is `nil` HOT 1
- using task.spawn with ASYNC functions cause hanging process HOT 2
- Customizing globals without having to fork lune [lune-std] HOT 2
- missing doc for new REGEX api
- requesting doc for net.socket HOT 7
- Add a way to process the stdout of a spawned process
- Add Support "TextChatService" HOT 1
- Add support for `zstd` Compression Algorithm to `@lune/serde` HOT 1
- lune 0.8.4 prints output tables separated by tabs instead of newlines HOT 2
- Improve formatting of LuaError struct when printed HOT 7
- process.spawn panics if the process does not exist (instead of erroring in a Luau-recoverable way) HOT 2
- Userdata with custom __tostring is not printed correctly HOT 1
- Add support for UDP socket HOT 1
- Lune compiles from source when using cargo binstall HOT 1
- unable to find `.luaurc` if `.luaurc` contains invalid JSON syntax
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lune.