Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions docs/assemblerjs/api/assembler.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,55 @@ const context = Assembler.context;

See [AssemblerContext API](./context.md) for available methods.

### enableDebug(options?)

Enable debug logging for the build process and dependency resolution.

```typescript
Assembler.enableDebug(options?);
```

**Parameters:**
- `options` (optional) - Debug configuration object

**Example:**

```typescript
// Enable with default options
Assembler.enableDebug();

// Enable with custom configuration
Assembler.enableDebug({
logTimings: true,
useColors: true,
logPhases: {
registration: true,
hooks: true,
},
});
```

See [Debug Logging](../features/debug-logging.md) for complete documentation and examples.

### disableDebug()

Disable debug logging and restore zero-overhead NoOp logger.

```typescript
Assembler.disableDebug();
```

**Example:**

```typescript
// Enable for debugging
Assembler.enableDebug();
const app = Assembler.build(MyApp);

// Disable when done
Assembler.disableDebug();
```

## Build Process

When you call `Assembler.build()`, the following happens:
Expand Down
50 changes: 50 additions & 0 deletions docs/assemblerjs/api/types.md
Original file line number Diff line number Diff line change
Expand Up @@ -606,8 +606,58 @@ import {

// Event types
import { EventManager } from 'assemblerjs';

// Debug types
import { AssemblerDebugOptions } from 'assemblerjs';
```

## Debug Types

### AssemblerDebugOptions

Configuration interface for the debug logging system.

```typescript
interface AssemblerDebugOptions {
enabled?: boolean;
logger?: (level: 'info' | 'warn' | 'error', message: string, data?: any) => void;
logPhases?: {
registration?: boolean;
resolution?: boolean;
construction?: boolean;
hooks?: boolean;
cache?: boolean;
};
logTimings?: boolean;
logDependencyTree?: boolean;
useColors?: boolean;
}
```

**Properties:**

- `enabled` - Enable/disable debug logging (default: `true`)
- `logger` - Custom logging function (default: uses `console.log`)
- `logPhases` - Filter which build phases to log (default: all `true`)
- `logTimings` - Include execution time for operations (default: `false`)
- `logDependencyTree` - Log dependency tree visualization (default: `true`)
- `useColors` - Use ANSI color codes in output (default: `true`)

**Usage:**

```typescript
Assembler.enableDebug({
logTimings: true,
useColors: false,
logPhases: {
registration: true,
hooks: true,
},
});
```

See [Debug Logging](../features/debug-logging.md) for complete documentation.

## Next Steps

- [Assembler API](./assembler.md) - Container methods
Expand Down
Loading
Loading