@codedrifters/configulator 0.0.242 → 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.mjs CHANGED
@@ -15551,27 +15551,6 @@ var JsiiFaker = class _JsiiFaker extends Component12 {
15551
15551
  // src/projects/astro-project.ts
15552
15552
  import { SampleFile } from "projen";
15553
15553
 
15554
- // src/projects/typescript-project.ts
15555
- import { typescript } from "projen";
15556
- import {
15557
- NodePackageManager as NodePackageManager2,
15558
- Transform,
15559
- UpgradeDependenciesSchedule as UpgradeDependenciesSchedule2
15560
- } from "projen/lib/javascript";
15561
- import { ReleaseTrigger } from "projen/lib/release";
15562
- import { merge as merge2 } from "ts-deepmerge";
15563
-
15564
- // src/projects/monorepo-project.ts
15565
- import { WorkflowSteps } from "projen/lib/github";
15566
- import {
15567
- NodePackageManager,
15568
- UpgradeDependenciesSchedule
15569
- } from "projen/lib/javascript";
15570
- import {
15571
- TypeScriptAppProject
15572
- } from "projen/lib/typescript";
15573
- import { merge } from "ts-deepmerge";
15574
-
15575
15554
  // src/projects/monorepo-layout.ts
15576
15555
  var MONOREPO_LAYOUT = {
15577
15556
  DOCS: "docs",
@@ -15643,6 +15622,67 @@ function relativeOutdir(rootOutdir, subOutdir) {
15643
15622
  return subOutdir;
15644
15623
  }
15645
15624
 
15625
+ // src/projects/resolve-outdir.ts
15626
+ function parseScopedName(input) {
15627
+ if (!input.startsWith("@")) {
15628
+ return void 0;
15629
+ }
15630
+ const slashIndex = input.indexOf("/");
15631
+ if (slashIndex < 2) {
15632
+ return void 0;
15633
+ }
15634
+ const scope = input.slice(0, slashIndex);
15635
+ const name = input.slice(slashIndex + 1);
15636
+ if (name.length === 0 || name.includes("/")) {
15637
+ return void 0;
15638
+ }
15639
+ return { scope, name };
15640
+ }
15641
+ function resolveOutdirFromPackageName(packageName, root) {
15642
+ if (packageName === void 0 || packageName.length === 0) {
15643
+ throw new Error(
15644
+ "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."
15645
+ );
15646
+ }
15647
+ const parsed = parseScopedName(packageName);
15648
+ if (parsed === void 0) {
15649
+ throw new Error(
15650
+ `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>".`
15651
+ );
15652
+ }
15653
+ return `${root}/${parsed.scope}/${parsed.name}`;
15654
+ }
15655
+ function resolveTypeScriptProjectOutdir(packageName) {
15656
+ return resolveOutdirFromPackageName(packageName, MONOREPO_LAYOUT.PACKAGES);
15657
+ }
15658
+ function resolveAwsCdkProjectOutdir(packageName) {
15659
+ return resolveOutdirFromPackageName(packageName, MONOREPO_LAYOUT.APPS);
15660
+ }
15661
+ function resolveAstroProjectOutdir(packageName) {
15662
+ return resolveOutdirFromPackageName(packageName, MONOREPO_LAYOUT.SITES);
15663
+ }
15664
+
15665
+ // src/projects/typescript-project.ts
15666
+ import { typescript } from "projen";
15667
+ import {
15668
+ NodePackageManager as NodePackageManager2,
15669
+ Transform,
15670
+ UpgradeDependenciesSchedule as UpgradeDependenciesSchedule2
15671
+ } from "projen/lib/javascript";
15672
+ import { ReleaseTrigger } from "projen/lib/release";
15673
+ import { merge as merge2 } from "ts-deepmerge";
15674
+
15675
+ // src/projects/monorepo-project.ts
15676
+ import { WorkflowSteps } from "projen/lib/github";
15677
+ import {
15678
+ NodePackageManager,
15679
+ UpgradeDependenciesSchedule
15680
+ } from "projen/lib/javascript";
15681
+ import {
15682
+ TypeScriptAppProject
15683
+ } from "projen/lib/typescript";
15684
+ import { merge } from "ts-deepmerge";
15685
+
15646
15686
  // src/tasks/reset-task.ts
15647
15687
  import { Component as Component13 } from "projen";
15648
15688
  var ResetTask = class _ResetTask extends Component13 {
@@ -16418,43 +16458,6 @@ var MonorepoProject = class extends TypeScriptAppProject {
16418
16458
  }
16419
16459
  };
16420
16460
 
16421
- // src/projects/resolve-outdir.ts
16422
- function parseScopedName(input) {
16423
- if (!input.startsWith("@")) {
16424
- return void 0;
16425
- }
16426
- const slashIndex = input.indexOf("/");
16427
- if (slashIndex < 2) {
16428
- return void 0;
16429
- }
16430
- const scope = input.slice(0, slashIndex);
16431
- const name = input.slice(slashIndex + 1);
16432
- if (name.length === 0 || name.includes("/")) {
16433
- return void 0;
16434
- }
16435
- return { scope, name };
16436
- }
16437
- function resolveOutdirFromPackageName(packageName, root) {
16438
- if (packageName === void 0 || packageName.length === 0) {
16439
- throw new Error(
16440
- "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."
16441
- );
16442
- }
16443
- const parsed = parseScopedName(packageName);
16444
- if (parsed === void 0) {
16445
- throw new Error(
16446
- `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>".`
16447
- );
16448
- }
16449
- return `${root}/${parsed.scope}/${parsed.name}`;
16450
- }
16451
- function resolveTypeScriptProjectOutdir(packageName) {
16452
- return resolveOutdirFromPackageName(packageName, MONOREPO_LAYOUT.PACKAGES);
16453
- }
16454
- function resolveAwsCdkProjectOutdir(packageName) {
16455
- return resolveOutdirFromPackageName(packageName, MONOREPO_LAYOUT.APPS);
16456
- }
16457
-
16458
16461
  // src/projects/typescript-project.ts
16459
16462
  var TestRunner = {
16460
16463
  JEST: "jest",
@@ -16641,9 +16644,11 @@ var TypeScriptProject = class extends typescript.TypeScriptProject {
16641
16644
  // src/projects/astro-project.ts
16642
16645
  var AstroProject = class extends TypeScriptProject {
16643
16646
  constructor(userOptions) {
16647
+ const resolvedOutdir = userOptions.outdir ?? resolveAstroProjectOutdir(userOptions.packageName ?? userOptions.name);
16644
16648
  const options = {
16645
16649
  testRunner: TestRunner.VITEST,
16646
16650
  ...userOptions,
16651
+ outdir: resolvedOutdir,
16647
16652
  depsUpgradeOptions: {
16648
16653
  ...userOptions.depsUpgradeOptions,
16649
16654
  exclude: [...userOptions.depsUpgradeOptions?.exclude ?? [], "astro"]
@@ -17606,6 +17611,7 @@ export {
17606
17611
  requirementsReviewerBundle,
17607
17612
  requirementsWriterBundle,
17608
17613
  researchPipelineBundle,
17614
+ resolveAstroProjectOutdir,
17609
17615
  resolveAwsCdkProjectOutdir,
17610
17616
  resolveModelAlias,
17611
17617
  resolveOutdirFromPackageName,