# Nadle > A type-safe, Gradle-inspired task runner for Node.js. Sharp tasks. Fast builds. ## docs ### API Reference - [API Reference](/docs/api/index.md): Namespaces - [ConfigurationError](/docs/api/index/classes/ConfigurationError.md): * - [CyclicDependencyError](/docs/api/index/classes/CyclicDependencyError.md): * - [NadleError](/docs/api/index/classes/NadleError.md): * - [TaskExecutionError](/docs/api/index/classes/TaskExecutionError.md): * - [TaskNotFoundError](/docs/api/index/classes/TaskNotFoundError.md): * - [TaskStatus](/docs/api/index/enumerations/TaskStatus.md): * - [configure](/docs/api/index/functions/configure.md): * - [definePlugin](/docs/api/index/functions/definePlugin.md): * - [defineSpec](/docs/api/index/functions/defineSpec.md): * - [defineTask](/docs/api/index/functions/defineTask.md): * - [lazy](/docs/api/index/functions/lazy.md): * - [use](/docs/api/index/functions/use.md): * - [CopyTaskOptions](/docs/api/index/interfaces/CopyTaskOptions.md): * - [DefineTaskParams](/docs/api/index/interfaces/DefineTaskParams.md): * - [DeleteTaskOptions](/docs/api/index/interfaces/DeleteTaskOptions.md): * - [DirDeclaration](/docs/api/index/interfaces/DirDeclaration.md): * - [DownloadTaskOptions](/docs/api/index/interfaces/DownloadTaskOptions.md): * - [ExecTaskOptions](/docs/api/index/interfaces/ExecTaskOptions.md): * - [FileDeclaration](/docs/api/index/interfaces/FileDeclaration.md): * - [FileOperationOptions](/docs/api/index/interfaces/FileOperationOptions.md): * - [FileSelector](/docs/api/index/interfaces/FileSelector.md): * - [LazySpec](/docs/api/index/interfaces/LazySpec.md): * - [Listener](/docs/api/index/interfaces/Listener.md): * - [Logger](/docs/api/index/interfaces/Logger.md): * - [MoveTaskOptions](/docs/api/index/interfaces/MoveTaskOptions.md): * - [NadleBaseOptions](/docs/api/index/interfaces/NadleBaseOptions.md): * - [NadleFileOptions](/docs/api/index/interfaces/NadleFileOptions.md): * - [NadlePlugin](/docs/api/index/interfaces/NadlePlugin.md): * - [NodeTaskOptions](/docs/api/index/interfaces/NodeTaskOptions.md): * - [NpmTaskOptions](/docs/api/index/interfaces/NpmTaskOptions.md): * - [NpxTaskOptions](/docs/api/index/interfaces/NpxTaskOptions.md): * - [PluginHooks](/docs/api/index/interfaces/PluginHooks.md): * - [PluginReporter](/docs/api/index/interfaces/PluginReporter.md): * - [PluginTask](/docs/api/index/interfaces/PluginTask.md): * - [PnpmTaskOptions](/docs/api/index/interfaces/PnpmTaskOptions.md): * - [PnpxTaskOptions](/docs/api/index/interfaces/PnpxTaskOptions.md): * - [RegisteredTask](/docs/api/index/interfaces/RegisteredTask.md): * - [ReporterContext](/docs/api/index/interfaces/ReporterContext.md): * - [RunHookContext](/docs/api/index/interfaces/RunHookContext.md): * - [RunnerContext](/docs/api/index/interfaces/RunnerContext.md): * - [StructuredError](/docs/api/index/interfaces/StructuredError.md): * - [SyncTaskOptions](/docs/api/index/interfaces/SyncTaskOptions.md): * - [Task](/docs/api/index/interfaces/Task.md): * - [TaskConfiguration](/docs/api/index/interfaces/TaskConfiguration.md): * - [TaskExecutionErrorOptions](/docs/api/index/interfaces/TaskExecutionErrorOptions.md): * - [TaskHookContext](/docs/api/index/interfaces/TaskHookContext.md): * - [TasksAPI](/docs/api/index/interfaces/TasksAPI.md): * - [UnzipTaskOptions](/docs/api/index/interfaces/UnzipTaskOptions.md): * - [ZipTaskOptions](/docs/api/index/interfaces/ZipTaskOptions.md): * - [README](/docs/api/index/namespaces/Inputs.md): * - [dirs](/docs/api/index/namespaces/Inputs/functions/dirs.md): * - [files](/docs/api/index/namespaces/Inputs/functions/files.md): * - [README](/docs/api/index/namespaces/MaybeArray.md): * - [toArray](/docs/api/index/namespaces/MaybeArray/functions/toArray.md): * - [README](/docs/api/index/namespaces/Outputs.md): * - [dirs](/docs/api/index/namespaces/Outputs/variables/dirs.md): * - [files](/docs/api/index/namespaces/Outputs/variables/files.md): * - [README](/docs/api/index/namespaces/TaskIdentifier.md): * - [create](/docs/api/index/namespaces/TaskIdentifier/functions/create.md): * - [parser](/docs/api/index/namespaces/TaskIdentifier/functions/parser.md): * - [AliasOption](/docs/api/index/type-aliases/AliasOption.md): * - [Awaitable](/docs/api/index/type-aliases/Awaitable.md): * - [Callback](/docs/api/index/type-aliases/Callback.md): * - [Declaration](/docs/api/index/type-aliases/Declaration.md): * - [FileSelection](/docs/api/index/type-aliases/FileSelection.md): * - [MaybeArray](/docs/api/index/type-aliases/MaybeArray.md): * - [OverwritePolicy](/docs/api/index/type-aliases/OverwritePolicy.md): * - [Resolver](/docs/api/index/type-aliases/Resolver.md): * - [SpecArg](/docs/api/index/type-aliases/SpecArg.md): * - [SupportLogLevel](/docs/api/index/type-aliases/SupportLogLevel.md): * - [SupportReporter](/docs/api/index/type-aliases/SupportReporter.md): * - [TaskEnv](/docs/api/index/type-aliases/TaskEnv.md): * - [TaskFn](/docs/api/index/type-aliases/TaskFn.md): * - [TaskIdentifier](/docs/api/index/type-aliases/TaskIdentifier.md): * - [TaskSpec](/docs/api/index/type-aliases/TaskSpec.md): * - [CopyTask](/docs/api/index/variables/CopyTask.md): * - [DeleteTask](/docs/api/index/variables/DeleteTask.md): * - [DownloadTask](/docs/api/index/variables/DownloadTask.md): * - [ExecTask](/docs/api/index/variables/ExecTask.md): * - [MoveTask](/docs/api/index/variables/MoveTask.md): * - [NodeTask](/docs/api/index/variables/NodeTask.md): * - [NpmTask](/docs/api/index/variables/NpmTask.md): * - [NpxTask](/docs/api/index/variables/NpxTask.md): * - [PnpmTask](/docs/api/index/variables/PnpmTask.md): * - [PnpxTask](/docs/api/index/variables/PnpxTask.md): * - [SupportLogLevels](/docs/api/index/variables/SupportLogLevels.md): * - [SupportReporters](/docs/api/index/variables/SupportReporters.md): * - [SyncTask](/docs/api/index/variables/SyncTask.md): * - [tasks](/docs/api/index/variables/tasks.md): * - [UnzipTask](/docs/api/index/variables/UnzipTask.md): * - [ZipTask](/docs/api/index/variables/ZipTask.md): * ### cli-reference Complete machine-readable reference of every Nadle CLI flag, its alias, type, default, and description, generated from source. - [CLI Reference](/docs/cli-reference.md): Complete machine-readable reference of every Nadle CLI flag, its alias, type, default, and description, generated from source. ### Concepts - [Plugin](/docs/concepts/plugin.md): Understand Nadle plugins — distributable units that contribute task types, lifecycle hooks, and custom reporters, applied explicitly with use(). - [Task](/docs/concepts/task.md): Understand the Nadle task model — naming rules, scopes, identifiers, and how tasks form the core unit of work in your build pipeline. - [Workspace](/docs/concepts/workspace.md): Learn how Nadle discovers workspaces, resolves workspace identifiers, and manages per-workspace configuration in monorepo projects. ### Config Reference Complete reference for Nadle CLI options, configuration file settings, and nadle.config.ts schema for task runner customization. - [Configuration Reference](/docs/config-reference.md): Complete reference for Nadle CLI options, configuration file settings, and nadle.config.ts schema for task runner customization. ### Getting Started - [Features](/docs/getting-started/features.md): Explore Nadle features including type-safe tasks, DAG-based parallel execution, input/output caching, monorepo support, and smart CLI. - [Autocorrection](/docs/getting-started/features/auto-correction.md): Nadle automatically corrects typos and partial task names using fuzzy matching, so misspelled commands still run the right task. - [Editor Support](/docs/getting-started/features/editor-support.md): Get real-time diagnostics, autocompletion, and hover info for nadle.config.ts with the Nadle Language Server, VS Code extension, and IntelliJ plugin. - [Monorepo Support](/docs/getting-started/features/monorepo.md): Learn how Nadle detects and manages monorepo workspaces, resolves cross-package tasks, and orchestrates builds across packages. - [Installation](/docs/getting-started/installation.md): Install Nadle with npm, yarn, or pnpm and set up your first nadle.config.ts in minutes. Requires Node.js 22 or later. - [Playground](/docs/getting-started/playground.md): Try Nadle directly in your browser with an interactive CodeSandbox playground. No installation required. - [Quickstart for Agents](/docs/getting-started/quickstart-for-agents.md): Dense, copy-pasteable Nadle quickstart for AI agents and scripts. Install, write a config, and run tasks with the most common commands. ### Guides - [Authoring a Plugin](/docs/guides/authoring-plugin.md): Write a Nadle plugin with definePlugin — contribute task types, lifecycle hooks, and custom reporters, with typed options. - [Configuring Nadle](/docs/guides/configuring-nadle.md): Use the configure() function in nadle.config.ts to set global runtime options like log level, parallelism, and cache behavior. - [Configuring Task](/docs/guides/configuring-task.md): Configure Nadle tasks with dependsOn, inputs, outputs, environment variables, and caching by adding config fields to the task spec. - [Defining Task](/docs/guides/defining-task.md): Use the defineTask API to create reusable, type-safe task classes with custom options that integrate with Nadle's runtime. - [ESLint Plugin](/docs/guides/eslint-plugin.md): eslint-plugin-nadle provides ESLint rules for nadle.config.ts files, catching common configuration mistakes at authoring time. - [Executing Task](/docs/guides/executing-task.md): Run Nadle tasks from the CLI — single tasks, multiple tasks, workspace-scoped execution, dry run, and summary mode. - [File Operation Tasks](/docs/guides/file-operation-tasks.md): Copy, move, sync, zip, unzip, download, and delete files with Nadle's built-in file-operation tasks. - [Migrating from Make](/docs/guides/migrating/from-makefile.md): Migrate a Makefile to Nadle — targets to tasks, prerequisites to dependsOn, before/after example, and a ready-to-use agent prompt. - [Migrating from npm Scripts](/docs/guides/migrating/from-npm-scripts.md): Migrate a package.json scripts block to a nadle.config.ts — mapping table, before/after example, and a ready-to-use agent prompt. - [Migrating from Nx](/docs/guides/migrating/from-nx.md): Migrate Nx targets and project.json/nx.json to Nadle — concept mapping, before/after example, and a ready-to-use agent prompt. - [Migrating from Turborepo](/docs/guides/migrating/from-turborepo.md): Migrate a turbo.json pipeline to Nadle — concept mapping, before/after example, and a ready-to-use agent prompt. - [Registering Task](/docs/guides/registering-task.md): Register tasks in Nadle using tasks.register — as empty aggregation tasks, inline actions, or reusable defineTask types via a keyed spec. ### introduction Nadle is a modern, type-safe, Gradle-inspired task runner for Node.js with parallel execution, caching, and monorepo support. - [Introduction](/docs/introduction.md): Nadle is a modern, type-safe, Gradle-inspired task runner for Node.js with parallel execution, caching, and monorepo support. ### why-nadle Compare Nadle with Gradle, npm scripts, nx, and turborepo. Learn why Nadle is the best task runner for modern JavaScript and TypeScript projects. - [Why Nadle?](/docs/why-nadle.md): Compare Nadle with Gradle, npm scripts, nx, and turborepo. Learn why Nadle is the best task runner for modern JavaScript and TypeScript projects. ## Optional - [Specification](https://main--nadle.netlify.app/spec/): The language-agnostic specification — the single source of truth for Nadle behavior. --- # Full Documentation Content # API Reference ## Namespaces[​](#namespaces "Direct link to Namespaces") * [Inputs](/docs/api/index/namespaces/Inputs/.md) * [MaybeArray](/docs/api/index/namespaces/MaybeArray/.md) * [Outputs](/docs/api/index/namespaces/Outputs/.md) * [TaskIdentifier](/docs/api/index/namespaces/TaskIdentifier/.md) ## Enumerations[​](#enumerations "Direct link to Enumerations") * [TaskStatus](/docs/api/index/enumerations/TaskStatus.md) ## Classes[​](#classes "Direct link to Classes") * [ConfigurationError](/docs/api/index/classes/ConfigurationError.md) * [CyclicDependencyError](/docs/api/index/classes/CyclicDependencyError.md) * [NadleError](/docs/api/index/classes/NadleError.md) * [TaskExecutionError](/docs/api/index/classes/TaskExecutionError.md) * [TaskNotFoundError](/docs/api/index/classes/TaskNotFoundError.md) ## Interfaces[​](#interfaces "Direct link to Interfaces") * [CopyTaskOptions](/docs/api/index/interfaces/CopyTaskOptions.md) * [DefineTaskParams](/docs/api/index/interfaces/DefineTaskParams.md) * [DeleteTaskOptions](/docs/api/index/interfaces/DeleteTaskOptions.md) * [DirDeclaration](/docs/api/index/interfaces/DirDeclaration.md) * [DownloadTaskOptions](/docs/api/index/interfaces/DownloadTaskOptions.md) * [ExecTaskOptions](/docs/api/index/interfaces/ExecTaskOptions.md) * [FileDeclaration](/docs/api/index/interfaces/FileDeclaration.md) * [FileOperationOptions](/docs/api/index/interfaces/FileOperationOptions.md) * [FileSelector](/docs/api/index/interfaces/FileSelector.md) * [LazySpec](/docs/api/index/interfaces/LazySpec.md) * [Listener](/docs/api/index/interfaces/Listener.md) * [Logger](/docs/api/index/interfaces/Logger.md) * [MoveTaskOptions](/docs/api/index/interfaces/MoveTaskOptions.md) * [NadleBaseOptions](/docs/api/index/interfaces/NadleBaseOptions.md) * [NadleFileOptions](/docs/api/index/interfaces/NadleFileOptions.md) * [NadlePlugin](/docs/api/index/interfaces/NadlePlugin.md) * [NodeTaskOptions](/docs/api/index/interfaces/NodeTaskOptions.md) * [NpmTaskOptions](/docs/api/index/interfaces/NpmTaskOptions.md) * [NpxTaskOptions](/docs/api/index/interfaces/NpxTaskOptions.md) * [PluginHooks](/docs/api/index/interfaces/PluginHooks.md) * [PluginReporter](/docs/api/index/interfaces/PluginReporter.md) * [PluginTask](/docs/api/index/interfaces/PluginTask.md) * [PnpmTaskOptions](/docs/api/index/interfaces/PnpmTaskOptions.md) * [PnpxTaskOptions](/docs/api/index/interfaces/PnpxTaskOptions.md) * [RegisteredTask](/docs/api/index/interfaces/RegisteredTask.md) * [ReporterContext](/docs/api/index/interfaces/ReporterContext.md) * [RunHookContext](/docs/api/index/interfaces/RunHookContext.md) * [RunnerContext](/docs/api/index/interfaces/RunnerContext.md) * [StructuredError](/docs/api/index/interfaces/StructuredError.md) * [SyncTaskOptions](/docs/api/index/interfaces/SyncTaskOptions.md) * [Task](/docs/api/index/interfaces/Task.md) * [TaskConfiguration](/docs/api/index/interfaces/TaskConfiguration.md) * [TaskExecutionErrorOptions](/docs/api/index/interfaces/TaskExecutionErrorOptions.md) * [TaskHookContext](/docs/api/index/interfaces/TaskHookContext.md) * [TasksAPI](/docs/api/index/interfaces/TasksAPI.md) * [UnzipTaskOptions](/docs/api/index/interfaces/UnzipTaskOptions.md) * [ZipTaskOptions](/docs/api/index/interfaces/ZipTaskOptions.md) ## Type Aliases[​](#type-aliases "Direct link to Type Aliases") * [AliasOption](/docs/api/index/type-aliases/AliasOption.md) * [Awaitable](/docs/api/index/type-aliases/Awaitable.md) * [Callback](/docs/api/index/type-aliases/Callback.md) * [Declaration](/docs/api/index/type-aliases/Declaration.md) * [FileSelection](/docs/api/index/type-aliases/FileSelection.md) * [MaybeArray](/docs/api/index/type-aliases/MaybeArray.md) * [OverwritePolicy](/docs/api/index/type-aliases/OverwritePolicy.md) * [Resolver](/docs/api/index/type-aliases/Resolver.md) * [SpecArg](/docs/api/index/type-aliases/SpecArg.md) * [SupportLogLevel](/docs/api/index/type-aliases/SupportLogLevel.md) * [SupportReporter](/docs/api/index/type-aliases/SupportReporter.md) * [TaskEnv](/docs/api/index/type-aliases/TaskEnv.md) * [TaskFn](/docs/api/index/type-aliases/TaskFn.md) * [TaskIdentifier](/docs/api/index/type-aliases/TaskIdentifier.md) * [TaskSpec](/docs/api/index/type-aliases/TaskSpec.md) ## Variables[​](#variables "Direct link to Variables") * [CopyTask](/docs/api/index/variables/CopyTask.md) * [DeleteTask](/docs/api/index/variables/DeleteTask.md) * [DownloadTask](/docs/api/index/variables/DownloadTask.md) * [ExecTask](/docs/api/index/variables/ExecTask.md) * [MoveTask](/docs/api/index/variables/MoveTask.md) * [NodeTask](/docs/api/index/variables/NodeTask.md) * [NpmTask](/docs/api/index/variables/NpmTask.md) * [NpxTask](/docs/api/index/variables/NpxTask.md) * [PnpmTask](/docs/api/index/variables/PnpmTask.md) * [PnpxTask](/docs/api/index/variables/PnpxTask.md) * [SupportLogLevels](/docs/api/index/variables/SupportLogLevels.md) * [SupportReporters](/docs/api/index/variables/SupportReporters.md) * [SyncTask](/docs/api/index/variables/SyncTask.md) * [tasks](/docs/api/index/variables/tasks.md) * [UnzipTask](/docs/api/index/variables/UnzipTask.md) * [ZipTask](/docs/api/index/variables/ZipTask.md) ## Functions[​](#functions "Direct link to Functions") * [configure](/docs/api/index/functions/configure.md) * [definePlugin](/docs/api/index/functions/definePlugin.md) * [defineSpec](/docs/api/index/functions/defineSpec.md) * [defineTask](/docs/api/index/functions/defineTask.md) * [lazy](/docs/api/index/functions/lazy.md) * [use](/docs/api/index/functions/use.md) --- # ConfigurationError *** [Nadle](/docs/api/index/.md) / ConfigurationError # Class: ConfigurationError Defined in: [packages/nadle/src/core/utilities/nadle-error.ts:49](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/nadle-error.ts#L49) Thrown when configuration is invalid or cannot be loaded — a missing or malformed config file, invalid options, or invalid task inputs. ## Extends[​](#extends "Direct link to Extends") * [`NadleError`](/docs/api/index/classes/NadleError.md) ## Constructors[​](#constructors "Direct link to Constructors") ### Constructor[​](#constructor "Direct link to Constructor") > **new ConfigurationError**(`message`): `ConfigurationError` Defined in: [packages/nadle/src/core/utilities/nadle-error.ts:50](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/nadle-error.ts#L50) #### Parameters[​](#parameters "Direct link to Parameters") ##### message[​](#message "Direct link to message") `string` #### Returns[​](#returns "Direct link to Returns") `ConfigurationError` #### Overrides[​](#overrides "Direct link to Overrides") [`NadleError`](/docs/api/index/classes/NadleError.md).[`constructor`](/docs/api/index/classes/NadleError.md#constructor) ## Properties[​](#properties "Direct link to Properties") ### cause?[​](#cause "Direct link to cause?") > `optional` **cause?**: `unknown` Defined in: node\_modules/.pnpm/typescript\@5.9.3/node\_modules/typescript/lib/lib.es2022.error.d.ts:26 #### Inherited from[​](#inherited-from "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`cause`](/docs/api/index/classes/NadleError.md#cause) *** ### errorCode[​](#errorcode "Direct link to errorCode") > `readonly` **errorCode**: `number` Defined in: [packages/nadle/src/core/utilities/nadle-error.ts:27](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/nadle-error.ts#L27) The process exit code to use when this error is caught at the top level. #### Inherited from[​](#inherited-from-1 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`errorCode`](/docs/api/index/classes/NadleError.md#errorcode) *** ### message[​](#message-1 "Direct link to message") > **message**: `string` Defined in: node\_modules/.pnpm/typescript\@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1077 #### Inherited from[​](#inherited-from-2 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`message`](/docs/api/index/classes/NadleError.md#message) *** ### name[​](#name "Direct link to name") > **name**: `string` Defined in: node\_modules/.pnpm/typescript\@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1076 #### Inherited from[​](#inherited-from-3 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`name`](/docs/api/index/classes/NadleError.md#name) *** ### stack?[​](#stack "Direct link to stack?") > `optional` **stack?**: `string` Defined in: node\_modules/.pnpm/typescript\@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1078 #### Inherited from[​](#inherited-from-4 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`stack`](/docs/api/index/classes/NadleError.md#stack) *** ### stackTraceLimit[​](#stacktracelimit "Direct link to stackTraceLimit") > `static` **stackTraceLimit**: `number` Defined in: node\_modules/.pnpm/@types+node\@20.19.33/node\_modules/@types/node/globals.d.ts:68 The `Error.stackTraceLimit` property specifies the number of stack frames collected by a stack trace (whether generated by `new Error().stack` or `Error.captureStackTrace(obj)`). The default value is `10` but may be set to any valid JavaScript number. Changes will affect any stack trace captured *after* the value has been changed. If set to a non-number value, or set to a negative number, stack traces will not capture any frames. #### Inherited from[​](#inherited-from-5 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`stackTraceLimit`](/docs/api/index/classes/NadleError.md#stacktracelimit) ## Methods[​](#methods "Direct link to Methods") ### toStructured()[​](#tostructured "Direct link to toStructured()") > **toStructured**(): [`StructuredError`](/docs/api/index/interfaces/StructuredError.md) Defined in: [packages/nadle/src/core/utilities/nadle-error.ts:38](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/nadle-error.ts#L38) Produce the machine-readable representation of this error. #### Returns[​](#returns-1 "Direct link to Returns") [`StructuredError`](/docs/api/index/interfaces/StructuredError.md) #### Inherited from[​](#inherited-from-6 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`toStructured`](/docs/api/index/classes/NadleError.md#tostructured) *** ### captureStackTrace()[​](#capturestacktrace "Direct link to captureStackTrace()") > `static` **captureStackTrace**(`targetObject`, `constructorOpt?`): `void` Defined in: node\_modules/.pnpm/@types+node\@20.19.33/node\_modules/@types/node/globals.d.ts:52 Creates a `.stack` property on `targetObject`, which when accessed returns a string representing the location in the code at which `Error.captureStackTrace()` was called. ``` const myObject = {}; Error.captureStackTrace(myObject); myObject.stack; // Similar to `new Error().stack` ``` The first line of the trace will be prefixed with `${myObject.name}: ${myObject.message}`. The optional `constructorOpt` argument accepts a function. If given, all frames above `constructorOpt`, including `constructorOpt`, will be omitted from the generated stack trace. The `constructorOpt` argument is useful for hiding implementation details of error generation from the user. For instance: ``` function a() { b(); } function b() { c(); } function c() { // Create an error without stack trace to avoid calculating the stack trace twice. const { stackTraceLimit } = Error; Error.stackTraceLimit = 0; const error = new Error(); Error.stackTraceLimit = stackTraceLimit; // Capture the stack trace above function b Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace throw error; } a(); ``` #### Parameters[​](#parameters-1 "Direct link to Parameters") ##### targetObject[​](#targetobject "Direct link to targetObject") `object` ##### constructorOpt?[​](#constructoropt "Direct link to constructorOpt?") `Function` #### Returns[​](#returns-2 "Direct link to Returns") `void` #### Inherited from[​](#inherited-from-7 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`captureStackTrace`](/docs/api/index/classes/NadleError.md#capturestacktrace) *** ### isError()[​](#iserror "Direct link to isError()") > `static` **isError**(`error`): `error is Error` Defined in: node\_modules/.pnpm/typescript\@5.9.3/node\_modules/typescript/lib/lib.esnext.error.d.ts:23 Indicates whether the argument provided is a built-in Error instance or not. #### Parameters[​](#parameters-2 "Direct link to Parameters") ##### error[​](#error "Direct link to error") `unknown` #### Returns[​](#returns-3 "Direct link to Returns") `error is Error` #### Inherited from[​](#inherited-from-8 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`isError`](/docs/api/index/classes/NadleError.md#iserror) *** ### prepareStackTrace()[​](#preparestacktrace "Direct link to prepareStackTrace()") > `static` **prepareStackTrace**(`err`, `stackTraces`): `any` Defined in: node\_modules/.pnpm/@types+node\@20.19.33/node\_modules/@types/node/globals.d.ts:56 #### Parameters[​](#parameters-3 "Direct link to Parameters") ##### err[​](#err "Direct link to err") `Error` ##### stackTraces[​](#stacktraces "Direct link to stackTraces") `CallSite`\[] #### Returns[​](#returns-4 "Direct link to Returns") `any` #### See[​](#see "Direct link to See") #### Inherited from[​](#inherited-from-9 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`prepareStackTrace`](/docs/api/index/classes/NadleError.md#preparestacktrace) --- # CyclicDependencyError *** [Nadle](/docs/api/index/.md) / CyclicDependencyError # Class: CyclicDependencyError Defined in: [packages/nadle/src/core/utilities/nadle-error.ts:73](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/nadle-error.ts#L73) Thrown when the task graph contains a cyclic dependency. ## Extends[​](#extends "Direct link to Extends") * [`NadleError`](/docs/api/index/classes/NadleError.md) ## Constructors[​](#constructors "Direct link to Constructors") ### Constructor[​](#constructor "Direct link to Constructor") > **new CyclicDependencyError**(`message`): `CyclicDependencyError` Defined in: [packages/nadle/src/core/utilities/nadle-error.ts:74](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/nadle-error.ts#L74) #### Parameters[​](#parameters "Direct link to Parameters") ##### message[​](#message "Direct link to message") `string` #### Returns[​](#returns "Direct link to Returns") `CyclicDependencyError` #### Overrides[​](#overrides "Direct link to Overrides") [`NadleError`](/docs/api/index/classes/NadleError.md).[`constructor`](/docs/api/index/classes/NadleError.md#constructor) ## Properties[​](#properties "Direct link to Properties") ### cause?[​](#cause "Direct link to cause?") > `optional` **cause?**: `unknown` Defined in: node\_modules/.pnpm/typescript\@5.9.3/node\_modules/typescript/lib/lib.es2022.error.d.ts:26 #### Inherited from[​](#inherited-from "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`cause`](/docs/api/index/classes/NadleError.md#cause) *** ### errorCode[​](#errorcode "Direct link to errorCode") > `readonly` **errorCode**: `number` Defined in: [packages/nadle/src/core/utilities/nadle-error.ts:27](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/nadle-error.ts#L27) The process exit code to use when this error is caught at the top level. #### Inherited from[​](#inherited-from-1 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`errorCode`](/docs/api/index/classes/NadleError.md#errorcode) *** ### message[​](#message-1 "Direct link to message") > **message**: `string` Defined in: node\_modules/.pnpm/typescript\@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1077 #### Inherited from[​](#inherited-from-2 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`message`](/docs/api/index/classes/NadleError.md#message) *** ### name[​](#name "Direct link to name") > **name**: `string` Defined in: node\_modules/.pnpm/typescript\@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1076 #### Inherited from[​](#inherited-from-3 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`name`](/docs/api/index/classes/NadleError.md#name) *** ### stack?[​](#stack "Direct link to stack?") > `optional` **stack?**: `string` Defined in: node\_modules/.pnpm/typescript\@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1078 #### Inherited from[​](#inherited-from-4 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`stack`](/docs/api/index/classes/NadleError.md#stack) *** ### stackTraceLimit[​](#stacktracelimit "Direct link to stackTraceLimit") > `static` **stackTraceLimit**: `number` Defined in: node\_modules/.pnpm/@types+node\@20.19.33/node\_modules/@types/node/globals.d.ts:68 The `Error.stackTraceLimit` property specifies the number of stack frames collected by a stack trace (whether generated by `new Error().stack` or `Error.captureStackTrace(obj)`). The default value is `10` but may be set to any valid JavaScript number. Changes will affect any stack trace captured *after* the value has been changed. If set to a non-number value, or set to a negative number, stack traces will not capture any frames. #### Inherited from[​](#inherited-from-5 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`stackTraceLimit`](/docs/api/index/classes/NadleError.md#stacktracelimit) ## Methods[​](#methods "Direct link to Methods") ### toStructured()[​](#tostructured "Direct link to toStructured()") > **toStructured**(): [`StructuredError`](/docs/api/index/interfaces/StructuredError.md) Defined in: [packages/nadle/src/core/utilities/nadle-error.ts:38](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/nadle-error.ts#L38) Produce the machine-readable representation of this error. #### Returns[​](#returns-1 "Direct link to Returns") [`StructuredError`](/docs/api/index/interfaces/StructuredError.md) #### Inherited from[​](#inherited-from-6 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`toStructured`](/docs/api/index/classes/NadleError.md#tostructured) *** ### captureStackTrace()[​](#capturestacktrace "Direct link to captureStackTrace()") > `static` **captureStackTrace**(`targetObject`, `constructorOpt?`): `void` Defined in: node\_modules/.pnpm/@types+node\@20.19.33/node\_modules/@types/node/globals.d.ts:52 Creates a `.stack` property on `targetObject`, which when accessed returns a string representing the location in the code at which `Error.captureStackTrace()` was called. ``` const myObject = {}; Error.captureStackTrace(myObject); myObject.stack; // Similar to `new Error().stack` ``` The first line of the trace will be prefixed with `${myObject.name}: ${myObject.message}`. The optional `constructorOpt` argument accepts a function. If given, all frames above `constructorOpt`, including `constructorOpt`, will be omitted from the generated stack trace. The `constructorOpt` argument is useful for hiding implementation details of error generation from the user. For instance: ``` function a() { b(); } function b() { c(); } function c() { // Create an error without stack trace to avoid calculating the stack trace twice. const { stackTraceLimit } = Error; Error.stackTraceLimit = 0; const error = new Error(); Error.stackTraceLimit = stackTraceLimit; // Capture the stack trace above function b Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace throw error; } a(); ``` #### Parameters[​](#parameters-1 "Direct link to Parameters") ##### targetObject[​](#targetobject "Direct link to targetObject") `object` ##### constructorOpt?[​](#constructoropt "Direct link to constructorOpt?") `Function` #### Returns[​](#returns-2 "Direct link to Returns") `void` #### Inherited from[​](#inherited-from-7 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`captureStackTrace`](/docs/api/index/classes/NadleError.md#capturestacktrace) *** ### isError()[​](#iserror "Direct link to isError()") > `static` **isError**(`error`): `error is Error` Defined in: node\_modules/.pnpm/typescript\@5.9.3/node\_modules/typescript/lib/lib.esnext.error.d.ts:23 Indicates whether the argument provided is a built-in Error instance or not. #### Parameters[​](#parameters-2 "Direct link to Parameters") ##### error[​](#error "Direct link to error") `unknown` #### Returns[​](#returns-3 "Direct link to Returns") `error is Error` #### Inherited from[​](#inherited-from-8 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`isError`](/docs/api/index/classes/NadleError.md#iserror) *** ### prepareStackTrace()[​](#preparestacktrace "Direct link to prepareStackTrace()") > `static` **prepareStackTrace**(`err`, `stackTraces`): `any` Defined in: node\_modules/.pnpm/@types+node\@20.19.33/node\_modules/@types/node/globals.d.ts:56 #### Parameters[​](#parameters-3 "Direct link to Parameters") ##### err[​](#err "Direct link to err") `Error` ##### stackTraces[​](#stacktraces "Direct link to stackTraces") `CallSite`\[] #### Returns[​](#returns-4 "Direct link to Returns") `any` #### See[​](#see "Direct link to See") #### Inherited from[​](#inherited-from-9 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`prepareStackTrace`](/docs/api/index/classes/NadleError.md#preparestacktrace) --- # NadleError *** [Nadle](/docs/api/index/.md) / NadleError # Class: NadleError Defined in: [packages/nadle/src/core/utilities/nadle-error.ts:23](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/nadle-error.ts#L23) Error class for Nadle with a typed exit code. ## Extends[​](#extends "Direct link to Extends") * `Error` ## Extended by[​](#extended-by "Direct link to Extended by") * [`ConfigurationError`](/docs/api/index/classes/ConfigurationError.md) * [`TaskNotFoundError`](/docs/api/index/classes/TaskNotFoundError.md) * [`CyclicDependencyError`](/docs/api/index/classes/CyclicDependencyError.md) * [`TaskExecutionError`](/docs/api/index/classes/TaskExecutionError.md) ## Constructors[​](#constructors "Direct link to Constructors") ### Constructor[​](#constructor "Direct link to Constructor") > **new NadleError**(`message`, `errorCode?`, `options?`): `NadleError` Defined in: [packages/nadle/src/core/utilities/nadle-error.ts:29](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/nadle-error.ts#L29) #### Parameters[​](#parameters "Direct link to Parameters") ##### message[​](#message "Direct link to message") `string` ##### errorCode?[​](#errorcode "Direct link to errorCode?") `number` = `1` ##### options?[​](#options "Direct link to options?") `ErrorOptions` #### Returns[​](#returns "Direct link to Returns") `NadleError` #### Overrides[​](#overrides "Direct link to Overrides") `Error.constructor` ## Properties[​](#properties "Direct link to Properties") ### cause?[​](#cause "Direct link to cause?") > `optional` **cause?**: `unknown` Defined in: node\_modules/.pnpm/typescript\@5.9.3/node\_modules/typescript/lib/lib.es2022.error.d.ts:26 #### Inherited from[​](#inherited-from "Direct link to Inherited from") `Error.cause` *** ### errorCode[​](#errorcode-1 "Direct link to errorCode") > `readonly` **errorCode**: `number` Defined in: [packages/nadle/src/core/utilities/nadle-error.ts:27](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/nadle-error.ts#L27) The process exit code to use when this error is caught at the top level. *** ### message[​](#message-1 "Direct link to message") > **message**: `string` Defined in: node\_modules/.pnpm/typescript\@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1077 #### Inherited from[​](#inherited-from-1 "Direct link to Inherited from") `Error.message` *** ### name[​](#name "Direct link to name") > **name**: `string` Defined in: node\_modules/.pnpm/typescript\@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1076 #### Inherited from[​](#inherited-from-2 "Direct link to Inherited from") `Error.name` *** ### stack?[​](#stack "Direct link to stack?") > `optional` **stack?**: `string` Defined in: node\_modules/.pnpm/typescript\@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1078 #### Inherited from[​](#inherited-from-3 "Direct link to Inherited from") `Error.stack` *** ### stackTraceLimit[​](#stacktracelimit "Direct link to stackTraceLimit") > `static` **stackTraceLimit**: `number` Defined in: node\_modules/.pnpm/@types+node\@20.19.33/node\_modules/@types/node/globals.d.ts:68 The `Error.stackTraceLimit` property specifies the number of stack frames collected by a stack trace (whether generated by `new Error().stack` or `Error.captureStackTrace(obj)`). The default value is `10` but may be set to any valid JavaScript number. Changes will affect any stack trace captured *after* the value has been changed. If set to a non-number value, or set to a negative number, stack traces will not capture any frames. #### Inherited from[​](#inherited-from-4 "Direct link to Inherited from") `Error.stackTraceLimit` ## Methods[​](#methods "Direct link to Methods") ### toStructured()[​](#tostructured "Direct link to toStructured()") > **toStructured**(): [`StructuredError`](/docs/api/index/interfaces/StructuredError.md) Defined in: [packages/nadle/src/core/utilities/nadle-error.ts:38](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/nadle-error.ts#L38) Produce the machine-readable representation of this error. #### Returns[​](#returns-1 "Direct link to Returns") [`StructuredError`](/docs/api/index/interfaces/StructuredError.md) *** ### captureStackTrace()[​](#capturestacktrace "Direct link to captureStackTrace()") > `static` **captureStackTrace**(`targetObject`, `constructorOpt?`): `void` Defined in: node\_modules/.pnpm/@types+node\@20.19.33/node\_modules/@types/node/globals.d.ts:52 Creates a `.stack` property on `targetObject`, which when accessed returns a string representing the location in the code at which `Error.captureStackTrace()` was called. ``` const myObject = {}; Error.captureStackTrace(myObject); myObject.stack; // Similar to `new Error().stack` ``` The first line of the trace will be prefixed with `${myObject.name}: ${myObject.message}`. The optional `constructorOpt` argument accepts a function. If given, all frames above `constructorOpt`, including `constructorOpt`, will be omitted from the generated stack trace. The `constructorOpt` argument is useful for hiding implementation details of error generation from the user. For instance: ``` function a() { b(); } function b() { c(); } function c() { // Create an error without stack trace to avoid calculating the stack trace twice. const { stackTraceLimit } = Error; Error.stackTraceLimit = 0; const error = new Error(); Error.stackTraceLimit = stackTraceLimit; // Capture the stack trace above function b Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace throw error; } a(); ``` #### Parameters[​](#parameters-1 "Direct link to Parameters") ##### targetObject[​](#targetobject "Direct link to targetObject") `object` ##### constructorOpt?[​](#constructoropt "Direct link to constructorOpt?") `Function` #### Returns[​](#returns-2 "Direct link to Returns") `void` #### Inherited from[​](#inherited-from-5 "Direct link to Inherited from") `Error.captureStackTrace` *** ### isError()[​](#iserror "Direct link to isError()") > `static` **isError**(`error`): `error is Error` Defined in: node\_modules/.pnpm/typescript\@5.9.3/node\_modules/typescript/lib/lib.esnext.error.d.ts:23 Indicates whether the argument provided is a built-in Error instance or not. #### Parameters[​](#parameters-2 "Direct link to Parameters") ##### error[​](#error "Direct link to error") `unknown` #### Returns[​](#returns-3 "Direct link to Returns") `error is Error` #### Inherited from[​](#inherited-from-6 "Direct link to Inherited from") `Error.isError` *** ### prepareStackTrace()[​](#preparestacktrace "Direct link to prepareStackTrace()") > `static` **prepareStackTrace**(`err`, `stackTraces`): `any` Defined in: node\_modules/.pnpm/@types+node\@20.19.33/node\_modules/@types/node/globals.d.ts:56 #### Parameters[​](#parameters-3 "Direct link to Parameters") ##### err[​](#err "Direct link to err") `Error` ##### stackTraces[​](#stacktraces "Direct link to stackTraces") `CallSite`\[] #### Returns[​](#returns-4 "Direct link to Returns") `any` #### See[​](#see "Direct link to See") #### Inherited from[​](#inherited-from-7 "Direct link to Inherited from") `Error.prepareStackTrace` --- # TaskExecutionError *** [Nadle](/docs/api/index/.md) / TaskExecutionError # Class: TaskExecutionError Defined in: [packages/nadle/src/core/utilities/nadle-error.ts:85](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/nadle-error.ts#L85) Thrown when a task fails during execution. ## Extends[​](#extends "Direct link to Extends") * [`NadleError`](/docs/api/index/classes/NadleError.md) ## Constructors[​](#constructors "Direct link to Constructors") ### Constructor[​](#constructor "Direct link to Constructor") > **new TaskExecutionError**(`message`, `options?`): `TaskExecutionError` Defined in: [packages/nadle/src/core/utilities/nadle-error.ts:89](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/nadle-error.ts#L89) #### Parameters[​](#parameters "Direct link to Parameters") ##### message[​](#message "Direct link to message") `string` ##### options?[​](#options "Direct link to options?") [`TaskExecutionErrorOptions`](/docs/api/index/interfaces/TaskExecutionErrorOptions.md) #### Returns[​](#returns "Direct link to Returns") `TaskExecutionError` #### Overrides[​](#overrides "Direct link to Overrides") [`NadleError`](/docs/api/index/classes/NadleError.md).[`constructor`](/docs/api/index/classes/NadleError.md#constructor) ## Properties[​](#properties "Direct link to Properties") ### cause?[​](#cause "Direct link to cause?") > `optional` **cause?**: `unknown` Defined in: node\_modules/.pnpm/typescript\@5.9.3/node\_modules/typescript/lib/lib.es2022.error.d.ts:26 #### Inherited from[​](#inherited-from "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`cause`](/docs/api/index/classes/NadleError.md#cause) *** ### errorCode[​](#errorcode "Direct link to errorCode") > `readonly` **errorCode**: `number` Defined in: [packages/nadle/src/core/utilities/nadle-error.ts:27](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/nadle-error.ts#L27) The process exit code to use when this error is caught at the top level. #### Inherited from[​](#inherited-from-1 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`errorCode`](/docs/api/index/classes/NadleError.md#errorcode) *** ### message[​](#message-1 "Direct link to message") > **message**: `string` Defined in: node\_modules/.pnpm/typescript\@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1077 #### Inherited from[​](#inherited-from-2 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`message`](/docs/api/index/classes/NadleError.md#message) *** ### name[​](#name "Direct link to name") > **name**: `string` Defined in: node\_modules/.pnpm/typescript\@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1076 #### Inherited from[​](#inherited-from-3 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`name`](/docs/api/index/classes/NadleError.md#name) *** ### stack?[​](#stack "Direct link to stack?") > `optional` **stack?**: `string` Defined in: node\_modules/.pnpm/typescript\@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1078 #### Inherited from[​](#inherited-from-4 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`stack`](/docs/api/index/classes/NadleError.md#stack) *** ### task?[​](#task "Direct link to task?") > `readonly` `optional` **task?**: `string` Defined in: [packages/nadle/src/core/utilities/nadle-error.ts:87](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/nadle-error.ts#L87) The label of the task that failed, when known. *** ### stackTraceLimit[​](#stacktracelimit "Direct link to stackTraceLimit") > `static` **stackTraceLimit**: `number` Defined in: node\_modules/.pnpm/@types+node\@20.19.33/node\_modules/@types/node/globals.d.ts:68 The `Error.stackTraceLimit` property specifies the number of stack frames collected by a stack trace (whether generated by `new Error().stack` or `Error.captureStackTrace(obj)`). The default value is `10` but may be set to any valid JavaScript number. Changes will affect any stack trace captured *after* the value has been changed. If set to a non-number value, or set to a negative number, stack traces will not capture any frames. #### Inherited from[​](#inherited-from-5 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`stackTraceLimit`](/docs/api/index/classes/NadleError.md#stacktracelimit) ## Methods[​](#methods "Direct link to Methods") ### toStructured()[​](#tostructured "Direct link to toStructured()") > **toStructured**(): [`StructuredError`](/docs/api/index/interfaces/StructuredError.md) Defined in: [packages/nadle/src/core/utilities/nadle-error.ts:101](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/nadle-error.ts#L101) Produce the machine-readable representation of this error, including the failing task's label. #### Returns[​](#returns-1 "Direct link to Returns") [`StructuredError`](/docs/api/index/interfaces/StructuredError.md) #### Overrides[​](#overrides-1 "Direct link to Overrides") [`NadleError`](/docs/api/index/classes/NadleError.md).[`toStructured`](/docs/api/index/classes/NadleError.md#tostructured) *** ### captureStackTrace()[​](#capturestacktrace "Direct link to captureStackTrace()") > `static` **captureStackTrace**(`targetObject`, `constructorOpt?`): `void` Defined in: node\_modules/.pnpm/@types+node\@20.19.33/node\_modules/@types/node/globals.d.ts:52 Creates a `.stack` property on `targetObject`, which when accessed returns a string representing the location in the code at which `Error.captureStackTrace()` was called. ``` const myObject = {}; Error.captureStackTrace(myObject); myObject.stack; // Similar to `new Error().stack` ``` The first line of the trace will be prefixed with `${myObject.name}: ${myObject.message}`. The optional `constructorOpt` argument accepts a function. If given, all frames above `constructorOpt`, including `constructorOpt`, will be omitted from the generated stack trace. The `constructorOpt` argument is useful for hiding implementation details of error generation from the user. For instance: ``` function a() { b(); } function b() { c(); } function c() { // Create an error without stack trace to avoid calculating the stack trace twice. const { stackTraceLimit } = Error; Error.stackTraceLimit = 0; const error = new Error(); Error.stackTraceLimit = stackTraceLimit; // Capture the stack trace above function b Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace throw error; } a(); ``` #### Parameters[​](#parameters-1 "Direct link to Parameters") ##### targetObject[​](#targetobject "Direct link to targetObject") `object` ##### constructorOpt?[​](#constructoropt "Direct link to constructorOpt?") `Function` #### Returns[​](#returns-2 "Direct link to Returns") `void` #### Inherited from[​](#inherited-from-6 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`captureStackTrace`](/docs/api/index/classes/NadleError.md#capturestacktrace) *** ### isError()[​](#iserror "Direct link to isError()") > `static` **isError**(`error`): `error is Error` Defined in: node\_modules/.pnpm/typescript\@5.9.3/node\_modules/typescript/lib/lib.esnext.error.d.ts:23 Indicates whether the argument provided is a built-in Error instance or not. #### Parameters[​](#parameters-2 "Direct link to Parameters") ##### error[​](#error "Direct link to error") `unknown` #### Returns[​](#returns-3 "Direct link to Returns") `error is Error` #### Inherited from[​](#inherited-from-7 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`isError`](/docs/api/index/classes/NadleError.md#iserror) *** ### prepareStackTrace()[​](#preparestacktrace "Direct link to prepareStackTrace()") > `static` **prepareStackTrace**(`err`, `stackTraces`): `any` Defined in: node\_modules/.pnpm/@types+node\@20.19.33/node\_modules/@types/node/globals.d.ts:56 #### Parameters[​](#parameters-3 "Direct link to Parameters") ##### err[​](#err "Direct link to err") `Error` ##### stackTraces[​](#stacktraces "Direct link to stackTraces") `CallSite`\[] #### Returns[​](#returns-4 "Direct link to Returns") `any` #### See[​](#see "Direct link to See") #### Inherited from[​](#inherited-from-8 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`prepareStackTrace`](/docs/api/index/classes/NadleError.md#preparestacktrace) --- # TaskNotFoundError *** [Nadle](/docs/api/index/.md) / TaskNotFoundError # Class: TaskNotFoundError Defined in: [packages/nadle/src/core/utilities/nadle-error.ts:61](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/nadle-error.ts#L61) Thrown when a requested task cannot be resolved within the project. ## Extends[​](#extends "Direct link to Extends") * [`NadleError`](/docs/api/index/classes/NadleError.md) ## Constructors[​](#constructors "Direct link to Constructors") ### Constructor[​](#constructor "Direct link to Constructor") > **new TaskNotFoundError**(`message`): `TaskNotFoundError` Defined in: [packages/nadle/src/core/utilities/nadle-error.ts:62](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/nadle-error.ts#L62) #### Parameters[​](#parameters "Direct link to Parameters") ##### message[​](#message "Direct link to message") `string` #### Returns[​](#returns "Direct link to Returns") `TaskNotFoundError` #### Overrides[​](#overrides "Direct link to Overrides") [`NadleError`](/docs/api/index/classes/NadleError.md).[`constructor`](/docs/api/index/classes/NadleError.md#constructor) ## Properties[​](#properties "Direct link to Properties") ### cause?[​](#cause "Direct link to cause?") > `optional` **cause?**: `unknown` Defined in: node\_modules/.pnpm/typescript\@5.9.3/node\_modules/typescript/lib/lib.es2022.error.d.ts:26 #### Inherited from[​](#inherited-from "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`cause`](/docs/api/index/classes/NadleError.md#cause) *** ### errorCode[​](#errorcode "Direct link to errorCode") > `readonly` **errorCode**: `number` Defined in: [packages/nadle/src/core/utilities/nadle-error.ts:27](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/nadle-error.ts#L27) The process exit code to use when this error is caught at the top level. #### Inherited from[​](#inherited-from-1 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`errorCode`](/docs/api/index/classes/NadleError.md#errorcode) *** ### message[​](#message-1 "Direct link to message") > **message**: `string` Defined in: node\_modules/.pnpm/typescript\@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1077 #### Inherited from[​](#inherited-from-2 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`message`](/docs/api/index/classes/NadleError.md#message) *** ### name[​](#name "Direct link to name") > **name**: `string` Defined in: node\_modules/.pnpm/typescript\@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1076 #### Inherited from[​](#inherited-from-3 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`name`](/docs/api/index/classes/NadleError.md#name) *** ### stack?[​](#stack "Direct link to stack?") > `optional` **stack?**: `string` Defined in: node\_modules/.pnpm/typescript\@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1078 #### Inherited from[​](#inherited-from-4 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`stack`](/docs/api/index/classes/NadleError.md#stack) *** ### stackTraceLimit[​](#stacktracelimit "Direct link to stackTraceLimit") > `static` **stackTraceLimit**: `number` Defined in: node\_modules/.pnpm/@types+node\@20.19.33/node\_modules/@types/node/globals.d.ts:68 The `Error.stackTraceLimit` property specifies the number of stack frames collected by a stack trace (whether generated by `new Error().stack` or `Error.captureStackTrace(obj)`). The default value is `10` but may be set to any valid JavaScript number. Changes will affect any stack trace captured *after* the value has been changed. If set to a non-number value, or set to a negative number, stack traces will not capture any frames. #### Inherited from[​](#inherited-from-5 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`stackTraceLimit`](/docs/api/index/classes/NadleError.md#stacktracelimit) ## Methods[​](#methods "Direct link to Methods") ### toStructured()[​](#tostructured "Direct link to toStructured()") > **toStructured**(): [`StructuredError`](/docs/api/index/interfaces/StructuredError.md) Defined in: [packages/nadle/src/core/utilities/nadle-error.ts:38](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/nadle-error.ts#L38) Produce the machine-readable representation of this error. #### Returns[​](#returns-1 "Direct link to Returns") [`StructuredError`](/docs/api/index/interfaces/StructuredError.md) #### Inherited from[​](#inherited-from-6 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`toStructured`](/docs/api/index/classes/NadleError.md#tostructured) *** ### captureStackTrace()[​](#capturestacktrace "Direct link to captureStackTrace()") > `static` **captureStackTrace**(`targetObject`, `constructorOpt?`): `void` Defined in: node\_modules/.pnpm/@types+node\@20.19.33/node\_modules/@types/node/globals.d.ts:52 Creates a `.stack` property on `targetObject`, which when accessed returns a string representing the location in the code at which `Error.captureStackTrace()` was called. ``` const myObject = {}; Error.captureStackTrace(myObject); myObject.stack; // Similar to `new Error().stack` ``` The first line of the trace will be prefixed with `${myObject.name}: ${myObject.message}`. The optional `constructorOpt` argument accepts a function. If given, all frames above `constructorOpt`, including `constructorOpt`, will be omitted from the generated stack trace. The `constructorOpt` argument is useful for hiding implementation details of error generation from the user. For instance: ``` function a() { b(); } function b() { c(); } function c() { // Create an error without stack trace to avoid calculating the stack trace twice. const { stackTraceLimit } = Error; Error.stackTraceLimit = 0; const error = new Error(); Error.stackTraceLimit = stackTraceLimit; // Capture the stack trace above function b Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace throw error; } a(); ``` #### Parameters[​](#parameters-1 "Direct link to Parameters") ##### targetObject[​](#targetobject "Direct link to targetObject") `object` ##### constructorOpt?[​](#constructoropt "Direct link to constructorOpt?") `Function` #### Returns[​](#returns-2 "Direct link to Returns") `void` #### Inherited from[​](#inherited-from-7 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`captureStackTrace`](/docs/api/index/classes/NadleError.md#capturestacktrace) *** ### isError()[​](#iserror "Direct link to isError()") > `static` **isError**(`error`): `error is Error` Defined in: node\_modules/.pnpm/typescript\@5.9.3/node\_modules/typescript/lib/lib.esnext.error.d.ts:23 Indicates whether the argument provided is a built-in Error instance or not. #### Parameters[​](#parameters-2 "Direct link to Parameters") ##### error[​](#error "Direct link to error") `unknown` #### Returns[​](#returns-3 "Direct link to Returns") `error is Error` #### Inherited from[​](#inherited-from-8 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`isError`](/docs/api/index/classes/NadleError.md#iserror) *** ### prepareStackTrace()[​](#preparestacktrace "Direct link to prepareStackTrace()") > `static` **prepareStackTrace**(`err`, `stackTraces`): `any` Defined in: node\_modules/.pnpm/@types+node\@20.19.33/node\_modules/@types/node/globals.d.ts:56 #### Parameters[​](#parameters-3 "Direct link to Parameters") ##### err[​](#err "Direct link to err") `Error` ##### stackTraces[​](#stacktraces "Direct link to stackTraces") `CallSite`\[] #### Returns[​](#returns-4 "Direct link to Returns") `any` #### See[​](#see "Direct link to See") #### Inherited from[​](#inherited-from-9 "Direct link to Inherited from") [`NadleError`](/docs/api/index/classes/NadleError.md).[`prepareStackTrace`](/docs/api/index/classes/NadleError.md#preparestacktrace) --- # TaskStatus *** [Nadle](/docs/api/index/.md) / TaskStatus # Enumeration: TaskStatus Defined in: [packages/nadle/src/core/interfaces/registered-task.ts:29](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/registered-task.ts#L29) Status values for a registered task in the Nadle system. ## Enumeration Members[​](#enumeration-members "Direct link to Enumeration Members") ### Canceled[​](#canceled "Direct link to Canceled") > **Canceled**: `"canceled"` Defined in: [packages/nadle/src/core/interfaces/registered-task.ts:47](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/registered-task.ts#L47) Task was canceled before completion. *** ### Failed[​](#failed "Direct link to Failed") > **Failed**: `"failed"` Defined in: [packages/nadle/src/core/interfaces/registered-task.ts:45](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/registered-task.ts#L45) Task execution failed. *** ### Finished[​](#finished "Direct link to Finished") > **Finished**: `"finished"` Defined in: [packages/nadle/src/core/interfaces/registered-task.ts:37](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/registered-task.ts#L37) Task has finished execution. *** ### FromCache[​](#fromcache "Direct link to FromCache") > **FromCache**: `"from-cache"` Defined in: [packages/nadle/src/core/interfaces/registered-task.ts:41](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/registered-task.ts#L41) Task result was restored from cache. *** ### Registered[​](#registered "Direct link to Registered") > **Registered**: `"registered"` Defined in: [packages/nadle/src/core/interfaces/registered-task.ts:31](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/registered-task.ts#L31) Task is registered but not yet scheduled. *** ### Running[​](#running "Direct link to Running") > **Running**: `"running"` Defined in: [packages/nadle/src/core/interfaces/registered-task.ts:35](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/registered-task.ts#L35) Task is currently running. *** ### Scheduled[​](#scheduled "Direct link to Scheduled") > **Scheduled**: `"scheduled"` Defined in: [packages/nadle/src/core/interfaces/registered-task.ts:33](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/registered-task.ts#L33) Task is scheduled for execution. *** ### Skipped[​](#skipped "Direct link to Skipped") > **Skipped**: `"skipped"` Defined in: [packages/nadle/src/core/interfaces/registered-task.ts:43](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/registered-task.ts#L43) Task was skipped because its onlyIf predicate resolved falsey. *** ### UpToDate[​](#uptodate "Direct link to UpToDate") > **UpToDate**: `"up-to-date"` Defined in: [packages/nadle/src/core/interfaces/registered-task.ts:39](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/registered-task.ts#L39) Task is up-to-date and does not need to run. --- # configure *** [Nadle](/docs/api/index/.md) / configure # Function: configure() > **configure**(`options`): `void` Defined in: [packages/nadle/src/core/options/configure.ts:13](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/options/configure.ts#L13) Configure Nadle with global file options. Registers the provided options object for use in Nadle's build process. ## Parameters[​](#parameters "Direct link to Parameters") ### options[​](#options "Direct link to options") [`NadleFileOptions`](/docs/api/index/interfaces/NadleFileOptions.md) The Nadle file options to register. ## Returns[​](#returns "Direct link to Returns") `void` ## Throws[​](#throws "Direct link to Throws") If options is not an object. --- # definePlugin *** [Nadle](/docs/api/index/.md) / definePlugin # Function: definePlugin() > **definePlugin**<`Options`>(`plugin`): [`NadlePlugin`](/docs/api/index/interfaces/NadlePlugin.md)<`Options`> Defined in: [packages/nadle/src/core/plugins/plugin.ts:91](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L91) Identity helper for authoring a plugin with full type inference (mirrors `defineTask`). ## Type Parameters[​](#type-parameters "Direct link to Type Parameters") ### Options[​](#options "Direct link to Options") `Options` = `void` ## Parameters[​](#parameters "Direct link to Parameters") ### plugin[​](#plugin "Direct link to plugin") [`NadlePlugin`](/docs/api/index/interfaces/NadlePlugin.md)<`Options`> ## Returns[​](#returns "Direct link to Returns") [`NadlePlugin`](/docs/api/index/interfaces/NadlePlugin.md)<`Options`> --- # defineSpec *** [Nadle](/docs/api/index/.md) / defineSpec # Function: defineSpec() > **defineSpec**<`Options`>(`spec`): [`TaskSpec`](/docs/api/index/type-aliases/TaskSpec.md)<`Options`> Defined in: [packages/nadle/src/core/registration/define-task.ts:23](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/registration/define-task.ts#L23) Identity helper for authoring a task spec with full type inference (mirrors `defineTask`). Useful for programmatic/spread registration. ## Type Parameters[​](#type-parameters "Direct link to Type Parameters") ### Options[​](#options "Direct link to Options") `Options` = `void` ## Parameters[​](#parameters "Direct link to Parameters") ### spec[​](#spec "Direct link to spec") [`TaskSpec`](/docs/api/index/type-aliases/TaskSpec.md)<`Options`> ## Returns[​](#returns "Direct link to Returns") [`TaskSpec`](/docs/api/index/type-aliases/TaskSpec.md)<`Options`> --- # defineTask *** [Nadle](/docs/api/index/.md) / defineTask # Function: defineTask() > **defineTask**<`Options`>(`params`): [`Task`](/docs/api/index/interfaces/Task.md)<`Options`> Defined in: [packages/nadle/src/core/registration/define-task.ts:15](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/registration/define-task.ts#L15) Define a task with the given parameters. ## Type Parameters[​](#type-parameters "Direct link to Type Parameters") ### Options[​](#options "Direct link to Options") `Options` ## Parameters[​](#parameters "Direct link to Parameters") ### params[​](#params "Direct link to params") [`DefineTaskParams`](/docs/api/index/interfaces/DefineTaskParams.md)<`Options`> The task parameters. ## Returns[​](#returns "Direct link to Returns") [`Task`](/docs/api/index/interfaces/Task.md)<`Options`> The defined task. --- # lazy *** [Nadle](/docs/api/index/.md) / lazy # Function: lazy() > **lazy**<`Options`>(`thunk`): [`LazySpec`](/docs/api/index/interfaces/LazySpec.md)<`Options`> Defined in: [packages/nadle/src/core/registration/api.ts:93](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/registration/api.ts#L93) Wrap a spec thunk for deferred (lazy, memoized) config resolution. ## Type Parameters[​](#type-parameters "Direct link to Type Parameters") ### Options[​](#options "Direct link to Options") `Options` = `void` ## Parameters[​](#parameters "Direct link to Parameters") ### thunk[​](#thunk "Direct link to thunk") () => [`TaskSpec`](/docs/api/index/type-aliases/TaskSpec.md)<`Options`> ## Returns[​](#returns "Direct link to Returns") [`LazySpec`](/docs/api/index/interfaces/LazySpec.md)<`Options`> --- # use *** [Nadle](/docs/api/index/.md) / use # Function: use() > **use**<`Options`>(`plugin`, `options?`): `void` Defined in: [packages/nadle/src/core/plugins/use.ts:10](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/use.ts#L10) Apply a plugin during config load: record it (and its options) in the plugin registry and register any task types it contributes. Call from `nadle.config.ts`. ## Type Parameters[​](#type-parameters "Direct link to Type Parameters") ### Options[​](#options "Direct link to Options") `Options` = `void` ## Parameters[​](#parameters "Direct link to Parameters") ### plugin[​](#plugin "Direct link to plugin") [`NadlePlugin`](/docs/api/index/interfaces/NadlePlugin.md)<`Options`> ### options?[​](#options-1 "Direct link to options?") `Options` ## Returns[​](#returns "Direct link to Returns") `void` --- # CopyTaskOptions *** [Nadle](/docs/api/index/.md) / CopyTaskOptions # Interface: CopyTaskOptions Defined in: [packages/nadle/src/builtin-tasks/copy-task.ts:14](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/copy-task.ts#L14) Options for the CopyTask. ## Extends[​](#extends "Direct link to Extends") * [`FileOperationOptions`](/docs/api/index/interfaces/FileOperationOptions.md) ## Properties[​](#properties "Direct link to Properties") ### exclude?[​](#exclude "Direct link to exclude?") > `readonly` `optional` **exclude?**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<`string`> Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:24](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L24) Default exclude patterns for directory selections without their own. #### Inherited from[​](#inherited-from "Direct link to Inherited from") [`FileOperationOptions`](/docs/api/index/interfaces/FileOperationOptions.md).[`exclude`](/docs/api/index/interfaces/FileOperationOptions.md#exclude) *** ### flatten?[​](#flatten "Direct link to flatten?") > `readonly` `optional` **flatten?**: `boolean` Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:20](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L20) Place all files directly into `into`, dropping source directory structure. #### Inherited from[​](#inherited-from-1 "Direct link to Inherited from") [`FileOperationOptions`](/docs/api/index/interfaces/FileOperationOptions.md).[`flatten`](/docs/api/index/interfaces/FileOperationOptions.md#flatten) *** ### from[​](#from "Direct link to from") > `readonly` **from**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<[`FileSelection`](/docs/api/index/type-aliases/FileSelection.md)> Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:26](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L26) Source file(s), directory(ies), or selector(s) with glob patterns. #### Inherited from[​](#inherited-from-2 "Direct link to Inherited from") [`FileOperationOptions`](/docs/api/index/interfaces/FileOperationOptions.md).[`from`](/docs/api/index/interfaces/FileOperationOptions.md#from) *** ### include?[​](#include "Direct link to include?") > `readonly` `optional` **include?**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<`string`> Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:22](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L22) Default include patterns for directory selections without their own. #### Inherited from[​](#inherited-from-3 "Direct link to Inherited from") [`FileOperationOptions`](/docs/api/index/interfaces/FileOperationOptions.md).[`include`](/docs/api/index/interfaces/FileOperationOptions.md#include) *** ### into[​](#into "Direct link to into") > `readonly` **into**: `string` Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:16](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L16) Destination directory. Created if missing. #### Inherited from[​](#inherited-from-4 "Direct link to Inherited from") [`FileOperationOptions`](/docs/api/index/interfaces/FileOperationOptions.md).[`into`](/docs/api/index/interfaces/FileOperationOptions.md#into) *** ### overwrite?[​](#overwrite "Direct link to overwrite?") > `readonly` `optional` **overwrite?**: [`OverwritePolicy`](/docs/api/index/type-aliases/OverwritePolicy.md) Defined in: [packages/nadle/src/builtin-tasks/copy-task.ts:16](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/copy-task.ts#L16) Behavior when a destination file already exists. Defaults to `replace`. *** ### rename?[​](#rename "Direct link to rename?") > `readonly` `optional` **rename?**: `Record`<`string`, `string`> Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:28](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L28) Renames by exact base name, e.g. `{ "config.dev.json": "config.json" }`. #### Inherited from[​](#inherited-from-5 "Direct link to Inherited from") [`FileOperationOptions`](/docs/api/index/interfaces/FileOperationOptions.md).[`rename`](/docs/api/index/interfaces/FileOperationOptions.md#rename) *** ### strict?[​](#strict "Direct link to strict?") > `readonly` `optional` **strict?**: `boolean` Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:18](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L18) Fail when a source path is missing or no files match. Defaults to false. #### Inherited from[​](#inherited-from-6 "Direct link to Inherited from") [`FileOperationOptions`](/docs/api/index/interfaces/FileOperationOptions.md).[`strict`](/docs/api/index/interfaces/FileOperationOptions.md#strict) --- # DefineTaskParams *** [Nadle](/docs/api/index/.md) / DefineTaskParams # Interface: DefineTaskParams\ Defined in: [packages/nadle/src/core/registration/define-task.ts:7](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/registration/define-task.ts#L7) Parameters for defining a task. ## Extends[​](#extends "Direct link to Extends") * [`Task`](/docs/api/index/interfaces/Task.md)<`Options`> ## Type Parameters[​](#type-parameters "Direct link to Type Parameters") ### Options[​](#options "Direct link to Options") `Options` ## Properties[​](#properties "Direct link to Properties") ### run[​](#run "Direct link to run") > **run**: [`Callback`](/docs/api/index/type-aliases/Callback.md)<[`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`>, { `context`: [`RunnerContext`](/docs/api/index/interfaces/RunnerContext.md); `options`: `Options`; }> Defined in: [packages/nadle/src/core/interfaces/task.ts:14](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/task.ts#L14) The function to run for this task. #### Param[​](#param "Direct link to Param") **options** Task options. #### Param[​](#param-1 "Direct link to Param") **context** Runner context. #### Inherited from[​](#inherited-from "Direct link to Inherited from") [`Task`](/docs/api/index/interfaces/Task.md).[`run`](/docs/api/index/interfaces/Task.md#run) --- # DeleteTaskOptions *** [Nadle](/docs/api/index/.md) / DeleteTaskOptions # Interface: DeleteTaskOptions Defined in: [packages/nadle/src/builtin-tasks/delete-task.ts:14](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/delete-task.ts#L14) Options for the DeleteTask. Extends RimrafAsyncOptions and adds required paths property. ## Extends[​](#extends "Direct link to Extends") * `RimrafAsyncOptions` ## Properties[​](#properties "Direct link to Properties") ### backoff?[​](#backoff "Direct link to backoff?") > `optional` **backoff?**: `number` Defined in: node\_modules/.pnpm/rimraf\@6.1.3/node\_modules/rimraf/dist/esm/opt-arg.d.ts:10 #### Inherited from[​](#inherited-from "Direct link to Inherited from") `RimrafAsyncOptions.backoff` *** ### filter?[​](#filter "Direct link to filter?") > `optional` **filter?**: ((`path`, `ent`) => `boolean`) | ((`path`, `ent`) => `Promise`<`boolean`>) Defined in: node\_modules/.pnpm/rimraf\@6.1.3/node\_modules/rimraf/dist/esm/opt-arg.d.ts:14 #### Inherited from[​](#inherited-from-1 "Direct link to Inherited from") `RimrafAsyncOptions.filter` *** ### glob?[​](#glob "Direct link to glob?") > `optional` **glob?**: `boolean` | `GlobOptions` Defined in: node\_modules/.pnpm/rimraf\@6.1.3/node\_modules/rimraf/dist/esm/opt-arg.d.ts:13 #### Inherited from[​](#inherited-from-2 "Direct link to Inherited from") `RimrafAsyncOptions.glob` *** ### maxBackoff?[​](#maxbackoff "Direct link to maxBackoff?") > `optional` **maxBackoff?**: `number` Defined in: node\_modules/.pnpm/rimraf\@6.1.3/node\_modules/rimraf/dist/esm/opt-arg.d.ts:11 #### Inherited from[​](#inherited-from-3 "Direct link to Inherited from") `RimrafAsyncOptions.maxBackoff` *** ### maxRetries?[​](#maxretries "Direct link to maxRetries?") > `optional` **maxRetries?**: `number` Defined in: node\_modules/.pnpm/rimraf\@6.1.3/node\_modules/rimraf/dist/esm/opt-arg.d.ts:8 #### Inherited from[​](#inherited-from-4 "Direct link to Inherited from") `RimrafAsyncOptions.maxRetries` *** ### paths[​](#paths "Direct link to paths") > `readonly` **paths**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<`string`> Defined in: [packages/nadle/src/builtin-tasks/delete-task.ts:16](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/delete-task.ts#L16) File or directory paths (glob or array of globs) to delete. *** ### preserveRoot?[​](#preserveroot "Direct link to preserveRoot?") > `optional` **preserveRoot?**: `boolean` Defined in: node\_modules/.pnpm/rimraf\@6.1.3/node\_modules/rimraf/dist/esm/opt-arg.d.ts:6 #### Inherited from[​](#inherited-from-5 "Direct link to Inherited from") `RimrafAsyncOptions.preserveRoot` *** ### retryDelay?[​](#retrydelay "Direct link to retryDelay?") > `optional` **retryDelay?**: `number` Defined in: node\_modules/.pnpm/rimraf\@6.1.3/node\_modules/rimraf/dist/esm/opt-arg.d.ts:9 #### Inherited from[​](#inherited-from-6 "Direct link to Inherited from") `RimrafAsyncOptions.retryDelay` *** ### signal?[​](#signal "Direct link to signal?") > `optional` **signal?**: `AbortSignal` Defined in: node\_modules/.pnpm/rimraf\@6.1.3/node\_modules/rimraf/dist/esm/opt-arg.d.ts:12 #### Inherited from[​](#inherited-from-7 "Direct link to Inherited from") `RimrafAsyncOptions.signal` *** ### tmp?[​](#tmp "Direct link to tmp?") > `optional` **tmp?**: `string` Defined in: node\_modules/.pnpm/rimraf\@6.1.3/node\_modules/rimraf/dist/esm/opt-arg.d.ts:7 #### Inherited from[​](#inherited-from-8 "Direct link to Inherited from") `RimrafAsyncOptions.tmp` --- # DirDeclaration *** [Nadle](/docs/api/index/.md) / DirDeclaration # Interface: DirDeclaration Defined in: [packages/nadle/src/core/models/cache/declaration.ts:20](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/models/cache/declaration.ts#L20) Declaration for directory input/output patterns. ## Properties[​](#properties "Direct link to Properties") ### patterns[​](#patterns "Direct link to patterns") > `readonly` **patterns**: `string`\[] Defined in: [packages/nadle/src/core/models/cache/declaration.ts:24](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/models/cache/declaration.ts#L24) Glob patterns or paths matching directories. *** ### type[​](#type "Direct link to type") > `readonly` **type**: `"dir"` Defined in: [packages/nadle/src/core/models/cache/declaration.ts:22](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/models/cache/declaration.ts#L22) The declaration type, always "dir". --- # DownloadTaskOptions *** [Nadle](/docs/api/index/.md) / DownloadTaskOptions # Interface: DownloadTaskOptions Defined in: [packages/nadle/src/builtin-tasks/download-task.ts:12](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/download-task.ts#L12) Options for the DownloadTask. ## Properties[​](#properties "Direct link to Properties") ### filename?[​](#filename "Direct link to filename?") > `readonly` `optional` **filename?**: `string` Defined in: [packages/nadle/src/builtin-tasks/download-task.ts:20](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/download-task.ts#L20) Destination file name. Defaults to the last segment of the URL path. *** ### into[​](#into "Direct link to into") > `readonly` **into**: `string` Defined in: [packages/nadle/src/builtin-tasks/download-task.ts:16](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/download-task.ts#L16) Destination directory. Created if missing. *** ### sha256?[​](#sha256 "Direct link to sha256?") > `readonly` `optional` **sha256?**: `string` Defined in: [packages/nadle/src/builtin-tasks/download-task.ts:18](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/download-task.ts#L18) Expected SHA-256 hex digest; the task fails on mismatch. *** ### url[​](#url "Direct link to url") > `readonly` **url**: `string` Defined in: [packages/nadle/src/builtin-tasks/download-task.ts:14](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/download-task.ts#L14) The URL to download. --- # ExecTaskOptions *** [Nadle](/docs/api/index/.md) / ExecTaskOptions # Interface: ExecTaskOptions Defined in: [packages/nadle/src/builtin-tasks/exec-task.ts:8](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/exec-task.ts#L8) Options for the ExecTask. ## Properties[​](#properties "Direct link to Properties") ### args?[​](#args "Direct link to args?") > `readonly` `optional` **args?**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<`string`> Defined in: [packages/nadle/src/builtin-tasks/exec-task.ts:12](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/exec-task.ts#L12) Arguments for the command (array or string). Defaults to none. *** ### command[​](#command "Direct link to command") > `readonly` **command**: `string` Defined in: [packages/nadle/src/builtin-tasks/exec-task.ts:10](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/exec-task.ts#L10) The command to execute. --- # FileDeclaration *** [Nadle](/docs/api/index/.md) / FileDeclaration # Interface: FileDeclaration Defined in: [packages/nadle/src/core/models/cache/declaration.ts:10](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/models/cache/declaration.ts#L10) Declaration for file input/output patterns. ## Properties[​](#properties "Direct link to Properties") ### patterns[​](#patterns "Direct link to patterns") > `readonly` **patterns**: `string`\[] Defined in: [packages/nadle/src/core/models/cache/declaration.ts:14](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/models/cache/declaration.ts#L14) Glob patterns or paths matching files. *** ### type[​](#type "Direct link to type") > `readonly` **type**: `"file"` Defined in: [packages/nadle/src/core/models/cache/declaration.ts:12](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/models/cache/declaration.ts#L12) The declaration type, always "file". --- # FileOperationOptions *** [Nadle](/docs/api/index/.md) / FileOperationOptions # Interface: FileOperationOptions Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:14](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L14) Options shared by the file-operation tasks (Copy, Move, Sync). ## Extended by[​](#extended-by "Direct link to Extended by") * [`CopyTaskOptions`](/docs/api/index/interfaces/CopyTaskOptions.md) * [`MoveTaskOptions`](/docs/api/index/interfaces/MoveTaskOptions.md) * [`SyncTaskOptions`](/docs/api/index/interfaces/SyncTaskOptions.md) ## Properties[​](#properties "Direct link to Properties") ### exclude?[​](#exclude "Direct link to exclude?") > `readonly` `optional` **exclude?**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<`string`> Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:24](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L24) Default exclude patterns for directory selections without their own. *** ### flatten?[​](#flatten "Direct link to flatten?") > `readonly` `optional` **flatten?**: `boolean` Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:20](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L20) Place all files directly into `into`, dropping source directory structure. *** ### from[​](#from "Direct link to from") > `readonly` **from**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<[`FileSelection`](/docs/api/index/type-aliases/FileSelection.md)> Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:26](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L26) Source file(s), directory(ies), or selector(s) with glob patterns. *** ### include?[​](#include "Direct link to include?") > `readonly` `optional` **include?**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<`string`> Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:22](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L22) Default include patterns for directory selections without their own. *** ### into[​](#into "Direct link to into") > `readonly` **into**: `string` Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:16](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L16) Destination directory. Created if missing. *** ### rename?[​](#rename "Direct link to rename?") > `readonly` `optional` **rename?**: `Record`<`string`, `string`> Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:28](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L28) Renames by exact base name, e.g. `{ "config.dev.json": "config.json" }`. *** ### strict?[​](#strict "Direct link to strict?") > `readonly` `optional` **strict?**: `boolean` Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:18](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L18) Fail when a source path is missing or no files match. Defaults to false. --- # FileSelector *** [Nadle](/docs/api/index/.md) / FileSelector # Interface: FileSelector Defined in: [packages/nadle/src/builtin-tasks/file-selection.ts:16](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-selection.ts#L16) Selects files relative to a base directory using glob patterns. ## Properties[​](#properties "Direct link to Properties") ### dir[​](#dir "Direct link to dir") > `readonly` **dir**: `string` Defined in: [packages/nadle/src/builtin-tasks/file-selection.ts:18](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-selection.ts#L18) Base directory the patterns are matched against. *** ### exclude?[​](#exclude "Direct link to exclude?") > `readonly` `optional` **exclude?**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<`string`> Defined in: [packages/nadle/src/builtin-tasks/file-selection.ts:22](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-selection.ts#L22) Glob patterns to exclude. *** ### include?[​](#include "Direct link to include?") > `readonly` `optional` **include?**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<`string`> Defined in: [packages/nadle/src/builtin-tasks/file-selection.ts:20](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-selection.ts#L20) Glob patterns to include. Defaults to all files. --- # LazySpec *** [Nadle](/docs/api/index/.md) / LazySpec # Interface: LazySpec\ Defined in: [packages/nadle/src/core/registration/api.ts:85](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/registration/api.ts#L85) A branded spec thunk produced by [lazy](/docs/api/index/functions/lazy.md). The config portion of the wrapped spec is resolved lazily (and memoized) when first read. Branded with a public `__nadleLazySpec` marker (not just the private `[LAZY_SPEC]` symbol) so the structural shape survives `.d.ts` emission: a symbol-only member is stripped, leaving `{}` which would match any object and defeat overload resolution. ## Type Parameters[​](#type-parameters "Direct link to Type Parameters") ### Options[​](#options "Direct link to Options") `Options` = `void` ## Properties[​](#properties "Direct link to Properties") ### \_\_nadleLazySpec[​](#__nadlelazyspec "Direct link to __nadleLazySpec") > `readonly` **\_\_nadleLazySpec**: `true` Defined in: [packages/nadle/src/core/registration/api.ts:87](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/registration/api.ts#L87) Brand that survives d.ts emission so LazySpec stays distinguishable from a plain spec. --- # Listener *** [Nadle](/docs/api/index/.md) / Listener # Interface: Listener Defined in: [packages/nadle/src/core/interfaces/listener.ts:7](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/listener.ts#L7) Listener interface for handling various task and execution lifecycle events. ## Properties[​](#properties "Direct link to Properties") ### onExecutionFailed?[​](#onexecutionfailed "Direct link to onExecutionFailed?") > `readonly` `optional` **onExecutionFailed?**: (`error`) => [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> Defined in: [packages/nadle/src/core/interfaces/listener.ts:22](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/listener.ts#L22) Called when execution fails. #### Parameters[​](#parameters "Direct link to Parameters") ##### error[​](#error "Direct link to error") `unknown` The error that caused the failure. #### Returns[​](#returns "Direct link to Returns") [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> *** ### onExecutionFinish?[​](#onexecutionfinish "Direct link to onExecutionFinish?") > `readonly` `optional` **onExecutionFinish?**: () => [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> Defined in: [packages/nadle/src/core/interfaces/listener.ts:16](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/listener.ts#L16) Called when execution finishes successfully. #### Returns[​](#returns-1 "Direct link to Returns") [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> *** ### onExecutionStart?[​](#onexecutionstart "Direct link to onExecutionStart?") > `readonly` `optional` **onExecutionStart?**: () => [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> Defined in: [packages/nadle/src/core/interfaces/listener.ts:11](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/listener.ts#L11) Called when execution starts. #### Returns[​](#returns-2 "Direct link to Returns") [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> *** ### onInitialize?[​](#oninitialize "Direct link to onInitialize?") > `readonly` `optional` **onInitialize?**: () => [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`Listener`> Defined in: [packages/nadle/src/core/interfaces/listener.ts:77](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/listener.ts#L77) Optional initialization method for the listener. #### Returns[​](#returns-3 "Direct link to Returns") [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`Listener`> The initialized listener instance. *** ### onTaskCanceled?[​](#ontaskcanceled "Direct link to onTaskCanceled?") > `readonly` `optional` **onTaskCanceled?**: (`task`) => [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> Defined in: [packages/nadle/src/core/interfaces/listener.ts:40](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/listener.ts#L40) Called when a task is canceled. #### Parameters[​](#parameters-1 "Direct link to Parameters") ##### task[​](#task "Direct link to task") [`RegisteredTask`](/docs/api/index/interfaces/RegisteredTask.md) The canceled task. #### Returns[​](#returns-4 "Direct link to Returns") [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> *** ### onTaskFailed?[​](#ontaskfailed "Direct link to onTaskFailed?") > `readonly` `optional` **onTaskFailed?**: (`task`) => [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> Defined in: [packages/nadle/src/core/interfaces/listener.ts:34](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/listener.ts#L34) Called when a task fails. #### Parameters[​](#parameters-2 "Direct link to Parameters") ##### task[​](#task-1 "Direct link to task") [`RegisteredTask`](/docs/api/index/interfaces/RegisteredTask.md) The failed task. #### Returns[​](#returns-5 "Direct link to Returns") [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> *** ### onTaskFinish?[​](#ontaskfinish "Direct link to onTaskFinish?") > `readonly` `optional` **onTaskFinish?**: (`task`) => [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> Defined in: [packages/nadle/src/core/interfaces/listener.ts:28](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/listener.ts#L28) Called when a task finishes successfully. #### Parameters[​](#parameters-3 "Direct link to Parameters") ##### task[​](#task-2 "Direct link to task") [`RegisteredTask`](/docs/api/index/interfaces/RegisteredTask.md) The finished task. #### Returns[​](#returns-6 "Direct link to Returns") [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> *** ### onTaskRestoreFromCache?[​](#ontaskrestorefromcache "Direct link to onTaskRestoreFromCache?") > `readonly` `optional` **onTaskRestoreFromCache?**: (`task`) => [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> Defined in: [packages/nadle/src/core/interfaces/listener.ts:64](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/listener.ts#L64) Called when a task is restored from cache. #### Parameters[​](#parameters-4 "Direct link to Parameters") ##### task[​](#task-3 "Direct link to task") [`RegisteredTask`](/docs/api/index/interfaces/RegisteredTask.md) The restored task. #### Returns[​](#returns-7 "Direct link to Returns") [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> *** ### onTaskSkipped?[​](#ontaskskipped "Direct link to onTaskSkipped?") > `readonly` `optional` **onTaskSkipped?**: (`task`) => [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> Defined in: [packages/nadle/src/core/interfaces/listener.ts:52](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/listener.ts#L52) Called when a task is skipped because its onlyIf predicate resolved falsey. #### Parameters[​](#parameters-5 "Direct link to Parameters") ##### task[​](#task-4 "Direct link to task") [`RegisteredTask`](/docs/api/index/interfaces/RegisteredTask.md) The skipped task. #### Returns[​](#returns-8 "Direct link to Returns") [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> *** ### onTasksScheduled?[​](#ontasksscheduled "Direct link to onTasksScheduled?") > `readonly` `optional` **onTasksScheduled?**: (`tasks`) => [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> Defined in: [packages/nadle/src/core/interfaces/listener.ts:58](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/listener.ts#L58) Called when tasks are scheduled for execution. #### Parameters[​](#parameters-6 "Direct link to Parameters") ##### tasks[​](#tasks "Direct link to tasks") [`RegisteredTask`](/docs/api/index/interfaces/RegisteredTask.md)\[] The scheduled tasks. #### Returns[​](#returns-9 "Direct link to Returns") [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> *** ### onTaskStart?[​](#ontaskstart "Direct link to onTaskStart?") > `readonly` `optional` **onTaskStart?**: (`task`, `threadId`) => [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> Defined in: [packages/nadle/src/core/interfaces/listener.ts:71](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/listener.ts#L71) Called when a task starts execution. #### Parameters[​](#parameters-7 "Direct link to Parameters") ##### task[​](#task-5 "Direct link to task") [`RegisteredTask`](/docs/api/index/interfaces/RegisteredTask.md) The started task. ##### threadId[​](#threadid "Direct link to threadId") `number` The thread ID where the task is running. #### Returns[​](#returns-10 "Direct link to Returns") [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> *** ### onTaskUpToDate?[​](#ontaskuptodate "Direct link to onTaskUpToDate?") > `readonly` `optional` **onTaskUpToDate?**: (`task`) => [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> Defined in: [packages/nadle/src/core/interfaces/listener.ts:46](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/listener.ts#L46) Called when a task is up to date and does not need to run. #### Parameters[​](#parameters-8 "Direct link to Parameters") ##### task[​](#task-6 "Direct link to task") [`RegisteredTask`](/docs/api/index/interfaces/RegisteredTask.md) The up-to-date task. #### Returns[​](#returns-11 "Direct link to Returns") [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> --- # Logger *** [Nadle](/docs/api/index/.md) / Logger # Interface: Logger Defined in: [packages/nadle/src/core/interfaces/logger.ts:6](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/logger.ts#L6) Logger interface for Nadle. ## Methods[​](#methods "Direct link to Methods") ### debug()[​](#debug "Direct link to debug()") > **debug**(`message`, ...`args`): `void` Defined in: [packages/nadle/src/core/interfaces/logger.ts:36](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/logger.ts#L36) Log a debug message. #### Parameters[​](#parameters "Direct link to Parameters") ##### message[​](#message "Direct link to message") `string` | `InputLogObject` The message or log object. ##### args[​](#args "Direct link to args") ...`unknown`\[] Additional arguments. #### Returns[​](#returns "Direct link to Returns") `void` *** ### error()[​](#error "Direct link to error()") > **error**(`message`, ...`args`): `void` Defined in: [packages/nadle/src/core/interfaces/logger.ts:30](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/logger.ts#L30) Log an error message. #### Parameters[​](#parameters-1 "Direct link to Parameters") ##### message[​](#message-1 "Direct link to message") `string` | `InputLogObject` The message or log object. ##### args[​](#args-1 "Direct link to args") ...`unknown`\[] Additional arguments. #### Returns[​](#returns-1 "Direct link to Returns") `void` *** ### getColumns()[​](#getcolumns "Direct link to getColumns()") > **getColumns**(): `number` Defined in: [packages/nadle/src/core/interfaces/logger.ts:42](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/logger.ts#L42) Get the number of columns in the output stream. #### Returns[​](#returns-2 "Direct link to Returns") `number` Number of columns, or 80 if unavailable. *** ### info()[​](#info "Direct link to info()") > **info**(`message`, ...`args`): `void` Defined in: [packages/nadle/src/core/interfaces/logger.ts:24](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/logger.ts#L24) Log an info message. #### Parameters[​](#parameters-2 "Direct link to Parameters") ##### message[​](#message-2 "Direct link to message") `string` | `InputLogObject` The message or log object. ##### args[​](#args-2 "Direct link to args") ...`unknown`\[] Additional arguments. #### Returns[​](#returns-3 "Direct link to Returns") `void` *** ### log()[​](#log "Direct link to log()") > **log**(`message`, ...`args`): `void` Defined in: [packages/nadle/src/core/interfaces/logger.ts:12](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/logger.ts#L12) Log a standard message. #### Parameters[​](#parameters-3 "Direct link to Parameters") ##### message[​](#message-3 "Direct link to message") `string` | `InputLogObject` The message or log object. ##### args[​](#args-3 "Direct link to args") ...`unknown`\[] Additional arguments. #### Returns[​](#returns-4 "Direct link to Returns") `void` *** ### warn()[​](#warn "Direct link to warn()") > **warn**(`message`, ...`args`): `void` Defined in: [packages/nadle/src/core/interfaces/logger.ts:18](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/logger.ts#L18) Log a warning message. #### Parameters[​](#parameters-4 "Direct link to Parameters") ##### message[​](#message-4 "Direct link to message") `string` | `InputLogObject` The message or log object. ##### args[​](#args-4 "Direct link to args") ...`unknown`\[] Additional arguments. #### Returns[​](#returns-5 "Direct link to Returns") `void` --- # MoveTaskOptions *** [Nadle](/docs/api/index/.md) / MoveTaskOptions # Interface: MoveTaskOptions Defined in: [packages/nadle/src/builtin-tasks/move-task.ts:10](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/move-task.ts#L10) Options for the MoveTask. ## Extends[​](#extends "Direct link to Extends") * [`FileOperationOptions`](/docs/api/index/interfaces/FileOperationOptions.md) ## Properties[​](#properties "Direct link to Properties") ### exclude?[​](#exclude "Direct link to exclude?") > `readonly` `optional` **exclude?**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<`string`> Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:24](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L24) Default exclude patterns for directory selections without their own. #### Inherited from[​](#inherited-from "Direct link to Inherited from") [`FileOperationOptions`](/docs/api/index/interfaces/FileOperationOptions.md).[`exclude`](/docs/api/index/interfaces/FileOperationOptions.md#exclude) *** ### flatten?[​](#flatten "Direct link to flatten?") > `readonly` `optional` **flatten?**: `boolean` Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:20](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L20) Place all files directly into `into`, dropping source directory structure. #### Inherited from[​](#inherited-from-1 "Direct link to Inherited from") [`FileOperationOptions`](/docs/api/index/interfaces/FileOperationOptions.md).[`flatten`](/docs/api/index/interfaces/FileOperationOptions.md#flatten) *** ### from[​](#from "Direct link to from") > `readonly` **from**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<[`FileSelection`](/docs/api/index/type-aliases/FileSelection.md)> Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:26](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L26) Source file(s), directory(ies), or selector(s) with glob patterns. #### Inherited from[​](#inherited-from-2 "Direct link to Inherited from") [`FileOperationOptions`](/docs/api/index/interfaces/FileOperationOptions.md).[`from`](/docs/api/index/interfaces/FileOperationOptions.md#from) *** ### include?[​](#include "Direct link to include?") > `readonly` `optional` **include?**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<`string`> Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:22](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L22) Default include patterns for directory selections without their own. #### Inherited from[​](#inherited-from-3 "Direct link to Inherited from") [`FileOperationOptions`](/docs/api/index/interfaces/FileOperationOptions.md).[`include`](/docs/api/index/interfaces/FileOperationOptions.md#include) *** ### into[​](#into "Direct link to into") > `readonly` **into**: `string` Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:16](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L16) Destination directory. Created if missing. #### Inherited from[​](#inherited-from-4 "Direct link to Inherited from") [`FileOperationOptions`](/docs/api/index/interfaces/FileOperationOptions.md).[`into`](/docs/api/index/interfaces/FileOperationOptions.md#into) *** ### overwrite?[​](#overwrite "Direct link to overwrite?") > `readonly` `optional` **overwrite?**: [`OverwritePolicy`](/docs/api/index/type-aliases/OverwritePolicy.md) Defined in: [packages/nadle/src/builtin-tasks/move-task.ts:12](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/move-task.ts#L12) Behavior when a destination file already exists. Defaults to `replace`. *** ### rename?[​](#rename "Direct link to rename?") > `readonly` `optional` **rename?**: `Record`<`string`, `string`> Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:28](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L28) Renames by exact base name, e.g. `{ "config.dev.json": "config.json" }`. #### Inherited from[​](#inherited-from-5 "Direct link to Inherited from") [`FileOperationOptions`](/docs/api/index/interfaces/FileOperationOptions.md).[`rename`](/docs/api/index/interfaces/FileOperationOptions.md#rename) *** ### strict?[​](#strict "Direct link to strict?") > `readonly` `optional` **strict?**: `boolean` Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:18](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L18) Fail when a source path is missing or no files match. Defaults to false. #### Inherited from[​](#inherited-from-6 "Direct link to Inherited from") [`FileOperationOptions`](/docs/api/index/interfaces/FileOperationOptions.md).[`strict`](/docs/api/index/interfaces/FileOperationOptions.md#strict) --- # NadleBaseOptions *** [Nadle](/docs/api/index/.md) / NadleBaseOptions # Interface: NadleBaseOptions Defined in: [packages/nadle/src/core/options/types.ts:9](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/options/types.ts#L9) Base options for Nadle configuration. ## Properties[​](#properties "Direct link to Properties") ### cache?[​](#cache "Direct link to cache?") > `readonly` `optional` **cache?**: `boolean` Defined in: [packages/nadle/src/core/options/types.ts:11](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/options/types.ts#L11) Enable or disable caching. *** ### cacheDir?[​](#cachedir "Direct link to cacheDir?") > `readonly` `optional` **cacheDir?**: `string` Defined in: [packages/nadle/src/core/options/types.ts:13](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/options/types.ts#L13) Directory to store cache files. *** ### footer?[​](#footer "Direct link to footer?") > `readonly` `optional` **footer?**: `boolean` Defined in: [packages/nadle/src/core/options/types.ts:16](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/options/types.ts#L16) Show footer in output. *** ### implicitDependencies?[​](#implicitdependencies "Direct link to implicitDependencies?") > `readonly` `optional` **implicitDependencies?**: `boolean` Defined in: [packages/nadle/src/core/options/types.ts:30](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/options/types.ts#L30) Enable or disable implicit workspace task dependencies. *** ### logLevel?[​](#loglevel "Direct link to logLevel?") > `readonly` `optional` **logLevel?**: `"error"` | `"log"` | `"info"` | `"debug"` Defined in: [packages/nadle/src/core/options/types.ts:24](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/options/types.ts#L24) Log level for reporting. *** ### maxCacheEntries?[​](#maxcacheentries "Direct link to maxCacheEntries?") > `readonly` `optional` **maxCacheEntries?**: `number` Defined in: [packages/nadle/src/core/options/types.ts:22](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/options/types.ts#L22) Maximum number of cache entries to keep per task. Oldest are evicted when exceeded. *** ### maxWorkers?[​](#maxworkers "Direct link to maxWorkers?") > `readonly` `optional` **maxWorkers?**: `string` | `number` Defined in: [packages/nadle/src/core/options/types.ts:28](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/options/types.ts#L28) Maximum number of worker threads (number or string, e.g., "100%"). *** ### minWorkers?[​](#minworkers "Direct link to minWorkers?") > `readonly` `optional` **minWorkers?**: `string` | `number` Defined in: [packages/nadle/src/core/options/types.ts:26](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/options/types.ts#L26) Minimum number of worker threads (number or string, e.g., "50%"). *** ### parallel?[​](#parallel "Direct link to parallel?") > `readonly` `optional` **parallel?**: `boolean` Defined in: [packages/nadle/src/core/options/types.ts:20](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/options/types.ts#L20) Enable or disable parallel task execution. *** ### reporter?[​](#reporter "Direct link to reporter?") > `readonly` `optional` **reporter?**: `string` Defined in: [packages/nadle/src/core/options/types.ts:18](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/options/types.ts#L18) Output reporter to use: a built-in (`default`/`agent`) or a plugin-registered reporter name. --- # NadleFileOptions *** [Nadle](/docs/api/index/.md) / NadleFileOptions # Interface: NadleFileOptions Defined in: [packages/nadle/src/core/options/types.ts:89](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/options/types.ts#L89) File-based options for Nadle configuration. ## Extends[​](#extends "Direct link to Extends") * `Partial`<[`NadleBaseOptions`](/docs/api/index/interfaces/NadleBaseOptions.md)> ## Properties[​](#properties "Direct link to Properties") ### alias?[​](#alias "Direct link to alias?") > `readonly` `optional` **alias?**: [`AliasOption`](/docs/api/index/type-aliases/AliasOption.md) Defined in: [packages/nadle/src/core/options/types.ts:91](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/options/types.ts#L91) Task alias configuration. *** ### cache?[​](#cache "Direct link to cache?") > `readonly` `optional` **cache?**: `boolean` Defined in: [packages/nadle/src/core/options/types.ts:11](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/options/types.ts#L11) Enable or disable caching. #### Inherited from[​](#inherited-from "Direct link to Inherited from") [`NadleBaseOptions`](/docs/api/index/interfaces/NadleBaseOptions.md).[`cache`](/docs/api/index/interfaces/NadleBaseOptions.md#cache) *** ### cacheDir?[​](#cachedir "Direct link to cacheDir?") > `readonly` `optional` **cacheDir?**: `string` Defined in: [packages/nadle/src/core/options/types.ts:13](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/options/types.ts#L13) Directory to store cache files. #### Inherited from[​](#inherited-from-1 "Direct link to Inherited from") [`NadleBaseOptions`](/docs/api/index/interfaces/NadleBaseOptions.md).[`cacheDir`](/docs/api/index/interfaces/NadleBaseOptions.md#cachedir) *** ### footer?[​](#footer "Direct link to footer?") > `readonly` `optional` **footer?**: `boolean` Defined in: [packages/nadle/src/core/options/types.ts:16](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/options/types.ts#L16) Show footer in output. #### Inherited from[​](#inherited-from-2 "Direct link to Inherited from") [`NadleBaseOptions`](/docs/api/index/interfaces/NadleBaseOptions.md).[`footer`](/docs/api/index/interfaces/NadleBaseOptions.md#footer) *** ### implicitDependencies?[​](#implicitdependencies "Direct link to implicitDependencies?") > `readonly` `optional` **implicitDependencies?**: `boolean` Defined in: [packages/nadle/src/core/options/types.ts:30](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/options/types.ts#L30) Enable or disable implicit workspace task dependencies. #### Inherited from[​](#inherited-from-3 "Direct link to Inherited from") [`NadleBaseOptions`](/docs/api/index/interfaces/NadleBaseOptions.md).[`implicitDependencies`](/docs/api/index/interfaces/NadleBaseOptions.md#implicitdependencies) *** ### logLevel?[​](#loglevel "Direct link to logLevel?") > `readonly` `optional` **logLevel?**: `"error"` | `"log"` | `"info"` | `"debug"` Defined in: [packages/nadle/src/core/options/types.ts:24](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/options/types.ts#L24) Log level for reporting. #### Inherited from[​](#inherited-from-4 "Direct link to Inherited from") [`NadleBaseOptions`](/docs/api/index/interfaces/NadleBaseOptions.md).[`logLevel`](/docs/api/index/interfaces/NadleBaseOptions.md#loglevel) *** ### maxCacheEntries?[​](#maxcacheentries "Direct link to maxCacheEntries?") > `readonly` `optional` **maxCacheEntries?**: `number` Defined in: [packages/nadle/src/core/options/types.ts:22](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/options/types.ts#L22) Maximum number of cache entries to keep per task. Oldest are evicted when exceeded. #### Inherited from[​](#inherited-from-5 "Direct link to Inherited from") [`NadleBaseOptions`](/docs/api/index/interfaces/NadleBaseOptions.md).[`maxCacheEntries`](/docs/api/index/interfaces/NadleBaseOptions.md#maxcacheentries) *** ### maxWorkers?[​](#maxworkers "Direct link to maxWorkers?") > `readonly` `optional` **maxWorkers?**: `string` | `number` Defined in: [packages/nadle/src/core/options/types.ts:28](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/options/types.ts#L28) Maximum number of worker threads (number or string, e.g., "100%"). #### Inherited from[​](#inherited-from-6 "Direct link to Inherited from") [`NadleBaseOptions`](/docs/api/index/interfaces/NadleBaseOptions.md).[`maxWorkers`](/docs/api/index/interfaces/NadleBaseOptions.md#maxworkers) *** ### minWorkers?[​](#minworkers "Direct link to minWorkers?") > `readonly` `optional` **minWorkers?**: `string` | `number` Defined in: [packages/nadle/src/core/options/types.ts:26](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/options/types.ts#L26) Minimum number of worker threads (number or string, e.g., "50%"). #### Inherited from[​](#inherited-from-7 "Direct link to Inherited from") [`NadleBaseOptions`](/docs/api/index/interfaces/NadleBaseOptions.md).[`minWorkers`](/docs/api/index/interfaces/NadleBaseOptions.md#minworkers) *** ### parallel?[​](#parallel "Direct link to parallel?") > `readonly` `optional` **parallel?**: `boolean` Defined in: [packages/nadle/src/core/options/types.ts:20](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/options/types.ts#L20) Enable or disable parallel task execution. #### Inherited from[​](#inherited-from-8 "Direct link to Inherited from") [`NadleBaseOptions`](/docs/api/index/interfaces/NadleBaseOptions.md).[`parallel`](/docs/api/index/interfaces/NadleBaseOptions.md#parallel) *** ### reporter?[​](#reporter "Direct link to reporter?") > `readonly` `optional` **reporter?**: `string` Defined in: [packages/nadle/src/core/options/types.ts:18](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/options/types.ts#L18) Output reporter to use: a built-in (`default`/`agent`) or a plugin-registered reporter name. #### Inherited from[​](#inherited-from-9 "Direct link to Inherited from") [`NadleBaseOptions`](/docs/api/index/interfaces/NadleBaseOptions.md).[`reporter`](/docs/api/index/interfaces/NadleBaseOptions.md#reporter) --- # NadlePlugin *** [Nadle](/docs/api/index/.md) / NadlePlugin # Interface: NadlePlugin\ Defined in: [packages/nadle/src/core/plugins/plugin.ts:77](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L77) A nadle plugin. Apply it in `nadle.config.ts` with `use(plugin, options?)`. ## Type Parameters[​](#type-parameters "Direct link to Type Parameters") ### Options[​](#options "Direct link to Options") `Options` = `void` ## Properties[​](#properties "Direct link to Properties") ### enforce?[​](#enforce "Direct link to enforce?") > `readonly` `optional` **enforce?**: `"pre"` | `"post"` Defined in: [packages/nadle/src/core/plugins/plugin.ts:81](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L81) Optional ordering: `pre` plugins run before normal, `post` after. *** ### hooks?[​](#hooks "Direct link to hooks?") > `readonly` `optional` **hooks?**: [`PluginHooks`](/docs/api/index/interfaces/PluginHooks.md)<`Options`> Defined in: [packages/nadle/src/core/plugins/plugin.ts:83](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L83) Lifecycle hooks this plugin registers. *** ### name[​](#name "Direct link to name") > `readonly` **name**: `string` Defined in: [packages/nadle/src/core/plugins/plugin.ts:79](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L79) Unique plugin name, used for dedup and error messages. *** ### reporters?[​](#reporters "Direct link to reporters?") > `readonly` `optional` **reporters?**: readonly [`PluginReporter`](/docs/api/index/interfaces/PluginReporter.md)\[] Defined in: [packages/nadle/src/core/plugins/plugin.ts:87](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L87) Custom reporters this plugin contributes. *** ### tasks?[​](#tasks "Direct link to tasks?") > `readonly` `optional` **tasks?**: readonly [`PluginTask`](/docs/api/index/interfaces/PluginTask.md)\[] Defined in: [packages/nadle/src/core/plugins/plugin.ts:85](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L85) Task types this plugin contributes. --- # NodeTaskOptions *** [Nadle](/docs/api/index/.md) / NodeTaskOptions # Interface: NodeTaskOptions Defined in: [packages/nadle/src/builtin-tasks/node-task.ts:8](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/node-task.ts#L8) Options for the NodeTask. ## Properties[​](#properties "Direct link to Properties") ### args?[​](#args "Direct link to args?") > `readonly` `optional` **args?**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<`string`> Defined in: [packages/nadle/src/builtin-tasks/node-task.ts:12](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/node-task.ts#L12) Arguments for the script. Defaults to none. *** ### script[​](#script "Direct link to script") > `readonly` **script**: `string` Defined in: [packages/nadle/src/builtin-tasks/node-task.ts:10](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/node-task.ts#L10) The script to execute via node. --- # NpmTaskOptions *** [Nadle](/docs/api/index/.md) / NpmTaskOptions # Interface: NpmTaskOptions Defined in: [packages/nadle/src/builtin-tasks/npm-task.ts:8](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/npm-task.ts#L8) Options for the NpmTask. ## Properties[​](#properties "Direct link to Properties") ### args[​](#args "Direct link to args") > `readonly` **args**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<`string`> Defined in: [packages/nadle/src/builtin-tasks/npm-task.ts:10](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/npm-task.ts#L10) Arguments to pass to the npm CLI. --- # NpxTaskOptions *** [Nadle](/docs/api/index/.md) / NpxTaskOptions # Interface: NpxTaskOptions Defined in: [packages/nadle/src/builtin-tasks/npx-task.ts:8](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/npx-task.ts#L8) Options for the NpxTask. ## Properties[​](#properties "Direct link to Properties") ### args?[​](#args "Direct link to args?") > `readonly` `optional` **args?**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<`string`> Defined in: [packages/nadle/src/builtin-tasks/npx-task.ts:12](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/npx-task.ts#L12) Arguments for the command. Defaults to none. *** ### command[​](#command "Direct link to command") > `readonly` **command**: `string` Defined in: [packages/nadle/src/builtin-tasks/npx-task.ts:10](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/npx-task.ts#L10) The command to execute via npx. --- # PluginHooks *** [Nadle](/docs/api/index/.md) / PluginHooks # Interface: PluginHooks\ Defined in: [packages/nadle/src/core/plugins/plugin.ts:65](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L65) Optional plugin lifecycle hooks. All run on the main thread. ## Type Parameters[​](#type-parameters "Direct link to Type Parameters") ### Options[​](#options "Direct link to Options") `Options` ## Properties[​](#properties "Direct link to Properties") ### afterAll?[​](#afterall "Direct link to afterAll?") > `readonly` `optional` **afterAll?**: (`ctx`) => [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> Defined in: [packages/nadle/src/core/plugins/plugin.ts:67](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L67) Runs once after the run settles (success or failure). #### Parameters[​](#parameters "Direct link to Parameters") ##### ctx[​](#ctx "Direct link to ctx") [`RunHookContext`](/docs/api/index/interfaces/RunHookContext.md)<`Options`> #### Returns[​](#returns "Direct link to Returns") [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> *** ### afterTask?[​](#aftertask "Direct link to afterTask?") > `readonly` `optional` **afterTask?**: (`ctx`) => [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> Defined in: [packages/nadle/src/core/plugins/plugin.ts:71](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L71) Runs after a task settles, for every outcome (see `ctx.result`). #### Parameters[​](#parameters-1 "Direct link to Parameters") ##### ctx[​](#ctx-1 "Direct link to ctx") [`TaskHookContext`](/docs/api/index/interfaces/TaskHookContext.md)<`Options`> #### Returns[​](#returns-1 "Direct link to Returns") [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> *** ### beforeAll?[​](#beforeall "Direct link to beforeAll?") > `readonly` `optional` **beforeAll?**: (`ctx`) => [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> Defined in: [packages/nadle/src/core/plugins/plugin.ts:69](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L69) Runs once before scheduling. Throwing aborts the run. #### Parameters[​](#parameters-2 "Direct link to Parameters") ##### ctx[​](#ctx-2 "Direct link to ctx") [`RunHookContext`](/docs/api/index/interfaces/RunHookContext.md)<`Options`> #### Returns[​](#returns-2 "Direct link to Returns") [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> *** ### beforeTask?[​](#beforetask "Direct link to beforeTask?") > `readonly` `optional` **beforeTask?**: (`ctx`) => [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> Defined in: [packages/nadle/src/core/plugins/plugin.ts:73](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L73) Runs before a task actually executes (not fired for cache hits). #### Parameters[​](#parameters-3 "Direct link to Parameters") ##### ctx[​](#ctx-3 "Direct link to ctx") [`TaskHookContext`](/docs/api/index/interfaces/TaskHookContext.md)<`Options`> #### Returns[​](#returns-3 "Direct link to Returns") [`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`> --- # PluginReporter *** [Nadle](/docs/api/index/.md) / PluginReporter # Interface: PluginReporter Defined in: [packages/nadle/src/core/plugins/plugin.ts:27](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L27) A reporter a plugin contributes; selected by name via `--reporter `. ## Properties[​](#properties "Direct link to Properties") ### create[​](#create "Direct link to create") > `readonly` **create**: (`context`) => [`Listener`](/docs/api/index/interfaces/Listener.md) Defined in: [packages/nadle/src/core/plugins/plugin.ts:31](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L31) Factory returning the reporter (a `Listener`), given the reporter context. #### Parameters[​](#parameters "Direct link to Parameters") ##### context[​](#context "Direct link to context") [`ReporterContext`](/docs/api/index/interfaces/ReporterContext.md) #### Returns[​](#returns "Direct link to Returns") [`Listener`](/docs/api/index/interfaces/Listener.md) *** ### name[​](#name "Direct link to name") > `readonly` **name**: `string` Defined in: [packages/nadle/src/core/plugins/plugin.ts:29](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L29) The name users select this reporter by. Must not collide with `default`/`agent`. --- # PluginTask *** [Nadle](/docs/api/index/.md) / PluginTask # Interface: PluginTask Defined in: [packages/nadle/src/core/plugins/plugin.ts:15](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L15) A task type a plugin contributes; registered as `tasks.register(name, { ...config, run: task, options: optionsResolver })`. ## Properties[​](#properties "Direct link to Properties") ### config?[​](#config "Direct link to config?") > `readonly` `optional` **config?**: [`TaskConfiguration`](/docs/api/index/interfaces/TaskConfiguration.md)<`unknown`> Defined in: [packages/nadle/src/core/plugins/plugin.ts:21](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L21) Optional task configuration (inputs, outputs, dependsOn, group, …). *** ### name[​](#name "Direct link to name") > `readonly` **name**: `string` Defined in: [packages/nadle/src/core/plugins/plugin.ts:17](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L17) The name users register / invoke the task under. *** ### optionsResolver?[​](#optionsresolver "Direct link to optionsResolver?") > `readonly` `optional` **optionsResolver?**: `unknown` Defined in: [packages/nadle/src/core/plugins/plugin.ts:23](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L23) Optional resolver for the task's options. *** ### task[​](#task "Direct link to task") > `readonly` **task**: [`Task`](/docs/api/index/interfaces/Task.md)<`unknown`> | [`Task`](/docs/api/index/interfaces/Task.md)<`never`> Defined in: [packages/nadle/src/core/plugins/plugin.ts:19](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L19) The task definition (a `Task` object, as produced by `defineTask`). --- # PnpmTaskOptions *** [Nadle](/docs/api/index/.md) / PnpmTaskOptions # Interface: PnpmTaskOptions Defined in: [packages/nadle/src/builtin-tasks/pnpm-task.ts:8](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/pnpm-task.ts#L8) Options for the PnpmTask. ## Properties[​](#properties "Direct link to Properties") ### args[​](#args "Direct link to args") > `readonly` **args**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<`string`> Defined in: [packages/nadle/src/builtin-tasks/pnpm-task.ts:10](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/pnpm-task.ts#L10) Arguments to pass to the pnpm CLI. *** ### filter?[​](#filter "Direct link to filter?") > `readonly` `optional` **filter?**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<`string`> Defined in: [packages/nadle/src/builtin-tasks/pnpm-task.ts:12](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/pnpm-task.ts#L12) Workspace package(s) to scope the command to, passed as pnpm `--filter` flags. --- # PnpxTaskOptions *** [Nadle](/docs/api/index/.md) / PnpxTaskOptions # Interface: PnpxTaskOptions Defined in: [packages/nadle/src/builtin-tasks/pnpx-task.ts:8](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/pnpx-task.ts#L8) Options for the PnpxTask. ## Properties[​](#properties "Direct link to Properties") ### args?[​](#args "Direct link to args?") > `readonly` `optional` **args?**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<`string`> Defined in: [packages/nadle/src/builtin-tasks/pnpx-task.ts:12](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/pnpx-task.ts#L12) Arguments for the command. Defaults to none. *** ### command[​](#command "Direct link to command") > `readonly` **command**: `string` Defined in: [packages/nadle/src/builtin-tasks/pnpx-task.ts:10](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/pnpx-task.ts#L10) The command to execute via pnpm exec. --- # RegisteredTask *** [Nadle](/docs/api/index/.md) / RegisteredTask # Interface: RegisteredTask Defined in: [packages/nadle/src/core/interfaces/registered-task.ts:9](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/registered-task.ts#L9) Represents a task registered in the Nadle system. ## Extends[​](#extends "Direct link to Extends") * [`Task`](/docs/api/index/interfaces/Task.md) ## Properties[​](#properties "Direct link to Properties") ### configResolver[​](#configresolver "Direct link to configResolver") > `readonly` **configResolver**: [`Callback`](/docs/api/index/type-aliases/Callback.md)<[`TaskConfiguration`](/docs/api/index/interfaces/TaskConfiguration.md)<`unknown`>> Defined in: [packages/nadle/src/core/interfaces/registered-task.ts:23](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/registered-task.ts#L23) Resolver for task configuration. *** ### empty[​](#empty "Direct link to empty") > `readonly` **empty**: `boolean` Defined in: [packages/nadle/src/core/interfaces/registered-task.ts:15](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/registered-task.ts#L15) Whether this is an empty (lifecycle-only) task with no function body. *** ### id[​](#id "Direct link to id") > `readonly` **id**: `string` Defined in: [packages/nadle/src/core/interfaces/registered-task.ts:17](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/registered-task.ts#L17) Unique identifier for the task. *** ### label[​](#label "Direct link to label") > `readonly` **label**: `string` Defined in: [packages/nadle/src/core/interfaces/registered-task.ts:13](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/registered-task.ts#L13) Human-readable label for the task. *** ### name[​](#name "Direct link to name") > `readonly` **name**: `string` Defined in: [packages/nadle/src/core/interfaces/registered-task.ts:11](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/registered-task.ts#L11) Task name (without workspace prefix). *** ### optionsResolver[​](#optionsresolver "Direct link to optionsResolver") > `readonly` **optionsResolver**: `unknown` Defined in: [packages/nadle/src/core/interfaces/registered-task.ts:21](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/registered-task.ts#L21) Resolver for task options, if any. *** ### run[​](#run "Direct link to run") > **run**: [`Callback`](/docs/api/index/type-aliases/Callback.md)<[`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`>, { `context`: [`RunnerContext`](/docs/api/index/interfaces/RunnerContext.md); `options`: `unknown`; }> Defined in: [packages/nadle/src/core/interfaces/task.ts:14](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/task.ts#L14) The function to run for this task. #### Param[​](#param "Direct link to Param") **options** Task options. #### Param[​](#param-1 "Direct link to Param") **context** Runner context. #### Inherited from[​](#inherited-from "Direct link to Inherited from") [`Task`](/docs/api/index/interfaces/Task.md).[`run`](/docs/api/index/interfaces/Task.md#run) *** ### workspaceId[​](#workspaceid "Direct link to workspaceId") > `readonly` **workspaceId**: `string` Defined in: [packages/nadle/src/core/interfaces/registered-task.ts:19](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/registered-task.ts#L19) Workspace ID this task belongs to. --- # ReporterContext *** [Nadle](/docs/api/index/.md) / ReporterContext # Interface: ReporterContext Defined in: [packages/nadle/src/core/plugins/plugin.ts:9](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L9) What a plugin-contributed reporter receives. The full execution context is structurally assignable to this. ## Properties[​](#properties "Direct link to Properties") ### logger[​](#logger "Direct link to logger") > `readonly` **logger**: [`Logger`](/docs/api/index/interfaces/Logger.md) Defined in: [packages/nadle/src/core/plugins/plugin.ts:11](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L11) The core logger. --- # RunHookContext *** [Nadle](/docs/api/index/.md) / RunHookContext # Interface: RunHookContext\ Defined in: [packages/nadle/src/core/plugins/plugin.ts:35](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L35) Context passed to run-level hooks (`beforeAll`/`afterAll`). ## Type Parameters[​](#type-parameters "Direct link to Type Parameters") ### Options[​](#options "Direct link to Options") `Options` ## Properties[​](#properties "Direct link to Properties") ### error?[​](#error "Direct link to error?") > `readonly` `optional` **error?**: `unknown` Defined in: [packages/nadle/src/core/plugins/plugin.ts:39](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L39) The error — present only in `afterAll` when `outcome` is `"failed"`. *** ### logger[​](#logger "Direct link to logger") > `readonly` **logger**: [`Logger`](/docs/api/index/interfaces/Logger.md) Defined in: [packages/nadle/src/core/plugins/plugin.ts:37](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L37) The core logger (respects `--log-level` and the active reporter). *** ### outcome?[​](#outcome "Direct link to outcome?") > `readonly` `optional` **outcome?**: `"success"` | `"failed"` Defined in: [packages/nadle/src/core/plugins/plugin.ts:43](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L43) The run outcome — present only in `afterAll`. *** ### pluginOptions[​](#pluginoptions "Direct link to pluginOptions") > `readonly` **pluginOptions**: `Options` Defined in: [packages/nadle/src/core/plugins/plugin.ts:41](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L41) The options this plugin was applied with. *** ### tasks[​](#tasks "Direct link to tasks") > `readonly` **tasks**: readonly [`RegisteredTask`](/docs/api/index/interfaces/RegisteredTask.md)\[] Defined in: [packages/nadle/src/core/plugins/plugin.ts:45](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L45) The tasks scheduled for this run. --- # RunnerContext *** [Nadle](/docs/api/index/.md) / RunnerContext # Interface: RunnerContext Defined in: [packages/nadle/src/core/interfaces/task.ts:20](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/task.ts#L20) Context object passed to task runners. ## Properties[​](#properties "Direct link to Properties") ### logger[​](#logger "Direct link to logger") > `readonly` **logger**: [`Logger`](/docs/api/index/interfaces/Logger.md) Defined in: [packages/nadle/src/core/interfaces/task.ts:22](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/task.ts#L22) Logger instance for reporting. *** ### passthroughArgs[​](#passthroughargs "Direct link to passthroughArgs") > `readonly` **passthroughArgs**: readonly `string`\[] Defined in: [packages/nadle/src/core/interfaces/task.ts:26](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/task.ts#L26) Arguments after `--` on the CLI. Empty unless this task was explicitly requested. *** ### workingDir[​](#workingdir "Direct link to workingDir") > `readonly` **workingDir**: `string` Defined in: [packages/nadle/src/core/interfaces/task.ts:24](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/task.ts#L24) The working directory for the task. --- # StructuredError *** [Nadle](/docs/api/index/.md) / StructuredError # Interface: StructuredError Defined in: [packages/nadle/src/core/utilities/nadle-error.ts:7](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/nadle-error.ts#L7) Machine-readable representation of an error, emitted on failure when a structured error mode is active (e.g. the agent reporter). ## Properties[​](#properties "Direct link to Properties") ### errorCode[​](#errorcode "Direct link to errorCode") > `readonly` **errorCode**: `number` Defined in: [packages/nadle/src/core/utilities/nadle-error.ts:13](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/nadle-error.ts#L13) The numeric exit code for this failure. *** ### errorType[​](#errortype "Direct link to errorType") > `readonly` **errorType**: `string` Defined in: [packages/nadle/src/core/utilities/nadle-error.ts:15](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/nadle-error.ts#L15) The error category name (the error's class name). *** ### message[​](#message "Direct link to message") > `readonly` **message**: `string` Defined in: [packages/nadle/src/core/utilities/nadle-error.ts:11](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/nadle-error.ts#L11) The human-readable error message. *** ### task?[​](#task "Direct link to task?") > `readonly` `optional` **task?**: `string` Defined in: [packages/nadle/src/core/utilities/nadle-error.ts:9](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/nadle-error.ts#L9) The label of the failing task; present only for task-execution errors. --- # SyncTaskOptions *** [Nadle](/docs/api/index/.md) / SyncTaskOptions # Interface: SyncTaskOptions Defined in: [packages/nadle/src/builtin-tasks/sync-task.ts:16](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/sync-task.ts#L16) Options for the SyncTask. ## Extends[​](#extends "Direct link to Extends") * [`FileOperationOptions`](/docs/api/index/interfaces/FileOperationOptions.md) ## Properties[​](#properties "Direct link to Properties") ### exclude?[​](#exclude "Direct link to exclude?") > `readonly` `optional` **exclude?**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<`string`> Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:24](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L24) Default exclude patterns for directory selections without their own. #### Inherited from[​](#inherited-from "Direct link to Inherited from") [`FileOperationOptions`](/docs/api/index/interfaces/FileOperationOptions.md).[`exclude`](/docs/api/index/interfaces/FileOperationOptions.md#exclude) *** ### flatten?[​](#flatten "Direct link to flatten?") > `readonly` `optional` **flatten?**: `boolean` Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:20](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L20) Place all files directly into `into`, dropping source directory structure. #### Inherited from[​](#inherited-from-1 "Direct link to Inherited from") [`FileOperationOptions`](/docs/api/index/interfaces/FileOperationOptions.md).[`flatten`](/docs/api/index/interfaces/FileOperationOptions.md#flatten) *** ### from[​](#from "Direct link to from") > `readonly` **from**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<[`FileSelection`](/docs/api/index/type-aliases/FileSelection.md)> Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:26](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L26) Source file(s), directory(ies), or selector(s) with glob patterns. #### Inherited from[​](#inherited-from-2 "Direct link to Inherited from") [`FileOperationOptions`](/docs/api/index/interfaces/FileOperationOptions.md).[`from`](/docs/api/index/interfaces/FileOperationOptions.md#from) *** ### include?[​](#include "Direct link to include?") > `readonly` `optional` **include?**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<`string`> Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:22](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L22) Default include patterns for directory selections without their own. #### Inherited from[​](#inherited-from-3 "Direct link to Inherited from") [`FileOperationOptions`](/docs/api/index/interfaces/FileOperationOptions.md).[`include`](/docs/api/index/interfaces/FileOperationOptions.md#include) *** ### into[​](#into "Direct link to into") > `readonly` **into**: `string` Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:16](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L16) Destination directory. Created if missing. #### Inherited from[​](#inherited-from-4 "Direct link to Inherited from") [`FileOperationOptions`](/docs/api/index/interfaces/FileOperationOptions.md).[`into`](/docs/api/index/interfaces/FileOperationOptions.md#into) *** ### preserve?[​](#preserve "Direct link to preserve?") > `readonly` `optional` **preserve?**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<`string`> Defined in: [packages/nadle/src/builtin-tasks/sync-task.ts:18](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/sync-task.ts#L18) Glob patterns (relative to `into`) for files that are never deleted. *** ### rename?[​](#rename "Direct link to rename?") > `readonly` `optional` **rename?**: `Record`<`string`, `string`> Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:28](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L28) Renames by exact base name, e.g. `{ "config.dev.json": "config.json" }`. #### Inherited from[​](#inherited-from-5 "Direct link to Inherited from") [`FileOperationOptions`](/docs/api/index/interfaces/FileOperationOptions.md).[`rename`](/docs/api/index/interfaces/FileOperationOptions.md#rename) *** ### strict?[​](#strict "Direct link to strict?") > `readonly` `optional` **strict?**: `boolean` Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:18](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L18) Fail when a source path is missing or no files match. Defaults to false. #### Inherited from[​](#inherited-from-6 "Direct link to Inherited from") [`FileOperationOptions`](/docs/api/index/interfaces/FileOperationOptions.md).[`strict`](/docs/api/index/interfaces/FileOperationOptions.md#strict) --- # Task *** [Nadle](/docs/api/index/.md) / Task # Interface: Task\ Defined in: [packages/nadle/src/core/interfaces/task.ts:8](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/task.ts#L8) Interface for a typed task with options. ## Extended by[​](#extended-by "Direct link to Extended by") * [`RegisteredTask`](/docs/api/index/interfaces/RegisteredTask.md) * [`DefineTaskParams`](/docs/api/index/interfaces/DefineTaskParams.md) ## Type Parameters[​](#type-parameters "Direct link to Type Parameters") ### Options[​](#options "Direct link to Options") `Options` = `unknown` The options type for the task. ## Properties[​](#properties "Direct link to Properties") ### run[​](#run "Direct link to run") > **run**: [`Callback`](/docs/api/index/type-aliases/Callback.md)<[`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`>, { `context`: [`RunnerContext`](/docs/api/index/interfaces/RunnerContext.md); `options`: `Options`; }> Defined in: [packages/nadle/src/core/interfaces/task.ts:14](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/task.ts#L14) The function to run for this task. #### Param[​](#param "Direct link to Param") **options** Task options. #### Param[​](#param-1 "Direct link to Param") **context** Runner context. --- # TaskConfiguration *** [Nadle](/docs/api/index/.md) / TaskConfiguration # Interface: TaskConfiguration\ Defined in: [packages/nadle/src/core/interfaces/task-configuration.ts:9](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/task-configuration.ts#L9) Configuration for a Nadle task. ## Type Parameters[​](#type-parameters "Direct link to Type Parameters") ### Options[​](#options "Direct link to Options") `Options` = `unknown` ## Properties[​](#properties "Direct link to Properties") ### cacheVerdict?[​](#cacheverdict "Direct link to cacheVerdict?") > `optional` **cacheVerdict?**: `boolean` Defined in: [packages/nadle/src/core/interfaces/task-configuration.ts:63](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/task-configuration.ts#L63) Caches the success verdict of a task that declares `inputs` but produces no output files, such as a linter or type-checker. While the inputs are unchanged the task is reported up-to-date instead of running. Only success is cached: a failing task always re-runs. Setting this asserts the task produces no artifact any other task consumes. Ignored when `outputs` are declared. *** ### dependsOn?[​](#dependson "Direct link to dependsOn?") > `optional` **dependsOn?**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<`string`> Defined in: [packages/nadle/src/core/interfaces/task-configuration.ts:30](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/task-configuration.ts#L30) A task or a list of tasks that this task depends on. *** ### description?[​](#description "Direct link to description?") > `optional` **description?**: `string` Defined in: [packages/nadle/src/core/interfaces/task-configuration.ts:18](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/task-configuration.ts#L18) The description of the task. *** ### env?[​](#env "Direct link to env?") > `optional` **env?**: [`TaskEnv`](/docs/api/index/type-aliases/TaskEnv.md) Defined in: [packages/nadle/src/core/interfaces/task-configuration.ts:35](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/task-configuration.ts#L35) Environment variables to set when running the task. *** ### group?[​](#group "Direct link to group?") > `optional` **group?**: `string` Defined in: [packages/nadle/src/core/interfaces/task-configuration.ts:13](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/task-configuration.ts#L13) The group name to which this task belongs. *** ### inputs?[​](#inputs "Direct link to inputs?") > `optional` **inputs?**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<[`Declaration`](/docs/api/index/type-aliases/Declaration.md)> Defined in: [packages/nadle/src/core/interfaces/task-configuration.ts:47](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/task-configuration.ts#L47) Input declaration for the task. Declare any files, directories or globs that the task reads from. These are used for cache key generation. *** ### maxCacheEntries?[​](#maxcacheentries "Direct link to maxCacheEntries?") > `optional` **maxCacheEntries?**: `number` Defined in: [packages/nadle/src/core/interfaces/task-configuration.ts:70](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/task-configuration.ts#L70) Maximum number of cache entries to keep for this task. When exceeded, the oldest entries are evicted. Overrides the global `maxCacheEntries` setting. *** ### outputs?[​](#outputs "Direct link to outputs?") > `optional` **outputs?**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<[`Declaration`](/docs/api/index/type-aliases/Declaration.md)> Defined in: [packages/nadle/src/core/interfaces/task-configuration.ts:54](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/task-configuration.ts#L54) Output declaration for the task. Declare any files or directories that the task produces. These are used for caching, restoring, and cleanup. *** ### retries?[​](#retries "Direct link to retries?") > `optional` **retries?**: `number` Defined in: [packages/nadle/src/core/interfaces/task-configuration.ts:84](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/task-configuration.ts#L84) Number of additional attempts after the first failure (default `0`). The task runs up to `1 + retries` attempts and fails only if all fail. Must be a non-negative integer. *** ### timeout?[​](#timeout "Direct link to timeout?") > `optional` **timeout?**: `number` Defined in: [packages/nadle/src/core/interfaces/task-configuration.ts:77](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/task-configuration.ts#L77) Maximum time in milliseconds a single execution attempt may take. An attempt that does not settle in time fails with a timeout error (eligible for retry). Must be a positive integer. *** ### workingDir?[​](#workingdir "Direct link to workingDir?") > `optional` **workingDir?**: `string` Defined in: [packages/nadle/src/core/interfaces/task-configuration.ts:40](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/task-configuration.ts#L40) Changes the working directory for the task. ## Methods[​](#methods "Direct link to Methods") ### onlyIf()?[​](#onlyif "Direct link to onlyIf()?") > `optional` **onlyIf**(`params`): `unknown` Defined in: [packages/nadle/src/core/interfaces/task-configuration.ts:25](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/task-configuration.ts#L25) Predicate deciding whether this task's body runs. Evaluated at execution time, before cache validation, so it may observe what dependencies produced. A falsey result skips the task; dependents still run. #### Parameters[​](#parameters "Direct link to Parameters") ##### params[​](#params "Direct link to params") ###### context[​](#context "Direct link to context") [`RunnerContext`](/docs/api/index/interfaces/RunnerContext.md) ###### options[​](#options-1 "Direct link to options") `Options` #### Returns[​](#returns "Direct link to Returns") `unknown` --- # TaskExecutionErrorOptions *** [Nadle](/docs/api/index/.md) / TaskExecutionErrorOptions # Interface: TaskExecutionErrorOptions Defined in: [packages/nadle/src/core/utilities/nadle-error.ts:111](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/nadle-error.ts#L111) Options for constructing a [TaskExecutionError](/docs/api/index/classes/TaskExecutionError.md). ## Extends[​](#extends "Direct link to Extends") * `ErrorOptions` ## Properties[​](#properties "Direct link to Properties") ### cause?[​](#cause "Direct link to cause?") > `optional` **cause?**: `unknown` Defined in: node\_modules/.pnpm/typescript\@5.9.3/node\_modules/typescript/lib/lib.es2022.error.d.ts:22 #### Inherited from[​](#inherited-from "Direct link to Inherited from") `ErrorOptions.cause` *** ### task?[​](#task "Direct link to task?") > `readonly` `optional` **task?**: `string` Defined in: [packages/nadle/src/core/utilities/nadle-error.ts:113](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/nadle-error.ts#L113) The label of the task that failed. --- # TaskHookContext *** [Nadle](/docs/api/index/.md) / TaskHookContext # Interface: TaskHookContext\ Defined in: [packages/nadle/src/core/plugins/plugin.ts:49](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L49) Context passed to task-level hooks (`beforeTask`/`afterTask`). ## Type Parameters[​](#type-parameters "Direct link to Type Parameters") ### Options[​](#options "Direct link to Options") `Options` ## Properties[​](#properties "Direct link to Properties") ### error?[​](#error "Direct link to error?") > `readonly` `optional` **error?**: `unknown` Defined in: [packages/nadle/src/core/plugins/plugin.ts:53](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L53) The error — present only in `afterTask` when `result` is `"failed"`. *** ### logger[​](#logger "Direct link to logger") > `readonly` **logger**: [`Logger`](/docs/api/index/interfaces/Logger.md) Defined in: [packages/nadle/src/core/plugins/plugin.ts:51](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L51) The core logger (respects `--log-level` and the active reporter). *** ### pluginOptions[​](#pluginoptions "Direct link to pluginOptions") > `readonly` **pluginOptions**: `Options` Defined in: [packages/nadle/src/core/plugins/plugin.ts:59](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L59) The options this plugin was applied with. *** ### result?[​](#result "Direct link to result?") > `readonly` `optional` **result?**: `"up-to-date"` | `"from-cache"` | `"skipped"` | `"failed"` | `"canceled"` | `"done"` Defined in: [packages/nadle/src/core/plugins/plugin.ts:61](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L61) How the task settled — present only in `afterTask`. *** ### task[​](#task "Direct link to task") > `readonly` **task**: [`RegisteredTask`](/docs/api/index/interfaces/RegisteredTask.md) Defined in: [packages/nadle/src/core/plugins/plugin.ts:57](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L57) The task this hook fires for. *** ### threadId?[​](#threadid "Direct link to threadId?") > `readonly` `optional` **threadId?**: `number` Defined in: [packages/nadle/src/core/plugins/plugin.ts:55](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/plugins/plugin.ts#L55) The worker thread id — present in `beforeTask` (meaningless under the inline executor). --- # TasksAPI *** [Nadle](/docs/api/index/.md) / TasksAPI # Interface: TasksAPI Defined in: [packages/nadle/src/core/registration/api.ts:20](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/registration/api.ts#L20) The main API for registering tasks in Nadle. Provides overloaded `register` methods for registering tasks by name only, with an inline function body, or from a keyed spec object. ## Methods[​](#methods "Direct link to Methods") ### register()[​](#register "Direct link to register()") #### Call Signature[​](#call-signature "Direct link to Call Signature") > **register**(`name`): `void` Defined in: [packages/nadle/src/core/registration/api.ts:22](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/registration/api.ts#L22) Register a placeholder/aggregator task (name only). ##### Parameters[​](#parameters "Direct link to Parameters") ###### name[​](#name "Direct link to name") `string` ##### Returns[​](#returns "Direct link to Returns") `void` #### Call Signature[​](#call-signature-1 "Direct link to Call Signature") > **register**(`name`, `fn`): `void` Defined in: [packages/nadle/src/core/registration/api.ts:24](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/registration/api.ts#L24) Register a task with an inline function body. ##### Parameters[​](#parameters-1 "Direct link to Parameters") ###### name[​](#name-1 "Direct link to name") `string` ###### fn[​](#fn "Direct link to fn") [`TaskFn`](/docs/api/index/type-aliases/TaskFn.md) ##### Returns[​](#returns-1 "Direct link to Returns") `void` #### Call Signature[​](#call-signature-2 "Direct link to Call Signature") > **register**<`Options`>(`name`, `spec`): `void` Defined in: [packages/nadle/src/core/registration/api.ts:26](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/registration/api.ts#L26) Register a task from a lazily-resolved keyed spec (see [lazy](/docs/api/index/functions/lazy.md)). ##### Type Parameters[​](#type-parameters "Direct link to Type Parameters") ###### Options[​](#options "Direct link to Options") `Options` ##### Parameters[​](#parameters-2 "Direct link to Parameters") ###### name[​](#name-2 "Direct link to name") `string` ###### spec[​](#spec "Direct link to spec") [`LazySpec`](/docs/api/index/interfaces/LazySpec.md)<`Options`> ##### Returns[​](#returns-2 "Direct link to Returns") `void` #### Call Signature[​](#call-signature-3 "Direct link to Call Signature") > **register**<`Options`>(`name`, `spec`): `void` Defined in: [packages/nadle/src/core/registration/api.ts:41](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/registration/api.ts#L41) Register a task from a keyed spec whose body (`run`) is a [Task](/docs/api/index/interfaces/Task.md). `Options` is inferred from `run` so `options` is demanded when the task body has required option fields and optional otherwise. Placed before the config-only overload so TS prefers it whenever `run` is a Task object. ##### Type Parameters[​](#type-parameters-1 "Direct link to Type Parameters") ###### Options[​](#options-1 "Direct link to Options") `Options` ##### Parameters[​](#parameters-3 "Direct link to Parameters") ###### name[​](#name-3 "Direct link to name") `string` ###### spec[​](#spec-1 "Direct link to spec") [`TaskConfiguration`](/docs/api/index/interfaces/TaskConfiguration.md)<`Options`> & `object` & `object` *extends* `Options` ? `object` : `object` ##### Returns[​](#returns-3 "Direct link to Returns") `void` #### Call Signature[​](#call-signature-4 "Direct link to Call Signature") > **register**(`name`, `spec`): `void` Defined in: [packages/nadle/src/core/registration/api.ts:48](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/registration/api.ts#L48) Register a task from a config-only keyed spec, or one with an inline function body. ##### Parameters[​](#parameters-4 "Direct link to Parameters") ###### name[​](#name-4 "Direct link to name") `string` ###### spec[​](#spec-2 "Direct link to spec") [`TaskConfiguration`](/docs/api/index/interfaces/TaskConfiguration.md)<`unknown`> & `object` ##### Returns[​](#returns-4 "Direct link to Returns") `void` --- # UnzipTaskOptions *** [Nadle](/docs/api/index/.md) / UnzipTaskOptions # Interface: UnzipTaskOptions Defined in: [packages/nadle/src/builtin-tasks/unzip-task.ts:15](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/unzip-task.ts#L15) Options for the UnzipTask. ## Properties[​](#properties "Direct link to Properties") ### archive[​](#archive "Direct link to archive") > `readonly` **archive**: `string` Defined in: [packages/nadle/src/builtin-tasks/unzip-task.ts:19](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/unzip-task.ts#L19) Path of the zip archive to extract (relative to working directory). *** ### include?[​](#include "Direct link to include?") > `readonly` `optional` **include?**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<`string`> Defined in: [packages/nadle/src/builtin-tasks/unzip-task.ts:21](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/unzip-task.ts#L21) Glob patterns selecting which entries to extract. Defaults to all. *** ### into[​](#into "Direct link to into") > `readonly` **into**: `string` Defined in: [packages/nadle/src/builtin-tasks/unzip-task.ts:17](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/unzip-task.ts#L17) Destination directory. Created if missing. --- # ZipTaskOptions *** [Nadle](/docs/api/index/.md) / ZipTaskOptions # Interface: ZipTaskOptions Defined in: [packages/nadle/src/builtin-tasks/zip-task.ts:14](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/zip-task.ts#L14) Options for the ZipTask. ## Properties[​](#properties "Direct link to Properties") ### archive[​](#archive "Direct link to archive") > `readonly` **archive**: `string` Defined in: [packages/nadle/src/builtin-tasks/zip-task.ts:16](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/zip-task.ts#L16) Path of the zip archive to create (relative to working directory). *** ### exclude?[​](#exclude "Direct link to exclude?") > `readonly` `optional` **exclude?**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<`string`> Defined in: [packages/nadle/src/builtin-tasks/zip-task.ts:24](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/zip-task.ts#L24) Default exclude patterns for directory selections without their own. *** ### from[​](#from "Direct link to from") > `readonly` **from**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<[`FileSelection`](/docs/api/index/type-aliases/FileSelection.md)> Defined in: [packages/nadle/src/builtin-tasks/zip-task.ts:26](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/zip-task.ts#L26) Source file(s), directory(ies), or selector(s) with glob patterns. *** ### include?[​](#include "Direct link to include?") > `readonly` `optional` **include?**: [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<`string`> Defined in: [packages/nadle/src/builtin-tasks/zip-task.ts:22](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/zip-task.ts#L22) Default include patterns for directory selections without their own. *** ### prefix?[​](#prefix "Direct link to prefix?") > `readonly` `optional` **prefix?**: `string` Defined in: [packages/nadle/src/builtin-tasks/zip-task.ts:18](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/zip-task.ts#L18) Entry-name prefix, e.g. `"bundle"` stores files as `bundle/...`. *** ### strict?[​](#strict "Direct link to strict?") > `readonly` `optional` **strict?**: `boolean` Defined in: [packages/nadle/src/builtin-tasks/zip-task.ts:20](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/zip-task.ts#L20) Fail when a source path is missing or no files match. Defaults to false. --- # README *** [Nadle](/docs/api/index/.md) / Inputs # Inputs Namespace for declaring file and directory input patterns for caching. ## Functions[​](#functions "Direct link to Functions") * [dirs](/docs/api/index/namespaces/Inputs/functions/dirs.md) * [files](/docs/api/index/namespaces/Inputs/functions/files.md) --- # dirs *** [Nadle](/docs/api/index/.md) / [Inputs](/docs/api/index/namespaces/Inputs/.md) / dirs # Function: dirs() > **dirs**(...`patterns`): [`DirDeclaration`](/docs/api/index/interfaces/DirDeclaration.md) Defined in: [packages/nadle/src/core/models/cache/declarations-dsl.ts:21](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/models/cache/declarations-dsl.ts#L21) Declare directory input patterns for caching. ## Parameters[​](#parameters "Direct link to Parameters") ### patterns[​](#patterns "Direct link to patterns") ...`string`\[] Glob patterns matching directories. ## Returns[​](#returns "Direct link to Returns") [`DirDeclaration`](/docs/api/index/interfaces/DirDeclaration.md) DirDeclaration object. --- # files *** [Nadle](/docs/api/index/.md) / [Inputs](/docs/api/index/namespaces/Inputs/.md) / files # Function: files() > **files**(...`patterns`): [`FileDeclaration`](/docs/api/index/interfaces/FileDeclaration.md) Defined in: [packages/nadle/src/core/models/cache/declarations-dsl.ts:12](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/models/cache/declarations-dsl.ts#L12) Declare file input patterns for caching. ## Parameters[​](#parameters "Direct link to Parameters") ### patterns[​](#patterns "Direct link to patterns") ...`string`\[] Glob patterns matching files. ## Returns[​](#returns "Direct link to Returns") [`FileDeclaration`](/docs/api/index/interfaces/FileDeclaration.md) FileDeclaration object. --- # README *** [Nadle](/docs/api/index/.md) / MaybeArray # MaybeArray Namespace for MaybeArray utility functions. ## Functions[​](#functions "Direct link to Functions") * [toArray](/docs/api/index/namespaces/MaybeArray/functions/toArray.md) --- # toArray *** [Nadle](/docs/api/index/.md) / [MaybeArray](/docs/api/index/namespaces/MaybeArray/.md) / toArray # Function: toArray() > **toArray**<`T`>(`value`): `T`\[] Defined in: [packages/nadle/src/core/utilities/maybe-array.ts:15](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/maybe-array.ts#L15) Converts a value that may be a single item or an array into an array. ## Type Parameters[​](#type-parameters "Direct link to Type Parameters") ### T[​](#t "Direct link to T") `T` ## Parameters[​](#parameters "Direct link to Parameters") ### value[​](#value "Direct link to value") [`MaybeArray`](/docs/api/index/type-aliases/MaybeArray.md)<`T`> The value to convert. ## Returns[​](#returns "Direct link to Returns") `T`\[] The value as an array. --- # README *** [Nadle](/docs/api/index/.md) / Outputs # Outputs Utilities for declaring file and directory output patterns for caching. These are aliases of [Inputs.files](/docs/api/index/namespaces/Inputs/functions/files.md) and [Inputs.dirs](/docs/api/index/namespaces/Inputs/functions/dirs.md). ## Variables[​](#variables "Direct link to Variables") * [dirs](/docs/api/index/namespaces/Outputs/variables/dirs.md) * [files](/docs/api/index/namespaces/Outputs/variables/files.md) --- # dirs *** [Nadle](/docs/api/index/.md) / [Outputs](/docs/api/index/namespaces/Outputs/.md) / dirs # Variable: dirs > `const` **dirs**: (...`patterns`) => [`DirDeclaration`](/docs/api/index/interfaces/DirDeclaration.md) = `Inputs.dirs` Defined in: [packages/nadle/src/core/models/cache/declarations-dsl.ts:42](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/models/cache/declarations-dsl.ts#L42) Declare directory output patterns for caching. Declare directory input patterns for caching. ## Parameters[​](#parameters "Direct link to Parameters") ### patterns[​](#patterns "Direct link to patterns") ...`string`\[] Glob patterns matching directories. ## Returns[​](#returns "Direct link to Returns") [`DirDeclaration`](/docs/api/index/interfaces/DirDeclaration.md) DirDeclaration object. ## See[​](#see "Direct link to See") Inputs.dirs --- # files *** [Nadle](/docs/api/index/.md) / [Outputs](/docs/api/index/namespaces/Outputs/.md) / files # Variable: files > `const` **files**: (...`patterns`) => [`FileDeclaration`](/docs/api/index/interfaces/FileDeclaration.md) = `Inputs.files` Defined in: [packages/nadle/src/core/models/cache/declarations-dsl.ts:36](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/models/cache/declarations-dsl.ts#L36) Declare file output patterns for caching. Declare file input patterns for caching. ## Parameters[​](#parameters "Direct link to Parameters") ### patterns[​](#patterns "Direct link to patterns") ...`string`\[] Glob patterns matching files. ## Returns[​](#returns "Direct link to Returns") [`FileDeclaration`](/docs/api/index/interfaces/FileDeclaration.md) FileDeclaration object. ## See[​](#see "Direct link to See") Inputs.files --- # README *** [Nadle](/docs/api/index/.md) / TaskIdentifier # TaskIdentifier Namespace for TaskIdentifier utility functions. ## Functions[​](#functions "Direct link to Functions") * [create](/docs/api/index/namespaces/TaskIdentifier/functions/create.md) * [parser](/docs/api/index/namespaces/TaskIdentifier/functions/parser.md) --- # create *** [Nadle](/docs/api/index/.md) / [TaskIdentifier](/docs/api/index/namespaces/TaskIdentifier/.md) / create # Function: create() > **create**(`workspaceIdOrLabel`, `taskName`): `string` Defined in: [packages/nadle/src/core/models/task-identifier.ts:18](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/models/task-identifier.ts#L18) Create a TaskIdentifier from a workspace ID/label and a task name. ## Parameters[​](#parameters "Direct link to Parameters") ### workspaceIdOrLabel[​](#workspaceidorlabel "Direct link to workspaceIdOrLabel") `string` The workspace ID or label (empty string for root workspace). ### taskName[​](#taskname "Direct link to taskName") `string` The name of the task. ## Returns[​](#returns "Direct link to Returns") `string` The composed TaskIdentifier string. --- # parser *** [Nadle](/docs/api/index/.md) / [TaskIdentifier](/docs/api/index/namespaces/TaskIdentifier/.md) / parser # Function: parser() > **parser**(`taskInput`): `object` Defined in: [packages/nadle/src/core/models/task-identifier.ts:27](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/models/task-identifier.ts#L27) Parse a TaskIdentifier string into its workspace and task name components. ## Parameters[​](#parameters "Direct link to Parameters") ### taskInput[​](#taskinput "Direct link to taskInput") `string` The input string to parse. ## Returns[​](#returns "Direct link to Returns") `object` An object with taskNameInput and workspaceInput (undefined if root workspace). ### taskNameInput[​](#tasknameinput "Direct link to taskNameInput") > **taskNameInput**: `string` ### workspaceInput[​](#workspaceinput "Direct link to workspaceInput") > **workspaceInput**: `string` | `undefined` --- # AliasOption *** [Nadle](/docs/api/index/.md) / AliasOption # Type Alias: AliasOption > **AliasOption** = `Record`<`string`, `string`> | ((`workspacePath`) => `string` | `undefined`) Defined in: [packages/nadle/src/core/options/types.ts:98](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/options/types.ts#L98) Alias configuration for tasks. Can be a record of alias mappings or a function returning an alias for a workspace path. --- # Awaitable *** [Nadle](/docs/api/index/.md) / Awaitable # Type Alias: Awaitable\ > **Awaitable**<`T`> = `T` | `PromiseLike`<`T`> Defined in: [packages/nadle/src/core/utilities/types.ts:17](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/types.ts#L17) A type representing a value or a promise of a value. ## Type Parameters[​](#type-parameters "Direct link to Type Parameters") ### T[​](#t "Direct link to T") `T` --- # Callback *** [Nadle](/docs/api/index/.md) / Callback # Type Alias: Callback\ > **Callback**<`T`, `P`> = (`params`) => `T` Defined in: [packages/nadle/src/core/utilities/types.ts:6](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/types.ts#L6) Generic callback type. ## Type Parameters[​](#type-parameters "Direct link to Type Parameters") ### T[​](#t "Direct link to T") `T` = `unknown` Return type. ### P[​](#p "Direct link to P") `P` = `void` Parameter type. ## Parameters[​](#parameters "Direct link to Parameters") ### params[​](#params "Direct link to params") `P` ## Returns[​](#returns "Direct link to Returns") `T` --- # Declaration *** [Nadle](/docs/api/index/.md) / Declaration # Type Alias: Declaration > **Declaration** = [`FileDeclaration`](/docs/api/index/interfaces/FileDeclaration.md) | [`DirDeclaration`](/docs/api/index/interfaces/DirDeclaration.md) Defined in: [packages/nadle/src/core/models/cache/declaration.ts:30](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/models/cache/declaration.ts#L30) Union type for file or directory declarations. --- # FileSelection *** [Nadle](/docs/api/index/.md) / FileSelection # Type Alias: FileSelection > **FileSelection** = `string` | [`FileSelector`](/docs/api/index/interfaces/FileSelector.md) Defined in: [packages/nadle/src/builtin-tasks/file-selection.ts:31](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-selection.ts#L31) A source of files for file-operation tasks: a path to a file or directory, or a [FileSelector](/docs/api/index/interfaces/FileSelector.md) with glob patterns. --- # MaybeArray *** [Nadle](/docs/api/index/.md) / MaybeArray # Type Alias: MaybeArray\ > **MaybeArray**<`T`> = `T` | `T`\[] Defined in: [packages/nadle/src/core/utilities/maybe-array.ts:4](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/maybe-array.ts#L4) Utility type representing a value that can be a single item or an array of items. ## Type Parameters[​](#type-parameters "Direct link to Type Parameters") ### T[​](#t "Direct link to T") `T` --- # OverwritePolicy *** [Nadle](/docs/api/index/.md) / OverwritePolicy # Type Alias: OverwritePolicy > **OverwritePolicy** = `"error"` | `"replace"` | `"skip"` Defined in: [packages/nadle/src/builtin-tasks/file-operations.ts:32](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/file-operations.ts#L32) Overwrite policy applied per existing destination file. --- # Resolver *** [Nadle](/docs/api/index/.md) / Resolver # Type Alias: Resolver\ > **Resolver**<`T`> = `T` | [`Callback`](/docs/api/index/type-aliases/Callback.md)<`T`> Defined in: [packages/nadle/src/core/utilities/types.ts:12](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/types.ts#L12) A value or a callback returning a value. ## Type Parameters[​](#type-parameters "Direct link to Type Parameters") ### T[​](#t "Direct link to T") `T` = `unknown` The resolved type. --- # SpecArg *** [Nadle](/docs/api/index/.md) / SpecArg # Type Alias: SpecArg\ > **SpecArg**<`Options`> = [`TaskSpec`](/docs/api/index/type-aliases/TaskSpec.md)<`Options`> Defined in: [packages/nadle/src/core/registration/api.ts:73](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/registration/api.ts#L73) Stable public name for register's spec argument; internals of TaskSpec can be refined without breaking callers. Thunk form intentionally dropped. ## Type Parameters[​](#type-parameters "Direct link to Type Parameters") ### Options[​](#options "Direct link to Options") `Options` = `void` --- # SupportLogLevel *** [Nadle](/docs/api/index/.md) / SupportLogLevel # Type Alias: SupportLogLevel > **SupportLogLevel** = *typeof* [`SupportLogLevels`](/docs/api/index/variables/SupportLogLevels.md)\[`number`] Defined in: [packages/nadle/src/core/utilities/consola.ts:52](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/utilities/consola.ts#L52) Type representing supported log levels. --- # SupportReporter *** [Nadle](/docs/api/index/.md) / SupportReporter # Type Alias: SupportReporter > **SupportReporter** = *typeof* [`SupportReporters`](/docs/api/index/variables/SupportReporters.md)\[`number`] Defined in: [packages/nadle/src/core/reporting/reporters.ts:10](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/reporting/reporters.ts#L10) A supported output reporter name. --- # TaskEnv *** [Nadle](/docs/api/index/.md) / TaskEnv # Type Alias: TaskEnv > **TaskEnv** = `Record`<`string`, `string` | `number` | `boolean`> Defined in: [packages/nadle/src/core/interfaces/task-configuration.ts:90](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/interfaces/task-configuration.ts#L90) Environment variables for a task. --- # TaskFn *** [Nadle](/docs/api/index/.md) / TaskFn # Type Alias: TaskFn > **TaskFn** = [`Callback`](/docs/api/index/type-aliases/Callback.md)<[`Awaitable`](/docs/api/index/type-aliases/Awaitable.md)<`void`>, { `context`: [`RunnerContext`](/docs/api/index/interfaces/RunnerContext.md); }> Defined in: [packages/nadle/src/core/registration/api.ts:55](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/registration/api.ts#L55) Function signature for a basic task. --- # TaskIdentifier *** [Nadle](/docs/api/index/.md) / TaskIdentifier # Type Alias: TaskIdentifier > **TaskIdentifier** = `string` Defined in: [packages/nadle/src/core/models/task-identifier.ts:6](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/models/task-identifier.ts#L6) A unique identifier for a task, typically in the form 'workspaceId:taskName'. --- # TaskSpec *** [Nadle](/docs/api/index/.md) / TaskSpec # Type Alias: TaskSpec\ > **TaskSpec**<`Options`> = [`TaskConfiguration`](/docs/api/index/interfaces/TaskConfiguration.md)<`Options`> & \[`void`] *extends* \[`Options`] ? `object` : `object` *extends* `Options` ? `object` : `object` Defined in: [packages/nadle/src/core/registration/api.ts:63](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/core/registration/api.ts#L63) A task registration spec. `run`/`options` are required when the task body's `Options` has required fields, optional otherwise. Config fields (group, dependsOn, …) come from TaskConfiguration and sit directly on the spec. `run` and `options` are reserved keys and must never be added to TaskConfiguration. ## Type Parameters[​](#type-parameters "Direct link to Type Parameters") ### Options[​](#options "Direct link to Options") `Options` = `void` --- # CopyTask *** [Nadle](/docs/api/index/.md) / CopyTask # Variable: CopyTask > `const` **CopyTask**: [`Task`](/docs/api/index/interfaces/Task.md)<[`CopyTaskOptions`](/docs/api/index/interfaces/CopyTaskOptions.md)> Defined in: [packages/nadle/src/builtin-tasks/copy-task.ts:25](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/copy-task.ts#L25) Task for copying files and directories. Sources are files, directories, or glob selectors; the destination (`into`) is always a directory. Supports flattening, renaming, and overwrite policies. --- # DeleteTask *** [Nadle](/docs/api/index/.md) / DeleteTask # Variable: DeleteTask > `const` **DeleteTask**: [`Task`](/docs/api/index/interfaces/Task.md)<[`DeleteTaskOptions`](/docs/api/index/interfaces/DeleteTaskOptions.md)> Defined in: [packages/nadle/src/builtin-tasks/delete-task.ts:24](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/delete-task.ts#L24) Task for deleting files and directories using glob patterns. Uses rimraf for deletion and supports all rimraf async options. --- # DownloadTask *** [Nadle](/docs/api/index/.md) / DownloadTask # Variable: DownloadTask > `const` **DownloadTask**: [`Task`](/docs/api/index/interfaces/Task.md)<[`DownloadTaskOptions`](/docs/api/index/interfaces/DownloadTaskOptions.md)> Defined in: [packages/nadle/src/builtin-tasks/download-task.ts:30](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/download-task.ts#L30) Task for downloading a file over HTTP(S). When `sha256` is given and the destination file already exists with a matching digest, the download is skipped. A digest mismatch after download fails the task and removes the file. --- # ExecTask *** [Nadle](/docs/api/index/.md) / ExecTask # Variable: ExecTask > `const` **ExecTask**: [`Task`](/docs/api/index/interfaces/Task.md)<[`ExecTaskOptions`](/docs/api/index/interfaces/ExecTaskOptions.md)> Defined in: [packages/nadle/src/builtin-tasks/exec-task.ts:20](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/exec-task.ts#L20) Task for executing arbitrary shell commands. Supports both string and array arguments. --- # MoveTask *** [Nadle](/docs/api/index/.md) / MoveTask # Variable: MoveTask > `const` **MoveTask**: [`Task`](/docs/api/index/interfaces/Task.md)<[`MoveTaskOptions`](/docs/api/index/interfaces/MoveTaskOptions.md)> Defined in: [packages/nadle/src/builtin-tasks/move-task.ts:22](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/move-task.ts#L22) Task for moving files and directories. Same selection semantics as CopyTask, but sources are removed after the move. Uses a rename syscall when possible and falls back to copy-then-delete (e.g. across devices). Skipped files (overwrite policy) keep their source. --- # NodeTask *** [Nadle](/docs/api/index/.md) / NodeTask # Variable: NodeTask > `const` **NodeTask**: [`Task`](/docs/api/index/interfaces/Task.md)<[`NodeTaskOptions`](/docs/api/index/interfaces/NodeTaskOptions.md)> Defined in: [packages/nadle/src/builtin-tasks/node-task.ts:20](https://github.com/nadlejs/nadle/blob/16414f00379059fa03ba6169cc40a5b252a8f312/packages/nadle/src/builtin-tasks/node-task.ts#L20) Task for running Node.js scripts. Executes `node