@puffinstudio/fizzyx 0.4.2 → 0.4.4

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.
@@ -2,7 +2,7 @@
2
2
  "version": 1,
3
3
  "localDir": "/home/e/.repos/fizzyx/./public",
4
4
  "remotePrefix": "assets",
5
- "lastSyncedAt": "2026-06-18T06:16:29.930Z",
5
+ "lastSyncedAt": "2026-06-18T06:45:54.857Z",
6
6
  "files": {
7
7
  "Monkey_D._Luffy_Anime_Post_Timeskip_Infobox.webp": {
8
8
  "mtimeMs": 1781757440085.3743,
package/README.md CHANGED
@@ -15,7 +15,7 @@ Manage S3-compatible object storage (Alibaba Cloud OSS, AWS S3, MinIO, etc.).
15
15
  ### Setup
16
16
 
17
17
  ```sh
18
- # Interactive blank scaffold (prompts for keys)
18
+ # Interactive prompts for keys, stores in OS keychain
19
19
  fizzyx oss setup
20
20
 
21
21
  # With explicit config (keys are prompted separately)
@@ -29,29 +29,42 @@ fizzyx oss setup --env dev
29
29
  - `--bucket` is optional — omit if your endpoint already includes the bucket name (e.g. `https://my-bucket.oss-cn-beijing.aliyuncs.com`)
30
30
  - `--remote-prefix` is optional — omit to upload to bucket root
31
31
  - Credentials are stored in OS keychain via `Bun.secrets`, never in config files or shell history
32
+ - Without `--env`, keys are stored as `default` — all environments fall back to it
32
33
 
33
34
  ### Sync
34
35
 
35
36
  Upload local files to the remote bucket:
36
37
 
37
38
  ```sh
38
- fizzyx oss sync [--env dev] [--full] [--no-urls]
39
+ fizzyx oss sync [--env dev] [--full] [--no-urls] [--verify]
39
40
  ```
40
41
 
41
42
  - `--env`: environment name (default: `dev`)
42
43
  - `--full`: ignore cached manifest, force full re-upload
43
44
  - `--no-urls`: suppress file URL output
45
+ - `--verify`: check remote existence before skipping (re-upload if deleted remotely)
44
46
 
45
47
  Sync uses a two-stage check (mtime+size → SHA-256 hash) to skip unchanged files. The manifest is stored at `.fizzyx/oss-manifest.json` and can be committed for team sharing.
46
48
 
49
+ During sync, a live progress bar shows current file, progress, and status:
50
+
51
+ ```
52
+ ◐ dev [████░░░░░░░░░░░░] 25% ↑ filename.jpg
53
+ ```
54
+
47
55
  ### List
48
56
 
49
- List objects in the remote bucket:
57
+ List objects in the remote bucket in a tree view with file sizes:
50
58
 
51
59
  ```sh
52
60
  fizzyx oss ls [--env dev] [--prefix assets/]
53
61
  ```
54
62
 
63
+ ```
64
+ └── assets/
65
+ └── Monkey_D._Luffy_Anime_Post_Timeskip_Infobox.webp 126.2 KB
66
+ ```
67
+
55
68
  - `--prefix`: filter objects by key prefix
56
69
 
57
70
  ### Status
@@ -96,3 +109,5 @@ Credentials are resolved in this priority order:
96
109
  1. OS keychain (`Bun.secrets` — set via `fizzyx oss setup`)
97
110
  2. Environment variables: `OSS_<ENV>_ACCESS_KEY_ID` / `OSS_<ENV>_SECRET_ACCESS_KEY`
98
111
  3. `.fizzy.yaml` `access_key_id` / `secret_access_key` fields (legacy, discouraged)
112
+
113
+ Credentials stored as `default` (without `--env`) are used as a fallback for all environments when no env-specific key is found. This means you only need to run `fizzyx oss setup` once — dev, prod, and any other env will reuse the same keys.