Skip to content

Upgrade yarn to berry#159

Open
philip-peterson wants to merge 20 commits into
quine-global:canaryfrom
philip-peterson:upgrade-yarn
Open

Upgrade yarn to berry#159
philip-peterson wants to merge 20 commits into
quine-global:canaryfrom
philip-peterson:upgrade-yarn

Conversation

@philip-peterson

Copy link
Copy Markdown

No description provided.

Comment thread scripts/mk-snapshot.js
const mkSnapshotScript = path.resolve(__dirname, "../bin/mk-snapshot.js");

execSync(`node ${downloadScript}`, { stdio: "inherit" });
execSync(`node ${mkSnapshotScript}`, { stdio: "inherit" });

Check warning

Code scanning / CodeQL

Shell command built from environment values Medium

This shell command depends on an uncontrolled
absolute path
.
This shell command depends on an uncontrolled
absolute path
.
@philip-peterson

Copy link
Copy Markdown
Author

Issues Resolved ✅

  1. Workspace resolution error - hyper-lib@workspace:* dependency not found
    - Root cause: target/package.json referenced non-existent hyper-lib workspace
    - Fix: Updated to hyper-lib: "workspace:builder"
  2. node-pty build failure - Missing node-gyp script at top level
    - Root cause: node-pty requires node-gyp to be available as a script in root workspace
    - Fix: Added node-gyp: "^11.3.0" to root package.json devDependencies
  3. Nested workspace conflict
    - Root cause: builder/package.json defined its own workspaces that conflicted with root
    - Fix: Removed nested workspaces array from builder/package.json

Current Issue ❌

V8 snapshot generation fails due to PnP dependency resolution

  • Root cause: recast@0.20.5 (used by electron-link) tries to access acorn but doesn't declare it as a peer dependency
  • Error: recast tried to access acorn, but it isn't declared in its dependencies
  • Impact: hyper-builder postinstall script fails during V8 snapshot creation

Solution Implemented

Forked recast with proper peer dependency declaration

  • Fork: quine-global/recast
  • Fix: Added acorn as optional peer dependency in forked recast

TODOs

  1. Update electron-link dependency - Change builder/package.json to use forked recast:
    "electron-link": "git+https://github.com/quine-global/electron-link.git"
  2. (Assuming you also forked electron-link to use your recast fork)
  3. OR Update recast directly - If electron-link allows overriding recast:
    "recast": "git+https://github.com/quine-global/recast.git"
  4. Test complete yarn install - Verify all builds complete successfully
  5. Clean up unplugging configuration - Remove unnecessary dependenciesMeta entries from builder/package.json once working

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants