clean-pkg-json

1.2.0 • Public • Published

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

Bundlers (Webpack, Rollup, esbuild)

Package Sidebar

Install

npm i clean-pkg-json

Weekly Downloads

364

Version

1.2.0

License

MIT

Unpacked Size

43.2 kB

Total Files

4

Last publish

Collaborators

  • hirokiosame