@atomist/sdm-core
- Version 1.9.0
- Published
- 5.51 MB
- 28 dependencies
- Apache-2.0 license
Install
npm i @atomist/sdm-core
yarn add @atomist/sdm-core
pnpm add @atomist/sdm-core
Overview
Atomist Software Delivery Machine - Implementation
Index
Variables
Functions
- assertUniversalGenerator()
- cachePut()
- cacheRemove()
- cacheRestore()
- configure()
- configureSdm()
- configureYaml()
- constructLogPath()
- container()
- createGitTag()
- createSoftwareDeliveryMachine()
- createTagForStatus()
- executeTag()
- executeVersioner()
- exposeInfo()
- fetchBranchTips()
- FilePreferenceStoreFactory()
- getGoalVersion()
- gitHubGoalStatus()
- githubGoalStatusSupport()
- goalInvocationVersion()
- goalScheduling()
- goalState()
- goalStateSupport()
- GraphQLPreferenceStoreFactory()
- infoSupport()
- invokeCommand()
- isConfiguredInEnv()
- isGitHubAction()
- isInLocalMode()
- jobSupport()
- k8sGoalSchedulingSupport()
- notificationSupport()
- postBuildWebhook()
- postLinkImageWebhook()
- postWebhook()
- readSdmVersion()
- renderCommitMessage()
- repositoryDrivenContainer()
- sanitizeName()
- setDeployEnablement()
- tagRepo()
- TeamConfigurationPreferenceStoreFactory()
- tipOfBranch()
- toArray()
- truncateCommitMessage()
- universalGenerator()
- universalGeneratorSupport()
Classes
Interfaces
Type Aliases
- AllGoals
- AtomistBuildStatus
- AtomistBuildType
- AtomistWebhookType
- CommandMaker
- ConfigurationMaker
- ConfigurationPreProcessor
- Configurer
- ContainerScheduler
- ContainerSpecCallback
- CreateGoals
- DeliveryGoals
- EventMaker
- GoalConfigurer
- GoalCreator
- GoalData
- GoalMaker
- K8sContainerSpecCallback
- K8sGoalContainerSpec
- ProjectIdentifier
- ProjectVersioner
- PushTestMaker
- SoftwareDeliveryMachineMaker
Namespaces
Variables
variable ContainerProjectHome
const ContainerProjectHome: string;
File system location of goal project in containers.
variable DisableDeploy
const DisableDeploy: CommandHandlerRegistration<SetDeployEnablementParameters>;
variable DisplayDeployEnablement
const DisplayDeployEnablement: CommandHandlerRegistration<SetDeployEnablementParameters>;
variable EnableDeploy
const EnableDeploy: CommandHandlerRegistration<SetDeployEnablementParameters>;
variable hasRepositoryGoals
const hasRepositoryGoals: PushTest;
variable IsGitHubAction
const IsGitHubAction: PushTest;
Is this SDM running as a GitHub action?
variable IsInLocalMode
const IsInLocalMode: PushTest;
Is this SDM running in local mode?
variable K8sContainerFulfiller
const K8sContainerFulfiller: any;
Goal that fulfills requested container goals by scheduling them as Kubernetes jobs.
variable ToPublicRepo
const ToPublicRepo: PushTest;
Match only pushes on a public repo
Parameter p
{Promise}
Functions
function assertUniversalGenerator
assertUniversalGenerator: ( generatorUnderTest: GeneratorRegistration<any>, transformsUnderTest: UniversalTransform<any> | Array<UniversalTransform<any>>, initialParams: Record<string, any>, promptForParams?: Record<string, any>) => Promise<AssertGeneratorResult>;
function cachePut
cachePut: ( options: GoalCacheOptions, classifier?: string, ...classifiers: string[]) => GoalProjectListenerRegistration;
Goal listener that performs caching after a goal has been run.
Parameter options
The options for caching
Parameter classifier
Whether only a specific classifier, as defined in the options, needs to be cached. If omitted, all classifiers are cached.
Parameter classifiers
Additional classifiers that need to be created.
function cacheRemove
cacheRemove: ( options: GoalCacheOptions, classifier?: string, ...classifiers: string[]) => GoalProjectListenerRegistration;
Goal listener that cleans up the cache restores after a goal has been run.
Parameter options
The options for caching
Parameter classifier
Whether only a specific classifier, as defined in the options, needs to be removed. If omitted, all classifiers are removed.
Parameter classifiers
Additional classifiers that need to be removed.
function cacheRestore
cacheRestore: ( options: GoalCacheRestoreOptions, classifier?: string, ...classifiers: string[]) => GoalProjectListenerRegistration;
Goal listener that performs cache restores before a goal has been run.
Parameter options
The options for caching
Parameter classifier
Whether only a specific classifier, as defined in the options, needs to be restored. If omitted, all classifiers defined in the options are restored.
Parameter classifiers
Additional classifiers that need to be restored.
function configure
configure: < G extends DeliveryGoals, T extends SdmContext = PushListenerInvocation>( configurer: Configurer<G, T>, options?: ConfigureMachineOptions) => Configuration;
Function to create an SDM configuration constant to be exported from an index.ts/js.
function configureSdm
configureSdm: ( machineMaker: SoftwareDeliveryMachineMaker, options?: ConfigureOptions) => ConfigurationPostProcessor<LocalSoftwareDeliveryMachineConfiguration>;
Configure and set up a Software Delivery Machine instance with the automation-client framework for standalone or single goal based execution
Parameter machineMaker
Parameter options
Returns
{ConfigurationPostProcessor}
function configureYaml
configureYaml: <G extends DeliveryGoals>( patterns: string | string[], options?: ConfigureYamlOptions<G>) => Promise<Configuration>;
Load one or more yaml files to create goal sets
When providing more than one yaml file, files are being loaded in provided order with later files overwriting earlier ones.
function constructLogPath
constructLogPath: (context: HandlerContext, sdmGoal: SdmGoalEvent) => string[];
function container
container: <T extends ContainerRegistration>( displayName: string, registration: T) => FulfillableGoal;
Create and return a container goal with the provided container specification.
Parameter displayName
Goal display name
Parameter registration
Goal containers, volumes, cache details, etc. SDM container goal
function createGitTag
createGitTag: (opts: CreateGitTagOptions) => Promise<void>;
Create and push a Git tag with optional message.
Parameter opts
Options for creating a Git tag.
function createSoftwareDeliveryMachine
createSoftwareDeliveryMachine: ( config: MachineConfiguration<SoftwareDeliveryMachineConfiguration>, ...goalSetters: Array<GoalSetter | GoalSetter[]>) => SoftwareDeliveryMachine<SoftwareDeliveryMachineConfiguration>;
Create a **Software Delivery MachineConfiguration** with default predefined goals. Combines commands and delivery event handling using _goals_.
Goals and goal "implementations" can be defined by users. However, certain well known goals are built into the DefaultSoftwareDeliveryMachine for convenience, with their own associated listeners.
Well known goal support is based around a delivery process spanning common goals of fingerprinting, reacting to fingerprint diffs, code review, build, deployment, endpoint verification and promotion to a production environment.
The most important element of a software delivery machine is setting zero or more _push rules_ in the constructor. This is normally done using the internal DSL as follows:
const sdm = createSoftwareDeliveryMachine("MyMachine",options,whenPushSatisfies(IsMaven, HasSpringBootApplicationClass, not(MaterialChangeToJavaRepo)).itMeans("No material change to Java").setGoals(NoGoals),whenPushSatisfies(ToDefaultBranch, IsMaven, HasSpringBootApplicationClass, HasCloudFoundryManifest).itMeans("Spring Boot service to deploy").setGoals(HttpServiceGoals));Uses the builder pattern to allow fluent construction. For example:
softwareDeliveryMachine.addPushReaction(async pu => ...).addNewIssueListener(async i => ...).add...;
function createTagForStatus
createTagForStatus: ( id: RemoteRepoRef, sha: string, message: string, version: string, credentials: ProjectOperationCredentials) => Promise<void>;
Create a GitHub tag using the GitHub API.
Parameter id
GitHub remote repository reference
Parameter sha
Commit SHA to tag
Parameter message
Tag message
Parameter version
Name of tag
Parameter credentials
GitHub token object
Deprecated
use createGitTag
function executeTag
executeTag: (opts?: ExecuteTagOptions) => ExecuteGoal;
Create and return an execute goal object that creates a Git tag, suitable for use with the [[Tag]] goal.
Parameter opts
Options that determine the tag created Success if successful, Failure otherwise
function executeVersioner
executeVersioner: (projectVersioner: ProjectVersioner) => ExecuteGoal;
Version the project with a build specific version number
Parameter projectLoader
used to load projects
Parameter projectVersioner
decides on the version string
function exposeInfo
exposeInfo: () => ExtensionPack;
Deprecated
use infoSupport
function fetchBranchTips
fetchBranchTips: ( ctx: HandlerContext, repositoryId: { repo: string; owner: string; providerId: string }) => Promise<RepoBranchTips.Repo>;
function FilePreferenceStoreFactory
FilePreferenceStoreFactory: PreferenceStoreFactory;
Factory to create a new FilePreferenceStore instance
function getGoalVersion
getGoalVersion: (args: GetGoalVersionArguments) => Promise<string | undefined>;
Read and return prerelease version for the goal set associated with the provided commit.
Parameter args
Properties determining which version to retrieve Prerelease semantic version string
function gitHubGoalStatus
gitHubGoalStatus: () => ExtensionPack;
Deprecated
use githubGoalStatusSupport
function githubGoalStatusSupport
githubGoalStatusSupport: () => ExtensionPack;
Manage a GitHub status per SDM
function goalInvocationVersion
goalInvocationVersion: (gi: GoalInvocation) => Promise<string | undefined>;
Get prerelease, i.e., timestamped, version associated with the goal set for the provided goal invocation. The Version goal must be executed within the goal set prior to calling this function.
Parameter gi
Goal invocation Prerelease semantic version string
function goalScheduling
goalScheduling: () => ExtensionPack;
Deprecated
use k8sGoalSchedulingSupport
function goalState
goalState: () => ExtensionPack;
Deprecated
use goalStateSupport
function goalStateSupport
goalStateSupport: (options?: GoalStateOptions) => ExtensionPack;
Allow goal setting
function GraphQLPreferenceStoreFactory
GraphQLPreferenceStoreFactory: PreferenceStoreFactory;
Factory to create a new GraphQLPreferenceStore instance
Deprecated
use TeamConfigurationPreferenceStoreFactory
function infoSupport
infoSupport: () => ExtensionPack;
Expose information about this machine
function invokeCommand
invokeCommand: <T extends ParameterType>( command: string | CommandRegistration<T>, parameters: T, ctx: HandlerContext) => Promise<HandlerResult>;
Invoke any registered command programmatically in this SDM instance
Parameter command
name of the CommandRegistration or actual CommandRegistration instance to run
Parameter parameters
parameters to be passed to the command
Parameter ctx
HandlerContext instance
function isConfiguredInEnv
isConfiguredInEnv: (...values: string[]) => boolean;
Checks if one of the provided values is configured in ATOMIST_GOAL_SCHEDULER or - for backwards compatibility reasons - ATOMIST_GOAL_LAUNCHER.
Parameter values
function isGitHubAction
isGitHubAction: () => boolean;
Is this SDM running as a GitHub action? Invoked on client startup.
function isInLocalMode
isInLocalMode: () => boolean;
Is this SDM in local mode? Invoked on client startup.
function jobSupport
jobSupport: () => ExtensionPack;
Extension pack installing job execution support into the SDM
This extension pack is installed by default.
function k8sGoalSchedulingSupport
k8sGoalSchedulingSupport: () => ExtensionPack;
Extension pack to schedule goals as k8s jobs when marked as isolated = true.
function notificationSupport
notificationSupport: (options?: NotificationOptions) => ExtensionPack;
Extension pack to send notifications on certain conditions. Recipients and notification messages can be customized by providing options with DestinationFactory and NotificationFactory.
Parameter options
function postBuildWebhook
postBuildWebhook: ( owner: string, repo: string, branch: string, commit: string, status: AtomistBuildStatus, teamId: string, retryOptions?: RetryOptions) => Promise<boolean>;
Post to the Atomist generic build webhook URL. It creates the payload then uses postWebhook.
Parameter owner
repository owner, i.e., user or organization
Parameter repo
name of repository
Parameter branch
commit branch
Parameter commit
commit SHA
Parameter status
"start", "success", or "fail"
Parameter teamId
Atomist team ID
Parameter retryOptions
change default retry options true if successful, false on failure after retries
function postLinkImageWebhook
postLinkImageWebhook: ( owner: string, repo: string, commit: string, image: string, teamId: string, retryOptions?: RetryOptions) => Promise<boolean>;
Post to the Atomist link-image webhook URL. It creates the payload then uses postWebhook.
Parameter owner
repository owner, i.e., user or organization
Parameter repo
name of repository
Parameter commit
commit SHA
Parameter image
Docker image tag, e.g., registry.com/owner/repo:version
Parameter teamId
Atomist team ID
Parameter retryOptions
change default retry options true if successful, false on failure after retries
function postWebhook
postWebhook: ( webhook: AtomistWebhookType, payload: any, teamId: string, retryOptions?: RetryOptions) => Promise<boolean>;
Post payload to the Atomist webhook URL. It will retry several times.
Parameter webhook
type of webhook
Parameter payload
object to post
Parameter teamId
Atomist team ID
Parameter retryOptions
change default retry options true if successful, false on failure after retries
function readSdmVersion
readSdmVersion: ( owner: string, repo: string, providerId: string, sha: string, branch: string, context: HandlerContext) => Promise<string | undefined>;
See getGoalVersion.
function renderCommitMessage
renderCommitMessage: (repo: RepoInfo, commitNode: CommitForRendering) => string;
function repositoryDrivenContainer
repositoryDrivenContainer: (options?: { tests?: Record<string, PushTest>;}) => Goal;
function sanitizeName
sanitizeName: (name: string) => string;
Strip out any characters that aren't allowed a k8s label value
Parameter name
function setDeployEnablement
setDeployEnablement: ( cli: CommandListenerInvocation<SetDeployEnablementParameters>, enable: boolean) => Promise<HandlerResult | HandlerError>;
Command to set deploy enablement on the currently mapped repo
Parameter cli
Parameter enable
Returns
{Promise<HandlerResult | HandlerError>}
function tagRepo
tagRepo: (tagger: Tagger) => PushListener;
Tag the repo using the given tagger
Parameter tagger
function TeamConfigurationPreferenceStoreFactory
TeamConfigurationPreferenceStoreFactory: PreferenceStoreFactory;
Factory to create a new TeamConfigurationPreferenceStore instance
function tipOfBranch
tipOfBranch: (repo: RepoBranchTips.Repo, branchName: string) => string;
function toArray
toArray: <T>(value: T | T[]) => T[];
function truncateCommitMessage
truncateCommitMessage: (message: string, repo: any) => string;
Safely truncate the first line of a commit message to 50 characters or less. Only count printable characters, i.e., not link URLs or markup.
function universalGenerator
universalGenerator: <P extends SeedDrivenGeneratorParameters = any>( sdm: SoftwareDeliveryMachine, generator: GeneratorRegistration<any>, transforms: Array<UniversalTransform<any>>) => GeneratorRegistration<P>;
Wrap provided generator to execute additional transformsAndParameters
function universalGeneratorSupport
universalGeneratorSupport: ( options: UniversalGeneratorSupportOptions) => ExtensionPack;
Configure generators in the form GeneratorRegistrations to run additional CodeTransforms
The CodeTransforms are getting registered with an optional test which can be used to interrogate the seed project and determine if the CodeTransform should be executed against the seed. CodeTransforms can also register parameter definitions to ask for more parameters via a promptFor question flow.
Classes
class AbstractPreferenceStore
abstract class AbstractPreferenceStore implements PreferenceStore {}
Abstract PreferenceStore implementation to handle ttl and key scoping
constructor
protected constructor(ctx: HandlerContext);
method delete
delete: ( key: string, options?: { scope?: PreferenceScope | string }) => Promise<void>;
method doDelete
protected abstract doDelete: (key: string, namespace: string) => Promise<void>;
method doGet
protected abstract doGet: ( key: string, namespace: string) => Promise<Preference | undefined>;
method doList
protected abstract doList: (namespace: string) => Promise<Preference[]>;
method doPut
protected abstract doPut: (pref: Preference) => Promise<void>;
method get
get: <V>( key: string, options?: { scope?: PreferenceScope | string; defaultValue?: V }) => Promise<V | undefined>;
method list
list: <V>( scope: PreferenceScope | string) => Promise<Array<{ key: string; value: V }>>;
method put
put: <V>( key: string, value: V, options?: { scope?: PreferenceScope | string; ttl?: number }) => Promise<V>;
method scope
protected scope: (scope: PreferenceScope | string) => string;
method scopeKey
protected scopeKey: (key: string, scope?: string) => string;
class CompressingGoalCache
class CompressingGoalCache implements GoalCache {}
Cache implementation that caches files produced by goals to an archive that can then be stored, using tar and gzip to create the archives per goal invocation (and classifier if present).
constructor
public constructor(store?: GoalCacheArchiveStore);
method put
put: ( gi: GoalInvocation, project: GitProject, files: string[], classifier?: string) => Promise<void>;
method remove
remove: (gi: GoalInvocation, classifier?: string) => Promise<void>;
method retrieve
retrieve: ( gi: GoalInvocation, project: GitProject, classifier?: string) => Promise<void>;
class ConfigurationBasedBasicCredentialsResolver
@Parameters()export class ConfigurationBasedBasicCredentialsResolver implements CredentialsResolver {}
Resolves to single credentials from the configuration
constructor
constructor(paths?: { username: string; password: string });
method commandHandlerCredentials
commandHandlerCredentials: ( context: HandlerContext, id: RemoteRepoRef) => ProjectOperationCredentials;
method eventHandlerCredentials
eventHandlerCredentials: ( context: HandlerContext) => ProjectOperationCredentials;
class Container
class Container extends FulfillableGoalWithRegistrations<ContainerRegistration> {}
Goal run as a container, as seen on TV.
constructor
constructor(details?: ContainerGoalDetails, ...dependsOn: Goal[]);
property details
readonly details: ContainerGoalDetails;
method addFulfillment
addFulfillment: (fulfillment: Fulfillment) => this;
method addFulfillmentCallback
addFulfillmentCallback: (cb: GoalFulfillmentCallback) => this;
method register
register: (sdm: SoftwareDeliveryMachine) => void;
method with
with: (registration: ContainerRegistration) => this;
class DefaultRepoRefResolver
class DefaultRepoRefResolver implements RepoRefResolver {}
method providerIdFromPush
providerIdFromPush: (push: OnPushToAnyBranch.Push) => string;
method repoRefFromPush
repoRefFromPush: (push: OnPushToAnyBranch.Push) => RemoteRepoRef;
Obtain a RemoteRepoRef from the given push, correctly resolving provider.
Parameter push
{any}
method repoRefFromSdmGoal
repoRefFromSdmGoal: (sdmGoal: SdmGoalEvent) => RemoteRepoRef;
method toBitBucketServerRepoRef
toBitBucketServerRepoRef: (params: { providerUrl: string; owner: string; name: string; sha: string; branch?: string;}) => BitBucketServerRepoRef;
method toRemoteRepoRef
toRemoteRepoRef: ( repo: CoreRepoFieldsAndChannels.Fragment, opts?: { sha?: string; branch?: string }) => RemoteRepoRef;
Convert GraphQL return to our remote repo ref, instantiating the correct type based on provider
Parameter repo
Parameter opts
options - sha or branch {RemoteRepoRef}
class EphemeralLocalArtifactStore
class EphemeralLocalArtifactStore implements ArtifactStore {}
Store the artifact on local disk, relying on in memory cache. **This is purely for demo and test use. It is NOT a production quality implementation. It uses fake artifact links in GitHub statuses that may not be honored after the present automation client is shut down.
Deprecated
Artifact storage should be done using project listeners.
class FileSystemGoalCacheArchiveStore
class FileSystemGoalCacheArchiveStore implements GoalCacheArchiveStore {}
Goal archive store that stores the compressed archives into the SDM cache directory.
class GitHubCredentialsResolver
@Parameters()export class GitHubCredentialsResolver implements CredentialsResolver {}
property orgToken
readonly orgToken: string;
method commandHandlerCredentials
commandHandlerCredentials: ( context: HandlerContext, id?: RemoteRepoRef) => Promise<ProjectOperationCredentials>;
method eventHandlerCredentials
eventHandlerCredentials: ( context: HandlerContext, id?: RemoteRepoRef) => Promise<ProjectOperationCredentials>;
class KubernetesGoalScheduler
class KubernetesGoalScheduler implements GoalScheduler {}
GoalScheduler implementation that schedules SDM goals inside k8s jobs.
It reuses the podSpec of the deployed SDM to create a new jobSpec from. Subclasses may change the spec and job creation behavior by overwriting beforeCreation and/or afterCreation methods.
constructor
constructor(options?: KubernetesGoalSchedulerOptions);
property podSpec
podSpec: k8s.V1Pod;
method afterCreation
protected afterCreation: ( gi: GoalInvocation, jobSpec: k8s.V1Job) => Promise<void>;
Extension point for sub classes to modify k8s resources after the job has been created. The provided jobSpec contains the result of the job creation API call.
Parameter gi
Parameter jobSpec
method beforeCreation
protected beforeCreation: ( gi: GoalInvocation, jobSpec: k8s.V1Job) => Promise<void>;
Extension point for sub classes to modify k8s resources or provided jobSpec before the Job gets created in k8s. Note: A potentially existing job with the same name has already been deleted at this point.
Parameter gi
Parameter jobSpec
method cleanUp
protected cleanUp: () => Promise<void>;
Extension point to allow for custom clean up logic.
method initialize
initialize: (configuration: Configuration) => Promise<void>;
method schedule
schedule: (gi: GoalInvocation) => Promise<ExecuteGoalResult>;
method supports
supports: (gi: GoalInvocation) => Promise<boolean>;
class KubernetesJobDeletingGoalCompletionListenerFactory
class KubernetesJobDeletingGoalCompletionListenerFactory {}
GoalCompletionListener factory that puts completed goal jobs into a ttl cache for later deletion.
constructor
constructor(sdm: SoftwareDeliveryMachine);
method create
create: () => GoalCompletionListener;
class NoOpGoalCache
class NoOpGoalCache implements GoalCache {}
Cache implementation that doesn't cache anything and will always trigger the fallback.
class RolarProgressLog
class RolarProgressLog implements ProgressLog {}
Post log to Atomist Rolar service for it to persist
constructor
constructor( logPath: string[], configuration: Configuration, logLevel?: string, timestamper?: Iterator<Date, any, undefined>);
property name
readonly name: string;
property url
readonly url: string;
method close
close: () => Promise<any>;
method flush
flush: () => Promise<any>;
method isAvailable
isAvailable: () => Promise<boolean>;
method write
write: (msg?: string, ...args: string[]) => void;
class SetDeployEnablementParameters
@Parameters()export class SetDeployEnablementParameters {}
class Tag
class Tag extends FulfillableGoal {}
Goal that performs project tagging using Git. If no fulfillment is added to the goal, one is added during registration that tags using the goal set pre-release version as created by the [[Version]] goal.
constructor
constructor(goalDetailsOrUniqueName?: any, ...dependsOn: Goal[]);
method register
register: (sdm: SoftwareDeliveryMachine) => void;
Called by the SDM on initialization. This function calls
super.register
and adds a startup listener to the SDM.The startup listener registers a default goal fulfillment that calles [[executeTag]] with no arguments.
method with
with: (registration?: TagRegistration) => this;
Add fulfillment to this goal.
class Version
class Version extends FulfillableGoalWithRegistrations<ProjectVersionerRegistration> {}
Goal that performs project visioning: For example using Maven to increment the project version number
constructor
constructor(goalDetailsOrUniqueName?: any, ...dependsOn: Goal[]);
method with
with: (registration: ProjectVersionerRegistration) => this;
method withVersioner
withVersioner: (versioner: ProjectVersioner) => this;
Interfaces
interface AtomistBuild
interface AtomistBuild {}
property branch
branch?: string;
property build_url
build_url?: string;
property commit
commit: string;
property compare_url
compare_url?: string;
property id
id?: string;
property name
name?: string;
property number
number?: number;
property provider
provider?: string;
property pull_request_number
pull_request_number?: number;
property repository
repository: AtomistBuildRepository;
property status
status: AtomistBuildStatus;
property tag
tag?: string;
property type
type: AtomistBuildType;
interface AtomistBuildRepository
interface AtomistBuildRepository {}
property name
name: string;
property owner_name
owner_name: string;
interface AtomistLinkImage
interface AtomistLinkImage {}
interface AtomistLinkImageDocker
interface AtomistLinkImageDocker {}
property image
image: string;
interface AtomistLinkImageGit
interface AtomistLinkImageGit {}
interface ConfigureMachineOptions
interface ConfigureMachineOptions extends ConfigureOptions {}
property name
name?: string;
SDM name if you want to override the default which uses the package name.
property postProcessors
postProcessors?: ConfigurationPostProcessor | ConfigurationPostProcessor[];
These functions are called after the [[configureSdm]] post-processor.
property preProcessors
preProcessors?: ConfigurationPreProcessor | ConfigurationPreProcessor[];
These functions are called in the first postProcessor. Specifically, the first post-processor is [[configureSdm]] these functions are called in its [[SoftwareDeliveryMachineMaker]] function prior to it calling the [[createSoftwareDeliveryMachine]].
interface ConfigureOptions
interface ConfigureOptions extends ConfigurationValues {}
Options passed to the set up of the SDM.
interface ConfigureYamlOptions
interface ConfigureYamlOptions<G extends DeliveryGoals> {}
Configuration options for the yaml support
property configurers
configurers?: GoalConfigurer<G> | Array<GoalConfigurer<G>>;
property cwd
cwd?: string;
property goals
goals?: GoalCreator<G>;
property options
options?: ConfigureMachineOptions;
property tests
tests?: Record<string, PushTest>;
interface ContainerPort
interface ContainerPort {}
Ports to expose from container.
property containerPort
containerPort: number;
Number of port to expose from the container. This must be a valid port number, 0 < x < 65536.
interface ContainerRegistration
interface ContainerRegistration extends Partial<ImplementationRegistration>, GoalContainerSpec {}
Container goal artifacts and implementations information.
property callback
callback?: ContainerSpecCallback;
Callback function to dynamically modify the goal container spec when goal is executed.
property input
input?: Array<{ classifier: string }>;
Cache classifiers to retrieve from cache before starting goal execution. The values must correspond to output classifiers from previously executed container goals in the same goal set.
property output
output?: CacheEntry[];
File path globs to store in cache after goal execution. They values should be glob paths relative to the root of the project directory.
interface ContainerVolumeMount
interface ContainerVolumeMount {}
Volumes to mount in container.
interface CreateGitTagOptions
interface CreateGitTagOptions {}
[[createTag]] function arguments.
interface DockerContainerRegistration
interface DockerContainerRegistration extends ContainerRegistration {}
Additional options for Docker CLI implementation of container goals.
property containers
containers: DockerGoalContainer[];
Containers to run for this goal. The goal result is based on the exit status of the first element of the
containers
array. The other containers are considered "sidecar" containers provided functionality that the main container needs to function. The working directory of the first container is set to [[ContainerProjectHome]], which contains the project upon which the goal should operate.This extends the base containers property to be able to pass additional dockerOptions to a single container, eg. '--link=mongo:mongo'.
property dockerOptions
dockerOptions?: string[];
Additional Docker CLI command-line options. Command-line options provided here will be appended to the default set of options used when executing
docker run
. For example, if your main container must run in its default working directory, you can include"--workdir="
in thedockerOptions
array.
interface ExecuteTagOptions
interface ExecuteTagOptions {}
Options for creating a tag. If neither
name
orrelease
are truthy, a prerelease, i.e., timestamped, version tag is created. If bothname
andrelease
are truthy,name
takes precedence.
property build
build?: string;
Semantic version build metadata to append to tag, e.g., "sdm.BUILD_NUMBER".
property message
message?: string;
Message to add to tag. If not provided, the push after commit message title is used.
property name
name?: string;
Name of tag to create.
property release
release?: boolean;
If
true
, create a release semantic version tag, not a prerelease version tag.
interface GetGoalVersionArguments
interface GetGoalVersionArguments {}
Object wrapping [[getGoalVersion]] function arguments.
property branch
branch?: string;
Branch, "master" if not provided
property context
context: HandlerContext;
Context providing a graph client.
property owner
owner: string;
Repository owner, i.e., user or organization.
property providerId
providerId: string;
Git repository provider identifier.
property repo
repo: string;
Repository name.
property sha
sha: string;
Commit SHA.
interface GoalCache
interface GoalCache {}
Goal cache interface for storing and retrieving arbitrary files produced by the execution of a goal.
See Also
FileSystemGoalCache`
method put
put: ( gi: GoalInvocation, p: GitProject, files: string | string[], classifier?: string) => Promise<void>;
Add a set of files (or directories) to the cache.
Parameter gi
The goal invocation for which the cache needs to be stored.
Parameter p
The project where the files (or directories) reside.
Parameter files
The files (or directories) to be cached.
Parameter classifier
An optional classifier to identify the set of files (or directories to be cached).
method remove
remove: (gi: GoalInvocation, classifier?: string) => Promise<void>;
Remove files from the cache.
Parameter gi
The goal invocation for which the cache needs to be removed.
Parameter classifier
Optionally the classifier of the cache for the files to be removed. If not defined, all classifiers are removed.
method retrieve
retrieve: ( gi: GoalInvocation, p: GitProject, classifier?: string) => Promise<void>;
Retrieve files from the cache.
Parameter gi
The goal invocation for which the cache needs to be restored.
Parameter p
he project where the files (or directories) need to be restored in.
Parameter classifier
Optionally the classifier of the cache for the files to be restored. If not defined, all caches for the GoalInvocation are restored.
interface GoalCacheArchiveStore
interface GoalCacheArchiveStore {}
method delete
delete: (gi: GoalInvocation, classifier: string) => Promise<void>;
Remove a compressed goal archive
Parameter gi
The goal invocation thar triggered the cache removal
Parameter classifier
The classifier of the cache
method retrieve
retrieve: ( gi: GoalInvocation, classifier: string, targetArchivePath: string) => Promise<void>;
Retrieve a compressed goal archive
Parameter gi
The goal invocation thar triggered the cache retrieval
Parameter classifier
The classifier of the cache
Parameter targetArchivePath
The destination path where the archive needs to be stored.
method store
store: ( gi: GoalInvocation, classifier: string, archivePath: string) => Promise<void>;
Store a compressed goal archive
Parameter gi
The goal invocation thar triggered the caching
Parameter classifier
The classifier of the cache
Parameter archivePath
The path of the archive to be stored.
interface GoalCacheOptions
interface GoalCacheOptions extends GoalCacheCoreOptions {}
Options for putting goal cache entries.
property entries
entries: CacheEntry[];
Collection of glob patterns with classifiers to determine which files need to be cached between goal invocations, possibly excluding paths using regular expressions.
interface GoalContainer
interface GoalContainer {}
Simplified container abstraction for goals.
property args
args?: string[];
Docker command and arguments. We call this
args
rather thancommand
because we think k8s got it right.
property command
command?: string[];
Docker image entrypoint. We call this
command
rather thanentrypoint
because we think k8s got it right.
property env
env?: Array<{ name: string; value: string }>;
Environment variables to set in Docker container.
property image
image: string;
Full Docker image name, i.e.,
registry/name:tag
.
property name
name: string;
Unique name for this container within this goal.
property ports
ports?: ContainerPort[];
Ports to expose from container.
property secrets
secrets?: ContainerSecrets;
Provider secrets that should be made available to the container
property volumeMounts
volumeMounts?: ContainerVolumeMount[];
Volumes to mount in container.
interface GoalContainerVolume
interface GoalContainerVolume {}
Volumes that containers in goal can mount.
interface GoalStructure
interface GoalStructure {}
Data structure to configure goal contributions
property dependsOn
dependsOn?: string | Goal | Array<string | Goal>;
Optional pre conditions for goals; can be actual goal instances or names of goal contributions
property goals
goals: Goal | Goals | Array<Goal | Goals | Array<Goal | Goals>>;
Goal instances to schedule
The following cases are supported:
goals: [ autofix, build ]
This means autofix will run after build
goals: [ [autofix, build] ]
This will schedule autofix and build concurrently
goals: [ [autofix, build], dockerBuild ]
This will schedule autofix and build concurrently and dockerBuild once autofix and build are completed
property test
test?: PushTest | PushTest[];
Optional push tests to determine when to schedule provided goals
If an array of push tests is provided, they will get wrapped with allSatisfied/and.
interface K8sContainerRegistration
interface K8sContainerRegistration extends ContainerRegistration {}
Additional options for Kubernetes implementation of container goals.
property callback
callback?: K8sContainerSpecCallback;
Replace generic callback in [[ContainerRegistration]] with Kubernetes-specific callback.
property containers
containers: K8sGoalContainer[];
Replace generic containers in [[ContainerRegistration]] with Kubernetes containers.
Containers to run for this goal. The goal result is based on the exit status of the first element of the
containers
array. The other containers are considered "sidecar" containers provided functionality that the main container needs to function. If not set, the working directory of the first container is set to [[ContainerProjectHome]], which contains the project upon which the goal should operate. IfworkingDir
is set, it is not changed. IfworkingDir
is set to the empty string, theworkingDir
property is deleted from the main container spec, meaning the container default working directory will be used.
property initContainers
initContainers?: k8s.V1Container[];
Init containers to run for this goal. Any containers provided here will run after the one inserted by the SDM to manage the cloned repository.
property volumes
volumes?: K8sGoalContainerVolume[];
Replace generic volumes in [[ContainerRegistration]] with Kubernetes volumes available to mount in containers.
interface K8sServiceRegistration
interface K8sServiceRegistration extends ServiceRegistration<K8sServiceSpec> {}
K8s specific service registration
property service
service: ( goalEvent: SdmGoalEvent, repo: RepoContext) => Promise< | { type: K8sServiceRegistrationType.K8sService; spec: K8sServiceSpec; } | undefined>;
interface K8sServiceSpec
interface K8sServiceSpec {}
K8s specific service spec
Allows to register additional containers that are being added to the goal job. Open for future extension to support adding other k8s resource types.
property container
container?: DeepPartial<k8s.V1Container> | Array<DeepPartial<k8s.V1Container>>;
Additional containers to be added into the goal job.
property imagePullSecret
imagePullSecret?: | DeepPartial<k8s.V1LocalObjectReference> | Array<DeepPartial<k8s.V1LocalObjectReference>>;
Additional image pull secrets to be added into the goal job.
property initContainer
initContainer?: | DeepPartial<k8s.V1Container> | Array<DeepPartial<k8s.V1Container>>;
Additional init containers to be added into the goal job.
property volume
volume?: DeepPartial<k8s.V1Volume> | Array<DeepPartial<k8s.V1Volume>>;
Additional volumes to be added into the goal job.
property volumeMount
volumeMount?: | DeepPartial<k8s.V1VolumeMount> | Array<DeepPartial<k8s.V1VolumeMount>>;
Additional volumeMounts to be added into the goal job. Each will be added to all containers and initContainers.
interface LocalSoftwareDeliveryMachineConfiguration
interface LocalSoftwareDeliveryMachineConfiguration extends SoftwareDeliveryMachineConfiguration {}
Configuration that takes SoftwareDeliveryMachineOptions inside the sdm key.
property local
local: LocalSoftwareDeliveryMachineOptions & AnyOptions;
interface LocalSoftwareDeliveryMachineOptions
interface LocalSoftwareDeliveryMachineOptions {}
Configuration determining how to run in local mode
property hostname
hostname?: string;
Name of host to use for creating local url
property mergeAutofixes
mergeAutofixes?: boolean;
Whether to merge autofixes automatically
property mergePullRequests
mergePullRequests?: boolean;
Whether to merge pull request branches automatically. For instance, if you run a BuildAwareTransform (like Upgrade Spring Boot in the spring seed SDM), it'll make a branch and then run the build on it; when the build passes, the SDM will commit the change into your default branch in your working directory.
property preferLocalSeeds
preferLocalSeeds?: boolean;
Use local seeds (in whatever git state) vs cloning if possible? Default will be true
property repositoryOwnerParentDirectory
repositoryOwnerParentDirectory?: string;
Base of expanded directory tree the local client will work with: The projects the SDM can operate on. Defaulting rule handled in sdm-local. Under this we find //
interface Preference
interface Preference {}
interface ProjectVersionerRegistration
interface ProjectVersionerRegistration extends Partial<ImplementationRegistration> {}
Register a ProjectVersioner for a certain type of push
property versioner
versioner: ProjectVersioner;
interface UniversalGeneratorSupportOptions
interface UniversalGeneratorSupportOptions {}
Configuration options for the universalGeneratorSupport extension pack
property generators
generators: GeneratorRegistration<any> | Array<GeneratorRegistration<any>>;
Generators to enrich with additional CodeTransforms
property transformsAndParameters
transformsAndParameters?: | UniversalTransform<any> | Array<UniversalTransform<any>>;
Additional CodeTransforms, their parameters and optional project test
interface UniversalTransform
interface UniversalTransform<PARAMS = any> {}
Registration for CodeTransform, ParametersObject and an additional test
property parameters
parameters?: ParametersObject<PARAMS>;
Additional parameters the CodeTransforms need
property test
test?: (p: Project) => Promise<boolean>;
Return true if provided CodeTransforms should be executed against Project p
property transforms
transforms: CodeTransform<PARAMS> | Array<CodeTransform<PARAMS>>;
CodeTransforms to execute
Type Aliases
type AllGoals
type AllGoals = DeliveryGoals;
Deprecated
use DeliveryGoals
type AtomistBuildStatus
type AtomistBuildStatus = 'started' | 'failed' | 'error' | 'passed' | 'canceled';
type AtomistBuildType
type AtomistBuildType = 'cron' | 'pull_request' | 'push' | 'tag' | 'manual';
type AtomistWebhookType
type AtomistWebhookType = 'application' | 'build' | 'link-image';
type CommandMaker
type CommandMaker<PARAMS = NoParameters> = ( sdm: SoftwareDeliveryMachine) => Promise<CommandListener> | CommandListener;
type ConfigurationMaker
type ConfigurationMaker = ( cfg: Configuration) => | Promise< SoftwareDeliveryMachineConfiguration<YamlSoftwareDeliveryMachineConfiguration> > | SoftwareDeliveryMachineConfiguration<YamlSoftwareDeliveryMachineConfiguration>;
type ConfigurationPreProcessor
type ConfigurationPreProcessor = ( cfg: LocalSoftwareDeliveryMachineConfiguration) => Promise<LocalSoftwareDeliveryMachineConfiguration>;
Process the configuration before creating the SDM instance
type Configurer
type Configurer< G extends DeliveryGoals, F extends SdmContext = PushListenerInvocation> = ( sdm: SoftwareDeliveryMachine & { createGoals: CreateGoals<G> }) => Promise<void | GoalData | Array<GoalContribution<F>>>;
Configure a SoftwareDeliveryMachine instance by adding command, events etc and optionally returning GoalData, an array of GoalContributions or void when no goals should be added to this SDM.
type ContainerScheduler
type ContainerScheduler = ( goal: Container, registration: ContainerRegistration) => void;
Container goal scheduler implementation. The goal execution is handled as part of the execution of the container.
type ContainerSpecCallback
type ContainerSpecCallback = ( r: ContainerRegistration, p: GitProject, g: Container, e: SdmGoalEvent, c: RepoContext) => Promise<GoalContainerSpec>;
Function signature for callback that can modify and return the [[ContainerRegistration]] object.
type CreateGoals
type CreateGoals<G extends DeliveryGoals> = ( creator: GoalCreator<G>, configurers?: GoalConfigurer<G> | Array<GoalConfigurer<G>>) => Promise<G>;
Type to orchestrate the creation and configuration of goal instances for this SDM
type DeliveryGoals
type DeliveryGoals = Record<string, Goal | GoalWithFulfillment>;
Type to collect goal instances for this SDM
type EventMaker
type EventMaker<PARAMS = NoParameters> = ( sdm: SoftwareDeliveryMachine) => Promise<EventHandler<PARAMS>> | EventHandler<PARAMS>;
type GoalConfigurer
type GoalConfigurer<G extends DeliveryGoals> = ( sdm: SoftwareDeliveryMachine, goals: G) => Promise<void>;
Type to configure provided goals with fulfillments, listeners etc
type GoalCreator
type GoalCreator<G extends DeliveryGoals> = ( sdm: SoftwareDeliveryMachine) => Promise<G>;
Type to create goal instances for this SDM
type GoalData
type GoalData = Record<string, GoalStructure>;
Type to collect named GoalStructure instances
The record key will be used to name the goal contribution.
type GoalMaker
type GoalMaker<G extends Record<string, any> = {}> = ( sdm: SoftwareDeliveryMachine, params: G) => Promise<Goal> | Goal;
type K8sContainerSpecCallback
type K8sContainerSpecCallback = ( r: K8sContainerRegistration, p: GitProject, g: Container, e: SdmGoalEvent, ctx: RepoContext) => Promise<Omit<K8sContainerRegistration, 'callback'>>;
Function signature for callback that can modify and return the [[ContainerRegistration]] object.
type K8sGoalContainerSpec
type K8sGoalContainerSpec = Omit<K8sContainerRegistration, 'callback'>;
Deprecated
use K8sContainerSpecCallback
type ProjectIdentifier
type ProjectIdentifier = (p: Project) => Promise<ProjectIdentification | undefined>;
Return identification of this project or undefined if it can't be identified
type ProjectVersioner
type ProjectVersioner = ( status: SdmGoalEvent, p: GitProject, log: ProgressLog) => Promise<string>;
type PushTestMaker
type PushTestMaker<G extends Record<string, any> = any> = ( params: G) => | ((pli: StatefulPushListenerInvocation) => Promise<boolean>) | Promise<PushTest> | PushTest;
type SoftwareDeliveryMachineMaker
type SoftwareDeliveryMachineMaker = ( configuration: LocalSoftwareDeliveryMachineConfiguration) => SoftwareDeliveryMachine | Promise<SoftwareDeliveryMachine>;
Type that can create a fully configured SDM
Namespaces
namespace CoreRepoFieldsAndChannels
namespace CoreRepoFieldsAndChannels {}
type Channels
type Channels = NonNullable< NonNullable<CoreRepoFieldsAndChannelsFragment['channels']>[0]>;
type Fragment
type Fragment = CoreRepoFieldsAndChannelsFragment;
type Org
type Org = NonNullable<CoreRepoFieldsAndChannelsFragment['org']>;
type Provider
type Provider = NonNullable< NonNullable<CoreRepoFieldsAndChannelsFragment['org']>['provider']>;
type Team
type Team = NonNullable< NonNullable< NonNullable<CoreRepoFieldsAndChannelsFragment['channels']>[0] >['team']>;
namespace github
module 'src/lib/util/github/ghub.ts' {}
GitHub status
function authHeaders
authHeaders: (token: string) => AxiosRequestConfig;
function createRelease
createRelease: ( creds: string | ProjectOperationCredentials, rr: GitHubRepoRef, release: Release) => AxiosPromise;
function createStatus
createStatus: ( creds: string | ProjectOperationCredentials, rr: GitHubRepoRef, inputStatus: Status) => AxiosPromise;
Create a GitHub status
Parameter creds
Parameter rr
Parameter inputStatus
{AxiosPromise}
function createTag
createTag: ( creds: string | ProjectOperationCredentials, rr: GitHubRepoRef, tag: Tag) => AxiosPromise;
function createTagReference
createTagReference: ( creds: string | ProjectOperationCredentials, rr: GitHubRepoRef, tag: Tag) => AxiosPromise;
function deleteRepository
deleteRepository: ( creds: string | ProjectOperationCredentials, rr: GitHubRepoRef) => AxiosPromise;
function isPublicRepo
isPublicRepo: ( creds: string | ProjectOperationCredentials, rr: GitHubRepoRef) => Promise<boolean>;
function listCommitsBetween
listCommitsBetween: ( creds: string | ProjectOperationCredentials, rr: GitHubRepoRef, startSha: string, endSha: string) => Promise<GitHubCommitsBetween>;
List commits between these shas
Parameter creds
Parameter rr
Parameter startSha
Parameter endSha
{Promise}
function listTopics
listTopics: ( creds: string | ProjectOperationCredentials, rr: RemoteRepoRef) => Promise<string[]>;
function tipOfDefaultBranch
tipOfDefaultBranch: ( creds: string | ProjectOperationCredentials, rr: GitHubRepoRef) => Promise<string>;
function updateIssue
updateIssue: ( creds: string | ProjectOperationCredentials, rr: RemoteRepoRef, issueNumber: number, issue: Issue) => AxiosPromise;
interface GitHubCommitsBetween
interface GitHubCommitsBetween {}
property commits
commits: Array<{ sha: string; author: { login: string }; commit: { message: string };}>;
interface Release
interface Release {}
property body
body?: string;
property draft
draft?: boolean;
property name
name?: string;
property prerelease
prerelease?: boolean;
property tag_name
tag_name: string;
property target_commitish
target_commitish?: string;
interface Status
interface Status {}
GitHub status
property context
context?: string;
property description
description?: string;
property state
state: State;
property target_url
target_url?: string;
interface Tag
interface Tag {}
type State
type State = 'error' | 'failure' | 'pending' | 'success';
namespace OnChannelLink
namespace OnChannelLink {}
type Channel
type Channel = NonNullable< NonNullable<NonNullable<OnChannelLinkSubscription['ChannelLink']>[0]>['channel']>;
type ChannelLink
type ChannelLink = NonNullable< NonNullable<OnChannelLinkSubscription['ChannelLink']>[0]>;
type Repo
type Repo = CoreRepoFieldsAndChannelsFragment;
type Subscription
type Subscription = OnChannelLinkSubscription;
type Team
type Team = NonNullable< NonNullable< NonNullable< NonNullable<OnChannelLinkSubscription['ChannelLink']>[0] >['channel'] >['team']>;
type Variables
type Variables = OnChannelLinkSubscriptionVariables;
namespace OnRepoOnboarded
namespace OnRepoOnboarded {}
type Repo
type Repo = CoreRepoFieldsAndChannelsFragment;
type RepoOnboarded
type RepoOnboarded = NonNullable< NonNullable<OnRepoOnboardedSubscription['RepoOnboarded']>[0]>;
type Subscription
type Subscription = OnRepoOnboardedSubscription;
type Variables
type Variables = OnRepoOnboardedSubscriptionVariables;
namespace PersonByChatId
namespace PersonByChatId {}
namespace SdmVersionForCommit
namespace SdmVersionForCommit {}
type Query
type Query = SdmVersionForCommitQuery;
type Repo
type Repo = NonNullable< NonNullable<NonNullable<SdmVersionForCommitQuery['SdmVersion']>[0]>['repo']>;
type SdmVersion
type SdmVersion = NonNullable< NonNullable<SdmVersionForCommitQuery['SdmVersion']>[0]>;
type Variables
type Variables = SdmVersionForCommitQueryVariables;
Package Files (56)
- src/index.ts
- src/lib/goal/cache/CompressingGoalCache.ts
- src/lib/goal/cache/FileSystemGoalCacheArchiveStore.ts
- src/lib/goal/cache/NoOpGoalCache.ts
- src/lib/goal/cache/goalCaching.ts
- src/lib/goal/common/Tag.ts
- src/lib/goal/common/Version.ts
- src/lib/goal/container/container.ts
- src/lib/goal/container/docker.ts
- src/lib/goal/container/k8s.ts
- src/lib/goal/container/repositoryDrivenContainer.ts
- src/lib/handlers/commands/DisplayDeployEnablement.ts
- src/lib/handlers/commands/SetDeployEnablement.ts
- src/lib/handlers/common/ConfigurationBasedBasicCredentialsResolver.ts
- src/lib/handlers/common/DefaultRepoRefResolver.ts
- src/lib/handlers/common/GitHubCredentialsResolver.ts
- src/lib/internal/artifact/local/EphemeralLocalArtifactStore.ts
- src/lib/internal/delivery/build/executeTag.ts
- src/lib/internal/delivery/build/local/projectIdentifier.ts
- src/lib/internal/delivery/build/local/projectVersioner.ts
- src/lib/internal/machine/LocalSoftwareDeliveryMachineOptions.ts
- src/lib/internal/machine/configureSdm.ts
- src/lib/internal/machine/modes.ts
- src/lib/internal/preferences/AbstractPreferenceStore.ts
- src/lib/internal/preferences/FilePreferenceStore.ts
- src/lib/internal/preferences/GraphQLPreferenceStore.ts
- src/lib/internal/preferences/TeamConfigurationPreferenceStore.ts
- src/lib/log/DashboardDisplayProgressLog.ts
- src/lib/log/RolarProgressLog.ts
- src/lib/machine/configure.ts
- src/lib/machine/machineFactory.ts
- src/lib/machine/yaml/configureYaml.ts
- src/lib/machine/yaml/mapGoals.ts
- src/lib/machine/yaml/mapPushTests.ts
- src/lib/mapping/pushtest/toPublicRepo.ts
- src/lib/pack/github-goal-status/github.ts
- src/lib/pack/goal-state/goalState.ts
- src/lib/pack/info/exposeInfo.ts
- src/lib/pack/job/invokeCommand.ts
- src/lib/pack/job/job.ts
- src/lib/pack/k8s/KubernetesGoalScheduler.ts
- src/lib/pack/k8s/KubernetesJobDeletingGoalCompletionListener.ts
- src/lib/pack/k8s/goalScheduling.ts
- src/lib/pack/k8s/service.ts
- src/lib/pack/notification/notification.ts
- src/lib/pack/universal-generator/generator.ts
- src/lib/pack/universal-generator/generatorSupport.ts
- src/lib/pack/universal-generator/test/assertGenerator.ts
- src/lib/typings/types.ts
- src/lib/util/github/ghub.ts
- src/lib/util/github/tagRepo.ts
- src/lib/util/graph/queryCommits.ts
- src/lib/util/lifecycleHelpers.ts
- src/lib/util/misc/array.ts
- src/lib/util/slack/diffRendering.ts
- src/lib/util/webhook/ImageLink.ts
Dependencies (28)
- @kubernetes/client-node
- @octokit/rest
- @types/flat
- @types/glob
- @types/proper-lockfile
- @types/request
- @types/retry
- app-root-path
- axios
- camelcase-keys
- chalk
- change-case
- fast-glob
- fast-json-stable-stringify
- flat
- fs-extra
- glob
- js-yaml
- json-stringify-safe
- lodash
- moment
- moment-duration-format
- promise-retry
- proper-lockfile
- request
- stack-trace
- tmp-promise
- ts-essentials
Dev Dependencies (23)
Peer Dependencies (5)
Badge
To add a badge like this oneto your package's README, use the codes available below.
You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/@atomist/sdm-core
.
- Markdown[![jsDocs.io](https://img.shields.io/badge/jsDocs.io-reference-blue)](https://www.jsdocs.io/package/@atomist/sdm-core)
- HTML<a href="https://www.jsdocs.io/package/@atomist/sdm-core"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>
- Updated .
Package analyzed in 12630 ms. - Missing or incorrect documentation? Open an issue for this package.