Skip to content

i-novus-llc/License-Checker

Repository files navigation

@i-novus/license-checker

NPM version

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 для npm (package.json)

npm

В файле package.json добавьте скрипт:

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

yarn

yarn install не запускает postinstall, если небыло изменения дерева зависимостей. Для исправления этого поведения рекоммендуется установить плагин и вызывать его следующим образом:

В файле .yarnrc.yml добавьте строку

afterInstall: yarn run license-checker

Ceotcndetn

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

Библиотека 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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors