Skip to main content

ESLint Plugin

eslint-plugin-nadle provides ESLint rules for nadle.config.ts files, catching common configuration mistakes at authoring time.

Installation

pnpm add -D eslint-plugin-nadle

Configuration

Add the recommended config to your eslint.config.ts:

import nadle from "eslint-plugin-nadle";

export default [
// ... your other configs
nadle.configs.recommended
];

This activates all recommended rules scoped to nadle.config.* files.

Presets

PresetDescription
nadle.configs.recommendedErrors for correctness rules, warnings for best practices
nadle.configs.allAll rules at error level

Rules

RuleDescription
nadle/no-anonymous-tasksRequire string literal names in task registration
nadle/no-duplicate-task-namesPrevent duplicate task names in same file
nadle/valid-task-nameEnforce valid task naming pattern (lowercase-with-hyphens)
nadle/valid-depends-onEnsure dependsOn values are strings or string arrays
RuleDescription
nadle/require-task-descriptionEncourage task descriptions
nadle/require-task-inputsWarn when outputs declared without inputs
nadle/no-sync-in-task-actionDiscourage sync APIs in task actions
nadle/no-process-cwdUse context.workingDir instead of process.cwd()
RuleFixableDescription
nadle/padding-between-tasksYesEnforce empty line between task registrations

Opt-in (only in all preset)

RuleDescription
nadle/no-circular-dependenciesDetect circular task dependency chains
nadle/prefer-builtin-taskSuggest built-in task types when applicable

Custom Configuration

Override individual rules after spreading a preset:

import nadle from "eslint-plugin-nadle";

export default [
nadle.configs.recommended,
{
files: ["**/nadle.config.*"],
rules: {
"nadle/no-circular-dependencies": "error",
"nadle/require-task-description": "off"
}
}
];