Skip to content
This repository was archived by the owner on Jul 31, 2024. It is now read-only.

NodeSecure/npm-tarball-license-parser

Repository files navigation

Caution

This project has been migrated to scanner monorepo

npm tarball license parser

version Maintenance OpenSSF Scorecard mit build

Fetch all licenses and their SPDX conformance from a given npm tarball.

Requirements

Getting Started

This package is available in the Node Package Repository and can be easily installed with npm or yarn.

$ npm i @nodesecure/ntlp
# or
$ yarn add @nodesecure/ntlp

Usage example

import * as ntlp from "@nodesecure/ntlp";

// Asynchronous
{
  const licenses = await ntlp.extractLicenses(process.cwd());
  console.log(licenses);
}

// Synchronous
{
  const licenses = ntlp.extractLicensesSync(process.cwd());
  console.log(licenses);
}

API

extractLicenses(location: string, options?: extractAsyncOptions): Promise< SpdxExtractedResult >

Search and parse all licenses at the given location.

Return all licenses with their SPDX conformance.

import {
  spdxLicenseConformance
} from "@nodesecure/licenses-conformance";

export interface SpdxLicenseConformance extends spdxLicenseConformance {
  from: string;
}

export interface SpdxExtractedResult {
  /**
   * List of license (with their SPDX conformance)
   */
  licenses: SpdxLicenseConformance[];
  /**
   * Has multiple unique licenses (MIT, ISC ..)
   */
  hasMultipleLicenses: boolean;
  /**
   * Unique list of license (MIT, ISC). The list cannot contain duplicate.
   */
  uniqueLicenseIds: string[];
  /**
   * List of licenses with no SPDX (or with invalid ids).
   */
  invalidLicenseIds: string[];
}

extractLicensesSync(location: string, options?: ExtractSyncOptions): SpdxExtractedResult

Same as extractLicenses but use synchronous FS API.

Contributors ✨

All Contributors

Thanks goes to these wonderful people (emoji key):

Gentilhomme
Gentilhomme

💻 📖 👀 🛡️ 🐛
Tony Gorez
Tony Gorez

💻 📖 👀
Quentin Lepateley
Quentin Lepateley

📖
Nicolas Hallaert
Nicolas Hallaert

📖
Vincent Dhennin
Vincent Dhennin

💻
Kouadio Fabrice Nguessan
Kouadio Fabrice Nguessan

🚧

License

MIT

About

npm tarball license parser and conformance checker

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 13