https://github.com/abraham/pkg-ok
👌 Checks paths and scripts defined in package.json before you publish
https://github.com/abraham/pkg-ok
bin cli crlf hacktoberfest lf line-endings main package path publish test
Last synced: about 23 hours ago
JSON representation
👌 Checks paths and scripts defined in package.json before you publish
- Host: GitHub
- URL: https://github.com/abraham/pkg-ok
- Owner: abraham
- License: mit
- Created: 2017-02-20T19:25:41.000Z (about 8 years ago)
- Default Branch: main
- Last Pushed: 2025-05-01T17:44:12.000Z (15 days ago)
- Last Synced: 2025-05-09T03:08:33.455Z (7 days ago)
- Topics: bin, cli, crlf, hacktoberfest, lf, line-endings, main, package, path, publish, test
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/pkg-ok
- Size: 262 KB
- Stars: 236
- Watchers: 1
- Forks: 12
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# pkg-ok [](https://github.com/abraham/pkg-ok/actions/workflows/index.yaml) [](https://www.npmjs.com/package/pkg-ok)
> `pkg-ok` checks paths and scripts defined in `package.json` before you publish 👌
- Ensures paths defined in `main`, `bin`, `module`, `types`, `typings`, `es2015`, `browser`, and `exports` exist
- Ensures paths defined in `main`, `bin`, and `browser` are relative
- Ensures `bin` scripts use cross-platform line endings## Usage
```sh
npm install pkg-ok --save-dev
``````js
// package.json
{
"main": "oops_this_file_doesnt_exist.js",
"scripts": {
"prepublishOnly": "... && pkg-ok"
}
}
``````sh
npm publish
# Error!
# Since main file doesn't exist, publish is blocked
```## CLI
Check the `package.json` in the current directory.
```sh
pkg-ok
```Check the `package.json` in a specific directory.
```sh
pkg-ok some/directory
```Check additional `package.json` fields or bin files.
```sh
pkg-ok --field someField --bin script.sh
```## API
```js
const pkgDirectory = __dirname;pkgOk(pkgDirectory, {
fields: ['someAdditonalField'],
bin: ['someAdditionalScript.sh'],
});
```## License
MIT