Skip to content

Community dashboard reports mass unsafe-type false positives when dependencies are unresolved #182

Description

@JeffSteinbok

Summary

The Obsidian community plugin dashboard reports hundreds of @typescript-eslint/no-unsafe-* warnings for a plugin whose source passes eslint-plugin-obsidianmd locally and in GitHub Actions. The warning pattern indicates that the dashboard scanner is running type-checked rules without successfully resolving the plugin dependencies in node_modules.

If the dashboard scanner is maintained elsewhere, please redirect this issue to the appropriate repository.

Affected plugin

Observed behavior

The dashboard reports mass warnings including:

  • @typescript-eslint/no-unsafe-assignment
  • @typescript-eslint/no-unsafe-call
  • @typescript-eslint/no-unsafe-member-access
  • @typescript-eslint/no-unsafe-argument
  • @typescript-eslint/no-unsafe-return

Many messages specifically say the value has an error type or a type that could not be resolved. Most affected code is downstream of imports from obsidian and @microsoft/microsoft-graph-client.

Reproduction evidence

  1. Install the repository dependencies.
  2. Run eslint-plugin-obsidianmd v0.4.1 with its recommended type-checked configuration against src/: no unsafe-type errors are reported.
  3. Remove or make node_modules/obsidian unavailable and rerun the same validation. The imported Obsidian APIs become TypeScript error types and approximately 1,594 unsafe-type diagnostics appear.
  4. Making @microsoft/microsoft-graph-client unavailable similarly produces another 25 diagnostics.

This matches the dashboard report pattern.

Expected behavior

Before running type-aware TypeScript ESLint rules, the community scanner should install the submitted repository lockfile dependencies and confirm that the TypeScript program can resolve imports. If dependency installation or module resolution fails, it should report that setup failure directly rather than emitting downstream unsafe-type diagnostics as source warnings.

Related report

https://forum.obsidian.md/t/bug-plugin-scorecard-linter-cannot-resolve-internal-deps-in-monorepos/116176

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions