Vibeleaderboard
Index / tool
Visit github.com
Category
Developer Tools
Rank

Previous survey · No. 502 ·

Pricing
Open Source
Type
TOOL
Builder
google
Date

About

Google's tool that upgrades npm/pnpm/yarn scripts to be smarter and more efficient — incremental builds, cross-package dependencies, watch mode.

What it does

Wireit turns existing project commands into a declared execution graph. You describe commands, their prerequisites, input files, and outputs in project configuration. It validates that graph, schedules safe work concurrently, restores reusable results from cache, and reruns affected work when watched files change.

Why it's ranked here

Wireit offers substantial build orchestration without forcing teams to abandon familiar package commands. Its dependency analysis, safe concurrency, caching, services, and editor diagnostics form a coherent system. The cost is explicit file metadata and configuration, which teams must maintain accurately to receive the largest speed gains.

What's good

Adoption can be gradual because configured tasks may depend on ordinary package scripts. Dependency edges can cross packages, and independent work runs concurrently. Simultaneous invocations of the same task are locked to prevent conflicting output. Local and GitHub Actions caches can restore outputs, while editor support provides diagnostics, completion, navigation, and corrective edits.

Tradeoffs

Incremental execution and caching require declared inputs and outputs. Without either list, a task always runs because Wireit cannot prove freshness. Local caches have no automatic size limit. Default concurrency can also starve resources in large builds, so teams may need to lower it. The configuration layer adds metadata that must stay aligned with command behavior.

How to use it well

Use Wireit for JavaScript or TypeScript projects whose build, test, lint, and service commands already live behind package scripts. Introduce it task by task, then add precise input and output globs where repeated work justifies caching. Keep ordinary scripts when optimization adds little. It orchestrates existing tools, but does not replace compilers, test runners, bundlers, or deployment systems.

Technical notes+

package.json defines an ES module npm package, a wireit CLI entry, Node.js 18 or newer, an Apache-2.0 license, and a workspace for the VS Code extension. src/cli.ts selects local, GitHub Actions, or disabled caching, dynamically loads watch support, constructs a worker pool, and routes validated graphs into Executor. src/analyzer.ts loads transitive configuration, builds placeholders concurrently, validates dependencies, and performs a separate deterministic cycle check. src/executor.ts maps no-command, standard, and service configurations to execution classes while enforcing failure modes and service lifecycles. src/watcher.ts watches configuration and declared inputs, queues changes during active runs, and reuses persistent services. src/ide.ts exposes diagnostics, code actions, completions, and definition navigation over in-memory editor buffers.

Observed

License
Apache-2.0
Primary language
TypeScript
Packaging
ES module package published through npm
Install surface
Development dependency installed with npm
Interface
Command-line tool invoked through package scripts
Runtime requirement
Node.js 18 or newer
Package manager support
Works with npm, pnpm, Yarn, and Node run commands
Editor integration
VS Code extension with diagnostics, completion, documentation, navigation, and code actions

Read from README.md, package.json, src/cli.ts, src/ide.ts, src/error.ts, src/event.ts, src/config.ts, src/watcher.ts, src/analyzer.ts, src/executor.ts.

What it can do

  • Run incremental builds

    npm/pnpm/yarn scripts with dependency graphOptimized build execution skipping unchanged components

  • Manage cross-package dependencies

    Multiple packages with interdependenciesCoordinated execution order respecting package relationships

  • Watch files for changes

    Source files and directoriesAutomatic re-execution of affected scripts when files change

  • Cache build outputs

    Script execution results and file fingerprintsCached artifacts for faster subsequent builds

  • Parallelize script execution

    Independent scripts across packagesConcurrent execution of non-dependent tasks

  • Validate dependency graphs

    Package scripts with declared dependenciesError detection for circular or invalid dependencies

Tags

npmbuildmonorepogooglescripts

Tech Stack

Node.jsTypeScript

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.