@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.
- package/dist/{cli-CPOgUkiJ.js → cli-CB6k2Kq3.js} +2104 -1242
- package/dist/cli.d.ts.map +1 -1
- package/dist/commands/compose.d.ts +14 -1
- package/dist/commands/compose.d.ts.map +1 -1
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/init.d.ts +23 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/install-helpers.d.ts +41 -0
- package/dist/commands/install-helpers.d.ts.map +1 -0
- package/dist/commands/template.d.ts +13 -0
- package/dist/commands/template.d.ts.map +1 -0
- package/dist/config/bin.js +453 -454
- package/dist/config/env.d.ts +0 -1
- package/dist/config/env.d.ts.map +1 -1
- package/dist/constants/constants.d.ts +1 -3
- package/dist/constants/constants.d.ts.map +1 -1
- package/dist/constants/themes.d.ts +40 -0
- package/dist/constants/themes.d.ts.map +1 -0
- package/dist/core/apply-theme.d.ts +17 -0
- package/dist/core/apply-theme.d.ts.map +1 -0
- package/dist/core/codemods.d.ts +42 -3
- package/dist/core/codemods.d.ts.map +1 -1
- package/dist/core/installer.d.ts +50 -3
- package/dist/core/installer.d.ts.map +1 -1
- package/dist/core/license.d.ts +5 -0
- package/dist/core/license.d.ts.map +1 -1
- package/dist/core/login.d.ts.map +1 -1
- package/dist/core/pack-categories.d.ts +40 -0
- package/dist/core/pack-categories.d.ts.map +1 -0
- package/dist/core/post-clone.d.ts.map +1 -1
- package/dist/core/stack-config.d.ts.map +1 -1
- package/dist/core/templates.d.ts +15 -0
- package/dist/core/templates.d.ts.map +1 -0
- package/dist/core/tracking.d.ts +9 -0
- package/dist/core/tracking.d.ts.map +1 -0
- package/dist/core/variants.d.ts +47 -0
- package/dist/core/variants.d.ts.map +1 -0
- package/dist/index.js +2 -2
- package/dist/themes.js +833 -0
- package/dist/types/types.d.ts +127 -1
- package/dist/types/types.d.ts.map +1 -1
- package/dist/ui/banner.d.ts.map +1 -1
- package/dist/ui/swatch.d.ts +28 -0
- package/dist/ui/swatch.d.ts.map +1 -0
- package/dist/ui/theme.d.ts +21 -0
- package/dist/ui/theme.d.ts.map +1 -1
- package/dist/utils/fs.d.ts +10 -0
- package/dist/utils/fs.d.ts.map +1 -1
- package/package.json +31 -1
package/dist/types/types.d.ts
CHANGED
|
@@ -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":"AAAA,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAItE,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,QAAQ,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;CACrC;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,GAAG,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/banner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../src/ui/banner.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/ui/theme.d.ts
CHANGED
|
@@ -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
|
package/dist/ui/theme.d.ts.map
CHANGED
|
@@ -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"}
|
package/dist/utils/fs.d.ts
CHANGED
|
@@ -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
|
package/dist/utils/fs.d.ts.map
CHANGED
|
@@ -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.
|
|
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"
|