https://github.com/tomokimiyauci/is-valid-package-name
Validation for package name
https://github.com/tomokimiyauci/is-valid-package-name
denoland is-valid nestland npm typescript validation validator
Last synced: 3 months ago
JSON representation
Validation for package name
- Host: GitHub
- URL: https://github.com/tomokimiyauci/is-valid-package-name
- Owner: TomokiMiyauci
- License: mit
- Created: 2021-05-27T13:05:09.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-12-08T03:03:13.000Z (over 2 years ago)
- Last Synced: 2025-04-03T17:38:02.628Z (3 months ago)
- Topics: denoland, is-valid, nestland, npm, typescript, validation, validator
- Language: TypeScript
- Homepage:
- Size: 315 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
![]()
is-valid-package-name
Validation for package name[](https://github.com/TomokiMiyauci/is-valid-package-name/actions/workflows/test.yml)
[](https://github.com/TomokiMiyauci/is-valid-package-name/releases)
[](https://deno.land/x/is_valid_package_name)
[](https://nest.land/package/is_valid_package_name)
[](https://doc.deno.land/https/deno.land/x/is_valid_package_name/mod.ts)
[](https://github.com/denoland/deno)


[](https://david-dm.org/TomokiMiyauci/is-valid-package-name)
[](https://codecov.io/gh/TomokiMiyauci/is-valid-package-name)
[](https://www.codacy.com/gh/TomokiMiyauci/is-valid-package-name/dashboard?utm_source=github.com&utm_medium=referral&utm_content=TomokiMiyauci/is-valid-package-name&utm_campaign=Badge_Grade)




[](./LICENSE)---
A validator collection of package names for each package registry
## :sparkles: Features
- :zap: Multi runtime support (`Deno`, `Node.js`)
- :books: Pure TypeScript and provides type definition
- :package: Optimized, super slim size
- :page_facing_up: TSDoc-style commentsCurrently providing validators for the following package registries:
Check each for detailed validation rules.- [npm](./npm/README.md)
- [deno.land](./deno_land/README.md)
- [nest.land](./nest_land/README.md)## :zap: Overview
### isValid*
The `isValid*` function returns a boolean if the package name is valid as a package.
```ts
isValidNpm('is-valid-package-name') // true
isValidNpm('node_modules') // falseisValidDenoLand('is_valid') // true
isValidDenoLand('is-valid') // falseisValidNestLand('oak') // true
isValidNestLand('o') // false
```### validate*
The `validate*` function returns tuple of boolean and error message.
```ts
validateNpm('is-valid-package-name') // [ true, "" ]
validateNpm('node_modules') // [ false, "Name is blacklisted" ]validateDenoLand('is_valid') // [ true, "" ]
validateDenoLand('is-valid') // [ false, "Name contains only the characters a-z, 0-9 and _" ]validateNestLand('oak') // [ true, "" ]
validateNestLand('o') // [ false, "Name length must be greater than 1" ]
```## :dizzy: Usage
`is-valid-package-name` provides multi platform modules.
### 🦕 Deno
#### [deno.land](https://deno.land/x/is_valid_package_name)
```ts
import { isValidNpm ,validateNpm, isValidDenoLand, validateDenoLand, isValidNestLand, validateNestLand } from "https://deno.land/x/is_valid_package_name/mod.ts";
```#### [nest.land](https://nest.land/package/is_valid_package_name)
```ts
import { isValidNpm ,validateNpm, isValidDenoLand, validateDenoLand, isValidNestLand, validateNestLand } from "https://x.nest.land/is_valid_package_name/mod.ts";
```### :package: Node.js
#### Install
```bash
npm i is-valid-package-name
or
yarn add is-valid-package-name
```#### ES modules
```ts
import { isValidNpm ,validateNpm, isValidDenoLand, validateDenoLand, isValidNestLand, validateNestLand } from "is-valid-package-name";
```#### Commonjs
```ts
const { isValidNpm ,validateNpm, isValidDenoLand, validateDenoLand, isValidNestLand, validateNestLand } = require("is-valid-package-name");
```### :globe_with_meridians: Browser
The module that bundles the dependencies is obtained from [skypack](https://www.skypack.dev/view/is-valid-package-name).
```html
import { isValidNpm ,validateNpm, isValidDenoLand, validateDenoLand, isValidNestLand, validateNestLand } from "https://cdn.skypack.dev/is-valid-package-name";
```
## :green_heart: Support
> ie is no longer supported to reduce bundle size.
The TypeScript version must be `4.1.0` or higher.
This project provides `ES modules` and `Commonjs`.
If you have an opinion about what to support, you can open an
[issue](https://github.com/TomokiMiyauci/equal/issues) to discuss it.The `browserslist` has the following settings.
```text
defaults
last 8 version
not IE <= 11
not ie_mob <= 11
node 6
```|
Deno |
Node.js |
Edge |
Firefox |
Chrome |
Safari |
iOS Safari |
Samsung |
Opera |
| --------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| `^1.6.0` | `^6.17.0` | `^83` | `^78` | `^83` | `^11` | `^12.0` | `^7.2` | `^68` |## :handshake: Contributing
Contributions, issues and feature requests are welcome!
Feel free to check [issues](https://github.com/TomokiMiyauci/is-valid-pacakge-name/issues).## :seedling: Show your support
Give a ⭐️ if this project helped you!
## :bulb: License
Copyright © 2021-present [TomokiMiyauci](https://github.com/TomokiMiyauci).
Released under the [MIT](./LICENSE) license