@ykdz/template 0.0.10 → 0.0.12
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/dist/cli.js +2 -2
- package/node_modules/@ykdz/template-builtin-source/dist/src/index.d.ts +4 -4
- package/node_modules/@ykdz/template-builtin-source/dist/src/index.js +12 -5
- package/node_modules/@ykdz/template-builtin-source/dist/templates/hono-api/projection.d.ts +1 -1
- package/node_modules/@ykdz/template-builtin-source/dist/templates/hono-api/projection.js +1 -1
- package/node_modules/@ykdz/template-builtin-source/dist/templates/projection-plans.js +9 -6
- package/node_modules/@ykdz/template-builtin-source/dist/templates/rust-bin/projection.d.ts +1 -1
- package/node_modules/@ykdz/template-builtin-source/dist/templates/rust-bin/projection.js +1 -1
- package/node_modules/@ykdz/template-builtin-source/dist/templates/ts-lib/projection.d.ts +1 -1
- package/node_modules/@ykdz/template-builtin-source/dist/templates/ts-lib/projection.js +1 -1
- package/node_modules/@ykdz/template-builtin-source/dist/templates/vue-app/projection.d.ts +1 -1
- package/node_modules/@ykdz/template-builtin-source/dist/templates/vue-app/projection.js +1 -1
- package/node_modules/@ykdz/template-builtin-source/dist/templates/vue-hono-app/projection.d.ts +1 -1
- package/node_modules/@ykdz/template-builtin-source/dist/templates/vue-hono-app/projection.js +10 -12
- package/node_modules/@ykdz/template-builtin-source/package.json +3 -2
- package/node_modules/@ykdz/template-builtin-source/templates/hono-api/vitest.config.ts +1 -0
- package/node_modules/@ykdz/template-builtin-source/templates/preset-source.json +35 -9
- package/node_modules/@ykdz/template-builtin-source/templates/vue-hono-app/api/vitest.config.ts +7 -0
- package/node_modules/@ykdz/template-builtin-source/templates/vue-hono-app/web/playwright.config.ts +23 -7
- package/node_modules/@ykdz/template-core/dist/declarations.d.ts +2 -203
- package/node_modules/@ykdz/template-core/dist/declarations.js +1 -303
- package/node_modules/@ykdz/template-core/dist/devcontainer.d.ts +17 -0
- package/node_modules/@ykdz/template-core/dist/devcontainer.js +22 -21
- package/node_modules/@ykdz/template-core/dist/editor-customization.d.ts +10 -1
- package/node_modules/@ykdz/template-core/dist/editor-customization.js +36 -26
- package/node_modules/@ykdz/template-core/dist/generated-scenarios.d.ts +4 -0
- package/node_modules/@ykdz/template-core/dist/generated-scenarios.js +32 -22
- package/node_modules/@ykdz/template-core/dist/generation-context.d.ts +1 -1
- package/node_modules/@ykdz/template-core/dist/module-graph.d.ts +19 -1
- package/node_modules/@ykdz/template-core/dist/module-graph.js +42 -3
- package/node_modules/@ykdz/template-core/dist/next-step-instructions.d.ts +2 -0
- package/node_modules/@ykdz/template-core/dist/next-step-instructions.js +11 -22
- package/node_modules/@ykdz/template-core/dist/package-addition-support.d.ts +2 -1
- package/node_modules/@ykdz/template-core/dist/package-addition-support.js +2 -4
- package/node_modules/@ykdz/template-core/dist/package-addition.js +5 -22
- package/node_modules/@ykdz/template-core/dist/package-linking.d.ts +2 -6
- package/node_modules/@ykdz/template-core/dist/package-linking.js +1 -1
- package/node_modules/@ykdz/template-core/dist/preset-projection.d.ts +1 -2
- package/node_modules/@ykdz/template-core/dist/preset-source.d.ts +4 -418
- package/node_modules/@ykdz/template-core/dist/preset-source.js +81 -726
- package/node_modules/@ykdz/template-core/dist/project-github.js +2 -6
- package/node_modules/@ykdz/template-core/dist/projection-capabilities.d.ts +5 -53
- package/node_modules/@ykdz/template-core/dist/projection-capabilities.js +103 -515
- package/node_modules/@ykdz/template-core/package.json +3 -2
- package/node_modules/@ykdz/template-shared/dist/index.d.ts +794 -0
- package/node_modules/@ykdz/template-shared/dist/index.js +1637 -0
- package/node_modules/@ykdz/template-shared/package.json +32 -0
- package/package.json +9 -6
|
@@ -3,7 +3,7 @@ import path from "node:path";
|
|
|
3
3
|
import { execa } from "execa";
|
|
4
4
|
import * as v from "valibot";
|
|
5
5
|
import { assembleGenerationContext } from "./generation-context.js";
|
|
6
|
-
import {
|
|
6
|
+
import { playwrightBrowserAssetsEnvironmentNeed, } from "./module-graph.js";
|
|
7
7
|
import { planNextStepInstructions } from "./next-step-instructions.js";
|
|
8
8
|
import { findPresetSourceManifestPreset } from "./preset-source.js";
|
|
9
9
|
import { blueprintForPresetSourcePreset, projectPresetSourcePreset, } from "./projection-capabilities.js";
|
|
@@ -248,13 +248,18 @@ function machineVerifiableNextStepsForPreset(presetName, projectDir, manifest, o
|
|
|
248
248
|
});
|
|
249
249
|
return plan.steps
|
|
250
250
|
.filter((step) => step.machineVerifiable && step.kind === "command")
|
|
251
|
-
.map((step) =>
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
251
|
+
.map((step) => {
|
|
252
|
+
return {
|
|
253
|
+
id: step.id,
|
|
254
|
+
command: step.command,
|
|
255
|
+
args: step.args,
|
|
256
|
+
cwd: step.cwd,
|
|
257
|
+
display: step.display,
|
|
258
|
+
...(step.environmentNeedKind === undefined
|
|
259
|
+
? {}
|
|
260
|
+
: { environmentNeedKind: step.environmentNeedKind }),
|
|
261
|
+
};
|
|
262
|
+
});
|
|
258
263
|
}
|
|
259
264
|
function addedPresetEnvironmentNeeds(manifest, scenario, projectDir, addedPackagePath, options) {
|
|
260
265
|
if (!scenario.addedPreset || !addedPackagePath) {
|
|
@@ -264,30 +269,35 @@ function addedPresetEnvironmentNeeds(manifest, scenario, projectDir, addedPackag
|
|
|
264
269
|
if (need.owner.kind !== "package-boundary") {
|
|
265
270
|
return need;
|
|
266
271
|
}
|
|
267
|
-
return {
|
|
268
|
-
|
|
272
|
+
return playwrightBrowserAssetsEnvironmentNeed({
|
|
273
|
+
browser: need.browser,
|
|
269
274
|
owner: { kind: "package-boundary", path: addedPackagePath },
|
|
270
|
-
|
|
275
|
+
machineVerifiable: need.nextStep.machineVerifiable,
|
|
276
|
+
});
|
|
271
277
|
});
|
|
272
278
|
}
|
|
273
279
|
function environmentNeedStep(need, projectDir) {
|
|
274
|
-
const display = renderPlaywrightBrowserInstallCommand(need);
|
|
275
|
-
const [command, ...args] = display.split(" ");
|
|
276
|
-
if (command === undefined) {
|
|
277
|
-
throw new Error(`Cannot parse environment setup command: ${display}`);
|
|
278
|
-
}
|
|
279
280
|
return {
|
|
280
|
-
id:
|
|
281
|
-
command,
|
|
282
|
-
args,
|
|
281
|
+
id: need.nextStep.id,
|
|
282
|
+
command: need.nextStep.command,
|
|
283
|
+
args: [...need.nextStep.args],
|
|
283
284
|
cwd: projectDir,
|
|
284
|
-
display,
|
|
285
|
+
display: need.nextStep.display,
|
|
286
|
+
environmentNeedKind: need.kind,
|
|
285
287
|
};
|
|
286
288
|
}
|
|
289
|
+
export function generatedScenarioEnvironmentNeedSteps(needs, projectDir) {
|
|
290
|
+
return needs
|
|
291
|
+
.filter((need) => need.nextStep.machineVerifiable)
|
|
292
|
+
.map((need) => environmentNeedStep(need, projectDir));
|
|
293
|
+
}
|
|
294
|
+
export function generatedScenarioRequiresSerializedRootCheck(steps) {
|
|
295
|
+
return steps.some((step) => step.environmentNeedKind === "playwright-browser-assets");
|
|
296
|
+
}
|
|
287
297
|
export function generatedScenarioQualityGateSteps(manifest, scenario, projectDir, addedPackagePath, options) {
|
|
288
298
|
const normalizedOptions = normalizeRunnerOptions(options);
|
|
289
299
|
const steps = machineVerifiableNextStepsForPreset(scenario.basePreset, projectDir, manifest, normalizedOptions);
|
|
290
|
-
const addedEnvironmentSteps = addedPresetEnvironmentNeeds(manifest, scenario, projectDir, addedPackagePath, normalizedOptions)
|
|
300
|
+
const addedEnvironmentSteps = generatedScenarioEnvironmentNeedSteps(addedPresetEnvironmentNeeds(manifest, scenario, projectDir, addedPackagePath, normalizedOptions), projectDir);
|
|
291
301
|
const existingDisplays = new Set(steps.map((step) => step.display));
|
|
292
302
|
const extraEnvironmentSteps = addedEnvironmentSteps.filter((step) => !existingDisplays.has(step.display));
|
|
293
303
|
if (extraEnvironmentSteps.length === 0) {
|
|
@@ -305,7 +315,7 @@ export function generatedScenarioQualityGateSteps(manifest, scenario, projectDir
|
|
|
305
315
|
}
|
|
306
316
|
async function runGeneratedScenarioQualityGate(manifest, scenario, projectDir, addedPackagePath, options) {
|
|
307
317
|
const steps = generatedScenarioQualityGateSteps(manifest, scenario, projectDir, addedPackagePath, options);
|
|
308
|
-
const requiresSerializedPlaywrightRootCheck = steps
|
|
318
|
+
const requiresSerializedPlaywrightRootCheck = generatedScenarioRequiresSerializedRootCheck(steps);
|
|
309
319
|
for (const step of steps) {
|
|
310
320
|
const env = step.id === "run-root-check" ? { CI: "1" } : undefined;
|
|
311
321
|
const runStep = async () => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PackageManager, ProjectBlueprint } from "
|
|
1
|
+
import type { PackageManager, ProjectBlueprint } from "@ykdz/template-shared";
|
|
2
2
|
import type { ResolvedToolchainVersions } from "./toolchain-resolution.js";
|
|
3
3
|
export type ProjectName = {
|
|
4
4
|
readonly kind: "ProjectName";
|
|
@@ -13,6 +13,14 @@ export type CheckEnvironmentNeed = {
|
|
|
13
13
|
readonly kind: "playwright-browser-assets";
|
|
14
14
|
readonly browser: "chromium";
|
|
15
15
|
readonly owner: ComponentOwner;
|
|
16
|
+
readonly nextStep: {
|
|
17
|
+
readonly id: string;
|
|
18
|
+
readonly label: string;
|
|
19
|
+
readonly command: string;
|
|
20
|
+
readonly args: readonly string[];
|
|
21
|
+
readonly display: string;
|
|
22
|
+
readonly machineVerifiable: boolean;
|
|
23
|
+
};
|
|
16
24
|
};
|
|
17
25
|
export type CheckComponent = {
|
|
18
26
|
readonly kind: CheckComponentKind;
|
|
@@ -31,4 +39,14 @@ export type FixPlan = {
|
|
|
31
39
|
};
|
|
32
40
|
export declare function renderRootCheckCommand(plan: CheckPlan): string;
|
|
33
41
|
export declare function renderFixCommand(plan: FixPlan): string;
|
|
34
|
-
export declare function renderPlaywrightBrowserInstallCommand(need: CheckEnvironmentNeed
|
|
42
|
+
export declare function renderPlaywrightBrowserInstallCommand(need: CheckEnvironmentNeed, options?: {
|
|
43
|
+
readonly withDeps?: boolean;
|
|
44
|
+
}): string;
|
|
45
|
+
export declare function playwrightBrowserAssetsNextStepDescriptor(owner: ComponentOwner): Pick<CheckEnvironmentNeed["nextStep"], "id" | "label">;
|
|
46
|
+
export declare function playwrightBrowserAssetsEnvironmentNeed(options: {
|
|
47
|
+
readonly browser: "chromium";
|
|
48
|
+
readonly owner: ComponentOwner;
|
|
49
|
+
readonly id?: string;
|
|
50
|
+
readonly label?: string;
|
|
51
|
+
readonly machineVerifiable?: boolean;
|
|
52
|
+
}): CheckEnvironmentNeed;
|
|
@@ -58,9 +58,48 @@ export function renderRootCheckCommand(plan) {
|
|
|
58
58
|
export function renderFixCommand(plan) {
|
|
59
59
|
return plan.components.map(renderFixComponentCommand).join(" && ");
|
|
60
60
|
}
|
|
61
|
-
|
|
61
|
+
function playwrightBrowserInstallArgs(need, options = {}) {
|
|
62
|
+
const installArgs = [
|
|
63
|
+
"exec",
|
|
64
|
+
"playwright",
|
|
65
|
+
"install",
|
|
66
|
+
...(options.withDeps ? ["--with-deps"] : []),
|
|
67
|
+
need.browser,
|
|
68
|
+
];
|
|
62
69
|
if (need.owner.kind === "package-boundary" && need.owner.path !== ".") {
|
|
63
|
-
return
|
|
70
|
+
return ["--filter", `./${need.owner.path}`, ...installArgs];
|
|
64
71
|
}
|
|
65
|
-
return
|
|
72
|
+
return installArgs;
|
|
73
|
+
}
|
|
74
|
+
export function renderPlaywrightBrowserInstallCommand(need, options = {}) {
|
|
75
|
+
return ["pnpm", ...playwrightBrowserInstallArgs(need, options)].join(" ");
|
|
76
|
+
}
|
|
77
|
+
export function playwrightBrowserAssetsNextStepDescriptor(owner) {
|
|
78
|
+
if (owner.kind === "package-boundary" && owner.path !== ".") {
|
|
79
|
+
return {
|
|
80
|
+
id: `install-${owner.path.replaceAll("/", "-")}-playwright-browsers`,
|
|
81
|
+
label: `Install Playwright browser assets for ${owner.path} package`,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
return {
|
|
85
|
+
id: "install-workspace-playwright-browsers",
|
|
86
|
+
label: "Install Playwright browser assets for workspace",
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
export function playwrightBrowserAssetsEnvironmentNeed(options) {
|
|
90
|
+
const args = playwrightBrowserInstallArgs(options);
|
|
91
|
+
const descriptor = playwrightBrowserAssetsNextStepDescriptor(options.owner);
|
|
92
|
+
return {
|
|
93
|
+
kind: "playwright-browser-assets",
|
|
94
|
+
browser: options.browser,
|
|
95
|
+
owner: options.owner,
|
|
96
|
+
nextStep: {
|
|
97
|
+
id: options.id ?? descriptor.id,
|
|
98
|
+
label: options.label ?? descriptor.label,
|
|
99
|
+
command: "pnpm",
|
|
100
|
+
args,
|
|
101
|
+
display: ["pnpm", ...args].join(" "),
|
|
102
|
+
machineVerifiable: options.machineVerifiable ?? true,
|
|
103
|
+
},
|
|
104
|
+
};
|
|
66
105
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { CheckEnvironmentNeed } from "./module-graph.js";
|
|
1
2
|
import type { PresetProjectionPlan } from "./preset-projection.js";
|
|
2
3
|
export type NextStepInstruction = {
|
|
3
4
|
readonly id: string;
|
|
@@ -8,6 +9,7 @@ export type NextStepInstruction = {
|
|
|
8
9
|
readonly cwd: string;
|
|
9
10
|
readonly display: string;
|
|
10
11
|
readonly machineVerifiable: boolean;
|
|
12
|
+
readonly environmentNeedKind?: CheckEnvironmentNeed["kind"];
|
|
11
13
|
};
|
|
12
14
|
export type NextStepInstructionPlan = {
|
|
13
15
|
readonly targetDir: string;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { renderPlaywrightBrowserInstallCommand } from "./module-graph.js";
|
|
2
1
|
function rootCheckInstruction() {
|
|
3
2
|
return {
|
|
4
3
|
id: "run-root-check",
|
|
@@ -70,27 +69,17 @@ function fixInstruction() {
|
|
|
70
69
|
};
|
|
71
70
|
}
|
|
72
71
|
function checkEnvironmentInstructions(plan) {
|
|
73
|
-
return plan.checkPlan.environmentNeeds.map((need) => {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
? "Install Playwright browser assets for web workspace"
|
|
85
|
-
: "Install Playwright browser assets",
|
|
86
|
-
kind: "command",
|
|
87
|
-
command,
|
|
88
|
-
args,
|
|
89
|
-
cwd: "",
|
|
90
|
-
display,
|
|
91
|
-
machineVerifiable: true,
|
|
92
|
-
};
|
|
93
|
-
});
|
|
72
|
+
return plan.checkPlan.environmentNeeds.map((need) => ({
|
|
73
|
+
id: need.nextStep.id,
|
|
74
|
+
label: need.nextStep.label,
|
|
75
|
+
kind: "command",
|
|
76
|
+
command: need.nextStep.command,
|
|
77
|
+
args: need.nextStep.args,
|
|
78
|
+
cwd: "",
|
|
79
|
+
display: need.nextStep.display,
|
|
80
|
+
machineVerifiable: need.nextStep.machineVerifiable,
|
|
81
|
+
environmentNeedKind: need.kind,
|
|
82
|
+
}));
|
|
94
83
|
}
|
|
95
84
|
function projectionInstructions(plan) {
|
|
96
85
|
const steps = [installDependenciesInstruction()];
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import type { PackageAdditionSupport as SharedPackageAdditionSupportType } from "@ykdz/template-shared";
|
|
1
2
|
export declare const PackageAdditionSupport: {
|
|
2
3
|
readonly Supported: "supported";
|
|
3
4
|
readonly Unsupported: "unsupported";
|
|
4
5
|
};
|
|
5
|
-
export type PackageAdditionSupport =
|
|
6
|
+
export type PackageAdditionSupport = SharedPackageAdditionSupportType;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { mkdir, readFile, stat, writeFile } from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
|
-
import { validateProjectBlueprint, } from "
|
|
3
|
+
import { validateProjectBlueprint, } from "@ykdz/template-shared";
|
|
4
|
+
import { PackageAdditionSupport, } from "@ykdz/template-shared";
|
|
4
5
|
import { collectGeneratedManifestCatalogReferences, pnpmWorkspaceYamlWithCatalogDependencies, } from "./dependency-catalog.js";
|
|
5
|
-
import { PackageAdditionSupport } from "./package-addition-support.js";
|
|
6
6
|
import { assertTypeScriptPackageBoundaryForLinkIntent, packageTurboTasks, planPackageLinks, } from "./package-linking.js";
|
|
7
7
|
import { findPresetSourceManifestPreset, } from "./preset-source.js";
|
|
8
8
|
import { defaultPackagePathForPresetSourcePackageAddition, planPresetSourcePackageAddition, } from "./projection-capabilities.js";
|
|
@@ -407,21 +407,6 @@ function rootScriptWithTurboPackageTask(script, task, workspacePackageGlobs) {
|
|
|
407
407
|
commands[turboCommandIndex] = turboPackageTaskCommand(task, workspacePackageGlobs);
|
|
408
408
|
return commands.join(" && ");
|
|
409
409
|
}
|
|
410
|
-
function turboTaskNamesForPackageManifests(manifests) {
|
|
411
|
-
const taskNames = [];
|
|
412
|
-
for (const taskName of [
|
|
413
|
-
"typecheck",
|
|
414
|
-
"build",
|
|
415
|
-
"test",
|
|
416
|
-
"test:e2e",
|
|
417
|
-
"check",
|
|
418
|
-
]) {
|
|
419
|
-
if (manifests.some((manifest) => typeof manifest.scripts?.[taskName] === "string")) {
|
|
420
|
-
taskNames.push(taskName);
|
|
421
|
-
}
|
|
422
|
-
}
|
|
423
|
-
return taskNames;
|
|
424
|
-
}
|
|
425
410
|
function rootScriptWithTurboPackageTasks(options) {
|
|
426
411
|
const rootCommands = options.script
|
|
427
412
|
.split(" && ")
|
|
@@ -429,11 +414,9 @@ function rootScriptWithTurboPackageTasks(options) {
|
|
|
429
414
|
const turboCommands = options.taskNames.map((taskName) => turboPackageTaskCommand(taskName, options.workspacePackageGlobs));
|
|
430
415
|
return [...rootCommands, ...turboCommands].join(" && ");
|
|
431
416
|
}
|
|
432
|
-
function rootPackageJsonWithPackageTaskFilters(input, blueprint
|
|
417
|
+
function rootPackageJsonWithPackageTaskFilters(input, blueprint) {
|
|
433
418
|
assertRootPackageJson(input);
|
|
434
419
|
const workspacePackageGlobs = workspacePackageGlobsFromBlueprint(blueprint);
|
|
435
|
-
const taskNames = turboTaskNamesForPackageManifests(packageManifests);
|
|
436
|
-
const rootCheckTaskNames = taskNames.filter((taskName) => taskName !== "test:e2e");
|
|
437
420
|
const checkScript = input.scripts.check;
|
|
438
421
|
const fixScript = input.scripts.fix;
|
|
439
422
|
if (checkScript === undefined || fixScript === undefined) {
|
|
@@ -445,7 +428,7 @@ function rootPackageJsonWithPackageTaskFilters(input, blueprint, packageManifest
|
|
|
445
428
|
...input.scripts,
|
|
446
429
|
check: rootScriptWithTurboPackageTasks({
|
|
447
430
|
script: checkScript,
|
|
448
|
-
taskNames:
|
|
431
|
+
taskNames: ["check"],
|
|
449
432
|
workspacePackageGlobs,
|
|
450
433
|
}),
|
|
451
434
|
fix: rootScriptWithTurboPackageTask(fixScript, "fix", workspacePackageGlobs),
|
|
@@ -539,7 +522,7 @@ async function planRootUpdates(root, blueprint, packageName, packagePath, packag
|
|
|
539
522
|
manifestOverrides,
|
|
540
523
|
});
|
|
541
524
|
const workspaceText = pnpmWorkspaceYamlWithCatalogDependencies(workspaceTextWithPackageGlob(await readFile(path.join(root, "pnpm-workspace.yaml"), "utf8"), workspacePackageGlob), catalogDependenciesWithSharedOxcRuntimeDependencies(catalogDependencies, requiresSharedOxcConfiguration));
|
|
542
|
-
const rootPackageJson = rootPackageJsonWithPackageTaskFilters(await readJson(path.join(root, "package.json")), nextBlueprint
|
|
525
|
+
const rootPackageJson = rootPackageJsonWithPackageTaskFilters(await readJson(path.join(root, "package.json")), nextBlueprint);
|
|
543
526
|
return {
|
|
544
527
|
blueprint: nextBlueprint,
|
|
545
528
|
rootPackageJson: rootPackageJsonWithSharedOxcRuntimeDependencies(rootPackageJson, requiresSharedOxcConfiguration),
|
|
@@ -1,15 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
export type
|
|
1
|
+
import type { PackageLinkIntent, PackageRole, PackageSourcePreset } from "@ykdz/template-shared";
|
|
2
|
+
export type { PackageLinkIntent, PackageRole, PackageSourcePreset, } from "@ykdz/template-shared";
|
|
3
3
|
export type PackageDefinition = {
|
|
4
4
|
readonly name: string;
|
|
5
5
|
readonly path: string;
|
|
6
6
|
readonly role?: PackageRole;
|
|
7
7
|
readonly sourcePreset?: PackageSourcePreset;
|
|
8
8
|
};
|
|
9
|
-
export type PackageLinkIntent = {
|
|
10
|
-
readonly consumerPackagePath: string;
|
|
11
|
-
readonly providerPackagePath: string;
|
|
12
|
-
};
|
|
13
9
|
export type JitSourcePackageExposure = {
|
|
14
10
|
readonly kind: "jit-source";
|
|
15
11
|
readonly entrypoint: string;
|
|
@@ -75,7 +75,7 @@ export function packageTurboTasks({ dependencyBuildsRequired, }) {
|
|
|
75
75
|
"test:e2e": {
|
|
76
76
|
dependsOn: dependencyBuildsRequired ? ["build", "^build"] : ["build"],
|
|
77
77
|
},
|
|
78
|
-
check: { dependsOn: ["typecheck", "build", "test"
|
|
78
|
+
check: { dependsOn: ["typecheck", "build", "test"] },
|
|
79
79
|
fix: { cache: false },
|
|
80
80
|
};
|
|
81
81
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import type { BuiltInPreset, ProjectBlueprint } from "
|
|
1
|
+
import type { BuiltInPreset, PackageRole, PackageSourcePreset, ProjectBlueprint } from "@ykdz/template-shared";
|
|
2
2
|
import type { GenerationContext } from "./generation-context.js";
|
|
3
3
|
import { type CheckPlan, type FixPlan } from "./module-graph.js";
|
|
4
4
|
import { type NextStepInstruction } from "./next-step-instructions.js";
|
|
5
|
-
import type { PackageRole, PackageSourcePreset } from "./package-linking.js";
|
|
6
5
|
import type { DependencyMaintenancePolicy } from "./project-github.js";
|
|
7
6
|
import type { RenderOperation } from "./renderer.js";
|
|
8
7
|
export type PresetPackageAdditionOptions = {
|