@oxygenxml/js-license-aggregator

Generates an XML descriptor for third party licenses

Stats

stars 🌟issues ⚠️updated 🛠created 🐣size 🏋️‍♀️
@oxygenxml/js-license-aggregator
Minified + gzip package size for @oxygenxml/js-license-aggregator in KB

Readme

JS License Aggregator

Generates an XML file describing thrid-party components of the NPM dependencies.

Install

yarn add --dev @oxygenxml/js-license-aggregator

Usage

You can use it as an async function in a Gulp build.

let {genThirdPartyComponentsXml} = require('@oxygenxml/js-license-aggregator')

await genThirdPartyComponentsXml({
  path: '.'
})

// or you can use it with browserify if the bundle is generated with full paths

await genThirdPartyComponentsXml({
  browserifyBundles: ['build/app.js', 'build/polyfills.js']
})

Or just add it as a postinstall script in the `package.json file:

"scripts": {
  "postinstall": "aggregate-licenses"
}

How it works

The plugin generates a third-party-components.xml file by following these steps:

  1. Determine the components used in the package.json
  2. For each component, copy the definition in the existing thrid-party-components.xml if one exists
  3. For each new component, creates a draft definition (marked with the 'draft' attribute)

You should manually check the draft definitions and remove the draft attribute once you filled in the details.

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.