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.

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