Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

generate-license-file

Package Overview
Dependencies
Maintainers
0
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

generate-license-file

Generates a text file containing all of the licenses for your production dependencies

  • 3.6.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
15K
decreased by-33.71%
Maintainers
0
Weekly downloads
 
Created
Source

Generate License File

A CLI and code library to generate a text file containing all of the licenses for your production third-party dependencies.

npm

Installation and Usage (CLI)

npm install generate-license-file --save-dev

npx generate-license-file --input package.json --output third-party-licenses.txt --overwrite
ArgumentDescription
--inputAbsolute or relative path to the package.json for the project.
--outputAbsolute 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

E.g. .glf.json, .glfrc.yml, .generatelicensefile.jsonc, .config/glf.js, and more.

{
  // Default config - can be passed in via config and/or CLI
  "inputs": ["./package.json"],
  "output": "./third-party-licenses.txt",
  "lineEnding": "lf",

  // Paths to any file's whose content will be appended to the end of the generated file.
  "append": ["./additional-content.txt"],

  // Substitute the given packages license with the content in the respective file.
  "replace": {
    "replaced-package@4.33.1": "./bespoke-license.txt",
    "another-replaced-package": "./bespoke-license-2.txt"
  },

  // Exclude any packages from the output.
  "exclude": ["my-package@1.2.0"],

  // Omit the version number in the output file
  "omitVersion": false
}

If you want to call your config file something else then you can pass it to the CLI via the --config argument:

npx generate-license-file --config ./my-config.json

Contributing and Building From Source

generate-license-file is an NX Monorepo. We have aliased common commands in the scripts section of the src/package.json to make working with the project easier.

Each package in the monorepo (under src/packages/) contains a README with further information. The main library and CLI is under packages/generate-license-file.

# cwd: src/

npm run lint

npm run test  # unit tests

npm run test:e2e  # e2e tests

npm run build  # will build all packages into src/dist/[package name]

License

generate-license-file is licensed under the ISC License.

Keywords

FAQs

Package last updated on 03 Nov 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc