@hype-stack/cli 0.2.0 → 0.2.2

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 (49) hide show
  1. package/dist/{cli-CPOgUkiJ.js → cli-CB6k2Kq3.js} +2104 -1242
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/commands/compose.d.ts +14 -1
  4. package/dist/commands/compose.d.ts.map +1 -1
  5. package/dist/commands/create.d.ts.map +1 -1
  6. package/dist/commands/init.d.ts +23 -1
  7. package/dist/commands/init.d.ts.map +1 -1
  8. package/dist/commands/install-helpers.d.ts +41 -0
  9. package/dist/commands/install-helpers.d.ts.map +1 -0
  10. package/dist/commands/template.d.ts +13 -0
  11. package/dist/commands/template.d.ts.map +1 -0
  12. package/dist/config/bin.js +453 -454
  13. package/dist/config/env.d.ts +0 -1
  14. package/dist/config/env.d.ts.map +1 -1
  15. package/dist/constants/constants.d.ts +1 -3
  16. package/dist/constants/constants.d.ts.map +1 -1
  17. package/dist/constants/themes.d.ts +40 -0
  18. package/dist/constants/themes.d.ts.map +1 -0
  19. package/dist/core/apply-theme.d.ts +17 -0
  20. package/dist/core/apply-theme.d.ts.map +1 -0
  21. package/dist/core/codemods.d.ts +42 -3
  22. package/dist/core/codemods.d.ts.map +1 -1
  23. package/dist/core/installer.d.ts +50 -3
  24. package/dist/core/installer.d.ts.map +1 -1
  25. package/dist/core/license.d.ts +5 -0
  26. package/dist/core/license.d.ts.map +1 -1
  27. package/dist/core/login.d.ts.map +1 -1
  28. package/dist/core/pack-categories.d.ts +40 -0
  29. package/dist/core/pack-categories.d.ts.map +1 -0
  30. package/dist/core/post-clone.d.ts.map +1 -1
  31. package/dist/core/stack-config.d.ts.map +1 -1
  32. package/dist/core/templates.d.ts +15 -0
  33. package/dist/core/templates.d.ts.map +1 -0
  34. package/dist/core/tracking.d.ts +9 -0
  35. package/dist/core/tracking.d.ts.map +1 -0
  36. package/dist/core/variants.d.ts +47 -0
  37. package/dist/core/variants.d.ts.map +1 -0
  38. package/dist/index.js +2 -2
  39. package/dist/themes.js +833 -0
  40. package/dist/types/types.d.ts +127 -1
  41. package/dist/types/types.d.ts.map +1 -1
  42. package/dist/ui/banner.d.ts.map +1 -1
  43. package/dist/ui/swatch.d.ts +28 -0
  44. package/dist/ui/swatch.d.ts.map +1 -0
  45. package/dist/ui/theme.d.ts +21 -0
  46. package/dist/ui/theme.d.ts.map +1 -1
  47. package/dist/utils/fs.d.ts +10 -0
  48. package/dist/utils/fs.d.ts.map +1 -1
  49. package/package.json +31 -1
