@ykdz/template 0.0.3 → 0.0.4

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.
Files changed (84) hide show
  1. package/README.md +1 -1
  2. package/dist/src/cli.d.ts +0 -1
  3. package/dist/src/cli.js +14 -2
  4. package/dist/src/declarations.d.ts +2 -3
  5. package/dist/src/declarations.js +46 -36
  6. package/dist/src/dependency-catalog.d.ts +9 -1
  7. package/dist/src/dependency-catalog.js +69 -0
  8. package/dist/src/devcontainer.d.ts +49 -9
  9. package/dist/src/devcontainer.js +192 -14
  10. package/dist/src/editor-customization.d.ts +0 -1
  11. package/dist/src/editor-customization.js +54 -47
  12. package/dist/src/generation-context.d.ts +0 -1
  13. package/dist/src/generation-context.js +4 -1
  14. package/dist/src/module-graph.d.ts +8 -5
  15. package/dist/src/module-graph.js +10 -0
  16. package/dist/src/next-step-instructions.d.ts +0 -1
  17. package/dist/src/next-step-instructions.js +35 -0
  18. package/dist/src/package-addition.d.ts +1 -1
  19. package/dist/src/package-addition.js +170 -15
  20. package/dist/src/preset-projection.d.ts +1 -1
  21. package/dist/src/project-github.d.ts +3 -2
  22. package/dist/src/project-github.js +24 -6
  23. package/dist/src/renderer.d.ts +16 -2
  24. package/dist/src/renderer.js +95 -12
  25. package/dist/src/runtime-paths.d.ts +0 -1
  26. package/dist/src/template-boundary-check.d.ts +34 -0
  27. package/dist/src/template-boundary-check.js +448 -0
  28. package/dist/src/toolchain-resolution.d.ts +0 -1
  29. package/dist/templates/hono-api/projection.d.ts +2 -3
  30. package/dist/templates/hono-api/projection.js +230 -69
  31. package/dist/templates/projection-plans.d.ts +0 -1
  32. package/dist/templates/registry.d.ts +0 -1
  33. package/dist/templates/registry.js +2 -2
  34. package/dist/templates/rust-bin/projection.d.ts +2 -3
  35. package/dist/templates/rust-bin/projection.js +161 -53
  36. package/dist/templates/ts-lib/projection.d.ts +2 -3
  37. package/dist/templates/ts-lib/projection.js +215 -64
  38. package/dist/templates/vue-app/projection.d.ts +2 -3
  39. package/dist/templates/vue-app/projection.js +246 -83
  40. package/dist/templates/vue-hono-app/projection.d.ts +0 -1
  41. package/dist/templates/vue-hono-app/projection.js +191 -87
  42. package/package.json +10 -5
  43. package/pnpm-workspace.yaml +1 -0
  44. package/templates/hono-api/.github/dependabot.yml +13 -0
  45. package/templates/rust-bin/.github/dependabot.yml +18 -1
  46. package/templates/rust-bin/rust-toolchain.toml +3 -0
  47. package/templates/rust-bin/rustfmt.toml +2 -0
  48. package/templates/shared/devcontainer/browser-test.Dockerfile +2 -0
  49. package/templates/shared/devcontainer/node-pnpm.Dockerfile +6 -0
  50. package/templates/shared/devcontainer/rust.Dockerfile +16 -0
  51. package/templates/shared/editor-customization/capabilities.json +56 -0
  52. package/templates/ts-lib/.github/dependabot.yml +13 -0
  53. package/templates/ts-lib/src/index.ts +5 -1
  54. package/templates/vue-app/.github/dependabot.yml +13 -0
  55. package/templates/vue-app/.github/workflows/check.yml +1 -1
  56. package/templates/vue-hono-app/.github/dependabot.yml +13 -0
  57. package/dist/src/cli.d.ts.map +0 -1
  58. package/dist/src/declarations.d.ts.map +0 -1
  59. package/dist/src/dependency-catalog.d.ts.map +0 -1
  60. package/dist/src/devcontainer.d.ts.map +0 -1
  61. package/dist/src/editor-customization.d.ts.map +0 -1
  62. package/dist/src/generation-context.d.ts.map +0 -1
  63. package/dist/src/module-graph.d.ts.map +0 -1
  64. package/dist/src/next-step-instructions.d.ts.map +0 -1
  65. package/dist/src/package-addition.d.ts.map +0 -1
  66. package/dist/src/preset-projection.d.ts.map +0 -1
  67. package/dist/src/project-github.d.ts.map +0 -1
  68. package/dist/src/renderer.d.ts.map +0 -1
  69. package/dist/src/runtime-paths.d.ts.map +0 -1
  70. package/dist/src/toolchain-resolution.d.ts.map +0 -1
  71. package/dist/templates/hono-api/projection.d.ts.map +0 -1
  72. package/dist/templates/projection-plans.d.ts.map +0 -1
  73. package/dist/templates/registry.d.ts.map +0 -1
  74. package/dist/templates/rust-bin/projection.d.ts.map +0 -1
  75. package/dist/templates/ts-lib/projection.d.ts.map +0 -1
  76. package/dist/templates/vue-app/projection.d.ts.map +0 -1
  77. package/dist/templates/vue-hono-app/projection.d.ts.map +0 -1
  78. package/templates/hono-api/projection.ts +0 -453
  79. package/templates/projection-plans.ts +0 -135
  80. package/templates/registry.ts +0 -59
  81. package/templates/rust-bin/projection.ts +0 -346
  82. package/templates/ts-lib/projection.ts +0 -454
  83. package/templates/vue-app/projection.ts +0 -687
  84. package/templates/vue-hono-app/projection.ts +0 -669
