package.json - как определить, какие части модуля установлены - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть такая структура проекта:

__tests__
example
src
.bablerc
.eslintignore
.eslintrd
.gitignore
package.json
package-lock.json
README.md

и package.json параметры, такие как:

{
  "name": "",
  "version": "0.0.1",
  "description": "",
  "main": "src/index.js",
  "scripts": {
    "test": "jest"
  },
  "files": [
    "src/"
  ],
  "repository": {
    "type": "git",
    "url": "url"
  },
  "jest": {
  },
  "devDependencies": {
  },
  "peerDependencies": {
  }
}

Когда я npm install, это модули, я получаю только папку srcс пустым index.js файлом.Цель состояла в том, чтобы пользователь только установил всю папку src, а не часть example, поскольку это пример приложения.Я думал, что "files": ["src/"], решит это.Однако это не делает то, что я ожидал.Я не вижу ничего, что находится в папке src.Он пуст!

Документы npm говорят:

Необязательное поле files - это массив шаблонов файлов, который описывает записи, которые должны быть включены, когда ваш пакет установлен как зависимость.Шаблоны файлов следуют синтаксису, аналогичному .gitignore, но в обратном порядке: в том числе файл, каталог или шаблон глобуса (*, ** / и т. Д.) Сделают его так, что файл будет включен в архив, когда он упакован.Если поле пропущено, по умолчанию будет [""], что означает, что оно будет включать в себя весь файл

Как разрешить пользователю устанавливать все папки src и игнорировать папку примера?

Я нахожусь на npm 5.6.0 и на узле v9.11.2

1 Ответ

0 голосов
/ 27 февраля 2019

Почти там!Запись файлов ведется как в строке .gitignore.Это работает:

"files": ["src"]

В целях тестирования вы можете запустить npm pack --dry-run, чтобы проверить в пакетных отчетах, какие файлы будут включены при запуске npm install в пакете, который вы разрабатываете.

...