Skip to content

nyxb/nyxi

Folders and files

NameName
Last commit message
Last commit date
May 23, 2024
May 23, 2024
May 23, 2024
May 23, 2024
May 23, 2024
Apr 10, 2023
Jun 22, 2023
May 23, 2024
May 23, 2024
May 23, 2024
May 23, 2024
May 23, 2024
May 23, 2024
May 23, 2024

Repository files navigation

nyxi

npm i in a pnpm project, again? Sh*t!

nyxi - use the right package manager


npm i -g @nyxb/nyxi

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.