Параметри (.npmrc)
pnpm отримує конфігурацію з командного рядка, змінних оточення та файлів .npmrc
.
Командою pnpm config
можна оновити і відредагувати вміст власного та глобального файлів .npmrc
.
Ось чотири відповідні файли:
- конфігураційний файл для кожного проєкту (
/path/to/my/project/.npmrc
) - конфігураційний файл для кожного робочого простору (тека, в якій міститься файл
pnpm-workspace.yaml
файл) - файл конфігурації для кожного користувача (
~/.npmrc
) - файл глобальної конфігурації (
/etc/npmrc
)
Усі файли .npmrc
є INI-форматом списк у параметрів key = value
.
Значення у файлах .npmrc
можуть містити змінні env з використанням синтаксису ${NAME}
. Змінні env також можуть бути вказані зі стандартними значеннями. Використання ${NAME-fallback}
поверне fallback
, якщо NAME
не задано. ${NAME:-fallback}
поверне fallback
, якщо NAME
не задано або є порожнім рядком.
Налаштування підйому залежностей
hoist
- Стандартно: true
- Тип: boolean
Коли true
, всі залежності підійматися до node_modules/.pnpm/node_modules
. Це робить неперелічені залежності доступними для всіх пакунків всередині node_modules
.
hoist-workspace-packages
- Стандартно: true
- Тип: boolean
Коли true
, пакунки з робочих просторів буде звʼязано або з <workspace_root>/node_modules/.pnpm/node_modules
, або з <workspace_root>/node_modules
, залежно від інших параметрів підйому (hoist-pattern
та public-hoist-pattern
).
hoist-pattern
- Стандартно: ['*']
- Тип: string[]
Вказує pnpm, які пакунки слід підняти до node_modules/.pnpm/node_modules
. Стандартно, всі пакунки буде піднято — однак, якщо ви знаєте, що лише деякі пакунки мають фантомні залежності, ви можете скористатися цим параметром, щоб підняти лише фантомні залежності (рекомендується).
Наприклад:
hoist-pattern[]=*eslint*
hoist-pattern[]=*babel*
Ви також можете виключити шаблони з підйому за допомогою !
.
Наприклад:
hoist-pattern[]=*types*
hoist-pattern[]=!@types/react
public-hoist-pattern
- Стандартно: []
- Тип: string[]
На відміну від hoist-pattern
, який підіймає залежності до прихованої теки модулів у віртуальному сховищі, public-hoist-pattern
підіймає залежності, що відповідають шаблону, до кореневої теки модулів. Підняття до кореневої теки модулів означає, що код застосунку матиме доступ до фантомних залежностей, навіть якщо вони неправильно змінять стратегію розвʼязання.
Цей параметр корисний при роботі з деякими недосконалими інструментами, що підключаються, які не обробляють залежності належним чином.
Наприклад:
public-hoist-pattern[]=*plugin*
Зауваження: Встановлення shamefully-hoist
у true
аналогічно встановленню public-hoist-pattern
у *
.
Ви також можете заборонити підйом шаблонів за допомогою !
.
Наприклад:
public-hoist-pattern[]=*types*
public-hoist-pattern[]=!@types/react