@@ -6,6 +6,7 @@ export interface AppPaths {
6
6
  export interface StackPaths {
7
7
  backend: AppPaths;
8
8
  frontend: AppPaths;
9
+ admin?: AppPaths;
9
10
  enums?: AppPaths;
10
11
  [key: string]: AppPaths | undefined;
11
12
  }
@@ -24,7 +25,11 @@ export interface CreateOptions {
24
25
  directory?: string;
25
26
  install?: boolean;
26
27
  editor?: CodeEditor;
28
+ /** Bundled color theme id to apply to the frontend styles.css. */
29
+ theme?: string;
27
30
  yes?: boolean;
31
+ /** Skip the post-create Docker boot and database migrations. Defaults to true (run setup). */
32
+ setup?: boolean;
28
33
  }
29
34
  export interface InitOptions {
30
35
  cwd?: string;
@@ -35,13 +40,37 @@ export interface DetectedWorkspace {
35
40
  packages: Record<string, string>;
36
41
  }
37
42
  export type PackTier = "free" | "paid";
38
- export type FileStrategy = "create" | "merge" | "skip-if-exists";
43
+ export type FileStrategy = "create" | "merge" | "skip-if-exists" | "override";
44
+ /**
45
+ * The app shell a layout pack file targets. Layout packs tag their file entries
46
+ * with a slot so the installer can copy only the frontend or admin shell when the
47
+ * pack is picked for that slot. Files without a slot are always installed (shared).
48
+ */
49
+ export type PackSlot = "frontend" | "admin";
39
50
  export interface PackFile {
40
51
  source: string;
41
52
  target: string;
42
53
  strategy: FileStrategy;
43
54
  marker?: string;
55
+ /** When set, the file only installs when the pack was chosen for this slot. */
56
+ slot?: PackSlot;
44
57
  }
58
+ /**
59
+ * A pack chosen in the compose picker. Layout packs carry a `slot` so the same
60
+ * layout pack can be installed independently for the frontend and the admin app.
61
+ * Non-layout packs omit `slot` and install all their files.
62
+ */
63
+ export interface PackSelection {
64
+ name: string;
65
+ slot?: PackSlot;
66
+ }
67
+ /**
68
+ * Per-pack selected slots, keyed by pack name. A pack present in this map installs
69
+ * only the file entries tagged with one of its slots. A pack absent from the map
70
+ * (or mapped to an empty list) installs every file, preserving the pre-slot behavior
71
+ * for non-layout packs.
72
+ */
73
+ export type SlotsByPack = Map<string, PackSlot[]>;
45
74
  export interface PackRoute {
46
75
  import: string;
47
76
  from: string;
@@ -52,6 +81,10 @@ export interface PackSocket {
52
81
  from: string;
53
82
  prefix: string;
54
83
  }
84
+ export interface PackSdkConfiguration {
85
+ import: string;
86
+ from: string;
87
+ }
55
88
  export interface PackContextEntry {
56
89
  export: string;
57
90
  type: string;
@@ -122,16 +155,19 @@ export interface PackManifest {
122
155
  files: PackFile[];
123
156
  routes?: PackRoute[];
124
157
  sockets?: PackSocket[];
158
+ sdkConfigurations?: PackSdkConfiguration[];
125
159
  context?: PackContextEntry[];
126
160
  env?: PackEnvEntry[];
127
161
  enums?: PackEnumEntry[];
128
162
  frontendRoutes?: PackFrontendRoute[];
129
163
  nav?: PackNavEntry[];
130
164
  navbarActions?: PackNavbarAction[];
165
+ userMenuActions?: PackNavbarAction[];
131
166
  onboardingSteps?: PackOnboardingStep[];
132
167
  preview?: PackPreviewConfig;
133
168
  dependencies_npm?: Record<string, Record<string, string>>;
134
169
  postInstall?: string[];
170
+ postLoginRedirect?: string;
135
171
  }
136
172
  export interface PackValidationResult {
137
173
  allowed: boolean;
@@ -142,12 +178,21 @@ export interface PackValidationResult {
142
178
  expiresAt?: string | null;
143
179
  expired?: boolean;
144
180
  }
181
+ /** Pack modules the compose picker groups by. Matches the backend PackCategory values. */
182
+ export type PackCategory = "starter" | "layout" | "feature";
145
183
  export interface PackListItem {
146
184
  name: string;
147
185
  displayName: string;
148
186
  description: string;
149
187
  price: number;
150
188
  tier: PackTier;
189
+ category: PackCategory;
190
+ /**
191
+ * Swappable family this pack belongs to (e.g. `starter-saas`, `layout`), or null when the pack
192
+ * is not a variant. Sourced from the backend pack list so the standalone CLI can remap
193
+ * same-family dependencies to the chosen variant without depending on `@internal/enums`.
194
+ */
195
+ family?: string | null;
151
196
  dependencies: string[];
152
197
  peerPacks: string[];
153
198
  }
@@ -174,4 +219,85 @@ export interface ComposeOptions {
174
219
  /** Comma-separated pack names parsed into a list for non-interactive (CI) use. */
175
220
  packs?: string[];
176
221
  }
222
+ /**
223
+ * Options for the `template` command. A template expands to a starter, a
224
+ * layout, and a fixed set of feature packs, then layers its own frontend
225
+ * override files on top. The command is built for template making: you can
226
+ * swap the starter/layout slot variants and tack on extra packs that are not
227
+ * part of the template's predefined scope.
228
+ */
229
+ export interface TemplateCommandOptions {
230
+ cwd?: string;
231
+ licenseKey?: string;
232
+ force?: boolean;
233
+ yes?: boolean;
234
+ /** Template id to install. When omitted, the command prompts for one (requires interactive mode). */
235
+ templateId?: string;
236
+ /**
237
+ * Preselected variant overrides for the template's slots, keyed by family id
238
+ * (e.g. { "starter-saas": "starter-saas-better-auth" }). Used in non-interactive
239
+ * mode; interactive mode prompts instead.
240
+ */
241
+ variants?: Record<string, string>;
242
+ /** Extra packs to add beyond the template's slots + fixed packs (non-interactive). */
243
+ packs?: string[];
244
+ }
245
+ /** A swappable slot in a template, resolved to a pack family by the backend. */
246
+ export interface TemplateSlot {
247
+ family: string;
248
+ default: string;
249
+ variants: string[];
250
+ }
251
+ export interface TemplateListItem {
252
+ id: string;
253
+ name: string;
254
+ description: string;
255
+ packs: string[];
256
+ slots: TemplateSlot[];
257
+ price: number;
258
+ theme: {
259
+ primary: string;
260
+ secondary: string;
261
+ pageBackground: string;
262
+ contentBackground: string;
263
+ };
264
+ extras: string[];
265
+ category: string;
266
+ tags: string[];
267
+ previewImage?: string;
268
+ }
269
+ /**
270
+ * Template manifest as served by the backend. Carries the override files list
271
+ * and codemod wiring (frontend routes, nav) the CLI applies after the packs.
272
+ * Slot/variant selection comes from the template list item, not the manifest.
273
+ */
274
+ export interface TemplateManifest {
275
+ $schema?: string;
276
+ id: string;
277
+ version: string;
278
+ displayName: string;
279
+ description: string;
280
+ files: PackFile[];
281
+ frontendRoutes?: PackFrontendRoute[];
282
+ nav?: PackNavEntry[];
283
+ /** Canonical theme id the template ships with (e.g. `zinc-mono`), from the registry manifest. */
284
+ theme?: string;
285
+ dependencies_npm?: Record<string, Record<string, string>>;
286
+ postInstall?: string[];
287
+ postLoginRedirect?: string;
288
+ }
289
+ export type TemplateDownloadResult = {
290
+ status: "ok";
291
+ templateDir: string;
292
+ } | {
293
+ status: "denied";
294
+ reason: "no-license" | "no-access" | "expired";
295
+ packs: string[];
296
+ expiresAt?: string | null;
297
+ };
298
+ export interface PreparedTemplate {
299
+ manifest: TemplateManifest;
300
+ /** Directory holding the template override files downloaded from the backend. */
301
+ templateDir: string;
302
+ }
177
303
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../src/ui/banner.ts"],"names":[],"mappings":"AAwBA,wBAAgB,WAAW,IAAI,IAAI,CAelC;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAIzC"}
1
+ {"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../src/ui/banner.ts"],"names":[],"mappings":"AAmCA,wBAAgB,WAAW,IAAI,IAAI,CAelC;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAIzC"}
@@ -0,0 +1,28 @@
1
+ import { Theme, ThemeTokens } from '../constants/themes.js';
2
+ export interface Oklch {
3
+ l: number;
4
+ c: number;
5
+ h: number;
6
+ }
7
+ /**
8
+ * Parses an `oklch(L C H)` CSS string. `L` may be a 0..1 number or a percent
9
+ * (e.g. `66.2%`); `C` is 0..~0.4 and `H` is degrees. Returns null for anything
10
+ * that is not an OKLCH value, so non-color tokens like `radius` can be skipped.
11
+ */
12
+ export declare function parseOklch(value: string): Oklch | null;
13
+ /**
14
+ * Converts OKLCH to 8-bit sRGB. Implements the standard OKLab transform
15
+ * (Björn Ottosson's matrices) then applies the sRGB transfer function.
16
+ * Out-of-gamut values are clamped.
17
+ */
18
+ export declare function oklchToRgb({ l, c, h }: Oklch): [number, number, number];
19
+ /**
20
+ * Renders the three-key chip row for one mode (light or dark).
21
+ */
22
+ export declare function modeSwatch(tokens: ThemeTokens): string;
23
+ /**
24
+ * Renders a light + dark preview pair separated by a dim divider, e.g.
25
+ * `███ · ███`. Intended to be prefixed to the theme label in the picker.
26
+ */
27
+ export declare function themeSwatch(theme: Theme): string;
28
+ //# sourceMappingURL=swatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swatch.d.ts","sourceRoot":"","sources":["../../src/ui/swatch.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAEjE,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAwBtD;AAYD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAyBvE;AAsBD;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAEtD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAEhD"}
@@ -21,6 +21,14 @@ export declare const colors: {
21
21
  command: (text: string) => string;
22
22
  label: (text: string) => string;
23
23
  };
24
+ /**
25
+ * Render a clickable terminal hyperlink using the OSC 8 escape sequence. Modern
26
+ * terminals (iTerm2, VS Code, WezTerm, kitty, GNOME Terminal, Windows Terminal)
27
+ * make it clickable while showing `label`. Terminals without OSC 8 support fall
28
+ * back to printing `label`, so we default the label to the url itself, which
29
+ * keeps the destination visible everywhere.
30
+ */
31
+ export declare function link(url: string, label?: string): string;
24
32
  export declare const symbols: {
25
33
  arrow: string;
26
34
  bullet: string;
@@ -34,4 +42,17 @@ export declare const symbols: {
34
42
  };
35
43
  export declare function gradient(text: string): string;
36
44
  export declare function gradientVertical(lines: string[], topColor: (s: string) => string, bottomColor: (s: string) => string): string[];
45
+ type RGB = [number, number, number];
46
+ /**
47
+ * Colors a block of ASCII art with a diagonal (top-left -> bottom-right) truecolor
48
+ * gradient, so the shine angles across the glyphs like the real logo instead of
49
+ * banding flatly per row. `angle` weights how much the vertical axis contributes
50
+ * relative to the horizontal one (1 = pure 45deg diagonal).
51
+ */
52
+ export declare function gradientDiagonal(lines: string[], options: {
53
+ start: RGB;
54
+ end: RGB;
55
+ angle?: number;
56
+ }): string[];
57
+ export {};
37
58
  //# sourceMappingURL=theme.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,KAAK;mBAPI,MAAM;yBACA,MAAM;kBACb,MAAM;qBACH,MAAM;oBACP,MAAM;sBACJ,MAAM;CAEmD,CAAC;AAEnF,eAAO,MAAM,MAAM;kBACH,MAAM;sBACF,MAAM;mBACT,MAAM;uBACF,MAAM;oBACT,MAAM;kBACR,MAAM;oBACJ,MAAM;kBACR,MAAM;iBACP,MAAM;sBACD,MAAM;iBACX,MAAM;oBACH,MAAM;kBACR,MAAM;CACrB,CAAC;AAEF,eAAO,MAAM,OAAO;;;;;;;;;;CAUnB,CAAC;AAIF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAY7C;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAC/B,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GACjC,MAAM,EAAE,CASV"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,KAAK;mBAPI,MAAM;yBACA,MAAM;kBACb,MAAM;qBACH,MAAM;oBACP,MAAM;sBACJ,MAAM;CAEmD,CAAC;AAEnF,eAAO,MAAM,MAAM;kBACH,MAAM;sBACF,MAAM;mBACT,MAAM;uBACF,MAAM;oBACT,MAAM;kBACR,MAAM;oBACJ,MAAM;kBACR,MAAM;iBACP,MAAM;sBACD,MAAM;iBACX,MAAM;oBACH,MAAM;kBACR,MAAM;CACrB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,MAAY,GAAG,MAAM,CAE7D;AAED,eAAO,MAAM,OAAO;;;;;;;;;;CAUnB,CAAC;AAIF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAY7C;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EAC/B,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GACjC,MAAM,EAAE,CASV;AAED,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAMpC;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE;IAAE,KAAK,EAAE,GAAG,CAAC;IAAC,GAAG,EAAE,GAAG,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,EAAE,CAqB7G"}
@@ -5,4 +5,14 @@ export declare function readJson<T>(filePath: string): Promise<T | null>;
5
5
  export declare function writeJson(filePath: string, data: unknown): Promise<void>;
6
6
  export declare function findPackageJsonDirs(baseDir: string): Promise<Record<string, string>>;
7
7
  export declare function removeDirectory(dir: string): Promise<void>;
8
+ /**
9
+ * Make sure a target directory for a new project ends with the project name.
10
+ *
11
+ * When the user points at a parent folder (e.g. they typed the directory they
12
+ * want the project to live inside, like `/Users/me/Praca`), append the project
13
+ * name so the project lands in its own subdirectory (`/Users/me/Praca/my-app`)
14
+ * instead of being written on top of that folder. If the last segment already
15
+ * matches the project name, the input is returned unchanged.
16
+ */
17
+ export declare function ensureProjectSubdirectory(directory: string, projectName: string): string;
8
18
  //# sourceMappingURL=fs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":"AAGA,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGnE;AAED,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGnE;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGpE;AAED,wBAAsB,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAIrE;AAED,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9E;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAoB1F;AAED,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhE"}
1
+ {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":"AAGA,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGnE;AAED,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGnE;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGpE;AAED,wBAAsB,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAIrE;AAED,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9E;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAoB1F;AAED,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhE;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAGxF"}
package/package.json CHANGED
@@ -1,9 +1,19 @@
1
1
  {
2
2
  "name": "@hype-stack/cli",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "import": "./dist/index.js"
11
+ },
12
+ "./themes": {
13
+ "types": "./dist/constants/themes.d.ts",
14
+ "import": "./dist/themes.js"
15
+ }
16
+ },
7
17
  "files": [
8
18
  "dist"
9
19
  ],
@@ -29,11 +39,31 @@
29
39
  "devDependencies": {
30
40
  "@types/node": "^25.6.0"
31
41
  },
42
+ "nx": {
43
+ "targets": {
44
+ "local": {
45
+ "executor": "nx:run-commands",
46
+ "dependsOn": [
47
+ "build"
48
+ ],
49
+ "options": {
50
+ "command": "node ./dist/config/bin.js",
51
+ "cwd": "packages/cli",
52
+ "env": {
53
+ "HYPE_STACK_API_URL": "http://localhost:3000",
54
+ "HYPE_STACK_WEB_URL": "http://localhost:3000"
55
+ }
56
+ }
57
+ }
58
+ }
59
+ },
32
60
  "scripts": {
33
61
  "check:bin": "node ./scripts/check-bin-entry.mjs",
34
62
  "prebuild": "pnpm run check:bin",
35
63
  "build": "vite build",
36
64
  "dev": "vite build --watch",
65
+ "local": "pnpm run build && HYPE_STACK_API_URL=${HYPE_STACK_API_URL:-http://localhost:3000} HYPE_STACK_WEB_URL=${HYPE_STACK_WEB_URL:-http://localhost:4200} node ./dist/config/bin.js",
66
+ "local:run": "HYPE_STACK_API_URL=${HYPE_STACK_API_URL:-http://localhost:3000} HYPE_STACK_WEB_URL=${HYPE_STACK_WEB_URL:-http://localhost:4200} node ./dist/config/bin.js",
37
67
  "format": "pnpm --dir ../.. exec oxfmt --write packages/cli",
38
68
  "typecheck": "pnpm --dir ../.. exec tsgo -p packages/cli/tsconfig.json --noEmit",
39
69
  "lint": "pnpm --dir ../.. exec oxlint --fix packages/cli"