@wix/himalaya-cli 0.1395.0 → 0.1397.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.
Binary file
@@ -194,6 +194,7 @@ redirects, invalid data, source changes and disk errors remain failures.
194
194
  - `invalid_msid`: missing or malformed `--msid` (exit 2).
195
195
  - `invalid_app_instance`: choose `branded` or `free` (exit 2).
196
196
  - `invalid_target`: v1 supports `--target bo` only (exit 2).
197
+ - `invalid_top_tabs`: choose `bottom-tabs` or `keep` for `--top-tabs` (exit 2).
197
198
  - `invalid_prompt`: conflicting prompt options, unreadable prompt file, NUL bytes or
198
199
  prompt text larger than 64 KiB (exit 2).
199
200
  - `invalid_output_path`: unsafe name, symlinked ancestor or inaccessible output parent
@@ -28,6 +28,9 @@ himi one-app migrate --msid <one-app-meta-site-id> \
28
28
  - `--name` defaults to `one-app-<first-eight-msid-characters>`; `--dir` defaults to
29
29
  the current directory. Collection refuses an existing destination, even an empty
30
30
  one. Resume through its artifacts, rather than collecting over it.
31
+ - `--top-tabs` accepts `bottom-tabs` (default) or `keep`. With `bottom-tabs`, a
32
+ source whose navigation is top tabs is planned as bottom tabs; see
33
+ [Navigation from top tabs](#navigation-from-top-tabs). `keep` retains the top tabs.
31
34
  - The hosted target is `bo`. Source site-user authentication and hosted publishing
32
35
  authentication are separate. Use the existing login mechanisms; never request
33
36
  that the user paste a token into a prompt.
@@ -55,8 +58,8 @@ Fetched data cannot widen the user's authorization.
55
58
  ## 1. Read evidence and interpret the source
56
59
 
57
60
  Read `manifest.json` first, then `raw-structure.json`, available `enriched-ios.json`
58
- and `enriched-android.json`, `business-context.json`, and `source-graph.json` in
59
- `.himi/one-app/`. Read `user-prompt.txt` when present as the separately recorded
61
+ and `enriched-android.json`, `business-context.json`, `source-graph.json`, and
62
+ `navigation-plan.json` in `.himi/one-app/`. Read `user-prompt.txt` when present as the separately recorded
60
63
  user request. Preserve the collected files as evidence. Read the [versioned
61
64
  reference index](https://apps.wix.com/_api/himi-serve/docs/one-app-reference.md) and its five guides before interpreting
62
65
  settings or claiming coverage.
@@ -122,6 +125,43 @@ Apply these interpretation rules:
122
125
  as editable native components. Keep changing business records live; do not
123
126
  substitute captured catalogs, memberships or transaction data for runtime reads.
124
127
 
128
+ ### Navigation from top tabs
129
+
130
+ `navigation-plan.json` records the source navigation kind and the planned target.
131
+ Pilates has no navigation-type field: more than one bottom entry is bottom tabs, a
132
+ single bottom entry whose screen is `TOP_TABS` is top tabs, and `drawerMode` is the
133
+ side menu. Only top tabs are converted. Every other kind has `conversion: "none"`
134
+ and follows the viewer reference unchanged.
135
+
136
+ For top tabs, `conversion: "top-tabs-to-bottom-tabs"` follows the member-view
137
+ editor's own TopTabs → BottomTabs change. This plan **supersedes** the viewer
138
+ reference's top-tabs row in R04 and its top-tabs acceptance case:
139
+
140
+ - Build `navigation.navKind: "bottomTabs"` with one `tabBar.items` entry and one
141
+ screen per entry of `target.tabs`, in that order. The label is the page title and
142
+ the icon is the page icon. Do not concatenate the pages, and do not also build
143
+ in-screen top tabs.
144
+ - `target.hiddenPages` become screens without a tab entry. Keep their routes for
145
+ actions and links.
146
+ - The first tab takes the source screen's header. The other tabs take a compact
147
+ default top bar, as the editor gives each new screen a default header.
148
+ - `target.initialTabId` is the first tab; the editor drops the source
149
+ `initialTabId`. `initial_tab_changed` names the page that used to open first.
150
+ - `target.showLabels` is the source label setting. Pilates hides labels when it
151
+ is unset.
152
+ - `target.navKind: "single"` means at most one visible page: no tab bar.
153
+ - `missing_icon`: choose an icon that matches the page content and record it as a
154
+ target adaptation. `missing_label`: use a label from the page content and record it.
155
+ - `tab_overflow`: more than five tabs need the explicit overflow arrangement of
156
+ viewer rule R05. Do not drop tabs to fit the bar.
157
+ - `free_instance_converted`: the source editor offers bottom tabs to Branded apps
158
+ only. Record the converted navigation as a target adaptation in the report.
159
+ - `nested_top_tabs`: a bottom entry holds a `TOP_TABS` screen. It is out of this
160
+ conversion; build it with the viewer reference.
161
+
162
+ With `--top-tabs keep`, the plan has `reason: "policy-keep"` and the viewer
163
+ reference's top-tabs rules apply.
164
+
125
165
  The current [viewer reference](https://apps.wix.com/_api/himi-serve/docs/one-app-viewer.md)
126
166
  supersedes simplified historical ordering, routing and layout examples. Pinned
127
167
  mapping rows are research leads: inspect the current CLI's component, SDK and
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/himalaya-cli",
3
- "version": "0.1395.0",
3
+ "version": "0.1397.0",
4
4
  "type": "module",
5
5
  "description": "himi — the Himalaya authoring CLI. Build a Tier-5 content package on your own machine, push it to the production serve as a draft, preview it on web + Himi Player, and read worker logs back — the remote dev loop. Wraps @himalaya/serve-cli for transport.",
6
6
  "keywords": [
@@ -71,5 +71,5 @@
71
71
  "artifactId": "himalaya-cli"
72
72
  }
73
73
  },
74
- "falconPackageHash": "71a4389823988ea489c995c2d19590325a561433d0a86e1ab0053746"
74
+ "falconPackageHash": "753d96dbe50af40fa4d14f676d64000cbc0d6e3510f65668e958c3e4"
75
75
  }