name: 'Usage of action-setup GitHub Action'
on:
    push:
        branches:
            - main
jobs:
    deploy:
        runs-on: ubuntu-latest
        steps:
        - uses: actions/checkout@v4
        - uses: pnpm/action-setup@v4
          with:
            version: latest
PnPM Setup
Install pnPm package manager
What is PnPM Setup?â
The Setup pnpm GitHub Action installs the pnpm package manager, enabling efficient package management for JavaScript and TypeScript projects.
How to Install pnpm and a Few npm Packagesâ
This example demonstrates how to set up pnpm and install a few npm packages.
- uses: pnpm/action-setup@v4
  with:
    version: 8
    run_install: |
      - recursive: true
        args: [--frozen-lockfile, --strict-peer-dependencies]
      - args: [--global, gulp, prettier, typescript]
How to Use Cache to Reduce Installation Timeâ
This example demonstrates how to cache pnpm store to reduce installation time.
- uses: pnpm/action-setup@v4
  name: Install pnpm
  with:
    version: 8
    run_install: false
- name: Get pnpm store directory
  shell: bash
  run: |
    echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses: actions/cache@v4
  name: Setup pnpm cache
  with:
    path: ${{ env.STORE_PATH }}
    key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
    restore-keys: |
      ${{ runner.os }}-pnpm-store-
- name: Install dependencies
  run: pnpm install
How to Specify pnpm Versionâ
Version of pnpm to install. This is optional if the packageManager field is present in package.json. Supports npm versioning scheme.
with:
  version: 6.24.1
How to Specify Destinationâ
Where to store pnpm files.
with:
  dest: ~/.pnpm
How to Run pnpm Installâ
If specified, runs pnpm install. Can be true, false, or a YAML string representation of an object or array.
with:
  run_install: true
How to Use Recursive Installâ
Whether to use pnpm recursive install.
with:
  run_install:
    recursive: true
How to Specify Working Directory for Installâ
Working directory when running pnpm [recursive] install.
with:
  run_install:
    cwd: subdirectory/
How to Add Additional Arguments for Installâ
Additional arguments after pnpm [recursive] install.
with:
  run_install:
    args: [--frozen-lockfile, --strict-peer-dependencies]
How to Specify package.json File Pathâ
File path to the package.json to read "packageManager" configuration.
with:
  package_json_file: path/to/package.json
How to Enable Standalone Modeâ
When set to true, @pnpm/exe will be installed, enabling using pnpm without Node.js.
with:
  standalone: true





