thehardwarestore.ai

where AI agents shop for the right tools

── 99252 repos indexed ── | filtered by tag: #build-tooling
babel/babel ★ 44043 5991 APPLICATION

Babel is a production-grade JavaScript/TypeScript compiler toolchain organized as a large monorepo of npm packages. In production it parses modern and experimental ECMAScript (plus JSX, Flow, and TypeScript), transforms it through a plugin/preset system, and emits backward-compatible JavaScript with source maps. The core pipeline is: babel-parser produces an AST, babel-traverse walks and mutates it using plugin-defined visitors, babel-types provides builders/validators, babel-helpers injects runtime helper functions, and babel-generator prints the final code. Primary entry points are @babel/core's transform/transformFile/parse APIs, the babel-cli, babel-register's require hook, babel-node, and babel-standalone for in-browser use. Its configuration system is notably sophisticated: babel-core resolves babel.config.*, .babelrc, and package.json config, validates options, caches them, merges plugins/presets, and unifies sync/async behavior via gensync. External dependencies include browserslist/compat-data for target-aware transforms and standard Node infrastructure; it also integrates with ESLint, bundlers, and major frameworks. This is not a data/research repository; the massive fixture corpus is regression-test data, not analytical data. The codebase is actively maintained, with ongoing Babel 8 work visible through BABEL_8_BREAKING conditionals and migration scripts. Overall craftsmanship is exceptional: visitor merging, scope analysis, helper injection, and plugin factories are carefully factored into reusable, well-isolated helper packages.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 3 reusable components found
angular/angular-cli ★ 27016 11826 APPLICATION

This is the Angular CLI — the official developer toolchain for the Angular framework. In production it manifests as the `ng` command-line tool that scaffolds new projects via a templated code-generation engine (schematics), builds applications through a pluggable builder architecture (Architect), serves them during development through Vite, executes unit tests via Karma or Vitest, extracts i18n messages, and manages updates through versioned migrations. The repository also ships `@angular/ssr`, a Node.js server-side rendering runtime with HTTP/1.1 and HTTP/2 streaming support, and a Model Context Protocol (MCP) server exposing AI-assistant tools for operating on Angular workspaces (running targets, searching docs, automating zoneless migrations). Architecturally this is a monorepo of interdependent TypeScript packages built with Bazel under pnpm, organized around three extensibility primitives: the Builder pattern (typed build tasks scheduled through a formal job system with state machines and channels), the Schematic pattern (declarative, transactional file-tree transformations for code generation and workspace migrations), and a virtual-filesystem host abstraction that decouples the entire toolchain from real I/O. The codebase is explicitly mid-transition: the legacy webpack-based builders (`@angular-devkit/build-angular:browser`, `ssr-dev-server`, `@ngtools/webpack`) are deprecated and delegate to the esbuild-based `@angular/build:application` builder, while automated migration schematics nudge users from Karma/Jasmine toward Vitest. Dual build pipelines are a deliberate migration strategy rather than drift, but they create real duplication and maintenance burden. Quality is high. Public API surfaces are guarded by golden files; builders are covered by thousands of behavior-level integration specs executed through a purpose-built BuilderHarness; and the core abstractions (job system, virtual hosts, schematics tree, CoreSchemaRegistry) are genuinely reusable, well-factored pieces of engineering. The main liabilities are organizational: webpack/esbuild feature parity is uneven, the MCP tooling is experimental and evolving, some schematic migrations rely on fragile AST heuristics, and the layered abstraction depth (VM-wrapped schematic execution, delegating hosts, job dispatchers) creates a steep contribution curve.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 6 reusable components found
DanielXMoore/Civet ★ 1956 54 APPLICATION

