Skip to content

esbuild plugin to add license banner to the final bundle and output third party licenses

License

Notifications You must be signed in to change notification settings

upupming/esbuild-plugin-license

Repository files navigation

esbuild-plugin-license

npm (tag) npm

License generation tool similar to https://github.com/mjeanroy/rollup-plugin-license

Usage

npm i -D esbuild-plugin-license
import * as esbuild from 'esbuild'
import esbuildPluginLicense from 'esbuild-plugin-license';

esbuild.build({
  entryPoints: ['index.ts'],
  outdir: 'dist',
  plugins: [esbuildPluginLicense()],
  bundle: true,
  platform: 'node'
})

Config

Example of default config

export const defaultOptions: DeepRequired<Options> = {
  banner: `/*! <%= pkg.name %> v<%= pkg.version %> | <%= pkg.license %> */`,
  thirdParty: {
    includePrivate: false,
    output: {
      file: 'dependencies.txt',
      // Template function that can be defined to customize report output
      template(dependencies) {
        return dependencies.map((dependency) => `${dependency.packageJson.name}:${dependency.packageJson.version} -- ${dependency.packageJson.license}`).join('\n');
      },
    }
  }
} as const

About

esbuild plugin to add license banner to the final bundle and output third party licenses

Resources

License

Stars

Watchers

Forks

Packages

No packages published