Skip to content

Prepares the package.json by removing all unnecessary fields and copying it to the output folder of esbuild.

License

Notifications You must be signed in to change notification settings

simonkovtyk/esbuild-plugin-package-json

Repository files navigation

package.json Plugin

Prepares the package.json by removing all unnecessary fields and
copying it to the output folder of esbuild.

NPM Downloads NPM License GitHub package.json version TypeScript types


Add a ⭐ to this repository — it motivates me a lot!

⚡️ Getting started

Simply install this package with your package manager.

npm install -D esbuild-plugin-package-json
📦 other package manager

Here are examples for installing the package with other package manager.

💾 yarn

yarn add -D esbuild-plugin-package-json

💾 pnpm

pnpm install -D esbuild-plugin-package-json

Looks good so far 🔥 — now you have installed the latest version!

💡 Introduction

While a package is a relase candidate, there are a few fields, that may are considered as a security vulnerability or are just not needed in the published package.

The following fields can be safely removed:

{
  "scripts": {
    // something here...
  },
  "devDependencies": {
    // something here...
  }
}

🔧 Usage

packageJsonPlugin(options);

This function needs to be called inside the esbuild configuration in order to use this plugin. It will provide the plugin inside the build process of esbuild.

Show an example of the integration
esbuild.build({
  // some configuration...
  plugins: [
    packageJsonPlugin();
    // more plugins here...
  ]
})
Show an example of the configuration
packageJsonPlugin({
  // configure here
});

Properties

lifecycle

Default: onEnd

An string with either the value onStart or onEnd.

Show an example
packageJsonPlugin({
  lifecycle: "onStart"
});

See here for more about esbuild lifecycles.

overrideOut

Default: undefined (esbuild's output directory)

A string, that specifies the output directory for the package.json.

Show an example
packageJsonPlugin({
  overrideOut: "dist" // any directory allowed
});

overridePackageJson

Default: undefined (npm default)

You can override the start directory for the package.json search, if a string is provided here.

Show an example
packageJsonPlugin({
  overridePackageJson: "libs/my-lib" // any directory allowed
});

Returns

Type: Plugin

An instance of this plugin, that will be used by esbuild automatically.

License

The MIT License (MIT) - Please have a look at the License file for more details.

Contributing

Want to contribute to an open-source project on GitHub but unsure where to start? Check out this comprehensive step-by-step guide on how to contribute effectively!

From forking the repository to creating pull requests, this guide walks you through every stage of the process, helping you make a successful contribution to this GitHub project. Start collaborating, learn new skills, and make an impact on this project!

See here for the contribute guide at GitHub.


GitHub @simonkovtyk