Open-Source Wikis

/

Tauri

/

By the numbers

tauri-apps/tauri

By the numbers

A quantitative snapshot of the tauri-apps/tauri repository.

Data collected on 2026-04-30 from the dev branch (HEAD 1ca61fd74759).

Size

Lines of source code by language (excluding .git, target, node_modules, lockfiles):

Language Lines of code
Rust (.rs) 97,112
TypeScript (.ts) 8,335
Kotlin (.kt) 2,467
JavaScript (.js) 2,316
Swift (.swift) 945
xychart-beta horizontal
    title "Lines of code by language"
    x-axis ["Rust", "TypeScript", "Kotlin", "JavaScript", "Swift"]
    y-axis "Lines"
    bar [97112, 8335, 2467, 2316, 945]

The Rust monorepo dominates. Kotlin and Swift account for the Android plugin glue (crates/tauri/mobile/) and the iOS bridge respectively. The TypeScript total is split between packages/api (the public JS bindings) and crates/tauri-schema-worker (a Cloudflare Workers helper that serves config schemas).

File counts

  • 323 .rs files across 14 Cargo crates.
  • 28 .ts files in packages/api plus a handful in the schema worker.
  • 40 .kt and 37 .swift files for the mobile plugin templates and runtime glue.

Largest files

File Lines
crates/tauri-runtime-wry/src/lib.rs 5,383
crates/tauri-utils/src/config.rs 4,738
crates/tauri/src/webview/webview_window.rs 2,689
packages/api/src/window.ts 2,672
crates/tauri/src/app.rs 2,636
crates/tauri/src/webview/mod.rs 2,380
crates/tauri-bundler/src/bundle/settings.rs 1,319
crates/tauri/src/lib.rs 1,254
crates/tauri/src/manager/mod.rs 1,038
crates/tauri-cli/src/icon.rs 986

These five-figure files are not necessarily candidates for a split — webview_window.rs and window.ts are mostly thin builder/getter methods, and tauri-utils/src/config.rs is generated-flavor code that mirrors the JSON schema.

Activity

  • Total commits on dev: 5,956 (since 2019-07-13).
  • Commits in the last 365 days: 1,744.
  • Commits in the last 90 days are concentrated in the v2.10.x release cycle.

Hottest files in the last 90 days

File Touches
Cargo.lock 23
pnpm-lock.yaml 17
packages/api/package.json 13
crates/tauri/Cargo.toml 12
crates/tauri-schema-generator/schemas/config.schema.json 12
crates/tauri-cli/config.schema.json 12
crates/tauri-utils/src/config.rs 10
crates/tauri-runtime-wry/src/lib.rs 7
crates/tauri-build/src/lib.rs 7
crates/tauri/src/webview/webview_window.rs 6

Lockfiles top the churn list (Renovate keeps them moving). The next tier — config.rs, config.schema.json, the schema generator — reflects ongoing config schema evolution. tauri-runtime-wry/src/lib.rs and webview_window.rs are the natural hotspots for window/webview behaviour.

Bot-attributed commits

Out of 5,956 total commits, 1,309 (~22%) were authored by bots — most via renovate[bot] (980), github-actions[bot] (238), and dependabot[bot] (91). Tauri leans heavily on Renovate for dependency churn. This is a lower bound on automation since inline tooling like Copilot leaves no signature in git history.

Complexity

  • 14 Rust crates in the workspace plus 4 example/test crates and a Node.js Cargo wrapper (packages/cli).
  • 2 published npm packages (@tauri-apps/api, @tauri-apps/cli).
  • 12 example apps under examples/ covering the major features (multiwindow, isolation, splashscreen, drag, file-associations, resources, streaming, state, run-return, multiwebview).
  • 50 TODO / FIXME / HACK comments across 37 Rust files — small for a project this size.

Test-to-code ratio (rough)

  • Rust unit and integration tests sit alongside production code (#[cfg(test)] mod tests) plus dedicated suites under crates/tests/ (acl, app-updater, restart).
  • The crates/tauri/test/ directory holds fixture projects exercised by cargo test -p tauri --all-features.
  • JS unit tests use vitest (configured per package) and are run by pnpm test.

For deeper architectural reading, see Architecture.

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

By the numbers – Tauri wiki | Factory