zard-cli 1.0.0-beta.9 → 1.1.0-alpha.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 (237) hide show
  1. package/README.md +60 -188
  2. package/commands/add/component-installer.d.ts +4 -1
  3. package/commands/add/component-installer.d.ts.map +1 -1
  4. package/commands/add/component-installer.js +33 -5
  5. package/commands/add/component-installer.js.map +1 -1
  6. package/commands/add/component-selector.d.ts +6 -0
  7. package/commands/add/component-selector.d.ts.map +1 -1
  8. package/commands/add/component-selector.js +9 -27
  9. package/commands/add/component-selector.js.map +1 -1
  10. package/commands/add/dark-mode-setup.d.ts +2 -0
  11. package/commands/add/dark-mode-setup.d.ts.map +1 -1
  12. package/commands/add/dark-mode-setup.js +5 -11
  13. package/commands/add/dark-mode-setup.js.map +1 -1
  14. package/commands/add/dependency-resolver.d.ts +1 -1
  15. package/commands/add/dependency-resolver.d.ts.map +1 -1
  16. package/commands/add/dependency-resolver.js +5 -6
  17. package/commands/add/dependency-resolver.js.map +1 -1
  18. package/commands/add/index.d.ts.map +1 -1
  19. package/commands/add/index.js +127 -85
  20. package/commands/add/index.js.map +1 -1
  21. package/commands/add/wizard.d.ts +31 -0
  22. package/commands/add/wizard.d.ts.map +1 -0
  23. package/commands/add/wizard.js +289 -0
  24. package/commands/add/wizard.js.map +1 -0
  25. package/commands/init/config-prompter.d.ts +59 -56
  26. package/commands/init/config-prompter.d.ts.map +1 -1
  27. package/commands/init/config-prompter.js +76 -74
  28. package/commands/init/config-prompter.js.map +1 -1
  29. package/commands/init/dependencies.d.ts +1 -8
  30. package/commands/init/dependencies.d.ts.map +1 -1
  31. package/commands/init/dependencies.js +36 -16
  32. package/commands/init/dependencies.js.map +1 -1
  33. package/commands/init/index.d.ts.map +1 -1
  34. package/commands/init/index.js +132 -86
  35. package/commands/init/index.js.map +1 -1
  36. package/commands/init/project-kind.d.ts +82 -0
  37. package/commands/init/project-kind.d.ts.map +1 -0
  38. package/commands/init/project-kind.js +166 -0
  39. package/commands/init/project-kind.js.map +1 -0
  40. package/commands/init/steps.d.ts +16 -0
  41. package/commands/init/steps.d.ts.map +1 -0
  42. package/commands/init/steps.js +151 -0
  43. package/commands/init/steps.js.map +1 -0
  44. package/commands/init/tailwind-setup.d.ts +9 -2
  45. package/commands/init/tailwind-setup.d.ts.map +1 -1
  46. package/commands/init/tailwind-setup.js +33 -9
  47. package/commands/init/tailwind-setup.js.map +1 -1
  48. package/commands/init/theme-loader.d.ts.map +1 -1
  49. package/commands/init/theme-loader.js +1 -3
  50. package/commands/init/theme-loader.js.map +1 -1
  51. package/commands/init/tsconfig-updater.d.ts +8 -1
  52. package/commands/init/tsconfig-updater.d.ts.map +1 -1
  53. package/commands/init/tsconfig-updater.js +30 -11
  54. package/commands/init/tsconfig-updater.js.map +1 -1
  55. package/commands/init/update-angular-config.d.ts.map +1 -1
  56. package/commands/init/update-angular-config.js +28 -47
  57. package/commands/init/update-angular-config.js.map +1 -1
  58. package/commands/init/vite-setup.d.ts +10 -0
  59. package/commands/init/vite-setup.d.ts.map +1 -0
  60. package/commands/init/vite-setup.js +60 -0
  61. package/commands/init/vite-setup.js.map +1 -0
  62. package/commands/init/wizard.d.ts +30 -0
  63. package/commands/init/wizard.d.ts.map +1 -0
  64. package/commands/init/wizard.js +560 -0
  65. package/commands/init/wizard.js.map +1 -0
  66. package/core/registry/registry-data.d.ts.map +1 -1
  67. package/core/registry/registry-data.js +359 -61
  68. package/core/registry/registry-data.js.map +1 -1
  69. package/core/themes/theme-definitions.d.ts +5 -5
  70. package/core/themes/theme-definitions.d.ts.map +1 -1
  71. package/core/themes/theme-definitions.js +15 -11
  72. package/core/themes/theme-definitions.js.map +1 -1
  73. package/index.js +40 -4
  74. package/index.js.map +1 -1
  75. package/package.json +58 -61
  76. package/ui/blocks.d.ts +70 -0
  77. package/ui/blocks.d.ts.map +1 -0
  78. package/ui/blocks.js +116 -0
  79. package/ui/blocks.js.map +1 -0
  80. package/ui/brand.d.ts +14 -0
  81. package/ui/brand.d.ts.map +1 -0
  82. package/ui/brand.js +35 -0
  83. package/ui/brand.js.map +1 -0
  84. package/ui/engine/animation/index.d.ts +39 -0
  85. package/ui/engine/animation/index.d.ts.map +1 -0
  86. package/ui/engine/animation/index.js +103 -0
  87. package/ui/engine/animation/index.js.map +1 -0
  88. package/ui/engine/ansi/index.d.ts +52 -0
  89. package/ui/engine/ansi/index.d.ts.map +1 -0
  90. package/ui/engine/ansi/index.js +117 -0
  91. package/ui/engine/ansi/index.js.map +1 -0
  92. package/ui/engine/components/index.d.ts +211 -0
  93. package/ui/engine/components/index.d.ts.map +1 -0
  94. package/ui/engine/components/index.js +109 -0
  95. package/ui/engine/components/index.js.map +1 -0
  96. package/ui/engine/cursor/index.d.ts +17 -0
  97. package/ui/engine/cursor/index.d.ts.map +1 -0
  98. package/ui/engine/cursor/index.js +41 -0
  99. package/ui/engine/cursor/index.js.map +1 -0
  100. package/ui/engine/diff/index.d.ts +27 -0
  101. package/ui/engine/diff/index.d.ts.map +1 -0
  102. package/ui/engine/diff/index.js +57 -0
  103. package/ui/engine/diff/index.js.map +1 -0
  104. package/ui/engine/events/index.d.ts +24 -0
  105. package/ui/engine/events/index.d.ts.map +1 -0
  106. package/ui/engine/events/index.js +60 -0
  107. package/ui/engine/events/index.js.map +1 -0
  108. package/ui/engine/focus/index.d.ts +25 -0
  109. package/ui/engine/focus/index.d.ts.map +1 -0
  110. package/ui/engine/focus/index.js +77 -0
  111. package/ui/engine/focus/index.js.map +1 -0
  112. package/ui/engine/frame/index.d.ts +48 -0
  113. package/ui/engine/frame/index.d.ts.map +1 -0
  114. package/ui/engine/frame/index.js +0 -0
  115. package/ui/engine/frame/index.js.map +1 -0
  116. package/ui/engine/index.d.ts +28 -0
  117. package/ui/engine/index.d.ts.map +1 -0
  118. package/ui/engine/index.js +28 -0
  119. package/ui/engine/index.js.map +1 -0
  120. package/ui/engine/input/index.d.ts +36 -0
  121. package/ui/engine/input/index.d.ts.map +1 -0
  122. package/ui/engine/input/index.js +224 -0
  123. package/ui/engine/input/index.js.map +1 -0
  124. package/ui/engine/layout/index.d.ts +42 -0
  125. package/ui/engine/layout/index.d.ts.map +1 -0
  126. package/ui/engine/layout/index.js +241 -0
  127. package/ui/engine/layout/index.js.map +1 -0
  128. package/ui/engine/renderer/index.d.ts +43 -0
  129. package/ui/engine/renderer/index.d.ts.map +1 -0
  130. package/ui/engine/renderer/index.js +619 -0
  131. package/ui/engine/renderer/index.js.map +1 -0
  132. package/ui/engine/scheduler/index.d.ts +22 -0
  133. package/ui/engine/scheduler/index.d.ts.map +1 -0
  134. package/ui/engine/scheduler/index.js +77 -0
  135. package/ui/engine/scheduler/index.js.map +1 -0
  136. package/ui/engine/screen/index.d.ts +39 -0
  137. package/ui/engine/screen/index.d.ts.map +1 -0
  138. package/ui/engine/screen/index.js +255 -0
  139. package/ui/engine/screen/index.js.map +1 -0
  140. package/ui/engine/terminal/index.d.ts +38 -0
  141. package/ui/engine/terminal/index.d.ts.map +1 -0
  142. package/ui/engine/terminal/index.js +104 -0
  143. package/ui/engine/terminal/index.js.map +1 -0
  144. package/ui/engine/testing/index.d.ts +27 -0
  145. package/ui/engine/testing/index.d.ts.map +1 -0
  146. package/ui/engine/testing/index.js +63 -0
  147. package/ui/engine/testing/index.js.map +1 -0
  148. package/ui/engine/theme/index.d.ts +27 -0
  149. package/ui/engine/theme/index.d.ts.map +1 -0
  150. package/ui/engine/theme/index.js +129 -0
  151. package/ui/engine/theme/index.js.map +1 -0
  152. package/ui/engine/utils/index.d.ts +12 -0
  153. package/ui/engine/utils/index.d.ts.map +1 -0
  154. package/ui/engine/utils/index.js +143 -0
  155. package/ui/engine/utils/index.js.map +1 -0
  156. package/ui/gate.d.ts +19 -0
  157. package/ui/gate.d.ts.map +1 -0
  158. package/ui/gate.js +36 -0
  159. package/ui/gate.js.map +1 -0
  160. package/ui/index.d.ts +18 -0
  161. package/ui/index.d.ts.map +1 -0
  162. package/ui/index.js +18 -0
  163. package/ui/index.js.map +1 -0
  164. package/ui/log-sink.d.ts +24 -0
  165. package/ui/log-sink.d.ts.map +1 -0
  166. package/ui/log-sink.js +35 -0
  167. package/ui/log-sink.js.map +1 -0
  168. package/ui/output.d.ts +14 -0
  169. package/ui/output.d.ts.map +1 -0
  170. package/ui/output.js +28 -0
  171. package/ui/output.js.map +1 -0
  172. package/ui/report.d.ts +30 -0
  173. package/ui/report.d.ts.map +1 -0
  174. package/ui/report.js +45 -0
  175. package/ui/report.js.map +1 -0
  176. package/ui/runner.d.ts +57 -0
  177. package/ui/runner.d.ts.map +1 -0
  178. package/ui/runner.js +119 -0
  179. package/ui/runner.js.map +1 -0
  180. package/ui/style.d.ts +24 -0
  181. package/ui/style.d.ts.map +1 -0
  182. package/ui/style.js +44 -0
  183. package/ui/style.js.map +1 -0
  184. package/ui/testing/fake-tty.d.ts +26 -0
  185. package/ui/testing/fake-tty.d.ts.map +1 -0
  186. package/ui/testing/fake-tty.js +61 -0
  187. package/ui/testing/fake-tty.js.map +1 -0
  188. package/ui/text-input.d.ts +30 -0
  189. package/ui/text-input.d.ts.map +1 -0
  190. package/ui/text-input.js +87 -0
  191. package/ui/text-input.js.map +1 -0
  192. package/ui/theme.d.ts +10 -0
  193. package/ui/theme.d.ts.map +1 -0
  194. package/ui/theme.js +20 -0
  195. package/ui/theme.js.map +1 -0
  196. package/utils/config.d.ts +48 -69
  197. package/utils/config.d.ts.map +1 -1
  198. package/utils/config.js +43 -7
  199. package/utils/config.js.map +1 -1
  200. package/utils/errors.d.ts +16 -0
  201. package/utils/errors.d.ts.map +1 -0
  202. package/utils/errors.js +31 -0
  203. package/utils/errors.js.map +1 -0
  204. package/utils/get-package-info.js +4 -4
  205. package/utils/get-package-info.js.map +1 -1
  206. package/utils/get-project-info.d.ts +30 -0
  207. package/utils/get-project-info.d.ts.map +1 -1
  208. package/utils/get-project-info.js +195 -6
  209. package/utils/get-project-info.js.map +1 -1
  210. package/utils/http-client.d.ts +8 -0
  211. package/utils/http-client.d.ts.map +1 -0
  212. package/utils/http-client.js +68 -0
  213. package/utils/http-client.js.map +1 -0
  214. package/utils/logger.d.ts +16 -1
  215. package/utils/logger.d.ts.map +1 -1
  216. package/utils/logger.js +104 -12
  217. package/utils/logger.js.map +1 -1
  218. package/utils/package-manager.d.ts +44 -1
  219. package/utils/package-manager.d.ts.map +1 -1
  220. package/utils/package-manager.js +210 -14
  221. package/utils/package-manager.js.map +1 -1
  222. package/utils/registry.d.ts +14 -2
  223. package/utils/registry.d.ts.map +1 -1
  224. package/utils/registry.js +52 -24
  225. package/utils/registry.js.map +1 -1
  226. package/utils/source-file.d.ts +40 -0
  227. package/utils/source-file.d.ts.map +1 -0
  228. package/utils/source-file.js +104 -0
  229. package/utils/source-file.js.map +1 -0
  230. package/utils/theme-selector.d.ts +1 -1
  231. package/utils/theme-selector.d.ts.map +1 -1
  232. package/utils/theme-selector.js +6 -6
  233. package/utils/theme-selector.js.map +1 -1
  234. package/utils/fetch-component.d.ts +0 -3
  235. package/utils/fetch-component.d.ts.map +0 -1
  236. package/utils/fetch-component.js +0 -75
  237. package/utils/fetch-component.js.map +0 -1
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Edição de uma linha de texto num campo do wizard.
3
+ *
4
+ * O campo aceitava só duas coisas — digitar no fim e apagar de trás para a
5
+ * frente. Quem quisesse trocar o meio de um alias (`@/shared/components` para
6
+ * `@app/shared/components`) apertava as setas, não via nada acontecer e ficava
7
+ * sem saída a não ser apagar tudo e redigitar. Aqui o cursor é de verdade:
8
+ * anda, insere no meio, apaga para os dois lados.
9
+ */
10
+ export function startInput(value) {
11
+ return { value, caret: [...value].length, pristine: true };
12
+ }
13
+ /**
14
+ * Aplica uma tecla ao campo.
15
+ *
16
+ * Devolve `null` quando a tecla não é de edição — `enter` e `escape` pertencem
17
+ * ao fluxo do wizard, e é ele quem decide o que fazer com elas.
18
+ */
19
+ export function editInput(state, event) {
20
+ const chars = [...state.value];
21
+ const caret = clamp(state.caret, chars.length);
22
+ if (event.ctrl)
23
+ return editWithControl(state, chars, caret, event.key);
24
+ if (event.alt)
25
+ return null;
26
+ if (event.key.length === 1) {
27
+ // A sugestão inteira sai na primeira tecla: quem já sabe o que quer digita
28
+ // direto, sem apagar caractere por caractere o que a CLI propôs.
29
+ if (state.pristine)
30
+ return { value: event.key, caret: 1, pristine: false };
31
+ chars.splice(caret, 0, event.key);
32
+ return { value: chars.join(''), caret: caret + 1, pristine: false };
33
+ }
34
+ switch (event.key) {
35
+ case 'backspace':
36
+ if (caret === 0)
37
+ return { ...state, caret, pristine: false };
38
+ chars.splice(caret - 1, 1);
39
+ return { value: chars.join(''), caret: caret - 1, pristine: false };
40
+ case 'delete':
41
+ if (caret >= chars.length)
42
+ return { ...state, caret, pristine: false };
43
+ chars.splice(caret, 1);
44
+ return { value: chars.join(''), caret, pristine: false };
45
+ case 'left':
46
+ return { ...state, caret: Math.max(0, caret - 1), pristine: false };
47
+ case 'right':
48
+ return { ...state, caret: Math.min(chars.length, caret + 1), pristine: false };
49
+ case 'home':
50
+ return { ...state, caret: 0, pristine: false };
51
+ case 'end':
52
+ return { ...state, caret: chars.length, pristine: false };
53
+ default:
54
+ return null;
55
+ }
56
+ }
57
+ /** Os atalhos de linha que qualquer shell oferece. */
58
+ function editWithControl(state, chars, caret, key) {
59
+ switch (key) {
60
+ case 'u': // limpa até o começo
61
+ return { value: chars.slice(caret).join(''), caret: 0, pristine: false };
62
+ case 'k': // limpa até o fim
63
+ return { value: chars.slice(0, caret).join(''), caret, pristine: false };
64
+ case 'w': {
65
+ // apaga a palavra anterior, incluindo os separadores que a antecedem
66
+ let start = caret;
67
+ while (start > 0 && isSeparator(chars[start - 1]))
68
+ start--;
69
+ while (start > 0 && !isSeparator(chars[start - 1]))
70
+ start--;
71
+ return { value: [...chars.slice(0, start), ...chars.slice(caret)].join(''), caret: start, pristine: false };
72
+ }
73
+ case 'a':
74
+ return { ...state, caret: 0, pristine: false };
75
+ case 'e':
76
+ return { ...state, caret: chars.length, pristine: false };
77
+ default:
78
+ return null;
79
+ }
80
+ }
81
+ function isSeparator(char) {
82
+ return char === ' ' || char === '/' || char === '\\' || char === '.' || char === '-';
83
+ }
84
+ function clamp(caret, length) {
85
+ return Math.max(0, Math.min(caret, length));
86
+ }
87
+ //# sourceMappingURL=text-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-input.js","sourceRoot":"","sources":["../../src/ui/text-input.ts"],"names":[],"mappings":"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"}
package/ui/theme.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Tema da CLI — tokens semânticos consumidos por toda a UI do terminal.
3
+ *
4
+ * A paleta segue a base neutra do ZardUI (zinc) para texto e bordas, com os
5
+ * acentos reservados para estado: primary marca o passo ativo e o cursor,
6
+ * success/warning/danger comunicam o resultado de cada etapa.
7
+ */
8
+ import { type Theme } from './engine/index.js';
9
+ export declare const zardTheme: Theme;
10
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE5D,eAAO,MAAM,SAAS,EAAE,KAUtB,CAAC"}
package/ui/theme.js ADDED
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Tema da CLI — tokens semânticos consumidos por toda a UI do terminal.
3
+ *
4
+ * A paleta segue a base neutra do ZardUI (zinc) para texto e bordas, com os
5
+ * acentos reservados para estado: primary marca o passo ativo e o cursor,
6
+ * success/warning/danger comunicam o resultado de cada etapa.
7
+ */
8
+ import { createTheme } from './engine/index.js';
9
+ export const zardTheme = createTheme({
10
+ primary: '#7c93ff',
11
+ secondary: '#a78bfa',
12
+ success: '#4ade80',
13
+ warning: '#fbbf24',
14
+ danger: '#f87171',
15
+ muted: '#a1a1aa',
16
+ foreground: '#fafafa',
17
+ background: '#09090b',
18
+ border: '#27272a',
19
+ });
20
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAc,MAAM,mBAAmB,CAAC;AAE5D,MAAM,CAAC,MAAM,SAAS,GAAU,WAAW,CAAC;IAC1C,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,SAAS;IAChB,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE,SAAS;IACrB,MAAM,EAAE,SAAS;CAClB,CAAC,CAAC"}
package/utils/config.d.ts CHANGED
@@ -2,74 +2,52 @@ import { z } from 'zod';
2
2
  declare const configSchema: z.ZodObject<{
3
3
  $schema: z.ZodOptional<z.ZodString>;
4
4
  appConfigFile: z.ZodDefault<z.ZodString>;
5
- style: z.ZodDefault<z.ZodEnum<["css"]>>;
6
- packageManager: z.ZodDefault<z.ZodEnum<["npm", "yarn", "pnpm", "bun"]>>;
5
+ style: z.ZodDefault<z.ZodEnum<{
6
+ css: "css";
7
+ }>>;
8
+ projectType: z.ZodDefault<z.ZodEnum<{
9
+ angular: "angular";
10
+ "angular-library": "angular-library";
11
+ nx: "nx";
12
+ "nx-library": "nx-library";
13
+ analog: "analog";
14
+ }>>;
15
+ packageManager: z.ZodDefault<z.ZodEnum<{
16
+ npm: "npm";
17
+ yarn: "yarn";
18
+ pnpm: "pnpm";
19
+ bun: "bun";
20
+ }>>;
7
21
  registryUrl: z.ZodOptional<z.ZodString>;
8
22
  tailwind: z.ZodDefault<z.ZodObject<{
9
23
  css: z.ZodDefault<z.ZodString>;
10
24
  baseColor: z.ZodDefault<z.ZodString>;
11
- }, "strip", z.ZodTypeAny, {
12
- css?: string;
13
- baseColor?: string;
14
- }, {
15
- css?: string;
16
- baseColor?: string;
17
- }>>;
25
+ }, z.core.$strip>>;
18
26
  baseUrl: z.ZodDefault<z.ZodString>;
