@codedrifters/configulator 0.0.240 → 0.0.242
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 +32 -1
- package/lib/index.d.ts +32 -1
- package/lib/index.js +61 -8
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +58 -8
- package/lib/index.mjs.map +1 -1
- package/package.json +1 -1
package/lib/index.mjs
CHANGED
|
@@ -16418,6 +16418,43 @@ var MonorepoProject = class extends TypeScriptAppProject {
|
|
|
16418
16418
|
}
|
|
16419
16419
|
};
|
|
16420
16420
|
|
|
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
|
+
|
|
16421
16458
|
// src/projects/typescript-project.ts
|
|
16422
16459
|
var TestRunner = {
|
|
16423
16460
|
JEST: "jest",
|
|
@@ -16433,6 +16470,9 @@ var TypeScriptProject = class extends typescript.TypeScriptProject {
|
|
|
16433
16470
|
const parent = userOptions.parent;
|
|
16434
16471
|
const pnpmVersion = parent.pnpmVersion;
|
|
16435
16472
|
const pnpmWorkspace = PnpmWorkspace.of(parent);
|
|
16473
|
+
const resolvedOutdir = userOptions.outdir ?? resolveTypeScriptProjectOutdir(
|
|
16474
|
+
userOptions.packageName ?? userOptions.name
|
|
16475
|
+
);
|
|
16436
16476
|
const testRunner = userOptions.testRunner ?? TestRunner.JEST;
|
|
16437
16477
|
const useJest = testRunner === TestRunner.JEST;
|
|
16438
16478
|
const defaultOptions = {
|
|
@@ -16440,6 +16480,12 @@ var TypeScriptProject = class extends typescript.TypeScriptProject {
|
|
|
16440
16480
|
* This is a standard, so don't require it to passed in everywhere.
|
|
16441
16481
|
*/
|
|
16442
16482
|
defaultReleaseBranch: "main",
|
|
16483
|
+
/**
|
|
16484
|
+
* Outdir defaults to `packages/<scope>/<name>` when the caller
|
|
16485
|
+
* omits it. Explicit overrides in `userOptions` always win via
|
|
16486
|
+
* the merge below.
|
|
16487
|
+
*/
|
|
16488
|
+
outdir: resolvedOutdir,
|
|
16443
16489
|
/**
|
|
16444
16490
|
* Enable reset task by default.
|
|
16445
16491
|
*/
|
|
@@ -16510,10 +16556,7 @@ var TypeScriptProject = class extends typescript.TypeScriptProject {
|
|
|
16510
16556
|
* (version, dependencies) changes.
|
|
16511
16557
|
*/
|
|
16512
16558
|
releaseTrigger: ReleaseTrigger.continuous({
|
|
16513
|
-
paths: [
|
|
16514
|
-
`${userOptions.outdir}/src/**`,
|
|
16515
|
-
`${userOptions.outdir}/package.json`
|
|
16516
|
-
]
|
|
16559
|
+
paths: [`${resolvedOutdir}/src/**`, `${resolvedOutdir}/package.json`]
|
|
16517
16560
|
})
|
|
16518
16561
|
};
|
|
16519
16562
|
const options = merge2(defaultOptions, userOptions);
|
|
@@ -17193,10 +17236,17 @@ var AwsCdkProject = class extends awscdk.AwsCdkTypeScriptApp {
|
|
|
17193
17236
|
const parent = userOptions.parent;
|
|
17194
17237
|
const pnpmVersion = parent.pnpmVersion;
|
|
17195
17238
|
const pnpmWorkspace = PnpmWorkspace.of(parent);
|
|
17239
|
+
const resolvedOutdir = userOptions.outdir ?? resolveAwsCdkProjectOutdir(userOptions.packageName ?? userOptions.name);
|
|
17196
17240
|
const testRunner = userOptions.testRunner ?? TestRunner.JEST;
|
|
17197
17241
|
const useJest = testRunner === TestRunner.JEST;
|
|
17198
17242
|
const defaultOptions = {
|
|
17199
17243
|
defaultReleaseBranch: "main",
|
|
17244
|
+
/**
|
|
17245
|
+
* Outdir defaults to `apps/<scope>/<name>` when the caller omits
|
|
17246
|
+
* it. Explicit overrides in `userOptions` always win via the
|
|
17247
|
+
* merge below.
|
|
17248
|
+
*/
|
|
17249
|
+
outdir: resolvedOutdir,
|
|
17200
17250
|
/**
|
|
17201
17251
|
* Enable reset task by default.
|
|
17202
17252
|
*/
|
|
@@ -17266,10 +17316,7 @@ var AwsCdkProject = class extends awscdk.AwsCdkTypeScriptApp {
|
|
|
17266
17316
|
* Only release when the package source content or package.json changes.
|
|
17267
17317
|
*/
|
|
17268
17318
|
releaseTrigger: ReleaseTrigger2.continuous({
|
|
17269
|
-
paths: [
|
|
17270
|
-
`${userOptions.outdir}/src/**`,
|
|
17271
|
-
`${userOptions.outdir}/package.json`
|
|
17272
|
-
]
|
|
17319
|
+
paths: [`${resolvedOutdir}/src/**`, `${resolvedOutdir}/package.json`]
|
|
17273
17320
|
})
|
|
17274
17321
|
};
|
|
17275
17322
|
const options = merge3(defaultOptions, userOptions);
|
|
@@ -17559,8 +17606,11 @@ export {
|
|
|
17559
17606
|
requirementsReviewerBundle,
|
|
17560
17607
|
requirementsWriterBundle,
|
|
17561
17608
|
researchPipelineBundle,
|
|
17609
|
+
resolveAwsCdkProjectOutdir,
|
|
17562
17610
|
resolveModelAlias,
|
|
17611
|
+
resolveOutdirFromPackageName,
|
|
17563
17612
|
resolveTemplateVariables,
|
|
17613
|
+
resolveTypeScriptProjectOutdir,
|
|
17564
17614
|
slackBundle,
|
|
17565
17615
|
softwareProfileBundle,
|
|
17566
17616
|
turborepoBundle,
|