@oaysus/cli 0.1.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 (243) hide show
  1. package/README.md +166 -0
  2. package/bin/oaysus.js +6 -0
  3. package/dist/cli.d.ts +11 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +174 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/commands/login.d.ts +2 -0
  8. package/dist/commands/login.d.ts.map +1 -0
  9. package/dist/commands/login.js +75 -0
  10. package/dist/commands/login.js.map +1 -0
  11. package/dist/commands/logout.d.ts +2 -0
  12. package/dist/commands/logout.d.ts.map +1 -0
  13. package/dist/commands/logout.js +23 -0
  14. package/dist/commands/logout.js.map +1 -0
  15. package/dist/commands/whoami.d.ts +2 -0
  16. package/dist/commands/whoami.d.ts.map +1 -0
  17. package/dist/commands/whoami.js +44 -0
  18. package/dist/commands/whoami.js.map +1 -0
  19. package/dist/components/App.d.ts +43 -0
  20. package/dist/components/App.d.ts.map +1 -0
  21. package/dist/components/App.js +63 -0
  22. package/dist/components/App.js.map +1 -0
  23. package/dist/components/BuildProgress.d.ts +16 -0
  24. package/dist/components/BuildProgress.d.ts.map +1 -0
  25. package/dist/components/BuildProgress.js +42 -0
  26. package/dist/components/BuildProgress.js.map +1 -0
  27. package/dist/components/ErrorMessage.d.ts +13 -0
  28. package/dist/components/ErrorMessage.d.ts.map +1 -0
  29. package/dist/components/ErrorMessage.js +29 -0
  30. package/dist/components/ErrorMessage.js.map +1 -0
  31. package/dist/components/FileList.d.ts +13 -0
  32. package/dist/components/FileList.d.ts.map +1 -0
  33. package/dist/components/FileList.js +25 -0
  34. package/dist/components/FileList.js.map +1 -0
  35. package/dist/components/Header.d.ts +12 -0
  36. package/dist/components/Header.d.ts.map +1 -0
  37. package/dist/components/Header.js +18 -0
  38. package/dist/components/Header.js.map +1 -0
  39. package/dist/components/LastCommand.d.ts +9 -0
  40. package/dist/components/LastCommand.d.ts.map +1 -0
  41. package/dist/components/LastCommand.js +39 -0
  42. package/dist/components/LastCommand.js.map +1 -0
  43. package/dist/components/Logo.d.ts +14 -0
  44. package/dist/components/Logo.d.ts.map +1 -0
  45. package/dist/components/Logo.js +44 -0
  46. package/dist/components/Logo.js.map +1 -0
  47. package/dist/components/ProgressBar.d.ts +13 -0
  48. package/dist/components/ProgressBar.d.ts.map +1 -0
  49. package/dist/components/ProgressBar.js +20 -0
  50. package/dist/components/ProgressBar.js.map +1 -0
  51. package/dist/components/SlashCommands.d.ts +17 -0
  52. package/dist/components/SlashCommands.d.ts.map +1 -0
  53. package/dist/components/SlashCommands.js +59 -0
  54. package/dist/components/SlashCommands.js.map +1 -0
  55. package/dist/components/Spinner.d.ts +13 -0
  56. package/dist/components/Spinner.d.ts.map +1 -0
  57. package/dist/components/Spinner.js +16 -0
  58. package/dist/components/Spinner.js.map +1 -0
  59. package/dist/components/StatusCard.d.ts +14 -0
  60. package/dist/components/StatusCard.d.ts.map +1 -0
  61. package/dist/components/StatusCard.js +40 -0
  62. package/dist/components/StatusCard.js.map +1 -0
  63. package/dist/components/SuccessMessage.d.ts +12 -0
  64. package/dist/components/SuccessMessage.d.ts.map +1 -0
  65. package/dist/components/SuccessMessage.js +18 -0
  66. package/dist/components/SuccessMessage.js.map +1 -0
  67. package/dist/components/UploadProgress.d.ts +13 -0
  68. package/dist/components/UploadProgress.d.ts.map +1 -0
  69. package/dist/components/UploadProgress.js +40 -0
  70. package/dist/components/UploadProgress.js.map +1 -0
  71. package/dist/components/ValidationProgress.d.ts +12 -0
  72. package/dist/components/ValidationProgress.d.ts.map +1 -0
  73. package/dist/components/ValidationProgress.js +44 -0
  74. package/dist/components/ValidationProgress.js.map +1 -0
  75. package/dist/index.d.ts +7 -0
  76. package/dist/index.d.ts.map +1 -0
  77. package/dist/index.js +21 -0
  78. package/dist/index.js.map +1 -0
  79. package/dist/lib/core/framework-registry.d.ts +27 -0
  80. package/dist/lib/core/framework-registry.d.ts.map +1 -0
  81. package/dist/lib/core/framework-registry.js +67 -0
  82. package/dist/lib/core/framework-registry.js.map +1 -0
  83. package/dist/lib/core/types.d.ts +124 -0
  84. package/dist/lib/core/types.d.ts.map +1 -0
  85. package/dist/lib/core/types.js +6 -0
  86. package/dist/lib/core/types.js.map +1 -0
  87. package/dist/lib/project-generator.d.ts +15 -0
  88. package/dist/lib/project-generator.d.ts.map +1 -0
  89. package/dist/lib/project-generator.js +286 -0
  90. package/dist/lib/project-generator.js.map +1 -0
  91. package/dist/lib/push.d.ts +20 -0
  92. package/dist/lib/push.d.ts.map +1 -0
  93. package/dist/lib/push.js +222 -0
  94. package/dist/lib/push.js.map +1 -0
  95. package/dist/lib/react/builder.d.ts +45 -0
  96. package/dist/lib/react/builder.d.ts.map +1 -0
  97. package/dist/lib/react/builder.js +381 -0
  98. package/dist/lib/react/builder.js.map +1 -0
  99. package/dist/lib/react/bundler.d.ts +104 -0
  100. package/dist/lib/react/bundler.d.ts.map +1 -0
  101. package/dist/lib/react/bundler.js +654 -0
  102. package/dist/lib/react/bundler.js.map +1 -0
  103. package/dist/lib/react/config.d.ts +34 -0
  104. package/dist/lib/react/config.d.ts.map +1 -0
  105. package/dist/lib/react/config.js +64 -0
  106. package/dist/lib/react/config.js.map +1 -0
  107. package/dist/lib/react/import-map.d.ts +54 -0
  108. package/dist/lib/react/import-map.d.ts.map +1 -0
  109. package/dist/lib/react/import-map.js +187 -0
  110. package/dist/lib/react/import-map.js.map +1 -0
  111. package/dist/lib/shared/auth-middleware.d.ts +29 -0
  112. package/dist/lib/shared/auth-middleware.d.ts.map +1 -0
  113. package/dist/lib/shared/auth-middleware.js +48 -0
  114. package/dist/lib/shared/auth-middleware.js.map +1 -0
  115. package/dist/lib/shared/auth.d.ts +50 -0
  116. package/dist/lib/shared/auth.d.ts.map +1 -0
  117. package/dist/lib/shared/auth.js +243 -0
  118. package/dist/lib/shared/auth.js.map +1 -0
  119. package/dist/lib/shared/cdn-downloader.d.ts +30 -0
  120. package/dist/lib/shared/cdn-downloader.d.ts.map +1 -0
  121. package/dist/lib/shared/cdn-downloader.js +126 -0
  122. package/dist/lib/shared/cdn-downloader.js.map +1 -0
  123. package/dist/lib/shared/command-history.d.ts +29 -0
  124. package/dist/lib/shared/command-history.d.ts.map +1 -0
  125. package/dist/lib/shared/command-history.js +73 -0
  126. package/dist/lib/shared/command-history.js.map +1 -0
  127. package/dist/lib/shared/commands.d.ts +24 -0
  128. package/dist/lib/shared/commands.d.ts.map +1 -0
  129. package/dist/lib/shared/commands.js +63 -0
  130. package/dist/lib/shared/commands.js.map +1 -0
  131. package/dist/lib/shared/config.d.ts +40 -0
  132. package/dist/lib/shared/config.d.ts.map +1 -0
  133. package/dist/lib/shared/config.js +69 -0
  134. package/dist/lib/shared/config.js.map +1 -0
  135. package/dist/lib/shared/file-utils.d.ts +45 -0
  136. package/dist/lib/shared/file-utils.d.ts.map +1 -0
  137. package/dist/lib/shared/file-utils.js +88 -0
  138. package/dist/lib/shared/file-utils.js.map +1 -0
  139. package/dist/lib/shared/import-analyzer.d.ts +49 -0
  140. package/dist/lib/shared/import-analyzer.d.ts.map +1 -0
  141. package/dist/lib/shared/import-analyzer.js +268 -0
  142. package/dist/lib/shared/import-analyzer.js.map +1 -0
  143. package/dist/lib/shared/path-builder.d.ts +55 -0
  144. package/dist/lib/shared/path-builder.d.ts.map +1 -0
  145. package/dist/lib/shared/path-builder.js +66 -0
  146. package/dist/lib/shared/path-builder.js.map +1 -0
  147. package/dist/lib/shared/uploader.d.ts +79 -0
  148. package/dist/lib/shared/uploader.d.ts.map +1 -0
  149. package/dist/lib/shared/uploader.js +340 -0
  150. package/dist/lib/shared/uploader.js.map +1 -0
  151. package/dist/lib/shared/zip-creator.d.ts +18 -0
  152. package/dist/lib/shared/zip-creator.d.ts.map +1 -0
  153. package/dist/lib/shared/zip-creator.js +131 -0
  154. package/dist/lib/shared/zip-creator.js.map +1 -0
  155. package/dist/lib/svelte/builder.d.ts +37 -0
  156. package/dist/lib/svelte/builder.d.ts.map +1 -0
  157. package/dist/lib/svelte/builder.js +364 -0
  158. package/dist/lib/svelte/builder.js.map +1 -0
  159. package/dist/lib/svelte/bundler.d.ts +92 -0
  160. package/dist/lib/svelte/bundler.d.ts.map +1 -0
  161. package/dist/lib/svelte/bundler.js +499 -0
  162. package/dist/lib/svelte/bundler.js.map +1 -0
  163. package/dist/lib/svelte/config.d.ts +22 -0
  164. package/dist/lib/svelte/config.d.ts.map +1 -0
  165. package/dist/lib/svelte/config.js +65 -0
  166. package/dist/lib/svelte/config.js.map +1 -0
  167. package/dist/lib/svelte/import-map.d.ts +42 -0
  168. package/dist/lib/svelte/import-map.d.ts.map +1 -0
  169. package/dist/lib/svelte/import-map.js +197 -0
  170. package/dist/lib/svelte/import-map.js.map +1 -0
  171. package/dist/lib/template-manager.d.ts +33 -0
  172. package/dist/lib/template-manager.d.ts.map +1 -0
  173. package/dist/lib/template-manager.js +69 -0
  174. package/dist/lib/template-manager.js.map +1 -0
  175. package/dist/lib/validator.d.ts +10 -0
  176. package/dist/lib/validator.d.ts.map +1 -0
  177. package/dist/lib/validator.js +343 -0
  178. package/dist/lib/validator.js.map +1 -0
  179. package/dist/lib/vue/builder.d.ts +37 -0
  180. package/dist/lib/vue/builder.d.ts.map +1 -0
  181. package/dist/lib/vue/builder.js +366 -0
  182. package/dist/lib/vue/builder.js.map +1 -0
  183. package/dist/lib/vue/bundler.d.ts +78 -0
  184. package/dist/lib/vue/bundler.d.ts.map +1 -0
  185. package/dist/lib/vue/bundler.js +208 -0
  186. package/dist/lib/vue/bundler.js.map +1 -0
  187. package/dist/lib/vue/config.d.ts +18 -0
  188. package/dist/lib/vue/config.d.ts.map +1 -0
  189. package/dist/lib/vue/config.js +42 -0
  190. package/dist/lib/vue/config.js.map +1 -0
  191. package/dist/lib/vue/import-map.d.ts +42 -0
  192. package/dist/lib/vue/import-map.d.ts.map +1 -0
  193. package/dist/lib/vue/import-map.js +156 -0
  194. package/dist/lib/vue/import-map.js.map +1 -0
  195. package/dist/screens/BuildScreen.d.ts +8 -0
  196. package/dist/screens/BuildScreen.d.ts.map +1 -0
  197. package/dist/screens/BuildScreen.js +158 -0
  198. package/dist/screens/BuildScreen.js.map +1 -0
  199. package/dist/screens/CreateScreen.d.ts +12 -0
  200. package/dist/screens/CreateScreen.d.ts.map +1 -0
  201. package/dist/screens/CreateScreen.js +305 -0
  202. package/dist/screens/CreateScreen.js.map +1 -0
  203. package/dist/screens/InitScreen.d.ts +11 -0
  204. package/dist/screens/InitScreen.d.ts.map +1 -0
  205. package/dist/screens/InitScreen.js +339 -0
  206. package/dist/screens/InitScreen.js.map +1 -0
  207. package/dist/screens/LoginScreen.d.ts +15 -0
  208. package/dist/screens/LoginScreen.d.ts.map +1 -0
  209. package/dist/screens/LoginScreen.js +427 -0
  210. package/dist/screens/LoginScreen.js.map +1 -0
  211. package/dist/screens/LogoutScreen.d.ts +15 -0
  212. package/dist/screens/LogoutScreen.d.ts.map +1 -0
  213. package/dist/screens/LogoutScreen.js +187 -0
  214. package/dist/screens/LogoutScreen.js.map +1 -0
  215. package/dist/screens/PushScreen.d.ts +12 -0
  216. package/dist/screens/PushScreen.d.ts.map +1 -0
  217. package/dist/screens/PushScreen.js +546 -0
  218. package/dist/screens/PushScreen.js.map +1 -0
  219. package/dist/screens/ValidateScreen.d.ts +12 -0
  220. package/dist/screens/ValidateScreen.d.ts.map +1 -0
  221. package/dist/screens/ValidateScreen.js +193 -0
  222. package/dist/screens/ValidateScreen.js.map +1 -0
  223. package/dist/screens/WelcomeScreen.d.ts +39 -0
  224. package/dist/screens/WelcomeScreen.d.ts.map +1 -0
  225. package/dist/screens/WelcomeScreen.js +297 -0
  226. package/dist/screens/WelcomeScreen.js.map +1 -0
  227. package/dist/screens/WhoamiScreen.d.ts +14 -0
  228. package/dist/screens/WhoamiScreen.d.ts.map +1 -0
  229. package/dist/screens/WhoamiScreen.js +180 -0
  230. package/dist/screens/WhoamiScreen.js.map +1 -0
  231. package/dist/types/index.d.ts +40 -0
  232. package/dist/types/index.d.ts.map +1 -0
  233. package/dist/types/index.js +2 -0
  234. package/dist/types/index.js.map +1 -0
  235. package/dist/types/templates.d.ts +55 -0
  236. package/dist/types/templates.d.ts.map +1 -0
  237. package/dist/types/templates.js +6 -0
  238. package/dist/types/templates.js.map +1 -0
  239. package/dist/types/validation.d.ts +108 -0
  240. package/dist/types/validation.d.ts.map +1 -0
  241. package/dist/types/validation.js +6 -0
  242. package/dist/types/validation.js.map +1 -0
  243. package/package.json +94 -0
