@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 @@
1
+ {"version":3,"file":"LogoutScreen.js","sourceRoot":"","sources":["../../src/screens/LogoutScreen.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { HistoryEntry } from '../components/App.js';
3
+ interface Props {
4
+ projectPath?: string;
5
+ onExit?: () => void;
6
+ sessionHistory?: HistoryEntry[];
7
+ addToHistory?: (entry: HistoryEntry | HistoryEntry[]) => void;
8
+ removeFromHistory?: (spinnerId: string) => void;
9
+ }
10
+ export declare function PushScreen({ projectPath, onExit, sessionHistory, addToHistory, removeFromHistory }: Props): React.JSX.Element | null;
11
+ export {};
12
+ //# sourceMappingURL=PushScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PushScreen.d.ts","sourceRoot":"","sources":["../../src/screens/PushScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAkBnD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAMpD,UAAU,KAAK;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;IAChC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,EAAE,KAAK,IAAI,CAAC;IAC9D,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACjD;AAYD,wBAAgB,UAAU,CAAC,EACzB,WAAiB,EACjB,MAAM,EACN,cAAmB,EACnB,YAAY,EACZ,iBAAiB,EAClB,EAAE,KAAK,4BAooBP"}
@@ -0,0 +1,546 @@
1
+ import React, { useState, useEffect } from 'react';
2
+ import { Box, Text, useInput } from 'ink';
3
+ import path from 'path';
4
+ import fs from 'fs';
5
+ import { readFile } from 'fs/promises';
6
+ import { fileURLToPath } from 'url';
7
+ import { Logo } from '../components/Logo.js';
8
+ import { ErrorMessage } from '../components/ErrorMessage.js';
9
+ import { requireAuth, loadCredentials } from '../lib/shared/auth.js';
10
+ import { validatePackage } from '../lib/validator.js';
11
+ import { uploadBuildFilesToR2, UploadError } from '../lib/shared/uploader.js';
12
+ import { buildR2Path } from '../lib/shared/path-builder.js';
13
+ import { R2_PUBLIC_URL } from '../lib/shared/config.js';
14
+ import { detectFramework, getBuilder, getBundler, getImportMapGenerator } from '../lib/core/framework-registry.js';
15
+ import { analyzeComponentImports } from '../lib/shared/import-analyzer.js';
16
+ import { Spinner } from '../components/Spinner.js';
17
+ import { exec } from 'child_process';
18
+ import { promisify } from 'util';
19
+ const execAsync = promisify(exec);
20
+ export function PushScreen({ projectPath = '.', onExit, sessionHistory = [], addToHistory, removeFromHistory }) {
21
+ const [screen, setScreen] = useState('checking-auth');
22
+ const [error, setError] = useState('');
23
+ const [bytesUploaded, setBytesUploaded] = useState(0);
24
+ const [totalBytes, setTotalBytes] = useState(0);
25
+ const [percentage, setPercentage] = useState(0);
26
+ const [themePackId, setThemePackId] = useState('');
27
+ const [componentCount, setComponentCount] = useState(0);
28
+ const [builtComponents, setBuiltComponents] = useState([]);
29
+ const [appData, setAppData] = useState({
30
+ version: '0.1.0',
31
+ userEmail: null,
32
+ isLoaded: false
33
+ });
34
+ const [directory] = useState(process.cwd());
35
+ // Standalone mode: maintain local history when external callbacks aren't available
36
+ const isStandalone = !addToHistory;
37
+ const [localHistory, setLocalHistory] = useState([]);
38
+ // Unified history management - works in both standalone and interactive modes
39
+ const addEntry = (entry) => {
40
+ if (addToHistory) {
41
+ addToHistory(entry);
42
+ }
43
+ else {
44
+ // Standalone mode: manage local history
45
+ if (Array.isArray(entry)) {
46
+ setLocalHistory(prev => [...prev, ...entry]);
47
+ }
48
+ else {
49
+ setLocalHistory(prev => [...prev, entry]);
50
+ }
51
+ }
52
+ };
53
+ const removeEntry = (spinnerId) => {
54
+ if (removeFromHistory) {
55
+ removeFromHistory(spinnerId);
56
+ }
57
+ else {
58
+ // Standalone mode: remove from local history
59
+ setLocalHistory(prev => prev.filter(entry => entry.spinnerId !== spinnerId));
60
+ }
61
+ };
62
+ // Use the appropriate history for rendering
63
+ const displayHistory = isStandalone ? localHistory : sessionHistory;
64
+ // Destructure for easier access
65
+ const { version, userEmail, isLoaded } = appData;
66
+ // Load version and credentials on mount
67
+ useEffect(() => {
68
+ const loadAllData = async () => {
69
+ const [versionData, credsData] = await Promise.all([
70
+ (async () => {
71
+ try {
72
+ const __filename = fileURLToPath(import.meta.url);
73
+ const __dirname = path.dirname(__filename);
74
+ const pkgPath = path.join(__dirname, '../../package.json');
75
+ const pkgData = await readFile(pkgPath, 'utf-8');
76
+ const pkg = JSON.parse(pkgData);
77
+ return pkg.version;
78
+ }
79
+ catch {
80
+ return '0.1.0';
81
+ }
82
+ })(),
83
+ loadCredentials()
84
+ ]);
85
+ setAppData({
86
+ version: versionData,
87
+ userEmail: credsData?.email || null,
88
+ isLoaded: true
89
+ });
90
+ };
91
+ loadAllData();
92
+ }, []);
93
+ // Auto-exit after success
94
+ useEffect(() => {
95
+ if (screen === 'success') {
96
+ const timer = setTimeout(() => {
97
+ if (onExit)
98
+ onExit();
99
+ }, 3000);
100
+ return () => clearTimeout(timer);
101
+ }
102
+ }, [screen, onExit]);
103
+ // Handle cancellation with Escape key
104
+ const handleCancel = () => {
105
+ addEntry({
106
+ type: 'info',
107
+ content: 'Push command cancelled, returned to menu'
108
+ });
109
+ if (onExit)
110
+ onExit();
111
+ };
112
+ useInput((input, key) => {
113
+ // Allow Escape to cancel (except during upload or after completion)
114
+ if (key.escape && screen !== 'uploading' && screen !== 'success' && screen !== 'error') {
115
+ handleCancel();
116
+ }
117
+ });
118
+ // Main upload flow
119
+ useEffect(() => {
120
+ let isCancelled = false;
121
+ const runUploadFlow = async () => {
122
+ try {
123
+ // Step 1: Check authentication (with expiry validation)
124
+ setScreen('checking-auth');
125
+ let credentials;
126
+ try {
127
+ credentials = await requireAuth();
128
+ }
129
+ catch (authError) {
130
+ if (isCancelled)
131
+ return;
132
+ const message = authError instanceof Error ? authError.message : 'Not authenticated';
133
+ const isExpired = message.toLowerCase().includes('expired');
134
+ setError(message);
135
+ addEntry({
136
+ type: 'error',
137
+ content: `✗ ${message}`,
138
+ color: 'red'
139
+ });
140
+ addEntry({
141
+ type: 'info',
142
+ content: isExpired
143
+ ? '💡 Your session has expired. Run "oaysus login" to re-authenticate.'
144
+ : '💡 Run "oaysus login" to authenticate.',
145
+ color: 'yellow'
146
+ });
147
+ setScreen('error');
148
+ return;
149
+ }
150
+ // Log the command being run
151
+ addEntry({
152
+ type: 'info',
153
+ content: '❯ /push',
154
+ color: 'cyan',
155
+ // Add spacing marker to indicate this should have top margin
156
+ spinnerId: displayHistory.length > 0 ? 'command-separator' : undefined
157
+ });
158
+ // Step 2: Validate package
159
+ if (isCancelled)
160
+ return;
161
+ setScreen('validating');
162
+ addEntry({
163
+ type: 'spinner',
164
+ content: `Validating package...`,
165
+ color: 'cyan',
166
+ spinnerId: 'validation'
167
+ });
168
+ const absolutePath = path.resolve(projectPath);
169
+ const validationResult = await validatePackage(absolutePath);
170
+ if (!validationResult.valid) {
171
+ if (isCancelled)
172
+ return;
173
+ removeEntry('validation');
174
+ setError(validationResult.errors.join('\n'));
175
+ setScreen('error');
176
+ return;
177
+ }
178
+ removeEntry('validation');
179
+ addEntry({
180
+ type: 'success',
181
+ content: `✓ Validated ${validationResult.components.length} component${validationResult.components.length !== 1 ? 's' : ''}`,
182
+ color: 'green'
183
+ });
184
+ // Step 2.5: Analyze component imports to detect external dependencies
185
+ const componentPaths = validationResult.components.map(c => c.entryPoint);
186
+ const detectedDeps = analyzeComponentImports(componentPaths, validationResult.packageJson);
187
+ if (detectedDeps.length > 0) {
188
+ addEntry({
189
+ type: 'success',
190
+ content: `✓ Detected ${detectedDeps.length} external ${detectedDeps.length === 1 ? 'dependency' : 'dependencies'}: ${detectedDeps.map(d => d.name).join(', ')}`,
191
+ color: 'green'
192
+ });
193
+ }
194
+ // Step 3: Install dependencies if needed
195
+ const nodeModulesPath = path.join(absolutePath, 'node_modules');
196
+ if (!fs.existsSync(nodeModulesPath)) {
197
+ if (isCancelled)
198
+ return;
199
+ setScreen('installing-deps');
200
+ try {
201
+ await execAsync('npm install', { cwd: absolutePath });
202
+ addEntry({
203
+ type: 'success',
204
+ content: '✓ Dependencies installed',
205
+ color: 'green'
206
+ });
207
+ }
208
+ catch (err) {
209
+ if (isCancelled)
210
+ return;
211
+ setError('Failed to install dependencies. Run "npm install" manually.');
212
+ setScreen('error');
213
+ return;
214
+ }
215
+ }
216
+ // Step 4: BUILD components with Vite
217
+ if (isCancelled)
218
+ return;
219
+ setScreen('building');
220
+ addEntry({
221
+ type: 'spinner',
222
+ content: `Building components...`,
223
+ color: 'cyan',
224
+ spinnerId: 'building'
225
+ });
226
+ // Suppress console output during build
227
+ const originalLog = console.log;
228
+ console.log = () => { };
229
+ // Get framework-specific builder
230
+ const framework = detectFramework(validationResult.packageJson);
231
+ const builder = await getBuilder(framework);
232
+ const buildResult = await builder.buildComponents(validationResult, absolutePath, detectedDeps);
233
+ // Restore console.log
234
+ console.log = originalLog;
235
+ if (!buildResult.success) {
236
+ if (isCancelled)
237
+ return;
238
+ removeEntry('building');
239
+ setError(buildResult.error || 'Build failed');
240
+ setScreen('error');
241
+ return;
242
+ }
243
+ setBuiltComponents(buildResult.components);
244
+ removeEntry('building');
245
+ addEntry({
246
+ type: 'success',
247
+ content: `✓ Built ${buildResult.components.length} component${buildResult.components.length !== 1 ? 's' : ''} (${(buildResult.totalSize / 1024).toFixed(1)} KB)`,
248
+ color: 'green'
249
+ });
250
+ // Step 4.5: Build server components for SSR
251
+ if (isCancelled)
252
+ return;
253
+ addEntry({
254
+ type: 'spinner',
255
+ content: `Building server components for SSR...`,
256
+ color: 'cyan',
257
+ spinnerId: 'building-server'
258
+ });
259
+ // Suppress console output during server build
260
+ console.log = () => { };
261
+ const serverBuildResult = await builder.buildServerComponents(validationResult, absolutePath);
262
+ // Restore console.log
263
+ console.log = originalLog;
264
+ removeEntry('building-server');
265
+ if (serverBuildResult.success) {
266
+ addEntry({
267
+ type: 'success',
268
+ content: `✓ Built ${serverBuildResult.components.length} server component${serverBuildResult.components.length !== 1 ? 's' : ''} (${(serverBuildResult.totalSize / 1024).toFixed(1)} KB)`,
269
+ color: 'green'
270
+ });
271
+ }
272
+ else {
273
+ // Server build failure is not fatal - log warning and continue
274
+ addEntry({
275
+ type: 'info',
276
+ content: `⚠ Server components skipped: ${serverBuildResult.error}`,
277
+ color: 'yellow'
278
+ });
279
+ }
280
+ // Step 5: Bundle dependencies for R2 upload
281
+ if (isCancelled)
282
+ return;
283
+ addEntry({
284
+ type: 'spinner',
285
+ content: `Bundling dependencies...`,
286
+ color: 'cyan',
287
+ spinnerId: 'bundling'
288
+ });
289
+ // Get framework-specific bundler and import map generator
290
+ const bundler = await getBundler(framework);
291
+ const importMapGen = await getImportMapGenerator(framework);
292
+ // Get dependencies to bundle (filter out dev-only packages)
293
+ const allDeps = importMapGen.getDependenciesToBundle(validationResult.packageJson);
294
+ const runtimeDeps = bundler.filterRuntimeDependencies(allDeps);
295
+ // Suppress console output during bundling
296
+ console.log = () => { };
297
+ // Bundle dependencies
298
+ const bundledDeps = await bundler.bundleDependencies(runtimeDeps, {
299
+ projectRoot: absolutePath,
300
+ outputDir: path.join(buildResult.outputDir, 'deps')
301
+ });
302
+ // Restore console.log
303
+ console.log = originalLog;
304
+ removeEntry('bundling');
305
+ addEntry({
306
+ type: 'success',
307
+ content: `✓ Bundled ${bundledDeps.length} React ${bundledDeps.length === 1 ? 'dependency' : 'dependencies'}`,
308
+ color: 'green'
309
+ });
310
+ // Step 5.2: Bundle detected external dependencies (Swiper, lucide-react, etc.)
311
+ if (detectedDeps.length > 0) {
312
+ if (isCancelled)
313
+ return;
314
+ addEntry({
315
+ type: 'spinner',
316
+ content: `Bundling external dependencies...`,
317
+ color: 'cyan',
318
+ spinnerId: 'bundling-external'
319
+ });
320
+ // Suppress console output during bundling
321
+ console.log = () => { };
322
+ await bundler.bundleDetectedDependencies(detectedDeps, {
323
+ projectRoot: absolutePath,
324
+ outputDir: path.join(buildResult.outputDir, 'deps')
325
+ });
326
+ // Restore console.log
327
+ console.log = originalLog;
328
+ removeEntry('bundling-external');
329
+ addEntry({
330
+ type: 'success',
331
+ content: `✓ Bundled ${detectedDeps.length} external ${detectedDeps.length === 1 ? 'dependency' : 'dependencies'}`,
332
+ color: 'green'
333
+ });
334
+ }
335
+ // Step 5.5: Bundle server-side dependencies for SSR
336
+ if (isCancelled)
337
+ return;
338
+ addEntry({
339
+ type: 'spinner',
340
+ content: `Bundling server dependencies for SSR...`,
341
+ color: 'cyan',
342
+ spinnerId: 'bundling-server'
343
+ });
344
+ // Suppress console output during server bundling
345
+ console.log = () => { };
346
+ const serverDeps = await bundler.bundleServerDependencies(runtimeDeps, {
347
+ projectRoot: absolutePath,
348
+ outputDir: buildResult.outputDir
349
+ });
350
+ // Restore console.log
351
+ console.log = originalLog;
352
+ removeEntry('bundling-server');
353
+ if (serverDeps.length > 0) {
354
+ const serverDepSize = serverDeps.reduce((sum, d) => sum + d.size, 0);
355
+ addEntry({
356
+ type: 'success',
357
+ content: `✓ Bundled server dependencies (${(serverDepSize / 1024).toFixed(1)} KB)`,
358
+ color: 'green'
359
+ });
360
+ }
361
+ // Step 5.6: Generate theme manifest with framework and dependency info
362
+ if (isCancelled)
363
+ return;
364
+ // Get React version from dependencies
365
+ const allDepsForManifest = { ...validationResult.packageJson.dependencies, ...validationResult.packageJson.devDependencies };
366
+ const reactVersion = (allDepsForManifest['react'] || '19.0.0').replace(/^[\^~>=<]/, '');
367
+ const themeManifest = {
368
+ framework: framework,
369
+ frameworkVersion: reactVersion,
370
+ components: validationResult.components.map(c => c.name),
371
+ deps: [
372
+ // React framework deps
373
+ ...runtimeDeps.map(dep => ({
374
+ name: dep.name,
375
+ version: dep.version,
376
+ r2Path: `server-deps/react@${reactVersion}/`
377
+ })),
378
+ // Detected external deps
379
+ ...detectedDeps.map(dep => ({
380
+ name: dep.name,
381
+ version: dep.version,
382
+ r2Path: `deps/${dep.name}@${dep.version}/`,
383
+ subExports: dep.subExports,
384
+ cssImports: dep.cssImports
385
+ }))
386
+ ],
387
+ createdAt: new Date().toISOString()
388
+ };
389
+ // Save manifest to build directory
390
+ fs.writeFileSync(path.join(buildResult.outputDir, 'manifest.json'), JSON.stringify(themeManifest, null, 2));
391
+ addEntry({
392
+ type: 'success',
393
+ content: `✓ Generated theme manifest`,
394
+ color: 'green'
395
+ });
396
+ // Step 6: Generate import map with R2 URLs
397
+ if (isCancelled)
398
+ return;
399
+ // Build R2 base path for this theme
400
+ const r2BasePath = buildR2Path(validationResult.packageJson, credentials);
401
+ // Generate import map with R2 URLs and stylesheets (including detected deps)
402
+ const importMapWithStyles = importMapGen.generateImportMapWithStylesheets(validationResult.packageJson, {
403
+ r2PublicUrl: R2_PUBLIC_URL,
404
+ r2BasePath,
405
+ detectedDeps
406
+ });
407
+ // Separate imports and stylesheets for upload
408
+ const importMap = { imports: importMapWithStyles.imports };
409
+ const stylesheets = importMapWithStyles.stylesheets;
410
+ // Save import map
411
+ fs.writeFileSync(path.join(buildResult.outputDir, 'import-map.json'), JSON.stringify(importMap, null, 2));
412
+ addEntry({
413
+ type: 'success',
414
+ content: `✓ Generated import map (${Object.keys(importMap.imports).length} entries)`,
415
+ color: 'green'
416
+ });
417
+ // Step 7: Upload individual build files to R2
418
+ if (isCancelled)
419
+ return;
420
+ setScreen('uploading');
421
+ addEntry({
422
+ type: 'spinner',
423
+ content: `Uploading to server...`,
424
+ color: 'cyan',
425
+ spinnerId: 'uploading'
426
+ });
427
+ // Extract dependencies from package.json for metadata
428
+ const deps = validationResult.packageJson.dependencies || {};
429
+ const dependenciesArray = Object.entries(deps).map(([name, version]) => ({
430
+ name,
431
+ version: version
432
+ }));
433
+ const uploadResult = await uploadBuildFilesToR2(buildResult.outputDir, validationResult.packageJson, (bytesUploaded, totalBytes, pct) => {
434
+ setBytesUploaded(bytesUploaded);
435
+ setTotalBytes(totalBytes);
436
+ setPercentage(pct);
437
+ // When upload reaches 100%, switch to processing state
438
+ if (pct >= 100 && screen !== 'processing') {
439
+ setScreen('processing');
440
+ removeEntry('uploading');
441
+ addEntry({
442
+ type: 'success',
443
+ content: `✓ Uploaded (${(totalBytes / (1024 * 1024)).toFixed(1)} MB)`,
444
+ color: 'green'
445
+ });
446
+ addEntry({
447
+ type: 'spinner',
448
+ content: `Processing components on server...`,
449
+ color: 'cyan',
450
+ spinnerId: 'server-processing'
451
+ });
452
+ }
453
+ }, {
454
+ importMap,
455
+ stylesheets,
456
+ dependencies: dependenciesArray
457
+ });
458
+ // Extract theme pack info from upload result
459
+ setThemePackId(uploadResult.themePackId || '');
460
+ setComponentCount(uploadResult.componentCount || 0);
461
+ // Remove spinner from history and add completion message
462
+ removeEntry('server-processing');
463
+ addEntry({
464
+ type: 'success',
465
+ content: `✓ Published ${uploadResult.componentCount} component${uploadResult.componentCount !== 1 ? 's' : ''} to Oaysus`,
466
+ color: 'green'
467
+ });
468
+ setScreen('success');
469
+ }
470
+ catch (err) {
471
+ if (isCancelled)
472
+ return;
473
+ if (err instanceof UploadError) {
474
+ setError(`Upload failed: ${err.message}`);
475
+ }
476
+ else {
477
+ setError(err.message || 'Unknown error occurred');
478
+ }
479
+ setScreen('error');
480
+ }
481
+ };
482
+ runUploadFlow();
483
+ return () => {
484
+ isCancelled = true;
485
+ };
486
+ }, [projectPath]);
487
+ // Don't render until data is loaded to prevent double rendering
488
+ if (!isLoaded) {
489
+ return null;
490
+ }
491
+ // Unified rendering - works the same in both standalone and interactive modes
492
+ return (React.createElement(Box, { flexDirection: "column" },
493
+ React.createElement(Logo, { version: version, directory: directory, userEmail: userEmail }),
494
+ displayHistory.length > 0 && (React.createElement(Box, { flexDirection: "column", marginTop: 1 }, displayHistory.map((entry, index) => {
495
+ const uniqueKey = `history-${index}-${entry.type}-${entry.spinnerId || ''}`;
496
+ if (entry.type === 'prompt') {
497
+ return (React.createElement(Box, { key: uniqueKey },
498
+ React.createElement(Text, null, entry.content)));
499
+ }
500
+ else if (entry.type === 'response') {
501
+ return (React.createElement(Box, { key: uniqueKey },
502
+ React.createElement(Text, { dimColor: true }, "\u276F "),
503
+ React.createElement(Text, null, entry.content)));
504
+ }
505
+ else if (entry.type === 'success') {
506
+ // Split checkmark from text: "✓ Message" -> "✓ " + "Message"
507
+ const hasCheckmark = entry.content.startsWith('✓ ');
508
+ if (hasCheckmark) {
509
+ const text = entry.content.substring(2); // Remove "✓ "
510
+ return (React.createElement(Box, { key: uniqueKey },
511
+ React.createElement(Text, { color: "green" }, "\u2713 "),
512
+ React.createElement(Text, null, text)));
513
+ }
514
+ return (React.createElement(Box, { key: uniqueKey },
515
+ React.createElement(Text, { color: "green" }, entry.content)));
516
+ }
517
+ else if (entry.type === 'spinner') {
518
+ return (React.createElement(Box, { key: uniqueKey },
519
+ React.createElement(Spinner, { type: "dots", color: "cyan", message: entry.content })));
520
+ }
521
+ else if (entry.type === 'progress') {
522
+ return (React.createElement(Box, { key: uniqueKey },
523
+ React.createElement(Text, { color: "cyan" }, entry.content)));
524
+ }
525
+ else if (entry.type === 'error') {
526
+ return (React.createElement(Box, { key: uniqueKey },
527
+ React.createElement(Text, { color: "red" }, entry.content)));
528
+ }
529
+ else {
530
+ // Default info type
531
+ const textColor = entry.color === 'dim' ? undefined : entry.color;
532
+ const isDim = entry.color === 'dim';
533
+ const needsTopMargin = entry.spinnerId === 'command-separator';
534
+ return (React.createElement(Box, { key: uniqueKey, marginTop: needsTopMargin ? 1 : 0 },
535
+ React.createElement(Text, { color: textColor, dimColor: isDim }, entry.content)));
536
+ }
537
+ }))),
538
+ !isStandalone && (React.createElement(Box, { flexDirection: "column" },
539
+ React.createElement(Text, { dimColor: true }, '─'.repeat(process.stdout.columns || 80)),
540
+ React.createElement(Box, null,
541
+ React.createElement(Text, { dimColor: true }, "\u276F "),
542
+ React.createElement(Text, { dimColor: true }, "/push")),
543
+ React.createElement(Text, { dimColor: true }, '─'.repeat(process.stdout.columns || 80)))),
544
+ React.createElement(Box, { flexDirection: "column", marginTop: 1, paddingX: 2 }, screen === 'error' && (React.createElement(ErrorMessage, { message: "Upload failed", details: [error], suggestion: "Check your internet connection and try again. If the error persists, contact support." })))));
545
+ }
546
+ //# sourceMappingURL=PushScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PushScreen.js","sourceRoot":"","sources":["../../src/screens/PushScreen.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { HistoryEntry } from '../components/App.js';
3
+ interface ValidateScreenProps {
4
+ projectPath?: string;
5
+ dryRun?: boolean;
6
+ onExit?: () => void;
7
+ sessionHistory?: HistoryEntry[];
8
+ addToHistory?: (entry: HistoryEntry | HistoryEntry[]) => void;
9
+ }
10
+ export declare const ValidateScreen: React.FC<ValidateScreenProps>;
11
+ export default ValidateScreen;
12
+ //# sourceMappingURL=ValidateScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidateScreen.d.ts","sourceRoot":"","sources":["../../src/screens/ValidateScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAYnD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AASpD,UAAU,mBAAmB;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;IAChC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,EAAE,KAAK,IAAI,CAAC;CAC/D;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA+QxD,CAAC;AAEF,eAAe,cAAc,CAAC"}