clean-pkg-json
v1.2.0
Published
Clean package.json before publish by removing unnecessary properties
Downloads
3,022
Maintainers
Readme
clean-pkg-json
Script to remove unnecessary properties from package.json
on prepublish hook.
Support this project by ⭐️ starring and sharing it. Follow me to see what other cool projects I'm working on! ❤️
Why?
package.json
is primarily for declaring an npm package and describing how it can be consumed.
However, it can often get bloated with development concerns such as devDependencies
and configuration like eslintConfig
, prettier
, lint-staged
, simple-git-hooks
, etc.
Use clean-pkg-json
in a prepublish hook to remove unnecessary properties from package.json
. Useful in micropackages where every byte matters.
Usage
Add clean-pkg-json
to the prepack
hook, which runs before npm publish
and npm pack
.
// package.json
{
"name": "my-package",
// ...
"scripts": {
// ...
"prepack": "clean-pkg-json"
}
}
Flags
| Flag | Description |
| - | - |
| -k, --keep <property name>
| Property names to keep. Accepts multiple flags or a comma-delimited list. |
| -v, --verbose
| Verbose logs. |
| -d, --dry
| Dry run mode. Instead of writing to disk, it will log it. |
| -h, --help
| Show help |
| --version
| Show version |
Default preserved properties
By default, these properties are preserved in package.json
:
npm
name
version
private
publishConfig
scripts.preinstall
scripts.install
scripts.postinstall
scripts.dependencies
files
bin
browser
main
man
dependencies
peerDependencies
peerDependenciesMeta
bundledDependencies
optionalDependencies
engines
os
cpu
description
keywords
author
contributors
license
homepage
repository
bugs
funding
CDNs
Node.js
type
exports
imports
VSCode Extension Manifest
sponsor
publisher
displayName
categories
galleryBanner
preview
contributes
activationEvents
badges
markdown
qna
sponsor
extensionPack
extensionDependencies
extensionKind
icon
Angular Package Format
fesm2020
fesm2015
esm2020
es2020
TypeScript
types
typings
typesVersions