Title: Support Rstest static type tests in discovery and run actions · Issue #111 · rstackjs/rstack-editor · GitHub
Open Graph Title: Support Rstest static type tests in discovery and run actions · Issue #111 · rstackjs/rstack-editor
X Title: Support Rstest static type tests in discovery and run actions · Issue #111 · rstackjs/rstack-editor
Description: Rstest is adding opt-in type tests through typecheck configuration and the instance API/CLI. The implementation is loaded from the optional @rstest/typecheck package, which must match the core version. Type assertions and lightweight sta...
Open Graph Description: Rstest is adding opt-in type tests through typecheck configuration and the instance API/CLI. The implementation is loaded from the optional @rstest/typecheck package, which must match the core vers...
X Description: Rstest is adding opt-in type tests through typecheck configuration and the instance API/CLI. The implementation is loaded from the optional @rstest/typecheck package, which must match the core vers...
Opengraph URL: https://github.com/rstackjs/rstack-editor/issues/111
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Support Rstest static type tests in discovery and run actions","articleBody":"Rstest is adding opt-in type tests through `typecheck` configuration and the instance API/CLI. The implementation is loaded from the optional `@rstest/typecheck` package, which must match the core version. Type assertions and lightweight static registration APIs are imported from `@rstest/typecheck`; core registration imports also remain recognized. This tracks the companion editor compatibility work required by the core repository's contribution guidelines.\n\nThe implementation discovers `*.test-d.ts` / `*.spec-d.ts` files, statically collects direct `describe` / `test` / `it` calls, and runs the project's compiler without executing the test file. `listTests({ includeTaskLocation: true })` returns these cases through the existing `ListedTest` shape. Reporter case results carry `meta.typecheck: true`; file results additionally carry the checker name and version.\n\nPlease cover:\n- Discover and run configured type tests through `createRstest` / `listTests` / `run`, including mixed runtime/type projects and `typecheck.only`.\n- Preserve source locations, nested names, and compiler diagnostics. Expression titles are their source text; files without static registrations have a single `[typecheck]` case.\n- Explain that name/file filters select reported cases while the full tsconfig remains checked. `.only`, `.skip`, parameterized and conditional registration modifiers are unsupported and produce collection errors.\n- Type tests run on the host for browser projects as well. They do not execute setup files, runtime hooks, snapshots, retries, or coverage; editor actions should respect those limits.\n- Type testing does not support watch mode. Use one-shot run actions for type cases; the core reports an error for watch plus typecheck.\n- Recognize `@rstest/typecheck` registration imports and preserve actionable missing-package/version-mismatch errors. Ordinary runtime projects do not require this package.\n- Verify `onlyFailures` across mixed runtime/type projects: core shares file failure history and falls back to a full run once no recorded failures remain. Explicit file/name filters take precedence.\n- Respect `bail` results: later type cases and projects are not reported after the run-wide limit; the compiler invocation already started for a project still checks the full tsconfig.\n- Include discovery/run/result mapping tests against the core PR build before release.\n\nCore PR: https://github.com/web-infra-dev/rstest/pull/1984","author":{"url":"https://github.com/9aoy","@type":"Person","name":"9aoy"},"datePublished":"2026-10-22T10:01:23Z","url":"https://github.com/rstackjs/rstack-editor/issues/111"}
| react-profiling | 0 |
| react-import-map | react,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@d5750093facf |
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:77fd2777-51c9-3415-0766-e5174dc21e8e |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | C36E:3A92B4:A49E92:EA598D:6AEC6A91 |
| html-safe-nonce | 7c4c9108e5f2e5ee8ff6af1f0b5f00a36974f534fe7490e0581cc8aa570a50b4 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDMzZFOjNBOTJCNDpBNDlFOTI6RUE1OThEOjZBRUM2QTkxIiwidmlzaXRvcl9pZCI6Ijg3NTA4MTY3MzcxOTI4NjQ0MDEiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 3eb5277f8bfc933ab71a2c9e144ba5a496d557bfc4f5a1beff68b6b01c7013a9 |
| hovercard-subject-tag | issue:5977185625 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/rstackjs/rstack-editor/111/issue_layout |
| twitter:image | https://opengraph.githubassets.com/6c6cdc99cba58bd3d559d207586bc89cb5d207a4b658d2c3054b5ebb61a10ba3/rstackjs/rstack-editor/issues/111 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/6c6cdc99cba58bd3d559d207586bc89cb5d207a4b658d2c3054b5ebb61a10ba3/rstackjs/rstack-editor/issues/111 |
| og:image:alt | Rstest is adding opt-in type tests through typecheck configuration and the instance API/CLI. The implementation is loaded from the optional @rstest/typecheck package, which must match the core vers... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | 9aoy |
| hostname | github.com |
| expected-hostname | github.com |
| None | 81a8a223b8411e760195a15942ff045b37d56328f5bf02c4ca5f903e3dcb475e |
| turbo-cache-control | no-preview |
| go-import | github.com/rstackjs/rstack-editor git https://github.com/rstackjs/rstack-editor.git |
| octolytics-dimension-user_id | 129049372 |
| octolytics-dimension-user_login | rstackjs |
| octolytics-dimension-repository_id | 1316963958 |
| octolytics-dimension-repository_nwo | rstackjs/rstack-editor |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1316963958 |
| octolytics-dimension-repository_network_root_nwo | rstackjs/rstack-editor |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | a2c6dc5933515805b39ac7c5b9ab4e947c2f5a42 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
| react-app-name | issues |
Links:
Viewport: width=device-width