@ykdz/template 0.0.5 → 0.0.6

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.
@@ -0,0 +1,499 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "name": "built-in",
4
+ "sharedResources": [
5
+ {
6
+ "id": "shared-devcontainer",
7
+ "path": "shared/devcontainer"
8
+ },
9
+ {
10
+ "id": "shared-editor-customization",
11
+ "path": "shared/editor-customization/capabilities.json"
12
+ },
13
+ {
14
+ "id": "shared-oxc-node",
15
+ "path": "shared/oxc/node"
16
+ },
17
+ {
18
+ "id": "shared-oxc-format",
19
+ "path": "shared/oxc/oxfmt.config.ts"
20
+ },
21
+ {
22
+ "id": "shared-oxc-vue",
23
+ "path": "shared/oxc/vue"
24
+ }
25
+ ],
26
+ "fixtureMatrix": {
27
+ "initSupport": [
28
+ { "preset": "ts-lib" },
29
+ { "preset": "hono-api" },
30
+ { "preset": "vue-app" },
31
+ { "preset": "vue-hono-app" },
32
+ { "preset": "rust-bin" }
33
+ ],
34
+ "packageAdditionSupport": [
35
+ {
36
+ "preset": "ts-lib",
37
+ "packageLeafName": "fixture-lib"
38
+ },
39
+ {
40
+ "preset": "hono-api",
41
+ "packageLeafName": "fixture-api"
42
+ },
43
+ {
44
+ "preset": "vue-app",
45
+ "packageLeafName": "fixture-web"
46
+ }
47
+ ],
48
+ "supportedCombinations": [
49
+ { "basePreset": "ts-lib", "addedPreset": "ts-lib" },
50
+ { "basePreset": "ts-lib", "addedPreset": "hono-api" },
51
+ { "basePreset": "ts-lib", "addedPreset": "vue-app" },
52
+ { "basePreset": "hono-api", "addedPreset": "ts-lib" },
53
+ { "basePreset": "hono-api", "addedPreset": "hono-api" },
54
+ { "basePreset": "hono-api", "addedPreset": "vue-app" },
55
+ { "basePreset": "vue-app", "addedPreset": "ts-lib" },
56
+ { "basePreset": "vue-app", "addedPreset": "hono-api" },
57
+ { "basePreset": "vue-app", "addedPreset": "vue-app" },
58
+ { "basePreset": "vue-hono-app", "addedPreset": "ts-lib" },
59
+ {
60
+ "basePreset": "vue-hono-app",
61
+ "addedPreset": "ts-lib",
62
+ "linkFrom": ["apps/web"]
63
+ },
64
+ { "basePreset": "vue-hono-app", "addedPreset": "hono-api" },
65
+ { "basePreset": "vue-hono-app", "addedPreset": "vue-app" },
66
+ { "basePreset": "rust-bin", "addedPreset": "ts-lib" },
67
+ { "basePreset": "rust-bin", "addedPreset": "hono-api" },
68
+ { "basePreset": "rust-bin", "addedPreset": "vue-app" }
69
+ ],
70
+ "semanticSkips": [
71
+ {
72
+ "basePreset": "ts-lib",
73
+ "addedPreset": "vue-hono-app",
74
+ "reason": "vue-hono-app is an initialization-only full-stack preset."
75
+ },
76
+ {
77
+ "basePreset": "ts-lib",
78
+ "addedPreset": "rust-bin",
79
+ "reason": "rust-bin is an initialization-only native binary preset."
80
+ },
81
+ {
82
+ "basePreset": "hono-api",
83
+ "addedPreset": "vue-hono-app",
84
+ "reason": "vue-hono-app is an initialization-only full-stack preset."
85
+ },
86
+ {
87
+ "basePreset": "hono-api",
88
+ "addedPreset": "rust-bin",
89
+ "reason": "rust-bin is an initialization-only native binary preset."
90
+ },
91
+ {
92
+ "basePreset": "vue-app",
93
+ "addedPreset": "vue-hono-app",
94
+ "reason": "vue-hono-app is an initialization-only full-stack preset."
95
+ },
96
+ {
97
+ "basePreset": "vue-app",
98
+ "addedPreset": "rust-bin",
99
+ "reason": "rust-bin is an initialization-only native binary preset."
100
+ },
101
+ {
102
+ "basePreset": "vue-hono-app",
103
+ "addedPreset": "vue-hono-app",
104
+ "reason": "vue-hono-app is an initialization-only full-stack preset."
105
+ },
106
+ {
107
+ "basePreset": "vue-hono-app",
108
+ "addedPreset": "rust-bin",
109
+ "reason": "rust-bin is an initialization-only native binary preset."
110
+ },
111
+ {
112
+ "basePreset": "rust-bin",
113
+ "addedPreset": "vue-hono-app",
114
+ "reason": "vue-hono-app is an initialization-only full-stack preset."
115
+ },
116
+ {
117
+ "basePreset": "rust-bin",
118
+ "addedPreset": "rust-bin",
119
+ "reason": "rust-bin is an initialization-only native binary preset."
120
+ }
121
+ ],
122
+ "checkRequirements": ["machine-verifiable-next-steps", "root-check-ci"],
123
+ "environmentPreparation": ["playwright-browser-assets"]
124
+ },
125
+ "presets": [
126
+ {
127
+ "name": "ts-lib",
128
+ "title": "TypeScript library",
129
+ "description": "Strict TypeScript package with pnpm catalog tooling.",
130
+ "generation": "supported",
131
+ "supportedPackageManagers": ["pnpm"],
132
+ "supportedProjectKinds": ["multi-package"],
133
+ "packageAdditionSupport": "supported",
134
+ "features": [
135
+ "pnpm-catalog",
136
+ "oxc-format-lint",
137
+ "strict-typescript",
138
+ "root-check",
139
+ "fix-command",
140
+ "devcontainer",
141
+ "github-actions",
142
+ "dependabot"
143
+ ],
144
+ "dependencyCatalog": [
145
+ "@types/node",
146
+ "oxfmt",
147
+ "oxlint",
148
+ "turbo",
149
+ "typescript",
150
+ "valibot"
151
+ ],
152
+ "projection": {
153
+ "capabilities": [
154
+ {
155
+ "kind": "workspace-library-package",
156
+ "workspacePackageGlob": "packages/*",
157
+ "packageRole": "shared-library",
158
+ "packageSourcePreset": "ts-lib",
159
+ "sourceFiles": ["src/index.ts", "src/name-schema.ts"]
160
+ },
161
+ { "kind": "strict-typescript-root" },
162
+ { "kind": "oxc-format-lint" },
163
+ { "kind": "node-pnpm-devcontainer" },
164
+ { "kind": "github-maintenance" }
165
+ ]
166
+ },
167
+ "source": {
168
+ "roots": ["ts-lib/.github", "ts-lib/src"],
169
+ "sharedResources": [
170
+ "shared-devcontainer",
171
+ "shared-editor-customization",
172
+ "shared-oxc-node",
173
+ "shared-oxc-format"
174
+ ]
175
+ }
176
+ },
177
+ {
178
+ "name": "hono-api",
179
+ "title": "Hono API",
180
+ "description": "Hono Node API workspace with strict TypeScript tooling.",
181
+ "generation": "supported",
182
+ "supportedPackageManagers": ["pnpm"],
183
+ "supportedProjectKinds": ["multi-package"],
184
+ "packageAdditionSupport": "supported",
185
+ "features": [
186
+ "pnpm-catalog",
187
+ "oxc-format-lint",
188
+ "strict-typescript",
189
+ "root-check",
190
+ "fix-command",
191
+ "devcontainer",
192
+ "github-actions",
193
+ "dependabot"
194
+ ],
195
+ "dependencyCatalog": [
196
+ "@hono/node-server",
197
+ "@types/node",
198
+ "hono",
199
+ "oxfmt",
200
+ "oxlint",
201
+ "tsc-alias",
202
+ "turbo",
203
+ "typescript",
204
+ "vitest"
205
+ ],
206
+ "projection": {
207
+ "capabilities": [
208
+ {
209
+ "kind": "workspace-node-packages",
210
+ "workspacePackageGlob": "apps/*",
211
+ "packages": [
212
+ {
213
+ "kind": "hono-api",
214
+ "path": "apps/api",
215
+ "sourceFiles": [
216
+ "src/app.ts",
217
+ "src/server.ts",
218
+ "test/app.test.ts",
219
+ "vitest.config.ts"
220
+ ]
221
+ }
222
+ ]
223
+ },
224
+ { "kind": "strict-typescript-root" },
225
+ { "kind": "oxc-format-lint" },
226
+ { "kind": "node-pnpm-devcontainer" },
227
+ { "kind": "github-maintenance" }
228
+ ]
229
+ },
230
+ "source": {
231
+ "roots": ["hono-api/.github", "hono-api/src", "hono-api/test"],
232
+ "files": ["hono-api/vitest.config.ts"],
233
+ "sharedResources": [
234
+ "shared-devcontainer",
235
+ "shared-editor-customization",
236
+ "shared-oxc-node",
237
+ "shared-oxc-format"
238
+ ]
239
+ }
240
+ },
241
+ {
242
+ "name": "vue-app",
243
+ "title": "Vue app",
244
+ "description": "Vue app workspace with Vite, Tailwind, Pinia, and test tooling.",
245
+ "generation": "supported",
246
+ "supportedPackageManagers": ["pnpm"],
247
+ "supportedProjectKinds": ["multi-package"],
248
+ "packageAdditionSupport": "supported",
249
+ "features": [
250
+ "pnpm-catalog",
251
+ "oxc-format-lint",
252
+ "strict-typescript",
253
+ "root-check",
254
+ "fix-command",
255
+ "devcontainer",
256
+ "github-actions",
257
+ "dependabot"
258
+ ],
259
+ "dependencyCatalog": [
260
+ "@playwright/test",
261
+ "@tailwindcss/vite",
262
+ "@types/node",
263
+ "@types/web-bluetooth",
264
+ "@vitejs/plugin-vue",
265
+ "@vue/tsconfig",
266
+ "@vueuse/core",
267
+ "oxfmt",
268
+ "oxlint",
269
+ "pinia",
270
+ "tailwindcss",
271
+ "turbo",
272
+ "typescript",
273
+ "vite",
274
+ "vitest",
275
+ "vue",
276
+ "vue-tsc"
277
+ ],
278
+ "projection": {
279
+ "capabilities": [
280
+ {
281
+ "kind": "workspace-node-packages",
282
+ "workspacePackageGlob": "apps/*",
283
+ "packages": [
284
+ {
285
+ "kind": "vue-app",
286
+ "path": "apps/web",
287
+ "sourceFiles": [
288
+ "env.d.ts",
289
+ "index.html",
290
+ "playwright.config.ts",
291
+ "vite.config.ts",
292
+ "vitest.config.ts",
293
+ "src/App.vue",
294
+ "src/main.ts",
295
+ "src/style.css",
296
+ "src/stores/counter.ts",
297
+ "test/app.test.ts",
298
+ "test/e2e/app.spec.ts"
299
+ ]
300
+ }
301
+ ]
302
+ },
303
+ { "kind": "strict-typescript-root" },
304
+ { "kind": "oxc-format-lint" },
305
+ { "kind": "node-pnpm-devcontainer" },
306
+ { "kind": "github-maintenance" }
307
+ ]
308
+ },
309
+ "source": {
310
+ "roots": ["vue-app/.github", "vue-app/src", "vue-app/test"],
311
+ "files": [
312
+ "vue-app/env.d.ts",
313
+ "vue-app/index.html",
314
+ "vue-app/playwright.package-addition.config.ts",
315
+ "vue-app/playwright.config.ts",
316
+ "vue-app/vite.config.ts",
317
+ "vue-app/vitest.config.ts"
318
+ ],
319
+ "sharedResources": [
320
+ "shared-devcontainer",
321
+ "shared-editor-customization",
322
+ "shared-oxc-format",
323
+ "shared-oxc-vue"
324
+ ]
325
+ }
326
+ },
327
+ {
328
+ "name": "vue-hono-app",
329
+ "title": "Vue Hono app",
330
+ "description": "Full-stack Vue and Hono workspace with Hono RPC typing.",
331
+ "generation": "supported",
332
+ "supportedPackageManagers": ["pnpm"],
333
+ "supportedProjectKinds": ["multi-package"],
334
+ "packageAdditionSupport": "unsupported",
335
+ "features": [
336
+ "pnpm-catalog",
337
+ "oxc-format-lint",
338
+ "strict-typescript",
339
+ "root-check",
340
+ "fix-command",
341
+ "devcontainer",
342
+ "github-actions",
343
+ "dependabot"
344
+ ],
345
+ "dependencyCatalog": [
346
+ "@hono/node-server",
347
+ "@playwright/test",
348
+ "@tailwindcss/vite",
349
+ "@types/node",
350
+ "@types/web-bluetooth",
351
+ "@vitejs/plugin-vue",
352
+ "@vue/tsconfig",
353
+ "@vueuse/core",
354
+ "hono",
355
+ "oxfmt",
356
+ "oxlint",
357
+ "pinia",
358
+ "tailwindcss",
359
+ "tsc-alias",
360
+ "tsx",
361
+ "turbo",
362
+ "typescript",
363
+ "vite",
364
+ "vitest",
365
+ "vue",
366
+ "vue-tsc"
367
+ ],
368
+ "projection": {
369
+ "capabilities": [
370
+ {
371
+ "kind": "workspace-node-packages",
372
+ "workspacePackageGlob": "apps/*",
373
+ "packages": [
374
+ {
375
+ "kind": "vue-app",
376
+ "path": "apps/web",
377
+ "sourceFiles": [
378
+ "web/env.d.ts",
379
+ "web/index.html",
380
+ "web/playwright.config.ts",
381
+ "web/vite.config.ts",
382
+ "web/vitest.config.ts",
383
+ "web/src/api.ts",
384
+ "web/src/App.vue",
385
+ "web/src/main.ts",
386
+ "web/src/style.css",
387
+ "web/src/stores/counter.ts",
388
+ "web/test/app.test.ts",
389
+ "web/test/e2e/app.spec.ts"
390
+ ]
391
+ },
392
+ {
393
+ "kind": "hono-api",
394
+ "path": "apps/api",
395
+ "sourceFiles": [
396
+ "api/src/index.ts",
397
+ "api/src/runtime.ts",
398
+ "api/src/server.ts",
399
+ "api/test/app.test.ts",
400
+ "api/vitest.config.ts"
401
+ ]
402
+ }
403
+ ],
404
+ "packageLinks": [
405
+ {
406
+ "consumerPackagePath": "apps/web",
407
+ "providerPackagePath": "apps/api"
408
+ }
409
+ ]
410
+ },
411
+ { "kind": "strict-typescript-root" },
412
+ { "kind": "oxc-format-lint" },
413
+ { "kind": "node-pnpm-devcontainer" },
414
+ { "kind": "github-maintenance" }
415
+ ]
416
+ },
417
+ "source": {
418
+ "roots": [
419
+ "vue-hono-app/.github",
420
+ "vue-hono-app/api/src",
421
+ "vue-hono-app/api/test",
422
+ "vue-hono-app/web/src",
423
+ "vue-hono-app/web/test"
424
+ ],
425
+ "files": [
426
+ "vue-hono-app/api/vitest.config.ts",
427
+ "vue-hono-app/web/env.d.ts",
428
+ "vue-hono-app/web/index.html",
429
+ "vue-hono-app/web/playwright.config.ts",
430
+ "vue-hono-app/web/vite.config.ts",
431
+ "vue-hono-app/web/vitest.config.ts"
432
+ ],
433
+ "sharedResources": [
434
+ "shared-devcontainer",
435
+ "shared-editor-customization",
436
+ "shared-oxc-node",
437
+ "shared-oxc-format",
438
+ "shared-oxc-vue"
439
+ ]
440
+ }
441
+ },
442
+ {
443
+ "name": "rust-bin",
444
+ "title": "Rust binary",
445
+ "description": "Rust native binary workspace with rustfmt, clippy, and cargo tests.",
446
+ "generation": "supported",
447
+ "supportedPackageManagers": ["pnpm"],
448
+ "supportedProjectKinds": ["multi-package"],
449
+ "packageAdditionSupport": "unsupported",
450
+ "features": [
451
+ "root-check",
452
+ "fix-command",
453
+ "devcontainer",
454
+ "github-actions",
455
+ "dependabot",
456
+ "rustfmt-clippy",
457
+ "cargo-test"
458
+ ],
459
+ "dependencyCatalog": ["turbo"],
460
+ "projection": {
461
+ "capabilities": [
462
+ {
463
+ "kind": "rust-binary-workspace",
464
+ "workspacePackageGlob": "packages/*",
465
+ "sourceFiles": ["src/main.rs"]
466
+ }
467
+ ]
468
+ },
469
+ "source": {
470
+ "roots": ["rust-bin/.github", "rust-bin/src"],
471
+ "files": ["rust-bin/rust-toolchain.toml", "rust-bin/rustfmt.toml"],
472
+ "sharedResources": [
473
+ "shared-devcontainer",
474
+ "shared-editor-customization"
475
+ ]
476
+ }
477
+ },
478
+ {
479
+ "name": "ts-app",
480
+ "title": "TypeScript application",
481
+ "description": "Future application preset metadata.",
482
+ "generation": "future",
483
+ "supportedPackageManagers": ["pnpm"],
484
+ "supportedProjectKinds": ["multi-package"],
485
+ "packageAdditionSupport": "unsupported",
486
+ "features": []
487
+ },
488
+ {
489
+ "name": "node-cli",
490
+ "title": "Node.js CLI",
491
+ "description": "Future command-line preset metadata.",
492
+ "generation": "future",
493
+ "supportedPackageManagers": ["pnpm"],
494
+ "supportedProjectKinds": ["multi-package"],
495
+ "packageAdditionSupport": "unsupported",
496
+ "features": []
497
+ }
498
+ ]
499
+ }
@@ -0,0 +1,22 @@
1
+ import { defineConfig, devices } from "@playwright/test";
2
+
3
+ const previewUrl = "http://127.0.0.1:{{VUE_PREVIEW_PORT}}";
4
+
5
+ export default defineConfig({
6
+ testDir: "./test/e2e",
7
+ use: {
8
+ baseURL: previewUrl,
9
+ trace: "on-first-retry",
10
+ },
11
+ webServer: {
12
+ command: "pnpm run preview --host 127.0.0.1 --port {{VUE_PREVIEW_PORT}}",
13
+ reuseExistingServer: !process.env.CI,
14
+ url: previewUrl,
15
+ },
16
+ projects: [
17
+ {
18
+ name: "chromium",
19
+ use: { ...devices["Desktop Chrome"] },
20
+ },
21
+ ],
22
+ });
@@ -1,6 +0,0 @@
1
- import type { BuiltInPreset, ProjectBlueprint } from "../../src/declarations.js";
2
- import type { PresetBlueprintOptions, PresetProjection } from "../../src/preset-projection.js";
3
- export declare const honoApiPresetMetadata: BuiltInPreset;
4
- export declare function honoApiBlueprint(options?: PresetBlueprintOptions): ProjectBlueprint;
5
- export declare function projectHonoApiPackageScripts(): Record<string, string>;
6
- export declare const honoApiPresetProjection: PresetProjection;