@hype-stack/cli 1.5.3 → 1.6.0

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 (59) hide show
  1. package/dist/{cli-DvykhGth.js → cli-DjFlhNny.js} +3341 -2046
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/commands/compose.d.ts.map +1 -1
  4. package/dist/commands/create.d.ts.map +1 -1
  5. package/dist/commands/deploy-dispatch.d.ts +13 -0
  6. package/dist/commands/deploy-dispatch.d.ts.map +1 -0
  7. package/dist/commands/deploy-extension.d.ts +19 -0
  8. package/dist/commands/deploy-extension.d.ts.map +1 -0
  9. package/dist/commands/deploy-mobile.d.ts +24 -0
  10. package/dist/commands/deploy-mobile.d.ts.map +1 -0
  11. package/dist/commands/deploy.d.ts.map +1 -1
  12. package/dist/commands/init.d.ts.map +1 -1
  13. package/dist/commands/template.d.ts.map +1 -1
  14. package/dist/config/bin.js +1 -1
  15. package/dist/core/apply-radius.d.ts +6 -5
  16. package/dist/core/apply-radius.d.ts.map +1 -1
  17. package/dist/core/apply-theme-mobile.d.ts +25 -0
  18. package/dist/core/apply-theme-mobile.d.ts.map +1 -0
  19. package/dist/core/codemods.d.ts +28 -0
  20. package/dist/core/codemods.d.ts.map +1 -1
  21. package/dist/core/customization.d.ts +12 -4
  22. package/dist/core/customization.d.ts.map +1 -1
  23. package/dist/core/installer.d.ts.map +1 -1
  24. package/dist/core/npm-deps.d.ts +12 -0
  25. package/dist/core/npm-deps.d.ts.map +1 -1
  26. package/dist/core/pack-slots.d.ts +10 -2
  27. package/dist/core/pack-slots.d.ts.map +1 -1
  28. package/dist/core/route-tree.d.ts.map +1 -1
  29. package/dist/core/stack-config.d.ts.map +1 -1
  30. package/dist/core/variants.d.ts +14 -8
  31. package/dist/core/variants.d.ts.map +1 -1
  32. package/dist/deploy/config.d.ts +19 -0
  33. package/dist/deploy/config.d.ts.map +1 -1
  34. package/dist/deploy/detect.d.ts +6 -0
  35. package/dist/deploy/detect.d.ts.map +1 -1
  36. package/dist/deploy/extension/credentials.d.ts +33 -0
  37. package/dist/deploy/extension/credentials.d.ts.map +1 -0
  38. package/dist/deploy/extension/pipeline.d.ts +14 -0
  39. package/dist/deploy/extension/pipeline.d.ts.map +1 -0
  40. package/dist/deploy/extension/types.d.ts +44 -0
  41. package/dist/deploy/extension/types.d.ts.map +1 -0
  42. package/dist/deploy/mobile/eas-config.d.ts +21 -0
  43. package/dist/deploy/mobile/eas-config.d.ts.map +1 -0
  44. package/dist/deploy/mobile/pipeline.d.ts +11 -0
  45. package/dist/deploy/mobile/pipeline.d.ts.map +1 -0
  46. package/dist/deploy/mobile/types.d.ts +28 -0
  47. package/dist/deploy/mobile/types.d.ts.map +1 -0
  48. package/dist/deploy/report.d.ts +3 -1
  49. package/dist/deploy/report.d.ts.map +1 -1
  50. package/dist/deploy/tools.d.ts +10 -0
  51. package/dist/deploy/tools.d.ts.map +1 -1
  52. package/dist/deploy/types.d.ts +40 -0
  53. package/dist/deploy/types.d.ts.map +1 -1
  54. package/dist/index.js +1 -1
  55. package/dist/mcp/tools/create-application.d.ts +8 -0
  56. package/dist/mcp/tools/create-application.d.ts.map +1 -1
  57. package/dist/types/types.d.ts +29 -3
  58. package/dist/types/types.d.ts.map +1 -1
  59. package/package.json +1 -1
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAyB1D,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAEtF;AAoBD,0EAA0E;AAC1E,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,oBAAoB,CAQxF;AAoCD,wBAAgB,aAAa,IAAI,OAAO,CA8LvC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAyB1D,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAEtF;AAwBD,0EAA0E;AAC1E,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,oBAAoB,CAYxF;AAoCD,wBAAgB,aAAa,IAAI,OAAO,CAiQvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/commands/compose.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EAGd,MAAM,mBAAmB,CAAC;AAqB3B,wBAAsB,cAAc,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8RhF;AA0HD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE,CAUxG;AAID;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAIhE"}
1
+ {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/commands/compose.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EAGd,MAAM,mBAAmB,CAAC;AAqB3B,wBAAsB,cAAc,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuShF;AA0HD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,EAAE,CAUxG;AAID;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAIhE"}
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAUnE,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAiT3E"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,mBAAmB,CAAC;AASnE,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CA6T3E"}
@@ -0,0 +1,13 @@
1
+ export interface DeployDispatchOptions {
2
+ cwd?: string;
3
+ dryRun?: boolean;
4
+ yes?: boolean;
5
+ }
6
+ /**
7
+ * Bare `hype-stack deploy`: pick which pipelines to run (web apps + server /
8
+ * mobile / extension), offering only what the project actually has, then run
9
+ * them in order. With `--yes` it defaults to the web pipeline alone, which is
10
+ * exactly what the command did before the split.
11
+ */
12
+ export declare function deployDispatchCommand(options?: DeployDispatchOptions): Promise<void>;
13
+ //# sourceMappingURL=deploy-dispatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-dispatch.d.ts","sourceRoot":"","sources":["../../src/commands/deploy-dispatch.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,qBAAqB;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAOD;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAsE9F"}
@@ -0,0 +1,19 @@
1
+ export interface DeployExtensionOptions {
2
+ cwd?: string;
3
+ /** Comma-separated stores, e.g. `chrome,edge,firefox`. Defaults to the saved value, then all three. */
4
+ stores?: string;
5
+ /** Print every command that would run without executing any of them. */
6
+ dryRun?: boolean;
7
+ /** Skip prompts, accept defaults. */
8
+ yes?: boolean;
9
+ /** Suppress the banner and intro when chained after `deploy web`. */
10
+ skipBanner?: boolean;
11
+ }
12
+ /**
13
+ * Build the browser extension and publish it to the Chrome Web Store, Edge
14
+ * Add-ons, and Firefox AMO. Stores without credentials in the environment are
15
+ * skipped with instructions rather than failed, so the first run doubles as
16
+ * the setup guide.
17
+ */
18
+ export declare function deployExtensionCommand(options?: DeployExtensionOptions): Promise<void>;
19
+ //# sourceMappingURL=deploy-extension.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-extension.d.ts","sourceRoot":"","sources":["../../src/commands/deploy-extension.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,sBAAsB;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uGAAuG;IACvG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qCAAqC;IACrC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,qEAAqE;IACrE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CA2GhG"}
@@ -0,0 +1,24 @@
1
+ export interface DeployMobileOptions {
2
+ cwd?: string;
3
+ /** Comma-separated platforms, e.g. `android,ios`. Defaults to the saved value, then both. */
4
+ platform?: string;
5
+ /** EAS build profile from `eas.json`. Defaults to the saved value, then `production`. */
6
+ profile?: string;
7
+ /** Auto-submit each build to its app store (`eas build --auto-submit`). */
8
+ submit?: boolean;
9
+ /** Push an OTA update (`eas update`) after the builds are queued. */
10
+ update?: boolean;
11
+ /** Print every command that would run without executing any of them. */
12
+ dryRun?: boolean;
13
+ /** Skip prompts, accept defaults. */
14
+ yes?: boolean;
15
+ /** Suppress the banner and intro when chained after `deploy web`. */
16
+ skipBanner?: boolean;
17
+ }
18
+ /**
19
+ * Build (and optionally submit) the Expo app through EAS. A separate pipeline
20
+ * from `deploy web` because nothing here touches a cloud provider: EAS runs the
21
+ * builds, signs them, and talks to the app stores.
22
+ */
23
+ export declare function deployMobileCommand(options?: DeployMobileOptions): Promise<void>;
24
+ //# sourceMappingURL=deploy-mobile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-mobile.d.ts","sourceRoot":"","sources":["../../src/commands/deploy-mobile.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yFAAyF;IACzF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qEAAqE;IACrE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wEAAwE;IACxE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qCAAqC;IACrC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,qEAAqE;IACrE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgH1F"}
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAOA,OAAO,EAAgB,iBAAiB,EAAqC,MAAM,qBAAqB,CAAC;AA6BzG,OAAO,KAAK,EAEV,aAAa,EAEb,YAAY,EACZ,cAAc,EAGf,MAAM,oBAAoB,CAAC;AAM5B;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyK9E;AA2BD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;IACjD,gBAAgB,EAAE,YAAY,EAAE,CAAC;IACjC,gBAAgB,EAAE,YAAY,EAAE,CAAC;CAClC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,eAAe,GAAG;IAC1D,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B,CAUA"}
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/commands/deploy.ts"],"names":[],"mappings":"AAOA,OAAO,EAAgB,iBAAiB,EAAqC,MAAM,qBAAqB,CAAC;AA8BzG,OAAO,KAAK,EAEV,aAAa,EAEb,YAAY,EACZ,cAAc,EAGf,MAAM,oBAAoB,CAAC;AAQ5B;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmL9E;AAgED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;IACjD,gBAAgB,EAAE,YAAY,EAAE,CAAC;IACjC,gBAAgB,EAAE,YAAY,EAAE,CAAC;CAClC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,eAAe,GAAG;IAC1D,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B,CAUA"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAa3E,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAyFrE;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,6EAA6E;IAC7E,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACtE;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAgB,SAAQ,oBAAoB;IAC3D,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/B,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,iBAAsB,EAC/B,eAAe,CAAC,EAAE,eAAe,GAChC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAkFlC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAa3E,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAyFrE;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,6EAA6E;IAC7E,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACtE;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAgB,SAAQ,oBAAoB;IAC3D,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/B,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,iBAAsB,EAC/B,eAAe,CAAC,EAAE,eAAe,GAChC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAsFlC"}
@@ -1 +1 @@
1
- {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/commands/template.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAIV,sBAAsB,EAGvB,MAAM,mBAAmB,CAAC;AAoB3B;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAwYzF"}
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/commands/template.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAIV,sBAAsB,EAGvB,MAAM,mBAAmB,CAAC;AAoB3B;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAyYzF"}
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { d as e, n as t, t as n, u as r } from "../cli-DvykhGth.js";
2
+ import { d as e, n as t, t as n, u as r } from "../cli-DjFlhNny.js";
3
3
  import { z as i } from "zod";
4
4
  import * as a from "@sentry/node";
5
5
  //#region src/core/sentry.ts
@@ -19,10 +19,11 @@ export declare function isRadius(value: string): value is Radius;
19
19
  export declare function applyRadiusToCss(css: string, radius: Radius): string;
20
20
  export declare const RADIUS_STYLES_RELATIVE_PATH = "src/assets/styles.css";
21
21
  /**
22
- * Apply `radius` to the `src/assets/styles.css` of the frontend app rooted at
23
- * `frontendRoot`. Returns true when the file was read (and rewritten if the
24
- * value differed), false when the file is missing so the install flow keeps
25
- * going rather than failing.
22
+ * Apply `radius` to the styles file of the app rooted at `appRoot`. Web apps
23
+ * (frontend, admin, extension) keep their tokens in `src/assets/styles.css`
24
+ * (the default); the mobile app passes its own `src/global.css`. Returns true
25
+ * when the file was read (and rewritten if the value differed), false when the
26
+ * file is missing so the install flow keeps going rather than failing.
26
27
  */
27
- export declare function applyRadiusToProject(frontendRoot: string, radius: Radius): Promise<boolean>;
28
+ export declare function applyRadiusToProject(appRoot: string, radius: Radius, stylesRelativePath?: string): Promise<boolean>;
28
29
  //# sourceMappingURL=apply-radius.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"apply-radius.d.ts","sourceRoot":"","sources":["../../src/core/apply-radius.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAO5B,8EAA8E;AAC9E,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,MAAM,CAEvD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,eAAO,MAAM,2BAA2B,0BAA0B,CAAC;AAEnE;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAejG"}
1
+ {"version":3,"file":"apply-radius.d.ts","sourceRoot":"","sources":["../../src/core/apply-radius.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAO5B,8EAA8E;AAC9E,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,MAAM,CAEvD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,eAAO,MAAM,2BAA2B,0BAA0B,CAAC;AAEnE;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,kBAAkB,GAAE,MAAoC,GACvD,OAAO,CAAC,OAAO,CAAC,CAelB"}
@@ -0,0 +1,25 @@
1
+ import { Theme, ThemeTokens } from '../constants/themes.js';
2
+ export declare const MOBILE_THEME_STYLES_RELATIVE_PATH = "src/global.css";
3
+ /**
4
+ * Convert one OKLCH color string from the theme catalog to the bare HSL channel
5
+ * form the mobile `global.css` uses (`21.1 100% 47.3%`). Returns null for
6
+ * anything that is not a parseable `oklch(...)` value so callers can skip it
7
+ * instead of writing garbage into the file.
8
+ */
9
+ export declare function oklchToHslChannels(value: string): string | null;
10
+ /** Convert every OKLCH token to HSL channels, dropping tokens that fail to parse. */
11
+ export declare function themeTokensToHsl(tokens: ThemeTokens): ThemeTokens;
12
+ /**
13
+ * Rewrite the `:root` and `.dark:root` color tokens of the mobile `global.css`
14
+ * according to `theme`, converting the catalog's OKLCH values to HSL channels.
15
+ * Tokens the file does not declare are skipped (never inserted), and non-color
16
+ * declarations like `--radius` are left alone. Idempotent.
17
+ */
18
+ export declare function applyMobileThemeToCss(css: string, theme: Theme): string;
19
+ /**
20
+ * Apply `theme` to the `src/global.css` of the mobile app rooted at
21
+ * `mobileRoot`. Returns true when the file was read (and rewritten if needed),
22
+ * false when the file is missing so the flow keeps going rather than failing.
23
+ */
24
+ export declare function applyMobileThemeToProject(mobileRoot: string, theme: Theme): Promise<boolean>;
25
+ //# sourceMappingURL=apply-theme-mobile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-theme-mobile.d.ts","sourceRoot":"","sources":["../../src/core/apply-theme-mobile.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAEjE,eAAO,MAAM,iCAAiC,mBAAmB,CAAC;AAwElE;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK/D;AAED,qFAAqF;AACrF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAOjE;AA6ED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAIvE;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAelG"}
@@ -168,5 +168,33 @@ export declare function patchAppTitle(args: {
168
168
  projectRoot: string;
169
169
  projectName: string;
170
170
  }): Promise<void>;
171
+ export interface PatchMobileNavConstantsOptions {
172
+ /** Entries pinned to the mobile slot. Sub-items and permissions are web-only and ignored here. */
173
+ entries: PackNavEntry[];
174
+ paths: StackPaths;
175
+ projectRoot: string;
176
+ /**
177
+ * Rewrite an existing item on the same route instead of skipping it. Used by
178
+ * the template overlay so a template's screen takes over the starter's entry
179
+ * on that route rather than leaving both.
180
+ */
181
+ override?: boolean;
182
+ /**
183
+ * Move these entries to the front of their group once patched, so a template's
184
+ * own screens stay above the pack pages that appended before it.
185
+ */
186
+ pinFirst?: boolean;
187
+ }
188
+ /**
189
+ * Patch the mobile app's `nav.constants.ts` with pack nav entries, the mobile
190
+ * counterpart of `patchNavConstants`. The mobile nav is split into the same
191
+ * four groups as the frontend sidebar (`primaryNav`, `secondaryNav`,
192
+ * `tertiaryNav`, `settingsNav`), and every layout renders them through the
193
+ * derived `navGroups`, so a pack that sits under More on the web sits under
194
+ * More in the drawer too, from the same manifest line. An entry's route is its
195
+ * identity, which keeps patching idempotent. Mirrors
196
+ * `patch-mobile-nav.constants.ts` in the registry.
197
+ */
198
+ export declare function patchMobileNavConstants(options: PatchMobileNavConstantsOptions): Promise<void>;
171
199
  export {};
172
200
  //# sourceMappingURL=codemods.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codemods.d.ts","sourceRoot":"","sources":["../../src/core/codemods.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codemods.d.ts","sourceRoot":"","sources":["../../src/core/codemods.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,SAAS,EACT,oBAAoB,EACpB,eAAe,EACf,QAAQ,EACR,UAAU,EACV,UAAU,EACX,MAAM,mBAAmB,CAAC;AAgC3B,iGAAiG;AACjG,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAM1F;AASD,wBAAsB,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCzG;AAwFD,wBAAsB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAc5G;AAmCD,wBAAsB,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBrH;AA8ED,wBAAsB,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAY9G;AAkBD,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,mBAAmB,EAAE,EAClC,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAoDD,wBAAsB,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB/G;AAkGD,wBAAsB,sBAAsB,CAC1C,cAAc,EAAE,oBAAoB,EAAE,EACtC,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAef;AAoCD,wBAAsB,gBAAgB,CACpC,cAAc,EAAE,iBAAiB,EAAE,EACnC,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAiBf;AA8FD;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,EAAE,mBAIpC,CAAC;AAEF,mFAAmF;AACnF,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5D,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B,CAAC;AA2BF,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BxF;AAcD,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DxF;AAID,MAAM,WAAW,6BAA6B;IAC5C,qEAAqE;IACrE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC,CAalG;AAID,MAAM,WAAW,4BAA4B;IAC3C,gEAAgE;IAChE,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBhG;AAuVD,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,kBAAkB,EAAE,EAC3B,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAef;AA4DD,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,gBAAgB,EAAE,EACxB,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CA8Bf;AAgHD,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,sBAAsB,EAAE,EACpC,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,sBAAsB,EAAE,EACpC,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAEf;AA4ED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpF;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtF;AA0GD,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,iBAAiB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB7G;AAuED,UAAU,uBAAuB;IAC/B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBtF;AAgFD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIhG;AAyGD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBhB;AAwED,MAAM,WAAW,8BAA8B;IAC7C,kGAAkG;IAClG,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDpG"}
@@ -4,8 +4,12 @@ import { CustomizationOptions, StackConfig } from '../types/types.js';
4
4
  export interface Customization {
5
5
  theme: string;
6
6
  adminTheme: string;
7
+ mobileTheme: string;
8
+ extensionTheme: string;
7
9
  radius: string;
8
10
  adminRadius: string;
11
+ mobileRadius: string;
12
+ extensionRadius: string;
9
13
  mode: ColorMode;
10
14
  }
11
15
  /** What the pickers open on when no flag pins a value: usually a template's manifest. */
@@ -55,6 +59,10 @@ export interface PromptCustomizationArgs {
55
59
  skipPrompts: boolean;
56
60
  /** Ask the admin questions. False for projects with no admin app. */
57
61
  admin: boolean;
62
+ /** Ask the mobile questions. False (the default) for projects with no mobile app. */
63
+ mobile?: boolean;
64
+ /** Ask the extension questions. False (the default) for projects with no browser extension. */
65
+ extension?: boolean;
58
66
  /**
59
67
  * Extra admin questions to run when the user declines "copy frontend
60
68
  * settings" (compose uses this for the admin layout picker). Not called when
@@ -63,10 +71,10 @@ export interface PromptCustomizationArgs {
63
71
  onAdminSection?: () => Promise<void>;
64
72
  }
65
73
  /**
66
- * Walk the frontend section (theme, radius) and then the admin section, which
67
- * opens with "copy the frontend settings?" defaulting to yes. Most people keep
68
- * both apps in sync, so the common path is one keypress; saying no unfolds the
69
- * admin's own theme and radius (plus whatever `onAdminSection` adds).
74
+ * Walk the frontend section (theme, radius) and then one accept-or-reselect
75
+ * section per extra app the project ships: admin, mobile, and the browser
76
+ * extension. Each opens with "copy the frontend settings?" defaulting to yes,
77
+ * so the common path stays one keypress per app.
70
78
  */
71
79
  export declare function promptCustomization(args: PromptCustomizationArgs): Promise<Customization>;
72
80
  /** Human label for a theme id, falling back to the id for anything unknown. */
@@ -1 +1 @@
1
- {"version":3,"file":"customization.d.ts","sourceRoot":"","sources":["../../src/core/customization.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAQ3E,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,yFAAyF;AACzF,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED,oFAAoF;AACpF,wBAAgB,aAAa,IAAI;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAMhF;AAED,iFAAiF;AACjF,wBAAgB,YAAY,IAAI;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAKjE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,GAAG,oBAAoB,CAS3F;AAED,kEAAkE;AAClE,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAiBjF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAG5E;AAED,sFAAsF;AACtF,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,GAAE,qBAA0B,GACnC,aAAa,CAaf;AAED,iGAAiG;AACjG,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAE1E;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,oBAAoB,CAAC;IAC9B,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,yEAAyE;IACzE,WAAW,EAAE,OAAO,CAAC;IACrB,qEAAqE;IACrE,KAAK,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,aAAa,CAAC,CA+E/F;AAED,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB;;;;OAIG;IACH,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CACvC;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BpF"}
1
+ {"version":3,"file":"customization.d.ts","sourceRoot":"","sources":["../../src/core/customization.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAS3E,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,yFAAyF;AACzF,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED,oFAAoF;AACpF,wBAAgB,aAAa,IAAI;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAMhF;AAED,iFAAiF;AACjF,wBAAgB,YAAY,IAAI;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAKjE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,GAAG,oBAAoB,CAiB3F;AAED,kEAAkE;AAClE,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CA2BjF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAG5E;AAED,sFAAsF;AACtF,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,GAAE,qBAA0B,GACnC,aAAa,CAiBf;AAED,iGAAiG;AACjG,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAE1E;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,oBAAoB,CAAC;IAC9B,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,yEAAyE;IACzE,WAAW,EAAE,OAAO,CAAC;IACrB,qEAAqE;IACrE,KAAK,EAAE,OAAO,CAAC;IACf,qFAAqF;IACrF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+FAA+F;IAC/F,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAwDD;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,aAAa,CAAC,CAsF/F;AAED,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB;;;;OAIG;IACH,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CACvC;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0DpF"}
@@ -1 +1 @@
1
- {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/core/installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/core/installer.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,18 @@ export interface PackNpmInstallResult {
27
27
  ok: boolean;
28
28
  errors: string[];
29
29
  }
30
+ /**
31
+ * Install the freshly scaffolded project's dependencies.
32
+ *
33
+ * `--no-frozen-lockfile` is not a convenience, it is required. `updateProjectName` renames every
34
+ * workspace package from `@hype-stack/*` to the project's own scope, so the lockfile the template
35
+ * was cloned with is guaranteed to disagree with the package.json files by the time this runs. pnpm
36
+ * turns `frozen-lockfile` ON by default whenever `CI` is set, so without the flag this install dies
37
+ * with ERR_PNPM_OUTDATED_LOCKFILE on any CI runner and the project ships with a lockfile that still
38
+ * names the template's packages. Nothing on the host notices, and the first thing that does is a
39
+ * `docker build` (whose Dockerfiles install frozen on purpose) failing on the user's deploy.
40
+ */
41
+ export declare function installWorkspaceDependencies(projectRoot: string, runCommand?: NpmDepsCommandRunner): Promise<ExecResult>;
30
42
  /** Run `pnpm add` once per workspace package; must be invoked from workspace root (`projectRoot`). */
31
43
  export declare function installPackNpmDependencies(operations: NpmInstallOperation[], projectRoot: string, runCommand?: NpmDepsCommandRunner): Promise<PackNpmInstallResult>;
32
44
  //# sourceMappingURL=npm-deps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"npm-deps.d.ts","sourceRoot":"","sources":["../../src/core/npm-deps.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAInD,gFAAgF;AAChF,MAAM,WAAW,mBAAmB;IAClC,gFAAgF;IAChF,WAAW,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,mBAAmB,EAAE,CAAC;CACnC;AAED,+FAA+F;AAC/F,wBAAgB,sBAAsB,CACpC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,EACnE,KAAK,EAAE,UAAU,GAChB,4BAA4B,CA+B9B;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,mBAAmB,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,GAC1E,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAYxC;AAED,MAAM,MAAM,oBAAoB,GAAG,CACjC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE;IACP,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC,KACE,OAAO,CAAC,UAAU,CAAC,CAAC;AAEzB,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,sGAAsG;AACtG,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,mBAAmB,EAAE,EACjC,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,oBAA2B,GACtC,OAAO,CAAC,oBAAoB,CAAC,CAiC/B"}
1
+ {"version":3,"file":"npm-deps.d.ts","sourceRoot":"","sources":["../../src/core/npm-deps.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAInD,gFAAgF;AAChF,MAAM,WAAW,mBAAmB;IAClC,gFAAgF;IAChF,WAAW,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,mBAAmB,EAAE,CAAC;CACnC;AASD,+FAA+F;AAC/F,wBAAgB,sBAAsB,CACpC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,EACnE,KAAK,EAAE,UAAU,GAChB,4BAA4B,CAqC9B;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,mBAAmB,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,GAC1E,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAYxC;AAED,MAAM,MAAM,oBAAoB,GAAG,CACjC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE;IACP,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC,KACE,OAAO,CAAC,UAAU,CAAC,CAAC;AAEzB,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,4BAA4B,CAChD,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,oBAA2B,GACtC,OAAO,CAAC,UAAU,CAAC,CAErB;AAED,sGAAsG;AACtG,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,mBAAmB,EAAE,EACjC,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,oBAA2B,GACtC,OAAO,CAAC,oBAAoB,CAAC,CAiC/B"}
@@ -13,8 +13,11 @@ export declare function buildSlotsByPack(selection: PackSelection[]): SlotsByPac
13
13
  * `apps/admin`. That's right for a layout the admin app can mount and wrong for one it
14
14
  * can't: `compose --packs layout-native-app-shell` would write a frontend-only shell into
15
15
  * the admin app, which then fails to compile against modules that only exist on the
16
- * frontend. So an admin-incompatible layout gets pinned to the frontend, and the admin
17
- * app picks up {@link DEFAULT_LAYOUT} instead.
16
+ * frontend. So an admin-incompatible layout gets pinned to every shell except admin
17
+ * (frontend, plus the mobile and extension apps when the project ships them), and the
18
+ * admin app picks up {@link DEFAULT_LAYOUT} instead. The pin must list those optional
19
+ * shells explicitly: an explicit slot selection is authoritative in the installer, so a
20
+ * frontend-only pin would silently drop the layout's mobile and extension slices.
18
21
  *
19
22
  * The substitution only fires when nothing else already covers the admin slot: an explicit
20
23
  * `@admin` pick, another admin-compatible layout in the same selection, or one installed by
@@ -25,6 +28,11 @@ export declare function resolveLayoutSlots(args: {
25
28
  selection: PackSelection[];
26
29
  packs: PackListItem[];
27
30
  hasAdminApp: boolean;
31
+ /** Optional shells the project ships; a pinned layout still installs into these. */
32
+ apps?: {
33
+ mobile?: boolean;
34
+ extension?: boolean;
35
+ };
28
36
  installed: string[];
29
37
  }): PackSelection[];
30
38
  //# sourceMappingURL=pack-slots.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pack-slots.d.ts","sourceRoot":"","sources":["../../src/core/pack-slots.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAElF,6FAA6F;AAC7F,wBAAgB,WAAW,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE,CAShE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,WAAW,CAYxE;AA0BD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,GAAG,aAAa,EAAE,CAoBlB"}
1
+ {"version":3,"file":"pack-slots.d.ts","sourceRoot":"","sources":["../../src/core/pack-slots.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAY,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE5F,6FAA6F;AAC7F,wBAAgB,WAAW,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE,CAShE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,WAAW,CAYxE;AA0BD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,oFAAoF;IACpF,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACjD,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,GAAG,aAAa,EAAE,CA2BlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"route-tree.d.ts","sourceRoot":"","sources":["../../src/core/route-tree.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAY,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAInD,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAkCxH;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,UAAU,CAAC;IAClB,UAAU,CAAC,EAAE,sBAAsB,CAAC;CACrC,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBhB"}
1
+ {"version":3,"file":"route-tree.d.ts","sourceRoot":"","sources":["../../src/core/route-tree.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAY,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAInD,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAkCxH;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,UAAU,CAAC;IAClB,UAAU,CAAC,EAAE,sBAAsB,CAAC;CACrC,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"stack-config.d.ts","sourceRoot":"","sources":["../../src/core/stack-config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGnG,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAG9E;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGlE;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAGtF;AAED,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAO7E;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,iBAAiB,GAAG,UAAU,CAqCxE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,iBAAiB,EAC5B,QAAQ,GAAE,aAAa,EAAO,GAC7B,WAAW,CAWb;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAMhF;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOtE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,CAY/E"}
1
+ {"version":3,"file":"stack-config.d.ts","sourceRoot":"","sources":["../../src/core/stack-config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGnG,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAG9E;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGlE;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAGtF;AAED,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAO7E;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,iBAAiB,GAAG,UAAU,CA0DxE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,iBAAiB,EAC5B,QAAQ,GAAE,aAAa,EAAO,GAC7B,WAAW,CAWb;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAMhF;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOtE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,CAY/E"}
@@ -38,15 +38,21 @@ export declare function expandTemplate(slots: TemplateSlot[], fixedPacks: string
38
38
  /** Swap a pack for the chosen variant of its family, or return it unchanged when it is not in a family. */
39
39
  export declare function substitutePack(pack: string, ctx: VariantContext): string;
40
40
  /**
41
- * Build a {@link VariantContext} from a pack list and the user's selection, so the plain
42
- * `compose` flow (which has no template slots) can still remap same-family dependencies to
43
- * the chosen variant. `familyOf` covers every pack the backend flagged as a family member;
44
- * `chosen` records the single selected variant per family. A family with no selection, or with
45
- * more than one selected variant, is left out of `chosen` so its dependency edges stay as
46
- * authored (the default is pulled when nothing is chosen, and an explicit multi-variant
47
- * selection is respected rather than silently collapsed).
41
+ * Build a {@link VariantContext} from a pack list, the user's selection, and the packs already
42
+ * installed in the project, so the plain `compose` flow (which has no template slots) can still
43
+ * remap same-family dependencies to the right variant. `familyOf` covers every pack the backend
44
+ * flagged as a family member; `chosen` records the single resolved variant per family.
45
+ *
46
+ * Resolution order per family: the current selection wins, then an already-installed variant.
47
+ * The installed fallback is what keeps a later `compose layout-basic` run from dragging the
48
+ * family DEFAULT starter into a project that already installed a sibling variant (the
49
+ * "composed a layout, got starter-saas-workos on top of my Better Auth project" bug).
50
+ *
51
+ * A family with more than one variant in the same source (two selected, or two installed) is
52
+ * left out of `chosen` so its dependency edges stay as authored: an explicit multi-variant
53
+ * selection is respected rather than silently collapsed.
48
54
  */
49
- export declare function buildVariantContextFromPacks(packs: PackListItem[], selected: string[]): VariantContext;
55
+ export declare function buildVariantContextFromPacks(packs: PackListItem[], selected: string[], installed?: string[]): VariantContext;
50
56
  /**
51
57
  * Rewrite a pack list so every same-family dependency points at the chosen
52
58
  * variant. Returns new items; the input is not mutated. The pack names
@@ -1 +1 @@
1
- {"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../src/core/variants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEpE;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,oCAAoC;IACpC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,iFAAiF;IACjF,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,cAAc,CAa/G;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,cAAc,GAAG,MAAM,EAAE,CAYzG;AAED,2GAA2G;AAC3G,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,MAAM,CAIxE;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,cAAc,CAmBtG;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,cAAc,GAAG,YAAY,EAAE,CAK7F"}
1
+ {"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../src/core/variants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEpE;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,oCAAoC;IACpC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,iFAAiF;IACjF,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,cAAc,CAa/G;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,cAAc,GAAG,MAAM,EAAE,CAYzG;AAED,2GAA2G;AAC3G,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,MAAM,CAIxE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,YAAY,EAAE,EACrB,QAAQ,EAAE,MAAM,EAAE,EAClB,SAAS,GAAE,MAAM,EAAO,GACvB,cAAc,CA8BhB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,cAAc,GAAG,YAAY,EAAE,CAK7F"}
@@ -73,6 +73,25 @@ export declare const deployConfigSchema: z.ZodObject<{
73
73
  railway: z.ZodOptional<z.ZodObject<{
74
74
  workspace: z.ZodOptional<z.ZodString>;
75
75
  }, z.core.$strip>>;
76
+ mobile: z.ZodOptional<z.ZodObject<{
77
+ platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<{
78
+ android: "android";
79
+ ios: "ios";
80
+ }>>>;
81
+ profile: z.ZodOptional<z.ZodString>;
82
+ submit: z.ZodOptional<z.ZodBoolean>;
83
+ ota: z.ZodOptional<z.ZodBoolean>;
84
+ }, z.core.$strip>>;
85
+ extension: z.ZodOptional<z.ZodObject<{
86
+ stores: z.ZodOptional<z.ZodArray<z.ZodEnum<{
87
+ chrome: "chrome";
88
+ edge: "edge";
89
+ firefox: "firefox";
90
+ }>>>;
91
+ chromeExtensionId: z.ZodOptional<z.ZodString>;
92
+ edgeProductId: z.ZodOptional<z.ZodString>;
93
+ edgeClientId: z.ZodOptional<z.ZodString>;
94
+ }, z.core.$strip>>;
76
95
  }, z.core.$strip>;
77
96
  export declare function hasDeployConfig(projectRoot: string): Promise<boolean>;
78
97
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/deploy/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA2B/C,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqB7B,CAAC;AA2BH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG3E;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAoBxF;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAG/F;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,SAAsB,GAAG,YAAY,CAQvG"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/deploy/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAyC/C,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuB7B,CAAC;AA2BH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG3E;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAoBxF;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAG/F;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,SAAsB,GAAG,YAAY,CAQvG"}
@@ -2,6 +2,12 @@ import { StackConfig } from '../types/types.js';
2
2
  import { DeployTarget, ServeMode } from './types.js';
3
3
  /** Absolute path to a target's app directory, honoring `stack.json` -> `paths`. */
4
4
  export declare function targetRoot(projectRoot: string, target: DeployTarget, config: StackConfig | null): string;
5
+ /** Apps that deploy through their own pipelines rather than a cloud provider. */
6
+ export type SideApp = "mobile" | "extension";
7
+ /** Absolute path to the mobile or extension app directory, honoring `stack.json` -> `paths`. */
8
+ export declare function sideAppRoot(projectRoot: string, app: SideApp, config: StackConfig | null): string;
9
+ /** True when the mobile or extension app actually exists on disk. */
10
+ export declare function hasSideApp(projectRoot: string, app: SideApp, config: StackConfig | null): Promise<boolean>;
5
11
  /**
6
12
  * Which of the three apps this project actually has. A template composed
7
13
  * without the admin app should not be offered an admin deploy, and asking the
@@ -1 +1 @@
1
- {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/deploy/detect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAsB1D,mFAAmF;AACnF,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,MAAM,CAKxG;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAUrH;AAUD;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAqBnG;AAED,gFAAgF;AAChF,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC;AAEzE,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,YAAY,EAAE,EACvB,MAAM,EAAE,WAAW,GAAG,IAAI,GACzB,OAAO,CAAC,UAAU,CAAC,CASrB;AAED,kFAAkF;AAClF,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAS3F;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAUzF"}
1
+ {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/deploy/detect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAsB1D,mFAAmF;AACnF,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,MAAM,CAKxG;AAED,iFAAiF;AACjF,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE7C,gGAAgG;AAChG,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,MAAM,CAIjG;AAED,qEAAqE;AACrE,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAEhH;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAUrH;AAUD;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAqBnG;AAED,gFAAgF;AAChF,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC;AAEzE,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,YAAY,EAAE,EACvB,MAAM,EAAE,WAAW,GAAG,IAAI,GACzB,OAAO,CAAC,UAAU,CAAC,CASrB;AAED,kFAAkF;AAClF,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAS3F;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAUzF"}
@@ -0,0 +1,33 @@
1
+ import { ExtensionDeployConfig, ExtensionStore } from '../types.js';
2
+ import { StoreCredentials } from './types.js';
3
+ export declare const CHROME_ENV: {
4
+ readonly clientId: "CHROME_CLIENT_ID";
5
+ readonly clientSecret: "CHROME_CLIENT_SECRET";
6
+ readonly refreshToken: "CHROME_REFRESH_TOKEN";
7
+ readonly extensionId: "CHROME_EXTENSION_ID";
8
+ };
9
+ export declare const EDGE_ENV: {
10
+ readonly clientId: "EDGE_CLIENT_ID";
11
+ readonly apiKey: "EDGE_API_KEY";
12
+ readonly productId: "EDGE_PRODUCT_ID";
13
+ };
14
+ export declare const FIREFOX_ENV: {
15
+ readonly jwtIssuer: "AMO_JWT_ISSUER";
16
+ readonly jwtSecret: "AMO_JWT_SECRET";
17
+ };
18
+ /** Where each store's credentials are minted, shown when they are missing. */
19
+ export declare const STORE_CREDENTIAL_DOCS: Record<ExtensionStore, string>;
20
+ export interface ResolvedCredentials {
21
+ credentials: StoreCredentials;
22
+ /** Env keys still unset, per store. An empty list means the store is ready. */
23
+ missing: Record<ExtensionStore, string[]>;
24
+ }
25
+ /**
26
+ * Read every store's credentials from `env`, falling back to the saved config
27
+ * for the plain identifiers. Missing keys are collected instead of thrown so
28
+ * the pipeline can skip that store with instructions.
29
+ */
30
+ export declare function resolveStoreCredentials(env: Record<string, string | undefined>, saved: ExtensionDeployConfig | undefined): ResolvedCredentials;
31
+ /** The skip message for a store whose credentials are incomplete. */
32
+ export declare function missingCredentialsDetail(store: ExtensionStore, missingKeys: string[]): string;
33
+ //# sourceMappingURL=credentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../src/deploy/extension/credentials.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAEX,eAAO,MAAM,QAAQ;;;;CAIX,CAAC;AAEX,eAAO,MAAM,WAAW;;;CAGd,CAAC;AAEX,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAIhE,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,+EAA+E;IAC/E,OAAO,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;CAC3C;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,KAAK,EAAE,qBAAqB,GAAG,SAAS,GACvC,mBAAmB,CAwCrB;AAED,qEAAqE;AACrE,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAE7F"}
@@ -0,0 +1,14 @@
1
+ import { CommandRunner } from '../runner.js';
2
+ import { ExtensionStore } from '../types.js';
3
+ import { ExtensionDeployInput, ExtensionDeployOutcome } from './types.js';
4
+ /** Where zips and signing artifacts land, relative to the project root. */
5
+ export declare const EXTENSION_STAGING_DIR = ".hype-stack/deploy/extension";
6
+ export interface RunExtensionDeployArgs {
7
+ input: ExtensionDeployInput;
8
+ /** Env keys still unset per store; a non-empty list turns the store into a skip. */
9
+ missing: Record<ExtensionStore, string[]>;
10
+ runner: CommandRunner;
11
+ log?: (message: string) => void;
12
+ }
13
+ export declare function runExtensionDeploy(args: RunExtensionDeployArgs): Promise<ExtensionDeployOutcome>;
14
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../src/deploy/extension/pipeline.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAoB,cAAc,EAAE,MAAM,aAAa,CAAC;AAEpE,OAAO,KAAK,EAAsC,oBAAoB,EAAE,sBAAsB,EAAsB,MAAM,YAAY,CAAC;AAGvI,2EAA2E;AAC3E,eAAO,MAAM,qBAAqB,iCAAiC,CAAC;AAEpE,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,oBAAoB,CAAC;IAC5B,oFAAoF;IACpF,OAAO,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1C,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA6GtG"}
@@ -0,0 +1,44 @@
1
+ import { DeployStepResult, ExtensionStore } from '../types.js';
2
+ export declare const EXTENSION_STORES: readonly ExtensionStore[];
3
+ export declare function isExtensionStore(value: string): value is ExtensionStore;
4
+ export declare const STORE_LABELS: Record<ExtensionStore, string>;
5
+ /** Chrome Web Store API credentials, all read from env. */
6
+ export interface ChromeCredentials {
7
+ clientId: string;
8
+ clientSecret: string;
9
+ refreshToken: string;
10
+ /** The 32-char item id from the store listing URL. */
11
+ extensionId: string;
12
+ }
13
+ /** Microsoft Partner Center Add-ons API credentials. */
14
+ export interface EdgeCredentials {
15
+ clientId: string;
16
+ apiKey: string;
17
+ productId: string;
18
+ }
19
+ /** AMO API JWT credentials, the pair `web-ext sign` takes. */
20
+ export interface FirefoxCredentials {
21
+ jwtIssuer: string;
22
+ jwtSecret: string;
23
+ }
24
+ export interface StoreCredentials {
25
+ chrome?: ChromeCredentials;
26
+ edge?: EdgeCredentials;
27
+ firefox?: FirefoxCredentials;
28
+ }
29
+ /** Everything the extension pipeline needs, fully resolved before anything runs. */
30
+ export interface ExtensionDeployInput {
31
+ projectRoot: string;
32
+ /** Absolute path to the extension app directory. */
33
+ extensionRoot: string;
34
+ /** Stores the run publishes to, in a stable order. */
35
+ stores: ExtensionStore[];
36
+ credentials: StoreCredentials;
37
+ }
38
+ export interface ExtensionDeployOutcome {
39
+ steps: DeployStepResult[];
40
+ /** Follow-up work the user still owns (e.g. credentials to create). */
41
+ warnings: string[];
42
+ ok: boolean;
43
+ }
44
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/deploy/extension/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEpE,eAAO,MAAM,gBAAgB,EAAE,SAAS,cAAc,EAA2C,CAAC;AAElG,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,cAAc,CAEvE;AAED,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAIvD,CAAC;AAEF,2DAA2D;AAC3D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wDAAwD;AACxD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,8DAA8D;AAC9D,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAED,oFAAoF;AACpF,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,aAAa,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,WAAW,EAAE,gBAAgB,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,uEAAuE;IACvE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,EAAE,EAAE,OAAO,CAAC;CACb"}