You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
GLSP-1636: Switch client build from yarn/lerna to pnpm
- Migrate the client workspace from Yarn 1.x + Lerna to a pnpm
workspace (pnpm-workspace.yaml, pinned 'packageManager', and an
'only-allow pnpm' preinstall guard)
- Replace lerna-based publish/clean/index scripts with pnpm '-r' and
'glsp releng publish' commands
- Declare previously-phantom dependencies explicitly and use the
'workspace:*' protocol for the in-repo @eclipse-glsp/ide reference,
as pnpm's strict node_modules layout requires
- Update GitHub Actions (ci/codeql/publish) and the Jenkins pipeline to
install, build, and cache with pnpm
- Remove yarn.lock and lerna.json; add pnpm-lock.yaml
- Update README/AGENTS docs and VS Code tasks to reference pnpm
Also:
- Add a 'fix' client fix-and-verify skill
Part of: eclipse-glsp/glsp#1636
description: Run the fix-and-verify suite for the client workspace (build, auto-fix lint/format/headers). IMPORTANT - Proactively invoke this skill after completing any code changes to the client (new features, bug fixes, refactors) before reporting completion. Re-run it after manually addressing anything it could not auto-fix.
4
+
---
5
+
6
+
Run the auto-fix and validation suite for the GLSP Eclipse Integration client monorepo. All commands run from the `client/` directory (the pnpm workspace root):
7
+
8
+
```bash
9
+
cd client
10
+
```
11
+
12
+
1. Build first (compiles all TypeScript packages and bundles the workflow webapp). This is a hard gate: if the build fails, stop immediately, report the build errors, and do not run any of the following steps.
13
+
The build must pass before anything else runs.
14
+
15
+
```bash
16
+
pnpm build
17
+
```
18
+
19
+
2. Auto-fix lint, formatting, and copyright headers. Run all three even if an earlier one reports remaining problems (they are independent):
20
+
21
+
```bash
22
+
pnpm lint:fix
23
+
pnpm format
24
+
pnpm headers:fix
25
+
```
26
+
27
+
Then:
28
+
29
+
- If `pnpm build` failed, fix the compile errors and re-run this skill.
30
+
- If `pnpm lint:fix` reported lint errors it could not fix, fix them manually and re-run this skill.
31
+
- Otherwise if everything is clean (compile succeeds, formatting and headers are corrected in place, lint has no remaining errors) — report completion.
-`cd client/examples/workflow-webapp && yarn test`: run Mocha specs (`*.spec.ts|tsx`) for the example app.
14
+
The client is a pnpm workspace — do not use yarn or npm. A recent pnpm switches to the version pinned in `client/package.json`'s `packageManager` field.
First, you need to build both the client and the server (see instructions on [building the client](client/README.md#building) and [building the server](server/README.md#building)).
19
+
First, you need to build both the client and the server (see instructions on [building the client](client/README.md#developer-documentation) and [building the server](server/README.md#building)).
20
20
Then, import the following Eclipse plug-in projects into your Eclipse IDE workspace:
- Install pnpm: <https://pnpm.io/installation> (use pnpm 11+); a recent pnpm automatically switches to the version pinned in the `packageManager` field
12
+
- Clone this repository
13
+
- Install dependencies from this `client` directory: `pnpm i` or `pnpm i --frozen-lockfile`
-`pnpm copy:client` copies the bundled webapp into the Eclipse server's diagram folder (`../server/example/org.eclipse.glsp.ide.workflow.editor/diagram`); the Jenkins build runs this automatically before building the server.
0 commit comments