@hype-stack/cli 0.2.1 → 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.
@@ -1 +1 @@
1
- {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/commands/compose.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,cAAc,EAEd,aAAa,EAEb,WAAW,EAEZ,MAAM,mBAAmB,CAAC;AAiB3B,wBAAsB,cAAc,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiMhF;AA2ED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAIhE;AAED,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"}
1
+ {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/commands/compose.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,cAAc,EAEd,aAAa,EAEb,WAAW,EAEZ,MAAM,mBAAmB,CAAC;AAiB3B,wBAAsB,cAAc,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiMhF;AAmFD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAIhE;AAED,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAQnE,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA8NzE"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,mBAAmB,CAAC;AASnE,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAyOzE"}
@@ -1 +1 @@
1
- {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/commands/template.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAyC,sBAAsB,EAAoB,MAAM,mBAAmB,CAAC;AAezH;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAgRzF"}
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/commands/template.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAyC,sBAAsB,EAAoB,MAAM,mBAAmB,CAAC;AAezH;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAuRzF"}
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { t as e } from "../cli-B_p3GdS8.js";
2
+ import { t as e } from "../cli-CB6k2Kq3.js";
3
3
  Object.freeze({ status: "aborted" });
4
4
  function t(e, t, n) {
5
5
  function r(n, r) {
@@ -1 +1 @@
1
- {"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../../src/constants/themes.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,OAAO,GACP,MAAM,GACN,SAAS,GACT,QAAQ,GACR,OAAO,GACP,OAAO,GACP,WAAW,GACX,SAAS,GACT,UAAU,CAAC;AAEf,2DAA2D;AAC3D,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEjD,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,eAAO,MAAM,aAAa,EAAE,SAAuB,CAAC;AA2CpD,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAAoB,CAAC;AAOxE,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,CA41B3C,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,EAA0B,CAAC;AAEzD,eAAO,MAAM,aAAa;WACH,MAAM;;;GAG1B,CAAC;AAEJ,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAkD,CAAC;AAErG,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,SAAS,CAE7D;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,KAAK,CAE/C;AAED,wBAAgB,iBAAiB,IAAI,aAAa,CAAC,MAAM,CAAC,CAEzD;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,SAAS,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,eAAO,MAAM,iBAAiB,EAAE,WAAW,EAKxC,CAAC;AAEJ,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAI7D"}
1
+ {"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../../src/constants/themes.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,OAAO,GACP,MAAM,GACN,SAAS,GACT,QAAQ,GACR,OAAO,GACP,OAAO,GACP,WAAW,GACX,SAAS,GACT,UAAU,CAAC;AAEf,2DAA2D;AAC3D,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEjD,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,eAAO,MAAM,aAAa,EAAE,SAAuB,CAAC;AA2CpD,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAAoB,CAAC;AAOxE,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,CA41B3C,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,EAA0B,CAAC;AAEzD,eAAO,MAAM,aAAa;WACH,MAAM;;;GAG1B,CAAC;AAEJ,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAkD,CAAC;AACrG,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,SAAS,CAE7D;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,KAAK,CAE/C;AAED,wBAAgB,iBAAiB,IAAI,aAAa,CAAC,MAAM,CAAC,CAEzD;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,SAAS,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,eAAO,MAAM,iBAAiB,EAAE,WAAW,EAKxC,CAAC;AAEJ,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAI7D"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "./cli-B_p3GdS8.js";
1
+ import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "./cli-CB6k2Kq3.js";
2
2
  export { t as composeCommand, a as createCommand, o as createProgram, e as ensureInit, r as initCommand, i as loginCommand, n as logoutCommand };
@@ -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;
@@ -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;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"}
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,6 +1,6 @@
1
1
  {
2
2
  "name": "@hype-stack/cli",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",