TargetProvider
- Buildpack/BuildBus
- ~TargetProvider ⇐
Trackable
- new TargetProvider(bus, dep, getExternalTargets)
- instance
- .name :
string
- .own :
Object.<string, Target>
- .phase :
string
- .declare(declarations)
- .of(depName) ⇒
Object.<string, Target>
- .name :
- inner
- ~getExternalTargets ⇒
TargetProvider
- ~TargetProvider ⇐
Handles interactions between a BuildBus and an “extension” package participating in the BuildBus declare/intercept lifecycle.
The targets
object used by declare and intercept functions is a TargetProvider.
Each extension receives its own TargetProvider, which provides methods for
declaring its own targets, intercepting its own targets, and intercepting the
targets of other extensions.
Extends: Trackable
- ~TargetProvider ⇐
Trackable
- new TargetProvider(bus, dep, getExternalTargets)
- instance
- .name :
string
- .own :
Object.<string, Target>
- .phase :
string
- .declare(declarations)
- .of(depName) ⇒
Object.<string, Target>
- .name :
- inner
Creates an instance of TargetProvider.
Parameters
Name | Type | Description |
---|---|---|
bus | BuildBus | function |
BuildBus using this TargetProvider, or, when testing, a logging function. |
dep | Object |
The package which owns this TargetProvider. |
dep.name | string |
Name of the package which owns this. |
getExternalTargets | getExternalTargets |
Function this TargetProvider will use to retrieve external packages when they are requested with .of() . Should usually be a delegate to BuildBus’s getExternalTargets() |
The targets this package has declared in the declare
phase.
The phase currently being executed. Either declare
or intercept
.
Call this function in the declare phase to register targets that this package and other packages can intercept.
Parameters
Name | Type | Description |
---|---|---|
declarations | Object.<string, Target> |
An object whose keys are the names of targets to declare, and whose properties are newly constructed Targets. |
Call this function in the intercept phase to get the targets of other packages, which
can then be intercepted by calling .tap()
methods on them.
**Returns: **
Object.<string, Target>
— - An object whose keys are the names
of the requested package’s targets, and whose values are the target
objects.
Parameters
Name | Type | Description |
---|---|---|
depName | string |
The package whose targets you want to retrieve. |
Respond to a request from a TargetProvider to retrieve a different(external) TargetProvider.
This callback pattern helps to loosely couple TargetProviders so they are more testable.
**Returns: **
TargetProvider
— TargetProvider for the requested targets.
Parameters
Name | Type | Description |
---|---|---|
requestor | TargetProvider |
TargetProvider making the request. |
requested | string |
External targets being requested. |
Source Code: pwa-studio/packages/pwa-buildpack/lib/BuildBus/TargetProvider.js