A fast global JavaScript package manager and runtime engine built in Rust.
Install NPM packages globally, rewrite imports smartly, and run your JavaScript project with zero node_modules
required.
- Global package installation to
~/.neonpack/lib
- Auto-import rewriting for bare modules (e.g.,
import lodash from "lodash"
) - Fully integrates with your project’s
package.json
- No
node_modules/
, no symlinks, no hard links - Designed for speed and portability
git clone https://github.com/yourusername/neonpack
cd neonpack
./build.sh
Install an NPM package globally and update your project’s package.json
.
neonpack install lodash
Outcome:
- Downloads and extracts to:
~/.neonpack/lib/lodash/<version>/
- Updates your local
package.json
dependencies
Install a package globally without modifying the current project.
neonpack install -g lodash
Outcome:
- Downloads and extracts to:
~/.neonpack/lib/lodash/<version>/
- Does not touch
package.json
Activate a globally installed package by adding it to your current project's package.json
.
neonpack use lodash
Outcome:
- Looks for the package in global storage
- Adds it to your project’s
package.json
with the correct version
Run a script from your package.json
with automatic import rewriting.
neonpack run dev
If your package.json
contains:
{
"scripts": {
"dev": "node src/index.js"
}
}
Then neonpack run dev
will:
- Rewrite ESModule imports like
import x from "lodash"
into full file:// paths - Run the transformed file using Node.js
Remove a package from your project’s package.json
.
neonpack remove lodash
Outcome:
- Deletes entry from
dependencies
ordevDependencies
inpackage.json
Remove a package from global storage.
neonpack remove -g lodash
Outcome:
- Deletes
~/.neonpack/lib/lodash/
install
fetches the package tarball from the npm registryextract_tarball
unpacks it to~/.neonpack/lib/<pkg>/<version>
run
rewrites ESM imports to absolutefile://
URLs- Packages are never copied into project folders
- No
node_modules
, no symbolic links, no hard links
~/.neonpack/lib/
├── lodash/
│ └── 4.17.21/
│ ├── package.json
│ ├── lodash.js
│ └── ...