Skip to content

Commit 8b3a748

Browse files
authored
GLSP-1636: Migrate to pnpm (#517)
- Replace yarn and lerna with pnpm workspaces as the package manager - Use pnpm's built-in workspace management and the glsp CLI for publishing in place of lerna run/publish - Adapt CI workflows, VS Code tasks, and project docs to pnpm Also: - Remove verify skill and improve fix skill - Reformat code base for updated prettier formatting alignment - Remove unused e2e-server-pr workflow - Remove outdated/unused watch vscode task Part-of: eclipse-glsp/glsp#1636
1 parent 753da58 commit 8b3a748

42 files changed

Lines changed: 4393 additions & 7726 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude/skills/fix/SKILL.md

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,33 @@
11
---
22
name: fix
3-
description: Auto-fix all lint, formatting, and copyright header issues across the workspace. Use when validation (`/verify`) fails or when explicitly requested.
3+
description: Run the fix-and-verify suite for the workspace (compile, auto-fix lint/format/headers, test). IMPORTANT - Proactively invoke this skill after completing any code changes (new features, bug fixes, refactors) before reporting completion. Re-run it after manually addressing anything it could not auto-fix.
44
---
55

6-
Run the full auto-fix suite for the GLSP Client monorepo from the repository root:
6+
Run the auto-fix and validation suite for the GLSP Client monorepo from the repository root.
7+
8+
1. Build first. This is a hard gate: if the build fails, stop immediately, report the build errors, and do not run any of the following steps.
9+
The build must pass before anything else runs.
10+
11+
```bash
12+
pnpm build
13+
```
14+
15+
2. Auto-fix lint, formatting, and copyright headers. Run all three even if an earlier one reports remaining problems (they are independent):
716

817
```bash
9-
yarn lint:fix && yarn format && yarn headers:fix
18+
pnpm lint:fix
19+
pnpm format
20+
pnpm headers:fix -t changes
1021
```
1122

12-
After fixing, report what changed. If any issues remain that couldn't be auto-fixed, list them and suggest manual fixes.
23+
3. Run the test suite to validate behavior (tests are not auto-fixable):
24+
25+
```bash
26+
pnpm test
27+
```
28+
29+
Then:
30+
31+
- If `pnpm build` failed, fix the compile errors and re-run this skill.
32+
- If `pnpm lint:fix` reported lint errors it could not fix, or `pnpm test` failed, fix them manually and re-run this skill.
33+
- Otherwise everything is clean (compile succeeds, formatting and headers are corrected in place, lint has no remaining errors, tests pass) — report completion.

.claude/skills/generate-changelog/SKILL.md

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -102,42 +102,42 @@ Pick the most fitting tag from the vocabulary (Step 1.2) based on PR title and b
102102

103103
**Formatting:**
104104

105-
- Entry prefix: `- ` (dash + exactly 3 spaces)
106-
- Sub-item indent: 4 spaces + `- ` (4 spaces from parent dash)
107-
- Sub-sub-item indent: 8 spaces + `- `
108-
- Single space between `[tag]` and description text
109-
- Single space before PR link at end of line
110-
- PR links are mandatory, full URLs: `[#123](https://github.com/OWNER/REPO/pull/123)`
105+
- Entry prefix: `- ` (dash + exactly 3 spaces)
106+
- Sub-item indent: 4 spaces + `- ` (4 spaces from parent dash)
107+
- Sub-sub-item indent: 8 spaces + `- `
108+
- Single space between `[tag]` and description text
109+
- Single space before PR link at end of line
110+
- PR links are mandatory, full URLs: `[#123](https://github.com/OWNER/REPO/pull/123)`
111111

112112
**Wording:**
113113

114-
- Always start with a **present tense imperative verb** (not past tense)
115-
- Common verbs: Fix, Improve, Add, Update, Extend, Ensure, Introduce, Remove, Refactor, Rename, Provide, Allow, Support
116-
- **Bug fixes**: "Fix a bug that caused/prevented...", "Fix X behavior"
117-
- **Features**: "Introduce...", "Add support for...", "Provide..."
118-
- **Enhancements**: "Improve...", "Extend...", "Ensure that..."
119-
- **Refactors**: "Refactor...", "Rework...", "Rename..."
120-
- Be specific — never "Fix various issues"
114+
- Always start with a **present tense imperative verb** (not past tense)
115+
- Common verbs: Fix, Improve, Add, Update, Extend, Ensure, Introduce, Remove, Refactor, Rename, Provide, Allow, Support
116+
- **Bug fixes**: "Fix a bug that caused/prevented...", "Fix X behavior"
117+
- **Features**: "Introduce...", "Add support for...", "Provide..."
118+
- **Enhancements**: "Improve...", "Extend...", "Ensure that..."
119+
- **Refactors**: "Refactor...", "Rework...", "Rename..."
120+
- Be specific — never "Fix various issues"
121121

122122
**Capitalization:**
123123

124-
- Tags are always lowercase: `[diagram]`, not `[Diagram]`
125-
- Description starts lowercase after the tag (unless proper noun or code element)
126-
- Section headers: Title Case (`### Potentially Breaking Changes`)
124+
- Tags are always lowercase: `[diagram]`, not `[Diagram]`
125+
- Description starts lowercase after the tag (unless proper noun or code element)
126+
- Section headers: Title Case (`### Potentially Breaking Changes`)
127127

128128
**Description cleanup from PR title:**
129129

130-
- Remove issue tracker prefixes (e.g. `GLSP-1234:`, `GH-123:`, `ISSUE-456:`)
131-
- Remove conventional commit prefixes: `fix:`, `feat:`, `chore:`
132-
- Rephrase bug-report style to changelog style:
133-
- BAD: "Edit label UI does not resize on graph zoom"
134-
- GOOD: "Fix edit label UI not resizing on graph zoom"
135-
- Keep concise — one line
130+
- Remove issue tracker prefixes (e.g. `GLSP-1234:`, `GH-123:`, `ISSUE-456:`)
131+
- Remove conventional commit prefixes: `fix:`, `feat:`, `chore:`
132+
- Rephrase bug-report style to changelog style:
133+
- BAD: "Edit label UI does not resize on graph zoom"
134+
- GOOD: "Fix edit label UI not resizing on graph zoom"
135+
- Keep concise — one line
136136

137137
**Breaking changes:**
138138

139-
- Describe what changed, why it's breaking, and how to migrate
140-
- Extract migration sub-items from the PR body's "What it does" section
139+
- Describe what changed, why it's breaking, and how to migrate
140+
- Extract migration sub-items from the PR body's "What it does" section
141141

142142
---
143143

@@ -149,35 +149,35 @@ Read `CHANGELOG.md` in the repository root.
149149

150150
**Active section detection:**
151151

152-
- An active section has the `- active` suffix (e.g. `## v2.7.0 - active`)
153-
- If an active section exists → merge new entries into it
154-
- If the topmost section is a released version (no `- active` suffix) → create a new active section above it
152+
- An active section has the `- active` suffix (e.g. `## v2.7.0 - active`)
153+
- If an active section exists → merge new entries into it
154+
- If the topmost section is a released version (no `- active` suffix) → create a new active section above it
155155

156156
**Creating a new section:**
157157

158-
- Bump the minor version of `LAST_TAG` (e.g. `v2.6.0``v2.7.0`)
159-
- Insert after the title line, before the first `## ` heading:
158+
- Bump the minor version of `LAST_TAG` (e.g. `v2.6.0``v2.7.0`)
159+
- Insert after the title line, before the first `## ` heading:
160160

161161
```markdown
162162
## v2.7.0 - active
163163

164164
### Changes
165165

166-
- [tag] Entry [#N](url)
166+
- [tag] Entry [#N](url)
167167

168168
### Potentially Breaking Changes
169169

170-
- [tag] Entry [#N](url)
171-
- Sub-item detail
170+
- [tag] Entry [#N](url)
171+
- Sub-item detail
172172
```
173173

174174
Only include "Potentially Breaking Changes" if there are breaking entries.
175175

176176
**Merging into existing active section:**
177177

178-
- Check PR numbers against existing entries to avoid duplicates
179-
- Append new entries to the appropriate subsection
180-
- Create missing subsections as needed
178+
- Check PR numbers against existing entries to avoid duplicates
179+
- Append new entries to the appropriate subsection
180+
- Create missing subsections as needed
181181

182182
### Step 2.2: Write the updated CHANGELOG.md
183183

@@ -205,9 +205,9 @@ Even if nothing is uncertain, ask:
205205
206206
### Step 3.3: Collect user feedback
207207

208-
- **Approve as-is** → done (or proceed to Phase 4 if PR was requested)
209-
- **Request edits** → apply changes, show updated diff, ask again
210-
- **Resolve uncertain items** → apply, show updated diff
208+
- **Approve as-is** → done (or proceed to Phase 4 if PR was requested)
209+
- **Request edits** → apply changes, show updated diff, ask again
210+
- **Resolve uncertain items** → apply, show updated diff
211211

212212
**Do NOT proceed to Phase 4 unless the user explicitly requests a PR.**
213213

.claude/skills/verify/SKILL.md

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

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,5 @@ to learn how to report vulnerabilities.
2525

2626
<!-- Please check, when if it applies to your change. -->
2727

28-
- [ ] This PR should be mentioned in the changelog
29-
- [ ] This PR introduces a breaking change (if yes, provide more details below for the changelog and the migration guide)
28+
- [ ] This PR should be mentioned in the changelog
29+
- [ ] This PR introduces a breaking change (if yes, provide more details below for the changelog and the migration guide)

.github/workflows/ci.yml

Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -25,32 +25,26 @@ jobs:
2525
runs-on: ubuntu-22.04
2626
steps:
2727
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
28+
- uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
2829
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
2930
with:
3031
node-version: 22.x
32+
cache: pnpm
3133
- name: Build
32-
run: yarn install
33-
- name: Check for uncommitted changes in yarn.lock
34-
run: |
35-
if git diff --name-only | grep -q "^yarn.lock"; then
36-
echo "::error::The yarn.lock file has uncommitted changes!"
37-
exit 1
38-
fi
34+
run: pnpm build
3935
test:
4036
name: Test
4137
timeout-minutes: 60
4238
runs-on: ubuntu-22.04
4339
steps:
4440
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
41+
- uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
4542
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
4643
with:
4744
node-version: 22.x
48-
- name: Install
49-
run: |
50-
yarn install
45+
cache: pnpm
5146
- name: Test
52-
run: |
53-
yarn test:ci
47+
run: pnpm test:ci
5448
- name: Publish Test Report
5549
uses: ctrf-io/github-test-reporter@0f299074936c32ccaab5be5230511f6b2b9080aa # v1.0.28
5650
with:
@@ -64,15 +58,13 @@ jobs:
6458
runs-on: ubuntu-22.04
6559
steps:
6660
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
61+
- uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
6762
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
6863
with:
6964
node-version: 22.x
70-
- name: Install
71-
run: |
72-
yarn install
65+
cache: pnpm
7366
- name: Create eslint json report
74-
run: |
75-
yarn lint:ci
67+
run: pnpm lint:ci
7668
- name: Create summary
7769
if: always()
7870
run: |
@@ -85,15 +77,13 @@ jobs:
8577
if: github.ref == 'refs/heads/master'
8678
steps:
8779
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
80+
- uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
8881
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
8982
with:
9083
node-version: 22.x
91-
- name: Install
92-
run: |
93-
yarn install
84+
cache: pnpm
9485
- name: Run Coverage Tests
95-
run: |
96-
yarn test:coverage:ci
86+
run: pnpm test:coverage:ci
9787
- name: Upload Coverage Report
9888
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
9989
with:

.github/workflows/e2e-server-pr.yml

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

0 commit comments

Comments
 (0)