@codedrifters/configulator 0.0.197 → 0.0.198

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
@@ -1799,6 +1799,15 @@ declare const VERSION: {
1799
1799
  * Version of Projen to use.
1800
1800
  */
1801
1801
  readonly PROJEN_VERSION: "0.99.48";
1802
+ /**
1803
+ * Version of sharp to pin for StarlightProject (required peer for
1804
+ * Starlight's image optimization pipeline).
1805
+ */
1806
+ readonly SHARP_VERSION: "0.34.5";
1807
+ /**
1808
+ * Version of @astrojs/starlight to pin for StarlightProject scaffolding.
1809
+ */
1810
+ readonly STARLIGHT_VERSION: "0.38.3";
1802
1811
  /**
1803
1812
  * What version of the turborepo library should we use?
1804
1813
  */
@@ -3236,6 +3245,113 @@ declare class ProjectMetadata extends Component {
3236
3245
  private autoDetectRepository;
3237
3246
  }
3238
3247
 
3248
+ /**
3249
+ * A single Starlight social icon link.
3250
+ */
3251
+ interface StarlightSocialLink {
3252
+ readonly icon: string;
3253
+ readonly label: string;
3254
+ readonly href: string;
3255
+ }
3256
+ /**
3257
+ * Starlight logo configuration.
3258
+ */
3259
+ interface StarlightLogo {
3260
+ readonly src: string;
3261
+ readonly alt?: string;
3262
+ }
3263
+ /**
3264
+ * Starlight edit-link configuration.
3265
+ */
3266
+ interface StarlightEditLink {
3267
+ readonly baseUrl: string;
3268
+ }
3269
+ /**
3270
+ * Sidebar item accepted by Starlight's `sidebar` config. Covers the four
3271
+ * common shapes: link, group with nested items, autogenerated group, and
3272
+ * internal slug reference.
3273
+ */
3274
+ type StarlightSidebarItem = {
3275
+ readonly label: string;
3276
+ readonly link: string;
3277
+ readonly badge?: string | {
3278
+ readonly text: string;
3279
+ readonly variant?: string;
3280
+ };
3281
+ } | {
3282
+ readonly label: string;
3283
+ readonly items: ReadonlyArray<StarlightSidebarItem>;
3284
+ } | {
3285
+ readonly label: string;
3286
+ readonly autogenerate: {
3287
+ readonly directory: string;
3288
+ readonly collapsed?: boolean;
3289
+ };
3290
+ } | {
3291
+ readonly label: string;
3292
+ readonly slug: string;
3293
+ };
3294
+ /**
3295
+ * Configuration options for StarlightProject.
3296
+ */
3297
+ interface StarlightProjectOptions extends AstroProjectOptions {
3298
+ /**
3299
+ * Starlight site title (required).
3300
+ */
3301
+ readonly starlightTitle: string;
3302
+ /**
3303
+ * Starlight site description.
3304
+ */
3305
+ readonly starlightDescription?: string;
3306
+ /**
3307
+ * Social links rendered in the Starlight header.
3308
+ */
3309
+ readonly social?: ReadonlyArray<StarlightSocialLink>;
3310
+ /**
3311
+ * Sidebar config (passed through verbatim). When omitted, Starlight
3312
+ * autogenerates the sidebar from the `src/content/docs/` tree.
3313
+ */
3314
+ readonly sidebar?: ReadonlyArray<StarlightSidebarItem>;
3315
+ /**
3316
+ * Custom CSS files loaded by Starlight.
3317
+ */
3318
+ readonly customCss?: ReadonlyArray<string>;
3319
+ /**
3320
+ * Site logo displayed in the Starlight header.
3321
+ */
3322
+ readonly logo?: StarlightLogo;
3323
+ /**
3324
+ * "Edit this page" link configuration.
3325
+ */
3326
+ readonly editLink?: StarlightEditLink;
3327
+ /**
3328
+ * @astrojs/starlight package version.
3329
+ *
3330
+ * @default VERSION.STARLIGHT_VERSION
3331
+ */
3332
+ readonly starlightVersion?: string;
3333
+ /**
3334
+ * sharp package version (required peer for Starlight's image pipeline).
3335
+ *
3336
+ * @default VERSION.SHARP_VERSION
3337
+ */
3338
+ readonly sharpVersion?: string;
3339
+ /**
3340
+ * Emit sample Starlight content (`src/content/docs/index.mdx`,
3341
+ * `src/content/config.ts`).
3342
+ *
3343
+ * @default false
3344
+ */
3345
+ readonly sampleContent?: boolean;
3346
+ }
3347
+ /**
3348
+ * Docs site scaffolded on top of {@link AstroProject} using the
3349
+ * Starlight Astro integration.
3350
+ */
3351
+ declare class StarlightProject extends AstroProject {
3352
+ constructor(userOptions: StarlightProjectOptions);
3353
+ }
3354
+
3239
3355
  /*******************************************************************************
3240
3356
  *
3241
3357
  * Update / customize typescript configs for a project.
@@ -3270,4 +3386,4 @@ declare const COMPLETE_JOB_ID = "complete";
3270
3386
  */
3271
3387
  declare function addBuildCompleteJob(buildWorkflow: BuildWorkflow): void;
3272
3388
 
3273
- 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, 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 };
3389
+ 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, 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 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, getLatestEligibleVersion, githubWorkflowBundle, jestBundle, meetingAnalysisBundle, orchestratorBundle, pnpmBundle, projenBundle, resolveModelAlias, resolveTemplateVariables, slackBundle, turborepoBundle, typescriptBundle, vitestBundle };
package/lib/index.d.ts CHANGED
@@ -1848,6 +1848,15 @@ declare const VERSION: {
1848
1848
  * Version of Projen to use.
1849
1849
  */
1850
1850
  readonly PROJEN_VERSION: "0.99.48";
1851
+ /**
1852
+ * Version of sharp to pin for StarlightProject (required peer for
1853
+ * Starlight's image optimization pipeline).
1854
+ */
1855
+ readonly SHARP_VERSION: "0.34.5";
1856
+ /**
1857
+ * Version of @astrojs/starlight to pin for StarlightProject scaffolding.
1858
+ */
1859
+ readonly STARLIGHT_VERSION: "0.38.3";
1851
1860
  /**
1852
1861
  * What version of the turborepo library should we use?
1853
1862
  */
@@ -3285,6 +3294,113 @@ declare class ProjectMetadata extends Component {
3285
3294
  private autoDetectRepository;
3286
3295
  }
3287
3296
 
3297
+ /**
3298
+ * A single Starlight social icon link.
3299
+ */
3300
+ interface StarlightSocialLink {
3301
+ readonly icon: string;
3302
+ readonly label: string;
3303
+ readonly href: string;
3304
+ }
3305
+ /**
3306
+ * Starlight logo configuration.
3307
+ */
3308
+ interface StarlightLogo {
3309
+ readonly src: string;
3310
+ readonly alt?: string;
3311
+ }
3312
+ /**
3313
+ * Starlight edit-link configuration.
3314
+ */
3315
+ interface StarlightEditLink {
3316
+ readonly baseUrl: string;
3317
+ }
3318
+ /**
3319
+ * Sidebar item accepted by Starlight's `sidebar` config. Covers the four
3320
+ * common shapes: link, group with nested items, autogenerated group, and
3321
+ * internal slug reference.
3322
+ */
3323
+ type StarlightSidebarItem = {
3324
+ readonly label: string;
3325
+ readonly link: string;
3326
+ readonly badge?: string | {
3327
+ readonly text: string;
3328
+ readonly variant?: string;
3329
+ };
3330
+ } | {
3331
+ readonly label: string;
3332
+ readonly items: ReadonlyArray<StarlightSidebarItem>;
3333
+ } | {
3334
+ readonly label: string;
3335
+ readonly autogenerate: {
3336
+ readonly directory: string;
3337
+ readonly collapsed?: boolean;
3338
+ };
3339
+ } | {
3340
+ readonly label: string;
3341
+ readonly slug: string;
3342
+ };
3343
+ /**
3344
+ * Configuration options for StarlightProject.
3345
+ */
3346
+ interface StarlightProjectOptions extends AstroProjectOptions {
3347
+ /**
3348
+ * Starlight site title (required).
3349
+ */
3350
+ readonly starlightTitle: string;
3351
+ /**
3352
+ * Starlight site description.
3353
+ */
3354
+ readonly starlightDescription?: string;
3355
+ /**
3356
+ * Social links rendered in the Starlight header.
3357
+ */
3358
+ readonly social?: ReadonlyArray<StarlightSocialLink>;
3359
+ /**
3360
+ * Sidebar config (passed through verbatim). When omitted, Starlight
3361
+ * autogenerates the sidebar from the `src/content/docs/` tree.
3362
+ */
3363
+ readonly sidebar?: ReadonlyArray<StarlightSidebarItem>;
3364
+ /**
3365
+ * Custom CSS files loaded by Starlight.
3366
+ */
3367
+ readonly customCss?: ReadonlyArray<string>;
3368
+ /**
3369
+ * Site logo displayed in the Starlight header.
3370
+ */
3371
+ readonly logo?: StarlightLogo;
3372
+ /**
3373
+ * "Edit this page" link configuration.
3374
+ */
3375
+ readonly editLink?: StarlightEditLink;
3376
+ /**
3377
+ * @astrojs/starlight package version.
3378
+ *
3379
+ * @default VERSION.STARLIGHT_VERSION
3380
+ */
3381
+ readonly starlightVersion?: string;
3382
+ /**
3383
+ * sharp package version (required peer for Starlight's image pipeline).
3384
+ *
3385
+ * @default VERSION.SHARP_VERSION
3386
+ */
3387
+ readonly sharpVersion?: string;
3388
+ /**
3389
+ * Emit sample Starlight content (`src/content/docs/index.mdx`,
3390
+ * `src/content/config.ts`).
3391
+ *
3392
+ * @default false
3393
+ */
3394
+ readonly sampleContent?: boolean;
3395
+ }
3396
+ /**
3397
+ * Docs site scaffolded on top of {@link AstroProject} using the
3398
+ * Starlight Astro integration.
3399
+ */
3400
+ declare class StarlightProject extends AstroProject {
3401
+ constructor(userOptions: StarlightProjectOptions);
3402
+ }
3403
+
3288
3404
  /*******************************************************************************
3289
3405
  *
3290
3406
  * Update / customize typescript configs for a project.
@@ -3319,5 +3435,5 @@ declare const COMPLETE_JOB_ID = "complete";
3319
3435
  */
3320
3436
  declare function addBuildCompleteJob(buildWorkflow: BuildWorkflow): void;
3321
3437
 
3322
- 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, 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 };
3323
- 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, McpServerConfig, McpTransport, MergeMethod, MonorepoProjectOptions, OrganizationMetadata, PnpmWorkspaceOptions, ProjectMetadataOptions, RemoteCacheOptions, RepositoryMetadata, ResetTaskOptions, ResolvedProjectMetadata, SlackMetadata, SyncLabelsOptions, TemplateResolveResult, TurboRepoOptions, TurboRepoTaskOptions, TypeScriptProjectOptions, VersionKey, VitestConfigOptions, VitestOptions };
3438
+ 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, 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, StarlightProject, 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 };
3439
+ 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, McpServerConfig, McpTransport, MergeMethod, 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
@@ -206,6 +206,7 @@ __export(index_exports, {
206
206
  ROOT_CI_TASK_NAME: () => ROOT_CI_TASK_NAME,
207
207
  ROOT_TURBO_TASK_NAME: () => ROOT_TURBO_TASK_NAME,
208
208
  ResetTask: () => ResetTask,
209
+ StarlightProject: () => StarlightProject,
209
210
  TestRunner: () => TestRunner,
210
211
  TurboRepo: () => TurboRepo,
211
212
  TurboRepoTask: () => TurboRepoTask,
@@ -3055,6 +3056,15 @@ var VERSION = {
3055
3056
  * Version of Projen to use.
3056
3057
  */
3057
3058
  PROJEN_VERSION: "0.99.48",
3059
+ /**
3060
+ * Version of sharp to pin for StarlightProject (required peer for
3061
+ * Starlight's image optimization pipeline).
3062
+ */
3063
+ SHARP_VERSION: "0.34.5",
3064
+ /**
3065
+ * Version of @astrojs/starlight to pin for StarlightProject scaffolding.
3066
+ */
3067
+ STARLIGHT_VERSION: "0.38.3",
3058
3068
  /**
3059
3069
  * What version of the turborepo library should we use?
3060
3070
  */
@@ -4816,6 +4826,8 @@ var VERSION_NPM_PACKAGES = [
4816
4826
  { key: "AWS_CONSTRUCTS_VERSION", npmPackage: "constructs" },
4817
4827
  { key: "PNPM_VERSION", npmPackage: "pnpm" },
4818
4828
  { key: "PROJEN_VERSION", npmPackage: "projen" },
4829
+ { key: "SHARP_VERSION", npmPackage: "sharp" },
4830
+ { key: "STARLIGHT_VERSION", npmPackage: "@astrojs/starlight" },
4819
4831
  { key: "TURBO_VERSION", npmPackage: "turbo" },
4820
4832
  { key: "TYPES_NODE_VERSION", npmPackage: "@types/node" },
4821
4833
  { key: "VITEST_VERSION", npmPackage: "vitest" }
@@ -6589,11 +6601,96 @@ var AwsCdkProject = class extends import_projen20.awscdk.AwsCdkTypeScriptApp {
6589
6601
  }
6590
6602
  };
6591
6603
 
6604
+ // src/projects/starlight-project.ts
6605
+ var import_projen21 = require("projen");
6606
+ var StarlightProject = class extends AstroProject {
6607
+ constructor(userOptions) {
6608
+ const starlightConfig = buildStarlightConfig(userOptions);
6609
+ const starlightSpec = {
6610
+ name: "starlight",
6611
+ importPath: "@astrojs/starlight",
6612
+ defaultImport: true,
6613
+ args: JSON.stringify(starlightConfig, null, 2)
6614
+ };
6615
+ const mergedOptions = {
6616
+ ...userOptions,
6617
+ integrations: [starlightSpec, ...userOptions.integrations ?? []],
6618
+ depsUpgradeOptions: {
6619
+ ...userOptions.depsUpgradeOptions,
6620
+ exclude: [
6621
+ ...userOptions.depsUpgradeOptions?.exclude ?? [],
6622
+ "@astrojs/starlight",
6623
+ "sharp"
6624
+ ]
6625
+ }
6626
+ };
6627
+ super(mergedOptions);
6628
+ const starlightVersion = userOptions.starlightVersion ?? VERSION.STARLIGHT_VERSION;
6629
+ const sharpVersion = userOptions.sharpVersion ?? VERSION.SHARP_VERSION;
6630
+ this.addDeps(
6631
+ `@astrojs/starlight@${starlightVersion}`,
6632
+ `sharp@${sharpVersion}`
6633
+ );
6634
+ const turbo = TurboRepo.of(this);
6635
+ if (turbo?.compileTask) {
6636
+ turbo.compileTask.inputs.push("src/content/**");
6637
+ }
6638
+ if (userOptions.sampleContent === true) {
6639
+ new import_projen21.SampleFile(this, "src/content/docs/index.mdx", {
6640
+ contents: DEFAULT_INDEX_MDX
6641
+ });
6642
+ new import_projen21.SampleFile(this, "src/content/config.ts", {
6643
+ contents: DEFAULT_CONTENT_CONFIG_TS
6644
+ });
6645
+ }
6646
+ }
6647
+ };
6648
+ function buildStarlightConfig(options) {
6649
+ const config = {
6650
+ title: options.starlightTitle
6651
+ };
6652
+ if (options.starlightDescription !== void 0) {
6653
+ config.description = options.starlightDescription;
6654
+ }
6655
+ if (options.social !== void 0) {
6656
+ config.social = options.social;
6657
+ }
6658
+ if (options.sidebar !== void 0) {
6659
+ config.sidebar = options.sidebar;
6660
+ }
6661
+ if (options.customCss !== void 0) {
6662
+ config.customCss = options.customCss;
6663
+ }
6664
+ if (options.logo !== void 0) {
6665
+ config.logo = options.logo;
6666
+ }
6667
+ if (options.editLink !== void 0) {
6668
+ config.editLink = options.editLink;
6669
+ }
6670
+ return config;
6671
+ }
6672
+ var DEFAULT_INDEX_MDX = `---
6673
+ title: Welcome
6674
+ description: Starlight-powered documentation site.
6675
+ ---
6676
+
6677
+ # Hello, Starlight!
6678
+
6679
+ Edit \`src/content/docs/index.mdx\` to replace this page.
6680
+ `;
6681
+ var DEFAULT_CONTENT_CONFIG_TS = `import { defineCollection } from "astro:content";
6682
+ import { docsSchema } from "@astrojs/starlight/schema";
6683
+
6684
+ export const collections = {
6685
+ docs: defineCollection({ schema: docsSchema() }),
6686
+ };
6687
+ `;
6688
+
6592
6689
  // src/typescript/typescript-config.ts
6593
6690
  var import_node_path2 = require("path");
6594
- var import_projen21 = require("projen");
6691
+ var import_projen22 = require("projen");
6595
6692
  var import_path2 = require("projen/lib/util/path");
6596
- var TypeScriptConfig = class extends import_projen21.Component {
6693
+ var TypeScriptConfig = class extends import_projen22.Component {
6597
6694
  constructor(project) {
6598
6695
  super(project);
6599
6696
  let tsPaths = {};
@@ -6651,6 +6748,7 @@ var TypeScriptConfig = class extends import_projen21.Component {
6651
6748
  ROOT_CI_TASK_NAME,
6652
6749
  ROOT_TURBO_TASK_NAME,
6653
6750
  ResetTask,
6751
+ StarlightProject,
6654
6752
  TestRunner,
6655
6753
  TurboRepo,
6656
6754
  TurboRepoTask,