An open API service indexing awesome lists of open source software.

https://github.com/nadlejs/nadle

A type-safe, modern, Gradle-inspired task runner.
https://github.com/nadlejs/nadle

build-tool cli developer-tools gradle-inspired grunt lightweight make nodejs task-orchestration task-runner type-safe typescript

Last synced: 3 months ago
JSON representation

A type-safe, modern, Gradle-inspired task runner.

Awesome Lists containing this project

README

          


Nadle



Gradle-inspired task runner for Node.js.





Why |
Installation |
Features |
Playground |
Configuration Reference


pkg.new.pr
npm downloads
ci
license

![Demo](https://raw.githubusercontent.com/nadlejs/nadle/main/.assets/demo.gif)

## 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:

```bash
npm install -D nadle
```

Create a `nadle.config.ts`:

```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:

```bash
npx nadle greet
```

## Nadle Builds Itself

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

## Credits

Thanks to:

- The [Gradle team](https://gradle.org/) and community for inspiring Nadle's API and dependency model.
- The [Vitest team](https://vitest.dev/) for their excellent testing framework and for the reporter logic we reuse.

## Contribution

See [Contributing Guide](https://github.com/nadlejs/nadle/blob/main/CONTRIBUTING.md)

## License

[MIT](./LICENSE) License © 2025-Present [Nam Hoang Le](https://github.com/nam-hle)