Как заставить пряжу не выдавать предупреждение для поля лицензии?

При запуске yarn install я каждый раз вижу предупреждение о том, что лицензия не подана, хотя я ее определил:

$ jq . package.json 
{
  "name": "license-example",
  "version": "1.0.0",
  "main": "index.js",
  "license": "UNLICENSED",
  "dependencies": {
    "lodash": "^4.17.4",
    "moment": "^2.18.1"
  }
}

который согласно определению npm должен быть действительным:

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

{ "license": "UNLICENSED" }

Вот вывод:

yarn install
yarn install v0.27.5
warning ../package.json: No license field
[1/4] Resolving packages...
success Already up-to-date.
Done in 0.09s.

Моя главная цель - чтобы это предупреждение исчезло, но я также не хочу предоставлять недействительную ЛИЦЕНЗИЮ с открытым исходным кодом, чтобы предупреждение действовало, даже если это внутренний проект, который никогда не будет виден снаружи.

Как пометить проект пряжи как пропреатор без появления предупреждения?

Ответ 1

Поведение Yarn и npm по умолчанию состоит в том, что они смотрят в родительские каталоги.

У меня был устаревший и забытый package.json в моей домашней папке без поля лицензии:

~/package.json

При запуске yarn install в моем проекте:

~/my-project/package.json

пряжа также нашла тот в моем домашнем каталоге и сообщила об ошибке для этого. Я принял это за мой проект package.json.

Предупреждение проясняет это, предваряя путь .. для родительской папки.

warning ../package.json: No license field

После удаления этого устаревшего package.json я получаю ожидаемый результат:

yarn install v0.27.5
[1/4] Resolving packages...
success Already up-to-date.
Done in 0.88s.