diff --git a/Cargo.toml b/Cargo.toml index 4daa5b5..8013baf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,6 +16,7 @@ members = [ "rsquickjs", # xmas-js + "package-manager", "modules", "repl", ] @@ -23,11 +24,12 @@ members = [ [workspace.dependencies] # TODO: modify quickjs and rsquickjs-sys later rquickjs-sys = { version = "0.10.0", git = "https://github.com/DelSkayn/rquickjs", rev = "111951b1a31075bdff46684e0ff29f37ff2a04b2" } - rsquickjs-core = { version = "0.10.0", path = "rsquickjs/core" } rsquickjs-macro = { version = "0.10.0", path = "rsquickjs/macro" } rsquickjs = { version = "0.10.0", path = "rsquickjs" } + xmas-js-modules = { path = "modules" } +xmas-package-manager = { path = "package-manager" } [dependencies] xmas-js-modules = { workspace = true } diff --git a/README.md b/README.md index eb50fe9..ef88945 100644 --- a/README.md +++ b/README.md @@ -207,6 +207,7 @@ Xmas.JS stands on the shoulders of giants: - **[rquickjs](https://github.com/DelSkayn/rquickjs)** - Rust bindings (we maintain a fork) - **[LLRT](https://github.com/awslabs/llrt)** - Inspiration and code for AWS Lambda optimization - **[Tokio](https://tokio.rs/)** - Async runtime that powers our I/O +- **[Cotton](https://github.com/danielhuang/cotton)** - Package manager forked for our needs **Inspired by:** - [Deno](https://deno.land/) - Modern JavaScript runtime design diff --git a/TODO.md b/TODO.md index ee934ce..e2031fc 100644 --- a/TODO.md +++ b/TODO.md @@ -4,9 +4,6 @@ i decided to use WAMR, because it is more lightweight and mature than other runtimes like wasmtime or wasmer. in addition, WAMR has GC support and both JIT and AOT compilation modes. -# shell for executing package.json scripts - -`deno_task_shell` is a great example # Networking API @@ -32,13 +29,6 @@ and the host application can grant or deny those permissions. for both main thread and worker threads. -# Package Manager - -i want to implement a fast and lightweight package manager, -maybe i need to research at [cotton](https://github.com/danielhuang/cotton) which -does not currently support Git repositories or local paths as dependencies; -and i also want to support jsr and http package sources. - # bundler / minifier / optimizer / typescript / lint / etc... OXC is great! @@ -49,12 +39,11 @@ xmas: start repl - [ ] run . - [ ] run also could behave like npx if not running a file -- [ ] add : in project add to project.json dependencies, else add to global cache -- [ ] remove : in project remove from project.json dependencies, else remove from global cache -- [ ] install i : install all dependencies in project.json -- [ ] update u : update all dependencies in project.json -- [ ] list ls : list all dependencies in project.json, or global cache if not in project -- [ ] execute exec