Skip to content

Conversation

@IliyaBrook
Copy link

@IliyaBrook IliyaBrook commented Dec 3, 2025

Migrates from pkg to @yao-pkg/pkg and updates build targets from node18 to node20 to align with the project's .nvmrc file which specifies v20.19.0.

The problem:

  • .nvmrc was updated to Node 20.19.0 in commit 1db5144b2 (April 2025)
  • However, the pkgJson/*/package.json files still use node18-* targets
  • The original [email protected] package does not support Node 20 — it fails with Error! No available node version satisfies 'node20'
  • When building with mismatched Node version, pkg creates a corrupted binary that dumps JavaScript source code to stdout instead of running properly

Solution:

  • Replace [email protected] with @yao-pkg/[email protected] — an actively maintained fork that supports Node 20
  • Update all pkg targets from node18-* to node20-*
  • Update bundle-binary.js to use npx @yao-pkg/pkg

Files changed:

  • binary/package.json — replaced pkg dependency with @yao-pkg/pkg, updated targets
  • binary/package-lock.json — regenerated with new dependency
  • binary/utils/bundle-binary.js — changed npx pkg to npx @yao-pkg/pkg
  • binary/pkgJson/darwin-arm64/package.jsonnode18node20
  • binary/pkgJson/darwin-x64/package.jsonnode18node20
  • binary/pkgJson/linux-arm64/package.jsonnode18node20
  • binary/pkgJson/linux-x64/package.jsonnode18node20
  • binary/pkgJson/win32-arm64/package.jsonnode18node20
  • binary/pkgJson/win32-x64/package.jsonnode18node20

How I discovered this:
While building the JetBrains plugin locally, the resulting binary was broken — it output raw JavaScript code instead of functioning as expected. The marketplace binary (built with their CI) worked fine. After investigation, I found the mismatch between .nvmrc (node20) and pkg targets (node18). Simply changing targets wasn't enough because [email protected] doesn't support Node 20 — switching to @yao-pkg/pkg resolved the issue.

AI Code Review

  • Team members only: AI review runs automatically when PR is opened or marked ready for review
  • Team members can also trigger a review by commenting @continue-review

Checklist

  • I've read the contributing guide
  • The relevant docs, if any, have been updated or created
  • The relevant tests, if any, have been updated or created

Screen recording or screenshot

N/A - This is a build configuration fix with no UI changes.

Tests

No new tests required. This change aligns the build configuration with the already-specified Node.js version in .nvmrc. The fix can be verified by:

  1. Ensure Node 20 is active: node -v should show v20.x.x
  2. Install dependencies: cd binary && npm install
  3. Build the binary: npm run build (or specific platform: npm run build:linux-x64)
  4. Run the resulting binary: ./bin/linux-x64/continue-binary

Before fix:

  • [email protected] fails with Error! No available node version satisfies 'node20'
  • Or if built with node18 target on Node 20: Binary outputs ~45KB of JavaScript source code to stdout

After fix:

  • Build completes successfully with @yao-pkg/pkg
  • Binary outputs proper JSON protocol messages (~476 bytes) and waits for input

Summary by cubic

Update pkg build targets to Node 20 across all platforms to match .nvmrc (v20.19.0) and fix broken local binaries built with Node 20. Also updates CLI docs to require Node 20.

  • Bug Fixes

    • Set pkg targets to node20 for macOS, Linux, and Windows (arm64/x64) to prevent binaries dumping JS to stdout.
  • Dependencies

    • Replace pkg with @yao-pkg/pkg for Node 20 target support.
    • Update AWS SDK packages and lockfiles; align vectordb version spec; bump zod in fetch package.

Written for commit ecdb655. Summary will update automatically on new commits.

@IliyaBrook IliyaBrook requested a review from a team as a code owner December 3, 2025 21:13
@IliyaBrook IliyaBrook requested review from RomneyDa and removed request for a team December 3, 2025 21:13
@continue
Copy link
Contributor

continue bot commented Dec 3, 2025

Keep this PR in a mergeable state →

Learn more

All Green is an AI agent that automatically:

✅ Addresses code review comments

✅ Fixes failing CI checks

✅ Resolves merge conflicts

2 similar comments
@continue-development-app
Copy link

Keep this PR in a mergeable state →

Learn more

All Green is an AI agent that automatically:

✅ Addresses code review comments

✅ Fixes failing CI checks

✅ Resolves merge conflicts

@continue-development-app
Copy link

Keep this PR in a mergeable state →

Learn more

All Green is an AI agent that automatically:

✅ Addresses code review comments

✅ Fixes failing CI checks

✅ Resolves merge conflicts

@dosubot dosubot bot added the size:S This PR changes 10-29 lines, ignoring generated files. label Dec 3, 2025
@github-actions
Copy link

github-actions bot commented Dec 3, 2025


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


3 out of 4 committers have signed the CLA.
✅ (uinstinct)[https://github.com/uinstinct]
✅ (RomneyDa)[https://github.com/RomneyDa]
✅ (mcowger)[https://github.com/mcowger]
@IliyaBrook
You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

continue bot added a commit that referenced this pull request Dec 3, 2025
Update CLI documentation to reflect the new Node.js 20 minimum version
requirement, aligning with the pkg target updates in #8994.

Co-authored-by: nate <[email protected]>

Generated with [Continue](https://continue.dev)

Co-Authored-By: Continue <[email protected]>
Update CLI documentation to reflect the new Node.js 20 minimum version
requirement, aligning with the pkg target updates in continuedev#8994.

Co-authored-by: nate <[email protected]>

Generated with [Continue](https://continue.dev)

Co-Authored-By: Continue <[email protected]>
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 14 files

@continue
Copy link
Contributor

continue bot commented Dec 3, 2025

Documentation Updates

Updated the CLI documentation to reflect the new Node.js 20 minimum version requirement:

  • ✅ Updated docs/cli/overview.mdx - Changed prerequisite from Node.js 18 to Node.js 20
  • ✅ Updated docs/cli/install.mdx - Changed installation requirement from Node.js 18 to Node.js 20
  • ✅ Updated docs/guides/cli.mdx - Changed quick start requirement from Node.js 18 to Node.js 20

These changes align with:

  • The .nvmrc file specifying v20.19.0
  • The pkg target updates from node18 to node20 in this PR
  • The existing CONTRIBUTING.md which already correctly mentions Node.js 20.19.0 (LTS) or higher

Copy link
Collaborator

@RomneyDa RomneyDa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@IliyaBrook looks like this is failing builds and other checks

@github-project-automation github-project-automation bot moved this from Todo to In Progress in Issues and PRs Dec 3, 2025
uinstinct and others added 11 commits December 4, 2025 01:13
Fixes CON-5033

All YAML examples in the reference docs now include the required
fields (name, version, schema) to prevent validation errors and
confusion for users.

Generated with [Continue](https://continue.dev)

Co-Authored-By: Continue <[email protected]>
Co-authored-by: Dallin Romney <[email protected]>
Extends PR continuedev#8961 to cover model provider docs, model role docs,
deep dive guides, and other documentation files that were missing
the required name, version, and schema fields in their config.yaml
examples.

This ensures all YAML examples throughout the documentation are
valid and prevent schema validation errors for users.

Co-authored-by: nate <[email protected]>

Generated with [Continue](https://continue.dev)

Co-Authored-By: Continue <[email protected]>
Standardized naming across all YAML examples in reference docs
to use 'My Config' for better clarity.

Generated with [Continue](https://continue.dev)

Co-Authored-By: Continue <[email protected]>
Co-authored-by: Dallin Romney <[email protected]>
Updated all YAML examples to use version 1.0.0 for better
semantic versioning consistency.

Generated with [Continue](https://continue.dev)

Co-Authored-By: Continue <[email protected]>
Co-authored-by: Dallin Romney <[email protected]>
Handle case where JSON content was parsed into an object by the tool call parser.  If the arguments to the tool call are valid JSON (e.g. the model attempts to create a .json file) the earlier call to JSON.parse() will have deeply parsed the returned contents. If that has happened, convert back to string.

Fixes: continuedev#8972
The original `pkg` package (v5.8.1) does not support Node 20,
which is required by `.nvmrc` (v20.19.0). This causes the binary
build to fail with "Error! No available node version satisfies 'node20'".

Changes:
- Replace `[email protected]` with `@yao-pkg/[email protected]` (actively maintained fork)
- Update all pkg targets from `node18-*` to `node20-*`
- Update bundle-binary.js to use `npx @yao-pkg/pkg`

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
@dosubot dosubot bot added size:L This PR changes 100-499 lines, ignoring generated files. and removed size:S This PR changes 10-29 lines, ignoring generated files. labels Dec 3, 2025
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 61 files (changes from recent commits).

Prompt for AI agents (all 1 issues)

Check if these issues are valid — if so, understand the root cause of each and fix them.


<file name="docs/customize/model-providers/more/morph.mdx">

<violation number="1" location="docs/customize/model-providers/more/morph.mdx:11">
P1: Invalid YAML structure in this code example. The header fields have incorrect indentation (5 spaces), and the list item below is missing its parent `models:` key. This example would fail to parse if a user copied it.</violation>
</file>

Reply to cubic to teach it or ask questions. Re-run a review with @cubic-dev-ai review this PR

<Tabs>
<Tab title="YAML">
```yaml title="config.yaml"
name: My Config
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Dec 3, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1: Invalid YAML structure in this code example. The header fields have incorrect indentation (5 spaces), and the list item below is missing its parent models: key. This example would fail to parse if a user copied it.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At docs/customize/model-providers/more/morph.mdx, line 11:

<comment>Invalid YAML structure in this code example. The header fields have incorrect indentation (5 spaces), and the list item below is missing its parent `models:` key. This example would fail to parse if a user copied it.</comment>

<file context>
@@ -8,13 +8,21 @@ Morph provides a fast apply model that helps you quickly and accurately apply co
 &lt;Tabs&gt;
    &lt;Tab title=&quot;YAML&quot;&gt;
    ```yaml title=&quot;config.yaml&quot;
+   name: My Config
+   version: 0.0.1
+   schema: v1
</file context>
Fix with Cubic

@IliyaBrook IliyaBrook requested a review from RomneyDa December 3, 2025 23:45
Copy link
Collaborator

@RomneyDa RomneyDa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

noting github appears to be in odd state
image

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

Labels

size:L This PR changes 100-499 lines, ignoring generated files.

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

4 participants