19
27
  aliases: z.ZodDefault<z.ZodObject<{
20
28
  components: z.ZodDefault<z.ZodString>;
21
29
  utils: z.ZodDefault<z.ZodString>;
22
30
  core: z.ZodDefault<z.ZodString>;
23
31
  services: z.ZodDefault<z.ZodString>;
24
- }, "strip", z.ZodTypeAny, {
25
- components?: string;
26
- utils?: string;
27
- core?: string;
28
- services?: string;
29
- }, {
30
- components?: string;
31
- utils?: string;
32
- core?: string;
33
- services?: string;
34
- }>>;
35
- }, "strip", z.ZodTypeAny, {
36
- $schema?: string;
37
- appConfigFile?: string;
38
- style?: "css";
39
- packageManager?: "npm" | "yarn" | "pnpm" | "bun";
40
- registryUrl?: string;
41
- tailwind?: {
42
- css?: string;
43
- baseColor?: string;
44
- };
45
- baseUrl?: string;
46
- aliases?: {
47
- components?: string;
48
- utils?: string;
49
- core?: string;
50
- services?: string;
51
- };
52
- }, {
53
- $schema?: string;
54
- appConfigFile?: string;
55
- style?: "css";
56
- packageManager?: "npm" | "yarn" | "pnpm" | "bun";
57
- registryUrl?: string;
58
- tailwind?: {
59
- css?: string;
60
- baseColor?: string;
61
- };
62
- baseUrl?: string;
63
- aliases?: {
64
- components?: string;
65
- utils?: string;
66
- core?: string;
67
- services?: string;
68
- };
69
- }>;
32
+ }, z.core.$strip>>;
33
+ }, z.core.$strip>;
70
34
  export type Config = z.infer<typeof configSchema>;