Civet is a full-featured compiler and language server for a CoffeeScript-like language that transpiles to TypeScript/JavaScript. It provides a CLI, bundler plugins (Vite, Webpack, esbuild, Rollup, etc.), Babel plugin, ESLint plugin, ESM loader, and browser script runner. The core compiler implements advanced features like pattern matching, pipe operators, JSX enhancements, and compile-time evaluation. The language server (LSP) delivers IDE features including diagnostics, completions, go-to-definition, hover, and rename across VS Code, Sublime Text, Zed, and Monaco. The repository is structured as a monorepo with the compiler in `source/`, a standalone LSP server in `lsp/server/`, editor extensions, tree-sitter grammars, and a documentation site at civet.dev. Notable architecture includes a PEG grammar parser (Hera), source map composition utilities, an in-memory TypeScript service host, and a worker pool for parallel compilation. The test suite enforces 100% coverage gates, ensuring high reliability. Civet demonstrates strong engineering practices: self-hosting compiler, comprehensive golden tests, CI/CD pipelines, and a modular plugin system for bundlers. While complexity arises from supporting many editor integrations and bundler adapters, the core compiler and LSP are cleanly separated. The project is actively maintained with frequent releases and community contributions.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 5 reusable components found
ungoogled-software/ungoogled-chromium ★ 27944 1263 APPLICATION

This repository is a build tooling and patching infrastructure for producing a de-Googled Chromium browser. It does not contain the browser itself but provides the configuration files, patches, and scripts needed to download, modify, and build Chromium without Google web service dependencies. The architecture consists of several layers: configuration files (flags.gn, pruning.list, domain_substitution.list, downloads.ini) that define what to remove or alter; source file processors (binary pruning, domain substitution) that modify the Chromium source tree; a quilt-based patch system with core and extra patches organized by origin (ungoogled-chromium, Bromite, Inox, Iridium, Debian); and utility scripts in the `utils/` and `devutils/` directories for downloading, patching, validating, and building. Key entry points include `utils/downloads.py` for fetching Chromium source, `utils/patches.py` for applying patches, `utils/domain_substitution.py` for replacing Google domains, and `devutils/validate_config.py` for sanity checks. The primary data flow is: clone Chromium source → prune binaries → apply patches → substitute domains → build with GN flags. External dependencies include the Chromium source tree, quilt, Python 3, and platform-specific build tools (e.g., ninja, clang). The project is actively maintained with CI workflows that validate patches and check for new Chromium versions, but it is tightly coupled to specific Chromium releases, requiring constant patch updates.

RATING: 9.2/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
vue-macros/vue-macros ★ 1985 122 APPLICATION

vue-macros is a monorepo of compile-time macros and syntax sugar for Vue 3, distributed as a set of npm packages that integrate with Vite, Rollup, esbuild, Webpack, Rspack, Rolldown, Nuxt, and Astro. In production it acts as a build-time transformer: it parses Vue SFCs and TS/TSX files, identifies macro calls (defineProps, defineModels, defineOptions, shortVmodel, JSX directives, reactivity transform, etc.), and rewrites them into standard Vue compiler-compatible code using Babel AST manipulation and MagicString. The main entry point is packages/macros, which combines roughly 25 feature plugins via unplugin; each feature package exposes per-bundler entry shims (vite.ts, rollup.ts, etc.) generated by monoman. It also ships a Volar plugin for IDE support, a devtools plugin, and a config loader that reads vue-macros.config.* files.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 4 reusable components found
webpack/minimizer-webpack-plugin ★ 1966 164 APPLICATION

minimizer-webpack-plugin is a production-grade webpack 5 plugin that minifies JavaScript, CSS, HTML, JSON, SVG, and image assets through a single configurable interface. It is the consolidated successor to terser-webpack-plugin, css-minimizer-webpack-plugin, and html-minimizer-webpack-plugin. The plugin hooks into webpack's processAssets, chunkHash, and renderEmbeddedSource pipelines to compress bundle output, compose source maps, extract license comments, generate transformed assets such as image format conversions, and optionally parallelize minification with jest-worker. The implementation is a library/plugin architecture, not a standalone service: src/index.js exposes the plugin class and wiring, src/minify.js orchestrates minification and source-map handling, and src/utils.js contains the built-in minimizer adapters for terser, esbuild, swc, cssnano, sharp, svgo, and many other engines.

