Repository navigation
Dart
github-actions[bot] edited this page Oct 12, 2026
·
1 revision
Part of the ecosystems matrix.
| File | Notes |
|---|---|
pubspec.lock |
Every resolved package, its kind (direct main / direct dev / direct overridden / transitive) and its source. |
pubspec.yaml |
Accepted as a target; the lockfile alongside it is what is read. |
sdk packages (flutter, flutter_test) and path packages are the toolchain
and the project's own code: they are not reported as dependencies.
pubspec.lock records no edges: the graph is flat and a flat_graph
diagnostic is emitted. The direct/transitive split is exact, though - the
lockfile states it.
Seeded: direct dev is dev, every other package prod. With no edges, a
transitive package reached only through dev tools cannot be told apart and
stays prod (the safe default). See Dependency scopes.
-
Registry: pub.dev -
pub.dev/api/packages/<name>/versions/<version>→pubspec.repository, thenpubspec.homepage. - A git package resolves to its own
url, never to the same-named pub.dev package (often the upstream of the fork in use). - A package from a private pub server is not looked up on pub.dev at all: it resolves to no repository (unchecked) rather than to a stranger's.
Through vuln.mlab.sh, which reads pubspec.lock as is (OSV Pub).
- Licenses (the pub.dev version API does not carry one).
- Source-code scanning of Dart.
- Typosquatting (no corpus).
Commands
- scan
- tree
- audit
- fix
- licenses
- why
- diff
- sbom
- system
- scripts
- hook
- watch
- timeline
- ghost
- hunt
- allowlist
- cache
Targets
Ecosystems (overview)
- Node
- Deno
- Python
- Conda
- Rust
- Ruby
- PHP
- Go
- JVM (Java, Scala, Clojure)
- .NET
- Swift / iOS
- Dart / Flutter
- Elixir / Hex
- C / C++
- Haskell
- R
- Perl
- Julia
System managers
Windows (overview)
- WinGet
- MSIX / AppX
- Chocolatey
- Scoop
- Add/Remove Programs
- Auto-start (ASEP)
- Scheduled tasks
- Services & drivers
- Jobs & file-based
- Privilege & trust posture
- Network posture
Concepts