@i-novus/license-checker

0.0.7 • Public • Published

@i-novus/license-checker

CLI утилита для проверки лицензий используемых зависимостей. По умолчанию разрешены библиотеки со свободными лицензиями

Проблема: существуют "вирусные" лицензии, которые могут накладывать ограничения на финальный код. Например, использование библиотеки с "вирусной" лицензией может потребовать от правообладателя итогового продукта раскрытия исходных кодов, что недопустимо в коммерческом ПО.

CLI Использование

license-checker

В случае, если присутствует недопустимая лицензия, команда yarn install выполнится с ошибкой exit code 1. В этом случае можно посмотреть логи, либо просто выполнить скрипт license-checker в консоли

Параметры

Аргумент Значение по умолчанию Описание
--exclude Перечисление имен библиотек через ";" которые используют не свободные лицензии, использование которых согласовано

Применение

Установка

npm install --save-dev @i-novus/license-checker

или

yarn add --dev @i-novus/license-checker

Вызов в стадии postinstall (package.json)

{
  "scripts": {
    "postinstall": "license-checker"
  }
}

Известные примеры исключений

Библиотека axe-core использует лицензию Mozilla Public License, version 2.0 (MPL 2.0), которая не является "вирусной", но и не открытая. При использовании кода опубликованного под этой лицензией, есть требование по раскрытию итогового кода ПО, что является недопустимым (пункты 3.1 и 3.2). Однако, т.к. axe-core используется в eslint-plugin-jsx-a11y (линтинг кода) и код axe-core не попадает в итоговую сборку, то библиотека может использоваться при создании коммерческого ПО без раскрытия исходного кода. В этом случае запуск команды будет выглядеть так:

Библиотека tsc-watch использует под капотом map-stream версию 0.1.0, она битая с точки зрения лицензии. Нужно резолвить версию 0.0.5, она полностью идентична, но содержит MIT лицензию.

license-checker --exclude axe-core

License

Apache-2.0

Package Sidebar

Install

npm i @i-novus/license-checker

Weekly Downloads

30

Version

0.0.7

License

Apache-2.0

Unpacked Size

19.7 kB

Total Files

7

Last publish

Collaborators

  • sergey481516
  • notoriginal
  • alexeysokolov
  • predok-mif
  • alexanderibelov
  • esadykov