flowershow 0.2.4 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -5,7 +5,7 @@ A CLI tool for publishing Markdown files and folders directly to FlowerShow with
5
5
  ## Installation
6
6
 
7
7
  ```bash
8
- npm install -g flowershow
8
+ npm install -g flowershow@latest
9
9
  ```
10
10
 
11
11
  Then use the `flowershow` command anywhere:
@@ -31,8 +31,6 @@ This will:
31
31
  2. Open your browser to authorize the CLI
32
32
  3. Store your authentication token locally
33
33
 
34
- See [Authentication Documentation](docs/authentication.md) for details.
35
-
36
34
  ### 2. Publish Your Content
37
35
 
38
36
  ```bash
@@ -43,6 +41,16 @@ flowershow publish ./my-notes
43
41
  flowershow publish ./my-note.md
44
42
  ```
45
43
 
44
+ ### 3. Sync after changes
45
+
46
+ ```bash
47
+ # Sync a folder site
48
+ flowershow sync ./my-notes
49
+
50
+ # Sync a single file site
51
+ flowershow sync ./my-note.md
52
+ ```
53
+
46
54
  ## Commands
47
55
 
48
56
  ### Authentication
@@ -82,7 +90,7 @@ Publish files or folders to FlowerShow.
82
90
  **Options:**
83
91
 
84
92
  - `--overwrite` - Overwrite existing site if it already exists
85
- - `--name <siteName>` - Custom name for the site (defaults to file/folder name)
93
+ - `--name <siteName>` - Custom name for the site (defaults to file/folder name). Note: If you use it, you need to pass it also to the `sync` command later on, so that Flowershow knows content of which site you're trying to sync.
86
94
 
87
95
  **Examples:**
88
96
 
@@ -108,8 +116,8 @@ flowershow publish ./my-notes --name my-custom-site --overwrite
108
116
 
109
117
  **What happens:**
110
118
 
111
- 1. Files are discovered and filtered (ignores `.git`, `node_modules`, etc.)
112
- 2. Project name is derived from the first file/folder name
119
+ 1. Files are discovered and filtered (ignores `.git`, `node_modules`, etc.; also supports `.gitignore` and will ignore paths listed there)
120
+ 2. Project name is derived from the first file name or the folder name
113
121
  3. Site is created via the FlowerShow API
114
122
  4. Presigned URLs are obtained for secure file uploads
115
123
  5. Files are uploaded directly to Cloudflare R2 storage
@@ -118,22 +126,71 @@ flowershow publish ./my-notes --name my-custom-site --overwrite
118
126
 
119
127
  **Single file behavior:**
120
128
 
121
- - Filename becomes the project name
122
- - File is saved as `README.md` (or `README.mdx`)
123
- - Accessible at `/@{username}/{filename}`
129
+ - Filename becomes the project name (e.g. `flowershow publish about.md` will create a site named `about`)
130
+ - File is saved as `README.md` (or `README.mdx` depending on the original file extension)
131
+ - Site accessible at `/@{username}/{filename}` (e.g. `/@johndoe/about`)
124
132
 
125
133
  **Multiple files behavior:**
126
134
 
127
- - First filename becomes the project name
135
+ - First filename becomes the project name (e.g. `flowershow publish about.md team.md abc.md` will create a site named `about`)
128
136
  - First file is saved as `README.md` (or `README.mdx`)
129
137
  - Subsequent files keep their original names
130
- - Accessible at `/@{username}/{first-filename}`
138
+ - Site accessible at `/@{username}/{first-filename}` (e.g. `/@johndoe/about`)
131
139
 
132
140
  **Folder behavior:**
133
141
 
134
- - Folder name becomes the project name
142
+ - Folder name becomes the project name (e.g. `flowershow publish my-digital-garden/blog` will create a site named `blog`)
135
143
  - All files maintain their relative paths
136
- - Accessible at `/@{username}/{foldername}`
144
+ - Site accessible at `/@{username}/{foldername}` (e.g. `/@johndoe/blog`)
145
+
146
+ #### `flowershow sync <path> [options]`
147
+
148
+ Sync changes to an existing published site. Only uploads new or modified files, and deletes files that no longer exist locally.
149
+
150
+ **Options:**
151
+
152
+ - `--name <siteName>` - Specify site name if different from folder name
153
+ - `--dry-run` - Show what would be synced without making changes
154
+ - `--verbose` - Show detailed list of all files in each category
155
+
156
+ **Examples:**
157
+
158
+ ```bash
159
+ # Sync changes to a folder
160
+ flowershow sync ./my-notes
161
+
162
+ # Preview changes without syncing
163
+ flowershow sync ./my-notes --dry-run
164
+
165
+ # Show detailed file lists including unchanged files
166
+ flowershow sync ./my-notes --verbose
167
+
168
+ # Sync to a specific site name
169
+ flowershow sync ./my-notes --name my-custom-site
170
+
171
+ # Combine options
172
+ flowershow sync ./my-notes --dry-run --verbose
173
+ ```
174
+
175
+ **What happens:**
176
+
177
+ 1. Files are discovered and SHA hashes calculated
178
+ 2. File list is sent to the API for comparison
179
+ 3. API compares with existing files and determines:
180
+ - New files (not in database)
181
+ - Modified files (different SHA hash)
182
+ - Deleted files (in database but not in request)
183
+ - Unchanged files (same SHA hash)
184
+ 4. Sync summary is displayed
185
+ 5. Only new/modified files are uploaded
186
+ 6. Deleted files are removed by the API
187
+ 7. CLI waits for markdown files to be processed
188
+ 8. Site URL is displayed
189
+
190
+ **When to use sync vs publish:**
191
+
192
+ - **Use `publish`** for initial site creation or complete site replacement
193
+ - **Use `sync`** for updates to existing sites
137
194
 
