@observablehq/rollup-plugin-credits

Generate credits information for included dependencies

Stats

StarsIssuesVersionUpdatedCreatedSize
@observablehq/rollup-plugin-credits
2.0.22 years ago3 years agoMinified + gzip package size for @observablehq/rollup-plugin-credits in KB

Readme

rollup-plugin-credits

CircleCI Greenkeeper badge

Generate 'credits' for included code: parses SPDX licenses, groups dependencies by license, groups licensed dependencies by author. In the interest of creating concise credits pages.

  • Detects license type from the license specification in package.json, which is parsed as SPDX
  • Detects authorship from, in order of preference:
    1. author field in package.json
    2. authors field in package.json
    3. maintainers field in package.json
    4. Parsing a license file, one of
    • LICENSE
    • LICENSE.md
    • LICENSE.txt
    • license
    • license.md
    • license.txt

Instead of a code bundle, this produces a bundle of credits output. Typically you'll run this to create a source file that powers your 'credits' page. The format of this output is as an ES module with a default export. The export is a list of licenses with { license, modules } keys, which contain a list of authors with { author, modules } keys.

Example output

export default [
  {
    license: { license: "MIT" },
    modules: [
      {
        author: "James Halliday",
        modules: [
          "resumer",
          "object-inspect"
        ]
      },
      { author: "Dominic Tarr", modules: ["through"] },
      {
        author: "Marijn Haverbeke and Ingvar Stepanyan",
        modules: ["acorn"]
      }
    ]
  },
  {
    license: { license: "ISC" },
    modules: [{ author: "Isaac Z. Schlueter", modules: ["inherits"] }]
  }
];

Options

  • whitelist: an array or Set of SPDX license identifiers that are allowed in the list. If provided and a non-whitelisted dependency is encountered, the transform will reject.

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.