Docs/Supported Runtimes
Reference

Supported Runtimes

RepoWarden supports the most popular languages and package managers. Here is what is available today and what is coming next.

JS

JavaScript / TypeScript

Fully supported

Manifest files detected

package.json

Lock files recognized

package-lock.jsonyarn.lockpnpm-lock.yaml

Package managers

npm

Detection: Detected when package-lock.json is present, or as the default when no lock file is found.

Full support for all semver range operators (^, ~, >=, exact). Workspace references, link:, and file: references are automatically skipped.

Yarn Classic (v1)

Detection: Detected when yarn.lock is present and there is no .yarnrc.yml file or packageManager field specifying Yarn 2+.

Equivalent to npm support. Lock file is regenerated by running yarn install after updates.

Yarn Berry (v2+)

Detection: Detected when .yarnrc.yml exists or the packageManager field in package.json specifies a Yarn version >= 2.

Uses the correct Berry-specific install flags. Plug'n'Play and node_modules linkers are both supported.

pnpm

Detection: Detected when pnpm-lock.yaml is present.

Full support including workspace protocol (workspace:*) references, which are correctly skipped during updates.

Security audit support

Yes -- uses the npm bulk advisory API to check all dependencies against known CVEs. Severity levels (critical, high, moderate, low) are included in PR descriptions.

Known limitations

  • Monorepo support is limited to the root package.json. Workspace packages in subdirectories are not yet scanned independently.
  • Private registries are not yet supported. Only packages published to the public npm registry are checked.
PY

Python

Fully supported

Manifest files detected

requirements.txtpyproject.tomlPipfile

Lock files recognized

requirements.txt (pinned)Pipfile.lockpoetry.lock

Package managers

pip (requirements.txt)

Detection: Detected when requirements.txt is present in the repository root.

Supports all PEP 440 version operators: ==, >=, ~=, <=, !=, >, <. Lines starting with -r, -e, or -c (recursive includes, editable installs, constraint files) are skipped.

Poetry (pyproject.toml)

Detection: Detected when pyproject.toml contains a [project.dependencies] section.

Parses PEP 508 dependency specifiers inside the dependencies array. Optional dependency groups under [project.optional-dependencies] are also scanned.

Pipenv (Pipfile)

Detection: Detected when a Pipfile is present.

Both [packages] and [dev-packages] sections are parsed. Version strings like "==1.2.3" and ">=1.2.3" are supported.

Security audit support

Limited -- Python dependencies are checked against PyPI for latest versions, but advisory-level CVE checking is not yet integrated. This is on the roadmap.

Known limitations

  • Security advisory checking (CVE detection) is not yet available for Python packages.
  • Only the first requirements.txt found is processed. Multiple requirements files (e.g., requirements-dev.txt) are not yet scanned.
  • setup.py and setup.cfg dependency declarations are not yet parsed.
RS

Rust

Fully supported

Manifest files detected

Cargo.toml

Lock files recognized

Cargo.lock

Package managers

Cargo

Detection: Detected when Cargo.toml is present in the repository root.

Supports both simple (name = "version") and inline table (name = { version = "x", features = [...] }) dependency declarations. Both [dependencies] and [dev-dependencies] sections are scanned. Cargo's default caret semantics are respected, including the special 0.x behavior where ^0.8 only updates within 0.8.x.

Security audit support

Not yet -- RustSec advisory database integration is planned. Currently, Rust dependencies are checked for version updates only.

Known limitations

  • RustSec advisory database integration is not yet implemented. Security-flagged updates are not available for Rust.
  • Path dependencies and git dependencies are automatically skipped.
  • Wildcard (*) and exact-pinned (=) versions are skipped.
  • Workspace-level Cargo.toml dependency inheritance is not yet supported.
GO

Go

Fully supported

Manifest files detected

go.mod

Lock files recognized

go.sum

Package managers

Go Modules

Detection: Detected when go.mod is present in the repository root.

Parses the require block for all direct dependencies. Indirect dependencies are managed by go mod tidy. Replace directives, pseudo-versions (v0.0.0-timestamp-hash), and golang.org/x/ stdlib extensions are automatically skipped.

Security audit support

Yes -- uses govulncheck, the official Go vulnerability scanner. Performs call-graph analysis to determine whether your code actually calls vulnerable functions. Backed by vuln.go.dev.

Known limitations

  • Go workspaces (go.work) are not yet supported. Only the root go.mod is scanned.
  • Private module proxies (GOPROXY) are not yet supported. Only modules available via proxy.golang.org are checked.
  • Vendor directories (go mod vendor) are not automatically regenerated after updates.
C#

.NET (NuGet)

Coming soon

Manifest files detected

.csprojDirectory.Packages.props

Lock files recognized

packages.lock.json

Package managers

NuGet

Detection: Will be detected when .csproj files with PackageReference elements are present.

Planned support for both individual project files and centralized package management via Directory.Packages.props.

Security audit support

Planned -- will integrate with the GitHub Advisory Database for NuGet packages.

Known limitations

  • Not yet implemented. This is on the roadmap.
  • If you need .NET support, please reach out at [email protected] to help us prioritize.

Missing your language or package manager?

We are actively adding support for more runtimes. If your stack is not listed here, let us know and we will prioritize it.

Request a runtime