hatchkit 0.1.35 → 0.1.38

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 (102) hide show
  1. package/dist/adopt.d.ts.map +1 -1
  2. package/dist/adopt.js +167 -1
  3. package/dist/adopt.js.map +1 -1
  4. package/dist/assets/env.d.ts +40 -0
  5. package/dist/assets/env.d.ts.map +1 -0
  6. package/dist/assets/env.js +150 -0
  7. package/dist/assets/env.js.map +1 -0
  8. package/dist/assets/index.d.ts +2 -0
  9. package/dist/assets/index.d.ts.map +1 -0
  10. package/dist/assets/index.js +328 -0
  11. package/dist/assets/index.js.map +1 -0
  12. package/dist/assets/mirror.d.ts +59 -0
  13. package/dist/assets/mirror.d.ts.map +1 -0
  14. package/dist/assets/mirror.js +251 -0
  15. package/dist/assets/mirror.js.map +1 -0
  16. package/dist/completion.d.ts.map +1 -1
  17. package/dist/completion.js +16 -0
  18. package/dist/completion.js.map +1 -1
  19. package/dist/config.d.ts +18 -8
  20. package/dist/config.d.ts.map +1 -1
  21. package/dist/config.js +157 -50
  22. package/dist/config.js.map +1 -1
  23. package/dist/deploy/coolify-app.d.ts +6 -0
  24. package/dist/deploy/coolify-app.d.ts.map +1 -1
  25. package/dist/deploy/coolify-app.js +58 -15
  26. package/dist/deploy/coolify-app.js.map +1 -1
  27. package/dist/deploy/coolify.d.ts.map +1 -1
  28. package/dist/deploy/coolify.js +50 -25
  29. package/dist/deploy/coolify.js.map +1 -1
  30. package/dist/deploy/rename-domain.d.ts.map +1 -1
  31. package/dist/deploy/rename-domain.js +4 -2
  32. package/dist/deploy/rename-domain.js.map +1 -1
  33. package/dist/deploy/rollback.d.ts +11 -0
  34. package/dist/deploy/rollback.d.ts.map +1 -1
  35. package/dist/deploy/rollback.js +46 -9
  36. package/dist/deploy/rollback.js.map +1 -1
  37. package/dist/deploy/sync.d.ts +98 -0
  38. package/dist/deploy/sync.d.ts.map +1 -0
  39. package/dist/deploy/sync.js +354 -0
  40. package/dist/deploy/sync.js.map +1 -0
  41. package/dist/doctor.d.ts.map +1 -1
  42. package/dist/doctor.js +29 -11
  43. package/dist/doctor.js.map +1 -1
  44. package/dist/explain.d.ts.map +1 -1
  45. package/dist/explain.js +5 -0
  46. package/dist/explain.js.map +1 -1
  47. package/dist/index.js +190 -32
  48. package/dist/index.js.map +1 -1
  49. package/dist/prompts.d.ts +19 -0
  50. package/dist/prompts.d.ts.map +1 -1
  51. package/dist/prompts.js +81 -20
  52. package/dist/prompts.js.map +1 -1
  53. package/dist/provision/s3-buckets.d.ts +12 -5
  54. package/dist/provision/s3-buckets.d.ts.map +1 -1
  55. package/dist/provision/s3-buckets.js +14 -7
  56. package/dist/provision/s3-buckets.js.map +1 -1
  57. package/dist/provision/stripe.d.ts +85 -16
  58. package/dist/provision/stripe.d.ts.map +1 -1
  59. package/dist/provision/stripe.js +334 -28
  60. package/dist/provision/stripe.js.map +1 -1
  61. package/dist/provision/write-env.d.ts +7 -0
  62. package/dist/provision/write-env.d.ts.map +1 -1
  63. package/dist/provision/write-env.js +18 -0
  64. package/dist/provision/write-env.js.map +1 -1
  65. package/dist/scaffold/app.d.ts.map +1 -1
  66. package/dist/scaffold/app.js +33 -3
  67. package/dist/scaffold/app.js.map +1 -1
  68. package/dist/scaffold/infra.js +2 -2
  69. package/dist/scaffold/infra.js.map +1 -1
  70. package/dist/scaffold/manifest.d.ts +5 -0
  71. package/dist/scaffold/manifest.d.ts.map +1 -1
  72. package/dist/scaffold/manifest.js +1 -0
  73. package/dist/scaffold/manifest.js.map +1 -1
  74. package/dist/scaffold/starter-files.d.ts +22 -0
  75. package/dist/scaffold/starter-files.d.ts.map +1 -1
  76. package/dist/scaffold/starter-files.js +44 -0
  77. package/dist/scaffold/starter-files.js.map +1 -1
  78. package/dist/scaffold/surfaces.d.ts +11 -0
  79. package/dist/scaffold/surfaces.d.ts.map +1 -0
  80. package/dist/scaffold/surfaces.js +331 -0
  81. package/dist/scaffold/surfaces.js.map +1 -0
  82. package/dist/status.d.ts.map +1 -1
  83. package/dist/status.js +11 -1
  84. package/dist/status.js.map +1 -1
  85. package/dist/templates/build-pipeline/docker-compose.yml.hbs +17 -0
  86. package/dist/utils/cancel-handler.d.ts +17 -0
  87. package/dist/utils/cancel-handler.d.ts.map +1 -0
  88. package/dist/utils/cancel-handler.js +97 -0
  89. package/dist/utils/cancel-handler.js.map +1 -0
  90. package/dist/utils/coolify-api.d.ts +60 -2
  91. package/dist/utils/coolify-api.d.ts.map +1 -1
  92. package/dist/utils/coolify-api.js +85 -2
  93. package/dist/utils/coolify-api.js.map +1 -1
  94. package/dist/utils/secrets.d.ts +29 -0
  95. package/dist/utils/secrets.d.ts.map +1 -1
  96. package/dist/utils/secrets.js +29 -0
  97. package/dist/utils/secrets.js.map +1 -1
  98. package/dist/utils/validate.d.ts +6 -0
  99. package/dist/utils/validate.d.ts.map +1 -1
  100. package/dist/utils/validate.js +17 -0
  101. package/dist/utils/validate.js.map +1 -1
  102. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"infra.js","sourceRoot":"","sources":["../../src/scaffold/infra.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"infra.js","sourceRoot":"","sources":["../../src/scaffold/infra.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,11 @@ export interface ProjectManifest {
13
13
  name: string;
14
14
  /** Production domain — already public in DNS + .env.example. */
15
15
  domain: string;
16
+ /** Human-readable one-liner shown on the Coolify project + application
17
+ * pages. Optional: when unset, hatchkit falls back to a generic
18
+ * "Adopted by hatchkit" blurb on create, and leaves the field alone
19
+ * on subsequent updates. */
20
+ description?: string;
16
21
  /** Feature flags selected at scaffold. */
17
22
  features: Feature[];
18
23
  /** ML services wired into the backend. */
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/scaffold/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/scaffold/manifest.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,7 @@ export function toManifest(config, ports, cliVersion) {
45
45
  mlServices: [...config.mlServices],
46
46
  s3Provider: config.s3Provider,
47
47
  deployTarget: config.deployTarget,
48
+ surfaces: config.surfaces,
48
49
  gpuPlatforms: config.gpuPlatforms,
49
50
  customHfModelId: config.customHfModelId,
50
51
  customHfGpuType: config.customHfGpuType,
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/scaffold/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAClD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAkIlC;;oEAEoE;AACpE,MAAM,UAAU,UAAU,CACxB,MAAqB,EACrB,KAAmB,EACnB,UAAkB;IAElB,OAAO;QACL,OAAO,EAAE,gBAAgB;QACzB,UAAU;QACV,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACtC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC9B,UAAU,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC;QAClC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,KAAK,EAAE;YACL,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,SAAiB,EAAE,QAAyB;IACxE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAChD,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AACzE,CAAC;AAED;;;gCAGgC;AAChC,MAAM,UAAU,YAAY,CAAC,UAAkB;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,uBAAwB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,IACE,CAAC,MAAM;QACP,OAAO,MAAM,KAAK,QAAQ;QACzB,MAAgC,CAAC,OAAO,KAAK,gBAAgB,EAC9D,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,kCAAkC,gBAAgB,GAAG,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,MAAyB,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/scaffold/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAClD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAuIlC;;oEAEoE;AACpE,MAAM,UAAU,UAAU,CACxB,MAAqB,EACrB,KAAmB,EACnB,UAAkB;IAElB,OAAO;QACL,OAAO,EAAE,gBAAgB;QACzB,UAAU;QACV,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACtC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC9B,UAAU,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC;QAClC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,KAAK,EAAE;YACL,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,SAAiB,EAAE,QAAyB;IACxE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAChD,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AACzE,CAAC;AAED;;;gCAGgC;AAChC,MAAM,UAAU,YAAY,CAAC,UAAkB;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,uBAAwB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,IACE,CAAC,MAAM;QACP,OAAO,MAAM,KAAK,QAAQ;QACzB,MAAgC,CAAC,OAAO,KAAK,gBAAgB,EAC9D,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,kCAAkC,gBAAgB,GAAG,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,MAAyB,CAAC;AACnC,CAAC"}
@@ -37,4 +37,26 @@ export declare function applyPorts(outputDir: string, ports: ProjectPorts, opts:
37
37
  wantsDesktop: boolean;
38
38
  wantsMobile: boolean;
39
39
  }): void;
40
+ /** Rewrite the local-infra identifiers that the starter ships with
41
+ * literal `starter-*` names so each scaffolded project gets its own
42
+ * unique MongoDB database name, MinIO bucket name, and E2E
43
+ * isolation. Without this, two scaffolded projects on one dev
44
+ * machine would share the same dev MinIO bucket / Mongo DB.
45
+ *
46
+ * Only rewrites the suffixed forms (`starter-dev`, `starter-e2e`,
47
+ * `starter-assets`) — those are unambiguous local-infra identifiers
48
+ * tied to the starter's name. Bare `starter` and `@starter/*`
49
+ * occurrences are left to the package-rename pass in pkg-json.ts and
50
+ * to `replaceInFile` on package.json.
51
+ *
52
+ * Targets:
53
+ * · docker-compose.dev.yml (mc mb / mc anonymous)
54
+ * · packages/server/.env.development (MONGODB_URI, S3_BUCKET_NAME, S3_PUBLIC_URL)
55
+ * · packages/server/.env.example (same three keys)
56
+ * · playwright.config.ts (E2E DB + bucket + public URL)
57
+ * · packages/server/src/config/env.ts (Zod fallback default for S3_BUCKET_NAME)
58
+ *
59
+ * Idempotent — after the first run the literal `starter-` prefix is
60
+ * gone, so re-runs (e.g. through `hatchkit update`) are no-ops. */
61
+ export declare function applyProjectName(outputDir: string, projectName: string): void;
40
62
  //# sourceMappingURL=starter-files.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"starter-files.d.ts","sourceRoot":"","sources":["../../src/scaffold/starter-files.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD;yDACyD;AACzD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAIrF;AAED,yEAAyE;AACzE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAI/E;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAIjD;AAED;;qEAEqE;AACrE,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAoChG;AAED;uEACuE;AACvE,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAUnE;AAED;;;iCAGiC;AACjC,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAmBpE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CACxB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE;IAAE,YAAY,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,GACpD,IAAI,CAyGN"}
1
+ {"version":3,"file":"starter-files.d.ts","sourceRoot":"","sources":["../../src/scaffold/starter-files.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD;yDACyD;AACzD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAIrF;AAED,yEAAyE;AACzE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAI/E;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAIjD;AAED;;qEAEqE;AACrE,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAoChG;AAED;uEACuE;AACvE,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAUnE;AAED;;;iCAGiC;AACjC,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAmBpE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CACxB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE;IAAE,YAAY,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,GACpD,IAAI,CAyGN;AAED;;;;;;;;;;;;;;;;;;;;oEAoBoE;AACpE,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAqB7E"}
@@ -194,4 +194,48 @@ export function applyPorts(outputDir, ports, opts) {
194
194
  `ELECTRON_DEV_URL=http://localhost:${nativeHmr} electron electron/main.js"`);
195
195
  }
196
196
  }
197
+ /** Rewrite the local-infra identifiers that the starter ships with
198
+ * literal `starter-*` names so each scaffolded project gets its own
199
+ * unique MongoDB database name, MinIO bucket name, and E2E
200
+ * isolation. Without this, two scaffolded projects on one dev
201
+ * machine would share the same dev MinIO bucket / Mongo DB.
202
+ *
203
+ * Only rewrites the suffixed forms (`starter-dev`, `starter-e2e`,
204
+ * `starter-assets`) — those are unambiguous local-infra identifiers
205
+ * tied to the starter's name. Bare `starter` and `@starter/*`
206
+ * occurrences are left to the package-rename pass in pkg-json.ts and
207
+ * to `replaceInFile` on package.json.
208
+ *
209
+ * Targets:
210
+ * · docker-compose.dev.yml (mc mb / mc anonymous)
211
+ * · packages/server/.env.development (MONGODB_URI, S3_BUCKET_NAME, S3_PUBLIC_URL)
212
+ * · packages/server/.env.example (same three keys)
213
+ * · playwright.config.ts (E2E DB + bucket + public URL)
214
+ * · packages/server/src/config/env.ts (Zod fallback default for S3_BUCKET_NAME)
215
+ *
216
+ * Idempotent — after the first run the literal `starter-` prefix is
217
+ * gone, so re-runs (e.g. through `hatchkit update`) are no-ops. */
218
+ export function applyProjectName(outputDir, projectName) {
219
+ const replacements = [
220
+ ["starter-dev", `${projectName}-dev`],
221
+ ["starter-e2e", `${projectName}-e2e`],
222
+ ["starter-assets", `${projectName}-assets`],
223
+ ];
224
+ const targets = [
225
+ "docker-compose.dev.yml",
226
+ "packages/server/.env.development",
227
+ "packages/server/.env.example",
228
+ "playwright.config.ts",
229
+ "packages/server/src/config/env.ts",
230
+ ];
231
+ for (const rel of targets) {
232
+ const path = join(outputDir, rel);
233
+ rewriteFile(path, (content) => {
234
+ let out = content;
235
+ for (const [from, to] of replacements)
236
+ out = out.replaceAll(from, to);
237
+ return out;
238
+ });
239
+ }
240
+ }
197
241
  //# sourceMappingURL=starter-files.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"starter-files.js","sourceRoot":"","sources":["../../src/scaffold/starter-files.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAEjG;yDACyD;AACzD,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,MAAc,EAAE,OAAe;IAC7E,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO;IAClC,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChD,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AACxE,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,EAA+B;IACvE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO;IAC9B,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5C,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED;;qEAEqE;AACrE,MAAM,UAAU,gBAAgB,CAAC,SAAiB,EAAE,OAAe,EAAE,MAAqB;IACxF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO;IAE9B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC1B,MAAM,MAAM,GAAG,WAAW,MAAM,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,eAAe,MAAM,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,aAAa,MAAM,EAAE,CAAC;IAEpC,IAAI,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE1C,sEAAsE;IACtE,qEAAqE;IACrE,MAAM,QAAQ,GAA4B;QACxC,CAAC,oBAAoB,EAAE,gBAAgB,MAAM,EAAE,CAAC;QAChD,CAAC,uBAAuB,EAAE,mBAAmB,MAAM,EAAE,CAAC;QACtD,CAAC,2BAA2B,EAAE,uBAAuB,MAAM,EAAE,CAAC;QAC9D,CAAC,0BAA0B,EAAE,sBAAsB,KAAK,EAAE,CAAC;KAC5D,CAAC;IACF,KAAK,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAC7C,CAAC;IAED,mEAAmE;IACnE,oEAAoE;IACpE,0CAA0C;IAC1C,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,CAAC,YAAY,IAAI,WAAW,CAAC,IAAI,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5E,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,WAAW;YAAE,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,CAAC;QAC5E,IAAI,YAAY;YAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,2BAA2B,EAAE,mBAAmB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AAED;uEACuE;AACvE,MAAM,UAAU,2BAA2B,CAAC,SAAiB;IAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,oCAAoC,CAAC,CAAC;IACnE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO;IAC9B,IAAI,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,GAAG,OAAO,CAAC,OAAO,CACvB,yFAAyF,EACzF,EAAE,CACH,CAAC;IACF,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,gCAAgC,EAAE,IAAI,CAAC,CAAC;IAClE,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AAED;;;iCAGiC;AACjC,MAAM,UAAU,4BAA4B,CAAC,SAAiB;IAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,gCAAgC,CAAC,CAAC;IAC/D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO;IAC9B,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC;IACvF,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,kBAAkB,GAAG;;;;;;;wBAOL,aAAa;;;;CAIpC,CAAC;IACA,aAAa,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,UAAU,CACxB,SAAiB,EACjB,KAAmB,EACnB,IAAqD;IAErD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAE5C,gFAAgF;IAChF,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,kCAAkC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QACrE,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,MAAM,EAAE,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,QAAQ,MAAM,KAAK,GAAG,EAAE,CAAC;QACjC,CAAC;QACD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,aAAa,MAAM,EAAE,CAAC,CAAC;QAC5D,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,qDAAqD;IACrD,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,kCAAkC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QACrE,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,MAAM,EAAE,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,QAAQ,MAAM,KAAK,GAAG,EAAE,CAAC;QACjC,CAAC;QACD,GAAG,GAAG,GAAG,CAAC,OAAO,CACf,2BAA2B,EAC3B,wCAAwC,MAAM,EAAE,CACjD,CAAC;QACF,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,0BAA0B,EAAE,qCAAqC,MAAM,EAAE,CAAC,CAAC;QAC7F,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,gEAAgE;IAChE,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI;QACxB,CAAC,8BAA8B,EAAE,MAAM,CAAU;QACjD,CAAC,8BAA8B,EAAE,MAAM,CAAU;KAClD,EAAE,CAAC;QACF,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;YACtC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;YACtE,OAAO,QAAQ,IAAI,KAAK,CAAC,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mDAAmD;IACnD,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,4BAA4B,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/D,CAAC;SACE,OAAO,CAAC,eAAe,EAAE,YAAY,MAAM,EAAE,CAAC;SAC9C,OAAO,CAAC,aAAa,EAAE,UAAU,MAAM,EAAE,CAAC;SAC1C,OAAO,CAAC,cAAc,EAAE,MAAM,MAAM,IAAI,CAAC,CAC7C,CAAC;IACF,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,4BAA4B,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/D,CAAC;SACE,OAAO,CAAC,eAAe,EAAE,YAAY,MAAM,EAAE,CAAC;SAC9C,OAAO,CAAC,aAAa,EAAE,UAAU,MAAM,EAAE,CAAC;SAC1C,OAAO,CAAC,cAAc,EAAE,MAAM,MAAM,IAAI,CAAC,CAC7C,CAAC;IAEF,iEAAiE;IACjE,mCAAmC;IACnC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QACvD,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,UAAU,MAAM,GAAG,CAAC,CAAC;QAC3D,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,UAAU,MAAM,GAAG,CAAC,CAAC;QACzD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,iEAAiE;IACjE,oCAAoC;IACpC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CACpD,CAAC;SACE,OAAO,CAAC,oBAAoB,EAAE,gBAAgB,MAAM,EAAE,CAAC;SACvD,OAAO,CAAC,iBAAiB,EAAE,aAAa,MAAM,EAAE,CAAC;SACjD,OAAO,CACN,sCAAsC,EACtC,UAAU,MAAM,uBAAuB,MAAM,EAAE,CAChD,CACJ,CAAC;IAEF,mEAAmE;IACnE,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO;IAEpC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CACrD,CAAC,CAAC,OAAO,CACP,8EAA8E,EAC9E,qEAAqE,SAAS,GAAG,CAClF,CACF,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,EAAE,CAAC;QACtE,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CACzC,CAAC,CAAC,OAAO,CAAC,kCAAkC,EAAE,4BAA4B,SAAS,IAAI,CAAC,CACzF,CAAC;IACJ,CAAC;IAED,oEAAoE;IACpE,+DAA+D;IAC/D,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,IAAI,iBAAiB,CAAC;QAC/F,oBAAoB,CAClB,SAAS,EACT,aAAa,EACb,mDAAmD;YACjD,SAAS,SAAS,kBAAkB,aAAa,QAAQ;YACzD,6BAA6B,SAAS,+BAA+B;YACrE,qCAAqC,SAAS,6BAA6B,CAC9E,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"starter-files.js","sourceRoot":"","sources":["../../src/scaffold/starter-files.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAEjG;yDACyD;AACzD,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,MAAc,EAAE,OAAe;IAC7E,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO;IAClC,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChD,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AACxE,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,EAA+B;IACvE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO;IAC9B,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5C,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED;;qEAEqE;AACrE,MAAM,UAAU,gBAAgB,CAAC,SAAiB,EAAE,OAAe,EAAE,MAAqB;IACxF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO;IAE9B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC1B,MAAM,MAAM,GAAG,WAAW,MAAM,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,eAAe,MAAM,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,aAAa,MAAM,EAAE,CAAC;IAEpC,IAAI,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE1C,sEAAsE;IACtE,qEAAqE;IACrE,MAAM,QAAQ,GAA4B;QACxC,CAAC,oBAAoB,EAAE,gBAAgB,MAAM,EAAE,CAAC;QAChD,CAAC,uBAAuB,EAAE,mBAAmB,MAAM,EAAE,CAAC;QACtD,CAAC,2BAA2B,EAAE,uBAAuB,MAAM,EAAE,CAAC;QAC9D,CAAC,0BAA0B,EAAE,sBAAsB,KAAK,EAAE,CAAC;KAC5D,CAAC;IACF,KAAK,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAC7C,CAAC;IAED,mEAAmE;IACnE,oEAAoE;IACpE,0CAA0C;IAC1C,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,CAAC,YAAY,IAAI,WAAW,CAAC,IAAI,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5E,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,WAAW;YAAE,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,CAAC;QAC5E,IAAI,YAAY;YAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,2BAA2B,EAAE,mBAAmB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AAED;uEACuE;AACvE,MAAM,UAAU,2BAA2B,CAAC,SAAiB;IAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,oCAAoC,CAAC,CAAC;IACnE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO;IAC9B,IAAI,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,GAAG,OAAO,CAAC,OAAO,CACvB,yFAAyF,EACzF,EAAE,CACH,CAAC;IACF,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,gCAAgC,EAAE,IAAI,CAAC,CAAC;IAClE,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AAED;;;iCAGiC;AACjC,MAAM,UAAU,4BAA4B,CAAC,SAAiB;IAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,gCAAgC,CAAC,CAAC;IAC/D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO;IAC9B,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC;IACvF,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChE,MAAM,kBAAkB,GAAG;;;;;;;wBAOL,aAAa;;;;CAIpC,CAAC;IACA,aAAa,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,UAAU,CACxB,SAAiB,EACjB,KAAmB,EACnB,IAAqD;IAErD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAE5C,gFAAgF;IAChF,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,kCAAkC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QACrE,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,MAAM,EAAE,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,QAAQ,MAAM,KAAK,GAAG,EAAE,CAAC;QACjC,CAAC;QACD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,aAAa,MAAM,EAAE,CAAC,CAAC;QAC5D,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,qDAAqD;IACrD,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,kCAAkC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QACrE,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,MAAM,EAAE,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,QAAQ,MAAM,KAAK,GAAG,EAAE,CAAC;QACjC,CAAC;QACD,GAAG,GAAG,GAAG,CAAC,OAAO,CACf,2BAA2B,EAC3B,wCAAwC,MAAM,EAAE,CACjD,CAAC;QACF,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,0BAA0B,EAAE,qCAAqC,MAAM,EAAE,CAAC,CAAC;QAC7F,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,gEAAgE;IAChE,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI;QACxB,CAAC,8BAA8B,EAAE,MAAM,CAAU;QACjD,CAAC,8BAA8B,EAAE,MAAM,CAAU;KAClD,EAAE,CAAC;QACF,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;YACtC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;YACtE,OAAO,QAAQ,IAAI,KAAK,CAAC,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mDAAmD;IACnD,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,4BAA4B,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/D,CAAC;SACE,OAAO,CAAC,eAAe,EAAE,YAAY,MAAM,EAAE,CAAC;SAC9C,OAAO,CAAC,aAAa,EAAE,UAAU,MAAM,EAAE,CAAC;SAC1C,OAAO,CAAC,cAAc,EAAE,MAAM,MAAM,IAAI,CAAC,CAC7C,CAAC;IACF,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,4BAA4B,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAC/D,CAAC;SACE,OAAO,CAAC,eAAe,EAAE,YAAY,MAAM,EAAE,CAAC;SAC9C,OAAO,CAAC,aAAa,EAAE,UAAU,MAAM,EAAE,CAAC;SAC1C,OAAO,CAAC,cAAc,EAAE,MAAM,MAAM,IAAI,CAAC,CAC7C,CAAC;IAEF,iEAAiE;IACjE,mCAAmC;IACnC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QACvD,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,UAAU,MAAM,GAAG,CAAC,CAAC;QAC3D,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,UAAU,MAAM,GAAG,CAAC,CAAC;QACzD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,iEAAiE;IACjE,oCAAoC;IACpC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CACpD,CAAC;SACE,OAAO,CAAC,oBAAoB,EAAE,gBAAgB,MAAM,EAAE,CAAC;SACvD,OAAO,CAAC,iBAAiB,EAAE,aAAa,MAAM,EAAE,CAAC;SACjD,OAAO,CACN,sCAAsC,EACtC,UAAU,MAAM,uBAAuB,MAAM,EAAE,CAChD,CACJ,CAAC;IAEF,mEAAmE;IACnE,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO;IAEpC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CACrD,CAAC,CAAC,OAAO,CACP,8EAA8E,EAC9E,qEAAqE,SAAS,GAAG,CAClF,CACF,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,EAAE,CAAC;QACtE,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CACzC,CAAC,CAAC,OAAO,CAAC,kCAAkC,EAAE,4BAA4B,SAAS,IAAI,CAAC,CACzF,CAAC;IACJ,CAAC;IAED,oEAAoE;IACpE,+DAA+D;IAC/D,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,IAAI,iBAAiB,CAAC;QAC/F,oBAAoB,CAClB,SAAS,EACT,aAAa,EACb,mDAAmD;YACjD,SAAS,SAAS,kBAAkB,aAAa,QAAQ;YACzD,6BAA6B,SAAS,+BAA+B;YACrE,qCAAqC,SAAS,6BAA6B,CAC9E,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;oEAoBoE;AACpE,MAAM,UAAU,gBAAgB,CAAC,SAAiB,EAAE,WAAmB;IACrE,MAAM,YAAY,GAAsC;QACtD,CAAC,aAAa,EAAE,GAAG,WAAW,MAAM,CAAC;QACrC,CAAC,aAAa,EAAE,GAAG,WAAW,MAAM,CAAC;QACrC,CAAC,gBAAgB,EAAE,GAAG,WAAW,SAAS,CAAC;KAC5C,CAAC;IACF,MAAM,OAAO,GAAG;QACd,wBAAwB;QACxB,kCAAkC;QAClC,8BAA8B;QAC9B,sBAAsB;QACtB,mCAAmC;KACpC,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAClC,WAAW,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;YAC5B,IAAI,GAAG,GAAG,OAAO,CAAC;YAClB,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY;gBAAE,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACtE,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { ProjectConfig, Surface } from "../prompts.js";
2
+ /** Apply surface-aware pruning to a freshly-copied starter. Mutates
3
+ * `modifications` in place so the orchestrator's spinner summary
4
+ * reflects what changed. */
5
+ export declare function pruneToSurface(config: ProjectConfig, outputDir: string, modifications: string[]): void;
6
+ /** Tiny export so callers (tests, future surface kinds) can ask "does
7
+ * this surface keep a server?" without duplicating the string check. */
8
+ export declare function surfaceHasServer(surface: Surface): boolean;
9
+ /** Same for the client half. */
10
+ export declare function surfaceHasClient(surface: Surface): boolean;
11
+ //# sourceMappingURL=surfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surfaces.d.ts","sourceRoot":"","sources":["../../src/scaffold/surfaces.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAI5D;;6BAE6B;AAC7B,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EAAE,GACtB,IAAI,CAIN;AA2TD;yEACyE;AACzE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE1D;AAED,gCAAgC;AAChC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE1D"}
@@ -0,0 +1,331 @@
1
+ /*
2
+ * Surface-aware pruning for `hatchkit create`.
3
+ *
4
+ * The full-stack starter ships with packages/{server,client,shared} plus
5
+ * a multi-service docker-compose. When the user picks a narrower surface
6
+ * (server-only / client-only) we strip the unused half AFTER the copy.
7
+ *
8
+ * · server-only — remove packages/client + client-side top-level
9
+ * scaffolding (Next.js / Electron / Capacitor / e2e), strip the
10
+ * `client` service from docker-compose.yml, rewrite the root
11
+ * package.json scripts to drop client/test/e2e/native targets.
12
+ * Clean by construction: the server has zero `@starter/client`
13
+ * imports.
14
+ *
15
+ * · client-only — remove packages/server + every client-side route /
16
+ * provider / hook / lib that talks to the server (the (protected)
17
+ * route group, auth pages, tRPC wiring, Better Auth client),
18
+ * strip the server/mongo/redis services from docker-compose,
19
+ * rewrite the landing page so it doesn't link to auth pages we
20
+ * just deleted, and drop the now-unused @trpc/* + better-auth
21
+ * dependencies. Mobile/desktop wrappers stay valid because they
22
+ * wrap the client.
23
+ */
24
+ import { existsSync, readFileSync, writeFileSync } from "node:fs";
25
+ import { join } from "node:path";
26
+ import { setPackageJsonScript, stripPackageJsonDeps, stripPackageJsonScripts } from "./pkg-json.js";
27
+ import { removeIfExists, rewriteFile } from "./starter-files.js";
28
+ /** Apply surface-aware pruning to a freshly-copied starter. Mutates
29
+ * `modifications` in place so the orchestrator's spinner summary
30
+ * reflects what changed. */
31
+ export function pruneToSurface(config, outputDir, modifications) {
32
+ if (config.surfaces === "both")
33
+ return;
34
+ if (config.surfaces === "server-only")
35
+ pruneToServerOnly(outputDir, modifications);
36
+ else
37
+ pruneToClientOnly(outputDir, modifications);
38
+ }
39
+ // ── server-only ────────────────────────────────────────────────────────
40
+ function pruneToServerOnly(outputDir, modifications) {
41
+ // Drop the client package outright. The server has no `@starter/client`
42
+ // imports (verified by the test suite), so this is safe.
43
+ removeIfExists(join(outputDir, "packages/client"));
44
+ modifications.push("server-only: removed packages/client/");
45
+ // Top-level dirs/files that only make sense alongside a client. Mobile
46
+ // and desktop are already feature-gated so they're usually gone by
47
+ // this point — these calls are belt-and-braces for the case where the
48
+ // user picks server-only + desktop/mobile (a contradiction we don't
49
+ // bother validating; the strip just wins).
50
+ for (const rel of CLIENT_SIDE_TOP_LEVEL)
51
+ removeIfExists(join(outputDir, rel));
52
+ modifications.push("server-only: removed client-side top-level scaffolding");
53
+ // Strip the `client` service from compose. Keep `server`, `mongo`,
54
+ // `redis`, and the `mongo-data` volume — the server still needs all
55
+ // three.
56
+ for (const rel of ["docker-compose.yml", "docker-compose.dev.yml"]) {
57
+ const p = join(outputDir, rel);
58
+ if (existsSync(p))
59
+ rewriteFile(p, (c) => stripComposeServices(c, ["client"]));
60
+ }
61
+ modifications.push("server-only: removed client service from docker-compose");
62
+ dropWorkspaceEntry(outputDir, "docs-site");
63
+ // Root package.json scripts: drop client/test/e2e/native targets and
64
+ // rewrite the build/test/dev orchestrators to point at the server
65
+ // only.
66
+ stripPackageJsonScripts(outputDir, [
67
+ "dev:fixed",
68
+ "dev:docs",
69
+ "dev:docs:fixed",
70
+ "build:client",
71
+ "test:client",
72
+ "test:e2e",
73
+ ...NATIVE_SCRIPTS,
74
+ ]);
75
+ setPackageJsonScript(outputDir, "dev", "pnpm --filter @starter/server dev");
76
+ setPackageJsonScript(outputDir, "build", "pnpm --filter @starter/shared run build && pnpm --filter @starter/server run build");
77
+ setPackageJsonScript(outputDir, "test", "pnpm run test:unit");
78
+ setPackageJsonScript(outputDir, "typecheck", "pnpm -r run typecheck");
79
+ modifications.push("server-only: rewrote root package.json scripts");
80
+ }
81
+ // ── client-only ────────────────────────────────────────────────────────
82
+ function pruneToClientOnly(outputDir, modifications) {
83
+ // The full server package and any shared types only the server router
84
+ // exposes. ml-types is re-exported by packages/shared/src/index.ts,
85
+ // so we patch the barrel after this.
86
+ removeIfExists(join(outputDir, "packages/server"));
87
+ removeIfExists(join(outputDir, "packages/shared/src/ml-types.ts"));
88
+ modifications.push("client-only: removed packages/server/ and packages/shared/src/ml-types.ts");
89
+ // Shared barrel re-exports ml-types — drop the line so the package
90
+ // still builds after the file goes.
91
+ const sharedIndex = join(outputDir, "packages/shared/src/index.ts");
92
+ if (existsSync(sharedIndex)) {
93
+ rewriteFile(sharedIndex, (c) => c.replace(/^export \* from "\.\/ml-types\.js";\n/m, ""));
94
+ }
95
+ // Routes that talk to the server: every authenticated page (which
96
+ // uses tRPC + auth) plus the unauthenticated login/signup pages
97
+ // (which call Better Auth on the server).
98
+ const clientApp = join(outputDir, "packages/client/src/app");
99
+ for (const rel of ["(protected)", "login", "signup", "forgot-password", "reset-password"]) {
100
+ removeIfExists(join(clientApp, rel));
101
+ }
102
+ // The components/ml tree only has consumers inside `(protected)`, so
103
+ // it goes too.
104
+ removeIfExists(join(outputDir, "packages/client/src/components/ml"));
105
+ // Providers, libs, and hooks that only make sense with a backend.
106
+ for (const rel of [
107
+ "src/providers/trpc-provider.tsx",
108
+ "src/providers/auth-provider.tsx",
109
+ "src/lib/trpc.ts",
110
+ "src/lib/auth-client.ts",
111
+ "src/hooks/use-auth.ts",
112
+ ]) {
113
+ removeIfExists(join(outputDir, "packages/client", rel));
114
+ }
115
+ modifications.push("client-only: removed auth/tRPC routes, providers, libs, hooks");
116
+ // app/layout.tsx still imports the providers we just deleted and
117
+ // wraps children in them. Rewrite to a minimal layout that just
118
+ // renders {children} (analytics + mobile bridge stay — neither
119
+ // depends on the server).
120
+ rewriteClientLayoutForClientOnly(outputDir);
121
+ // app/page.tsx links to /login and /signup, both gone now. Replace
122
+ // it with a static "Get started" stub. The user is meant to replace
123
+ // this with their own marketing content anyway.
124
+ rewriteLandingForClientOnly(outputDir);
125
+ // packages/client/package.json: drop the deps we no longer use. The
126
+ // client still keeps Next.js, React, Sentry, OpenPanel, Tailwind,
127
+ // class-variance-authority, etc.
128
+ stripPackageJsonDeps(join(outputDir, "packages/client"), [
129
+ "@trpc/client",
130
+ "@trpc/react-query",
131
+ "@tanstack/react-query",
132
+ "better-auth",
133
+ ]);
134
+ modifications.push("client-only: pruned @trpc/* + better-auth from packages/client/package.json");
135
+ // Strip server-oriented services from compose. The starter's compose
136
+ // has `server`, `client`, `mongo`, `redis` plus a `mongo-data`
137
+ // volume. For client-only we keep just `client`.
138
+ for (const rel of ["docker-compose.yml", "docker-compose.dev.yml"]) {
139
+ const p = join(outputDir, rel);
140
+ if (existsSync(p)) {
141
+ rewriteFile(p, (c) => stripComposeServices(c, ["server", "mongo", "redis"]));
142
+ rewriteFile(p, removeMongoDataVolume);
143
+ }
144
+ }
145
+ modifications.push("client-only: removed server/mongo/redis from docker-compose");
146
+ // docs-site doubles as the starter's marketing docs. It's a separate
147
+ // app and not particularly useful in a client-only scaffold; drop it
148
+ // so the workspace stays minimal.
149
+ removeIfExists(join(outputDir, "docs-site"));
150
+ removeIfExists(join(outputDir, "e2e"));
151
+ removeIfExists(join(outputDir, "playwright.config.ts"));
152
+ removeIfExists(join(outputDir, "seed"));
153
+ dropWorkspaceEntry(outputDir, "docs-site");
154
+ // Root package.json scripts: drop the server / e2e / docs targets
155
+ // and point dev/build/test at the client filter.
156
+ stripPackageJsonScripts(outputDir, [
157
+ "dev:fixed",
158
+ "dev:docs",
159
+ "dev:docs:fixed",
160
+ "build:server",
161
+ "test:unit",
162
+ "test:e2e",
163
+ "seed:assets",
164
+ "assets:push",
165
+ "assets:pull",
166
+ ]);
167
+ setPackageJsonScript(outputDir, "dev", "pnpm --filter @starter/client dev");
168
+ setPackageJsonScript(outputDir, "build", "pnpm --filter @starter/shared run build && pnpm --filter @starter/client run build");
169
+ setPackageJsonScript(outputDir, "test", "pnpm run test:client");
170
+ // Leave typecheck alone — the desktop/mobile feature-flag step
171
+ // handles the electron variant for native scaffolds, and the bare
172
+ // `pnpm -r run typecheck` works for everything else.
173
+ setPackageJsonScript(outputDir, "typecheck", "pnpm -r run typecheck");
174
+ modifications.push("client-only: rewrote root package.json scripts");
175
+ }
176
+ function rewriteClientLayoutForClientOnly(outputDir) {
177
+ const path = join(outputDir, "packages/client/src/app/layout.tsx");
178
+ if (!existsSync(path))
179
+ return;
180
+ // Surgical edit — drop the two provider imports and unwrap children
181
+ // from <TRPCProvider><AuthProvider>…</AuthProvider></TRPCProvider>.
182
+ // Leaves the rest of the layout (metadata, analytics gate,
183
+ // MobileBridgeLoader when the mobile feature is on) alone so its
184
+ // upstream feature-flag rewrites (stripMobileBridgeFromLayout) still
185
+ // win when they run.
186
+ rewriteFile(path, (content) => {
187
+ let next = content
188
+ .replace(/^import\s*\{\s*TRPCProvider\s*\}\s*from\s*"@\/providers\/trpc-provider";\n/m, "")
189
+ .replace(/^import\s*\{\s*AuthProvider\s*\}\s*from\s*"@\/providers\/auth-provider";\n/m, "");
190
+ // Match either <TRPCProvider><AuthProvider>{children}</AuthProvider></TRPCProvider>
191
+ // or a multi-line variant; whitespace-flexible.
192
+ next = next.replace(/<TRPCProvider>\s*<AuthProvider>\s*\{children\}\s*<\/AuthProvider>\s*<\/TRPCProvider>/, "{children}");
193
+ return next;
194
+ });
195
+ }
196
+ function rewriteLandingForClientOnly(outputDir) {
197
+ const path = join(outputDir, "packages/client/src/app/page.tsx");
198
+ if (!existsSync(path))
199
+ return;
200
+ const next = `export default function LandingPage() {
201
+ return (
202
+ <div className="flex min-h-screen flex-col items-center justify-center p-8">
203
+ <main className="mx-auto max-w-2xl text-center">
204
+ <h1 className="mb-4 text-4xl font-bold tracking-tight">
205
+ Welcome to My App
206
+ </h1>
207
+ <p className="mb-8 text-lg text-muted-foreground">
208
+ Edit packages/client/src/app/page.tsx to replace this placeholder.
209
+ </p>
210
+ </main>
211
+ </div>
212
+ );
213
+ }
214
+ `;
215
+ writeFileSync(path, next, "utf-8");
216
+ }
217
+ // ── compose helpers ────────────────────────────────────────────────────
218
+ /** Strip one or more top-level services from a Compose document. Looks
219
+ * for `<name>:` at the canonical 2-space indent under `services:` and
220
+ * drops every line that belongs to the block (anything indented past
221
+ * 2 spaces). Sibling-key detection — any line at the 2-space sibling
222
+ * indent or back to column 0 — bounds the block. No-op if a name
223
+ * isn't present. */
224
+ function stripComposeServices(content, names) {
225
+ let out = content;
226
+ for (const name of names) {
227
+ out = stripOneComposeService(out, name);
228
+ }
229
+ return out;
230
+ }
231
+ function stripOneComposeService(content, name) {
232
+ const lines = content.split("\n");
233
+ const out = [];
234
+ let i = 0;
235
+ const header = new RegExp(`^ {2}${name}:\\s*$`);
236
+ while (i < lines.length) {
237
+ const line = lines[i];
238
+ if (header.test(line)) {
239
+ i += 1;
240
+ while (i < lines.length) {
241
+ const body = lines[i];
242
+ if (body === "") {
243
+ // Drop the trailing blank only if the next non-empty line is
244
+ // a sibling key — otherwise we'd swallow the separator before
245
+ // `volumes:` and similar.
246
+ const peek = lines.slice(i + 1).find((l) => l.trim() !== "");
247
+ if (!peek || /^ {2}\S/.test(peek) || /^\S/.test(peek)) {
248
+ i += 1;
249
+ break;
250
+ }
251
+ out.push(body);
252
+ i += 1;
253
+ continue;
254
+ }
255
+ if (/^ {2}\S/.test(body) || /^\S/.test(body))
256
+ break;
257
+ i += 1;
258
+ }
259
+ continue;
260
+ }
261
+ out.push(line);
262
+ i += 1;
263
+ }
264
+ return out.join("\n");
265
+ }
266
+ /** Remove the top-level `volumes:` block + its `mongo-data:` entry. Used
267
+ * after stripping the mongo service so the compose doesn't reference
268
+ * an orphaned volume. The starter only declares one volume, so we
269
+ * drop the whole block; if a future starter adds more, this'll need
270
+ * to become entry-aware. */
271
+ function removeMongoDataVolume(content) {
272
+ return content.replace(/\nvolumes:\s*\n\s+mongo-data:\s*\n?/m, "\n");
273
+ }
274
+ // ── shared helpers ─────────────────────────────────────────────────────
275
+ function dropWorkspaceEntry(outputDir, name) {
276
+ const path = join(outputDir, "pnpm-workspace.yaml");
277
+ if (!existsSync(path))
278
+ return;
279
+ const content = readFileSync(path, "utf-8");
280
+ const next = content.replace(new RegExp(`^\\s*-\\s*"${name}"\\s*\\n`, "m"), "");
281
+ if (next !== content)
282
+ writeFileSync(path, next, "utf-8");
283
+ }
284
+ const CLIENT_SIDE_TOP_LEVEL = [
285
+ "electron",
286
+ "ios",
287
+ "android",
288
+ "capacitor.config.ts",
289
+ "docs-site",
290
+ "build",
291
+ "resources",
292
+ "e2e",
293
+ "playwright.config.ts",
294
+ ".github/workflows/desktop-release.yml",
295
+ ".github/workflows/mobile-release.yml",
296
+ ];
297
+ const NATIVE_SCRIPTS = [
298
+ "dev:desktop",
299
+ "dev:electron",
300
+ "build:desktop",
301
+ "electron:compile",
302
+ "electron:build",
303
+ "electron:preview",
304
+ "typecheck:electron",
305
+ "icons:desktop",
306
+ "itch:push:mac",
307
+ "itch:push:win",
308
+ "itch:push:linux",
309
+ "dev:android",
310
+ "dev:ios",
311
+ "build:mobile",
312
+ "cap:add:ios",
313
+ "cap:add:android",
314
+ "cap:sync",
315
+ "cap:run:ios",
316
+ "cap:run:android",
317
+ "build:ios:release",
318
+ "build:android:release",
319
+ "build:android:apk",
320
+ "mobile:assets",
321
+ ];
322
+ /** Tiny export so callers (tests, future surface kinds) can ask "does
323
+ * this surface keep a server?" without duplicating the string check. */
324
+ export function surfaceHasServer(surface) {
325
+ return surface !== "client-only";
326
+ }
327
+ /** Same for the client half. */
328
+ export function surfaceHasClient(surface) {
329
+ return surface !== "server-only";
330
+ }
331
+ //# sourceMappingURL=surfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surfaces.js","sourceRoot":"","sources":["../../src/scaffold/surfaces.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxE,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,WAAW,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtD;AAED,wBAAgB,aAAa,IAAI,cAAc,CA8F9C;AA6CD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,cAAc,GAAG,MAAM,CAwB3D;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,cAAc,GAAG,MAAM,CAyBpD"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxE,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,WAAW,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtD;AAED,wBAAgB,aAAa,IAAI,cAAc,CA8F9C;AA+DD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,cAAc,GAAG,MAAM,CAwB3D;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,cAAc,GAAG,MAAM,CAyBpD"}
package/dist/status.js CHANGED
@@ -76,7 +76,7 @@ export function collectStatus() {
76
76
  key: "stripe",
77
77
  label: "Stripe (payments)",
78
78
  configured: !!config.providers.stripe && config.providers.stripe.status === "configured",
79
- detail: config.providers.stripe?.mode,
79
+ detail: stripeDetail(config.providers.stripe),
80
80
  configureCommand: "hatchkit config add stripe",
81
81
  });
82
82
  const services = getMlServices();
@@ -97,6 +97,16 @@ export function collectStatus() {
97
97
  suggestions,
98
98
  };
99
99
  }
100
+ function stripeDetail(meta) {
101
+ if (!meta || meta.status !== "configured")
102
+ return undefined;
103
+ const modes = [meta.hasTestMaster && "test", meta.hasLiveMaster && "live"]
104
+ .filter(Boolean)
105
+ .join(" + ");
106
+ if (!modes)
107
+ return undefined;
108
+ return meta.accountId ? `${modes} · ${meta.accountId}` : modes;
109
+ }
100
110
  function computeNextStep(providers) {
101
111
  const required = ["github", "coolify", "hetzner", "dns"];
102
112
  const firstMissing = providers.find((p) => required.includes(p.key) && !p.configured);