fix(playground): vendor-local x402 deps so the playground installs anywhere#180
fix(playground): vendor-local x402 deps so the playground installs anywhere#180EfeDurmaz16 wants to merge 1 commit into
Conversation
The playground app pinned @x402/core and @x402/svm to an absolute local path
on a single contributor's machine (/Users/ludo/Coding/x402/.local-tarballs/
x402-{core,svm}-2.10.0.tgz), and the root pnpm override forced @x402/core to
the same path. A fresh clone or CI could not install the playground at all
(ENOENT on that path).
Point both the app deps and the root override at the committed vendored
tarballs the rest of the workspace already uses
(typescript/.x402-vendor/x402-{core,svm}-2.15.0.tgz) and regenerate the
lockfile, so the playground installs anywhere pnpm install runs.
Greptile SummaryThis PR fixes a broken workspace setup where
Confidence Score: 5/5Safe to merge — all three changed files make a targeted, mechanical path fix pointing to tarballs that already exist in the repository. The change replaces three hardcoded absolute paths with relative paths that resolve correctly from their respective locations, the target tarballs are verified to exist in the repo, and the lockfile is regenerated with matching integrity hashes. No logic, runtime code, or published API surface is touched. No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[pnpm install in playground/] --> B{Resolve @x402/core & @x402/svm}
B -->|Before| C["❌ file:/Users/ludo/Coding/x402/...\n(ENOENT on other machines)"]
B -->|After| D["✅ file:../typescript/.x402-vendor/\n(committed tarballs in repo)"]
D --> E[typescript/.x402-vendor/x402-core-2.15.0.tgz]
D --> F[typescript/.x402-vendor/x402-svm-2.15.0.tgz]
E --> G[Install succeeds everywhere]
F --> G
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
A[pnpm install in playground/] --> B{Resolve @x402/core & @x402/svm}
B -->|Before| C["❌ file:/Users/ludo/Coding/x402/...\n(ENOENT on other machines)"]
B -->|After| D["✅ file:../typescript/.x402-vendor/\n(committed tarballs in repo)"]
D --> E[typescript/.x402-vendor/x402-core-2.15.0.tgz]
D --> F[typescript/.x402-vendor/x402-svm-2.15.0.tgz]
E --> G[Install succeeds everywhere]
F --> G
Reviews (1): Last reviewed commit: "fix(playground): point x402 deps at the ..." | Re-trigger Greptile |
Problem
The playground app pinned its x402 dependencies to an absolute path on a single contributor's machine:
and
playground/package.jsonrepeated the same path in a rootpnpm.overrides. A fresh clone or CIpnpm installfails withENOENTon that path, so the playground web app cannot be installed or run by anyone else.Fix
Point both the app deps and the root override at the committed vendored tarballs the rest of the workspace already consumes (
typescript/.x402-vendor/x402-{core,svm}-2.15.0.tgz, same version@solana/pay-kitbundles), and regenerate the lockfile.Verify
Verified locally:
pnpm installsucceeds, the app serves on:5173, and it discovers a backend's routes via the proxied/openapi.json.