@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.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,40 +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
|
-
|
|
16455
16461
|
// src/projects/typescript-project.ts
|
|
16456
16462
|
var TestRunner = {
|
|
16457
16463
|
JEST: "jest",
|
|
@@ -16638,9 +16644,11 @@ var TypeScriptProject = class extends typescript.TypeScriptProject {
|
|
|
16638
16644
|
// src/projects/astro-project.ts
|
|
16639
16645
|
var AstroProject = class extends TypeScriptProject {
|
|
16640
16646
|
constructor(userOptions) {
|
|
16647
|
+
const resolvedOutdir = userOptions.outdir ?? resolveAstroProjectOutdir(userOptions.packageName ?? userOptions.name);
|
|
16641
16648
|
const options = {
|
|
16642
16649
|
testRunner: TestRunner.VITEST,
|
|
16643
16650
|
...userOptions,
|
|
16651
|
+
outdir: resolvedOutdir,
|
|
16644
16652
|
depsUpgradeOptions: {
|
|
16645
16653
|
...userOptions.depsUpgradeOptions,
|
|
16646
16654
|
exclude: [...userOptions.depsUpgradeOptions?.exclude ?? [], "astro"]
|
|
@@ -17233,10 +17241,17 @@ var AwsCdkProject = class extends awscdk.AwsCdkTypeScriptApp {
|
|
|
17233
17241
|
const parent = userOptions.parent;
|
|
17234
17242
|
const pnpmVersion = parent.pnpmVersion;
|
|
17235
17243
|
const pnpmWorkspace = PnpmWorkspace.of(parent);
|
|
17244
|
+
const resolvedOutdir = userOptions.outdir ?? resolveAwsCdkProjectOutdir(userOptions.packageName ?? userOptions.name);
|
|
17236
17245
|
const testRunner = userOptions.testRunner ?? TestRunner.JEST;
|
|
17237
17246
|
const useJest = testRunner === TestRunner.JEST;
|
|
17238
17247
|
const defaultOptions = {
|
|
17239
17248
|
defaultReleaseBranch: "main",
|
|
17249
|
+
/**
|
|
17250
|
+
* Outdir defaults to `apps/<scope>/<name>` when the caller omits
|
|
17251
|
+
* it. Explicit overrides in `userOptions` always win via the
|
|
17252
|
+
* merge below.
|
|
17253
|
+
*/
|
|
17254
|
+
outdir: resolvedOutdir,
|
|
17240
17255
|
/**
|
|
17241
17256
|
* Enable reset task by default.
|
|
17242
17257
|
*/
|
|
@@ -17306,10 +17321,7 @@ var AwsCdkProject = class extends awscdk.AwsCdkTypeScriptApp {
|
|
|
17306
17321
|
* Only release when the package source content or package.json changes.
|
|
17307
17322
|
*/
|
|
17308
17323
|
releaseTrigger: ReleaseTrigger2.continuous({
|
|
17309
|
-
paths: [
|
|
17310
|
-
`${userOptions.outdir}/src/**`,
|
|
17311
|
-
`${userOptions.outdir}/package.json`
|
|
17312
|
-
]
|
|
17324
|
+
paths: [`${resolvedOutdir}/src/**`, `${resolvedOutdir}/package.json`]
|
|
17313
17325
|
})
|
|
17314
17326
|
};
|
|
17315
17327
|
const options = merge3(defaultOptions, userOptions);
|
|
@@ -17599,6 +17611,8 @@ export {
|
|
|
17599
17611
|
requirementsReviewerBundle,
|
|
17600
17612
|
requirementsWriterBundle,
|
|
17601
17613
|
researchPipelineBundle,
|
|
17614
|
+
resolveAstroProjectOutdir,
|
|
17615
|
+
resolveAwsCdkProjectOutdir,
|
|
17602
17616
|
resolveModelAlias,
|
|
17603
17617
|
resolveOutdirFromPackageName,
|
|
17604
17618
|
resolveTemplateVariables,
|