Skip to content

Rslint extension sunset checklist #86

Open

Description

@fi3ework

Retire the standalone Rslint extension (rstack.rslint, web-infra-dev/rslint packages/vscode-extension) in favor of rstack.rstack, following the same process as #75.

Decisions

Same as #75, with these values:

  • Settings mapping: rslint.enable → rstack.rslint.enable, rslint.corePath → rstack.rslint.corePath, rslint.trace.server → rstack.rslint.trace.server. rslint.binPath / rslint.customBinPath have no equivalent. Settings are not migrated automatically.
  • Supported core range for the final release: @rslint/core ^0.9.0 (0.9.x prereleases included).
  • displayName becomes Rslint (moved to Rstack). Do not try Rslint (Deprecated); the Marketplace rejects display names close to an existing one (TSLint (deprecated)) at publish time. Fallback: Rslint (now part of Rstack).
  • No changes to rstack.rstack. No extensionPack / extensionDependencies link. "Don't show again" lives in globalState.

Final release behavior

Same three cases as #75, in order. Reference implementation: web-infra-dev/rstest packages/vscode/src/migrationNotice.ts and versionCheck.ts (web-infra-dev/rstest#1917).

  1. rstack.rstack is installed and enabled. Stand down. Prompt "Rstack has taken over Rslint. Uninstall the Rslint extension." with Uninstall Rslint and Don't show again. Only check whether Rstack is installed; drop the current rstack.rslint.enable condition.
  2. The local @rslint/core does not satisfy ^0.9.0. Do not start a runtime for that core. Error on every activation: "Rslint has moved into the Rstack extension. The Rslint extension only supports @rslint/core ^0.9.0 (found X). Please install Rstack." with Install Rstack.
  3. Only the old extension is present. Run normally. Prompt once: "Rslint has moved into the Rstack extension. The Rslint extension is deprecated and will not be updated. Please install Rstack." with Install Rstack and Don't show again.

At most one notification at a time: case 3 is shown only if case 2 did not fire.

Checklist

Phase 1: final rstack.rslint release (web-infra-dev/rslint)

Upstream coverage after this phase: rstackjs/rstack-ecosystem-ci#104 runs this repo's test:unit against the freshly built @rslint/core on every rslint main push, once web-infra-dev/rslint#2420 connects rslint to the ecosystem CI. Unlike the Rstest suite (rstackjs/rstack-ecosystem-ci#99), it does not run lint yet. Renovate's rstack toolchain group, which includes @rslint/**, opens a PR that runs the three-platform E2E on every release. Running this repo's VS Code E2E in ecosystem-ci stays out of scope for the same reasons as #75.

Phase 2: registries and docs (2 to 4 weeks after Phase 1)

Phase 3: stop publishing in rslint

Phase 4: remove the source (brought forward: not waiting for installs to drop off)

  • git rm -r packages/vscode-extension, then clean up the remaining references (root package.json filters and typecheck reference, tsconfig.json, cspell.config.cjs, rslint.config.ts, rstack.config.mts, .github/workflows/ci.yml, scripts/publish-marketplace.mjs, the release-prep skill) (chore: remove the retired standalone VS Code extension web-infra-dev/rslint#2488, open)
  • Update both deprecation entries to disallowInstall: true (not yet: Phase 2 entries do not exist, and this should wait until installs have dropped off)

References

Activity

  1. pinned this issue on Oct 9, 2026
  2. fi3ework commented on Oct 14, 2026

    @fi3ework
    MemberAuthor

    Phase 1 implementation landed in web-infra-dev/rslint#2427 (merged 2026-10-14, 865e3a5ab): three cases, ^0.9.0 guard, displayName, README mapping table. Verified in a clean VS Code 1.141 profile side by side with the Rstest extension 0.12.3; behavior matches. Remaining Phase 1 items wait for the next rslint release, which publishes the final extension version; the version freeze and CI E2E removal follow in one PR after that.

  3. fi3ework commented on Nov 2, 2026

    @fi3ework
    MemberAuthor

    Status on 2026-11-02:

    Phase 1 is complete.

    Plan change: no freeze step, and Phases 3 and 4 are brought forward. web-infra-dev/rslint#2488 (draft) removes the publish jobs, packages/vscode-extension, and the remaining references in the rslint repo. It also adds an editor-integration section to rslint's AGENTS.md. The Phase 3 and 4 items stay unchecked until it merges. The source removal no longer waits for installs to drop off, so any further rstack.rslint release would need a revert first.

    Still open after #2488 merges:

    • Revoke RSLINT_VSCE_PAT and RSLINT_OVSX_PAT. Keep the release environment, because publish-npm uses it.
    • Request Marketplace deprecation and add the extension-control entry for Open VSX (Phase 2). Neither has been submitted.
    • Check templates outside the rslint repo for rstack.rslint references. These have not been checked.
    • Set disallowInstall: true once installs have dropped off.
  4. fi3ework commented on Nov 2, 2026

    @fi3ework
    MemberAuthor

    Both Phase 2 deprecation requests are now out, ahead of the planned 2 to 4 weeks. disallowInstall: false does not stop auto-update in VS Code, so users on 0.9.5 still receive 0.10.0.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions