0.0.0-semantic-release ā€¢ Published 11 months ago

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

Weekly downloads
-
License
MIT
Repository
github
Last release
11 months 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)