71
35
  export declare const DEFAULT_CONFIG: Config;
72
36
  export declare function getConfig(cwd: string): Promise<Config | null>;
37
+ /**
38
+ * Separa o prefixo do alias do caminho que vem depois dele.
39
+ *
40
+ * `@`, `@app`, `~` — o nome não importa: o prefixo é um apelido para `baseUrl`,
41
+ * e o resto é o caminho dentro do projeto. Tratar só `@/` fazia um alias como
42
+ * `@app/components` escapar da substituição e virar uma pasta literal chamada
43
+ * `@app` na raiz, fora de qualquer coisa que o tsconfig mapeie.
44
+ */
45
+ export declare function splitAlias(alias: string): {
46
+ prefix: string;
47
+ rest: string;
48
+ };
49
+ /** O prefixo do alias, com `/*` — a chave que o tsconfig precisa mapear. */
50
+ export declare function aliasPattern(alias: string): string;
73
51
  export declare function resolveAliasToPath(alias: string, baseUrl: string): string;
74
52
  export declare function resolveConfigPaths(cwd: string, config: Config): Promise<{
75
53
  resolvedPaths: {
@@ -80,22 +58,23 @@ export declare function resolveConfigPaths(cwd: string, config: Config): Promise
80
58
  core: string;
81
59
  services: string;
82
60
  };
83
- $schema?: string;
84
- appConfigFile?: string;
85
- style?: "css";
86
- packageManager?: "npm" | "yarn" | "pnpm" | "bun";
87
- registryUrl?: string;
88
- tailwind?: {
89
- css?: string;
90
- baseColor?: string;
61
+ appConfigFile: string;
62
+ style: "css";
63
+ projectType: "angular" | "angular-library" | "nx" | "nx-library" | "analog";
64
+ packageManager: "npm" | "yarn" | "pnpm" | "bun";
65
+ tailwind: {
66
+ css: string;
67
+ baseColor: string;
91
68
  };
92
- baseUrl?: string;
93
- aliases?: {
94
- components?: string;
95
- utils?: string;
96
- core?: string;
97
- services?: string;
69
+ baseUrl: string;
70
+ aliases: {
71
+ components: string;
72
+ utils: string;
73
+ core: string;
74
+ services: string;
98
75
  };
76
+ $schema?: string;
77
+ registryUrl?: string;
99
78
  }>;
100
79
  export {};
101
80
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBhB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,eAAO,MAAM,cAAc,EAAE,MAe5B,CAAC;AAEF,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAcnE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;GAcnE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6BhB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,eAAO,MAAM,cAAc,EAAE,MAgB5B,CAAC;AAEF,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqBnE;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAO1E;AAED,4EAA4E;AAC5E,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAKzE;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;GAcnE"}
package/utils/config.js CHANGED
@@ -1,4 +1,4 @@
1
- import { logger } from '../utils/logger.js';
1
+ import { ConfigError } from '../utils/errors.js';
2
2
  import { access, readFile } from 'node:fs/promises';
3
3
  import * as path from 'node:path';
4
4
  import { z } from 'zod';
@@ -19,6 +19,9 @@ const configSchema = z.object({
19
19
  $schema: z.string().optional(),
20
20
  appConfigFile: z.string().default('src/app/app.config.ts'),
21
21
  style: z.enum(['css']).default('css'),
22
+ // Ausente nos components.json escritos antes do menu de tipo de projeto;
23
+ // aplicação Angular é o que eles descrevem.
24
+ projectType: z.enum(['angular', 'angular-library', 'nx', 'nx-library', 'analog']).default('angular'),
22
25
  packageManager: z.enum(['npm', 'yarn', 'pnpm', 'bun']).default('npm'),
23
26
  registryUrl: z.string().optional(),
24
27
  tailwind: z
@@ -26,7 +29,7 @@ const configSchema = z.object({
26
29
  css: z.string().default('src/styles.css'),
27
30
  baseColor: z.string().default('slate'),
28
31
  })
29
- .default({}),
32
+ .default({ css: 'src/styles.css', baseColor: 'slate' }),
30
33
  baseUrl: z.string().default('src/app'),
31
34
  aliases: z
32
35
  .object({
@@ -35,10 +38,16 @@ const configSchema = z.object({
35
38
  core: z.string().default('@/shared/core'),
36
39
  services: z.string().default('@/shared/services'),
37
40
  })
38
- .default({}),
41
+ .default({
42
+ components: '@/shared/components',
43
+ utils: '@/shared/utils',
44
+ core: '@/shared/core',
45
+ services: '@/shared/services',
46
+ }),
39
47
  });
40
48
  export const DEFAULT_CONFIG = {
41
49
  style: 'css',
50
+ projectType: 'angular',
42
51
  appConfigFile: 'src/app/app.config.ts',
43
52
  packageManager: 'npm',
44
53
  tailwind: {
@@ -60,15 +69,42 @@ export async function getConfig(cwd) {
60
69
  }
61
70
  try {
62
71
  const configJson = await readJson(configPath);
63
- return configSchema.parse(configJson);
72
+ const config = configSchema.parse(configJson);
73
+ if (config.registryUrl) {
74
+ const { validateRegistryUrl } = await import('../utils/registry.js');
75
+ validateRegistryUrl(config.registryUrl);
76
+ }
77
+ return config;
64
78
  }
65
79
  catch (error) {
66
- logger.error('Invalid configuration file');
67
- throw error;
80
+ if (error instanceof ConfigError)
81
+ throw error;
82
+ throw new ConfigError('Invalid configuration file: components.json');
68
83
  }
69
84
  }
85
+ /**
86
+ * Separa o prefixo do alias do caminho que vem depois dele.
87
+ *
88
+ * `@`, `@app`, `~` — o nome não importa: o prefixo é um apelido para `baseUrl`,
89
+ * e o resto é o caminho dentro do projeto. Tratar só `@/` fazia um alias como
90
+ * `@app/components` escapar da substituição e virar uma pasta literal chamada
91
+ * `@app` na raiz, fora de qualquer coisa que o tsconfig mapeie.
92
+ */
93
+ export function splitAlias(alias) {
94
+ const clean = alias.replace(/\/+$/, '');
95
+ const separator = clean.indexOf('/');
96
+ if (separator === -1)
97
+ return { prefix: clean, rest: '' };
98
+ return { prefix: clean.slice(0, separator), rest: clean.slice(separator + 1) };
99
+ }
100
+ /** O prefixo do alias, com `/*` — a chave que o tsconfig precisa mapear. */
101
+ export function aliasPattern(alias) {
102
+ return `${splitAlias(alias).prefix}/*`;
103
+ }
70
104
  export function resolveAliasToPath(alias, baseUrl) {
71
- return alias.replace(/^@\//, `${baseUrl}/`);
105
+ const { rest } = splitAlias(alias);
106
+ const base = baseUrl.replace(/\/+$/, '');
107
+ return rest ? `${base}/${rest}` : base;
72
108
  }
73
109
  export async function resolveConfigPaths(cwd, config) {
74
110
  const { baseUrl, aliases } = config;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export declare class CliError extends Error {
2
+ readonly code: string;
3
+ constructor(message: string, code: string);
4
+ }
5
+ export declare class NetworkError extends CliError {
6
+ readonly url: string;
7
+ constructor(message: string, url: string);
8
+ }
9
+ export declare class ConfigError extends CliError {
10
+ constructor(message: string);
11
+ }
12
+ export declare class InstallError extends CliError {
13
+ readonly component: string;
14
+ constructor(message: string, component: string);
15
+ }
16
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAS,SAAQ,KAAK;aAGf,IAAI,EAAE,MAAM;gBAD5B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM;CAK/B;AAED,qBAAa,YAAa,SAAQ,QAAQ;aAGtB,GAAG,EAAE,MAAM;gBAD3B,OAAO,EAAE,MAAM,EACC,GAAG,EAAE,MAAM;CAK9B;AAED,qBAAa,WAAY,SAAQ,QAAQ;gBAC3B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,YAAa,SAAQ,QAAQ;aAGtB,SAAS,EAAE,MAAM;gBADjC,OAAO,EAAE,MAAM,EACC,SAAS,EAAE,MAAM;CAKpC"}
@@ -0,0 +1,31 @@
1
+ export class CliError extends Error {
2
+ code;
3
+ constructor(message, code) {
4
+ super(message);
5
+ this.code = code;
6
+ this.name = 'CliError';
7
+ }
8
+ }
9
+ export class NetworkError extends CliError {
10
+ url;
11
+ constructor(message, url) {
12
+ super(message, 'NETWORK_ERROR');
13
+ this.url = url;
14
+ this.name = 'NetworkError';
15
+ }
16
+ }
17
+ export class ConfigError extends CliError {
18
+ constructor(message) {
19
+ super(message, 'CONFIG_ERROR');
20
+ this.name = 'ConfigError';
21
+ }
22
+ }
23
+ export class InstallError extends CliError {
24
+ component;
25
+ constructor(message, component) {
26
+ super(message, 'INSTALL_ERROR');
27
+ this.component = component;
28
+ this.name = 'InstallError';
29
+ }
30
+ }
31
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,QAAS,SAAQ,KAAK;IAGf;IAFlB,YACE,OAAe,EACC,IAAY;QAE5B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,SAAI,GAAJ,IAAI,CAAQ;QAG5B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,QAAQ;IAGtB;IAFlB,YACE,OAAe,EACC,GAAW;QAE3B,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAFhB,QAAG,GAAH,GAAG,CAAQ;QAG3B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,QAAQ;IACvC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,QAAQ;IAGtB;IAFlB,YACE,OAAe,EACC,SAAiB;QAEjC,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAFhB,cAAS,GAAT,SAAS,CAAQ;QAGjC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF"}
@@ -1,7 +1,7 @@
1
1
  import { APP_VERSION } from '../constants/app.constants.js';
2
- import { fileURLToPath } from 'url';
3
2
  import { access, readFile } from 'node:fs/promises';
4
3
  import * as path from 'path';
4
+ import { fileURLToPath } from 'url';
5
5
  async function pathExists(filePath) {
6
6
  try {
7
7
  await access(filePath);
@@ -23,7 +23,7 @@ export async function getPackageInfo() {
23
23
  path.resolve(__dirname, '../../../package.json'),
24
24
  path.resolve(__dirname, '../../package.json'),
25
25
  path.resolve(__dirname, '../../../../package.json'),
26
- path.resolve(__dirname, '../node_modules/@ngzard/ui/package.json'),
26
+ path.resolve(__dirname, '../node_modules/zard-cli/package.json'),
27
27
  ];
28
28
  for (const packageJsonPath of possiblePaths) {
29
29
  try {
@@ -37,14 +37,14 @@ export async function getPackageInfo() {
37
37
  }
38
38
  // Fallback to hardcoded info if package.json is not found
39
39
  return {
40
- name: '@ngzard/ui',
40
+ name: 'zard-cli',
41
41
  version: APP_VERSION,
42
42
  };
43
43
  }
44
44
  catch (error) {
45
45
  // Ultimate fallback
46
46
  return {
47
- name: '@ngzard/ui',
47
+ name: 'zard-cli',
48
48
  version: APP_VERSION,
49
49
  };
50
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-package-info.js","sourceRoot":"","sources":["../../src/utils/get-package-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,KAAK,UAAU,UAAU,CAAC,QAAgB;IACxC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,QAAgB;IACtC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAE/D,MAAM,aAAa,GAAG;YACpB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC;YAC1C,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,uBAAuB,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC;YAC7C,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,0BAA0B,CAAC;YACnD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,yCAAyC,CAAC;SACnE,CAAC;QAEF,KAAK,MAAM,eAAe,IAAI,aAAa,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,IAAI,MAAM,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;oBACtC,OAAO,MAAM,QAAQ,CAAC,eAAe,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,wBAAwB;YAC1B,CAAC;QACH,CAAC;QAED,0DAA0D;QAC1D,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,WAAW;SACrB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,oBAAoB;QACpB,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,WAAW;SACrB,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"get-package-info.js","sourceRoot":"","sources":["../../src/utils/get-package-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,KAAK,UAAU,UAAU,CAAC,QAAgB;IACxC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,QAAgB;IACtC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAE/D,MAAM,aAAa,GAAG;YACpB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC;YAC1C,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,uBAAuB,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC;YAC7C,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,0BAA0B,CAAC;YACnD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,uCAAuC,CAAC;SACjE,CAAC;QAEF,KAAK,MAAM,eAAe,IAAI,aAAa,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,IAAI,MAAM,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;oBACtC,OAAO,MAAM,QAAQ,CAAC,eAAe,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,wBAAwB;YAC1B,CAAC;QACH,CAAC;QAED,0DAA0D;QAC1D,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,WAAW;SACrB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,oBAAoB;QACpB,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,WAAW;SACrB,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1,9 +1,39 @@
1
+ /**
2
+ * Qual toolchain compila o projeto.
3
+ *
4
+ * Analog troca o build do Angular por Vite, e com isso troca também onde o
5
+ * Tailwind é configurado: plugin no `vite.config.ts` em vez de `.postcssrc.json`.
6
+ */
7
+ export type ProjectFlavor = 'angular' | 'analog';
8
+ /** Um projeto declarado no workspace — `angular.json` ou `project.json` do Nx. */
9
+ export type WorkspaceProject = {
10
+ name: string;
11
+ projectType: 'application' | 'library';
12
+ /** Raiz do projeto, relativa ao workspace (`apps/web`, ou `''` no app único). */
13
+ root: string;
14
+ sourceRoot: string;
15
+ flavor: ProjectFlavor;
16
+ /** Os `styles` do target de build, relativos ao workspace. */
17
+ styles: string[];
18
+ /** O `index` do target de build, quando declarado. */
19
+ index: string | null;
20
+ };
1
21
  export type ProjectInfo = {
2
22
  framework: 'angular' | 'unknown';
23
+ /** Onde o package.json foi encontrado — a raiz do workspace. */
24
+ root: string;
25
+ /** Quem gerencia o workspace: define onde os projetos e os paths do TS vivem. */
26
+ workspace: 'angular' | 'nx';
3
27
  hasTypeScript: boolean;
4
28
  hasTailwind: boolean;
5
29
  hasNx: boolean;
30
+ hasAnalog: boolean;
31
+ /** O tsconfig que guarda `compilerOptions.paths` — `tsconfig.base.json` no Nx. */
32
+ tsconfigFile: string;
6
33
  angularVersion: string | null;
34
+ angularVersionRaw: string | null;
35
+ /** O que o workspace declara, na ordem em que aparece. Vazio se não houver. */
36
+ projects: WorkspaceProject[];
7
37
  };
8
38
  export declare function getProjectInfo(cwd: string): Promise<ProjectInfo>;
9
39
  //# sourceMappingURL=get-project-info.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-project-info.d.ts","sourceRoot":"","sources":["../../src/utils/get-project-info.ts"],"names":[],"mappings":"AAyBA,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;IACjC,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAAC;AAEF,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAwBtE"}
1
+ {"version":3,"file":"get-project-info.d.ts","sourceRoot":"","sources":["../../src/utils/get-project-info.ts"],"names":[],"mappings":"AAyBA;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEjD,kFAAkF;AAClF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,aAAa,GAAG,SAAS,CAAC;IACvC,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,aAAa,CAAC;IACtB,8DAA8D;IAC9D,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,sDAAsD;IACtD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;IACjC,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,kFAAkF;IAClF,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,+EAA+E;IAC/E,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B,CAAC;AAuMF,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CA4CtE"}