Angular Build Architect builder for ng-packagr library packaging (deprecated)
89
{
"context": "This criteria evaluates how well the engineer uses the @angular-devkit/architect package to implement a custom builder, with focus on correctly using BuilderContext, BuilderOutput types, and supporting the flexible return type patterns that the Architect system accepts.",
"type": "weighted_checklist",
"checklist": [
{
"name": "BuilderOutput type usage",
"description": "The builder function returns a value that conforms to the BuilderOutput type with the required 'success' property (boolean) and optional 'error' property (string).",
"max_score": 20
},
{
"name": "BuilderContext parameter",
"description": "The builder function accepts BuilderContext as a parameter and uses it appropriately (e.g., accessing workspaceRoot, using logger, or other context properties).",
"max_score": 15
},
{
"name": "Return type flexibility",
"description": "The builder returns a type compatible with the Architect system's flexible patterns - either Observable<BuilderOutput>, Promise<BuilderOutput>, AsyncIterable<BuilderOutput>, or plain BuilderOutput.",
"max_score": 25
},
{
"name": "Error handling pattern",
"description": "Errors are handled gracefully and returned as BuilderOutput with success: false and descriptive error messages, rather than throwing exceptions.",
"max_score": 20
},
{
"name": "Options interface definition",
"description": "Defines a typed options interface (CustomBuilderOptions) with the required configPath property.",
"max_score": 10
},
{
"name": "Async pattern implementation",
"description": "Properly implements async operations (file reading, JSON parsing) using appropriate async patterns (async/await, Observables, or Promises).",
"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