@codedrifters/configulator 0.0.194 → 0.0.196
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.d.mts +166 -84
- package/lib/index.d.ts +166 -84
- package/lib/index.js +238 -55
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +241 -55
- package/lib/index.mjs.map +1 -1
- package/package.json +1 -1
package/lib/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, Project as Project$1, typescript } from 'projen';
|
|
1
|
+
import { Component, Project as Project$1, typescript, awscdk } from 'projen';
|
|
2
2
|
import { Project, Component as Component$1, Task } from 'projen/lib';
|
|
3
3
|
import { NodeProject } from 'projen/lib/javascript';
|
|
4
4
|
import { AwsCdkTypeScriptApp } from 'projen/lib/awscdk';
|
|
@@ -6,7 +6,7 @@ import { AwsStageType, DeploymentTargetRoleType, AwsEnvironmentType, AWS_STAGE_T
|
|
|
6
6
|
import * as spec from '@jsii/spec';
|
|
7
7
|
import { TypeScriptProject as TypeScriptProject$1, TypeScriptAppProject, TypeScriptProjectOptions as TypeScriptProjectOptions$1 } from 'projen/lib/typescript';
|
|
8
8
|
import { ValueOf } from 'type-fest';
|
|
9
|
-
import {
|
|
9
|
+
import { BuildWorkflow, BuildWorkflowOptions } from 'projen/lib/build';
|
|
10
10
|
import { JobStep } from 'projen/lib/github/workflows-model';
|
|
11
11
|
|
|
12
12
|
/**
|
|
@@ -2381,6 +2381,169 @@ declare class AstroProject extends TypeScriptProject {
|
|
|
2381
2381
|
constructor(userOptions: AstroProjectOptions);
|
|
2382
2382
|
}
|
|
2383
2383
|
|
|
2384
|
+
declare const PROD_DEPLOY_NAME = "prod-deploy";
|
|
2385
|
+
interface DeployWorkflowOptions {
|
|
2386
|
+
/**
|
|
2387
|
+
* What type of deploy is this workflow for?
|
|
2388
|
+
*
|
|
2389
|
+
* @default AWS_STAGE_TYPE.DEV
|
|
2390
|
+
*/
|
|
2391
|
+
readonly awsStageType?: ValueOf<typeof AWS_STAGE_TYPE>;
|
|
2392
|
+
/**
|
|
2393
|
+
* Optionally feed a list of targets to deploy to.
|
|
2394
|
+
*
|
|
2395
|
+
* @default discovers all targets using stageType
|
|
2396
|
+
*/
|
|
2397
|
+
readonly awsDeploymentTargets?: Array<AwsDeploymentTarget>;
|
|
2398
|
+
/**
|
|
2399
|
+
* Existing workflow, useful if we're tacking deployments onto an existing
|
|
2400
|
+
* build workflow
|
|
2401
|
+
*/
|
|
2402
|
+
readonly buildWorkflow?: BuildWorkflow;
|
|
2403
|
+
/**
|
|
2404
|
+
* Options for the build workflow, if no build workflow is provided.
|
|
2405
|
+
*/
|
|
2406
|
+
readonly buildWorkflowOptions?: Partial<BuildWorkflowOptions>;
|
|
2407
|
+
/**
|
|
2408
|
+
* Projects that should complete deployment before this one starts.
|
|
2409
|
+
*/
|
|
2410
|
+
readonly deployAfterTargets?: Array<AwsDeploymentTarget>;
|
|
2411
|
+
}
|
|
2412
|
+
declare class AwsDeployWorkflow extends Component {
|
|
2413
|
+
project: AwsCdkTypeScriptApp;
|
|
2414
|
+
options: DeployWorkflowOptions;
|
|
2415
|
+
static of(project: AwsCdkTypeScriptApp, buildWorkflow: BuildWorkflow): AwsDeployWorkflow | undefined;
|
|
2416
|
+
/**
|
|
2417
|
+
* The root project for this deploy workflow. Must be a monorepo project.
|
|
2418
|
+
*/
|
|
2419
|
+
private rootProject;
|
|
2420
|
+
/**
|
|
2421
|
+
* What type of deploy is this workflow for?
|
|
2422
|
+
*/
|
|
2423
|
+
awsStageType: AwsStageType;
|
|
2424
|
+
/**
|
|
2425
|
+
* AWS environment type, such as primary or secondary.
|
|
2426
|
+
*
|
|
2427
|
+
* @deprecated Use deployment target role terminology elsewhere. This property is maintained for backward compatibility.
|
|
2428
|
+
* @default 'primary' (this is the only type supported currently)
|
|
2429
|
+
*/
|
|
2430
|
+
awsEnvironmentType: DeploymentTargetRoleType;
|
|
2431
|
+
/**
|
|
2432
|
+
* The list of targets to deploy to.
|
|
2433
|
+
*/
|
|
2434
|
+
readonly awsDeploymentTargets: Array<AwsDeploymentTarget>;
|
|
2435
|
+
/**
|
|
2436
|
+
* Hold the deploy workflow so we can add to it in preSynth
|
|
2437
|
+
*/
|
|
2438
|
+
buildWorkflow: BuildWorkflow;
|
|
2439
|
+
/**
|
|
2440
|
+
* Was this workflow created externally?
|
|
2441
|
+
*/
|
|
2442
|
+
externalWorkflow: boolean;
|
|
2443
|
+
/**
|
|
2444
|
+
* Projects that should complete deployment before this one starts.
|
|
2445
|
+
*/
|
|
2446
|
+
deployAfterTargets: Array<AwsDeploymentTarget>;
|
|
2447
|
+
constructor(project: AwsCdkTypeScriptApp, options?: DeployWorkflowOptions);
|
|
2448
|
+
setupNode: () => Array<JobStep>;
|
|
2449
|
+
setupPnpm: () => Array<JobStep>;
|
|
2450
|
+
/**
|
|
2451
|
+
* Builds a GitHub Actions condition string that checks if the current branch
|
|
2452
|
+
* matches any of the provided branch patterns.
|
|
2453
|
+
*
|
|
2454
|
+
* Handles both exact matches (e.g., "main") and glob patterns (e.g., "feature/*").
|
|
2455
|
+
* Also allows workflow_dispatch (manual runs) to proceed.
|
|
2456
|
+
*
|
|
2457
|
+
* @param branches Array of GitBranch objects with branch patterns
|
|
2458
|
+
* @returns Condition string or empty string if no branches provided
|
|
2459
|
+
*/
|
|
2460
|
+
private buildBranchFilterCondition;
|
|
2461
|
+
private deploySteps;
|
|
2462
|
+
preSynthesize(): void;
|
|
2463
|
+
}
|
|
2464
|
+
|
|
2465
|
+
/**
|
|
2466
|
+
* Configuration options for AwsCdkProject.
|
|
2467
|
+
*
|
|
2468
|
+
* AwsCdkProject must be parented to a `MonorepoProject` — the constructor
|
|
2469
|
+
* throws otherwise. Configulator assumes a single-package repo is still a
|
|
2470
|
+
* monorepo (with one workspace) so all conventions hold uniformly.
|
|
2471
|
+
*/
|
|
2472
|
+
interface AwsCdkProjectOptions extends Omit<awscdk.AwsCdkTypeScriptAppOptions, "defaultReleaseBranch"> {
|
|
2473
|
+
/**
|
|
2474
|
+
* AWS deployment targets (dev / stage / prod accounts and regions). Each
|
|
2475
|
+
* entry creates an `AwsDeploymentTarget` component on the project.
|
|
2476
|
+
*/
|
|
2477
|
+
readonly deploymentTargets?: Array<AwsDeploymentTargetOptions>;
|
|
2478
|
+
/**
|
|
2479
|
+
* AWS deploy workflows. If omitted, one workflow is auto-generated per
|
|
2480
|
+
* unique `awsStageType` present in `deploymentTargets`. Each auto-generated
|
|
2481
|
+
* workflow renders to its own `.github/workflows/*.yml` file.
|
|
2482
|
+
*
|
|
2483
|
+
* Pass an empty array (`[]`) to opt out of auto-derivation entirely without
|
|
2484
|
+
* supplying any workflows of your own — the array is truthy and short-circuits
|
|
2485
|
+
* the default. Useful when you intend to attach deploy jobs to an existing
|
|
2486
|
+
* build workflow yourself.
|
|
2487
|
+
*/
|
|
2488
|
+
readonly deployWorkflows?: Array<DeployWorkflowOptions>;
|
|
2489
|
+
/**
|
|
2490
|
+
* Optional shared `BuildWorkflow` to attach all auto-derived deploy jobs to.
|
|
2491
|
+
* When set, every workflow generated from `deploymentTargets` re-uses this
|
|
2492
|
+
* build workflow instead of creating its own. Default behavior (omit) is one
|
|
2493
|
+
* separate yml file per stage type.
|
|
2494
|
+
*
|
|
2495
|
+
* Distinct from `buildWorkflow: boolean` inherited from
|
|
2496
|
+
* `AwsCdkTypeScriptAppOptions`, which toggles whether the projen-managed
|
|
2497
|
+
* build workflow is generated at all.
|
|
2498
|
+
*/
|
|
2499
|
+
readonly sharedBuildWorkflow?: BuildWorkflow;
|
|
2500
|
+
/**
|
|
2501
|
+
* Test runner to use.
|
|
2502
|
+
*
|
|
2503
|
+
* @default TestRunner.JEST
|
|
2504
|
+
*/
|
|
2505
|
+
readonly testRunner?: TestRunner;
|
|
2506
|
+
/**
|
|
2507
|
+
* Options for Vitest (only used when testRunner is 'vitest').
|
|
2508
|
+
*/
|
|
2509
|
+
readonly vitestOptions?: VitestOptions;
|
|
2510
|
+
/**
|
|
2511
|
+
* Enable the reset task that deletes all build artifacts.
|
|
2512
|
+
*
|
|
2513
|
+
* @default true
|
|
2514
|
+
*/
|
|
2515
|
+
readonly resetTask?: boolean;
|
|
2516
|
+
/**
|
|
2517
|
+
* Options for the reset task.
|
|
2518
|
+
*/
|
|
2519
|
+
readonly resetTaskOptions?: ResetTaskOptions;
|
|
2520
|
+
/**
|
|
2521
|
+
* AI agent configuration (Cursor, Claude Code rules). Opt-in per project;
|
|
2522
|
+
* not inherited from the parent `MonorepoProject`.
|
|
2523
|
+
*
|
|
2524
|
+
* @default false
|
|
2525
|
+
*/
|
|
2526
|
+
readonly agentConfig?: AgentConfigOptions | boolean;
|
|
2527
|
+
}
|
|
2528
|
+
/**
|
|
2529
|
+
* AWS CDK TypeScript application with CodeDrifters conventions baked in.
|
|
2530
|
+
*
|
|
2531
|
+
* Always creates an `AwsDeploymentConfig` component (even with zero deployment
|
|
2532
|
+
* targets) so the `synth` task is consistently rewritten to emit into
|
|
2533
|
+
* `dist/<project-path>/cdk.out`. This is intentional and not opt-out: it
|
|
2534
|
+
* funnels every package's CDK output into one root-level `dist/` tree so
|
|
2535
|
+
* GitHub Actions workflows can pass artifacts between jobs uniformly.
|
|
2536
|
+
*/
|
|
2537
|
+
declare class AwsCdkProject extends awscdk.AwsCdkTypeScriptApp {
|
|
2538
|
+
constructor(userOptions: AwsCdkProjectOptions);
|
|
2539
|
+
/**
|
|
2540
|
+
* Add an AWS deployment target to this project after construction. The
|
|
2541
|
+
* target is registered on the existing `AwsDeploymentConfig` and immediately
|
|
2542
|
+
* available for `AwsDeployWorkflow` consumption.
|
|
2543
|
+
*/
|
|
2544
|
+
addDeploymentTarget(options: AwsDeploymentTargetOptions): AwsDeploymentTarget;
|
|
2545
|
+
}
|
|
2546
|
+
|
|
2384
2547
|
/**
|
|
2385
2548
|
* Each of the below options corresponds to a task property found here:
|
|
2386
2549
|
* * https://turborepo.com/docs/reference/configuration#defining-tasks
|
|
@@ -3042,87 +3205,6 @@ declare class VSCodeConfig extends Component {
|
|
|
3042
3205
|
constructor(project: TypeScriptAppProject);
|
|
3043
3206
|
}
|
|
3044
3207
|
|
|
3045
|
-
declare const PROD_DEPLOY_NAME = "prod-deploy";
|
|
3046
|
-
interface DeployWorkflowOptions {
|
|
3047
|
-
/**
|
|
3048
|
-
* What type of deploy is this workflow for?
|
|
3049
|
-
*
|
|
3050
|
-
* @default AWS_STAGE_TYPE.DEV
|
|
3051
|
-
*/
|
|
3052
|
-
readonly awsStageType?: ValueOf<typeof AWS_STAGE_TYPE>;
|
|
3053
|
-
/**
|
|
3054
|
-
* Optionally feed a list of targets to deploy to.
|
|
3055
|
-
*
|
|
3056
|
-
* @default discovers all targets using stageType
|
|
3057
|
-
*/
|
|
3058
|
-
readonly awsDeploymentTargets?: Array<AwsDeploymentTarget>;
|
|
3059
|
-
/**
|
|
3060
|
-
* Existing workflow, useful if we're tacking deployments onto an existing
|
|
3061
|
-
* build workflow
|
|
3062
|
-
*/
|
|
3063
|
-
readonly buildWorkflow?: BuildWorkflow;
|
|
3064
|
-
/**
|
|
3065
|
-
* Options for the build workflow, if no build workflow is provided.
|
|
3066
|
-
*/
|
|
3067
|
-
readonly buildWorkflowOptions?: Partial<BuildWorkflowOptions>;
|
|
3068
|
-
/**
|
|
3069
|
-
* Projects that should complete deployment before this one starts.
|
|
3070
|
-
*/
|
|
3071
|
-
readonly deployAfterTargets?: Array<AwsDeploymentTarget>;
|
|
3072
|
-
}
|
|
3073
|
-
declare class AwsDeployWorkflow extends Component {
|
|
3074
|
-
project: AwsCdkTypeScriptApp;
|
|
3075
|
-
options: DeployWorkflowOptions;
|
|
3076
|
-
static of(project: AwsCdkTypeScriptApp, buildWorkflow: BuildWorkflow): AwsDeployWorkflow | undefined;
|
|
3077
|
-
/**
|
|
3078
|
-
* The root project for this deploy workflow. Must be a monorepo project.
|
|
3079
|
-
*/
|
|
3080
|
-
private rootProject;
|
|
3081
|
-
/**
|
|
3082
|
-
* What type of deploy is this workflow for?
|
|
3083
|
-
*/
|
|
3084
|
-
awsStageType: AwsStageType;
|
|
3085
|
-
/**
|
|
3086
|
-
* AWS environment type, such as primary or secondary.
|
|
3087
|
-
*
|
|
3088
|
-
* @deprecated Use deployment target role terminology elsewhere. This property is maintained for backward compatibility.
|
|
3089
|
-
* @default 'primary' (this is the only type supported currently)
|
|
3090
|
-
*/
|
|
3091
|
-
awsEnvironmentType: DeploymentTargetRoleType;
|
|
3092
|
-
/**
|
|
3093
|
-
* The list of targets to deploy to.
|
|
3094
|
-
*/
|
|
3095
|
-
readonly awsDeploymentTargets: Array<AwsDeploymentTarget>;
|
|
3096
|
-
/**
|
|
3097
|
-
* Hold the deploy workflow so we can add to it in preSynth
|
|
3098
|
-
*/
|
|
3099
|
-
buildWorkflow: BuildWorkflow;
|
|
3100
|
-
/**
|
|
3101
|
-
* Was this workflow created externally?
|
|
3102
|
-
*/
|
|
3103
|
-
externalWorkflow: boolean;
|
|
3104
|
-
/**
|
|
3105
|
-
* Projects that should complete deployment before this one starts.
|
|
3106
|
-
*/
|
|
3107
|
-
deployAfterTargets: Array<AwsDeploymentTarget>;
|
|
3108
|
-
constructor(project: AwsCdkTypeScriptApp, options?: DeployWorkflowOptions);
|
|
3109
|
-
setupNode: () => Array<JobStep>;
|
|
3110
|
-
setupPnpm: () => Array<JobStep>;
|
|
3111
|
-
/**
|
|
3112
|
-
* Builds a GitHub Actions condition string that checks if the current branch
|
|
3113
|
-
* matches any of the provided branch patterns.
|
|
3114
|
-
*
|
|
3115
|
-
* Handles both exact matches (e.g., "main") and glob patterns (e.g., "feature/*").
|
|
3116
|
-
* Also allows workflow_dispatch (manual runs) to proceed.
|
|
3117
|
-
*
|
|
3118
|
-
* @param branches Array of GitBranch objects with branch patterns
|
|
3119
|
-
* @returns Condition string or empty string if no branches provided
|
|
3120
|
-
*/
|
|
3121
|
-
private buildBranchFilterCondition;
|
|
3122
|
-
private deploySteps;
|
|
3123
|
-
preSynthesize(): void;
|
|
3124
|
-
}
|
|
3125
|
-
|
|
3126
3208
|
/** Name of the gate job appended to build workflows (ADR 0004). */
|
|
3127
3209
|
declare const COMPLETE_JOB_ID = "complete";
|
|
3128
3210
|
/**
|
|
@@ -3136,4 +3218,4 @@ declare const COMPLETE_JOB_ID = "complete";
|
|
|
3136
3218
|
*/
|
|
3137
3219
|
declare function addBuildCompleteJob(buildWorkflow: BuildWorkflow): void;
|
|
3138
3220
|
|
|
3139
|
-
export { AGENT_MODEL, AGENT_PLATFORM, AGENT_RULE_SCOPE, AgentConfig, type AgentConfigOptions, type AgentModel, type AgentPlatform, type AgentPlatformOverrides, type AgentProcedure, type AgentRule, type AgentRuleBundle, type AgentRuleScope, type AgentSkill, type AgentSubAgent, type AgentSubAgentPlatformOverrides, type ApproveMergeUpgradeOptions, AstroConfig, type AstroConfigOptions, type AstroIntegrationSpec, AstroOutput, AstroProject, type AstroProjectOptions, type AwsAccount, AwsDeployWorkflow, AwsDeploymentConfig, AwsDeploymentTarget, type AwsDeploymentTargetOptions, type AwsLocalDeploymentConfig, type AwsOrganization, type AwsRegion, BUILT_IN_BUNDLES, CLAUDE_RULE_TARGET, COMPLETE_JOB_ID, type CiDeploymentConfig, type ClassTypeOptions, type ClaudeAutoModeConfig, type ClaudeHookAction, type ClaudeHookEntry, type ClaudeHooksConfig, type ClaudePermissionsConfig, type ClaudeRuleTarget, type ClaudeSandboxConfig, type ClaudeSettingsConfig, type CopilotHandoff, type CursorHookAction, type CursorHooksConfig, type CursorSettingsConfig, DEFAULT_PRIORITY_LABELS, DEFAULT_STATUS_LABELS, DEFAULT_TYPE_LABELS, type DeployWorkflowOptions, type DeploymentMetadata, type GitBranch, type GitHubBoardMetadata, type GitHubProjectMetadata, type GitHubSprintMetadata, type IDependencyResolver, JsiiFaker, type LabelDefinition, MCP_TRANSPORT, MERGE_METHODS, MIMIMUM_RELEASE_AGE, MINIMUM_RELEASE_AGE, type McpServerConfig, type McpTransport, type MergeMethod, MonorepoProject, type MonorepoProjectOptions, type OrganizationMetadata, PROD_DEPLOY_NAME, PnpmWorkspace, type PnpmWorkspaceOptions, ProjectMetadata, type ProjectMetadataOptions, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, type RemoteCacheOptions, type RepositoryMetadata, ResetTask, type ResetTaskOptions, type ResolvedProjectMetadata, type SlackMetadata, type SyncLabelsOptions, type TemplateResolveResult, TestRunner, TurboRepo, type TurboRepoOptions, TurboRepoTask, type TurboRepoTaskOptions, TypeScriptConfig, TypeScriptProject, type TypeScriptProjectOptions, VERSION, VERSION_KEYS_SKIP, VERSION_NPM_PACKAGES, VSCodeConfig, type VersionKey, Vitest, type VitestConfigOptions, type VitestOptions, addApproveMergeUpgradeWorkflow, addBuildCompleteJob, addSyncLabelsWorkflow, awsCdkBundle, baseBundle, getLatestEligibleVersion, githubWorkflowBundle, jestBundle, meetingAnalysisBundle, orchestratorBundle, pnpmBundle, projenBundle, resolveModelAlias, resolveTemplateVariables, slackBundle, turborepoBundle, typescriptBundle, vitestBundle };
|
|
3221
|
+
export { AGENT_MODEL, AGENT_PLATFORM, AGENT_RULE_SCOPE, AgentConfig, type AgentConfigOptions, type AgentModel, type AgentPlatform, type AgentPlatformOverrides, type AgentProcedure, type AgentRule, type AgentRuleBundle, type AgentRuleScope, type AgentSkill, type AgentSubAgent, type AgentSubAgentPlatformOverrides, type ApproveMergeUpgradeOptions, AstroConfig, type AstroConfigOptions, type AstroIntegrationSpec, AstroOutput, AstroProject, type AstroProjectOptions, type AwsAccount, AwsCdkProject, type AwsCdkProjectOptions, AwsDeployWorkflow, AwsDeploymentConfig, AwsDeploymentTarget, type AwsDeploymentTargetOptions, type AwsLocalDeploymentConfig, type AwsOrganization, type AwsRegion, BUILT_IN_BUNDLES, CLAUDE_RULE_TARGET, COMPLETE_JOB_ID, type CiDeploymentConfig, type ClassTypeOptions, type ClaudeAutoModeConfig, type ClaudeHookAction, type ClaudeHookEntry, type ClaudeHooksConfig, type ClaudePermissionsConfig, type ClaudeRuleTarget, type ClaudeSandboxConfig, type ClaudeSettingsConfig, type CopilotHandoff, type CursorHookAction, type CursorHooksConfig, type CursorSettingsConfig, DEFAULT_PRIORITY_LABELS, DEFAULT_STATUS_LABELS, DEFAULT_TYPE_LABELS, type DeployWorkflowOptions, type DeploymentMetadata, type GitBranch, type GitHubBoardMetadata, type GitHubProjectMetadata, type GitHubSprintMetadata, type IDependencyResolver, JsiiFaker, type LabelDefinition, MCP_TRANSPORT, MERGE_METHODS, MIMIMUM_RELEASE_AGE, MINIMUM_RELEASE_AGE, type McpServerConfig, type McpTransport, type MergeMethod, MonorepoProject, type MonorepoProjectOptions, type OrganizationMetadata, PROD_DEPLOY_NAME, PnpmWorkspace, type PnpmWorkspaceOptions, ProjectMetadata, type ProjectMetadataOptions, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, type RemoteCacheOptions, type RepositoryMetadata, ResetTask, type ResetTaskOptions, type ResolvedProjectMetadata, type SlackMetadata, type SyncLabelsOptions, type TemplateResolveResult, TestRunner, TurboRepo, type TurboRepoOptions, TurboRepoTask, type TurboRepoTaskOptions, TypeScriptConfig, TypeScriptProject, type TypeScriptProjectOptions, VERSION, VERSION_KEYS_SKIP, VERSION_NPM_PACKAGES, VSCodeConfig, type VersionKey, Vitest, type VitestConfigOptions, type VitestOptions, addApproveMergeUpgradeWorkflow, addBuildCompleteJob, addSyncLabelsWorkflow, awsCdkBundle, baseBundle, getLatestEligibleVersion, githubWorkflowBundle, jestBundle, meetingAnalysisBundle, orchestratorBundle, pnpmBundle, projenBundle, resolveModelAlias, resolveTemplateVariables, slackBundle, turborepoBundle, typescriptBundle, vitestBundle };
|
package/lib/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, Project, typescript } from 'projen';
|
|
1
|
+
import { Component, Project, typescript, awscdk } from 'projen';
|
|
2
2
|
import { Project as Project$1, Task, Component as Component$1 } from 'projen/lib';
|
|
3
3
|
import { NodeProject } from 'projen/lib/javascript';
|
|
4
4
|
import { AwsCdkTypeScriptApp } from 'projen/lib/awscdk';
|
|
@@ -2430,6 +2430,169 @@ declare class AstroProject extends TypeScriptProject {
|
|
|
2430
2430
|
constructor(userOptions: AstroProjectOptions);
|
|
2431
2431
|
}
|
|
2432
2432
|
|
|
2433
|
+
declare const PROD_DEPLOY_NAME = "prod-deploy";
|
|
2434
|
+
interface DeployWorkflowOptions {
|
|
2435
|
+
/**
|
|
2436
|
+
* What type of deploy is this workflow for?
|
|
2437
|
+
*
|
|
2438
|
+
* @default AWS_STAGE_TYPE.DEV
|
|
2439
|
+
*/
|
|
2440
|
+
readonly awsStageType?: ValueOf<typeof AWS_STAGE_TYPE>;
|
|
2441
|
+
/**
|
|
2442
|
+
* Optionally feed a list of targets to deploy to.
|
|
2443
|
+
*
|
|
2444
|
+
* @default discovers all targets using stageType
|
|
2445
|
+
*/
|
|
2446
|
+
readonly awsDeploymentTargets?: Array<AwsDeploymentTarget>;
|
|
2447
|
+
/**
|
|
2448
|
+
* Existing workflow, useful if we're tacking deployments onto an existing
|
|
2449
|
+
* build workflow
|
|
2450
|
+
*/
|
|
2451
|
+
readonly buildWorkflow?: BuildWorkflow;
|
|
2452
|
+
/**
|
|
2453
|
+
* Options for the build workflow, if no build workflow is provided.
|
|
2454
|
+
*/
|
|
2455
|
+
readonly buildWorkflowOptions?: Partial<BuildWorkflowOptions>;
|
|
2456
|
+
/**
|
|
2457
|
+
* Projects that should complete deployment before this one starts.
|
|
2458
|
+
*/
|
|
2459
|
+
readonly deployAfterTargets?: Array<AwsDeploymentTarget>;
|
|
2460
|
+
}
|
|
2461
|
+
declare class AwsDeployWorkflow extends Component {
|
|
2462
|
+
project: AwsCdkTypeScriptApp;
|
|
2463
|
+
options: DeployWorkflowOptions;
|
|
2464
|
+
static of(project: AwsCdkTypeScriptApp, buildWorkflow: BuildWorkflow): AwsDeployWorkflow | undefined;
|
|
2465
|
+
/**
|
|
2466
|
+
* The root project for this deploy workflow. Must be a monorepo project.
|
|
2467
|
+
*/
|
|
2468
|
+
private rootProject;
|
|
2469
|
+
/**
|
|
2470
|
+
* What type of deploy is this workflow for?
|
|
2471
|
+
*/
|
|
2472
|
+
awsStageType: AwsStageType;
|
|
2473
|
+
/**
|
|
2474
|
+
* AWS environment type, such as primary or secondary.
|
|
2475
|
+
*
|
|
2476
|
+
* @deprecated Use deployment target role terminology elsewhere. This property is maintained for backward compatibility.
|
|
2477
|
+
* @default 'primary' (this is the only type supported currently)
|
|
2478
|
+
*/
|
|
2479
|
+
awsEnvironmentType: DeploymentTargetRoleType;
|
|
2480
|
+
/**
|
|
2481
|
+
* The list of targets to deploy to.
|
|
2482
|
+
*/
|
|
2483
|
+
readonly awsDeploymentTargets: Array<AwsDeploymentTarget>;
|
|
2484
|
+
/**
|
|
2485
|
+
* Hold the deploy workflow so we can add to it in preSynth
|
|
2486
|
+
*/
|
|
2487
|
+
buildWorkflow: BuildWorkflow;
|
|
2488
|
+
/**
|
|
2489
|
+
* Was this workflow created externally?
|
|
2490
|
+
*/
|
|
2491
|
+
externalWorkflow: boolean;
|
|
2492
|
+
/**
|
|
2493
|
+
* Projects that should complete deployment before this one starts.
|
|
2494
|
+
*/
|
|
2495
|
+
deployAfterTargets: Array<AwsDeploymentTarget>;
|
|
2496
|
+
constructor(project: AwsCdkTypeScriptApp, options?: DeployWorkflowOptions);
|
|
2497
|
+
setupNode: () => Array<JobStep>;
|
|
2498
|
+
setupPnpm: () => Array<JobStep>;
|
|
2499
|
+
/**
|
|
2500
|
+
* Builds a GitHub Actions condition string that checks if the current branch
|
|
2501
|
+
* matches any of the provided branch patterns.
|
|
2502
|
+
*
|
|
2503
|
+
* Handles both exact matches (e.g., "main") and glob patterns (e.g., "feature/*").
|
|
2504
|
+
* Also allows workflow_dispatch (manual runs) to proceed.
|
|
2505
|
+
*
|
|
2506
|
+
* @param branches Array of GitBranch objects with branch patterns
|
|
2507
|
+
* @returns Condition string or empty string if no branches provided
|
|
2508
|
+
*/
|
|
2509
|
+
private buildBranchFilterCondition;
|
|
2510
|
+
private deploySteps;
|
|
2511
|
+
preSynthesize(): void;
|
|
2512
|
+
}
|
|
2513
|
+
|
|
2514
|
+
/**
|
|
2515
|
+
* Configuration options for AwsCdkProject.
|
|
2516
|
+
*
|
|
2517
|
+
* AwsCdkProject must be parented to a `MonorepoProject` — the constructor
|
|
2518
|
+
* throws otherwise. Configulator assumes a single-package repo is still a
|
|
2519
|
+
* monorepo (with one workspace) so all conventions hold uniformly.
|
|
2520
|
+
*/
|
|
2521
|
+
interface AwsCdkProjectOptions extends Omit<awscdk.AwsCdkTypeScriptAppOptions, "defaultReleaseBranch"> {
|
|
2522
|
+
/**
|
|
2523
|
+
* AWS deployment targets (dev / stage / prod accounts and regions). Each
|
|
2524
|
+
* entry creates an `AwsDeploymentTarget` component on the project.
|
|
2525
|
+
*/
|
|
2526
|
+
readonly deploymentTargets?: Array<AwsDeploymentTargetOptions>;
|
|
2527
|
+
/**
|
|
2528
|
+
* AWS deploy workflows. If omitted, one workflow is auto-generated per
|
|
2529
|
+
* unique `awsStageType` present in `deploymentTargets`. Each auto-generated
|
|
2530
|
+
* workflow renders to its own `.github/workflows/*.yml` file.
|
|
2531
|
+
*
|
|
2532
|
+
* Pass an empty array (`[]`) to opt out of auto-derivation entirely without
|
|
2533
|
+
* supplying any workflows of your own — the array is truthy and short-circuits
|
|
2534
|
+
* the default. Useful when you intend to attach deploy jobs to an existing
|
|
2535
|
+
* build workflow yourself.
|
|
2536
|
+
*/
|
|
2537
|
+
readonly deployWorkflows?: Array<DeployWorkflowOptions>;
|
|
2538
|
+
/**
|
|
2539
|
+
* Optional shared `BuildWorkflow` to attach all auto-derived deploy jobs to.
|
|
2540
|
+
* When set, every workflow generated from `deploymentTargets` re-uses this
|
|
2541
|
+
* build workflow instead of creating its own. Default behavior (omit) is one
|
|
2542
|
+
* separate yml file per stage type.
|
|
2543
|
+
*
|
|
2544
|
+
* Distinct from `buildWorkflow: boolean` inherited from
|
|
2545
|
+
* `AwsCdkTypeScriptAppOptions`, which toggles whether the projen-managed
|
|
2546
|
+
* build workflow is generated at all.
|
|
2547
|
+
*/
|
|
2548
|
+
readonly sharedBuildWorkflow?: BuildWorkflow;
|
|
2549
|
+
/**
|
|
2550
|
+
* Test runner to use.
|
|
2551
|
+
*
|
|
2552
|
+
* @default TestRunner.JEST
|
|
2553
|
+
*/
|
|
2554
|
+
readonly testRunner?: TestRunner;
|
|
2555
|
+
/**
|
|
2556
|
+
* Options for Vitest (only used when testRunner is 'vitest').
|
|
2557
|
+
*/
|
|
2558
|
+
readonly vitestOptions?: VitestOptions;
|
|
2559
|
+
/**
|
|
2560
|
+
* Enable the reset task that deletes all build artifacts.
|
|
2561
|
+
*
|
|
2562
|
+
* @default true
|
|
2563
|
+
*/
|
|
2564
|
+
readonly resetTask?: boolean;
|
|
2565
|
+
/**
|
|
2566
|
+
* Options for the reset task.
|
|
2567
|
+
*/
|
|
2568
|
+
readonly resetTaskOptions?: ResetTaskOptions;
|
|
2569
|
+
/**
|
|
2570
|
+
* AI agent configuration (Cursor, Claude Code rules). Opt-in per project;
|
|
2571
|
+
* not inherited from the parent `MonorepoProject`.
|
|
2572
|
+
*
|
|
2573
|
+
* @default false
|
|
2574
|
+
*/
|
|
2575
|
+
readonly agentConfig?: AgentConfigOptions | boolean;
|
|
2576
|
+
}
|
|
2577
|
+
/**
|
|
2578
|
+
* AWS CDK TypeScript application with CodeDrifters conventions baked in.
|
|
2579
|
+
*
|
|
2580
|
+
* Always creates an `AwsDeploymentConfig` component (even with zero deployment
|
|
2581
|
+
* targets) so the `synth` task is consistently rewritten to emit into
|
|
2582
|
+
* `dist/<project-path>/cdk.out`. This is intentional and not opt-out: it
|
|
2583
|
+
* funnels every package's CDK output into one root-level `dist/` tree so
|
|
2584
|
+
* GitHub Actions workflows can pass artifacts between jobs uniformly.
|
|
2585
|
+
*/
|
|
2586
|
+
declare class AwsCdkProject extends awscdk.AwsCdkTypeScriptApp {
|
|
2587
|
+
constructor(userOptions: AwsCdkProjectOptions);
|
|
2588
|
+
/**
|
|
2589
|
+
* Add an AWS deployment target to this project after construction. The
|
|
2590
|
+
* target is registered on the existing `AwsDeploymentConfig` and immediately
|
|
2591
|
+
* available for `AwsDeployWorkflow` consumption.
|
|
2592
|
+
*/
|
|
2593
|
+
addDeploymentTarget(options: AwsDeploymentTargetOptions): AwsDeploymentTarget;
|
|
2594
|
+
}
|
|
2595
|
+
|
|
2433
2596
|
/**
|
|
2434
2597
|
* Each of the below options corresponds to a task property found here:
|
|
2435
2598
|
* * https://turborepo.com/docs/reference/configuration#defining-tasks
|
|
@@ -3091,87 +3254,6 @@ declare class VSCodeConfig extends Component {
|
|
|
3091
3254
|
constructor(project: TypeScriptAppProject);
|
|
3092
3255
|
}
|
|
3093
3256
|
|
|
3094
|
-
declare const PROD_DEPLOY_NAME = "prod-deploy";
|
|
3095
|
-
interface DeployWorkflowOptions {
|
|
3096
|
-
/**
|
|
3097
|
-
* What type of deploy is this workflow for?
|
|
3098
|
-
*
|
|
3099
|
-
* @default AWS_STAGE_TYPE.DEV
|
|
3100
|
-
*/
|
|
3101
|
-
readonly awsStageType?: ValueOf<typeof AWS_STAGE_TYPE>;
|
|
3102
|
-
/**
|
|
3103
|
-
* Optionally feed a list of targets to deploy to.
|
|
3104
|
-
*
|
|
3105
|
-
* @default discovers all targets using stageType
|
|
3106
|
-
*/
|
|
3107
|
-
readonly awsDeploymentTargets?: Array<AwsDeploymentTarget>;
|
|
3108
|
-
/**
|
|
3109
|
-
* Existing workflow, useful if we're tacking deployments onto an existing
|
|
3110
|
-
* build workflow
|
|
3111
|
-
*/
|
|
3112
|
-
readonly buildWorkflow?: BuildWorkflow;
|
|
3113
|
-
/**
|
|
3114
|
-
* Options for the build workflow, if no build workflow is provided.
|
|
3115
|
-
*/
|
|
3116
|
-
readonly buildWorkflowOptions?: Partial<BuildWorkflowOptions>;
|
|
3117
|
-
/**
|
|
3118
|
-
* Projects that should complete deployment before this one starts.
|
|
3119
|
-
*/
|
|
3120
|
-
readonly deployAfterTargets?: Array<AwsDeploymentTarget>;
|
|
3121
|
-
}
|
|
3122
|
-
declare class AwsDeployWorkflow extends Component {
|
|
3123
|
-
project: AwsCdkTypeScriptApp;
|
|
3124
|
-
options: DeployWorkflowOptions;
|
|
3125
|
-
static of(project: AwsCdkTypeScriptApp, buildWorkflow: BuildWorkflow): AwsDeployWorkflow | undefined;
|
|
3126
|
-
/**
|
|
3127
|
-
* The root project for this deploy workflow. Must be a monorepo project.
|
|
3128
|
-
*/
|
|
3129
|
-
private rootProject;
|
|
3130
|
-
/**
|
|
3131
|
-
* What type of deploy is this workflow for?
|
|
3132
|
-
*/
|
|
3133
|
-
awsStageType: AwsStageType;
|
|
3134
|
-
/**
|
|
3135
|
-
* AWS environment type, such as primary or secondary.
|
|
3136
|
-
*
|
|
3137
|
-
* @deprecated Use deployment target role terminology elsewhere. This property is maintained for backward compatibility.
|
|
3138
|
-
* @default 'primary' (this is the only type supported currently)
|
|
3139
|
-
*/
|
|
3140
|
-
awsEnvironmentType: DeploymentTargetRoleType;
|
|
3141
|
-
/**
|
|
3142
|
-
* The list of targets to deploy to.
|
|
3143
|
-
*/
|
|
3144
|
-
readonly awsDeploymentTargets: Array<AwsDeploymentTarget>;
|
|
3145
|
-
/**
|
|
3146
|
-
* Hold the deploy workflow so we can add to it in preSynth
|
|
3147
|
-
*/
|
|
3148
|
-
buildWorkflow: BuildWorkflow;
|
|
3149
|
-
/**
|
|
3150
|
-
* Was this workflow created externally?
|
|
3151
|
-
*/
|
|
3152
|
-
externalWorkflow: boolean;
|
|
3153
|
-
/**
|
|
3154
|
-
* Projects that should complete deployment before this one starts.
|
|
3155
|
-
*/
|
|
3156
|
-
deployAfterTargets: Array<AwsDeploymentTarget>;
|
|
3157
|
-
constructor(project: AwsCdkTypeScriptApp, options?: DeployWorkflowOptions);
|
|
3158
|
-
setupNode: () => Array<JobStep>;
|
|
3159
|
-
setupPnpm: () => Array<JobStep>;
|
|
3160
|
-
/**
|
|
3161
|
-
* Builds a GitHub Actions condition string that checks if the current branch
|
|
3162
|
-
* matches any of the provided branch patterns.
|
|
3163
|
-
*
|
|
3164
|
-
* Handles both exact matches (e.g., "main") and glob patterns (e.g., "feature/*").
|
|
3165
|
-
* Also allows workflow_dispatch (manual runs) to proceed.
|
|
3166
|
-
*
|
|
3167
|
-
* @param branches Array of GitBranch objects with branch patterns
|
|
3168
|
-
* @returns Condition string or empty string if no branches provided
|
|
3169
|
-
*/
|
|
3170
|
-
private buildBranchFilterCondition;
|
|
3171
|
-
private deploySteps;
|
|
3172
|
-
preSynthesize(): void;
|
|
3173
|
-
}
|
|
3174
|
-
|
|
3175
3257
|
/** Name of the gate job appended to build workflows (ADR 0004). */
|
|
3176
3258
|
declare const COMPLETE_JOB_ID = "complete";
|
|
3177
3259
|
/**
|
|
@@ -3185,5 +3267,5 @@ declare const COMPLETE_JOB_ID = "complete";
|
|
|
3185
3267
|
*/
|
|
3186
3268
|
declare function addBuildCompleteJob(buildWorkflow: BuildWorkflow): void;
|
|
3187
3269
|
|
|
3188
|
-
export { AGENT_MODEL, AGENT_PLATFORM, AGENT_RULE_SCOPE, AgentConfig, AstroConfig, AstroOutput, AstroProject, AwsDeployWorkflow, AwsDeploymentConfig, AwsDeploymentTarget, BUILT_IN_BUNDLES, CLAUDE_RULE_TARGET, COMPLETE_JOB_ID, DEFAULT_PRIORITY_LABELS, DEFAULT_STATUS_LABELS, DEFAULT_TYPE_LABELS, JsiiFaker, MCP_TRANSPORT, MERGE_METHODS, MIMIMUM_RELEASE_AGE, MINIMUM_RELEASE_AGE, MonorepoProject, PROD_DEPLOY_NAME, PnpmWorkspace, ProjectMetadata, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, ResetTask, TestRunner, TurboRepo, TurboRepoTask, TypeScriptConfig, TypeScriptProject, VERSION, VERSION_KEYS_SKIP, VERSION_NPM_PACKAGES, VSCodeConfig, Vitest, addApproveMergeUpgradeWorkflow, addBuildCompleteJob, addSyncLabelsWorkflow, awsCdkBundle, baseBundle, getLatestEligibleVersion, githubWorkflowBundle, jestBundle, meetingAnalysisBundle, orchestratorBundle, pnpmBundle, projenBundle, resolveModelAlias, resolveTemplateVariables, slackBundle, turborepoBundle, typescriptBundle, vitestBundle };
|
|
3189
|
-
export type { AgentConfigOptions, AgentModel, AgentPlatform, AgentPlatformOverrides, AgentProcedure, AgentRule, AgentRuleBundle, AgentRuleScope, AgentSkill, AgentSubAgent, AgentSubAgentPlatformOverrides, ApproveMergeUpgradeOptions, AstroConfigOptions, AstroIntegrationSpec, AstroProjectOptions, AwsAccount, AwsDeploymentTargetOptions, AwsLocalDeploymentConfig, AwsOrganization, AwsRegion, CiDeploymentConfig, ClassTypeOptions, ClaudeAutoModeConfig, ClaudeHookAction, ClaudeHookEntry, ClaudeHooksConfig, ClaudePermissionsConfig, ClaudeRuleTarget, ClaudeSandboxConfig, ClaudeSettingsConfig, CopilotHandoff, CursorHookAction, CursorHooksConfig, CursorSettingsConfig, DeployWorkflowOptions, DeploymentMetadata, GitBranch, GitHubBoardMetadata, GitHubProjectMetadata, GitHubSprintMetadata, IDependencyResolver, LabelDefinition, McpServerConfig, McpTransport, MergeMethod, MonorepoProjectOptions, OrganizationMetadata, PnpmWorkspaceOptions, ProjectMetadataOptions, RemoteCacheOptions, RepositoryMetadata, ResetTaskOptions, ResolvedProjectMetadata, SlackMetadata, SyncLabelsOptions, TemplateResolveResult, TurboRepoOptions, TurboRepoTaskOptions, TypeScriptProjectOptions, VersionKey, VitestConfigOptions, VitestOptions };
|
|
3270
|
+
export { AGENT_MODEL, AGENT_PLATFORM, AGENT_RULE_SCOPE, AgentConfig, AstroConfig, AstroOutput, AstroProject, AwsCdkProject, AwsDeployWorkflow, AwsDeploymentConfig, AwsDeploymentTarget, BUILT_IN_BUNDLES, CLAUDE_RULE_TARGET, COMPLETE_JOB_ID, DEFAULT_PRIORITY_LABELS, DEFAULT_STATUS_LABELS, DEFAULT_TYPE_LABELS, JsiiFaker, MCP_TRANSPORT, MERGE_METHODS, MIMIMUM_RELEASE_AGE, MINIMUM_RELEASE_AGE, MonorepoProject, PROD_DEPLOY_NAME, PnpmWorkspace, ProjectMetadata, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, ResetTask, TestRunner, TurboRepo, TurboRepoTask, TypeScriptConfig, TypeScriptProject, VERSION, VERSION_KEYS_SKIP, VERSION_NPM_PACKAGES, VSCodeConfig, Vitest, addApproveMergeUpgradeWorkflow, addBuildCompleteJob, addSyncLabelsWorkflow, awsCdkBundle, baseBundle, getLatestEligibleVersion, githubWorkflowBundle, jestBundle, meetingAnalysisBundle, orchestratorBundle, pnpmBundle, projenBundle, resolveModelAlias, resolveTemplateVariables, slackBundle, turborepoBundle, typescriptBundle, vitestBundle };
|
|
3271
|
+
export type { AgentConfigOptions, AgentModel, AgentPlatform, AgentPlatformOverrides, AgentProcedure, AgentRule, AgentRuleBundle, AgentRuleScope, AgentSkill, AgentSubAgent, AgentSubAgentPlatformOverrides, ApproveMergeUpgradeOptions, AstroConfigOptions, AstroIntegrationSpec, AstroProjectOptions, AwsAccount, AwsCdkProjectOptions, AwsDeploymentTargetOptions, AwsLocalDeploymentConfig, AwsOrganization, AwsRegion, CiDeploymentConfig, ClassTypeOptions, ClaudeAutoModeConfig, ClaudeHookAction, ClaudeHookEntry, ClaudeHooksConfig, ClaudePermissionsConfig, ClaudeRuleTarget, ClaudeSandboxConfig, ClaudeSettingsConfig, CopilotHandoff, CursorHookAction, CursorHooksConfig, CursorSettingsConfig, DeployWorkflowOptions, DeploymentMetadata, GitBranch, GitHubBoardMetadata, GitHubProjectMetadata, GitHubSprintMetadata, IDependencyResolver, LabelDefinition, McpServerConfig, McpTransport, MergeMethod, MonorepoProjectOptions, OrganizationMetadata, PnpmWorkspaceOptions, ProjectMetadataOptions, RemoteCacheOptions, RepositoryMetadata, ResetTaskOptions, ResolvedProjectMetadata, SlackMetadata, SyncLabelsOptions, TemplateResolveResult, TurboRepoOptions, TurboRepoTaskOptions, TypeScriptProjectOptions, VersionKey, VitestConfigOptions, VitestOptions };
|