GLSP-1682: Group packages and set up the consolidated pnpm workspace - #5
Open
tortmayr wants to merge 1 commit into
Open
GLSP-1682: Group packages and set up the consolidated pnpm workspace#5tortmayr wants to merge 1 commit into
tortmayr wants to merge 1 commit into
Conversation
Turn the merged client/server/dev sources into a single, self-bootstrapping
monorepo that builds, lints, and tests from the root.
- Group the merged packages by framework layer, using git renames so
per-file history is preserved across the move:
packages/common/protocol (shared between client and server),
packages/client/{client,glsp-sprotty} and
packages/server/{graph,layout-elk,server,server-mcp}
- Add the root workspace configuration: pnpm-workspace.yaml (globbing
dev-packages/*, packages/*/*, examples/*, with the unioned hoist,
override, build-allow and release-age settings), the root package.json
with merged scripts (including test:e2e for the CLI end-to-end suite)
and in-workspace dev tooling, and the TypeScript project graph
- Add the shared lint/format/test configs: one path-scoped ESLint flat
config carrying the common, client and server import rules, Prettier
config, and a Vitest config that globs every package's specs
- Align internals for the grouped layout: fix the example -> package TS
reference depths and switch the remaining next protocol deps to
workspace:*
- Compile each package's specs as part of its own tsconfig instead of a
separate tsconfig.test.json project, and exclude the emitted
*.spec.*/test output from the published tarball via files. This keeps
decorator transpilation working for specs without a dedicated test
tsconfig and independent of the test runner's tsconfig resolution
- Consolidate the example run/dev scripts: fold the standalone launcher
into a single start.mts, default the workflow server to WebSocket with
matching start/start:socket scripts, and drop the --external-server
bundle-path option
- Adapt the glsp CLI to the consolidated structure: the repo commands
address the client/server examples inside the glsp-core checkout,
releng prepare maintains the component-grouped changelog layout, and
package metadata is fixed up for the workspace. Make the
workspace-resolution spec hermetic (it depended on /tmp contents)
- Add the consolidated CHANGELOG: releases group entries by component
(Client / Server / Dev Packages); everything up to and including
v2.8.0 is the merged history of the source repositories, v2.9.0 will
be the first monorepo release
- Add the GitHub Actions setup: CI (build, test, lint, coverage) and
CodeQL workflows plus issue/PR templates, with a lint:ci script that
emits the JSON report the CI lint summary renders
- Add the canonical EPL-2.0 project docs (LICENSE, CONTRIBUTING,
SECURITY, CODE_OF_CONDUCT), a consolidated README, the shared .vscode
setup, and the AI agent metadata (AGENTS.md, CLAUDE.md, skills)
Part of: eclipse-glsp/glsp#1682
Contributor
Author
|
Still missing (will be handled in follow-up):
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Turn the merged client/server/dev sources into a single, self-bootstrapping monorepo that builds, lints, and tests from the root.
Part of: eclipse-glsp/glsp#1682