Skip to content

Commit c85fda6

Browse files
authored
Merge pull request #6 from benoitlahoz/debug-mode-1
Added a debug mode with information for end user
2 parents ce7a08f + 86d44cb commit c85fda6

File tree

73 files changed

+4578
-729
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+4578
-729
lines changed

docs/assemblerjs/api/assembler.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,55 @@ const context = Assembler.context;
5454
5555
See [AssemblerContext API](./context.md) for available methods.
5656
57+
### enableDebug(options?)
58+
59+
Enable debug logging for the build process and dependency resolution.
60+
61+
```typescript
62+
Assembler.enableDebug(options?);
63+
```
64+
65+
**Parameters:**
66+
- `options` (optional) - Debug configuration object
67+
68+
**Example:**
69+
70+
```typescript
71+
// Enable with default options
72+
Assembler.enableDebug();
73+
74+
// Enable with custom configuration
75+
Assembler.enableDebug({
76+
logTimings: true,
77+
useColors: true,
78+
logPhases: {
79+
registration: true,
80+
hooks: true,
81+
},
82+
});
83+
```
84+
85+
See [Debug Logging](../features/debug-logging.md) for complete documentation and examples.
86+
87+
### disableDebug()
88+
89+
Disable debug logging and restore zero-overhead NoOp logger.
90+
91+
```typescript
92+
Assembler.disableDebug();
93+
```
94+
95+
**Example:**
96+
97+
```typescript
98+
// Enable for debugging
99+
Assembler.enableDebug();
100+
const app = Assembler.build(MyApp);
101+
102+
// Disable when done
103+
Assembler.disableDebug();
104+
```
105+
57106
## Build Process
58107
59108
When you call `Assembler.build()`, the following happens:

docs/assemblerjs/api/types.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -606,8 +606,58 @@ import {
606606

607607
// Event types
608608
import { EventManager } from 'assemblerjs';
609+
610+
// Debug types
611+
import { AssemblerDebugOptions } from 'assemblerjs';
609612
```
610613

614+
## Debug Types
615+
616+
### AssemblerDebugOptions
617+
618+
Configuration interface for the debug logging system.
619+
620+
```typescript
621+
interface AssemblerDebugOptions {
622+
enabled?: boolean;
623+
logger?: (level: 'info' | 'warn' | 'error', message: string, data?: any) => void;
624+
logPhases?: {
625+
registration?: boolean;
626+
resolution?: boolean;
627+
construction?: boolean;
628+
hooks?: boolean;
629+
cache?: boolean;
630+
};
631+
logTimings?: boolean;
632+
logDependencyTree?: boolean;
633+
useColors?: boolean;
634+
}
635+
```
636+
637+
**Properties:**
638+
639+
- `enabled` - Enable/disable debug logging (default: `true`)
640+
- `logger` - Custom logging function (default: uses `console.log`)
641+
- `logPhases` - Filter which build phases to log (default: all `true`)
642+
- `logTimings` - Include execution time for operations (default: `false`)
643+
- `logDependencyTree` - Log dependency tree visualization (default: `true`)
644+
- `useColors` - Use ANSI color codes in output (default: `true`)
645+
646+
**Usage:**
647+
648+
```typescript
649+
Assembler.enableDebug({
650+
logTimings: true,
651+
useColors: false,
652+
logPhases: {
653+
registration: true,
654+
hooks: true,
655+
},
656+
});
657+
```
658+
659+
See [Debug Logging](../features/debug-logging.md) for complete documentation.
660+
611661
## Next Steps
612662

613663
- [Assembler API](./assembler.md) - Container methods

0 commit comments

Comments
 (0)