@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 +11 -1
- package/lib/index.d.ts +11 -1
- package/lib/index.js +66 -50
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +73 -59
- package/lib/index.mjs.map +1 -1
- package/package.json +1 -1
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,
|