@otalan/cli 1.4.1 → 1.5.1
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/CHANGELOG.md +24 -0
- package/README.md +33 -3
- package/dist/bin.js +41 -39
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `@otalan/cli` will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## 1.5.1 - 2026-05-26
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- Make `otalan publish` show compact animated progress by default, with green success and red failure states in interactive terminals.
|
|
10
|
+
- Add spacing around compact publish progress and highlight `Live` in green in interactive terminals.
|
|
11
|
+
- Keep CI-friendly static publish progress output in non-TTY environments.
|
|
12
|
+
- Move the previous detailed publish output behind `otalan publish --verbose`.
|
|
13
|
+
- Print `✅ Bundle generated` after `otalan bundle` writes the bundle output.
|
|
14
|
+
|
|
15
|
+
## 1.5.0 - 2026-05-23
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
|
|
19
|
+
- Add `otalan channels` to print the resolved organization/project context and list project release channels with their apps from `GET /v1/releases/channels`; it supports `--app-id`, and interactive runs default to `All` before optionally filtering by app.
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
- Document Expo SDK 56 as officially supported.
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
|
|
27
|
+
- Avoid Bun worker ZIP compression failures when packaging large Expo export assets.
|
|
28
|
+
|
|
5
29
|
## 1.4.1 - 2026-05-22
|
|
6
30
|
|
|
7
31
|
### Changed
|
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ Published as an npm package, but the CLI itself runs on Bun.
|
|
|
9
9
|
## Requirements
|
|
10
10
|
|
|
11
11
|
- Bun `>= 1.3.11` installed and available on your `PATH`
|
|
12
|
-
- An Otalan **OTA Publish Key
|
|
12
|
+
- An Otalan **OTA Publish Key**, generated from the Otalan Dashboard, for commands that talk to the Otalan API
|
|
13
13
|
|
|
14
14
|
Otalan key prefixes are stable API identifiers:
|
|
15
15
|
|
|
@@ -31,7 +31,7 @@ The npm package ships a Bun-based CLI entrypoint, not standalone native binaries
|
|
|
31
31
|
Officially supported app targets and versions:
|
|
32
32
|
|
|
33
33
|
- Capacitor 7 and 8 with `--target capacitor`
|
|
34
|
-
- Expo SDK 54 and
|
|
34
|
+
- Expo SDK 54, 55, and 56 with `--target expo`
|
|
35
35
|
|
|
36
36
|
Other app targets and older framework versions may work, but they are not officially supported for the moment.
|
|
37
37
|
|
|
@@ -282,6 +282,8 @@ Saves the project OTA Publish Key and API base URL locally.
|
|
|
282
282
|
|
|
283
283
|
If auth is already saved, `otalan login` shows the current API URL as the prompt default and shows the current OTA Publish Key in masked form. Press Enter to keep either value.
|
|
284
284
|
|
|
285
|
+
During interactive login, typed OTA Publish Key characters are echoed as `*` so the terminal shows input progress without exposing the key.
|
|
286
|
+
|
|
285
287
|
```bash
|
|
286
288
|
otalan login --api-key otalan_ci_xxx --api-url https://api.otalan.com
|
|
287
289
|
```
|
|
@@ -339,7 +341,7 @@ otalan bundle --target expo --platform ios
|
|
|
339
341
|
|
|
340
342
|
Current behavior:
|
|
341
343
|
|
|
342
|
-
- Official support covers Capacitor 7 and 8, and Expo SDK 54 and
|
|
344
|
+
- Official support covers Capacitor 7 and 8, and Expo SDK 54, 55, and 56
|
|
343
345
|
- Other app targets and older framework versions may work, but they are not officially supported for the moment
|
|
344
346
|
- Capacitor packages prebuilt web assets; it does not run your app build command
|
|
345
347
|
- without `--input-dir`, Capacitor checks `dist/` first and then `www/`
|
|
@@ -348,6 +350,7 @@ Current behavior:
|
|
|
348
350
|
- Expo does not require a prebuilt `dist/` or `www/` folder
|
|
349
351
|
- Expo stores the generated Otalan satellite manifest in `.otalan/bundle/manifest.json`, including `launchAsset`, `assets`, `runtimeVersion`, `bundleId`, and `expoConfig`
|
|
350
352
|
- both outputs produce a ZIP plus `manifest.json`
|
|
353
|
+
- successful bundle runs end with `✅ Bundle generated`
|
|
351
354
|
- source map files (`*.map`) are omitted from bundle ZIPs by default; the CLI prints the omitted file count when any are skipped
|
|
352
355
|
- native project/source files are rejected before bundle output is written; OTA bundles must only contain generated web/update assets
|
|
353
356
|
- when `otalan.config.json` is available, the CLI prints the linked project and app before packaging
|
|
@@ -429,6 +432,7 @@ Current behavior:
|
|
|
429
432
|
- `--rollout-percent` accepts an integer from `0` to `100`
|
|
430
433
|
- `--optional` marks the update as non-mandatory
|
|
431
434
|
- `--release-notes` attaches release notes to the published bundle
|
|
435
|
+
- default output shows compact publish progress with animated terminal status icons; `--verbose` prints the full project, release, and ingest details
|
|
432
436
|
- Expo publish forwards the full generated Otalan satellite manifest when present
|
|
433
437
|
- Expo publish sends the generated manifest with `runtimeVersion`
|
|
434
438
|
- Expo manifests include the Expo config captured from `bunx expo config --json`; avoid placing secrets in Expo config fields that are not intended to be uploaded
|
|
@@ -466,6 +470,32 @@ The ZIP is opened as a disk-backed `Bun.file` and passed directly to the returne
|
|
|
466
470
|
|
|
467
471
|
If validation fails, `otalan publish` exits non-zero and prints the ingest failure reason when the API provides one. This makes the command safe to use directly in CI/CD pipelines.
|
|
468
472
|
|
|
473
|
+
### `otalan channels`
|
|
474
|
+
|
|
475
|
+
Prints the resolved organization/project context, then lists distinct release channels for the project resolved from the configured OTA Publish Key. This command does not require `otalan init`.
|
|
476
|
+
|
|
477
|
+
```bash
|
|
478
|
+
otalan channels
|
|
479
|
+
otalan channels --app-id com.example.app
|
|
480
|
+
```
|
|
481
|
+
|
|
482
|
+
When `--app-id` is omitted in an interactive terminal, the CLI prompts for an app filter with `All` selected by default. Non-interactive runs default to `All`.
|
|
483
|
+
|
|
484
|
+
The command uses `GET /v1/releases/channels`, optionally with `?appId=...`, and prints each returned channel with the apps that use it:
|
|
485
|
+
|
|
486
|
+
```json
|
|
487
|
+
{
|
|
488
|
+
"items": [
|
|
489
|
+
{
|
|
490
|
+
"channel": "production",
|
|
491
|
+
"apps": [
|
|
492
|
+
{ "appId": "com.example.app", "name": "Example App" }
|
|
493
|
+
]
|
|
494
|
+
}
|
|
495
|
+
]
|
|
496
|
+
}
|
|
497
|
+
```
|
|
498
|
+
|
|
469
499
|
### `otalan bundles`
|
|
470
500
|
|
|
471
501
|
Lists remote bundles for the current app so you can choose a bundle for rollback or rollout operations.
|