Checks if a given string is a valid npm package name adhering to npm rules and best practice
npm:
npm install is-valid-npm-name
yarn:
yarn add is-valid-npm-name
const isValidNpmName = require('is-valid-npm-name');
const check = isValidNpmName('fs');
// `check` is `true` or a String (e.g. why it was not a valid npm name)
if (check !== true) {
console.error(check);
// 'package name cannot use built-in core Node module name'
}
- package name must be a String
- remove trailing spaces from start and end of package name
- package name cannot be more than 214 characters
- package name cannot start with a dot nor underscore
- package name cannot have uppercase letters
- scoped package name must start with "@" character
- scoped package name has an extra "@" character
- scoped package name must be in the format of
@myorg/package
- scoped package name has an extra "/" character
- package name cannot use built-in core Node module name
- package name had non-URL-safe characters
We ignore a single npm rule, which is:
don't put "js" or "node" in the name
This is due to the sheer number of npm package name squatters.
Sometimes it's absolutely necessary to affix with js
or node
.
Name | Website |
---|---|
Nick Baugh | http://niftylettuce.com/ |