Angular Build Architect builder for ng-packagr library packaging (deprecated)
89
{
"context": "This criteria evaluates how well the engineer uses the @angular-devkit/build-ng-packagr package's watch mode functionality to implement automatic file change detection and incremental rebuilds for an Angular library builder.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Watch option usage",
"description": "Uses the 'watch' boolean option from NgPackagrBuilderOptions to control whether watch mode is enabled or disabled. The option should be properly read from the configuration and used to determine builder behavior.",
"max_score": 15
},
{
"name": "Observable return type",
"description": "Returns Observable<BuilderOutput> from the execute function, which is required by the Angular Architect builder pattern and enables streaming multiple build results over time in watch mode.",
"max_score": 15
},
{
"name": "Conditional execution pattern",
"description": "Implements conditional logic that calls packager.watch() when watch mode is enabled or packager.build() for one-shot builds. This is typically done using RxJS switchMap or similar operators to switch between the two execution modes based on the watch option.",
"max_score": 25
},
{
"name": "Project configuration",
"description": "Properly passes the 'project' path option to ng-packagr by calling packager.forProject() with a workspace-relative path. This tells ng-packagr which library configuration to use.",
"max_score": 15
},
{
"name": "Poll option support",
"description": "Supports the 'poll' option for file watching in environments where native file watchers don't work (Docker, WSL, network drives). This option should be passed to ng-packagr through NgPackagrOptions when provided.",
"max_score": 10
},
{
"name": "TypeScript config override",
"description": "Supports the optional 'tsConfig' option by calling packager.withTsConfig() with a workspace-relative path when provided. This allows overriding TypeScript compilation settings.",
"max_score": 10
},
{
"name": "BuilderOutput format",
"description": "Returns properly formatted BuilderOutput objects with a 'success' boolean property and optional 'error' string property. Success results should return { success: true } and failures should return { success: false, error: string }.",
"max_score": 10
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-angular-devkit--build-ng-packagrdocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10