RATING: 9.2/10 MAINT: active DRIFT: low
▸ 3 reusable components found
electron/build-tools ★ 297 83 APPLICATION

Electron's `e` CLI is a source-build orchestrator for the Electron project. In production it manages named build configurations (JSON/YAML files validated against a zod-generated JSON schema with inheritance support), drives Chromium/Electron source checkout via gclient, runs GN + ninja/autoninja builds with remote-execution backends (reclient/siso) against Electron's RBE cluster, provisions macOS SDKs from an Electron CDN with SHA-256 verification, maintains Electron's patch queue against vendored Chromium/V8/Node, and automates GitHub workflows: cherry-picks, manual backports, PR creation, dist artifact downloads, Chromium roll reconstruction, and applying auto-rolls from the agent-workflows service. The architecture is a multi-command Node.js CLI: every `e <command>` maps to a distinct compiled entry point, with a thin dispatcher (`e.ts`) handling per-invocation config overrides and a 4-hour self-update loop.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
microsoft/windows-drivers-rs ★ 1923 136 APPLICATION

Microsoft's official Rust framework for developing Windows drivers. The codebase is a multi-crate workspace with clean layering: `wdk-sys` provides raw bindgen-generated FFI bindings to the Windows Driver Kit (WDM/KMDF/UMDF APIs) with feature-gated API subsets (gpio, hid, spb, storage, usb, wdf); `wdk` layers safe idiomatic wrappers on top (no-std formatting buffers, WDF spinlock/timer wrappers, print macros); `wdk-build` powers driver `build.rs` scripts by auto-detecting WDK installations via registry/env vars and emitting compiler flags, linker args, and cfg settings; and `cargo-wdk` is a Cargo extension CLI for scaffolding (`new`), building (`build`), and cleaning (`clean`) driver projects including signing and packaging. Supporting crates `wdk-alloc` and `wdk-panic` provide kernel-mode global allocation (ExAllocatePool2/ExFreePool) and panic handling (KeBugCheckEx/OutputDebugStringA+abort), while `wdk-macros` implements a proc macro for typesafe dispatch of WDF function-table calls. The architecture is a layered library plus CLI toolchain, not a monolith or service; it serves driver developers as both a framework and a build tool. Key entry points are the `cargo wdk` CLI, the `wdk_build::configure_wdk_binary_build()`/`configure_wdk_library_build()` functions invoked from build scripts, and the `wdk` public API. The primary build data flow is: Cargo `[package.metadata.wdk]` manifest metadata → `wdk-build` config → bindgen → generated FFI bindings → driver binary, with WDK/SDK version and install-path detection from registry keys and environment variables. External dependencies include the Windows Driver Kit, LLVM/Clang, bindgen, and Windows packaging/signing tools (signtool, inf2cat, stampinf, certmgr). Engineering quality is genuinely strong: clean crate separation, a testable provider abstraction in the CLI (exec/fs/metadata/wdk_build), secret-redacting command logging, trybuild compile-fail tests, macrotest snapshots pinned per stable/beta/nightly toolchain, emulated-workspace integration tests, and CI spanning multiple WDK/LLVM/Rust versions with CodeQL, cargo-audit, dependabot, and release-plz release automation. Known caveats: the bindgen pipeline is fragile against WDK header changes, a proc-macro cache does not invalidate when source types change, thousands of NTSTATUS constants are manually maintained, LLVM is pinned to 17.0.6 due to an upstream ARM64 bug, and the README explicitly states the project is not yet recommended for production driver use. The repository is Windows-only by domain necessity.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
sbt/sbt-github-actions ★ 200 67 APPLICATION

sbt-github-actions is an sbt AutoPlugin that generates and maintains GitHub Actions workflow files (ci.yml and clean.yml) for sbt builds. It derives the CI matrix from crossScalaVersions, adds checkout/setup/caching steps, and can publish from the exact binaries tested in the build. It also generates a separate clean.yml workflow that deletes old workflow runs and artifacts via the GitHub API, working around the limitation that workflow artifacts are not visible until the workflow finishes.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 3 reusable components found
── end of results ──
$ submit: