Skip to content

Aworldc/Npax

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

An npm client written in rust, with an emphasis on scripting and offline usability

GitHub top language GitHub commit activity (branch)

Summary

In most npm clients, like npm and pnpm, dependencies are the core of it - packages have dependencies, and they have scripts.

Npax thinks differently. In Npax, scripts are the core of everything. Individual scripts can depend on specific packages, and they can depend on other scripts.

Npax will eventually be extended to be a replacement for npm, nvm, pip, python-venv, cargo, rustup, and that odd folder full of bash scripts.

Features/Roadmap

🟢 Done 🟡 In progress 🔴 Not started

  • 🟢 Project initialization
  • 🟢 Scripts
  • 🟡 Scripts that depend on packages
  • 🟡 Scripts that depend on other scripts
  • 🔴 Offline usage/cacheing
  • 🔴 Export/compile npax.toml files to package.json files
  • 🔴 Import/convert package.json files to npax.toml files
  • 🔴 Scaffholding/degit-like command
  • 🔴 Modules
  • 🔴 Subpackages/monorepo system
  • 🔴 Scripts that depend on scripts of subpackages
  • 🔴 Concurrency/threading
  • 🔴 Global dependencies/npx-like command
  • 🔴 Node version management
  • 🔴 Python/Pypi support
  • 🔴 Rust/Crates.io support
  • 🔴 Python version management
  • 🔴 Rust version management without using rustup
  • 🔴 Rust/Crates.io compilation without using cargo

Usage

The heart of npax is the npax.toml file, where scripts are stored.

TODO: write more here