@nyxb/nyxi
v1.0.0
Published
馃摝 Always right package manager
Downloads
752
Readme
nyxi
~~npm i
in a pnpm project, again? Sh*t!~~
nyxi - use the right package manager
npm 路 yarn 路 pnpm 路 bun
nyxinit
- init
Creates a prompt to choose between package.json and tsconfig.json and generates the file when selected.
nyxi
- install
nyxi
# npm install
# yarn install
# pnpm install
# bun install
nyxi preact
# npm i preact
# yarn add preact
# pnpm add preact
# bun add preact
nyxi @types/node -D
# npm i @types/node -D
# yarn add @types/node -D
# pnpm add -D @types/node
# bun add -d @types/node
nyxi --frozen
# npm ci
# yarn install --frozen-lockfile (Yarn 1)
# yarn install --immutable (Yarn Berry)
# pnpm install --frozen-lockfile
# bun install --no-save
nyxi -g eslint
# npm i -g eslint
# yarn global add eslint (Yarn 1)
# pnpm add -g eslint
# bun add -g eslint
# this uses default agent, regardless your current working directory
nyxr
- run
nyxr dev --port=3000
# npm run dev -- --port=3000
# yarn run dev --port=3000
# pnpm run dev --port=3000
# bun run dev --port=3000
nyxrr
# interactively select the script to run
# supports https://www.npmjs.com/package/npm-scripts-info convention
nyxr -
# rerun the last command
nyxlx
- download & execute
nyxlx preact
# npx preact
# yarn dlx preact
# pnpm dlx preact
# bunx preact
nyxu
- upgrade
nyxu
# (not available for bun)
# npm upgrade
# yarn upgrade (Yarn 1)
# yarn up (Yarn Berry)
# pnpm update
nyxu -i
# (not available for npm & bun)
# yarn upgrade-interactive (Yarn 1)
# yarn up -i (Yarn Berry)
# pnpm update -i
nyxun
- uninstall
nyxun unbuild
# npm uninstall unbuild
# yarn remove unbuild
# pnpm remove unbuild
# bun remove unbuild
nyxun -g silent
# npm uninstall -g silent
# yarn global remove silent
# pnpm remove -g silent
# bun remove -g silent
nyxci
- clean install
nyxci
# npm ci
# yarn install --frozen-lockfile
# pnpm install --frozen-lockfile
# bun install --no-save
if the corresponding node manager is not present, this command will install it globally along the way.
nyxa
- agent alias
nyxa
# npm
# yarn
# pnpm
# bun
nyxa run foo
# npm run foo
# yarn run foo
# pnpm run foo
# bun run foo
Change Directory
nyxi -C packages/foo preact
nyxr -C playground dev
Config
; ~/.nyxirc
; fallback when no lock found
defaultAgent=npm # default "prompt"
; for global installs
globalAgent=npm
# ~/.bashrc
# custom configuration file path
export NYXI_CONFIG_FILE="$HOME/.config/nyxi/nyxirc"
How?
nyxi assumes that you work with lockfiles (and you should)
Before it runs, it will detect your yarn.lock
/ pnpm-lock.yaml
/ package-lock.json
/ bun.lockb
to know current package manager (or packageManager
field in your packages.json if specified), and runs the corresponding commands.