Skip to content

chore: migrate to Rstack CLI - #295

Merged
chenjiahan merged 1 commit into
mainfrom
chore-migrate-rstack-cli
Sep 4, 2026
Merged

chenjiahan merged 1 commit into
mainfrom
chore-migrate-rstack-cli

Conversation

@chenjiahan

Copy link
Copy Markdown
Member

Summary

Centralizes testing, formatting, and Git hooks with Rstack CLI 0.7.2, replacing the separate Rstest, Prettier, Husky, and lint-staged setups. The resolver and compatibility suites run as separate test projects, with Rust/TOML checks handled by rs staged. CI moves to Node.js 22/24 to meet Rstack's runtime requirements.

Related Links

Copilot AI lite review requested due to automatic review settings September 4, 2026 03:32
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 4, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-04T03:37:30.760570Z 6ab5fd2 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

There are a few workflow robustness issues to address (notably Node version pinning for Rstack’s engine constraints, and ensuring formatting/hook behavior matches the previous ignore/hook expectations).

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Migrates the repository’s dev workflow (tests, formatting, and Git hooks) from the standalone Rstest/Prettier/Husky/lint-staged setup to a unified Rstack CLI (rs) configuration, and updates CI to run on newer Node versions.

Changes:

  • Replaced Rstest configs and test imports with Rstack test projects defined in rstack.config.mts.
  • Switched formatting + staged-file checks from Prettier/lint-staged to rs fmt / rs staged, and replaced Husky with rs hooks.
  • Updated CI and the pnpm setup action to align with the new Node/runtime expectations.
File summaries
File Description
skills-lock.json Adds a lockfile for the rstack-cli-docs agent skill.
rstest.config.resolver.mjs Removes old Rstest config (resolver project).
rstest.config.mjs Removes old Rstest config (compat suite project).
rstack.config.mts Adds Rstack config defining test projects, formatter options, and staged commands.
pnpm-lock.yaml Updates lockfile for new toolchain dependencies (rstack and transitive updates).
package.json Replaces test/format/hook scripts with rs equivalents and swaps devDependencies accordingly.
napi/tests/tsconfig-paths.test.mjs Migrates tests from @rstest/core to rstack/test.
napi/tests/scoped-packages.test.mjs Migrates tests from @rstest/core to rstack/test.
napi/tests/roots.test.mjs Migrates tests from @rstest/core to rstack/test.
napi/tests/restrictions.test.mjs Migrates tests from @rstest/core to rstack/test.
napi/tests/resolve.test.mjs Migrates tests from @rstest/core to rstack/test.
napi/tests/options.test.mjs Migrates tests from @rstest/core to rstack/test.
napi/tests/incorrect-description-file.test.mjs Migrates tests from @rstest/core to rstack/test.
napi/tests/importsField.test.mjs Migrates tests from @rstest/core to rstack/test.
napi/tests/extensions.test.mjs Migrates tests from @rstest/core to rstack/test.
napi/tests/extension-alias.test.mjs Migrates tests from @rstest/core to rstack/test.
napi/tests/exportsField.test.mjs Migrates tests from @rstest/core to rstack/test.
napi/tests/browserField.test.mjs Migrates tests from @rstest/core to rstack/test.
napi/resolver.wasi.cjs Formatting-only change (semicolon) in committed generated output.
napi/index.js Formatting-only change (semicolon) in committed generated output.
napi/test/resolver.test.mjs Migrates resolver tests from @rstest/core to rstack/test.
lint-staged.config.mjs Removes old lint-staged configuration (now handled by rs staged).
.vscode/settings.json Sets Rstack VS Code formatter defaults for the workspace.
.vscode/extensions.json Recommends the Rstack VS Code extension.
.rstack/hooks/pre-commit Adds Rstack-managed pre-commit hook entrypoint.
.prettierrc.js Removes Prettier config (formatting moved into rstack.config.mts).
.prettierignore Removes Prettier ignore list (superseded by Rstack ignorePatterns).
.husky/pre-commit Removes Husky hook script.
.github/workflows/ci.yml Updates CI checks and Node matrix to match the new workflow.
.github/actions/pnpm/action.yml Simplifies pnpm installation now that Node 20 is no longer in the matrix.
.agents/skills/rstack-cli-docs/SKILL.md Adds agent skill documentation for consulting Rstack CLI docs.
Review details

Files not reviewed (1)

  • pnpm-lock.yaml: Generated file

Suppressed comments (1)

rstack.config.mts:42

  • Same as above: prefer null as the explicit “no error” value in the error-first callback signature for externals.
              callback(
                undefined,
                `node-commonjs ${path.resolve("napi/index.js")}`
              );
  • Files reviewed: 30/31 changed files
  • Comments generated: 4
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/workflows/ci.yml
Comment thread .rstack/hooks/pre-commit
Comment thread rstack.config.mts
Comment thread rstack.config.mts
@codspeed

codspeed Bot commented Sep 4, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 12 untouched benchmarks


Comparing chore-migrate-rstack-cli (6ab5fd2) with main (ebed1eb)

Open in CodSpeed

@chenjiahan
chenjiahan merged commit be80b10 into main Sep 4, 2026
26 checks passed
@chenjiahan
chenjiahan deleted the chore-migrate-rstack-cli branch September 4, 2026 06:32
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