138
195
  ### Site Management
139
196
 
@@ -166,7 +223,7 @@ The CLI automatically ignores common non-content files and directories:
166
223
  - `.env*`, `*.log`
167
224
  - `.next/`, `.vercel/`, `.turbo/`
168
225
 
169
- If `.gitignore` file is present in the published folder, it will also ignore files matched by it.
226
+ If `.gitignore` file is present in the published folder, the Flowershow CLI will also ignore files matched by it.
170
227
 
171
228
  ## Site URLs
172
229
 
@@ -200,6 +257,15 @@ A site with that name already exists. You can:
200
257
  - Delete it first: `flowershow delete <name>`
201
258
  - Rename your file/folder
202
259
  - Use `flowershow list` to see all existing sites
260
+ - **Or use `flowershow sync`** to update an existing site incrementally
261
+
262
+ ### "Site not found" (when using sync)
263
+
264
+ The sync command requires the site to already exist. If you get this error:
265
+
266
+ - Use `flowershow publish` to create the site first
267
+ - Check the site name with `flowershow list`
268
+ - Specify the correct site name with `--name`
203
269
 
204
270
  ### Files still processing after timeout
205
271
 
@@ -207,7 +273,7 @@ The site is live, but some pages may not be ready yet. The Cloudflare worker pro
207
273
 
208
274
  ## Architecture
209
275
 
210
- All CLI commands communicate with the FlowerShow API:
276
+ All CLI commands communicate with the Flowershow API:
211
277
 
212
278
  - **Authentication**: OAuth device flow endpoints
213
279
  - **Site Management**: Create, list, and delete sites
@@ -219,7 +285,7 @@ All CLI commands communicate with the FlowerShow API:
219
285
  - **Token Storage**: Authentication tokens are stored in `~/.flowershow/token.json`
220
286
  - **Token Format**: CLI tokens use the `fs_cli_` prefix
221
287
  - **Token Expiration**: Tokens do not expire by default
222
- - **Token Revocation**: Revoke tokens from the FlowerShow dashboard or via `flowershow auth logout`
288
+ - **Token Revocation**: Revoke tokens from the [Flowershow dashboard](https://cloud.flowershow.app/tokens) or via `flowershow auth logout`
223
289
  - **Secure Uploads**: Files are uploaded using time-limited presigned URLs
224
290
  - **No Credentials**: CLI never stores database or storage credentials
225
291
 
@@ -251,7 +317,8 @@ APP_URL="http://my.localhost:3000"
251
317
 
252
318
  ```bash
253
319
  pnpm dev auth login
254
- pnpm dev publish ...
320
+ pnpm dev publish ./my-notes
321
+ pnpm dev sync ./my-notes
255
322
  ```
256
323
 
257
324
  You can also build the project, link it globally and use it as you normally would the npm-installed version:
package/dist/cli.js CHANGED
@@ -2,6 +2,7 @@
2
2
  import { Command } from "commander";
3
3
  import chalk from "chalk";
4
4
  import { publishCommand } from "./lib/commands/publish.js";
5
+ import { syncCommand } from "./lib/commands/sync.js";
5
6
  import { listCommand } from "./lib/commands/list.js";
6
7
  import { deleteCommand } from "./lib/commands/delete.js";
7
8
  import { authLoginCommand } from "./lib/commands/auth-login.js";
@@ -49,6 +50,16 @@ program
49
50
  const paths = [path, ...morePaths];
50
51
  await publishCommand(paths, options.overwrite || false, options.name);
51
52
  });
53
+ program
54
+ .command("sync <path>")
55
+ .description("Sync changes to an existing published site")
56
+ .option("--name <siteName>", "Specify site name if different from folder name")
57
+ .option("--dry-run", "Show what would be synced without making changes")
58
+ .option("--verbose", "Show detailed list of all files in each category")
59
+ .action(async (path, options) => {
60
+ console.log(chalk.bold("\nšŸ’ FlowerShow CLI - Sync\n"));
61
+ await syncCommand(path, options);
62
+ });
52
63
  program
53
64
  .command("list")
54
65
  .description("List all published sites")
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":"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"}
@@ -33,10 +33,19 @@ interface UploadUrl {
33
33
  path: string;
34
34
  uploadUrl: string;
35
35
  blobId: string;
36
+ contentType: string;
36
37
  }
