rstackjs / rstackjs/rstack-editor
Track the latest @rslint/core / @rstest/core: verify 0.9.0, join rstack-ecosystem-ci, un-pin E2E fixtures
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 10
- Forks
- 0
- Avg merge
- 16h 14m
- Merged PRs (30d)
- 26
Description
Problem
The extension is developed and E2E-tested against a pinned toolchain that is already behind the registry, and nothing verifies it against new releases automatically.
@rslint/coreon npm is 0.9.0. The E2E fixture install root pins^0.8.1(packages/vscode/e2e/lint/fixtures/package.json) andpackages/vscode/package.jsondeclares^0.8.0. The lint E2E slice has never run against 0.9.0.renovate.json5puts@rslint/**/@rstest/**/rstackin therstack toolchaingroup withschedule: at any time, butignorePathsexcludespackages/vscode/e2e/**on purpose ("bumping them is a manual, E2E-verified decision"). So the fixtures never move unless someone remembers. There is also no open Renovate PR for the 0.9.0 devDependency bump, which is worth checking.- 0.8.2 → 0.9.0 changed two wire surfaces the lint worker sits on:
CONFIG_DISCOVERY_PROTOCOL_VERSION2 → 3 (plus abasePathfield in flat-config entries) and the plugin-lint request fieldfix?: boolean→ requiredcollectFixes: boolean. Static reading says the worker survives both because it loads binary,config-loaderandeslint-pluginhost from one core root and passes the payloads through opaquely (packages/vscode/src/stacks/lint/worker/core.ts:98-153,ConfigTransactionAdapter.ts:61-149,PluginLintPool.ts:175-225).e2e/lint/suite-eslint-plugins/plugin-pool.test.ts:51-58still builds a request withfix: false, which does not type-check against 0.9.0.
Before the standalone extensions were retired this was a non-issue: they lived in the rslint / rstest monorepos and moved with every release. Now every core release is a potential drift.
Proposal
1. Verify 0.9.0 now
- Bump
e2e/lint/fixtures/package.jsonand the@rslint/coredevDependency to 0.9.0. - Change
fix: falsetocollectFixes: falseinplugin-pool.test.ts. - Run
pnpm test:e2e:lintand fix whatever falls out.
2. Join rstack-ecosystem-ci
Add this repo as a suite in https://github.com/rstackjs/rstack-ecosystem-ci so the extension's E2E runs against each stack's main / nightly / release on the daily schedule and on demand from a rstest or rslint PR.
- rstest: add
tests/rstest/rstack-editor.tsalongside the existingrstack-cli.tssuite, running the rstest E2E slice (pnpm test:e2e:rstest) against the built@rstest/core. - rslint: rstack-ecosystem-ci has no
rslintstack today (stacks: rsbuild, rspack, rstest, rslib, rsdoctor, rspress). Either add one (three workflows +tests/rslint/) or, as a first step, run the lint slice under an existing stack with--release. Needs a decision with the eco-ci maintainers; a counterpart issue there may be needed. - The suite must run a real VS Code (
packages/vscode/e2e/run.mjs,VSCODE_CLI=1), so the eco-ci runner needs a display orxvfb. Check whatrstack-cli.tsalready does for headless runs.
3. Keep the fixtures on latest
- Decide whether the
ignorePathsexclusion forpackages/vscode/e2e/**still earns its keep once eco-ci covers the "does latest still work" question. Options: remove it and let therstack toolchaingroup bump fixtures too (E2E on the Renovate PR is the verification), or keep the pin and rely on eco-ci to flag drift. - Either way, widen the devDependency ranges so
rangeStrategy: bumpactually opens a PR for a new minor (^0.8.0does not cover 0.9.0). SUPPORT_MATRIXinshared/versionCheck.tsis a floor, not a pin, and stays as is.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with packages/vscode/e2e/lint/fixtures/package.json, packages/vscode/package.json, e2e/lint/suite-eslint-plugins/plugin-pool.test.ts, and renovate.json5; run pnpm test:e2e:lint after verifying the 0.9.0 changes. Then compare tests/rstest/rstack-editor.ts with tests/rstest/rstack-cli.ts and inspect packages/vscode/e2e/run.mjs and VSCODE_CLI=1 handling for eco-ci. Done means 0.9.0 E2E passes and the rstack-ecosystem-ci coverage and fixture-update policy are agreed and implemented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, typescript, vscode
- Domain
- ci-cd, developer-experience, testing, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100