@codedrifters/configulator 0.0.241 → 0.0.243

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 CHANGED
@@ -3622,6 +3622,16 @@ declare function resolveOutdirFromPackageName(packageName: string | undefined, r
3622
3622
  * under the canonical `packages/` root.
3623
3623
  */
3624
3624
  declare function resolveTypeScriptProjectOutdir(packageName: string | undefined): string;
3625
+ /**
3626
+ * Convenience wrapper that resolves an `outdir` for an `AwsCdkProject`
3627
+ * under the canonical `apps/` root.
3628
+ */
3629
+ declare function resolveAwsCdkProjectOutdir(packageName: string | undefined): string;
3630
+ /**
3631
+ * Convenience wrapper that resolves an `outdir` for an `AstroProject`
3632
+ * under the canonical `sites/` root.
3633
+ */
3634
+ declare function resolveAstroProjectOutdir(packageName: string | undefined): string;
3625
3635
 
3626
3636
  /**
3627
3637
  * A single Starlight social icon link.
@@ -3764,4 +3774,4 @@ declare const COMPLETE_JOB_ID = "complete";
3764
3774
  */
3765
3775
  declare function addBuildCompleteJob(buildWorkflow: BuildWorkflow): void;
3766
3776
 
3767
- 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, AwsTeardownWorkflow, type AwsTeardownWorkflowOptions, 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_TEARDOWN_BRANCH_PATTERNS, DEFAULT_TYPE_LABELS, type DeployWorkflowOptions, type DeploymentMetadata, type GitBranch, type GitHubBoardMetadata, type GitHubProjectMetadata, type GitHubSprintMetadata, type IDependencyResolver, JsiiFaker, LAYOUT_ENFORCEMENT, LAYOUT_ROOT_BY_PROJECT_TYPE, type LabelDefinition, type LayoutEnforcement, type LayoutViolation, MCP_TRANSPORT, MERGE_METHODS, MIMIMUM_RELEASE_AGE, MINIMUM_RELEASE_AGE, MONOREPO_LAYOUT, type McpServerConfig, type McpTransport, type MergeMethod, type MonorepoLayoutRoot, MonorepoProject, type MonorepoProjectOptions, type OrganizationMetadata, PROD_DEPLOY_NAME, PnpmWorkspace, type PnpmWorkspaceOptions, ProjectMetadata, type ProjectMetadataOptions, REQUIREMENTS_WRITER_PATHS, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, type RemoteCacheOptions, type RepositoryMetadata, ResetTask, type ResetTaskOptions, type ResolvedProjectMetadata, type SlackMetadata, type StarlightEditLink, type StarlightLogo, StarlightProject, type StarlightProjectOptions, type StarlightSidebarItem, type StarlightSocialLink, 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, bcmWriterBundle, companyProfileBundle, formatLayoutViolation, getLatestEligibleVersion, githubWorkflowBundle, industryDiscoveryBundle, jestBundle, maintenanceAuditBundle, meetingAnalysisBundle, orchestratorBundle, peopleProfileBundle, pnpmBundle, prReviewBundle, projenBundle, requirementsAnalystBundle, requirementsReviewerBundle, requirementsWriterBundle, researchPipelineBundle, resolveModelAlias, resolveOutdirFromPackageName, resolveTemplateVariables, resolveTypeScriptProjectOutdir, slackBundle, softwareProfileBundle, turborepoBundle, typescriptBundle, validateMonorepoLayout, vitestBundle };
3777
+ 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, AwsTeardownWorkflow, type AwsTeardownWorkflowOptions, 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_TEARDOWN_BRANCH_PATTERNS, DEFAULT_TYPE_LABELS, type DeployWorkflowOptions, type DeploymentMetadata, type GitBranch, type GitHubBoardMetadata, type GitHubProjectMetadata, type GitHubSprintMetadata, type IDependencyResolver, JsiiFaker, LAYOUT_ENFORCEMENT, LAYOUT_ROOT_BY_PROJECT_TYPE, type LabelDefinition, type LayoutEnforcement, type LayoutViolation, MCP_TRANSPORT, MERGE_METHODS, MIMIMUM_RELEASE_AGE, MINIMUM_RELEASE_AGE, MONOREPO_LAYOUT, type McpServerConfig, type McpTransport, type MergeMethod, type MonorepoLayoutRoot, MonorepoProject, type MonorepoProjectOptions, type OrganizationMetadata, PROD_DEPLOY_NAME, PnpmWorkspace, type PnpmWorkspaceOptions, ProjectMetadata, type ProjectMetadataOptions, REQUIREMENTS_WRITER_PATHS, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, type RemoteCacheOptions, type RepositoryMetadata, ResetTask, type ResetTaskOptions, type ResolvedProjectMetadata, type SlackMetadata, type StarlightEditLink, type StarlightLogo, StarlightProject, type StarlightProjectOptions, type StarlightSidebarItem, type StarlightSocialLink, 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, bcmWriterBundle, companyProfileBundle, formatLayoutViolation, getLatestEligibleVersion, githubWorkflowBundle, industryDiscoveryBundle, jestBundle, maintenanceAuditBundle, meetingAnalysisBundle, orchestratorBundle, peopleProfileBundle, pnpmBundle, prReviewBundle, projenBundle, requirementsAnalystBundle, requirementsReviewerBundle, requirementsWriterBundle, researchPipelineBundle, resolveAstroProjectOutdir, resolveAwsCdkProjectOutdir, resolveModelAlias, resolveOutdirFromPackageName, resolveTemplateVariables, resolveTypeScriptProjectOutdir, slackBundle, softwareProfileBundle, turborepoBundle, typescriptBundle, validateMonorepoLayout, vitestBundle };
package/lib/index.d.ts CHANGED
@@ -3671,6 +3671,16 @@ declare function resolveOutdirFromPackageName(packageName: string | undefined, r
3671
3671
  * under the canonical `packages/` root.
3672
3672
  */
3673
3673
  declare function resolveTypeScriptProjectOutdir(packageName: string | undefined): string;
3674
+ /**
3675
+ * Convenience wrapper that resolves an `outdir` for an `AwsCdkProject`
3676
+ * under the canonical `apps/` root.
3677
+ */
3678
+ declare function resolveAwsCdkProjectOutdir(packageName: string | undefined): string;
3679
+ /**
3680
+ * Convenience wrapper that resolves an `outdir` for an `AstroProject`
3681
+ * under the canonical `sites/` root.
3682
+ */
3683
+ declare function resolveAstroProjectOutdir(packageName: string | undefined): string;
3674
3684
 
3675
3685
  /**
3676
3686
  * A single Starlight social icon link.
@@ -3813,5 +3823,5 @@ declare const COMPLETE_JOB_ID = "complete";
3813
3823
  */
3814
3824
  declare function addBuildCompleteJob(buildWorkflow: BuildWorkflow): void;
3815
3825
 
3816
- export { AGENT_MODEL, AGENT_PLATFORM, AGENT_RULE_SCOPE, AgentConfig, AstroConfig, AstroOutput, AstroProject, AwsCdkProject, AwsDeployWorkflow, AwsDeploymentConfig, AwsDeploymentTarget, AwsTeardownWorkflow, BUILT_IN_BUNDLES, CLAUDE_RULE_TARGET, COMPLETE_JOB_ID, DEFAULT_PRIORITY_LABELS, DEFAULT_STATUS_LABELS, DEFAULT_TEARDOWN_BRANCH_PATTERNS, DEFAULT_TYPE_LABELS, JsiiFaker, LAYOUT_ENFORCEMENT, LAYOUT_ROOT_BY_PROJECT_TYPE, MCP_TRANSPORT, MERGE_METHODS, MIMIMUM_RELEASE_AGE, MINIMUM_RELEASE_AGE, MONOREPO_LAYOUT, MonorepoProject, PROD_DEPLOY_NAME, PnpmWorkspace, ProjectMetadata, REQUIREMENTS_WRITER_PATHS, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, ResetTask, StarlightProject, TestRunner, TurboRepo, TurboRepoTask, TypeScriptConfig, TypeScriptProject, VERSION, VERSION_KEYS_SKIP, VERSION_NPM_PACKAGES, VSCodeConfig, Vitest, addApproveMergeUpgradeWorkflow, addBuildCompleteJob, addSyncLabelsWorkflow, awsCdkBundle, baseBundle, bcmWriterBundle, companyProfileBundle, formatLayoutViolation, getLatestEligibleVersion, githubWorkflowBundle, industryDiscoveryBundle, jestBundle, maintenanceAuditBundle, meetingAnalysisBundle, orchestratorBundle, peopleProfileBundle, pnpmBundle, prReviewBundle, projenBundle, requirementsAnalystBundle, requirementsReviewerBundle, requirementsWriterBundle, researchPipelineBundle, resolveModelAlias, resolveOutdirFromPackageName, resolveTemplateVariables, resolveTypeScriptProjectOutdir, slackBundle, softwareProfileBundle, turborepoBundle, typescriptBundle, validateMonorepoLayout, vitestBundle };
3826
+ export { AGENT_MODEL, AGENT_PLATFORM, AGENT_RULE_SCOPE, AgentConfig, AstroConfig, AstroOutput, AstroProject, AwsCdkProject, AwsDeployWorkflow, AwsDeploymentConfig, AwsDeploymentTarget, AwsTeardownWorkflow, BUILT_IN_BUNDLES, CLAUDE_RULE_TARGET, COMPLETE_JOB_ID, DEFAULT_PRIORITY_LABELS, DEFAULT_STATUS_LABELS, DEFAULT_TEARDOWN_BRANCH_PATTERNS, DEFAULT_TYPE_LABELS, JsiiFaker, LAYOUT_ENFORCEMENT, LAYOUT_ROOT_BY_PROJECT_TYPE, MCP_TRANSPORT, MERGE_METHODS, MIMIMUM_RELEASE_AGE, MINIMUM_RELEASE_AGE, MONOREPO_LAYOUT, MonorepoProject, PROD_DEPLOY_NAME, PnpmWorkspace, ProjectMetadata, REQUIREMENTS_WRITER_PATHS, ROOT_CI_TASK_NAME, ROOT_TURBO_TASK_NAME, ResetTask, StarlightProject, TestRunner, TurboRepo, TurboRepoTask, TypeScriptConfig, TypeScriptProject, VERSION, VERSION_KEYS_SKIP, VERSION_NPM_PACKAGES, VSCodeConfig, Vitest, addApproveMergeUpgradeWorkflow, addBuildCompleteJob, addSyncLabelsWorkflow, awsCdkBundle, baseBundle, bcmWriterBundle, companyProfileBundle, formatLayoutViolation, getLatestEligibleVersion, githubWorkflowBundle, industryDiscoveryBundle, jestBundle, maintenanceAuditBundle, meetingAnalysisBundle, orchestratorBundle, peopleProfileBundle, pnpmBundle, prReviewBundle, projenBundle, requirementsAnalystBundle, requirementsReviewerBundle, requirementsWriterBundle, researchPipelineBundle, resolveAstroProjectOutdir, resolveAwsCdkProjectOutdir, resolveModelAlias, resolveOutdirFromPackageName, resolveTemplateVariables, resolveTypeScriptProjectOutdir, slackBundle, softwareProfileBundle, turborepoBundle, typescriptBundle, validateMonorepoLayout, vitestBundle };
3817
3827
  export type { AgentConfigOptions, AgentModel, AgentPlatform, AgentPlatformOverrides, AgentProcedure, AgentRule, AgentRuleBundle, AgentRuleScope, AgentSkill, AgentSubAgent, AgentSubAgentPlatformOverrides, ApproveMergeUpgradeOptions, AstroConfigOptions, AstroIntegrationSpec, AstroProjectOptions, AwsAccount, AwsCdkProjectOptions, AwsDeploymentTargetOptions, AwsLocalDeploymentConfig, AwsOrganization, AwsRegion, AwsTeardownWorkflowOptions, CiDeploymentConfig, ClassTypeOptions, ClaudeAutoModeConfig, ClaudeHookAction, ClaudeHookEntry, ClaudeHooksConfig, ClaudePermissionsConfig, ClaudeRuleTarget, ClaudeSandboxConfig, ClaudeSettingsConfig, CopilotHandoff, CursorHookAction, CursorHooksConfig, CursorSettingsConfig, DeployWorkflowOptions, DeploymentMetadata, GitBranch, GitHubBoardMetadata, GitHubProjectMetadata, GitHubSprintMetadata, IDependencyResolver, LabelDefinition, LayoutEnforcement, LayoutViolation, McpServerConfig, McpTransport, MergeMethod, MonorepoLayoutRoot, MonorepoProjectOptions, OrganizationMetadata, PnpmWorkspaceOptions, ProjectMetadataOptions, RemoteCacheOptions, RepositoryMetadata, ResetTaskOptions, ResolvedProjectMetadata, SlackMetadata, StarlightEditLink, StarlightLogo, StarlightProjectOptions, StarlightSidebarItem, StarlightSocialLink, SyncLabelsOptions, TemplateResolveResult, TurboRepoOptions, TurboRepoTaskOptions, TypeScriptProjectOptions, VersionKey, VitestConfigOptions, VitestOptions };
package/lib/index.js CHANGED
@@ -244,6 +244,8 @@ __export(index_exports, {
244
244
  requirementsReviewerBundle: () => requirementsReviewerBundle,
245
245
  requirementsWriterBundle: () => requirementsWriterBundle,
246
246
  researchPipelineBundle: () => researchPipelineBundle,
247
+ resolveAstroProjectOutdir: () => resolveAstroProjectOutdir,
248
+ resolveAwsCdkProjectOutdir: () => resolveAwsCdkProjectOutdir,
247
249
  resolveModelAlias: () => resolveModelAlias,
248
250
  resolveOutdirFromPackageName: () => resolveOutdirFromPackageName,
249
251
  resolveTemplateVariables: () => resolveTemplateVariables,
@@ -15636,18 +15638,6 @@ var JsiiFaker = class _JsiiFaker extends import_projen12.Component {
15636
15638
  // src/projects/astro-project.ts
15637
15639
  var import_projen17 = require("projen");
15638
15640
 
15639
- // src/projects/typescript-project.ts
15640
- var import_projen16 = require("projen");
15641
- var import_javascript4 = require("projen/lib/javascript");
15642
- var import_release = require("projen/lib/release");
15643
- var import_ts_deepmerge2 = require("ts-deepmerge");
15644
-
15645
- // src/projects/monorepo-project.ts
15646
- var import_github2 = require("projen/lib/github");
15647
- var import_javascript3 = require("projen/lib/javascript");
15648
- var import_typescript3 = require("projen/lib/typescript");
15649
- var import_ts_deepmerge = require("ts-deepmerge");
15650
-
15651
15641
  // src/projects/monorepo-layout.ts
15652
15642
  var MONOREPO_LAYOUT = {
15653
15643
  DOCS: "docs",
@@ -15719,6 +15709,58 @@ function relativeOutdir(rootOutdir, subOutdir) {
15719
15709
  return subOutdir;
15720
15710
  }
15721
15711
 
15712
+ // src/projects/resolve-outdir.ts
15713
+ function parseScopedName(input) {
15714
+ if (!input.startsWith("@")) {
15715
+ return void 0;
15716
+ }
15717
+ const slashIndex = input.indexOf("/");
15718
+ if (slashIndex < 2) {
15719
+ return void 0;
15720
+ }
15721
+ const scope = input.slice(0, slashIndex);
15722
+ const name = input.slice(slashIndex + 1);
15723
+ if (name.length === 0 || name.includes("/")) {
15724
+ return void 0;
15725
+ }
15726
+ return { scope, name };
15727
+ }
15728
+ function resolveOutdirFromPackageName(packageName, root) {
15729
+ if (packageName === void 0 || packageName.length === 0) {
15730
+ throw new Error(
15731
+ "Cannot derive outdir: packageName (or name) is required when outdir is omitted. Either pass a scoped `packageName` / `name` like `@scope/foo`, or set `outdir` explicitly."
15732
+ );
15733
+ }
15734
+ const parsed = parseScopedName(packageName);
15735
+ if (parsed === void 0) {
15736
+ throw new Error(
15737
+ `Cannot derive outdir from unscoped packageName "${packageName}". Either use a scoped name like \`@scope/foo\`, or set \`outdir\` explicitly. Configulator places sub-projects at "${root}/<scope>/<name>".`
15738
+ );
15739
+ }
15740
+ return `${root}/${parsed.scope}/${parsed.name}`;
15741
+ }
15742
+ function resolveTypeScriptProjectOutdir(packageName) {
15743
+ return resolveOutdirFromPackageName(packageName, MONOREPO_LAYOUT.PACKAGES);
15744
+ }
15745
+ function resolveAwsCdkProjectOutdir(packageName) {
15746
+ return resolveOutdirFromPackageName(packageName, MONOREPO_LAYOUT.APPS);
15747
+ }
15748
+ function resolveAstroProjectOutdir(packageName) {
15749
+ return resolveOutdirFromPackageName(packageName, MONOREPO_LAYOUT.SITES);
15750
+ }
15751
+
15752
+ // src/projects/typescript-project.ts
15753
+ var import_projen16 = require("projen");
15754
+ var import_javascript4 = require("projen/lib/javascript");
15755
+ var import_release = require("projen/lib/release");
15756
+ var import_ts_deepmerge2 = require("ts-deepmerge");
15757
+
15758
+ // src/projects/monorepo-project.ts
15759
+ var import_github2 = require("projen/lib/github");
15760
+ var import_javascript3 = require("projen/lib/javascript");
15761
+ var import_typescript3 = require("projen/lib/typescript");
15762
+ var import_ts_deepmerge = require("ts-deepmerge");
15763
+
15722
15764
  // src/tasks/reset-task.ts
15723
15765
  var import_projen13 = require("projen");
15724
15766
  var ResetTask = class _ResetTask extends import_projen13.Component {
@@ -16494,40 +16536,6 @@ var MonorepoProject = class extends import_typescript3.TypeScriptAppProject {
16494
16536
  }
16495
16537
  };
16496
16538
 
16497
- // src/projects/resolve-outdir.ts
16498
- function parseScopedName(input) {
16499
- if (!input.startsWith("@")) {
16500
- return void 0;
16501
- }
16502
- const slashIndex = input.indexOf("/");
16503
- if (slashIndex < 2) {
16504
- return void 0;
16505
- }
16506
- const scope = input.slice(0, slashIndex);
16507
- const name = input.slice(slashIndex + 1);
16508
- if (name.length === 0 || name.includes("/")) {
16509
- return void 0;
16510
- }
16511
- return { scope, name };
16512
- }
16513
- function resolveOutdirFromPackageName(packageName, root) {
16514
- if (packageName === void 0 || packageName.length === 0) {
16515
- throw new Error(
16516
- "Cannot derive outdir: packageName (or name) is required when outdir is omitted. Either pass a scoped `packageName` / `name` like `@scope/foo`, or set `outdir` explicitly."
16517
- );
16518
- }
16519
- const parsed = parseScopedName(packageName);
16520
- if (parsed === void 0) {
16521
- throw new Error(
16522
- `Cannot derive outdir from unscoped packageName "${packageName}". Either use a scoped name like \`@scope/foo\`, or set \`outdir\` explicitly. Configulator places sub-projects at "${root}/<scope>/<name>".`
16523
- );
16524
- }
16525
- return `${root}/${parsed.scope}/${parsed.name}`;
16526
- }
16527
- function resolveTypeScriptProjectOutdir(packageName) {
16528
- return resolveOutdirFromPackageName(packageName, MONOREPO_LAYOUT.PACKAGES);
16529
- }
16530
-
16531
16539
  // src/projects/typescript-project.ts
16532
16540
  var TestRunner = {
16533
16541
  JEST: "jest",
@@ -16714,9 +16722,11 @@ var TypeScriptProject = class extends import_projen16.typescript.TypeScriptProje
16714
16722
  // src/projects/astro-project.ts
16715
16723
  var AstroProject = class extends TypeScriptProject {
16716
16724
  constructor(userOptions) {
16725
+ const resolvedOutdir = userOptions.outdir ?? resolveAstroProjectOutdir(userOptions.packageName ?? userOptions.name);
16717
16726
  const options = {
16718
16727
  testRunner: TestRunner.VITEST,
16719
16728
  ...userOptions,
16729
+ outdir: resolvedOutdir,
16720
16730
  depsUpgradeOptions: {
16721
16731
  ...userOptions.depsUpgradeOptions,
16722
16732
  exclude: [...userOptions.depsUpgradeOptions?.exclude ?? [], "astro"]
@@ -17305,10 +17315,17 @@ var AwsCdkProject = class extends import_projen20.awscdk.AwsCdkTypeScriptApp {
17305
17315
  const parent = userOptions.parent;
17306
17316
  const pnpmVersion = parent.pnpmVersion;
17307
17317
  const pnpmWorkspace = PnpmWorkspace.of(parent);
17318
+ const resolvedOutdir = userOptions.outdir ?? resolveAwsCdkProjectOutdir(userOptions.packageName ?? userOptions.name);
17308
17319
  const testRunner = userOptions.testRunner ?? TestRunner.JEST;
17309
17320
  const useJest = testRunner === TestRunner.JEST;
17310
17321
  const defaultOptions = {
17311
17322
  defaultReleaseBranch: "main",
17323
+ /**
17324
+ * Outdir defaults to `apps/<scope>/<name>` when the caller omits
17325
+ * it. Explicit overrides in `userOptions` always win via the
17326
+ * merge below.
17327
+ */
17328
+ outdir: resolvedOutdir,
17312
17329
  /**
17313
17330
  * Enable reset task by default.
17314
17331
  */
@@ -17378,10 +17395,7 @@ var AwsCdkProject = class extends import_projen20.awscdk.AwsCdkTypeScriptApp {
17378
17395
  * Only release when the package source content or package.json changes.
17379
17396
  */
17380
17397
  releaseTrigger: import_release2.ReleaseTrigger.continuous({
17381
- paths: [
17382
- `${userOptions.outdir}/src/**`,
17383
- `${userOptions.outdir}/package.json`
17384
- ]
17398
+ paths: [`${resolvedOutdir}/src/**`, `${resolvedOutdir}/package.json`]
17385
17399
  })
17386
17400
  };
17387
17401
  const options = (0, import_ts_deepmerge3.merge)(defaultOptions, userOptions);
@@ -17672,6 +17686,8 @@ var TypeScriptConfig = class extends import_projen22.Component {
17672
17686
  requirementsReviewerBundle,
17673
17687
  requirementsWriterBundle,
17674
17688
  researchPipelineBundle,
17689
+ resolveAstroProjectOutdir,
17690
+ resolveAwsCdkProjectOutdir,
17675
17691
  resolveModelAlias,
17676
17692
  resolveOutdirFromPackageName,
17677
17693
  resolveTemplateVariables,