@ykdz/template 0.0.24 → 0.0.26
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/node_modules/@ykdz/template-builtin-presets/dist/src/foundation.d.ts +3 -5
- package/node_modules/@ykdz/template-builtin-presets/dist/src/foundation.js +172 -165
- package/node_modules/@ykdz/template-builtin-presets/dist/src/rust-bin/definition.js +4 -24
- package/node_modules/@ykdz/template-builtin-presets/dist/src/shared/vue.d.ts +0 -3
- package/node_modules/@ykdz/template-builtin-presets/dist/src/shared/vue.js +8 -26
- package/node_modules/@ykdz/template-builtin-presets/dist/src/ts-lib/definition.js +5 -29
- package/node_modules/@ykdz/template-builtin-presets/dist/src/vike-app/definition.js +24 -50
- package/node_modules/@ykdz/template-builtin-presets/dist/src/vue-app/definition.js +2 -4
- package/node_modules/@ykdz/template-builtin-presets/dist/src/vue-hono-app/definition.js +9 -26
- package/node_modules/@ykdz/template-builtin-presets/package.json +2 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/.github/workflows/check-playwright.yml +1 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/.github/workflows/check-rust.yml +1 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/.github/workflows/check.dynamic.template +1 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/.github/workflows/check.yml +1 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/pnpm-workspace.dynamic.txt +1 -5
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/pnpm-workspace.yaml +2 -3
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/scripts/check-boundaries.ts +12 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/scripts/run-root-owned-task.ts +69 -0
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/tsconfig.json +6 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/turbo.json +15 -8
- package/node_modules/@ykdz/template-builtin-presets/templates/rust-bin/.github/workflows/check.yml +1 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/rust-bin/Cargo.lock +2 -2
- package/node_modules/@ykdz/template-builtin-presets/templates/rust-bin/Cargo.toml +1 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/shared/devcontainer/node-pnpm.Dockerfile +5 -2
- package/node_modules/@ykdz/template-builtin-presets/templates/ts-lib/.github/workflows/check.yml +1 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/turbo.json +1 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db-migrations/turbo.json +2 -2
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/Dockerfile +5 -6
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/scripts/check-standalone-deployment.ts +1 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/tsconfig.json +1 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/turbo.json +3 -3
- package/node_modules/@ykdz/template-builtin-presets/templates/vue-app/.github/workflows/check.yml +1 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/vue-app/turbo.json +3 -3
- package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/api/turbo.json +1 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/web/playwright.config.ts +1 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/web/turbo.json +2 -2
- package/node_modules/@ykdz/template-core/dist/Cargo.lock +2 -2
- package/node_modules/@ykdz/template-core/dist/Cargo.toml +1 -1
- package/node_modules/@ykdz/template-core/dist/dependency-catalog.d.ts +0 -1
- package/node_modules/@ykdz/template-core/dist/dependency-catalog.js +2 -8
- package/node_modules/@ykdz/template-core/dist/module-graph.d.ts +39 -37
- package/node_modules/@ykdz/template-core/dist/module-graph.js +84 -142
- package/node_modules/@ykdz/template-core/dist/package-contribution.d.ts +3 -5
- package/node_modules/@ykdz/template-core/dist/package-contribution.js +7 -7
- package/node_modules/@ykdz/template-core/dist/pnpm-workspace.yaml +5 -7
- package/node_modules/@ykdz/template-core/dist/project-github.d.ts +11 -3
- package/node_modules/@ykdz/template-core/dist/project-github.js +31 -36
- package/node_modules/@ykdz/template-core/dist/project-linking-v2.d.ts +1 -1
- package/node_modules/@ykdz/template-core/dist/renderer.js +38 -21
- package/package.json +1 -1
- package/node_modules/@ykdz/template-builtin-presets/templates/foundation/.pnpmfile.cts +0 -14
package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/web/playwright.config.ts
CHANGED
|
@@ -24,7 +24,7 @@ export default defineConfig({
|
|
|
24
24
|
},
|
|
25
25
|
webServer: [
|
|
26
26
|
{
|
|
27
|
-
command: `pnpm --dir ../api run build
|
|
27
|
+
command: `pnpm --dir ../api run build && PORT=${apiPort} pnpm --dir ../api run start`,
|
|
28
28
|
url: apiHealthUrl,
|
|
29
29
|
reuseExistingServer: false,
|
|
30
30
|
},
|
|
@@ -4,9 +4,9 @@ version = 4
|
|
|
4
4
|
|
|
5
5
|
[[package]]
|
|
6
6
|
name = "anyhow"
|
|
7
|
-
version = "1.0.
|
|
7
|
+
version = "1.0.104"
|
|
8
8
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
9
|
-
checksum = "
|
|
9
|
+
checksum = "330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470"
|
|
10
10
|
|
|
11
11
|
[[package]]
|
|
12
12
|
name = "template-cargo-dependencies"
|
|
@@ -12,7 +12,6 @@ export type GeneratedDependencyCatalogOptions = {
|
|
|
12
12
|
};
|
|
13
13
|
readonly minimumReleaseAgeExclude?: readonly string[];
|
|
14
14
|
readonly overrides?: Readonly<Record<string, string>>;
|
|
15
|
-
readonly pnpmfile?: string;
|
|
16
15
|
};
|
|
17
16
|
export type GeneratedPackageManifestDependencies = {
|
|
18
17
|
readonly dependencies?: Record<string, string>;
|
|
@@ -218,15 +218,12 @@ export function renderGeneratedPnpmWorkspaceYaml(options) {
|
|
|
218
218
|
]
|
|
219
219
|
: []),
|
|
220
220
|
`nodeLinker: ${dependencyLinker}`,
|
|
221
|
-
...(options.pnpmfile === undefined
|
|
222
|
-
? []
|
|
223
|
-
: [`pnpmfile: ${options.pnpmfile}`]),
|
|
224
221
|
"autoInstallPeers: false",
|
|
225
222
|
"resolvePeersFromWorkspaceRoot: false",
|
|
226
223
|
"injectWorkspacePackages: true",
|
|
227
224
|
"dedupeInjectedDeps: false",
|
|
228
225
|
"syncInjectedDepsAfterScripts:",
|
|
229
|
-
" - build
|
|
226
|
+
" - build",
|
|
230
227
|
"minimumReleaseAge: 1440",
|
|
231
228
|
"minimumReleaseAgeStrict: true",
|
|
232
229
|
"",
|
|
@@ -241,10 +238,7 @@ export function renderGeneratedPnpmWorkspaceYaml(options) {
|
|
|
241
238
|
.toSorted(([left], [right]) => left.localeCompare(right))
|
|
242
239
|
.map(([dependency, allowed]) => ` ${dependency}: ${allowed}`), "");
|
|
243
240
|
}
|
|
244
|
-
const overrides = {
|
|
245
|
-
"valibot>typescript": "-",
|
|
246
|
-
...options.overrides,
|
|
247
|
-
};
|
|
241
|
+
const overrides = options.overrides ?? {};
|
|
248
242
|
if (Object.keys(overrides).length > 0) {
|
|
249
243
|
lines.push("overrides:", ...Object.entries(overrides)
|
|
250
244
|
.toSorted(([left], [right]) => left.localeCompare(right))
|
|
@@ -7,8 +7,6 @@ export type WorkspaceOrchestrationOwner = {
|
|
|
7
7
|
readonly path: ".";
|
|
8
8
|
};
|
|
9
9
|
export type ComponentOwner = PackageBoundaryOwner | WorkspaceOrchestrationOwner;
|
|
10
|
-
export type CheckComponentKind = "typescript-typecheck" | "oxc-lint" | "oxc-format-check" | "build" | "unit-test" | "e2e-test" | "turbo-check" | "turbo-package-typecheck" | "turbo-package-build" | "turbo-package-test" | "turbo-package-e2e-test" | "turbo-package-check" | "rustfmt-check" | "cargo-clippy" | "cargo-test";
|
|
11
|
-
export type FixComponentKind = "oxc-format-write" | "oxc-lint-fix" | "turbo-fix" | "turbo-package-fix" | "rustfmt-write";
|
|
12
10
|
export type PlaywrightBrowserAssetsEnvironmentNeed = {
|
|
13
11
|
readonly kind: "playwright-browser-assets";
|
|
14
12
|
readonly browser: "chromium";
|
|
@@ -34,7 +32,7 @@ export type ShellCheckEnvironmentNeed = {
|
|
|
34
32
|
readonly machineVerifiable: false;
|
|
35
33
|
};
|
|
36
34
|
};
|
|
37
|
-
/** Rust
|
|
35
|
+
/** Rust task leaves require the maintained toolchain in local and CI plans. */
|
|
38
36
|
export type RustToolchainEnvironmentNeed = {
|
|
39
37
|
readonly kind: "rust-toolchain";
|
|
40
38
|
readonly owner: ComponentOwner;
|
|
@@ -48,42 +46,46 @@ export type RustToolchainEnvironmentNeed = {
|
|
|
48
46
|
readonly machineVerifiable: boolean;
|
|
49
47
|
};
|
|
50
48
|
};
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
export type DeploymentCheckComponent = {
|
|
58
|
-
readonly kind: "deployment-image";
|
|
59
|
-
readonly owner: PackageBoundaryOwner;
|
|
60
|
-
};
|
|
61
|
-
export type DeploymentCheckEnvironmentNeed = {
|
|
49
|
+
/**
|
|
50
|
+
* Docker is needed only by the focused deployment mode. It is deliberately
|
|
51
|
+
* outside ordinary Check Environment Needs, whose preparation and next steps
|
|
52
|
+
* apply to every generated-check scenario.
|
|
53
|
+
*/
|
|
54
|
+
export type DockerEngineEnvironmentNeed = {
|
|
62
55
|
readonly kind: "docker-engine";
|
|
56
|
+
readonly preparation: {
|
|
57
|
+
readonly id: "verify-docker-engine";
|
|
58
|
+
readonly label: "Verify Docker engine";
|
|
59
|
+
readonly command: "docker";
|
|
60
|
+
readonly args: readonly ["version", "--format", "{{.Server.Version}}"];
|
|
61
|
+
readonly display: "docker version --format {{.Server.Version}}";
|
|
62
|
+
readonly machineVerifiable: true;
|
|
63
|
+
};
|
|
63
64
|
};
|
|
64
|
-
export type
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
export
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
export declare function
|
|
77
|
-
export declare function
|
|
78
|
-
export declare function
|
|
79
|
-
export declare
|
|
80
|
-
export declare function
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
export declare function
|
|
86
|
-
export declare function
|
|
65
|
+
export type CheckEnvironmentNeed = PlaywrightBrowserAssetsEnvironmentNeed | ShellCheckEnvironmentNeed | RustToolchainEnvironmentNeed;
|
|
66
|
+
export type DeploymentEnvironmentNeed = DockerEngineEnvironmentNeed;
|
|
67
|
+
/**
|
|
68
|
+
* The durable form of a Check Environment Need. It deliberately retains only
|
|
69
|
+
* the explicit preparation fact, never a task name or package execution list.
|
|
70
|
+
*/
|
|
71
|
+
export type CheckEnvironmentNeedFact = Pick<PlaywrightBrowserAssetsEnvironmentNeed, "kind" | "browser" | "owner"> | Pick<ShellCheckEnvironmentNeed, "kind" | "owner"> | Pick<RustToolchainEnvironmentNeed, "kind" | "owner" | "toolchain">;
|
|
72
|
+
/** Deployment preparation is likewise durable without selecting an executing package. */
|
|
73
|
+
export type DeploymentEnvironmentNeedFact = Pick<DockerEngineEnvironmentNeed, "kind">;
|
|
74
|
+
export declare function checkEnvironmentNeedFact(need: CheckEnvironmentNeed): CheckEnvironmentNeedFact;
|
|
75
|
+
export declare function checkEnvironmentNeedFromFact(fact: CheckEnvironmentNeedFact): CheckEnvironmentNeed;
|
|
76
|
+
export declare function deploymentEnvironmentNeedFact(need: DeploymentEnvironmentNeed): DeploymentEnvironmentNeedFact;
|
|
77
|
+
export declare function deploymentEnvironmentNeedFromFact(fact: DeploymentEnvironmentNeedFact): DeploymentEnvironmentNeed;
|
|
78
|
+
export declare function rustToolchainEnvironmentNeed(owner: ComponentOwner): RustToolchainEnvironmentNeed;
|
|
79
|
+
export declare function dockerEngineEnvironmentNeed(): DockerEngineEnvironmentNeed;
|
|
80
|
+
export declare const qualityTaskVocabulary: readonly ["boundaries", "format:check", "lint", "typecheck", "build", "test", "test:e2e"];
|
|
81
|
+
export declare function renderTurboRunCommand(taskNames: readonly string[], args?: readonly string[], options?: {
|
|
82
|
+
readonly outputLogs?: "errors-only" | "full";
|
|
83
|
+
readonly continueAfterFailure?: boolean;
|
|
84
|
+
readonly taskPrefix?: boolean;
|
|
85
|
+
}): string;
|
|
86
|
+
export declare function renderRootCheckCommand(): string;
|
|
87
|
+
export declare function renderDeploymentCheckCommand(): string;
|
|
88
|
+
export declare function renderFixCommand(): string;
|
|
87
89
|
export declare function renderPlaywrightBrowserInstallCommand(need: CheckEnvironmentNeed, options?: {
|
|
88
90
|
readonly withDeps?: boolean;
|
|
89
91
|
}): string;
|
|
@@ -1,3 +1,39 @@
|
|
|
1
|
+
export function checkEnvironmentNeedFact(need) {
|
|
2
|
+
switch (need.kind) {
|
|
3
|
+
case "playwright-browser-assets":
|
|
4
|
+
return { kind: need.kind, browser: need.browser, owner: need.owner };
|
|
5
|
+
case "shellcheck-command":
|
|
6
|
+
return { kind: need.kind, owner: need.owner };
|
|
7
|
+
case "rust-toolchain":
|
|
8
|
+
return {
|
|
9
|
+
kind: need.kind,
|
|
10
|
+
owner: need.owner,
|
|
11
|
+
toolchain: need.toolchain,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export function checkEnvironmentNeedFromFact(fact) {
|
|
16
|
+
switch (fact.kind) {
|
|
17
|
+
case "playwright-browser-assets":
|
|
18
|
+
return playwrightBrowserAssetsEnvironmentNeed({
|
|
19
|
+
browser: fact.browser,
|
|
20
|
+
owner: fact.owner,
|
|
21
|
+
});
|
|
22
|
+
case "shellcheck-command":
|
|
23
|
+
return shellCheckEnvironmentNeed(fact.owner);
|
|
24
|
+
case "rust-toolchain":
|
|
25
|
+
return rustToolchainEnvironmentNeed(fact.owner);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export function deploymentEnvironmentNeedFact(need) {
|
|
29
|
+
return { kind: need.kind };
|
|
30
|
+
}
|
|
31
|
+
export function deploymentEnvironmentNeedFromFact(fact) {
|
|
32
|
+
if (fact.kind !== "docker-engine") {
|
|
33
|
+
throw new Error("Unsupported Deployment Environment Need fact.");
|
|
34
|
+
}
|
|
35
|
+
return dockerEngineEnvironmentNeed();
|
|
36
|
+
}
|
|
1
37
|
export function rustToolchainEnvironmentNeed(owner) {
|
|
2
38
|
return {
|
|
3
39
|
kind: "rust-toolchain",
|
|
@@ -21,150 +57,56 @@ export function rustToolchainEnvironmentNeed(owner) {
|
|
|
21
57
|
},
|
|
22
58
|
};
|
|
23
59
|
}
|
|
24
|
-
function
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
60
|
+
export function dockerEngineEnvironmentNeed() {
|
|
61
|
+
return {
|
|
62
|
+
kind: "docker-engine",
|
|
63
|
+
preparation: {
|
|
64
|
+
id: "verify-docker-engine",
|
|
65
|
+
label: "Verify Docker engine",
|
|
66
|
+
command: "docker",
|
|
67
|
+
args: ["version", "--format", "{{.Server.Version}}"],
|
|
68
|
+
display: "docker version --format {{.Server.Version}}",
|
|
69
|
+
machineVerifiable: true,
|
|
70
|
+
},
|
|
71
|
+
};
|
|
29
72
|
}
|
|
30
|
-
const
|
|
31
|
-
"
|
|
32
|
-
"
|
|
73
|
+
export const qualityTaskVocabulary = [
|
|
74
|
+
"boundaries",
|
|
75
|
+
"format:check",
|
|
76
|
+
"lint",
|
|
77
|
+
"typecheck",
|
|
78
|
+
"build",
|
|
79
|
+
"test",
|
|
80
|
+
"test:e2e",
|
|
33
81
|
];
|
|
34
|
-
export function renderTurboRunCommand(taskNames, args = []) {
|
|
35
|
-
return [
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
case "turbo-package-check":
|
|
63
|
-
return [
|
|
64
|
-
"format:check:run",
|
|
65
|
-
"lint:run",
|
|
66
|
-
"typecheck:run",
|
|
67
|
-
"build:run",
|
|
68
|
-
"test:run",
|
|
69
|
-
"test:e2e:run",
|
|
70
|
-
];
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
export function fixComponentTaskName(component) {
|
|
74
|
-
return fixComponentTaskNames(component)[0] ?? "fix:run";
|
|
75
|
-
}
|
|
76
|
-
function fixComponentTaskNames(component) {
|
|
77
|
-
switch (component.kind) {
|
|
78
|
-
case "oxc-format-write":
|
|
79
|
-
case "rustfmt-write":
|
|
80
|
-
return ["format:write:run"];
|
|
81
|
-
case "oxc-lint-fix":
|
|
82
|
-
return ["lint:fix:run"];
|
|
83
|
-
case "turbo-fix":
|
|
84
|
-
case "turbo-package-fix":
|
|
85
|
-
return ["format:write:run", "lint:fix:run"];
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
function uniqueTaskNames(taskNames) {
|
|
89
|
-
return [...new Set(taskNames)];
|
|
90
|
-
}
|
|
91
|
-
export function renderCheckLeafCommand(component) {
|
|
92
|
-
switch (component.kind) {
|
|
93
|
-
case "typescript-typecheck":
|
|
94
|
-
return "pnpm run typecheck";
|
|
95
|
-
case "oxc-lint":
|
|
96
|
-
return "pnpm run lint";
|
|
97
|
-
case "oxc-format-check":
|
|
98
|
-
return "pnpm run format:check";
|
|
99
|
-
case "build":
|
|
100
|
-
return "pnpm run build";
|
|
101
|
-
case "unit-test":
|
|
102
|
-
return "pnpm run test";
|
|
103
|
-
case "e2e-test":
|
|
104
|
-
return "pnpm run test:e2e";
|
|
105
|
-
case "turbo-check":
|
|
106
|
-
return renderTurboRunCommand(["check"]);
|
|
107
|
-
case "turbo-package-typecheck":
|
|
108
|
-
return renderTurboRunCommand(["typecheck"], [renderTurboPackageFilter(component.owner)]);
|
|
109
|
-
case "turbo-package-build":
|
|
110
|
-
return renderTurboRunCommand(["build"], [renderTurboPackageFilter(component.owner)]);
|
|
111
|
-
case "turbo-package-test":
|
|
112
|
-
return renderTurboRunCommand(["test"], [renderTurboPackageFilter(component.owner)]);
|
|
113
|
-
case "turbo-package-e2e-test":
|
|
114
|
-
return renderTurboRunCommand(["test:e2e"], [renderTurboPackageFilter(component.owner)]);
|
|
115
|
-
case "turbo-package-check":
|
|
116
|
-
return renderTurboRunCommand(["check"], [renderTurboPackageFilter(component.owner)]);
|
|
117
|
-
case "rustfmt-check":
|
|
118
|
-
return "cargo fmt --all -- --check";
|
|
119
|
-
case "cargo-clippy":
|
|
120
|
-
return "cargo clippy --workspace --all-targets -- -D warnings";
|
|
121
|
-
case "cargo-test":
|
|
122
|
-
return "cargo test --workspace";
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
export function renderFixLeafCommand(component) {
|
|
126
|
-
switch (component.kind) {
|
|
127
|
-
case "oxc-format-write":
|
|
128
|
-
return "pnpm run format:write";
|
|
129
|
-
case "oxc-lint-fix":
|
|
130
|
-
return "pnpm run lint:fix";
|
|
131
|
-
case "turbo-fix":
|
|
132
|
-
return renderTurboRunCommand(["fix"]);
|
|
133
|
-
case "turbo-package-fix":
|
|
134
|
-
return renderTurboRunCommand(["fix"], [renderTurboPackageFilter(component.owner)]);
|
|
135
|
-
case "rustfmt-write":
|
|
136
|
-
return "cargo fmt --all";
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
export function renderRootCheckCommand(plan) {
|
|
140
|
-
return renderTurboRunCommand(uniqueTaskNames([
|
|
141
|
-
...plan.components.flatMap(checkComponentTaskNames),
|
|
142
|
-
"check:run",
|
|
143
|
-
]));
|
|
144
|
-
}
|
|
145
|
-
export function deploymentCheckEnvironmentNeeds(check) {
|
|
146
|
-
switch (check.kind) {
|
|
147
|
-
case "deployment-image":
|
|
148
|
-
return [{ kind: "docker-engine" }];
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
export function deploymentCheckTaskName(check) {
|
|
152
|
-
switch (check.kind) {
|
|
153
|
-
case "deployment-image":
|
|
154
|
-
return "check:deployment";
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
export function renderDeploymentCheckLeafCommand(check) {
|
|
158
|
-
return `pnpm --filter './${check.owner.path}' run ${deploymentCheckTaskName(check)}`;
|
|
159
|
-
}
|
|
160
|
-
export function renderDeploymentCheckCommand(plan) {
|
|
161
|
-
return uniqueTaskNames((plan.deploymentChecks ?? []).map(renderDeploymentCheckLeafCommand)).join(" && ");
|
|
162
|
-
}
|
|
163
|
-
export function renderFixCommand(plan) {
|
|
164
|
-
return renderTurboRunCommand(uniqueTaskNames([
|
|
165
|
-
...plan.components.flatMap(fixComponentTaskNames),
|
|
166
|
-
"fix:run",
|
|
167
|
-
]));
|
|
82
|
+
export function renderTurboRunCommand(taskNames, args = [], options = {}) {
|
|
83
|
+
return [
|
|
84
|
+
"turbo run",
|
|
85
|
+
...taskNames,
|
|
86
|
+
...args,
|
|
87
|
+
...(options.continueAfterFailure
|
|
88
|
+
? ["--continue=dependencies-successful"]
|
|
89
|
+
: []),
|
|
90
|
+
`--output-logs=${options.outputLogs ?? "errors-only"}`,
|
|
91
|
+
"--log-order=grouped",
|
|
92
|
+
...(options.taskPrefix ? ["--log-prefix=task"] : []),
|
|
93
|
+
].join(" ");
|
|
94
|
+
}
|
|
95
|
+
export function renderRootCheckCommand() {
|
|
96
|
+
return renderTurboRunCommand(qualityTaskVocabulary, [], {
|
|
97
|
+
continueAfterFailure: true,
|
|
98
|
+
taskPrefix: true,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
export function renderDeploymentCheckCommand() {
|
|
102
|
+
return renderTurboRunCommand(["deployment"], [], { taskPrefix: true });
|
|
103
|
+
}
|
|
104
|
+
export function renderFixCommand() {
|
|
105
|
+
return renderTurboRunCommand(["lint:fix", "format:write"], [], {
|
|
106
|
+
continueAfterFailure: true,
|
|
107
|
+
outputLogs: "full",
|
|
108
|
+
taskPrefix: true,
|
|
109
|
+
});
|
|
168
110
|
}
|
|
169
111
|
function playwrightBrowserInstallArgs(need, options = {}) {
|
|
170
112
|
const installArgs = [
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { EditorCustomizationCapability } from "./editor-customization.ts";
|
|
2
|
-
import type {
|
|
2
|
+
import type { CheckEnvironmentNeed, DeploymentEnvironmentNeed } from "./module-graph.ts";
|
|
3
3
|
import type { PackageDefinition } from "./project-blueprint-v2.ts";
|
|
4
4
|
import type { DependencyMaintenancePolicy } from "./project-github.ts";
|
|
5
5
|
import type { RenderOperation } from "./renderer.ts";
|
|
@@ -31,11 +31,9 @@ export type PackageContribution = {
|
|
|
31
31
|
readonly operations: readonly RenderOperation[];
|
|
32
32
|
/** Typed requirements consumed by the Foundation for coordinated root outputs. */
|
|
33
33
|
readonly foundation: FoundationContribution;
|
|
34
|
-
readonly checks: readonly CheckComponent[];
|
|
35
|
-
readonly fixes: readonly FixComponent[];
|
|
36
34
|
readonly environmentNeeds: readonly CheckEnvironmentNeed[];
|
|
37
|
-
/**
|
|
38
|
-
readonly
|
|
35
|
+
/** Requirements prepared only by a focused deployment entrypoint. */
|
|
36
|
+
readonly deploymentEnvironmentNeeds?: readonly DeploymentEnvironmentNeed[];
|
|
39
37
|
};
|
|
40
38
|
export declare function assertPackageContribution(contribution: PackageContribution, provenance?: {
|
|
41
39
|
readonly definitionName?: string;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
+
const operationPath = (operation) => {
|
|
2
|
+
if ("to" in operation)
|
|
3
|
+
return operation.to;
|
|
4
|
+
if ("path" in operation)
|
|
5
|
+
return operation.path;
|
|
6
|
+
return "";
|
|
7
|
+
};
|
|
1
8
|
export function assertPackageContribution(contribution, provenance = {}) {
|
|
2
9
|
if (contribution.definition.name !== contribution.manifest.name) {
|
|
3
10
|
throw new Error("Package Contribution manifest name must match its Package Definition");
|
|
4
11
|
}
|
|
5
|
-
const operationPath = (operation) => {
|
|
6
|
-
if ("to" in operation)
|
|
7
|
-
return operation.to;
|
|
8
|
-
if ("path" in operation)
|
|
9
|
-
return operation.path;
|
|
10
|
-
return "";
|
|
11
|
-
};
|
|
12
12
|
const outsideOperation = contribution.operations.find((operation) => !operationPath(operation).startsWith(`${contribution.definition.path}/`));
|
|
13
13
|
if (outsideOperation) {
|
|
14
14
|
const target = operationPath(outsideOperation);
|
|
@@ -11,7 +11,6 @@ dedupeInjectedDeps: false
|
|
|
11
11
|
|
|
12
12
|
syncInjectedDepsAfterScripts:
|
|
13
13
|
- build
|
|
14
|
-
- build:run
|
|
15
14
|
|
|
16
15
|
minimumReleaseAge: 1440
|
|
17
16
|
|
|
@@ -19,7 +18,6 @@ minimumReleaseAgeStrict: true
|
|
|
19
18
|
|
|
20
19
|
overrides:
|
|
21
20
|
"pinia>typescript": "-"
|
|
22
|
-
"valibot>typescript": "-"
|
|
23
21
|
"vue>typescript": "-"
|
|
24
22
|
|
|
25
23
|
catalog:
|
|
@@ -28,24 +26,24 @@ catalog:
|
|
|
28
26
|
"@tailwindcss/vite": ^4.3.2
|
|
29
27
|
"@types/node": ^24.13.3
|
|
30
28
|
"@types/web-bluetooth": ^0.0.21
|
|
31
|
-
"@vitejs/plugin-vue": ^6.0.
|
|
29
|
+
"@vitejs/plugin-vue": ^6.0.8
|
|
32
30
|
"@vikejs/hono": ^0.2.1
|
|
33
31
|
"@vue/tsconfig": ^0.9.1
|
|
34
32
|
drizzle-kit: 1.0.0-rc.4
|
|
35
33
|
drizzle-orm: 1.0.0-rc.4
|
|
36
|
-
execa: ^
|
|
37
|
-
hono: ^4.12.
|
|
34
|
+
execa: ^10.0.0
|
|
35
|
+
hono: ^4.12.31
|
|
38
36
|
oxfmt: ^0.58.0
|
|
39
37
|
oxlint: ^1.73.0
|
|
40
38
|
oxlint-tsgolint: ^0.24.0
|
|
41
39
|
semver: ^7.8.5
|
|
42
40
|
"@types/semver": ^7.7.1
|
|
43
41
|
pinia: ^3.0.4
|
|
44
|
-
srvx: ^0.
|
|
42
|
+
srvx: ^0.12.1
|
|
45
43
|
tailwindcss: ^4.3.2
|
|
46
44
|
telefunc: ^0.2.22
|
|
47
45
|
tsc-alias: ^1.8.17
|
|
48
|
-
turbo: 2.10.
|
|
46
|
+
turbo: 2.10.5
|
|
49
47
|
typescript: npm:@typescript/typescript6@^6.0.2
|
|
50
48
|
typescript-7: npm:typescript@^7.0.2
|
|
51
49
|
valibot: ^1.4.2
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type CheckEnvironmentNeed, type DeploymentEnvironmentNeed } from "./module-graph.ts";
|
|
2
2
|
export type CiCapability = {
|
|
3
3
|
readonly workflowName: "Check";
|
|
4
4
|
readonly jobName: "check";
|
|
@@ -21,7 +21,11 @@ export type DependencyMaintenancePolicy = {
|
|
|
21
21
|
readonly interval: "weekly";
|
|
22
22
|
};
|
|
23
23
|
type ProjectCheckWorkflowOptions = {
|
|
24
|
-
readonly
|
|
24
|
+
readonly environment: {
|
|
25
|
+
readonly needs: readonly CheckEnvironmentNeed[];
|
|
26
|
+
};
|
|
27
|
+
readonly deploymentEnvironmentNeeds?: readonly DeploymentEnvironmentNeed[];
|
|
28
|
+
readonly hasDeploymentTask?: boolean | undefined;
|
|
25
29
|
readonly capability?: CiCapability | undefined;
|
|
26
30
|
readonly environmentPreparation?: Partial<CiEnvironmentPreparation> | undefined;
|
|
27
31
|
readonly taskLayer?: PnpmTaskLayer | undefined;
|
|
@@ -29,7 +33,11 @@ type ProjectCheckWorkflowOptions = {
|
|
|
29
33
|
export declare function projectCheckWorkflow(options: ProjectCheckWorkflowOptions): string;
|
|
30
34
|
/** Limited substitutions for the Foundation-owned workflow Template Source. */
|
|
31
35
|
export declare function projectCheckWorkflowTemplateReplacements(options: {
|
|
32
|
-
readonly
|
|
36
|
+
readonly environment: {
|
|
37
|
+
readonly needs: readonly CheckEnvironmentNeed[];
|
|
38
|
+
};
|
|
39
|
+
readonly deploymentEnvironmentNeeds?: readonly DeploymentEnvironmentNeed[];
|
|
40
|
+
readonly hasDeploymentTask?: boolean | undefined;
|
|
33
41
|
readonly environmentPreparation?: Partial<CiEnvironmentPreparation>;
|
|
34
42
|
}): Record<string, string>;
|
|
35
43
|
export declare function projectDependabotConfig(policy: DependencyMaintenancePolicy): string;
|