Vibeleaderboard
Index / tool
Visit github.com
Category
Developer Tools
Rank
Pricing
Open Source
Type
TOOL
Builder
wevm
GitHub
61 stars
Latest release
v0.0.30
Date

About

Opinionated build tool for TypeScript libraries from the wevm team. Minimal config, fast builds, sensible defaults.

What it does

Zile turns TypeScript library source into publishable ESM JavaScript and declaration files. It discovers single, multiple, and command-line entry points from package metadata, then rewrites distribution metadata to point at built artifacts. A development command substitutes symlinks to source, while publishing commands prepare a reduced manifest and restore the original afterward.

Why it's ranked here

Zile presents a coherent path from source entry points to registry-ready output. Its case rests on practical details: declaration generation, asset copying, binary remapping, monorepo package discovery, development symlinks, and publishing cleanup all follow the same package-driven model.

What's good

It emits JavaScript, declarations, source maps, and declaration maps while validating that declared entry points exist. Multiple exports and binaries receive matching built paths without manual duplication. The development mode links output paths directly to source. It can also type-check and format TypeScript examples embedded in documentation comments.

Tradeoffs

Output is ESM only. Zile also overrides several compiler choices: declarations and maps stay enabled, external library checking stays disabled, and project references plus incremental compilation stay disabled. Binary source entries use a required suffix convention. Teams needing CommonJS or full compiler-policy control will find the opinions restrictive.

How to use it well

Use Zile for TypeScript libraries or command-line packages whose source entry points can live in package metadata. It suits monorepos because it can discover and build multiple packages through glob patterns. Use linking during local development and the paired publishing steps for registry releases. It does not cover CommonJS output or unrestricted compiler configuration.

Technical notes+

src/Cli.ts builds the cac-based CLI and exposes build, dev, new, examples:check, publish:prepare, and publish:post commands. src/internal/cli/commands.ts connects those commands to Package.build and Examples.check, implements project scaffolding, and temporarily preserves package.json during publishing. src/Package.ts reads package.json and tsconfig.json, validates entry points, invokes transpilation, copies assets, decorates exports and binaries, writes distribution metadata, and creates symlinks in link mode. src/Packages.ts discovers package directories with fs.glob and builds them concurrently. src/Examples.ts uses the TypeScript AST to extract JSDoc code fences, runs tsc checks, formats through oxfmt, and can rewrite corrected snippets. src/Cli.test.ts, src/Package.test.ts, src/Packages.test.ts, and src/Examples.test.ts exercise these paths under the Vitest setup in vitest.config.ts.

Observed

License
MIT
Primary language
TypeScript
Install surface
Published as an npm package and documented for installation as a development dependency alongside TypeScript
Interfaces
Provides both a command-line interface and exported library modules
Output format
Produces pure ESM JavaScript with TypeScript declaration files
Compiler support
Uses TypeScript compiler tooling, with optional native-preview compiler support
Package scope
Supports single entry points, multiple exports, binary entry points, and multi-package discovery

Read from README.md, package.json, src/Cli.ts, src/index.ts, src/Package.ts, src/Cli.test.ts, src/Examples.ts, src/Packages.ts, src/Package.test.ts, src/Examples.test.ts, src/Packages.test.ts, src/internal/cli/commands.ts, vitest.config.ts, template/vite.config.ts, template/src/Foo.ts.

What it can do

  • Build TypeScript libraries

    TypeScript source codeCompiled JavaScript library files

  • Bundle library dependencies

    TypeScript project with dependenciesBundled library package

  • Generate type declarations

    TypeScript source files.d.ts type definition files

  • Optimize build performance

    TypeScript library projectFast compilation results

  • Apply default build configuration

    TypeScript project without configBuilt library with sensible defaults

Tags

build-tooltypescriptwevmlibrarybundler

Tech Stack

Node.jsTypeScript

Comments (0)

No comments yet

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