Skip to content

Commit 5a044ed

Browse files
authored
feat: setup pnpm, vite-plus, and OIDC publishing (#565)
1 parent 93701f0 commit 5a044ed

27 files changed

Lines changed: 7015 additions & 8961 deletions

.github/workflows/main.yml

Lines changed: 15 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,25 @@ jobs:
1111
runs-on: ubuntu-latest
1212

1313
steps:
14-
- name: Begin CI...
14+
- name: Checkout code
1515
uses: actions/checkout@v6
16+
with:
17+
persist-credentials: false
1618

17-
- name: Use Node 24
18-
uses: actions/setup-node@v6
19+
- name: vite-plus setup
20+
uses: voidzero-dev/setup-vp@v1
1921
with:
20-
node-version: 24.x
21-
cache: 'yarn'
22+
node-version: 24
23+
cache: true
2224

23-
- name: Install dependencies
24-
run: yarn install --immutable
25+
- name: Build
26+
run: vp run -r build
2527

26-
- name: Typecheck
27-
run: yarn workspace react-responsive-modal typecheck
28+
- name: Check formatting, linting and type checks
29+
run: vp check
2830

2931
- name: Test
30-
run: yarn workspace react-responsive-modal test --coverage
32+
run: vp run -r test --coverage --run
3133
env:
3234
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
3335

@@ -36,20 +38,12 @@ jobs:
3638
with:
3739
token: ${{ secrets.CODECOV_TOKEN }}
3840

39-
- name: Build
40-
run: yarn workspace react-responsive-modal build
41-
42-
- name: Build docs
43-
run: yarn workspace website build
44-
4541
- name: Cypress run
4642
uses: cypress-io/github-action@v7
4743
with:
48-
# Dependencies already installed before
4944
install: false
50-
# Use monorepo
51-
project: ./react-responsive-modal
52-
start: yarn workspace website start -p 3000
45+
working-directory: ./react-responsive-modal
46+
start: vp run -F website start
5347

5448
- name: Size limit
55-
run: yarn workspace react-responsive-modal size
49+
run: vp run -F react-responsive-modal size

.github/workflows/release-please.yml

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,38 +5,48 @@ on:
55
branches:
66
- master
77

8-
permissions:
9-
contents: write
10-
pull-requests: write
11-
128
jobs:
139
release-please:
10+
name: Release
1411
runs-on: ubuntu-latest
12+
permissions:
13+
contents: write
14+
id-token: write # Required for OIDC
15+
pull-requests: write
16+
issues: write
1517
steps:
16-
- uses: googleapis/release-please-action@v4
18+
- name: Release Please
19+
uses: googleapis/release-please-action@v4
1720
id: release
1821
with:
1922
token: ${{ secrets.GITHUB_TOKEN }}
2023

21-
- uses: actions/checkout@v6
22-
if: ${{ steps.release.outputs.release_created }}
24+
- name: Checkout code
25+
uses: actions/checkout@v6
26+
if: ${{ fromJSON(steps.release.outputs.releases_created) }}
27+
28+
- name: Install pnpm
29+
uses: pnpm/action-setup@v6
30+
if: ${{ fromJSON(steps.release.outputs.releases_created) }}
2331

2432
- name: Use Node 24
2533
uses: actions/setup-node@v6
2634
with:
2735
node-version: 24.x
28-
if: ${{ steps.release.outputs.release_created }}
36+
cache: 'pnpm'
37+
if: ${{ fromJSON(steps.release.outputs.releases_created) }}
2938

3039
- name: Install dependencies
31-
run: yarn install --immutable
32-
if: ${{ steps.release.outputs.release_created }}
40+
run: pnpm install --frozen-lockfile
41+
if: ${{ fromJSON(steps.release.outputs.releases_created) }}
3342

3443
- name: Build react-responsive-modal
35-
run: yarn workspace react-responsive-modal build
36-
if: ${{ steps.release.outputs.release_created }}
44+
run: pnpm vp run -F react-responsive-modal build
45+
if: ${{ fromJSON(steps.release.outputs.releases_created) }}
3746

3847
- name: Publish react-responsive-modal npm package
39-
run: yarn workspace react-responsive-modal npm publish
48+
run: pnpm --filter react-responsive-modal publish --no-git-checks
4049
env:
41-
NPM_TOKEN: ${{secrets.NPM_TOKEN}}
42-
if: ${{ steps.release.outputs.release_created }}
50+
# Use OIDC for npm authentication instead of NPM_TOKEN
51+
NPM_TOKEN: '' # https://github.com/changesets/changesets/issues/1152#issuecomment-3190884868
52+
if: ${{ fromJSON(steps.release.outputs.releases_created) }}

.vite-hooks/pre-commit

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
vp staged

.yarn/releases/yarn-4.13.0.cjs

Lines changed: 0 additions & 940 deletions
This file was deleted.

.yarnrc.yml

Lines changed: 0 additions & 9 deletions
This file was deleted.

netlify.toml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
1-
21
[build]
3-
publish = "website/out"
4-
command = "yarn workspace react-responsive-modal build && yarn workspace website build && yarn workspace website export"
2+
publish = "website/out"
3+
command = "pnpm vp run -r build && pnpm --filter website export"
54

65
[build.environment]
7-
NODE_VERSION = "12"
8-
YARN_VERSION = "1.22.5"
9-
YARN_FLAGS = "--immutable"
6+
NODE_VERSION = "24"

package.json

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,15 @@
11
{
22
"private": true,
33
"scripts": {
4-
"prettier": "prettier --write \"**/*.{js,ts,tsx,css,scss,json,md,mdx,yml}\""
5-
},
6-
"workspaces": [
7-
"react-responsive-modal",
8-
"website"
9-
],
10-
"prettier": {
11-
"singleQuote": true
12-
},
13-
"husky": {
14-
"hooks": {
15-
"pre-commit": "lint-staged"
16-
}
17-
},
18-
"lint-staged": {
19-
"*.{js,ts,tsx,css,scss,json,md,mdx,yml}": "prettier --write"
4+
"ready": "vp fmt && vp run -r build && vp lint && vp run -r test",
5+
"build": "vp run -r build",
6+
"test": "vp run -r test",
7+
"prepare": "vp config",
8+
"format": "vp fmt"
209
},
2110
"devDependencies": {
22-
"husky": "4.3.8",
23-
"lint-staged": "10.5.4",
24-
"prettier": "3.8.1"
11+
"@types/node": "^25.5.0",
12+
"vite-plus": "0.1.24"
2513
},
26-
"version": "6.4.2",
27-
"packageManager": "yarn@4.13.0"
14+
"packageManager": "pnpm@11.6.0"
2815
}

0 commit comments

Comments
 (0)