Repository navigation
chore(e2e): install from the root npm workspace - #1009
ofir-starkware wants to merge 3 commits into
Conversation
| "typescript": ">=4.8.4 <6.1.0" | ||
| } | ||
| }, | ||
| "e2e/node_modules/vite": { |
There was a problem hiding this comment.
High severity vulnerability may affect your project—review required:
Line 2507 lists a dependency (vite) with a known High severity vulnerability.
ℹ️ Why this matters
Affected versions of vite and vite-plus are vulnerable to Exposure of Sensitive Information to an Unauthorized Actor / Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal'). Vite's server.fs.deny blocklist—which protects sensitive files such as .env and certificate files from being served—can be bypassed on Windows using alternate path representations (NTFS Alternate Data Stream syntax like /.env::$DATA?raw, or 8.3 short filenames), allowing an attacker to read otherwise-denied files when the dev server is exposed to the network.
References: https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-38303, GHSA, CVE
To resolve this comment:
Check if you expose the Vite dev server or vite-plus to the network by configuring a non-loopback address using the --host CLI flag on Windows.
- If you're affected, upgrade this dependency to at least version 8.0.16 at package-lock.json.
- If you're not affected, comment
/fp we don't use this [condition]
💬 Ignore this finding
To ignore this, reply with:
/fp <comment>for false positive/ar <comment>for acceptable risk/other <comment>for all other reasons
You can view more details on this finding in the Semgrep AppSec Platform here.
915b0e0 to
b363861
Compare
b363861 to
8608de5
Compare
The file already failed `prettier --check e2e/scripts/` on main. Whitespace only. (via claude code)
Add e2e to the root workspace: its file: links to sdk, client and proof-interceptor become semver ranges linked to the local packages, and its lockfile merges into the root one without introducing new package versions. The e2e workflows install once from the root, e2e-devnet's path filters cover the root manifests, and the docs and E2E gate rule describe the workspace install. The gate rule also names target/release/, the directory E2E spawns discovery-service from. (via claude code)
e2e is private and only tests the in-repo packages, so it depends on the SDK, client and proof-interceptor with "*", which always links the local workspace members. The clean-reinstall advice keeps the root lockfile and notes that demo and elliptic-proxy sit outside the workspace, the root README runs member tests with `-w`, and the e2e workflows drop comments that restated the member list. (via claude code)
8608de5 to
a123cce
Compare
Stacked on #1008 (PR 3 of 3 in the npm-workspace stack; #1007 → #1008 → this).
What
e2eto the root workspace. Itsfile:links tosdk,clientandproof-interceptorbecome semver ranges, and npm links the local packages for them.e2e/package-lock.jsoninto the root lockfile:starknetcopy across the workspace.e2e-devnetande2e-integrationinstall once from the root (npm ci && npm run build -w sdk). The separatecd e2e && npm cisteps are removed.e2e-devnet's path filters now include the rootpackage.jsonand lockfile.e2e/README.mdand the E2E gate in.claude/rules/verification.mddescribe the workspace install.target/release/, which is where E2E actually spawnsdiscovery-servicefrom. It previously saidtarget/debug/.e2e/scripts/batch-operations.ts, which already failedprettier --check e2e/scripts/onmain.Why
demonow installs from one lockfile, and none of them links another throughfile:.demostays out on purpose: itsstarknetoverride and itsstarknet-sdkalias don't fit a shared workspace.Verification
npm ciworks.sdk,clientandproof-interceptorlint cleanly.e2e/scriptspassesprettier --checkandeslint, andnpm run lint:checkpasses.sdktest:fast27/27 files,client66/66,proof-interceptor200/200.dist/.🤖 Generated with Claude Code
This change is