@@ -0,0 +1,40 @@
1
+ import React from 'react';
2
+ import { Box, Text } from 'ink';
3
+ /**
4
+ * StatusCard Component
5
+ * Displays information in a styled bordered box
6
+ */
7
+ export const StatusCard = ({ title, value, color = 'white', borderColor = 'cyan', }) => {
8
+ const borderChars = {
9
+ top: '─',
10
+ bottom: '─',
11
+ left: '│',
12
+ right: '│',
13
+ topLeft: '╭',
14
+ topRight: '╮',
15
+ bottomLeft: '╰',
16
+ bottomRight: '╯',
17
+ };
18
+ const width = Math.max(title.length, value.length) + 4;
19
+ return (React.createElement(Box, { flexDirection: "column", marginY: 1 },
20
+ React.createElement(Text, { color: borderColor },
21
+ borderChars.topLeft,
22
+ borderChars.top.repeat(width),
23
+ borderChars.topRight),
24
+ React.createElement(Box, null,
25
+ React.createElement(Text, { color: borderColor },
26
+ borderChars.left,
27
+ " "),
28
+ React.createElement(Box, { flexDirection: "column", width: width - 2 },
29
+ React.createElement(Text, { bold: true, color: "gray" }, title),
30
+ React.createElement(Text, { bold: true, color: color }, value)),
31
+ React.createElement(Text, { color: borderColor },
32
+ " ",
33
+ borderChars.right)),
34
+ React.createElement(Text, { color: borderColor },
35
+ borderChars.bottomLeft,
36
+ borderChars.bottom.repeat(width),
37
+ borderChars.bottomRight)));
38
+ };
39
+ export default StatusCard;
40
+ //# sourceMappingURL=StatusCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusCard.js","sourceRoot":"","sources":["../../src/components/StatusCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAShC;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAA8B,CAAC,EACpD,KAAK,EACL,KAAK,EACL,KAAK,GAAG,OAAO,EACf,WAAW,GAAG,MAAM,GACrB,EAAE,EAAE;IACH,MAAM,WAAW,GAAG;QAClB,GAAG,EAAE,GAAG;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,GAAG;QACT,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,GAAG;QACb,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,GAAG;KACjB,CAAC;IAEF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAEvD,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC;QACpC,oBAAC,IAAI,IAAC,KAAK,EAAE,WAAW;YACrB,WAAW,CAAC,OAAO;YACnB,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;YAC7B,WAAW,CAAC,QAAQ,CAChB;QACP,oBAAC,GAAG;YACF,oBAAC,IAAI,IAAC,KAAK,EAAE,WAAW;gBAAG,WAAW,CAAC,IAAI;oBAAS;YACpD,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,KAAK,EAAE,KAAK,GAAG,CAAC;gBAC1C,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM,IACpB,KAAK,CACD;gBACP,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,KAAK,IACpB,KAAK,CACD,CACH;YACN,oBAAC,IAAI,IAAC,KAAK,EAAE,WAAW;;gBAAI,WAAW,CAAC,KAAK,CAAQ,CACjD;QACN,oBAAC,IAAI,IAAC,KAAK,EAAE,WAAW;YACrB,WAAW,CAAC,UAAU;YACtB,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YAChC,WAAW,CAAC,WAAW,CACnB,CACH,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ interface SuccessMessageProps {
3
+ message: string;
4
+ details?: string[];
5
+ }
6
+ /**
7
+ * SuccessMessage Component
8
+ * Displays a success message with checkmark
9
+ */
10
+ export declare const SuccessMessage: React.FC<SuccessMessageProps>;
11
+ export default SuccessMessage;
12
+ //# sourceMappingURL=SuccessMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SuccessMessage.d.ts","sourceRoot":"","sources":["../../src/components/SuccessMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,mBAAmB;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAsBxD,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { Box, Text } from 'ink';
3
+ /**
4
+ * SuccessMessage Component
5
+ * Displays a success message with checkmark
6
+ */
7
+ export const SuccessMessage = ({ message, details = [], }) => {
8
+ return (React.createElement(Box, { flexDirection: "column", marginTop: 1 },
9
+ React.createElement(Box, { marginBottom: 1 },
10
+ React.createElement(Text, { color: "green", bold: true },
11
+ "\u2713 ",
12
+ message)),
13
+ details.length > 0 && (React.createElement(Box, { flexDirection: "column", marginLeft: 2 }, details.map((detail, index) => (React.createElement(Text, { key: index, color: "gray" },
14
+ "\u2022 ",
15
+ detail)))))));
16
+ };
17
+ export default SuccessMessage;
18
+ //# sourceMappingURL=SuccessMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SuccessMessage.js","sourceRoot":"","sources":["../../src/components/SuccessMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAOhC;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAkC,CAAC,EAC5D,OAAO,EACP,OAAO,GAAG,EAAE,GACb,EAAE,EAAE;IACH,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC;QACtC,oBAAC,GAAG,IAAC,YAAY,EAAE,CAAC;YAClB,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI;;gBACnB,OAAO,CACL,CACH;QACL,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CACrB,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAE,CAAC,IACtC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAC9B,oBAAC,IAAI,IAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAC,MAAM;;YACzB,MAAM,CACJ,CACR,CAAC,CACE,CACP,CACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ interface UploadProgressProps {
3
+ bytesUploaded: number;
4
+ totalBytes: number;
5
+ percentage: number;
6
+ }
7
+ /**
8
+ * Upload Progress Component
9
+ * Displays upload progress with bytes and percentage
10
+ */
11
+ export declare const UploadProgress: React.FC<UploadProgressProps>;
12
+ export default UploadProgress;
13
+ //# sourceMappingURL=UploadProgress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UploadProgress.d.ts","sourceRoot":"","sources":["../../src/components/UploadProgress.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,mBAAmB;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAeD;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAiCxD,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,40 @@
1
+ import React from 'react';
2
+ import { Box, Text } from 'ink';
3
+ /**
4
+ * Format bytes to human-readable format (KB, MB)
5
+ */
6
+ function formatBytes(bytes) {
7
+ if (bytes === 0)
8
+ return '0 B';
9
+ const k = 1024;
10
+ const sizes = ['B', 'KB', 'MB'];
11
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
12
+ return `${(bytes / Math.pow(k, i)).toFixed(1)} ${sizes[i]}`;
13
+ }
14
+ /**
15
+ * Upload Progress Component
16
+ * Displays upload progress with bytes and percentage
17
+ */
18
+ export const UploadProgress = ({ bytesUploaded, totalBytes, percentage }) => {
19
+ // Create progress bar (40 characters wide)
20
+ const barWidth = 40;
21
+ const filledWidth = Math.round((percentage / 100) * barWidth);
22
+ const emptyWidth = barWidth - filledWidth;
23
+ const filled = '█'.repeat(filledWidth);
24
+ const empty = '░'.repeat(emptyWidth);
25
+ return (React.createElement(Box, { flexDirection: "column" },
26
+ React.createElement(Box, null,
27
+ React.createElement(Text, { color: "cyan" }, filled),
28
+ React.createElement(Text, { dimColor: true }, empty),
29
+ React.createElement(Text, null, " "),
30
+ React.createElement(Text, { color: "cyan", bold: true },
31
+ percentage,
32
+ "%")),
33
+ React.createElement(Box, { marginTop: 1 },
34
+ React.createElement(Text, null,
35
+ React.createElement(Text, { color: "cyan" }, formatBytes(bytesUploaded)),
36
+ React.createElement(Text, { dimColor: true }, " / "),
37
+ React.createElement(Text, null, formatBytes(totalBytes))))));
38
+ };
39
+ export default UploadProgress;
40
+ //# sourceMappingURL=UploadProgress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UploadProgress.js","sourceRoot":"","sources":["../../src/components/UploadProgress.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAQhC;;GAEG;AACH,SAAS,WAAW,CAAC,KAAa;IAChC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAE9B,MAAM,CAAC,GAAG,IAAI,CAAC;IACf,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAChC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpD,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAkC,CAAC,EAC5D,aAAa,EACb,UAAU,EACV,UAAU,EACX,EAAE,EAAE;IACH,2CAA2C;IAC3C,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAC;IAE1C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAErC,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;QAEzB,oBAAC,GAAG;YACF,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM,IAAE,MAAM,CAAQ;YAClC,oBAAC,IAAI,IAAC,QAAQ,UAAE,KAAK,CAAQ;YAC7B,oBAAC,IAAI,YAAS;YACd,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI;gBAAE,UAAU;oBAAS,CACxC;QAGN,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC;YACf,oBAAC,IAAI;gBACH,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM,IAAE,WAAW,CAAC,aAAa,CAAC,CAAQ;gBACtD,oBAAC,IAAI,IAAC,QAAQ,gBAAW;gBACzB,oBAAC,IAAI,QAAE,WAAW,CAAC,UAAU,CAAC,CAAQ,CACjC,CACH,CACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import type { ValidationResult } from '../types/validation.js';
3
+ interface ValidationProgressProps {
4
+ validationResult: ValidationResult;
5
+ }
6
+ /**
7
+ * ValidationProgress Component
8
+ * Displays validation results with component list
9
+ */
10
+ export declare const ValidationProgress: React.FC<ValidationProgressProps>;
11
+ export default ValidationProgress;
12
+ //# sourceMappingURL=ValidationProgress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidationProgress.d.ts","sourceRoot":"","sources":["../../src/components/ValidationProgress.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,UAAU,uBAAuB;IAC/B,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAwDhE,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,44 @@
1
+ import React from 'react';
2
+ import { Box, Text } from 'ink';
3
+ /**
4
+ * ValidationProgress Component
5
+ * Displays validation results with component list
6
+ */
7
+ export const ValidationProgress = ({ validationResult }) => {
8
+ return (React.createElement(Box, { flexDirection: "column" },
9
+ React.createElement(Text, { color: "green", bold: true }, "\u2713 Validation passed"),
10
+ React.createElement(Box, { marginTop: 1, flexDirection: "column" },
11
+ React.createElement(Text, { dimColor: true },
12
+ "Framework: ",
13
+ React.createElement(Text, { color: "white" }, validationResult.inferredConfig.framework)),
14
+ React.createElement(Text, { dimColor: true },
15
+ "Type: ",
16
+ React.createElement(Text, { color: "white" }, validationResult.inferredConfig.type)),
17
+ React.createElement(Text, { dimColor: true },
18
+ "Version: ",
19
+ React.createElement(Text, { color: "white" }, validationResult.inferredConfig.version))),
20
+ validationResult.inferredConfig.theme && (React.createElement(Box, { marginTop: 1, flexDirection: "column" },
21
+ React.createElement(Text, { color: "cyan", bold: true },
22
+ "Theme: ",
23
+ validationResult.inferredConfig.theme.displayName),
24
+ validationResult.inferredConfig.theme.description && (React.createElement(Text, { dimColor: true }, validationResult.inferredConfig.theme.description)),
25
+ validationResult.inferredConfig.theme.category && (React.createElement(Text, { dimColor: true },
26
+ "Category: ",
27
+ React.createElement(Text, { color: "white" }, validationResult.inferredConfig.theme.category))),
28
+ validationResult.inferredConfig.theme.tags && validationResult.inferredConfig.theme.tags.length > 0 && (React.createElement(Text, { dimColor: true },
29
+ "Tags: ",
30
+ React.createElement(Text, { color: "white" }, validationResult.inferredConfig.theme.tags.join(', ')))))),
31
+ React.createElement(Box, { marginTop: 1, flexDirection: "column" },
32
+ React.createElement(Text, { color: "green" },
33
+ "\u2713 Found ",
34
+ validationResult.components.length,
35
+ " component(s):"),
36
+ validationResult.components.map((comp, i) => (React.createElement(Text, { key: i, dimColor: true },
37
+ "\u2022 ",
38
+ comp.displayName,
39
+ " (",
40
+ comp.name,
41
+ ")"))))));
42
+ };
43
+ export default ValidationProgress;
44
+ //# sourceMappingURL=ValidationProgress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidationProgress.js","sourceRoot":"","sources":["../../src/components/ValidationProgress.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAOhC;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAsC,CAAC,EACpE,gBAAgB,EACjB,EAAE,EAAE;IACH,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;QACzB,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,qCAEjB;QAEP,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ;YACvC,oBAAC,IAAI,IAAC,QAAQ;;gBACD,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,IAAE,gBAAgB,CAAC,cAAc,CAAC,SAAS,CAAQ,CAC5E;YACP,oBAAC,IAAI,IAAC,QAAQ;;gBACN,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,IAAE,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAQ,CAClE;YACP,oBAAC,IAAI,IAAC,QAAQ;;gBACH,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,IAAE,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAQ,CACxE,CACH;QAEL,gBAAgB,CAAC,cAAc,CAAC,KAAK,IAAI,CACxC,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ;YACvC,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI;;gBACb,gBAAgB,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,CACpD;YACN,gBAAgB,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,IAAI,CACpD,oBAAC,IAAI,IAAC,QAAQ,UACX,gBAAgB,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,CAC7C,CACR;YACA,gBAAgB,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,IAAI,CACjD,oBAAC,IAAI,IAAC,QAAQ;;gBACF,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,IAAE,gBAAgB,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAQ,CAChF,CACR;YACA,gBAAgB,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,IAAI,gBAAgB,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CACtG,oBAAC,IAAI,IAAC,QAAQ;;gBACN,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,IAAE,gBAAgB,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAQ,CACnF,CACR,CACG,CACP;QAED,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ;YACvC,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO;;gBACR,gBAAgB,CAAC,UAAU,CAAC,MAAM;iCACtC;YACN,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAC5C,oBAAC,IAAI,IAAC,GAAG,EAAE,CAAC,EAAE,QAAQ;;gBACjB,IAAI,CAAC,WAAW;;gBAAI,IAAI,CAAC,IAAI;oBAC3B,CACR,CAAC,CACE,CACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Oaysus CLI - Main Entry Point
4
+ * Modern CLI built with Ink (React for CLIs)
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;GAGG"}
package/dist/index.js ADDED
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Oaysus CLI - Main Entry Point
4
+ * Modern CLI built with Ink (React for CLIs)
5
+ */
6
+ // Load .env.local from CLI installation directory (not current working directory)
7
+ import dotenv from 'dotenv';
8
+ import { fileURLToPath } from 'url';
9
+ import { dirname, join } from 'path';
10
+ const __filename = fileURLToPath(import.meta.url);
11
+ const __dirname = dirname(__filename);
12
+ const envPath = join(__dirname, '..', '.env.local');
13
+ dotenv.config({ path: envPath, quiet: true });
14
+ // Dynamic import to ensure env vars are loaded first
15
+ const { runCli } = await import('./cli.js');
16
+ // Start the CLI
17
+ runCli().catch((error) => {
18
+ console.error('Fatal error:', error);
19
+ process.exit(1);
20
+ });
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAEH,kFAAkF;AAClF,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAErC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;AACpD,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAE9C,qDAAqD;AACrD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;AAE5C,gBAAgB;AAChB,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACvB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Framework Registry
3
+ * Dynamic framework implementation loader
4
+ * Provides factory functions for getting framework-specific implementations
5
+ */
6
+ import type { Framework, IBuilder, IBundler, IImportMapGenerator } from './types.js';
7
+ /**
8
+ * Get framework-specific builder
9
+ * Dynamically imports the appropriate builder for the framework
10
+ */
11
+ export declare function getBuilder(framework: Framework): Promise<IBuilder>;
12
+ /**
13
+ * Get framework-specific dependency bundler
14
+ * Dynamically imports the appropriate bundler for the framework
15
+ */
16
+ export declare function getBundler(framework: Framework): Promise<IBundler>;
17
+ /**
18
+ * Get framework-specific import map generator
19
+ * Dynamically imports the appropriate import map generator for the framework
20
+ */
21
+ export declare function getImportMapGenerator(framework: Framework): Promise<IImportMapGenerator>;
22
+ /**
23
+ * Detect framework from package.json
24
+ * Returns the framework type based on dependencies
25
+ */
26
+ export declare function detectFramework(packageJson: any): Framework;
27
+ //# sourceMappingURL=framework-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"framework-registry.d.ts","sourceRoot":"","sources":["../../../src/lib/core/framework-registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAErF;;;GAGG;AACH,wBAAsB,UAAU,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CAOxE;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CAOxE;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAO9F;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,GAAG,GAAG,SAAS,CAc3D"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Framework Registry
3
+ * Dynamic framework implementation loader
4
+ * Provides factory functions for getting framework-specific implementations
5
+ */
6
+ /**
7
+ * Get framework-specific builder
8
+ * Dynamically imports the appropriate builder for the framework
9
+ */
10
+ export async function getBuilder(framework) {
11
+ try {
12
+ const module = await import(`../${framework}/builder.js`);
13
+ return module.default || module.builder;
14
+ }
15
+ catch (error) {
16
+ throw new Error(`Failed to load builder for framework "${framework}": ${error}`);
17
+ }
18
+ }
19
+ /**
20
+ * Get framework-specific dependency bundler
21
+ * Dynamically imports the appropriate bundler for the framework
22
+ */
23
+ export async function getBundler(framework) {
24
+ try {
25
+ const module = await import(`../${framework}/bundler.js`);
26
+ return module.default || module.bundler;
27
+ }
28
+ catch (error) {
29
+ throw new Error(`Failed to load bundler for framework "${framework}": ${error}`);
30
+ }
31
+ }
32
+ /**
33
+ * Get framework-specific import map generator
34
+ * Dynamically imports the appropriate import map generator for the framework
35
+ */
36
+ export async function getImportMapGenerator(framework) {
37
+ try {
38
+ const module = await import(`../${framework}/import-map.js`);
39
+ return module.default || module.importMapGenerator;
40
+ }
41
+ catch (error) {
42
+ throw new Error(`Failed to load import map generator for framework "${framework}": ${error}`);
43
+ }
44
+ }
45
+ /**
46
+ * Detect framework from package.json
47
+ * Returns the framework type based on dependencies
48
+ */
49
+ export function detectFramework(packageJson) {
50
+ const allDeps = {
51
+ ...packageJson.dependencies,
52
+ ...packageJson.devDependencies
53
+ };
54
+ if (allDeps.react)
55
+ return 'react';
56
+ if (allDeps.svelte)
57
+ return 'svelte';
58
+ if (allDeps.vue)
59
+ return 'vue';
60
+ if (allDeps['solid-js'])
61
+ return 'solid';
62
+ if (allDeps.preact)
63
+ return 'preact';
64
+ // Default to react if no framework detected
65
+ return 'react';
66
+ }
67
+ //# sourceMappingURL=framework-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"framework-registry.js","sourceRoot":"","sources":["../../../src/lib/core/framework-registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,SAAoB;IACnD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,SAAS,aAAa,CAAC,CAAC;QAC1D,OAAO,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,yCAAyC,SAAS,MAAM,KAAK,EAAE,CAAC,CAAC;IACnF,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,SAAoB;IACnD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,SAAS,aAAa,CAAC,CAAC;QAC1D,OAAO,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,yCAAyC,SAAS,MAAM,KAAK,EAAE,CAAC,CAAC;IACnF,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,SAAoB;IAC9D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,SAAS,gBAAgB,CAAC,CAAC;QAC7D,OAAO,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,kBAAkB,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,sDAAsD,SAAS,MAAM,KAAK,EAAE,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,WAAgB;IAC9C,MAAM,OAAO,GAAG;QACd,GAAG,WAAW,CAAC,YAAY;QAC3B,GAAG,WAAW,CAAC,eAAe;KAC/B,CAAC;IAEF,IAAI,OAAO,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC;IAClC,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO,QAAQ,CAAC;IACpC,IAAI,OAAO,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IAC9B,IAAI,OAAO,CAAC,UAAU,CAAC;QAAE,OAAO,OAAO,CAAC;IACxC,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO,QAAQ,CAAC;IAEpC,4CAA4C;IAC5C,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Core Types
3
+ * Shared types and interfaces for all framework implementations
4
+ */
5
+ import type { ValidationResult } from '../../types/validation.js';
6
+ import type { DetectedDependency } from '../shared/import-analyzer.js';
7
+ export type Framework = 'react' | 'vue' | 'svelte' | 'solid' | 'preact';
8
+ export type { DetectedDependency };
9
+ export interface ComponentBuildOutput {
10
+ name: string;
11
+ displayName: string;
12
+ jsPath: string;
13
+ cssPath?: string;
14
+ schemaPath: string;
15
+ size: number;
16
+ }
17
+ export interface ServerBuildOutput {
18
+ name: string;
19
+ displayName: string;
20
+ jsPath: string;
21
+ size: number;
22
+ }
23
+ export interface BuildResult {
24
+ success: boolean;
25
+ outputDir: string;
26
+ components: ComponentBuildOutput[];
27
+ totalSize: number;
28
+ themeCssPath?: string;
29
+ themeCssSize?: number;
30
+ error?: string;
31
+ }
32
+ export interface ServerBuildResult {
33
+ success: boolean;
34
+ outputDir: string;
35
+ components: ServerBuildOutput[];
36
+ totalSize: number;
37
+ error?: string;
38
+ }
39
+ export interface BundledDependency {
40
+ name: string;
41
+ version: string;
42
+ mainBundle: string;
43
+ additionalExports?: Record<string, string>;
44
+ }
45
+ export interface BundleDependencyOptions {
46
+ projectRoot: string;
47
+ outputDir?: string;
48
+ }
49
+ export interface FrameworkExportConfig {
50
+ exports: string[];
51
+ externals?: string[];
52
+ }
53
+ export interface ImportMap {
54
+ imports: Record<string, string>;
55
+ }
56
+ export interface ImportMapWithStylesheets extends ImportMap {
57
+ stylesheets: Record<string, string>;
58
+ }
59
+ export interface R2ImportMapOptions {
60
+ /** R2 public URL base (e.g., https://pub-xxx.r2.dev) */
61
+ r2PublicUrl: string;
62
+ /** Base path in R2 (e.g., local/chetan/websiteId/themeName/version) */
63
+ r2BasePath: string;
64
+ /** Detected external dependencies to include in import map */
65
+ detectedDeps?: DetectedDependency[];
66
+ }
67
+ /**
68
+ * Base Builder Interface
69
+ * All framework builders must implement this interface
70
+ */
71
+ export interface IBuilder {
72
+ buildComponents(validationResult: ValidationResult, projectPath: string, detectedDeps?: DetectedDependency[]): Promise<BuildResult>;
73
+ buildServerComponents(validationResult: ValidationResult, projectPath: string): Promise<ServerBuildResult>;
74
+ buildThemeCSS(projectPath: string, outputDir: string, packageJson: any): Promise<{
75
+ cssPath: string;
76
+ size: number;
77
+ } | null>;
78
+ }
79
+ /**
80
+ * Server dependency bundle result
81
+ */
82
+ export interface ServerDependencyBundle {
83
+ depKey: string;
84
+ path: string;
85
+ size: number;
86
+ }
87
+ /**
88
+ * Base Bundler Interface
89
+ * All framework bundlers must implement this interface
90
+ */
91
+ export interface IBundler {
92
+ bundleDependencies(dependencies: Array<{
93
+ name: string;
94
+ version: string;
95
+ }>, options: BundleDependencyOptions): Promise<BundledDependency[]>;
96
+ bundleServerDependencies(dependencies: Array<{
97
+ name: string;
98
+ version: string;
99
+ }>, options: BundleDependencyOptions): Promise<ServerDependencyBundle[]>;
100
+ bundleDetectedDependencies(detectedDeps: DetectedDependency[], options: BundleDependencyOptions): Promise<BundledDependency[]>;
101
+ filterRuntimeDependencies(dependencies: Array<{
102
+ name: string;
103
+ version: string;
104
+ }>): Array<{
105
+ name: string;
106
+ version: string;
107
+ }>;
108
+ getBundleSize(bundles: BundledDependency[]): number;
109
+ formatBundleSize(bytes: number): string;
110
+ }
111
+ /**
112
+ * Base Import Map Generator Interface
113
+ * All framework import map generators must implement this interface
114
+ */
115
+ export interface IImportMapGenerator {
116
+ generateImportMapFromPackageJson(packageJson: any): ImportMap;
117
+ generateImportMapWithR2Urls(packageJson: any, options: R2ImportMapOptions): ImportMap;
118
+ generateImportMapWithStylesheets(packageJson: any, options: R2ImportMapOptions): ImportMapWithStylesheets;
119
+ getDependenciesToBundle(packageJson: any): Array<{
120
+ name: string;
121
+ version: string;
122
+ }>;
123
+ }
124
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/core/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Core Types
3
+ * Shared types and interfaces for all framework implementations
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/core/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Project Generator
3
+ * Orchestrates project scaffolding from templates
4
+ */
5
+ import { Framework, InitOptions, CreateComponentOptions, GenerationResult } from '../types/templates.js';
6
+ /**
7
+ * Generate a new project from templates
8
+ * All projects use theme pack structure (components/ directory)
9
+ */
10
+ export declare function generateProject(options: InitOptions, targetDir: string): Promise<GenerationResult>;
11
+ /**
12
+ * Create a new component in an existing theme pack
13
+ */
14
+ export declare function createComponent(options: CreateComponentOptions, projectPath: string, framework: Framework): Promise<GenerationResult>;
15
+ //# sourceMappingURL=project-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-generator.d.ts","sourceRoot":"","sources":["../../src/lib/project-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,SAAS,EACT,WAAW,EACX,sBAAsB,EACtB,gBAAgB,EAEjB,MAAM,uBAAuB,CAAC;AAc/B;;;GAGG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,gBAAgB,CAAC,CAgD3B;AAkND;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,sBAAsB,EAC/B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,gBAAgB,CAAC,CA+E3B"}