@@ -1,13 +1,11 @@
1
1
  import { existsSync } from "node:fs";
2
2
  import path from "node:path";
3
3
  import { fileURLToPath } from "node:url";
4
- import { renderGeneratedPnpmWorkspaceYaml } from "../../src/dependency-catalog.js";
5
- import { nodePnpmDevcontainer } from "../../src/devcontainer.js";
4
+ import { collectGeneratedManifestCatalogDependencies, renderGeneratedPnpmWorkspaceYaml, } from "../../src/dependency-catalog.js";
5
+ import { checkedDockerfileFirstNodePnpmDevcontainer, nodePnpmToolLayer, } from "../../src/devcontainer.js";
6
6
  import { editorCustomizationForCapabilities } from "../../src/editor-customization.js";
7
7
  import { renderFixCommand, renderRootCheckCommand, } from "../../src/module-graph.js";
8
- import { projectCheckWorkflow, projectDependabotConfig, } from "../../src/project-github.js";
9
8
  import { renderNewProject } from "../../src/renderer.js";
10
- import { planNodeChecks, planNodeFixes } from "../projection-plans.js";
11
9
  const generatedBy = {
12
10
  packageName: "@ykdz/template",
13
11
  version: "0.0.0",
@@ -16,10 +14,10 @@ const generatedBy = {
16
14
  export const honoApiPresetMetadata = {
17
15
  name: "hono-api",
18
16
  title: "Hono API",
19
- description: "Single-package Hono Node API with strict TypeScript tooling.",
17
+ description: "Hono Node API workspace with strict TypeScript tooling.",
20
18
  generation: "supported",
21
19
  supportedPackageManagers: ["pnpm"],
22
- supportedProjectKinds: ["single-package"],
20
+ supportedProjectKinds: ["multi-package"],
23
21
  features: [
24
22
  "pnpm-catalog",
25
23
  "oxc-format-lint",
@@ -32,39 +30,136 @@ export const honoApiPresetMetadata = {
32
30
  ],
33
31
  };
34
32
  const dependencyMaintenancePolicy = {
35
- ecosystems: ["npm", "github-actions"],
33
+ ecosystems: ["npm", "github-actions", "docker"],
36
34
  interval: "weekly",
37
35
  };
38
- export function honoApiBlueprint() {
36
+ const apiPackageBoundary = {
37
+ kind: "package-boundary",
38
+ path: ".",
39
+ };
40
+ const rootBoundary = {
41
+ kind: "workspace-orchestration",
42
+ path: ".",
43
+ };
44
+ const workspacePackageBoundary = {
45
+ kind: "package-boundary",
46
+ path: "apps/*",
47
+ };
48
+ function planHonoApiPackageChecks() {
49
+ return {
50
+ components: [
51
+ { kind: "oxc-format-check", owner: apiPackageBoundary },
52
+ { kind: "oxc-lint", owner: apiPackageBoundary },
53
+ { kind: "typescript-typecheck", owner: apiPackageBoundary },
54
+ { kind: "build", owner: apiPackageBoundary },
55
+ { kind: "unit-test", owner: apiPackageBoundary },
56
+ ],
57
+ environmentNeeds: [],
58
+ };
59
+ }
60
+ function planHonoApiRootChecks() {
61
+ return {
62
+ components: [
63
+ { kind: "oxc-format-check", owner: rootBoundary },
64
+ { kind: "oxc-lint", owner: rootBoundary },
65
+ { kind: "typescript-typecheck", owner: rootBoundary },
66
+ { kind: "turbo-package-check", owner: workspacePackageBoundary },
67
+ ],
68
+ environmentNeeds: [],
69
+ };
70
+ }
71
+ function planHonoApiPackageFixes() {
72
+ return {
73
+ components: [
74
+ { kind: "oxc-format-write", owner: apiPackageBoundary },
75
+ { kind: "oxc-lint-fix", owner: apiPackageBoundary },
76
+ ],
77
+ };
78
+ }
79
+ function planHonoApiRootFixes() {
80
+ return {
81
+ components: [
82
+ { kind: "oxc-format-write", owner: rootBoundary },
83
+ { kind: "oxc-lint-fix", owner: rootBoundary },
84
+ { kind: "turbo-package-fix", owner: workspacePackageBoundary },
85
+ ],
86
+ };
87
+ }
88
+ function projectNameFromDir(targetDir) {
89
+ return path.basename(path.resolve(targetDir));
90
+ }
91
+ function packageScopeFromOptions(options) {
92
+ return options.scope ?? projectNameFromDir(options.targetDir);
93
+ }
94
+ function packageName(packageScope) {
95
+ return `@${packageScope}/api`;
96
+ }
97
+ export function honoApiBlueprint(options = { targetDir: process.cwd() }) {
98
+ const packageScope = packageScopeFromOptions(options);
39
99
  return {
40
100
  schemaVersion: 1,
41
101
  preset: "hono-api",
42
102
  packageManager: "pnpm",
43
- projectKind: "single-package",
103
+ projectKind: "multi-package",
44
104
  features: [...honoApiPresetMetadata.features],
105
+ packages: [{ name: packageName(packageScope), path: "apps/api" }],
106
+ };
107
+ }
108
+ function projectHonoApiRootPackageScripts() {
109
+ return {
110
+ check: renderRootCheckCommand(planHonoApiRootChecks()),
111
+ fix: renderFixCommand(planHonoApiRootFixes()),
112
+ "format:check": "oxfmt --check --config oxfmt.config.ts oxlint.config.ts oxfmt.config.ts",
113
+ "format:write": "oxfmt --write --config oxfmt.config.ts oxlint.config.ts oxfmt.config.ts",
114
+ lint: "oxlint --config oxlint.config.ts oxlint.config.ts oxfmt.config.ts --deny-warnings",
115
+ "lint:fix": "oxlint --config oxlint.config.ts oxlint.config.ts oxfmt.config.ts --fix --deny-warnings",
116
+ typecheck: "tsc -p tsconfig.config.json --noEmit",
45
117
  };
46
118
  }
47
119
  export function projectHonoApiPackageScripts() {
48
120
  return {
49
121
  build: "tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json",
50
- check: renderRootCheckCommand(planNodeChecks("hono-api")),
51
- fix: renderFixCommand(planNodeFixes("hono-api")),
52
- "format:check": "oxfmt --check .",
53
- "format:write": "oxfmt --write .",
54
- lint: "oxlint . --deny-warnings",
55
- "lint:fix": "oxlint . --fix --deny-warnings",
122
+ check: renderRootCheckCommand(planHonoApiPackageChecks()),
123
+ fix: renderFixCommand(planHonoApiPackageFixes()),
124
+ "format:check": "oxfmt --check --config ../../oxfmt.config.ts .",
125
+ "format:write": "oxfmt --write --config ../../oxfmt.config.ts .",
126
+ lint: "oxlint --config ../../oxlint.config.ts . --deny-warnings",
127
+ "lint:fix": "oxlint --config ../../oxlint.config.ts . --fix --deny-warnings",
56
128
  start: "node dist/server.js",
57
129
  test: "vitest run",
58
130
  typecheck: "tsc -p tsconfig.json --noEmit",
59
131
  };
60
132
  }
61
- function packageJson(context, packageScripts) {
133
+ function rootPackageJson(context, packageScripts) {
62
134
  return {
63
135
  name: context.projectName.value,
64
136
  version: "0.0.0",
65
137
  private: true,
66
138
  type: "module",
67
139
  scripts: packageScripts,
140
+ devDependencies: {
141
+ oxfmt: "catalog:",
142
+ oxlint: "catalog:",
143
+ turbo: "catalog:",
144
+ typescript: "catalog:",
145
+ },
146
+ engines: {
147
+ node: context.toolchain.nodeLtsMajor.value,
148
+ },
149
+ packageManager: context.toolchain.packageManagerPin.value,
150
+ };
151
+ }
152
+ function apiPackageName(context) {
153
+ const apiPackage = context.blueprint.packages?.find((pkg) => pkg.path === "apps/api");
154
+ return apiPackage?.name ?? packageName(context.projectName.value);
155
+ }
156
+ function apiPackageJson(context) {
157
+ return {
158
+ name: apiPackageName(context),
159
+ version: "0.0.0",
160
+ private: true,
161
+ type: "module",
162
+ scripts: projectHonoApiPackageScripts(),
68
163
  dependencies: {
69
164
  "@hono/node-server": "catalog:",
70
165
  hono: "catalog:",
@@ -80,7 +175,6 @@ function packageJson(context, packageScripts) {
80
175
  engines: {
81
176
  node: context.toolchain.nodeLtsMajor.value,
82
177
  },
83
- packageManager: context.toolchain.packageManagerPin.value,
84
178
  };
85
179
  }
86
180
  function generationRecord(context) {
@@ -98,33 +192,86 @@ function operationsForHonoApi(context, packageScripts, checkPlan) {
98
192
  "oxc-format-lint",
99
193
  "vitest",
100
194
  ]);
195
+ const developmentContainer = checkedDockerfileFirstNodePnpmDevcontainer({
196
+ name: context.projectName.value,
197
+ layer: nodePnpmToolLayer({
198
+ nodeVersion: context.toolchain.nodeLtsMajor.value,
199
+ packageManagerPin: context.toolchain.packageManagerPin.value,
200
+ }),
201
+ extensions: editorCustomization.extensions,
202
+ settings: editorCustomization.settings,
203
+ });
204
+ const rootManifest = rootPackageJson(context, packageScripts);
205
+ const apiManifest = apiPackageJson(context);
101
206
  return [
102
207
  {
103
208
  kind: "writeJson",
104
209
  to: "package.json",
105
- value: packageJson(context, packageScripts),
210
+ value: rootManifest,
106
211
  },
107
212
  {
108
213
  kind: "writeText",
109
214
  to: "pnpm-workspace.yaml",
110
215
  text: renderGeneratedPnpmWorkspaceYaml({
111
- dependencies: [
112
- "@hono/node-server",
113
- "@types/node",
114
- "hono",
115
- "oxfmt",
116
- "oxlint",
117
- "tsc-alias",
118
- "typescript",
119
- "vitest",
120
- ],
216
+ packages: ["apps/*"],
217
+ dependencies: collectGeneratedManifestCatalogDependencies([
218
+ rootManifest,
219
+ apiManifest,
220
+ ]),
121
221
  }),
122
222
  },
223
+ {
224
+ kind: "writeJson",
225
+ to: "turbo.json",
226
+ value: {
227
+ tasks: {
228
+ build: {
229
+ dependsOn: ["^build"],
230
+ outputs: ["dist/**"],
231
+ },
232
+ check: {
233
+ dependsOn: ["^build"],
234
+ },
235
+ fix: {
236
+ cache: false,
237
+ },
238
+ },
239
+ },
240
+ },
123
241
  {
124
242
  kind: "writeJson",
125
243
  to: "tsconfig.json",
244
+ value: {
245
+ files: [],
246
+ references: [{ path: "./apps/api/tsconfig.json" }],
247
+ },
248
+ },
249
+ {
250
+ kind: "writeJson",
251
+ to: "tsconfig.config.json",
252
+ value: {
253
+ compilerOptions: {
254
+ module: "NodeNext",
255
+ moduleResolution: "NodeNext",
256
+ noEmitOnError: true,
257
+ skipLibCheck: false,
258
+ strict: true,
259
+ target: "ES2022",
260
+ },
261
+ include: ["oxlint.config.ts", "oxfmt.config.ts"],
262
+ },
263
+ },
264
+ {
265
+ kind: "writeJson",
266
+ to: "apps/api/package.json",
267
+ value: apiManifest,
268
+ },
269
+ {
270
+ kind: "writeJson",
271
+ to: "apps/api/tsconfig.json",
126
272
  value: {
127
273
  compilerOptions: {
274
+ composite: true,
128
275
  module: "NodeNext",
129
276
  moduleResolution: "NodeNext",
130
277
  noEmitOnError: true,
@@ -141,7 +288,7 @@ function operationsForHonoApi(context, packageScripts, checkPlan) {
141
288
  },
142
289
  {
143
290
  kind: "writeJson",
144
- to: "tsconfig.build.json",
291
+ to: "apps/api/tsconfig.build.json",
145
292
  value: {
146
293
  extends: "./tsconfig.json",
147
294
  compilerOptions: {
@@ -167,32 +314,48 @@ function operationsForHonoApi(context, packageScripts, checkPlan) {
167
314
  {
168
315
  kind: "writeText",
169
316
  to: ".gitignore",
170
- text: ["node_modules", "dist", ".env", ""].join("\n"),
317
+ text: [
318
+ "node_modules",
319
+ "dist",
320
+ ".env",
321
+ ".template/",
322
+ ".pnpm-store/",
323
+ "",
324
+ ].join("\n"),
325
+ },
326
+ { kind: "copyFile", from: "src/app.ts", to: "apps/api/src/app.ts" },
327
+ {
328
+ kind: "copyFile",
329
+ from: "src/server.ts",
330
+ to: "apps/api/src/server.ts",
331
+ },
332
+ {
333
+ kind: "copyFile",
334
+ from: "test/app.test.ts",
335
+ to: "apps/api/test/app.test.ts",
336
+ },
337
+ {
338
+ kind: "copyFile",
339
+ from: "vitest.config.ts",
340
+ to: "apps/api/vitest.config.ts",
171
341
  },
172
- { kind: "copyFile", from: "src/app.ts", to: "src/app.ts" },
173
- { kind: "copyFile", from: "src/server.ts", to: "src/server.ts" },
174
- { kind: "copyFile", from: "test/app.test.ts", to: "test/app.test.ts" },
175
- { kind: "copyFile", from: "vitest.config.ts", to: "vitest.config.ts" },
176
342
  {
177
343
  kind: "writeJson",
178
- to: ".project-kit/blueprint.json",
179
- value: honoApiBlueprint(),
344
+ to: ".template/blueprint.json",
345
+ value: context.blueprint,
180
346
  },
181
347
  {
182
348
  kind: "writeJson",
183
- to: ".project-kit/generated-by.json",
349
+ to: ".template/generated-by.json",
184
350
  value: generationRecord(context),
185
351
  },
186
352
  {
187
353
  kind: "writeJson",
188
354
  to: ".devcontainer/devcontainer.json",
189
- value: nodePnpmDevcontainer({
190
- name: `${context.projectName.value} API development`,
191
- nodeVersion: context.toolchain.nodeLtsMajor.value,
192
- packageManagerPin: context.toolchain.packageManagerPin.value,
193
- extensions: editorCustomization.extensions,
194
- settings: editorCustomization.settings,
195
- }),
355
+ value: developmentContainer.devcontainer,
356
+ },
357
+ {
358
+ ...developmentContainer.dockerfileOperation,
196
359
  },
197
360
  {
198
361
  kind: "writeJson",
@@ -208,14 +371,14 @@ function operationsForHonoApi(context, packageScripts, checkPlan) {
208
371
  value: editorCustomization.settings,
209
372
  },
210
373
  {
211
- kind: "writeText",
374
+ kind: "copyFile",
375
+ from: ".github/workflows/check.yml",
212
376
  to: ".github/workflows/check.yml",
213
- text: projectCheckWorkflow({ checkPlan }),
214
377
  },
215
378
  {
216
- kind: "writeText",
379
+ kind: "copyFile",
380
+ from: ".github/dependabot.yml",
217
381
  to: ".github/dependabot.yml",
218
- text: projectDependabotConfig(dependencyMaintenancePolicy),
219
382
  },
220
383
  ];
221
384
  }
@@ -280,18 +443,6 @@ function packageAdditionOperations(packagePath, packageName, nodeVersion) {
280
443
  include: ["src/**/*.ts"],
281
444
  },
282
445
  },
283
- {
284
- kind: "copyFile",
285
- sourceRoot: "sharedOxc",
286
- from: "node/oxlint.config.ts",
287
- to: `${packagePath}/oxlint.config.ts`,
288
- },
289
- {
290
- kind: "copyFile",
291
- sourceRoot: "sharedOxc",
292
- from: "oxfmt.config.ts",
293
- to: `${packagePath}/oxfmt.config.ts`,
294
- },
295
446
  { kind: "copyFile", from: "src/app.ts", to: `${packagePath}/src/app.ts` },
296
447
  {
297
448
  kind: "copyFile",
@@ -310,11 +461,11 @@ function packageAdditionOperations(packagePath, packageName, nodeVersion) {
310
461
  },
311
462
  ];
312
463
  }
313
- function packageAdditionPlan(packageLeafName, packageName, nodeVersion) {
314
- const packagePath = `apps/${packageLeafName}`;
464
+ function packageAdditionPlan(packageName, packagePath, nodeVersion) {
465
+ const [workspaceCollection] = packagePath.split("/");
315
466
  return {
316
467
  packagePath,
317
- workspacePackageGlob: "apps/*",
468
+ workspacePackageGlob: `${workspaceCollection}/*`,
318
469
  rootTsconfigReferences: [`./${packagePath}/tsconfig.json`],
319
470
  sourceRoot: templateSourceRoot(),
320
471
  sourceRoots: { sharedOxc: sharedOxcSourceRoot() },
@@ -335,23 +486,33 @@ function sharedOxcSourceRoot() {
335
486
  ? publishedSharedRoot
336
487
  : path.join(projectionDir, "..", "shared", "oxc");
337
488
  }
489
+ function sharedDevcontainerSourceRoot() {
490
+ const projectionDir = path.dirname(fileURLToPath(import.meta.url));
491
+ const publishedSharedRoot = path.join(projectionDir, "..", "..", "..", "templates", "shared", "devcontainer");
492
+ return existsSync(path.join(publishedSharedRoot, "node-pnpm.Dockerfile"))
493
+ ? publishedSharedRoot
494
+ : path.join(projectionDir, "..", "shared", "devcontainer");
495
+ }
338
496
  export const honoApiPresetProjection = {
339
497
  metadata: honoApiPresetMetadata,
340
498
  capabilities: {
341
499
  packageAddition: {
342
- planPackageAddition({ packageLeafName, packageName, nodeVersion, }) {
343
- return packageAdditionPlan(packageLeafName, packageName, nodeVersion);
500
+ planPackageAddition({ packageName, packagePath, nodeVersion, }) {
501
+ return packageAdditionPlan(packageName, packagePath, nodeVersion);
344
502
  },
345
503
  },
346
504
  },
347
505
  blueprint: honoApiBlueprint,
348
506
  project(context) {
349
- const checkPlan = planNodeChecks("hono-api");
350
- const fixPlan = planNodeFixes("hono-api");
351
- const packageScripts = projectHonoApiPackageScripts();
507
+ const checkPlan = planHonoApiRootChecks();
508
+ const fixPlan = planHonoApiRootFixes();
509
+ const packageScripts = projectHonoApiRootPackageScripts();
352
510
  return {
353
511
  sourceRoot: templateSourceRoot(),
354
- sourceRoots: { sharedOxc: sharedOxcSourceRoot() },
512
+ sourceRoots: {
513
+ sharedDevcontainer: sharedDevcontainerSourceRoot(),
514
+ sharedOxc: sharedOxcSourceRoot(),
515
+ },
355
516
  operations: operationsForHonoApi(context, packageScripts, checkPlan),
356
517
  checkPlan,
357
518
  fixPlan,
@@ -5,4 +5,3 @@ export declare function selectNodeCheckComponents(target: NodeCheckPlanTarget):
5
5
  export declare function selectNodeFixComponents(target: NodeFixPlanTarget): FixComponent[];
6
6
  export declare function planNodeChecks(target: NodeCheckPlanTarget): CheckPlan;
7
7
  export declare function planNodeFixes(target: NodeFixPlanTarget): FixPlan;
8
- //# sourceMappingURL=projection-plans.d.ts.map
@@ -5,4 +5,3 @@ export declare const builtInPresetProjections: readonly PresetProjection[];
5
5
  export declare const builtInPresetMetadata: readonly BuiltInPreset[];
6
6
  export declare function findBuiltInPresetProjection(name: string): PresetProjection | undefined;
7
7
  export declare function projectPresetThroughRegistry(context: GenerationContext): PresetProjectionPlan | undefined;
8
- //# sourceMappingURL=registry.d.ts.map
@@ -10,7 +10,7 @@ const futurePresetMetadata = [
10
10
  description: "Future application preset metadata.",
11
11
  generation: "future",
12
12
  supportedPackageManagers: ["pnpm"],
13
- supportedProjectKinds: ["single-package"],
13
+ supportedProjectKinds: ["multi-package"],
14
14
  features: [],
15
15
  },
16
16
  {
@@ -19,7 +19,7 @@ const futurePresetMetadata = [
19
19
  description: "Future command-line preset metadata.",
20
20
  generation: "future",
21
21
  supportedPackageManagers: ["pnpm"],
22
- supportedProjectKinds: ["single-package"],
22
+ supportedProjectKinds: ["multi-package"],
23
23
  features: [],
24
24
  },
25
25
  ];
@@ -1,10 +1,9 @@
1
1
  import type { BuiltInPreset, ProjectBlueprint } from "../../src/declarations.js";
2
2
  import { type CheckPlan, type FixPlan } from "../../src/module-graph.js";
3
- import type { PresetProjection } from "../../src/preset-projection.js";
3
+ import type { PresetBlueprintOptions, PresetProjection } from "../../src/preset-projection.js";
4
4
  export declare const rustBinPresetMetadata: BuiltInPreset;
5
5
  export declare function planRustBinChecks(): CheckPlan;
6
6
  export declare function planRustBinFixes(): FixPlan;
7
- export declare function rustBinBlueprint(): ProjectBlueprint;
7
+ export declare function rustBinBlueprint(options?: PresetBlueprintOptions): ProjectBlueprint;
8
8
  export declare function projectRustBinPackageScripts(): Record<string, string>;
9
9
  export declare const rustBinPresetProjection: PresetProjection;
10
- //# sourceMappingURL=projection.d.ts.map