Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

clean-pkg-json

privatenumber2.4kMIT1.2.0

Clean package.json before publish by removing unnecessary properties

npm, package.json, clean, prepublish

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

Bundlers (Webpack, Rollup, esbuild)