pnpm deploy
ワークスペースからパッケージをデプロイします。デプロイ中には、デプロイされるパッケージのファイルがターゲットディレクトリにコピーされます。ワークスペースからの依存関係を含む、デプロイされるパッケージのすべての依存関係は、ターゲットディレクトリの分離された`node_modules`ディレクトリ内にインストールされます。ターゲットディレクトリには、サーバーにコピーして追加の手順なしで実行できるポータブルパッケージが含まれます。
使用方法
pnpm --filter=<deployed project name> deploy <target directory>
デプロイ前にプロジェクトをビルドする場合は、`--prod`オプションも使用して`devDependencies`のインストールをスキップしてください。
pnpm --filter=<deployed project name> --prod deploy <target directory>
Dockerイメージでの使用方法。モノレポ内のすべてをビルドした後、モノレポベースイメージをビルドコンテキストとして使用する、または追加のビルドステージで、2番目のイメージで行います。
# syntax=docker/dockerfile:1.4
FROM workspace as pruned
RUN pnpm --filter <your package name> --prod deploy pruned
FROM node:18-alpine
WORKDIR /app
ENV NODE_ENV=production
COPY --from=pruned /app/pruned .
ENTRYPOINT ["node", "index.js"]
オプション
--dev, -D
`NODE_ENV`に関係なく、`devDependencies`のみがインストールされます。
--no-optional
`optionalDependencies`はインストールされません。
--prod, -P
`devDependencies`内のパッケージはインストールされません。
--filter <package_selector>
デプロイされたプロジェクトに含まれるファイル
デフォルトでは、デプロイ中にプロジェクトのすべてのファイルがコピーされます。プロジェクトの`package.json`には、「files」フィールドを含めて、コピーするファイルとディレクトリをリストすることができます。