0.0.0-semantic-release • Published 2 years ago

clean-package-dot-json v0.0.0-semantic-release

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Clean package.json in prepack hook before publishing your package by removing unnecessary properties.

Feel free to reach me on other social platforms! 😊 YouTube || Discord || Instagram || Twitter || TikTok || Blog || Facebook

šŸ™ Support

Please ā­ļø star this project and share it with others to show your support. Follow me for updates on future projecs and tutorials! ā¤ļø


Purpose?

package.json most of the time gets filled up with development related information ex: devDependencies and configuration like eslintConfig, prettier, lint-staged, simple-git-hooks, etc.

If you are building npm package or micropackages where every byte matters then you can use clean-package-dot-json in a prepack hook to remove unnecessary properties from package.json.

Install

npm install --save-dev clean-package-dot-json

Usage

Add clean-package-dot-json to the prepack hook, which runs before npm publish and npm pack.

// package.json
{
  name: 'my-package',
  // ...
  scripts: {
    // ...
    prepack: 'node ./node_modules/.bin/clean-package-dot-json',
  },
}

Flags

FlagDescription
-i, --ignore <property name>Property names to ignore during cleanup. Accepts multiple flags or a comma-delimited list.
-v, --verboseVerbose logs.
-d, --dryDry run mode. Instead of writing to disk, it will log it.

Default ignored properties

By default, these properties are ignored 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)