Generate License File
A CLI and code library to generate a text file containing all of the licenses for your production third-party dependencies.
<a href="https://www.npmjs.com/package/generate-license-file" <img alt="npm" src="https://img.shields.io/npm/v/generate-license-file?logo=npm" </a
<a href="https://codecov.io/github/TobyAndToby/generate-license-file" <img src="https://codecov.io/github/TobyAndToby/generate-license-file/branch/main/graph/badge.svg"/ </a
Installation and Usage (CLI)
npm install generate-license-file --save-dev
npx generate-license-file --input package.json --output third-party-licenses.txt --overwrite| Argument | Description | | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | | --input | Absolute or relative path to the package.json for the project. | | --output | Absolute or relative path for the generated output file. | | --overwrite | (optional) Allows the CLI to overwrite existing output files. If this option is not provided and the output file already exists, you will be prompted to confirm. | | --eol | (optional) Specify the line endings used in the output file. Accepted values are crlf or lf. If no value is provided your system default will be used. | | --ci | (optional) Stops the CLI from prompting the user for inputs and instead exits with a non-zero exit code. | | --no-spinner | (optional) Disable the CLI spinner while the output file is being generated. | | --config | (optional) Specify the path to a generate-license-file config file at a non-standard location. | | --version | (optional) Print the installed generate-license-file version. |
If either the --input or --output are omitted the CLI will prompt you for their values.
For a full description of the CLI arguments and their usages please see the relevant docs page.
Installation and Usage (Library API)
npm install generate-license-file --save-dev#### TypeScript
import { generateLicenseFile, getLicenseFileText, getProjectLicenses } from "generate-license-file";
// Generate the license file and write it to disk.
await generateLicenseFile("./package.json", "./third-party-licenses.txt");
// Generate the license file content and return it as a string.
const licenseFileText: string = await getLicenseFileText("./package.json");
// Get an array of objects each containing the details of an
// identified license and the dependencies it pertains to.
const licenses: ILicense[] = await getProjectLicenses("./package.json");For a full description of the library API and example usages please see the relevant docs page.
Advanced Configuration
Advanced configuration of the generated output can be done using a configuration file. In addition to the basic CLI arguments, a configuration file allows you to specify appendices, exclusions, and replacements.
Config files can be called either .glf or .generatelicensefile and can be customised using the following options:
- File name can optionally end with rc
- Can be in a ./.config directory (no longer needs the . prefix on the file name)
- Have the following file extensions: .json, jsonc, .json5, .yaml, .yml, .js, .cjs