@abraham/pkg-ok

Checks package.json main and bin paths

Usage no npm install needed!

<script type="module">
  import abrahamPkgOk from 'https://cdn.skypack.dev/@abraham/pkg-ok';
</script>

README

pkg-ok Build status npm

pkg-ok checks paths and scripts defined in package.json before you publish 👌

  • Ensures paths defined in main, bin, module, types, typings, es2015 and browser exist
  • Ensures bin scripts use cross-platform line endings

This is a modernized fork of typicode/pkg-ok.

Usage

npm install @abraham/pkg-ok --save-dev
// package.json
{
  "main": "oops_this_file_doesnt_exist.js",
  "scripts": {
    "prepublishOnly": "... && pkg-ok"
  }
}
npm publish
# Error!
# Since main file doesn't exist, publish is blocked

Options

pkg-ok can be configured to check additional package.json fields or bin files

pkg-ok --field someField --bin script.sh

API

const pkgDirectory = __dirname

pkgOk(pkgDirectory, {
  fields: ['someAdditonalField'],
  bin: ['someAdditionalScript.sh']
})

License

MIT