action-setup/README.md
2022-07-19 17:29:52 +09:00

2.7 KiB

Setup pnpm

Install pnpm package manager.

Inputs

version

Version of pnpm to install.

Optional when there is a packageManager field in the package.json.

otherwise, this field is required It supports npm versioning scheme, it could be an exact version (such as 6.24.1), or a version range (such as 6, 6.x.x, 6.24.x, ^6.24.1, *, etc.), or latest.

dest

Optional Where to store pnpm files.

run_install

Optional (default: null) If specified, run pnpm install.

If run_install is either null or false, pnpm will not install any npm package.

If run_install is true, pnpm will install dependencies recursively.

If run_install is a YAML string representation of either an object or an array, pnpm will execute every install commands.

run_install.recursive

Optional (type: boolean, default: false) Whether to use pnpm recursive install.

run_install.cwd

Optional (type: string) Working directory when run pnpm [recursive] install.

run_install.args

Optional (type: string[]) Additional arguments after pnpm [recursive] install, e.g. [--frozen-lockfile, --strict-peer-dependencies].

Outputs

dest

Expanded path of inputs#dest.

bin_dest

Location of pnpm and pnpx command.

Usage example

Just install pnpm

name: CI

on:
  push:
    branches:
      - main

jobs:
  install:
    runs-on: ubuntu-latest
    steps:
      - name: Install pnpm
        uses: pnpm/action-setup@v2
        with:
          version: 7

Install pnpm with Node.js and a few npm packages

steps:
  - name: Checkout Repo
    uses: actions/checkout@v3

  - name: Install Node.js
    uses: actions/setup-node@v3
    with:
      node-version: 16

  - name: Install pnpm
    uses: pnpm/action-setup@v2
    with:
      version: 7
      run_install: |
        - recursive: true
          args: [--frozen-lockfile, --strict-peer-dependencies]
        - args: [--global, gulp, prettier, typescript]        

Use cache to reduce installation time

steps:
  - name: Checkout Repo
    uses: actions/checkout@v3

  - name: Install pnpm
    uses: pnpm/action-setup@v2
    with:
      version: 7

  - name: Install Node.js
    uses: actions/setup-node@v3
    with:
      node-version: 16
      cache: pnpm

  - name: Install Dependencies
    run: pnpm install

Note: You don't need to run pnpm store prune at the end; post-action has already taken care of that.

Notes

This action does not setup Node.js for you, use actions/setup-node yourself.

License

MIT © Hoàng Văn Khải