@@ -277,6 +277,30 @@ function _getTargetOptionsFactory(host: ArchitectHost) {
277277 ) ;
278278}
279279
280+ function _getProjectMetadataFactory ( host : ArchitectHost ) {
281+ return experimental . jobs . createJobHandler < Target , json . JsonValue , json . JsonObject > (
282+ target => {
283+ return host . getProjectMetadata ( target ) . then ( options => {
284+ if ( options === null ) {
285+ throw new Error ( `Invalid target: ${ JSON . stringify ( target ) } .` ) ;
286+ }
287+
288+ return options ;
289+ } ) ;
290+ } ,
291+ {
292+ name : '..getProjectMetadata' ,
293+ output : { type : 'object' } ,
294+ argument : {
295+ oneOf : [
296+ { type : 'string' } ,
297+ inputSchema . properties . target ,
298+ ] ,
299+ } ,
300+ } ,
301+ ) ;
302+ }
303+
280304function _getBuilderNameForTargetFactory ( host : ArchitectHost ) {
281305 return experimental . jobs . createJobHandler < Target , never , string > ( async target => {
282306 const builderName = await host . getBuilderNameForTarget ( target ) ;
@@ -342,6 +366,7 @@ export class Architect {
342366 privateArchitectJobRegistry . register ( _getTargetOptionsFactory ( _host ) ) ;
343367 privateArchitectJobRegistry . register ( _getBuilderNameForTargetFactory ( _host ) ) ;
344368 privateArchitectJobRegistry . register ( _validateOptionsFactory ( _host , registry ) ) ;
369+ privateArchitectJobRegistry . register ( _getProjectMetadataFactory ( _host ) ) ;
345370
346371 const jobRegistry = new experimental . jobs . FallbackRegistry ( [
347372 new ArchitectTargetJobRegistry ( _host , registry , this . _jobCache , this . _infoCache ) ,
0 commit comments