Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ npm run build && npm run start:gnome # or the yarn / pnpm equivalent
Notes:

- **gjsify is the canonical path** — the committed `gjsify-lock.json` and the offline Flatpak build use it. npm/yarn/pnpm generate their own lockfiles (gitignored); they're fine for local dev, please don't commit them.
- **pnpm** relies on the committed `pnpm-workspace.yaml` (pnpm reads its workspace members + settings there, not the `workspaces` field or a project `.npmrc`)`linkWorkspacePackages: true` (so plain `^` ranges link the local workspaces) + `nodeLinker: hoisted` (flat layout the gjsify bundler needs).
- **pnpm** relies on the committed `pnpm-workspace.yaml` (pnpm reads its workspace members + settings there, not the `workspaces` field or a project `.npmrc`): `linkWorkspacePackages: true` (plain `^` ranges link the local workspaces), `nodeLinker: hoisted` (flat layout the gjsify bundler needs), `minimumReleaseAge: 0` + `dangerouslyAllowAllBuilds: true` (match npm/yarn's defaults — no new-version quarantine, run dep build scripts — so non-interactive installs don't error).
- The internal packages use plain `^x.y.z` ranges (not the `workspace:` protocol), which is why every manager — including npm and classic yarn — can resolve them.
- A manual **Package Managers** CI workflow verifies all four managers install + resolve the workspaces; trigger it from the Actions tab if you touch the dependency wiring.

Expand Down
5 changes: 5 additions & 0 deletions pnpm-workspace.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,13 @@
# - minimumReleaseAge: 0 disables pnpm's new-version quarantine. The other PMs
# (npm/yarn/gjsify) have no such gate, so this keeps pnpm consistent and stops
# it blocking freshly-published @gjsify/* right after a gjsify release.
# - dangerouslyAllowAllBuilds: pnpm 10 blocks dependency build scripts by default
# and exits non-zero (ERR_PNPM_IGNORED_BUILDS) in CI/non-interactive runs.
# npm and yarn RUN dep build scripts by default, so this just makes pnpm match
# them (the dep set is identical and already trusted under the other PMs).
packages:
- "packages/*"
linkWorkspacePackages: true
nodeLinker: hoisted
minimumReleaseAge: 0
dangerouslyAllowAllBuilds: true
Loading