Перейти к основному содержимому
Версия: 7.x

pnpm deploy

Добавлено в: v7.4.0

Deploy a package from a workspace.

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

pnpm --filter=<deployed project name> deploy <target directory>

Если проект строите перед развертыванием, также используйте параметр --prod, чтобы пропустить установку devDependencies.

pnpm --filter=<имя развёртываемого проекта> --prod deploy <целевая директория>

Использование в образе docker. После построения всего в своем monorepo, сделайте это во втором образе, использующий базовый образ monorepo в качестве контекста сборки или в дополнительном этапе сборки:

# syntax=docker/dockerfile:1.4

FROM workspace as pruned
RUN pnpm --filter <имя вашего пакета> --prod deploy pruned

FROM node:18-alpine
WORKDIR /app

ENV NODE_ENV=production

COPY --from=pruned /app/pruned .

ENTRYPOINT ["node", "index.js"]

Опции

--dev, -D

Only devDependencies are installed regardless of the NODE_ENV.

--no-optional

optionalDependencies не будут установлены.

--prod, -P

Packages in devDependencies won't be installed.

--filter <селектор пакета>

Подробнее о фильтрации.

Файлы, включенные в развернутый проект

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