npm-look
v1.0.2
Published
npm name availability at a glance for packages accounts and scopes
Maintainers
Readme
npm-look
NPM name availability at a glance for packages, accounts, and scopes
Overview
npm-look is a lightweight utility to quickly check the availability of npm package names and usernames. It supports both CLI usage and programmatic API access. It also checks for potential conflicts with similar names by generating common variants of the input names.
Why npm-look?
- 10x faster than
npm-name - Checks both packages and usernames
- Detects naming conflicts and variants
- Works for scoped packages (
@scope/name)
Installation
npm install -g npm-look
# or
npm install npm-lookCLI Usage
npx npm-look [--package] <name> Check npm package name availability
npx npm-look --user <username> Check npm username availabilityOptions
| Option | Description |
| --------------- | ----------------------- |
| -p, --package | Check npm package names |
| -u, --user | Check npm usernames |
| -h, --help | Show help message |
| -v, --version | Show version number |
Examples
# Check multiple packages
npx npm-look react vue vite
# Check scoped packages
npx npm-look @react/core
# Explicit flags
npx npm-look --package react vue vite @react/core
npx npm-look --user tj npm npmjs react
# Mixed usage
npx npm-look react vite -p git django --user npm js -p vue next -u expressProgrammatic API
You can also use npm-look in your Node.js scripts or projects.
import { packageLook, userLook } from 'npm-look';
// Check package names
await packageLook(['react', 'vue', '@react/core']);
// Check usernames
await userLook(['tj', 'npm', 'express']);Functions
packageLook(name: string | string[])
Check npm package name availability and potential conflicts.
Parameters
name: A string or an array of package names.
Behavior
- Fetches data from
https://registry.npmjs.org/. - Checks availability and logs conflicts using common variants (
-,_,.).
- Fetches data from
Example
await packageLook('my-awesome-package');
userLook(username: string | string[])
Check npm username availability.
Parameters
username: A string or an array of usernames.
Behavior
- Fetches data from
https://www.npmjs.com/~. - Validates username format (lowercase letters, numbers, dashes only).
- Logs whether the username is available or taken.
- Fetches data from
Example
await userLook(['tj', 'npm', 'express']);
Variant Checks
npm-look generates common variants of package names to detect potential conflicts:
Replaces
-with_or.and vice versa.Removes characters for alternative naming checks.
Example:
import { variantsLook } from 'npm-look'; variantsLook('my-package'); // Output: ['mypackage', 'my_package', 'my.package', ...]
This ensures you can detect similar or conflicting package names before publishing.
License
Released under the Apache License 2.0.
