Skip to content

nadlejs/nadle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

428 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Nadle

Gradle-inspired task runner for Node.js.

Why | Installation | Features | Playground | Configuration Reference

pkg.new.pr npm downloads ci license

Demo

Features

  • Type-safe task definitions — full TypeScript inference and compile-time checks
  • Parallel execution — DAG-based scheduling with worker threads
  • Built-in caching — input fingerprinting and output snapshots for incremental builds
  • Monorepo-native — first-class support for multi-package workspaces
  • Built-in tasks — ExecTask, PnpmTask, CopyTask, DeleteTask ready to use
  • Smart CLI — abbreviation matching, auto-correction, dry run, summary mode
  • Zero legacy — ESM-only, Node.js 22+, no backwards-compatibility baggage

Quick Start

Install Nadle:

npm install -D nadle

Create a nadle.config.ts:

import { tasks } from "nadle";

tasks.register("hello", async () => {
	console.log("Hello from Nadle!");
});

tasks.register("goodbye", async () => {
	console.log("Goodbye!");
});

tasks.register("greet").config({
	group: "Greeting",
	description: "Run all greeting tasks",
	dependsOn: ["hello", "goodbye"]
});

Run it:

npx nadle greet

Nadle Builds Itself

This repository uses Nadle as its own build system — see nadle.config.ts for a real-world example with caching, parallel execution, and monorepo task orchestration.

Credits

Thanks to:

  • The Gradle team and community for inspiring Nadle's API and dependency model.
  • The Vitest team for their excellent testing framework and for the reporter logic we reuse.

Contribution

See Contributing Guide

License

MIT License © 2025-Present Nam Hoang Le

Packages

 
 
 

Contributors

Languages