@lionrapid/cli 0.1.2 → 0.2.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.
- package/CHANGELOG.md +52 -0
- package/README.md +4 -0
- package/package.json +3 -2
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to `@lionrapid/cli`. Format based on
|
|
4
|
+
[Keep a Changelog](https://keepachangelog.com/); this package follows semver.
|
|
5
|
+
|
|
6
|
+
## 0.1.2 — 2026-06-26
|
|
7
|
+
|
|
8
|
+
Hardening from end-to-end validation against the live backend.
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- **Retry `sync already_processing`.** The backend serializes sync jobs per
|
|
13
|
+
project and returns `404 SYNC_JOB_NOT_FOUND / already_processing` while a prior
|
|
14
|
+
sync is still running. `push`/`scan --push` now retry that case with backoff
|
|
15
|
+
instead of failing — so a CI that re-pushes no longer errors out. A normal 404
|
|
16
|
+
still fails immediately.
|
|
17
|
+
- **Guard `push --target <locale>`.** `targets/batch` silently accepts any target
|
|
18
|
+
locale, so a typo (`--target sp`, `en-US`) would create orphan draft rows. The
|
|
19
|
+
CLI now requires the target to be one of your `lionrapid.yml` `targetLocales`.
|
|
20
|
+
|
|
21
|
+
## 0.1.1 — 2026-06-25
|
|
22
|
+
|
|
23
|
+
### Fixed
|
|
24
|
+
|
|
25
|
+
- **The `lionrapid` binary did nothing when run as a command.** The entry guard
|
|
26
|
+
compared `import.meta.url` to a raw `file://${process.argv[1]}`, which never
|
|
27
|
+
matched because npm installs the bin as a symlink — so `0.1.0` exited silently
|
|
28
|
+
unless invoked as `node dist/cli.js`. Resolved with `realpathSync`.
|
|
29
|
+
**Upgrade from 0.1.0.**
|
|
30
|
+
|
|
31
|
+
## 0.1.0 — 2026-06-25
|
|
32
|
+
|
|
33
|
+
Initial public release — the non-web integration wedge (mobile, backend,
|
|
34
|
+
static sites, CI).
|
|
35
|
+
|
|
36
|
+
### Added
|
|
37
|
+
|
|
38
|
+
- Commands: `init`, `push` (`--target`, `--dry-run`), `pull` (`--types`,
|
|
39
|
+
`--dry-run`), `validate` (`--ci`), `types generate|check` (`--server`),
|
|
40
|
+
`scan` (`--json`, `--push`), `snapshot`, `doctor`.
|
|
41
|
+
- Format adapters: JSON, YAML, PO (plurals + `msgctxt`), Flutter `.arb`, iOS
|
|
42
|
+
`.strings` + `.xcstrings`, Android `strings.xml`, XLIFF (1.2/2.0).
|
|
43
|
+
- Resilience + automation: retries/backoff with `429`/`Retry-After`
|
|
44
|
+
(`LIONRAPID_RETRIES`), a `--json` envelope contract on every command, a stable
|
|
45
|
+
exit-code taxonomy, concurrent `pull` (`LIONRAPID_CONCURRENCY`), multi-namespace
|
|
46
|
+
mapping, and offline-resilience `snapshot` bundles.
|
|
47
|
+
- Typed `lionrapid.yml` config; API key from `LIONRAPID_API_KEY` or
|
|
48
|
+
`~/.lionrapid/credentials` (never committed). Reuses `@lionrapid/core` for
|
|
49
|
+
content-hash `auto_key` parity with the web stack.
|
|
50
|
+
|
|
51
|
+
> ⚠️ **Known issue:** the `lionrapid` binary is a no-op when installed via npm
|
|
52
|
+
> (see 0.1.1). Use **0.1.1 or later**.
|
package/README.md
CHANGED
|
@@ -10,6 +10,10 @@ surfaces (WordPress, edge proxy, JS snippet, React SDK) can't — mobile apps,
|
|
|
10
10
|
backend services, static-site generators, and CI/CD — by speaking the existing
|
|
11
11
|
`/api/integrations/*` REST surface instead of the DOM.
|
|
12
12
|
|
|
13
|
+
**New here?** Start with the
|
|
14
|
+
[Getting Started guide](../../docs/cli-getting-started.md) (install → init → push
|
|
15
|
+
→ translate → pull), then use this README as the reference.
|
|
16
|
+
|
|
13
17
|
## Status
|
|
14
18
|
|
|
15
19
|
Phase 1 (file-sync dev-loop) is implemented. Command surface:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lionrapid/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "LionRapid CLI — sync translation files (iOS, Android, Flutter, JSON, YAML, PO) with the LionRapid backend",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -41,7 +41,8 @@
|
|
|
41
41
|
},
|
|
42
42
|
"files": [
|
|
43
43
|
"dist",
|
|
44
|
-
"README.md"
|
|
44
|
+
"README.md",
|
|
45
|
+
"CHANGELOG.md"
|
|
45
46
|
],
|
|
46
47
|
"engines": {
|
|
47
48
|
"node": ">=18.0.0"
|