37
- interface GetUploadUrlsResponse {
38
+ interface SyncFilesResponse {
38
39
  uploadUrls: UploadUrl[];
40
+ deleted: string[];
41
+ unchanged: string[];
42
+ summary: {
43
+ toUpload: number;
44
+ toDelete: number;
45
+ unchanged: number;
46
+ };
39
47
  expiresIn: number;
48
+ dryRun?: boolean;
40
49
  }
41
50
  interface BlobStatus {
42
51
  path: string;
@@ -60,9 +69,8 @@ export declare function getSites(): Promise<GetSitesResponse>;
60
69
  export declare function getSiteById(siteId: string): Promise<GetSiteResponse>;
61
70
  export declare function getSiteByName(siteName: string): Promise<GetSiteResponse | null>;
62
71
  export declare function deleteSite(siteId: string): Promise<DeleteSiteResponse>;
63
- export declare function getUploadUrls(siteId: string, files: FileMetadata[]): Promise<GetUploadUrlsResponse>;
72
+ export declare function syncFiles(siteId: string, files: FileMetadata[], dryRun?: boolean): Promise<SyncFilesResponse>;
64
73
  export declare function uploadToR2(uploadUrl: string, content: Buffer, contentType: string): Promise<boolean>;
65
74
  export declare function getSiteStatus(siteId: string): Promise<SiteStatusResponse>;
66
- export declare function hasValidAuth(): boolean;
67
75
  export {};
68
76
  //# sourceMappingURL=api-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../lib/api-client.ts"],"names":[],"mappings":"AAGA,UAAU,IAAI;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED,UAAU,kBAAkB;IAC1B,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,UAAU,kBAAkB;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,qBAAqB;IAC7B,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAQD,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,QAAQ,CAAC,CAanB;AAQD,wBAAsB,UAAU,CAC9B,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,OAAe,GACzB,OAAO,CAAC,kBAAkB,CAAC,CAiB7B;AAMD,wBAAsB,QAAQ,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAW1D;AAOD,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAW1E;AAOD,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAejC;AAOD,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAa5E;AAQD,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,YAAY,EAAE,GACpB,OAAO,CAAC,qBAAqB,CAAC,CAiBhC;AASD,wBAAsB,UAAU,CAC9B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC,CAclB;AAOD,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAW/E;AAMD,wBAAgB,YAAY,IAAI,OAAO,CAEtC"}
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../lib/api-client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { getAuthHeaders, isAuthenticated } from "./auth.js";
1
+ import { getAuthHeaders } from "./auth.js";
2
2
  import { API_URL } from "./const.js";
3
3
  export async function apiRequest(endpoint, options = {}) {
4
4
  const authHeaders = getAuthHeaders();
@@ -21,7 +21,7 @@ export async function createSite(projectName, overwrite = false) {
21
21
  body: JSON.stringify({ projectName, overwrite }),
22
22
  });
23
23
  if (!response.ok) {
24
- const error = await response.json().catch(() => ({}));
24
+ const error = (await response.json().catch(() => ({})));
25
25
  throw new Error(error.message || `Failed to create site: ${response.statusText}`);
26
26
  }
27
27
  return (await response.json());
@@ -29,7 +29,7 @@ export async function createSite(projectName, overwrite = false) {
29
29
  export async function getSites() {
30
30
  const response = await apiRequest("/api/cli/site/get-all");
31
31
  if (!response.ok) {
32
- const error = await response.json().catch(() => ({}));
32
+ const error = (await response.json().catch(() => ({})));
33
33
  throw new Error(error.message || `Failed to fetch sites: ${response.statusText}`);
34
34
  }
35
35
  return (await response.json());
@@ -37,7 +37,7 @@ export async function getSites() {
37
37
  export async function getSiteById(siteId) {
38
38
  const response = await apiRequest(`/api/cli/site/${siteId}`);
39
39
  if (!response.ok) {
40
- const error = await response.json().catch(() => ({}));
40
+ const error = (await response.json().catch(() => ({})));
41
41
  throw new Error(error.message || `Failed to fetch site: ${response.statusText}`);
42
42
  }
43
43
  return (await response.json());
@@ -48,7 +48,7 @@ export async function getSiteByName(siteName) {
48
48
  if (response.status === 404) {
49
49
  return null;
50
50
  }
51
- const error = await response.json().catch(() => ({}));
51
+ const error = (await response.json().catch(() => ({})));
52
52
  throw new Error(error.message || `Failed to fetch site: ${response.statusText}`);
53
53
  }
54
54
  return (await response.json());
@@ -58,13 +58,14 @@ export async function deleteSite(siteId) {
58
58
  method: "DELETE",
59
59
  });
60
60
  if (!response.ok) {
61
- const error = await response.json().catch(() => ({}));
61
+ const error = (await response.json().catch(() => ({})));
62
62
  throw new Error(error.message || `Failed to delete site: ${response.statusText}`);
63
63
  }
64
64
  return (await response.json());
65
65
  }
66
- export async function getUploadUrls(siteId, files) {
67
- const response = await apiRequest(`/api/cli/site/${siteId}/upload-urls`, {
66
+ export async function syncFiles(siteId, files, dryRun = false) {
67
+ const url = `/api/cli/site/${siteId}/sync${dryRun ? '?dryRun=true' : ''}`;
68
+ const response = await apiRequest(url, {
68
69
  method: "POST",
69
70
  headers: {
70
71
  "Content-Type": "application/json",
@@ -72,8 +73,8 @@ export async function getUploadUrls(siteId, files) {
72
73
  body: JSON.stringify({ files }),
73
74
  });
74
75
  if (!response.ok) {
75
- const error = await response.json().catch(() => ({}));
76
- throw new Error(error.message || `Failed to get upload URLs: ${response.statusText}`);
76
+ const error = (await response.json().catch(() => ({})));
77
+ throw new Error(error.message || `Failed to sync files: ${response.statusText}`);
77
78
  }
78
79
  return (await response.json());
79
80
  }
@@ -93,12 +94,9 @@ export async function uploadToR2(uploadUrl, content, contentType) {
93
94
  export async function getSiteStatus(siteId) {
94
95
  const response = await apiRequest(`/api/cli/site/${siteId}/status`);
95
96
  if (!response.ok) {
96
- const error = await response.json().catch(() => ({}));
97
+ const error = (await response.json().catch(() => ({})));
97
98
  throw new Error(error.message || `Failed to get site status: ${response.statusText}`);
98
99
  }
99
100
  return (await response.json());
100
101
  }
101
- export function hasValidAuth() {
102
- return isAuthenticated();
103
- }
104
102
  //# sourceMappingURL=api-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../lib/api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../lib/api-client.ts"],"names":[],"mappings":"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"}
@@ -11,11 +11,9 @@ interface UserInfo {
11
11
  export declare function saveToken(token: string, username: string): void;
12
12
  export declare function getToken(): TokenData | null;
13
13
  export declare function removeToken(): Promise<void>;
14
- export declare function isAuthenticated(): boolean;
15
14
  export declare function getAuthHeaders(): Record<string, string> | null;
16
15
  export declare function pollForToken(apiUrl: string, deviceCode: string, interval: number, expiresIn: number): Promise<string>;
17
- export declare function requireAuth(): void;
18
- export declare function getAuthenticatedUser(): Promise<UserInfo>;
19
- export declare function getUserInfo(apiUrl: string, token: string): Promise<UserInfo>;
16
+ export declare function requireAuth(): Promise<UserInfo>;
17
+ export declare function getUserInfo(token: string): Promise<UserInfo>;
20
18
  export {};
21
19
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../lib/auth.ts"],"names":[],"mappings":"AASA,UAAU,SAAS;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,QAAQ;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAaD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAY/D;AAMD,wBAAgB,QAAQ,IAAI,SAAS,GAAG,IAAI,CAY3C;AAKD,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAYjD;AAMD,wBAAgB,eAAe,IAAI,OAAO,CAGzC;AAMD,wBAAgB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAU9D;AAUD,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CA8DjB;AAKD,wBAAgB,WAAW,IAAI,IAAI,CAQlC;AAKD,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,QAAQ,CAAC,CAQ9D;AAQD,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,QAAQ,CAAC,CAYnB"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../lib/auth.ts"],"names":[],"mappings":"AASA,UAAU,SAAS;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,QAAQ;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAaD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAY/D;AAMD,wBAAgB,QAAQ,IAAI,SAAS,GAAG,IAAI,CAY3C;AAKD,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAYjD;AAMD,wBAAgB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAU9D;AAUD,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CA8DjB;AAMD,wBAAsB,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC,CAcrD;AAOD,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAYlE"}
package/dist/lib/auth.js CHANGED
@@ -42,10 +42,6 @@ export async function removeToken() {
42
42
  }
43
43
  }
44
44
  }
45
- export function isAuthenticated() {
46
- const tokenData = getToken();
47
- return tokenData !== null && !!tokenData.token;
48
- }
49
45
  export function getAuthHeaders() {
50
46
  const tokenData = getToken();
51
47
  if (!tokenData || !tokenData.token) {
@@ -101,23 +97,22 @@ export async function pollForToken(apiUrl, deviceCode, interval, expiresIn) {
101
97
  }
102
98
  throw new Error("Authorization timed out. Please try again.");
103
99
  }
104
- export function requireAuth() {
105
- if (!isAuthenticated()) {
100
+ export async function requireAuth() {
101
+ try {
102
+ const tokenData = getToken();
103
+ if (!tokenData) {
104
+ throw new Error("Not authenticated");
105
+ }
106
+ return await getUserInfo(tokenData.token);
107
+ }
108
+ catch (error) {
106
109
  displayError("You must be authenticated to use this command.\n" +
107
110
  "Run `flowershow auth login` to authenticate.");
108
- process.exit(1);
109
- }
110
- }
111
- export async function getAuthenticatedUser() {
112
- const tokenData = getToken();
113
- if (!tokenData) {
114
- throw new Error("Not authenticated");
111
+ process.exit(0);
115
112
  }
116
- const userInfo = await getUserInfo(API_URL, tokenData.token);
117
- return userInfo;
118
113
  }
119
- export async function getUserInfo(apiUrl, token) {
120
- const response = await fetch(`${apiUrl}/api/cli/user`, {
114
+ export async function getUserInfo(token) {
115
+ const response = await fetch(`${API_URL}/api/cli/user`, {
121
116
  headers: {
122
117
  Authorization: `Bearer ${token}`,
123
118
  },
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../lib/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../lib/auth.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth-login.d.ts","sourceRoot":"","sources":["../../../lib/commands/auth-login.ts"],"names":[],"mappings":"AAkBA,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAiGtD"}
1
+ {"version":3,"file":"auth-login.d.ts","sourceRoot":"","sources":["../../../lib/commands/auth-login.ts"],"names":[],"mappings":"AAkBA,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CA6FtD"}
@@ -30,11 +30,10 @@ export async function authLoginCommand() {
30
30
  console.log(chalk.gray(`This code expires in ${Math.floor(expires_in / 60)} minutes\n`));
31
31
  spinner.start("Waiting for authorization...");
32
32
  const accessToken = await pollForToken(API_URL, device_code, interval, expires_in);
33
- spinner.text = "Fetching user information...";
34
- const userInfo = await getUserInfo(API_URL, accessToken);
35
- saveToken(accessToken, userInfo.username || userInfo.email || "user");
33
+ const user = await getUserInfo(accessToken);
34
+ saveToken(accessToken, user.username || user.email || "user");
36
35
  spinner.succeed("Successfully authenticated!");
37
- console.log(chalk.gray(`Logged in as: ${chalk.cyan(userInfo.username || userInfo.email || "user")}`));
36
+ console.log(chalk.gray(`Logged in as: ${chalk.cyan(user.username || user.email || "user")}`));
38
37
  console.log(chalk.gray("\nYou can now use the CLI to publish your sites.\n"));
39
38
  }
40
39
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"auth-login.js","sourceRoot":"","sources":["../../../lib/commands/auth-login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-login.js","sourceRoot":"","sources":["../../../lib/commands/auth-login.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth-status.d.ts","sourceRoot":"","sources":["../../../lib/commands/auth-status.ts"],"names":[],"mappings":"AASA,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAuCvD"}
1
+ {"version":3,"file":"auth-status.d.ts","sourceRoot":"","sources":["../../../lib/commands/auth-status.ts"],"names":[],"mappings":"AAQA,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAuCvD"}
@@ -2,7 +2,6 @@ import chalk from "chalk";
2
2
  import ora from "ora";
3
3
  import { getToken, getUserInfo } from "../auth.js";
4
4
  import { displayError } from "../utils.js";
5
- import { API_URL } from "../const.js";
6
5
  export async function authStatusCommand() {
7
6
  try {
8
7
  const tokenData = getToken();
@@ -13,7 +12,7 @@ export async function authStatusCommand() {
13
12
  }
14
13
  const spinner = ora("Checking authentication status...").start();
15
14
  try {
16
- const userInfo = await getUserInfo(API_URL, tokenData.token);
15
+ const userInfo = await getUserInfo(tokenData.token);
17
16
  spinner.succeed("Authenticated");
18
17
  console.log(chalk.gray(`Logged in as: ${chalk.cyan(userInfo.username || userInfo.email || "user")}`));
19
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth-status.js","sourceRoot":"","sources":["../../../lib/commands/auth-status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAKtC,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,QAAQ,EAAE,CAAC;QAE7B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,CAAC,mCAAmC,CAAC,CAAC,KAAK,EAAE,CAAC;QAEjE,IAAI,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YAE7D,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACjC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,iBAAiB,KAAK,CAAC,IAAI,CACzB,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,IAAI,MAAM,CAC9C,EAAE,CACJ,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAChE,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,2BAA2B,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"auth-status.js","sourceRoot":"","sources":["../../../lib/commands/auth-status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAK3C,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,QAAQ,EAAE,CAAC;QAE7B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,CAAC,mCAAmC,CAAC,CAAC,KAAK,EAAE,CAAC;QAEjE,IAAI,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAEpD,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACjC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,iBAAiB,KAAK,CAAC,IAAI,CACzB,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,IAAI,MAAM,CAC9C,EAAE,CACJ,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAChE,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,2BAA2B,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../lib/commands/delete.ts"],"names":[],"mappings":"AAqCA,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmFtE"}
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../lib/commands/delete.ts"],"names":[],"mappings":"AAUA,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+EtE"}
@@ -1,34 +1,17 @@
1
1
  import chalk from "chalk";
2
2
  import ora from "ora";
3
3
  import { confirm } from "@inquirer/prompts";
4
- import { isAuthenticated, getUserInfo, getToken } from "../auth.js";
4
+ import { requireAuth } from "../auth.js";
5
5
  import { getSites, deleteSite } from "../api-client.js";
6
6
  import { displayError, getSiteUrl, getDashboardUrl } from "../utils.js";
7
- import { API_URL } from "../const.js";
8
- function requireAuth() {
9
- if (!isAuthenticated()) {
10
- displayError("You must be authenticated to use this command.\n" +
11
- "Run `flowershow auth login` to authenticate.");
12
- process.exit(1);
13
- }
14
- }
15
- async function getAuthenticatedUser() {
16
- const tokenData = getToken();
17
- if (!tokenData) {
18
- throw new Error("Not authenticated");
19
- }
20
- const userInfo = await getUserInfo(API_URL, tokenData.token);
21
- return userInfo;
22
- }
23
7
  export async function deleteCommand(projectName) {
24
8
  try {
25
9
  if (!projectName) {
26
10
  displayError("Project name is required.\nUsage: flowershow delete <project-name>");
27
11
  process.exit(1);
28
12
  }
29
- requireAuth();
13
+ const user = await requireAuth();
30
14
  const spinner = ora(`Looking for site '${projectName}'...`).start();
31
- const user = await getAuthenticatedUser();
32
15
  const sitesData = await getSites();
33
16
  const sites = sitesData.sites || [];
34
17
  const siteToDelete = sites.find((s) => s.projectName === projectName);
@@ -1 +1 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../lib/commands/delete.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../lib/commands/delete.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../lib/commands/list.ts"],"names":[],"mappings":"AAUA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAiDjD"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../lib/commands/list.ts"],"names":[],"mappings":"AAUA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA6CjD"}
@@ -1,14 +1,13 @@
1
1
  import chalk from "chalk";
2
2
  import ora from "ora";
3
- import { getAuthenticatedUser, requireAuth } from "../auth.js";
3
+ import { requireAuth } from "../auth.js";
4
4
  import { getSites } from "../api-client.js";
5
5
  import { displayError, formatDate, getSiteUrl } from "../utils.js";
6
6
  import { API_URL } from "../const.js";
7
7
  export async function listCommand() {
8
8
  try {
9
- requireAuth();
9
+ const user = await requireAuth();
10
10
  const spinner = ora("Fetching sites...").start();
11
- const user = await getAuthenticatedUser();
12
11
  const sitesData = await getSites();
13
12
  const sites = sitesData.sites || [];
14
13
  spinner.stop();
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../lib/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAKtC,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,IAAI,CAAC;QAEH,WAAW,EAAE,CAAC;QAEd,MAAM,OAAO,GAAG,GAAG,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE,CAAC;QAGjD,MAAM,IAAI,GAAG,MAAM,oBAAoB,EAAE,CAAC;QAG1C,MAAM,SAAS,GAAG,MAAM,QAAQ,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;QAEpC,OAAO,CAAC,IAAI,EAAE,CAAC;QAEf,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,MAAM,aAAa,CAAC,CAAC,CAAC;QAE9D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,UAAU,CACpB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,IAAI,MAAM,CACtC,CAAC;YACF,MAAM,YAAY,GAAG,GAAG,OAAO,SAAS,IAAI,CAAC,EAAE,WAAW,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,gBAAgB,UAAU,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAC/D,CACF,CAAC;YACF,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,2BAA2B,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../lib/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAKtC,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,WAAW,EAAE,CAAC;QAEjC,MAAM,OAAO,GAAG,GAAG,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE,CAAC;QAGjD,MAAM,SAAS,GAAG,MAAM,QAAQ,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;QAEpC,OAAO,CAAC,IAAI,EAAE,CAAC;QAEf,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,MAAM,aAAa,CAAC,CAAC,CAAC;QAE9D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,UAAU,CACpB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,IAAI,MAAM,CACtC,CAAC;YACF,MAAM,YAAY,GAAG,GAAG,OAAO,SAAS,IAAI,CAAC,EAAE,WAAW,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,gBAAgB,UAAU,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAC/D,CACF,CAAC;YACF,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,2BAA2B,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../../lib/commands/publish.ts"],"names":[],"mappings":"AA4FA,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,EAC7B,SAAS,GAAE,OAAe,EAC1B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CA6Jf"}
1
+ {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../../lib/commands/publish.ts"],"names":[],"mappings":"AAiEA,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,EAC7B,SAAS,GAAE,OAAe,EAC1B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAgKf"}
@@ -3,11 +3,10 @@ import { resolve } from "path";
3
3
  import chalk from "chalk";
4
4
  import ora from "ora";
5
5
  import cliProgress from "cli-progress";
6
- import { isAuthenticated, getUserInfo, getToken } from "../auth.js";
7
- import { createSite, getUploadUrls, uploadToR2, getSiteByName, } from "../api-client.js";
6
+ import { createSite, syncFiles, uploadToR2, getSiteByName, } from "../api-client.js";
8
7
  import { discoverFiles, getProjectName, validateFiles } from "../files.js";
9
8
  import { displayPublishSuccess, displayError, displayWarning, waitForSync, } from "../utils.js";
10
- import { API_URL } from "../const.js";
9
+ import { requireAuth } from "../auth.js";
11
10
  function getContentType(extension) {
12
11
  const contentTypes = {
13
12
  md: "text/markdown",
@@ -36,27 +35,10 @@ function getContentType(extension) {
36
35
  };
37
36
  return contentTypes[extension] || "application/octet-stream";
38
37
  }
39
- function requireAuth() {
40
- if (!isAuthenticated()) {
41
- displayError("You must be authenticated to use this command.\n" +
42
- "Run `flowershow auth login` to authenticate.");
43
- process.exit(1);
44
- }
45
- }
46
- async function getAuthenticatedUser() {
47
- const tokenData = getToken();
48
- if (!tokenData) {
49
- throw new Error("Not authenticated");
50
- }
51
- const userInfo = await getUserInfo(API_URL, tokenData.token);
52
- return userInfo;
53
- }
54
38
  export async function publishCommand(inputPaths, overwrite = false, siteName) {
55
39
  try {
56
- requireAuth();
57
40
  const spinner = ora();
58
- spinner.start("Authenticating...");
59
- const user = await getAuthenticatedUser();
41
+ const user = await requireAuth();
60
42
  spinner.succeed(`Publishing as: ${user.username || user.email}`);
61
43
  spinner.start("Discovering files...");
62
44
  const paths = Array.isArray(inputPaths) ? inputPaths : [inputPaths];
@@ -75,7 +57,7 @@ export async function publishCommand(inputPaths, overwrite = false, siteName) {
75
57
  spinner.succeed(`Found ${files.length} file(s) to publish.`);
76
58
  const existingSite = await getSiteByName(projectName);
77
59
  if (existingSite && !overwrite) {
78
- displayError(`A site named '${projectName}' already exists.\n` +
60
+ displayError(`A site named '${existingSite.site.projectName}' already exists.\n` +
79
61
  `Please choose a different name or delete the existing site first.\n` +
80
62
  `Use 'flowershow list' to see all sites.\n\n` +
81
63
  `šŸ’” Tip: Use the --overwrite flag to publish over an existing site.`);
@@ -93,19 +75,28 @@ export async function publishCommand(inputPaths, overwrite = false, siteName) {
93
75
  barIncompleteChar: "\u2591",
94
76
  hideCursor: true,
95
77
  }, cliProgress.Presets.shades_classic);
96
- uploadBar.start(files.length, 0);
97
78
  const fileMetadata = files.map((file) => ({
98
79
  path: file.path,
99
80
  size: file.size,
100
81
  sha: file.sha,
101
82
  }));
102
- const uploadData = await getUploadUrls(site.id, fileMetadata);
83
+ const syncPlan = await syncFiles(site.id, fileMetadata);
84
+ uploadBar.start(syncPlan.uploadUrls.length, 0);
103
85
  const uploadResults = [];
104
- for (let i = 0; i < files.length; i++) {
105
- const file = files[i];
106
- if (!file)
86
+ for (let i = 0; i < syncPlan.uploadUrls.length; i++) {
87
+ const uploadInfo = syncPlan.uploadUrls[i];
88
+ if (!uploadInfo)
107
89
  continue;
108
- const uploadInfo = uploadData.uploadUrls.find((u) => u.path === file.path);
90
+ const file = files.find((f) => f.path === uploadInfo.path);
91
+ if (!file) {
92
+ uploadResults.push({
93
+ path: uploadInfo.path,
94
+ success: false,
95
+ error: "File not found in local files",
96
+ });
97
+ uploadBar.increment();
98
+ continue;
99
+ }
109
100
  if (!uploadInfo) {
110
101
  uploadResults.push({
111
102
  path: file.path,
@@ -1 +1 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../lib/commands/publish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../lib/commands/publish.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare function syncCommand(inputPath: string, options?: {
2
+ name?: string;
3
+ dryRun?: boolean;
4
+ verbose?: boolean;
5
+ }): Promise<void>;
6
+ //# sourceMappingURL=sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../lib/commands/sync.ts"],"names":[],"mappings":"AAwGA,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IACP,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACd,GACL,OAAO,CAAC,IAAI,CAAC,CAuLf"}
@@ -0,0 +1,162 @@
1
+ import { existsSync } from "fs";
2
+ import { resolve } from "path";
3
+ import chalk from "chalk";
4
+ import ora from "ora";
5
+ import cliProgress from "cli-progress";
6
+ import { requireAuth } from "../auth.js";
7
+ import { syncFiles, uploadToR2, getSiteByName } from "../api-client.js";
8
+ import { discoverFiles, getProjectName, validateFiles } from "../files.js";
9
+ import { displayError, displayWarning, waitForSync } from "../utils.js";
10
+ function displaySyncSummary(syncPlan, projectName, verbose = false) {
11
+ console.log(chalk.bold(`\nSync Summary for '${projectName}':`));
12
+ if (syncPlan.summary.toUpload > 0) {
13
+ console.log(chalk.cyan(` šŸ“ Files to upload: ${syncPlan.summary.toUpload}`));
14
+ for (const uploadUrl of syncPlan.uploadUrls) {
15
+ console.log(chalk.cyan(` + ${uploadUrl.path}`));
16
+ }
17
+ }
18
+ if (syncPlan.summary.toDelete > 0) {
19
+ console.log(chalk.yellow(` šŸ—‘ļø Files to delete: ${syncPlan.summary.toDelete}`));
20
+ for (const deletedPath of syncPlan.deleted) {
21
+ console.log(chalk.yellow(` - ${deletedPath}`));
22
+ }
23
+ }
24
+ if (syncPlan.summary.unchanged > 0) {
25
+ if (verbose) {
26
+ console.log(chalk.green(` āœ… Files unchanged: ${syncPlan.summary.unchanged}`));
27
+ for (const unchangedPath of syncPlan.unchanged) {
28
+ console.log(chalk.gray(` • ${unchangedPath}`));
29
+ }
30
+ }
31
+ else {
32
+ console.log(chalk.green(` āœ“ Files unchanged: ${syncPlan.summary.unchanged}`));
33
+ console.log(chalk.gray(`\nNote: Use --verbose to see all unchanged files`));
34
+ }
35
+ }
36
+ }
37
+ function hasChanges(syncPlan) {
38
+ return syncPlan.summary.toUpload > 0 || syncPlan.summary.toDelete > 0;
39
+ }
40
+ function displaySyncSuccess(projectName, username, summary) {
41
+ console.log(chalk.green.bold("\nāœ… Sync complete!"));
42
+ console.log(chalk.cyan(` Site: https://my.flowershow.app/@${username}/${projectName}`));
43
+ console.log(chalk.gray(` Uploaded: ${summary.toUpload} | Deleted: ${summary.toDelete} | Unchanged: ${summary.unchanged}`));
44
+ }
45
+ export async function syncCommand(inputPath, options = {}) {
46
+ try {
47
+ const spinner = ora();
48
+ const user = await requireAuth();
49
+ spinner.succeed(`Syncing as: ${user.username || user.email}`);
50
+ spinner.start("Discovering files...");
51
+ const absolutePath = resolve(inputPath);
52
+ if (!existsSync(absolutePath)) {
53
+ displayError(`Path not found: ${inputPath}`);
54
+ process.exit(1);
55
+ }
56
+ const files = discoverFiles(absolutePath);
57
+ validateFiles(files);
58
+ const projectName = options.name || getProjectName(files);
59
+ spinner.succeed(`Found ${files.length} file(s) in ${inputPath}`);
60
+ const existingSite = await getSiteByName(projectName);
61
+ if (!existingSite) {
62
+ displayError(`Site '${projectName}' not found.\n` +
63
+ `Use 'flowershow publish' to create it first, or specify a different site name with --name.`);
64
+ process.exit(1);
65
+ }
66
+ const fileMetadata = files.map((file) => ({
67
+ path: file.path,
68
+ size: file.size,
69
+ sha: file.sha,
70
+ }));
71
+ spinner.start("Analyzing changes...");
72
+ const syncPlan = await syncFiles(existingSite.site.id, fileMetadata, options.dryRun || false);
73
+ spinner.stop();
74
+ if (!hasChanges(syncPlan)) {
75
+ console.log(chalk.green.bold("\nāœ… Already in sync!"));
76
+ console.log(chalk.gray(` All ${files.length} file(s) are up to date.`));
77
+ console.log(chalk.cyan(` Site: https://my.flowershow.app/@${user.username || user.email}/${projectName}`));
78
+ return;
79
+ }
80
+ displaySyncSummary(syncPlan, projectName, options.verbose || false);
81
+ if (options.dryRun || syncPlan.dryRun) {
82
+ console.log(chalk.yellow("\nšŸ” Dry run complete - no changes were made to your site"));
83
+ console.log(chalk.gray(" Run without --dry-run to apply these changes"));
84
+ return;
85
+ }
86
+ if (syncPlan.uploadUrls.length > 0) {
87
+ const uploadBar = new cliProgress.SingleBar({
88
+ format: "Uploading |" +
89
+ chalk.cyan("{bar}") +
90
+ "| {percentage}% | {value}/{total} files",
91
+ barCompleteChar: "\u2588",
92
+ barIncompleteChar: "\u2591",
93
+ hideCursor: true,
94
+ }, cliProgress.Presets.shades_classic);
95
+ uploadBar.start(syncPlan.uploadUrls.length, 0);
96
+ const uploadResults = [];
97
+ for (let i = 0; i < syncPlan.uploadUrls.length; i++) {
98
+ const uploadInfo = syncPlan.uploadUrls[i];
99
+ if (!uploadInfo)
100
+ continue;
101
+ const file = files.find((f) => f.path === uploadInfo.path);
102
+ if (!file) {
103
+ uploadResults.push({
104
+ path: uploadInfo.path,
105
+ success: false,
106
+ error: "File not found in local files",
107
+ });
108
+ uploadBar.increment();
109
+ continue;
110
+ }
111
+ try {
112
+ await uploadToR2(uploadInfo.uploadUrl, file.content, uploadInfo.contentType);
113
+ uploadResults.push({ path: file.path, success: true });
114
+ uploadBar.increment();
115
+ }
116
+ catch (error) {
117
+ uploadResults.push({
118
+ path: file.path,
119
+ success: false,
120
+ error: error instanceof Error ? error.message : "Unknown error",
121
+ });
122
+ uploadBar.increment();
123
+ }
124
+ }
125
+ uploadBar.stop();
126
+ const failedUploads = uploadResults.filter((r) => !r.success);
127
+ if (failedUploads.length > 0) {
128
+ console.log(chalk.yellow(`āš ļø ${failedUploads.length} file(s) failed to upload`));
129
+ for (const result of failedUploads) {
130
+ console.log(chalk.yellow(` - ${result.path}: ${result.error}`));
131
+ }
132
+ }
133
+ else {
134
+ console.log(chalk.green(`āœ“ Uploaded ${syncPlan.uploadUrls.length} file(s)`));
135
+ }
136
+ }
137
+ if (syncPlan.deleted.length > 0) {
138
+ console.log(chalk.green(`āœ“ Deleted ${syncPlan.deleted.length} file(s)`));
139
+ }
140
+ const syncResult = await waitForSync(existingSite.site.id, 30);
141
+ if (syncResult.timeout) {
142
+ displayWarning("Some files are still processing after 30 seconds.\n" +
143
+ "Your site is available but some pages may not be ready yet.\n" +
144
+ "Check back in a moment.");
145
+ }
146
+ else if (!syncResult.success && syncResult.errors) {
147
+ displayWarning("Some files had processing errors (see above).");
148
+ }
149
+ displaySyncSuccess(projectName, user.username || user.email || "user", syncPlan.summary);
150
+ }
151
+ catch (error) {
152
+ if (error instanceof Error) {
153
+ displayError(error.message);
154
+ console.error(chalk.gray(error.stack));
155
+ }
156
+ else {
157
+ displayError("An unknown error occurred");
158
+ }
159
+ process.exit(1);
160
+ }
161
+ }
162
+ //# sourceMappingURL=sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../lib/commands/sync.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flowershow",
3
- "version": "0.2.4",
3
+ "version": "0.2.5",
4
4
  "description": "CLI tool for publishing to FlowerShow",
5
5
  "type": "module",
6
6
  "main": "./dist/cli.js",
@@ -10,7 +10,8 @@
10
10
  "scripts": {
11
11
  "build": "tsc",
12
12
  "dev": "tsx cli.ts",
13
- "prepublishOnly": "pnpm run build"
13
+ "prepublishOnly": "pnpm run build",
14
+ "release": "changeset publish"
14
15
  },
15
16
  "keywords": [
16
17
  "flowershow",