Open
Description
🐞 Bug report
Command (mark with an x
)
- new
- build
- serve
- test
- e2e
- generate
- add
- update
- lint
- extract-i18n
- run
- config
- help
- version
- doc
Is this a regression?
Not that I know of
Description
If a builder is executed via architect.scheduleBuilder
, that builder is passed a context that doesn't match the declared interface in typescript. The same happens when using context.scheduleBuilder
if no target is passed via the scheduleOptions
.
console.log(context.target);
// logs {project: undefined, target: undefined, configuration: undefined}
// but type is {project: string, target: string, configuration?: string} | undefined
🔬 Minimal Reproduction
Run yarn bazel test //packages/angular_devkit/architect:architect_test
with the following patch:
diff --git a/packages/angular_devkit/architect/src/index_spec.ts b/packages/angular_devkit/architect/src/index_spec.ts
index 57d76c5a6..bbd59b3fc 100644
--- a/packages/angular_devkit/architect/src/index_spec.ts
+++ b/packages/angular_devkit/architect/src/index_spec.ts
@@ -36,10 +36,12 @@ describe('architect', () => {
options = {};
called = 0;
- testArchitectHost.addBuilder('package:test', createBuilder(async o => {
+ testArchitectHost.addBuilder('package:test', createBuilder(async (o, ctx) => {
called++;
options = o;
+ expect(ctx.target != null && ctx.target.target == null).toBe(false);
+
return new Promise<BuilderOutput>(resolve => {
setTimeout(() => resolve({ success: true }), 10);
});
🔥 Exception or Error
Failures:
1) architect runs builders parallel
Message:
Expected true to be false.
Stack:
Error: Expected true to be false.
at
at packages/angular_devkit/architect/src/index_spec.ts:43:63
at onInput (packages/angular_devkit/architect/src/create-builder.ts:201:20)
at SafeSubscriber._next (packages/angular_devkit/architect/src/create-builder.ts:87:17)
🌍 Your Environment
Master branch on this repo
Anything else relevant?