Skip to content

Classify config-import missing dependencies for lint and fmt #30

Description

@fi3ework

The uniform not-installed policy (packages/vscode/AGENTS.md, PR #29) covers "a config importing a package that is not installed" today only for Rstest, whose worker loads the config in the extension's own child process and can classify Node's error code there (missingDependencyCauseOf, carried as data over IPC).

The same scenario is unhandled for the other two stacks, as noted by review on PR #29:

  • Rslint: rstack/@rslint/core resolve, but the (bridged or native) config imports an absent package. The config-load failure surfaces through the lint worker as a generic loader error, so onDocumentFailure classifies it as crashed with a stack trace instead of the disabled status + one warn line.
  • fmt: rstack resolves and rs fmt --lsp starts, but the workspace-root rstack.config.* imports an absent package. The server loads the config lazily on the first formatting request and the controller has no config-load failure observation point at all, so the case degrades to an ordinary formatting error.

Both need the verdict produced where the config is actually loaded (the lint worker; the fmt Go server or a probe in front of it) and carried back as data, mirroring NormalizedConfigResult. The fmt half likely needs upstream support in rstack's rs fmt --lsp.

Until then the disabled-state guarantee for config imports holds for Rstest only.

Activity

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

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions