npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I鈥檝e always been into building performant and accessible sites, but lately I鈥檝e been taking it extremely seriously. So much so that I鈥檝e been building a tool to help me optimize and monitor the sites that I build to make sure that I鈥檓 making an attempt to offer the best experience to those who visit them. If you鈥檙e into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 馃憢, I鈥檓 Ryan Hefner聽 and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you鈥檙e interested in other things I鈥檓 working on, follow me on Twitter or check out the open source projects I鈥檝e been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon鈥搃sh.

Open Software & Tools

This site wouldn鈥檛 be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 馃檹

漏 2024 鈥撀燩kg Stats / Ryan Hefner

@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

npmyarnpnpmbun

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.