rstackjs / rstackjs/rstack-editor

Track the latest @rslint/core / @rstest/core: verify 0.9.0, join rstack-ecosystem-ci, un-pin E2E fixtures

オープン
#40 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

enhancement
主要言語
TypeScript
スター
10
フォーク
0
平均マージ
16時間 14分
マージ済み PR(30日)
26

説明

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/core on npm is 0.9.0. The E2E fixture install root pins ^0.8.1 (packages/vscode/e2e/lint/fixtures/package.json) and packages/vscode/package.json declares ^0.8.0. The lint E2E slice has never run against 0.9.0.
  • renovate.json5 puts @rslint/** / @rstest/** / rstack in the rstack toolchain group with schedule: at any time, but ignorePaths excludes packages/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_VERSION 2 → 3 (plus a basePath field in flat-config entries) and the plugin-lint request field fix?: boolean → required collectFixes: boolean. Static reading says the worker survives both because it loads binary, config-loader and eslint-plugin host 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-58 still builds a request with fix: 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.json and the @rslint/core devDependency to 0.9.0.
  • Change fix: false to collectFixes: false in plugin-pool.test.ts.
  • Run pnpm test:e2e:lint and 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.ts alongside the existing rstack-cli.ts suite, running the rstest E2E slice (pnpm test:e2e:rstest) against the built @rstest/core.
  • rslint: rstack-ecosystem-ci has no rslint stack 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 or xvfb. Check what rstack-cli.ts already does for headless runs.
3. Keep the fixtures on latest
  • Decide whether the ignorePaths exclusion for packages/vscode/e2e/** still earns its keep once eco-ci covers the "does latest still work" question. Options: remove it and let the rstack toolchain group 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: bump actually opens a PR for a new minor (^0.8.0 does not cover 0.9.0).
  • SUPPORT_MATRIX in shared/versionCheck.ts is a floor, not a pin, and stays as is.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
github-actions, typescript, vscode
領域
ci-cd, developer-experience, testing, tooling
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
活発
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。