@maccesar/titools 2.2.3 → 2.2.8

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.
Files changed (96) hide show
  1. package/README.md +28 -27
  2. package/lib/commands/update.js +80 -101
  3. package/package.json +1 -1
  4. package/skills/alloy-guides/SKILL.md +31 -31
  5. package/skills/alloy-guides/references/CONCEPTS.md +3 -3
  6. package/skills/alloy-guides/references/CONTROLLERS.md +1 -1
  7. package/skills/alloy-guides/references/MODELS.md +6 -6
  8. package/skills/alloy-guides/references/VIEWS_WITHOUT_CONTROLLERS.md +1 -1
  9. package/skills/alloy-guides/references/VIEWS_XML.md +1 -1
  10. package/skills/alloy-guides/references/WIDGETS.md +1 -1
  11. package/skills/alloy-howtos/SKILL.md +27 -27
  12. package/skills/alloy-howtos/references/best_practices.md +9 -9
  13. package/skills/alloy-howtos/references/cli_reference.md +14 -14
  14. package/skills/alloy-howtos/references/config_files.md +16 -16
  15. package/skills/alloy-howtos/references/custom_tags.md +16 -16
  16. package/skills/alloy-howtos/references/debugging_troubleshooting.md +11 -15
  17. package/skills/alloy-howtos/references/samples.md +19 -19
  18. package/skills/purgetss/SKILL.md +11 -1
  19. package/skills/purgetss/references/animation-system.md +1 -1
  20. package/skills/purgetss/references/cli-commands.md +3 -3
  21. package/skills/purgetss/references/customization-deep-dive.md +1 -1
  22. package/skills/purgetss/references/dynamic-component-creation.md +1 -1
  23. package/skills/purgetss/references/icon-fonts.md +4 -0
  24. package/skills/purgetss/references/installation-setup.md +8 -1
  25. package/skills/purgetss/references/migration-guide.md +4 -0
  26. package/skills/purgetss/references/tikit-components.md +193 -204
  27. package/skills/purgetss/references/ui-ux-design.md +1 -1
  28. package/skills/ti-expert/SKILL.md +78 -118
  29. package/skills/ti-expert/references/alloy-builtins.md +18 -18
  30. package/skills/ti-expert/references/alloy-structure.md +21 -21
  31. package/skills/ti-expert/references/anti-patterns.md +15 -15
  32. package/skills/ti-expert/references/cli-expert.md +15 -15
  33. package/skills/ti-expert/references/code-conventions.md +38 -38
  34. package/skills/ti-expert/references/contracts.md +8 -8
  35. package/skills/ti-expert/references/controller-patterns.md +14 -14
  36. package/skills/ti-expert/references/error-handling.md +11 -11
  37. package/skills/ti-expert/references/examples.md +12 -12
  38. package/skills/ti-expert/references/migration-patterns.md +24 -24
  39. package/skills/ti-expert/references/patterns.md +10 -10
  40. package/skills/ti-expert/references/performance-listview.md +16 -16
  41. package/skills/ti-expert/references/performance-optimization.md +41 -41
  42. package/skills/ti-expert/references/security-device.md +22 -22
  43. package/skills/ti-expert/references/security-fundamentals.md +19 -19
  44. package/skills/ti-expert/references/state-management.md +33 -33
  45. package/skills/ti-expert/references/testing-e2e-ci.md +25 -25
  46. package/skills/ti-expert/references/testing-unit.md +24 -24
  47. package/skills/ti-expert/references/theming.md +15 -15
  48. package/skills/ti-guides/SKILL.md +58 -60
  49. package/skills/ti-guides/references/advanced-data-and-images.md +33 -33
  50. package/skills/ti-guides/references/android-manifest.md +15 -15
  51. package/skills/ti-guides/references/app-distribution.md +70 -166
  52. package/skills/ti-guides/references/application-frameworks.md +96 -114
  53. package/skills/ti-guides/references/cli-reference.md +294 -294
  54. package/skills/ti-guides/references/coding-best-practices.md +42 -33
  55. package/skills/ti-guides/references/commonjs-advanced.md +57 -51
  56. package/skills/ti-guides/references/hello-world.md +36 -36
  57. package/skills/ti-guides/references/hyperloop-native-access.md +66 -66
  58. package/skills/ti-guides/references/javascript-primer.md +83 -101
  59. package/skills/ti-guides/references/reserved-words.md +9 -9
  60. package/skills/ti-guides/references/resources.md +75 -83
  61. package/skills/ti-guides/references/style-and-conventions.md +35 -28
  62. package/skills/ti-guides/references/tiapp-config.md +110 -74
  63. package/skills/ti-howtos/SKILL.md +88 -92
  64. package/skills/ti-howtos/references/android-platform-deep-dives.md +104 -104
  65. package/skills/ti-howtos/references/automation-fastlane-appium.md +39 -39
  66. package/skills/ti-howtos/references/buffer-codec-streams.md +60 -60
  67. package/skills/ti-howtos/references/cross-platform-development.md +115 -136
  68. package/skills/ti-howtos/references/debugging-profiling.md +167 -181
  69. package/skills/ti-howtos/references/extending-titanium.md +121 -121
  70. package/skills/ti-howtos/references/google-maps-v2.md +84 -82
  71. package/skills/ti-howtos/references/ios-map-kit.md +65 -60
  72. package/skills/ti-howtos/references/ios-platform-deep-dives.md +123 -123
  73. package/skills/ti-howtos/references/local-data-sources.md +79 -78
  74. package/skills/ti-howtos/references/location-and-maps.md +116 -120
  75. package/skills/ti-howtos/references/media-apis.md +87 -86
  76. package/skills/ti-howtos/references/notification-services.md +250 -260
  77. package/skills/ti-howtos/references/remote-data-sources.md +98 -93
  78. package/skills/ti-howtos/references/tutorials.md +226 -216
  79. package/skills/ti-howtos/references/using-modules.md +73 -102
  80. package/skills/ti-howtos/references/web-content-integration.md +101 -103
  81. package/skills/ti-howtos/references/webpack-build-pipeline.md +52 -44
  82. package/skills/ti-ui/SKILL.md +85 -85
  83. package/skills/ti-ui/references/accessibility-deep-dive.md +57 -57
  84. package/skills/ti-ui/references/animation-and-matrices.md +79 -79
  85. package/skills/ti-ui/references/application-structures.md +96 -99
  86. package/skills/ti-ui/references/custom-fonts-styling.md +99 -99
  87. package/skills/ti-ui/references/event-handling.md +58 -58
  88. package/skills/ti-ui/references/gestures.md +62 -64
  89. package/skills/ti-ui/references/icons-and-splash-screens.md +88 -88
  90. package/skills/ti-ui/references/layouts-and-positioning.md +87 -97
  91. package/skills/ti-ui/references/listviews-and-performance.md +107 -107
  92. package/skills/ti-ui/references/orientation.md +87 -88
  93. package/skills/ti-ui/references/platform-ui-android.md +87 -81
  94. package/skills/ti-ui/references/platform-ui-ios.md +63 -61
  95. package/skills/ti-ui/references/scrolling-views.md +29 -29
  96. package/skills/ti-ui/references/tableviews.md +56 -56
@@ -1,10 +1,10 @@
1
- # Titanium CLI Reference
1
+ # Titanium CLI reference
2
2
 
3
- Complete reference for Titanium CLI commands, options, and configuration.
3
+ Reference for Titanium CLI commands, options, and configuration.
4
4
 
5
- ## Environment Setup
5
+ ## Environment setup
6
6
 
7
- ### Check Environment
7
+ ### Check environment
8
8
 
9
9
  ```bash
10
10
  ti setup check
@@ -12,16 +12,16 @@ ti setup check
12
12
 
13
13
  Reports configured tools and potential issues.
14
14
 
15
- ### Setup Wizard
15
+ ### Setup wizard
16
16
 
17
17
  ```bash
18
18
  ti setup
19
19
  ti setup <section>
20
20
  ```
21
21
 
22
- Runs the interactive setup wizard. The `<section>` can be one of: **quick**, **check**, **user**, **app**, **network**, **cli**, **sdk**, **ios**, **android**, and **paths**.
22
+ Runs the interactive setup wizard. The `<section>` can be one of: quick, check, user, app, network, cli, sdk, ios, android, and paths.
23
23
 
24
- ### Get System Info
24
+ ### Get system info
25
25
 
26
26
  ```bash
27
27
  ti info
@@ -34,12 +34,12 @@ ti info -p android # Android-specific info
34
34
  ti info -p ios # iOS-specific info
35
35
  ```
36
36
 
37
- #### Info Options
37
+ #### Info options
38
38
 
39
- | Option | Description |
40
- | --- | --- |
41
- | `-o, --output <value>` | Output format: **report** or **json**. Defaults to **report**. |
42
- | `-t, --types <value>` | Comma-separated list of types: **all**, **os**, **nodejs**, **titanium**, **ios**, **jdk**, **haxm**, **android**. Defaults to **all**. |
39
+ | Option | Description |
40
+ | ---------------------- | --------------------------------------------------------------------------------------------------- |
41
+ | `-o, --output <value>` | Output format: report or json. Defaults to report. |
42
+ | `-t, --types <value>` | Comma-separated list of types: all, os, nodejs, titanium, ios, jdk, haxm, android. Defaults to all. |
43
43
 
44
44
  ### Help
45
45
 
@@ -68,15 +68,15 @@ ti config -a paths.hooks "/path/to/hook"
68
68
  ti config -r android
69
69
  ```
70
70
 
71
- #### Config Options
71
+ #### Config options
72
72
 
73
- | Option | Description |
74
- | --- | --- |
75
- | `-a, --append` | Append a value to a key containing a list of values. |
76
- | `-r, --remove` | Remove the specified config key and all its descendants. |
77
- | `-o, --output <value>` | Output format: **report**, **json**, or **json-object**. Defaults to **report**. |
73
+ | Option | Description |
74
+ | ---------------------- | ---------------------------------------------------------------- |
75
+ | `-a, --append` | Append a value to a key containing a list of values. |
76
+ | `-r, --remove` | Remove the specified config key and all its descendants. |
77
+ | `-o, --output <value>` | Output format: report, json, or json-object. Defaults to report. |
78
78
 
79
- **Alternative methods:**
79
+ Alternative methods:
80
80
  ```bash
81
81
  # Pass JSON string
82
82
  ti build -p ios --config "{ paths: { hooks: '/path/to/hook' } }"
@@ -87,46 +87,46 @@ ti build -p ios --config-file "/Users/me/customConfig.json"
87
87
 
88
88
  ---
89
89
 
90
- ## Project Commands
90
+ ## Project commands
91
91
 
92
- ### Create Project
92
+ ### Create project
93
93
 
94
- **For Alloy projects (recommended):**
94
+ For Alloy projects (recommended):
95
95
  ```bash
96
96
  ti create -t app --alloy --id <APP_ID> -n <APP_NAME> -p <PLATFORMS> -d <WORKSPACE> -u <URL>
97
97
  ```
98
98
 
99
- **Example (Alloy):**
99
+ Example (Alloy):
100
100
  ```bash
101
101
  ti create -t app --alloy --id com.titaniumsdk.sample -n SampleProject -p android,ios -d ~/Documents/workspace -u https://titaniumsdk.com
102
102
  ```
103
103
 
104
- **For Classic Titanium projects:**
104
+ For Classic Titanium projects:
105
105
  ```bash
106
106
  ti create -t app --id <APP_ID> -n <APP_NAME> -p <PLATFORMS> -d <WORKSPACE> -u <URL>
107
107
  ```
108
108
 
109
- **Parameters:**
110
- - `--alloy`: Create an Alloy project (recommended for new projects)
111
- - `-t, --type`: Project type: **app** (default), **applewatch**, **module** (or **timodule**)
112
- - `--id`: App ID (reverse domain notation)
113
- - `-n, --name`: App name
114
- - `-p, --platforms`: Comma-separated platforms (`android`, `ios`, `ipad`, `iphone`)
115
- - `-d, --workspace-dir`: Workspace directory
116
- - `-u, --url`: App URL
117
- - `-f, --force`: Force creation even if the path already exists
118
- - `--template`: Project template to use (name, directory, ZIP file, or remote ZIP URL)
109
+ Parameters:
110
+ - `--alloy`: create an Alloy project (recommended for new projects)
111
+ - `-t, --type`: project type: app (default), applewatch, module (or timodule)
112
+ - `--id`: app ID (reverse domain notation)
113
+ - `-n, --name`: app name
114
+ - `-p, --platforms`: comma-separated platforms (`android`, `ios`, `ipad`, `iphone`)
115
+ - `-d, --workspace-dir`: workspace directory
116
+ - `-u, --url`: app URL
117
+ - `-f, --force`: force creation even if the path already exists
118
+ - `--template`: project template to use (name, directory, ZIP file, or remote ZIP URL)
119
119
  - `-s, --sdk`: Titanium SDK version to use
120
120
 
121
- > **Note:** Always use the `--alloy` flag when creating new projects. The Alloy framework provides MVC structure, data binding, and modern development patterns. Use Classic (`--classic` or omitting `--alloy`) only when maintaining legacy projects.
121
+ Use `--alloy` for new projects. Use Classic (`--classic` or omitting `--alloy`) only for legacy projects.
122
122
 
123
- ### Build Project
123
+ ### Build project
124
124
 
125
125
  ```bash
126
126
  ti build -p <PLATFORM> [OPTIONS]
127
127
  ```
128
128
 
129
- ### Project Management
129
+ ### Project management
130
130
 
131
131
  ```bash
132
132
  ti project [OPTIONS] [<key>] [<value>]
@@ -134,9 +134,9 @@ ti project [OPTIONS] [<key>] [<value>]
134
134
 
135
135
  Gets and sets `tiapp.xml` settings. When called with a key, returns the value. When called with a key and value, sets the value in `tiapp.xml`.
136
136
 
137
- It also allows you to set the deployment-targets using a comma-separated list of platforms. If a specific platform is being enabled for the first time, it will also non-destructively copy that platform's default resources into your project's Resources folder.
137
+ It also allows you to set deployment targets using a comma-separated list of platforms. If a platform is enabled for the first time, it will copy default resources into the project Resources folder without overwriting.
138
138
 
139
- **Examples:**
139
+ Examples:
140
140
  ```bash
141
141
  # Get a tiapp.xml value
142
142
  ti project sdk-version
@@ -148,169 +148,169 @@ ti project sdk-version 12.2.0.GA
148
148
  ti project deployment-targets iphone,ipad,android
149
149
  ```
150
150
 
151
- **Tasks:**
152
- - `scan`: Scan directory for Titanium projects.
151
+ Tasks:
152
+ - `scan`: scan a directory for Titanium projects
153
153
 
154
- **Options:**
154
+ Options:
155
155
 
156
- | Option | Description |
157
- | --- | --- |
158
- | `-o, --output <value>` | Output format: **report**, **json**, or **text**. Defaults to **report**. |
156
+ | Option | Description |
157
+ | --------------------------- | ------------------------------------------------------------------------ |
158
+ | `-o, --output <value>` | Output format: report, json, or text. Defaults to report. |
159
159
  | `--project-dir <directory>` | Directory containing the project. Defaults to current working directory. |
160
160
 
161
161
  ---
162
162
 
163
- ## Build Commands
163
+ ## Build commands
164
164
 
165
- ### Generic Build Options and Flags
165
+ ### Generic build options and flags
166
166
 
167
- | Option | Description |
168
- | --- | --- |
169
- | `-b, --build-only` | Only perform the build; does not install or run the app. |
170
- | `-f, --force` | Force a clean rebuild. |
171
- | `--skip-js-minify` | Bypass JavaScript minification. Simulator builds are never minified. Only supported for Android and iOS. |
172
- | `--log-level <level>` | Minimum logging level: **trace**, **debug**, **info**, **warn**, **error**. |
173
- | `-p, --platforms <platform>` | Target build platform: **android** or **ios** (**iphone** and **ipad** are accepted as synonyms for **ios**). |
174
- | `-d, --project-dir <directory>` | Directory containing the project. Defaults to current working directory. |
175
- | `-s, --sdk <version>` | Titanium SDK version to build with. |
167
+ | Option | Description |
168
+ | ------------------------------- | -------------------------------------------------------------------------------------------------------- |
169
+ | `-b, --build-only` | Only perform the build; does not install or run the app. |
170
+ | `-f, --force` | Force a clean rebuild. |
171
+ | `--skip-js-minify` | Bypass JavaScript minification. Simulator builds are never minified. Only supported for Android and iOS. |
172
+ | `--log-level <level>` | Minimum logging level: trace, debug, info, warn, error. |
173
+ | `-p, --platforms <platform>` | Target build platform: android or ios (iphone and ipad are accepted as synonyms for ios). |
174
+ | `-d, --project-dir <directory>` | Directory containing the project. Defaults to current working directory. |
175
+ | `-s, --sdk <version>` | Titanium SDK version to build with. |
176
176
 
177
- ### Android Emulator
177
+ ### Android emulator
178
178
 
179
179
  ```bash
180
180
  ti build -p android [-C <EMULATOR_NAME>]
181
181
  ```
182
182
 
183
- **Example:**
183
+ Example:
184
184
  ```bash
185
185
  ti build -p android -C "Google Nexus 7 - 4.4.2 - API 19 - 800x1280"
186
186
  ```
187
187
 
188
188
  List emulators: `ti info -p android`
189
189
 
190
- ### Android Device
190
+ ### Android device
191
191
 
192
192
  ```bash
193
193
  ti build -p android -T device -C <DEVICE_ID>
194
194
  ```
195
195
 
196
- **Example:**
196
+ Example:
197
197
  ```bash
198
198
  ti build -p android -T device -C deadbeef
199
199
  ```
200
200
 
201
- Omit `-C` if only one device connected.
201
+ Omit `-C` if only one device is connected.
202
202
 
203
- ### Android Build Options
203
+ ### Android build options
204
204
 
205
- | Option | Description |
206
- | --- | --- |
207
- | `-A, --android-sdk <path>` | Path to the Android SDK. |
208
- | `-C, --device-id <name>` | Name of the device or emulator. Use "all" with --target "device" to install on all connected devices. |
209
- | `-D, --deploy-type <type>` | Controls optimization, encryption, analytics: **development**, **test**, **production**. |
210
- | `-K, --keystore <path>` | Location of the keystore file. |
211
- | `--key-password <keypass>` | Password of the keystore private key. Defaults to --store-password value. |
212
- | `--liveview` | Start a LiveView session for live UI previews. |
213
- | `-L, --alias <alias>` | Alias for the keystore. |
214
- | `--no-launch` | Disable launching the app after installing. |
215
- | `-O, --output-dir <dir>` | Output directory (used when target is **dist-playstore**). |
216
- | `-P, --store-password <password>` | Password for the keystore. |
217
- | `--sigalg <algorithm>` | Digital signature algorithm: **MD5withRSA**, **SHA1withRSA**, **SHA256withRSA**. |
218
- | `-T, --target <value>` | Target: **emulator**, **device**, or **dist-playstore**. |
205
+ | Option | Description |
206
+ | --------------------------------- | ----------------------------------------------------------------------------------------------------- |
207
+ | `-A, --android-sdk <path>` | Path to the Android SDK. |
208
+ | `-C, --device-id <name>` | Name of the device or emulator. Use "all" with --target "device" to install on all connected devices. |
209
+ | `-D, --deploy-type <type>` | Controls optimization, encryption, analytics: development, test, production. |
210
+ | `-K, --keystore <path>` | Location of the keystore file. |
211
+ | `--key-password <keypass>` | Password of the keystore private key. Defaults to --store-password value. |
212
+ | `--liveview` | Start a LiveView session for live UI previews. |
213
+ | `-L, --alias <alias>` | Alias for the keystore. |
214
+ | `--no-launch` | Disable launching the app after installing. |
215
+ | `-O, --output-dir <dir>` | Output directory (used when target is dist-playstore). |
216
+ | `-P, --store-password <password>` | Password for the keystore. |
217
+ | `--sigalg <algorithm>` | Digital signature algorithm: MD5withRSA, SHA1withRSA, SHA256withRSA. |
218
+ | `-T, --target <value>` | Target: emulator, device, or dist-playstore. |
219
219
 
220
- ### iOS Simulator
220
+ ### iOS simulator
221
221
 
222
222
  ```bash
223
223
  ti build -p ios [-C <SIMULATOR_NAME>]
224
224
  ```
225
225
 
226
- **Example:**
226
+ Example:
227
227
  ```bash
228
228
  ti build -p ios -C "iPad Retina"
229
229
  ```
230
230
 
231
- ### iOS Device
231
+ ### iOS device
232
232
 
233
233
  ```bash
234
234
  ti build -p ios -T device -C <DEVICE_UDID> [-V "<CERT_NAME>" -P <PROFILE_UUID>]
235
235
  ```
236
236
 
237
- **Example:**
237
+ Example:
238
238
  ```bash
239
239
  ti build -p ios -T device -C itunes -V "Loretta Martin (GE7BAC5)" -P "11111111-2222-3333-4444-555555555555"
240
240
  ```
241
241
 
242
242
  Omit `-V` and `-P` to be prompted.
243
243
 
244
- ### iOS Build Options
245
-
246
- | Option | Description |
247
- | --- | --- |
248
- | `-C, --device-id <name>` | Name of the device or simulator. Use "all" with --target "device" to install on all connected devices. |
249
- | `-D, --deploy-type <type>` | Controls optimization, encryption, analytics: **development**, **test**, **production**. |
250
- | `-F, --device-family <value>` | Device family: **iphone**, **ipad**, or **universal** (default). |
251
- | `--force-copy` | Force files to be copied instead of symlinked (simulator builds only). |
252
- | `-I, --ios-version <value>` | iOS SDK version to build for. Default: latest installed. |
253
- | `-K, --keychain <value>` | Path to distribution keychain (for device/dist targets). |
254
- | `--launch-bundle-id <id>` | After installing in simulator, launch a different app (useful for test runners). |
255
- | `--launch-watch-app` | Launch both the watch app and main app (simulator only). |
256
- | `--launch-watch-app-only` | Launch only the watch app (simulator only). |
257
- | `-O, --output-dir <dir>` | Output directory (used when target is **dist-adhoc**). |
258
- | `-P, --pp-uuid <uuid>` | Provisioning profile UUID (for device/dist targets). |
259
- | `-R, --distribution-name <name>` | iOS Distribution Certificate (for dist targets). |
260
- | `--sim-focus` | Focus the iOS Simulator after launching (default: true). Use --no-sim-focus to disable. |
261
- | `-T, --target <value>` | Target: **simulator**, **device**, **dist-appstore**, or **dist-adhoc**. |
262
- | `-V, --developer-name <name>` | iOS Developer Certificate (required for device target). |
263
- | `-W, --watch-device-id <udid>` | Watch simulator UDID (simulator only). |
264
- | `--watch-app-name <name>` | Name of the watch app to launch (simulator only). |
265
- | `-Y, --sim-type <type>` | iOS Simulator type: **iphone** or **ipad** (simulator only). |
266
-
267
- ### Clean Build
244
+ ### iOS build options
245
+
246
+ | Option | Description |
247
+ | -------------------------------- | ------------------------------------------------------------------------------------------------------ |
248
+ | `-C, --device-id <name>` | Name of the device or simulator. Use "all" with --target "device" to install on all connected devices. |
249
+ | `-D, --deploy-type <type>` | Controls optimization, encryption, analytics: development, test, production. |
250
+ | `-F, --device-family <value>` | Device family: iphone, ipad, or universal (default). |
251
+ | `--force-copy` | Force files to be copied instead of symlinked (simulator builds only). |
252
+ | `-I, --ios-version <value>` | iOS SDK version to build for. Default: latest installed. |
253
+ | `-K, --keychain <value>` | Path to distribution keychain (for device/dist targets). |
254
+ | `--launch-bundle-id <id>` | After installing in simulator, launch a different app (useful for test runners). |
255
+ | `--launch-watch-app` | Launch both the watch app and main app (simulator only). |
256
+ | `--launch-watch-app-only` | Launch only the watch app (simulator only). |
257
+ | `-O, --output-dir <dir>` | Output directory (used when target is dist-adhoc). |
258
+ | `-P, --pp-uuid <uuid>` | Provisioning profile UUID (for device/dist targets). |
259
+ | `-R, --distribution-name <name>` | iOS Distribution Certificate (for dist targets). |
260
+ | `--sim-focus` | Focus the iOS Simulator after launching (default: true). Use --no-sim-focus to disable. |
261
+ | `-T, --target <value>` | Target: simulator, device, dist-appstore, or dist-adhoc. |
262
+ | `-V, --developer-name <name>` | iOS Developer Certificate (required for device target). |
263
+ | `-W, --watch-device-id <udid>` | Watch simulator UDID (simulator only). |
264
+ | `--watch-app-name <name>` | Name of the watch app to launch (simulator only). |
265
+ | `-Y, --sim-type <type>` | iOS Simulator type: iphone or ipad (simulator only). |
266
+
267
+ ### Clean build
268
268
 
269
269
  ```bash
270
270
  ti clean [-p <PLATFORM>]
271
271
  ```
272
272
 
273
- **Examples:**
273
+ Examples:
274
274
  ```bash
275
275
  ti clean # All platforms
276
276
  ti clean -p ios # iOS only
277
277
  ```
278
278
 
279
- #### Clean Options
279
+ #### Clean options
280
280
 
281
- | Option | Description |
282
- | --- | --- |
283
- | `-p, --platforms <platform>` | A single platform to clean: **android** or **ios**. |
281
+ | Option | Description |
282
+ | ------------------------------- | ------------------------------------------------------------------------ |
283
+ | `-p, --platforms <platform>` | A single platform to clean: android or ios. |
284
284
  | `-d, --project-dir <directory>` | Directory containing the project. Defaults to current working directory. |
285
- | `-s, --sdk <version>` | Titanium SDK version. |
286
- | `--log-level <level>` | Minimum logging level: **trace**, **debug**, **info**, **warn**, **error**. |
285
+ | `-s, --sdk <version>` | Titanium SDK version. |
286
+ | `--log-level <level>` | Minimum logging level: trace, debug, info, warn, error. |
287
287
 
288
- ### Module Management
288
+ ### Module management
289
289
 
290
290
  ```bash
291
291
  ti module [TASK] [OPTIONS]
292
292
  ```
293
293
 
294
- **Tasks:**
295
- - `create`: Create a new Titanium module.
296
- - `list`: List installed Titanium modules.
294
+ Tasks:
295
+ - `create`: create a new Titanium module
296
+ - `list`: list installed Titanium modules
297
297
 
298
- #### Module Create
298
+ #### Module create
299
299
 
300
300
  ```bash
301
301
  ti create -t module --id <MODULE_ID> -n <MODULE_NAME> -p <PLATFORMS> -d <WORKSPACE>
302
302
  ```
303
303
 
304
- **Parameters:**
305
- - `-t, --type`: Set to **module** (or **timodule**)
306
- - `--id`: Module ID (reverse domain notation)
307
- - `-n, --name`: Module name
308
- - `-p, --platforms`: Target platforms
309
- - `-d, --workspace-dir`: Workspace directory
310
- - `-f, --force`: Force creation even if path already exists
311
- - `--template`: Module template to use
304
+ Parameters:
305
+ - `-t, --type`: set to module (or timodule)
306
+ - `--id`: module ID (reverse domain notation)
307
+ - `-n, --name`: module name
308
+ - `-p, --platforms`: target platforms
309
+ - `-d, --workspace-dir`: workspace directory
310
+ - `-f, --force`: force creation even if path already exists
311
+ - `--template`: module template to use
312
312
 
313
- #### Module List
313
+ #### Module list
314
314
 
315
315
  Prints a list of installed modules.
316
316
 
@@ -320,20 +320,20 @@ ti module list
320
320
  ti module list --project-dir /path/to/project
321
321
  ```
322
322
 
323
- **Options:**
323
+ Options:
324
324
 
325
- | Option | Description |
326
- | --- | --- |
327
- | `-o, --output <value>` | Output format: **report**, **json**, or **grid**. Defaults to **report**. |
325
+ | Option | Description |
326
+ | ----------------------- | --------------------------------------------------------------------------- |
327
+ | `-o, --output <value>` | Output format: report, json, or grid. Defaults to report. |
328
328
  | `--project-dir <value>` | Directory of the project to analyze. Defaults to current working directory. |
329
329
 
330
- ### Plugin Management
330
+ ### Plugin management
331
331
 
332
332
  ```bash
333
333
  ti plugin [TASK] [OPTIONS]
334
334
  ```
335
335
 
336
- #### Plugin List
336
+ #### Plugin list
337
337
 
338
338
  Prints a list of installed plugins.
339
339
 
@@ -343,16 +343,16 @@ ti plugin list
343
343
  ti plugin list --project-dir /path/to/project
344
344
  ```
345
345
 
346
- **Options:**
346
+ Options:
347
347
 
348
- | Option | Description |
349
- | --- | --- |
350
- | `-o, --output <value>` | Output format: **report**, **json**, or **grid**. Defaults to **report**. |
348
+ | Option | Description |
349
+ | ----------------------- | --------------------------------------------------------------------------- |
350
+ | `-o, --output <value>` | Output format: report, json, or grid. Defaults to report. |
351
351
  | `--project-dir <value>` | Directory of the project to analyze. Defaults to current working directory. |
352
352
 
353
353
  ---
354
354
 
355
- ## Distribution Commands
355
+ ## Distribution commands
356
356
 
357
357
  ### Google Play (Android)
358
358
 
@@ -360,12 +360,12 @@ ti plugin list --project-dir /path/to/project
360
360
  ti build -p android -T dist-playstore [-K <KEYSTORE> -P <PASSWORD> -L <ALIAS> -O <OUTPUT>]
361
361
  ```
362
362
 
363
- **Example:**
363
+ Example:
364
364
  ```bash
365
365
  ti build -p android -T dist-playstore -K ~/android.keystore -P secret -L foo -O ./dist/
366
366
  ```
367
367
 
368
- **If key password differs from keystore password:**
368
+ If key password differs from keystore password:
369
369
  ```bash
370
370
  --key-password <KEYPASS>
371
371
  ```
@@ -376,7 +376,7 @@ ti build -p android -T dist-playstore -K ~/android.keystore -P secret -L foo -O
376
376
  ti build -p ios -T dist-adhoc [-R <CERT_NAME> -P <PROFILE_UUID> -O <OUTPUT>]
377
377
  ```
378
378
 
379
- **Example:**
379
+ Example:
380
380
  ```bash
381
381
  ti build -p ios -T dist-adhoc -R "Pseudo, Inc." -P "FFFFFFFF-EEEE-DDDD-CCCC-BBBBBBBBBBBB" -O ./dist/
382
382
  ```
@@ -387,16 +387,16 @@ ti build -p ios -T dist-adhoc -R "Pseudo, Inc." -P "FFFFFFFF-EEEE-DDDD-CCCC-BBBB
387
387
  ti build -p ios -T dist-appstore [-R <CERT_NAME> -P <PROFILE_UUID>]
388
388
  ```
389
389
 
390
- **Example:**
390
+ Example:
391
391
  ```bash
392
392
  ti build -p ios -T dist-appstore -R "Pseudo, Inc." -P "AAAAAAAA-0000-9999-8888-777777777777"
393
393
  ```
394
394
 
395
- Installs package to Xcode Organizer.
395
+ Installs the package to Xcode Organizer.
396
396
 
397
397
  ---
398
398
 
399
- ## SDK Management
399
+ ## SDK management
400
400
 
401
401
  ### List SDKs
402
402
 
@@ -404,13 +404,13 @@ Installs package to Xcode Organizer.
404
404
  ti sdk list
405
405
  ```
406
406
 
407
- **Options:**
407
+ Options:
408
408
 
409
- | Option | Description |
410
- | --- | --- |
411
- | `-b, --branches` | Retrieve and print all branches. |
412
- | `-r, --releases` | Retrieve and print all releases. |
413
- | `-o, --output <value>` | Output format: **report** or **json**. Defaults to **report**. |
409
+ | Option | Description |
410
+ | ---------------------- | -------------------------------------------------- |
411
+ | `-b, --branches` | Retrieve and print all branches. |
412
+ | `-r, --releases` | Retrieve and print all releases. |
413
+ | `-o, --output <value>` | Output format: report or json. Defaults to report. |
414
414
 
415
415
  ### Select SDK
416
416
 
@@ -428,15 +428,15 @@ Downloads the latest Titanium SDK or a specific version.
428
428
  ti sdk install [<version>] [--default] [--force] [--branch <branch_name>]
429
429
  ```
430
430
 
431
- `<version>` may be a specific version number (e.g. `12.2.0.GA`), a URL to a ZIP file, or a local ZIP file path.
431
+ `<version>` may be a specific version number (for example, `12.2.0.GA`), a URL to a ZIP file, or a local ZIP file path.
432
432
 
433
- **Options:**
433
+ Options:
434
434
 
435
- | Option | Description |
436
- | --- | --- |
437
- | `-d, --default` | Set as the default SDK. |
438
- | `-f, --force` | Force reinstallation. |
439
- | `-k, --keep-files` | Keep downloaded files after install. |
435
+ | Option | Description |
436
+ | ---------------------------- | ------------------------------------ |
437
+ | `-d, --default` | Set as the default SDK. |
438
+ | `-f, --force` | Force reinstallation. |
439
+ | `-k, --keep-files` | Keep downloaded files after install. |
440
440
  | `-b, --branch <branch_name>` | Branch to install from, or "latest". |
441
441
 
442
442
  ### Uninstall SDK
@@ -447,10 +447,10 @@ Uninstalls a specific Titanium SDK version.
447
447
  ti sdk uninstall [<version>] [--force]
448
448
  ```
449
449
 
450
- **Options:**
450
+ Options:
451
451
 
452
- | Option | Description |
453
- | --- | --- |
452
+ | Option | Description |
453
+ | ------------- | ------------------------------------------ |
454
454
  | `-f, --force` | Force uninstallation without confirmation. |
455
455
 
456
456
  ### Update SDK
@@ -461,117 +461,117 @@ Finds the latest version of the Titanium SDK and optionally installs it.
461
461
  ti sdk update [--default] [--force] [--install] [--branch <branch_name>]
462
462
  ```
463
463
 
464
- **Options:**
464
+ Options:
465
465
 
466
- | Option | Description |
467
- | --- | --- |
468
- | `-d, --default` | Set as the default SDK. |
469
- | `-f, --force` | Force reinstallation. |
470
- | `-i, --install` | Install the latest version. |
471
- | `-b, --branch <branch_name>` | Branch to update from. |
466
+ | Option | Description |
467
+ | ---------------------------- | --------------------------- |
468
+ | `-d, --default` | Set as the default SDK. |
469
+ | `-f, --force` | Force reinstallation. |
470
+ | `-i, --install` | Install the latest version. |
471
+ | `-b, --branch <branch_name>` | Branch to update from. |
472
472
 
473
473
  ---
474
474
 
475
- ## Configuration Options
476
-
477
- ### Android Options
478
-
479
- | Option | Default | Description |
480
- | --- | --- | --- |
481
- | `android.sdkPath` | auto | Android SDK path |
482
- | `android.ndkPath` | auto | Android NDK path |
483
- | `android.adb.port` | 5037 | ADB port number |
484
- | `android.autoSelectDevice` | true | Auto-select device/emulator |
485
- | `android.symlinkResources` | true (OS X) | Symlink vs copy resources |
486
- | `android.buildTools.selectedVersion` | max | Build tools version |
487
- | `android.javac.maxmemory` | "3072M" | JVM heap size |
488
- | `android.javac.source` | "1.8" | Java source version |
489
- | `android.javac.target` | "1.8" | Java target version |
490
- | `android.mergeCustomAndroidManifest` | false | Merge custom AndroidManifest.xml |
491
-
492
- > **Note:** The `android.javac.source` and `android.javac.target` defaults were originally "1.6" in earlier SDK versions. Modern Titanium SDK requires Java 1.8 or higher. These can be overridden per-project in `tiapp.xml` using `<property name="android.javac.source" type="string">1.8</property>`.
493
-
494
- ### iOS Options
495
-
496
- | Option | Default | Description |
497
- | --- | --- | --- |
498
- | `ios.developerName` | - | Developer certificate name |
499
- | `ios.distributionName` | - | Distribution certificate name |
500
- | `ios.autoSelectDevice` | true | Auto-select device/simulator |
501
- | `ios.symlinkResources` | true (OS X) | Symlink vs copy resources |
502
- | `ios.keychain` | - | Specific keychain to search for certs |
503
- | `ios.xcodePath` | auto | Path to Xcode installation |
504
-
505
- ### CLI Options
506
-
507
- | Option | Default | Description |
508
- | --- | --- | --- |
509
- | `cli.logLevel` | trace | Log level: error, warning, info, debug, trace |
510
- | `cli.colors` | true | Color output |
511
- | `cli.progressBars` | true | Show progress bars |
512
- | `cli.prompt` | true | Prompt for missing info |
513
- | `cli.quiet` | false | Suppress all output |
514
- | `cli.rejectUnauthorized` | true | Reject bad SSL certs |
515
- | `cli.width` | 100 | Text wrap width |
516
- | `cli.failOnWrongSDK` | false | Fail on SDK mismatch |
517
- | `cli.hideCharEncWarning` | false | Hide encoding warnings |
518
- | `cli.httpProxyServer` | - | Proxy server URL |
519
-
520
- ### SDK Options
521
-
522
- | Option | Description |
523
- | --- | --- |
475
+ ## Configuration options
476
+
477
+ ### Android options
478
+
479
+ | Option | Default | Description |
480
+ | ------------------------------------ | ----------- | -------------------------------- |
481
+ | `android.sdkPath` | auto | Android SDK path |
482
+ | `android.ndkPath` | auto | Android NDK path |
483
+ | `android.adb.port` | 5037 | ADB port number |
484
+ | `android.autoSelectDevice` | true | Auto-select device/emulator |
485
+ | `android.symlinkResources` | true (OS X) | Symlink vs copy resources |
486
+ | `android.buildTools.selectedVersion` | max | Build tools version |
487
+ | `android.javac.maxmemory` | "3072M" | JVM heap size |
488
+ | `android.javac.source` | "1.8" | Java source version |
489
+ | `android.javac.target` | "1.8" | Java target version |
490
+ | `android.mergeCustomAndroidManifest` | false | Merge custom AndroidManifest.xml |
491
+
492
+ The `android.javac.source` and `android.javac.target` defaults were originally "1.6" in earlier SDK versions. Modern Titanium SDK requires Java 1.8 or higher. You can override these per-project in `tiapp.xml` using `<property name="android.javac.source" type="string">1.8</property>`.
493
+
494
+ ### iOS options
495
+
496
+ | Option | Default | Description |
497
+ | ---------------------- | ----------- | ------------------------------------- |
498
+ | `ios.developerName` | - | Developer certificate name |
499
+ | `ios.distributionName` | - | Distribution certificate name |
500
+ | `ios.autoSelectDevice` | true | Auto-select device/simulator |
501
+ | `ios.symlinkResources` | true (OS X) | Symlink vs copy resources |
502
+ | `ios.keychain` | - | Specific keychain to search for certs |
503
+ | `ios.xcodePath` | auto | Path to Xcode installation |
504
+
505
+ ### CLI options
506
+
507
+ | Option | Default | Description |
508
+ | ------------------------ | ------- | --------------------------------------------- |
509
+ | `cli.logLevel` | trace | Log level: error, warning, info, debug, trace |
510
+ | `cli.colors` | true | Color output |
511
+ | `cli.progressBars` | true | Show progress bars |
512
+ | `cli.prompt` | true | Prompt for missing info |
513
+ | `cli.quiet` | false | Suppress all output |
514
+ | `cli.rejectUnauthorized` | true | Reject bad SSL certs |
515
+ | `cli.width` | 100 | Text wrap width |
516
+ | `cli.failOnWrongSDK` | false | Fail on SDK mismatch |
517
+ | `cli.hideCharEncWarning` | false | Hide encoding warnings |
518
+ | `cli.httpProxyServer` | - | Proxy server URL |
519
+
520
+ ### SDK options
521
+
522
+ | Option | Description |
523
+ | ---------------------------- | ---------------------------------- |
524
524
  | `sdk.defaultInstallLocation` | SDK install location (OS-specific) |
525
- | `sdk.selected` | Selected SDK version (REQUIRED) |
525
+ | `sdk.selected` | Selected SDK version (required) |
526
526
 
527
527
  ### Paths
528
528
 
529
- | Option | Description |
530
- | --- | --- |
529
+ | Option | Description |
530
+ | ---------------- | ------------------------------ |
531
531
  | `paths.commands` | Additional CLI command scripts |
532
- | `paths.hooks` | CLI hook scripts |
533
- | `paths.modules` | Module search paths |
534
- | `paths.plugins` | Plugin search paths |
535
- | `paths.sdks` | SDK search paths |
536
- | `paths.xcode` | Xcode installation paths |
537
-
538
- ### Java Options
539
-
540
- | Option | Description |
541
- | --- | --- |
542
- | `java.home` | JDK directory |
543
- | `java.executables.java` | java executable path |
544
- | `java.executables.javac` | javac executable path |
532
+ | `paths.hooks` | CLI hook scripts |
533
+ | `paths.modules` | Module search paths |
534
+ | `paths.plugins` | Plugin search paths |
535
+ | `paths.sdks` | SDK search paths |
536
+ | `paths.xcode` | Xcode installation paths |
537
+
538
+ ### Java options
539
+
540
+ | Option | Description |
541
+ | ---------------------------- | ------------------------- |
542
+ | `java.home` | JDK directory |
543
+ | `java.executables.java` | java executable path |
544
+ | `java.executables.javac` | javac executable path |
545
545
  | `java.executables.jarsigner` | jarsigner executable path |
546
- | `java.executables.keytool` | keytool executable path |
547
-
548
- ### Genymotion Options
549
-
550
- | Option | Description |
551
- | --- | --- |
552
- | `genymotion.enabled` | Enable Genymotion support |
553
- | `genymotion.home` | Genymotion virtual machine data directory |
554
- | `genymotion.path` | Genymotion app directory |
555
- | `genymotion.executables.genymotion` | genymotion executable |
556
- | `genymotion.executables.player` | player executable |
557
- | `genymotion.executables.vboxmanage` | vboxmanage executable |
558
-
559
- ### Application Options
560
-
561
- | Option | Description |
562
- | --- | --- |
563
- | `app.idprefix` | Prefix for new app IDs |
564
- | `app.publisher` | Default publisher |
565
- | `app.url` | Default company URL |
566
- | `app.workspace` | Default workspace directory |
567
- | `app.skipAppIdValidation` | Skip app ID validation |
568
- | `app.skipVersionValidation` | Skip version validation |
546
+ | `java.executables.keytool` | keytool executable path |
547
+
548
+ ### Genymotion options
549
+
550
+ | Option | Description |
551
+ | ----------------------------------- | ----------------------------------------- |
552
+ | `genymotion.enabled` | Enable Genymotion support |
553
+ | `genymotion.home` | Genymotion virtual machine data directory |
554
+ | `genymotion.path` | Genymotion app directory |
555
+ | `genymotion.executables.genymotion` | genymotion executable |
556
+ | `genymotion.executables.player` | player executable |
557
+ | `genymotion.executables.vboxmanage` | vboxmanage executable |
558
+
559
+ ### Application options
560
+
561
+ | Option | Description |
562
+ | --------------------------- | --------------------------- |
563
+ | `app.idprefix` | Prefix for new app IDs |
564
+ | `app.publisher` | Default publisher |
565
+ | `app.url` | Default company URL |
566
+ | `app.workspace` | Default workspace directory |
567
+ | `app.skipAppIdValidation` | Skip app ID validation |
568
+ | `app.skipVersionValidation` | Skip version validation |
569
569
 
570
570
  ---
571
571
 
572
- ## Common Issues
572
+ ## Common issues
573
573
 
574
- ### Android SDK Not Found
574
+ ### Android SDK not found
575
575
 
576
576
  ```bash
577
577
  ! sdk Android SDK not found
@@ -579,27 +579,27 @@ ti sdk update [--default] [--force] [--install] [--branch <branch_name>]
579
579
  ! avds no avds found
580
580
  ```
581
581
 
582
- **Solution:**
582
+ Solution:
583
583
  ```bash
584
584
  ti config android.sdkPath /path/to/android-sdk
585
585
  ```
586
586
 
587
- ### Xcode Too Old
587
+ ### Xcode too old
588
588
 
589
589
  ```bash
590
590
  ! Xcode 4.3 is too old and is no longer supported by Titanium SDK 3.3.0
591
591
  ```
592
592
 
593
- **Solution:** Install newer Xcode from Mac App Store.
593
+ Solution: install a newer Xcode from the Mac App Store.
594
594
 
595
- ### Clean Build Issues
595
+ ### Clean build issues
596
596
 
597
597
  ```bash
598
598
  ti clean -p ios
599
599
  ti clean -p android
600
600
  ```
601
601
 
602
- ### ADB Device Issues
602
+ ### ADB device issues
603
603
 
604
604
  ```bash
605
605
  adb kill-server
@@ -609,40 +609,40 @@ adb devices
609
609
 
610
610
  ---
611
611
 
612
- ## Command Quick Reference
613
-
614
- | Command | Description |
615
- | --- | --- |
616
- | `ti help` | Display help screen |
617
- | `ti help <command>` | Display help for a specific command |
618
- | `ti setup` | Run setup wizard |
619
- | `ti setup check` | Check environment setup |
620
- | `ti setup <section>` | Run specific setup section (quick, check, user, app, network, cli, sdk, ios, android, paths) |
621
- | `ti info` | Display system info |
622
- | `ti info -p <PLATFORM>` | Platform-specific info |
623
- | `ti info -o json` | Output system info as JSON |
624
- | `ti config` | Display/set config |
625
- | `ti config -o json` | Output config as JSON |
626
- | `ti create` | Create new project |
627
- | `ti create -t module` | Create new module |
628
- | `ti build` | Build project |
629
- | `ti build -b` | Build only (no install/launch) |
630
- | `ti build -f` | Force clean rebuild |
631
- | `ti clean` | Clean build folder |
632
- | `ti clean -p <PLATFORM>` | Clean specific platform |
633
- | `ti project` | Get/set tiapp.xml settings |
634
- | `ti module list` | List installed modules |
635
- | `ti plugin list` | List installed plugins |
636
- | `ti sdk list` | List installed SDKs |
637
- | `ti sdk select` | Select default SDK |
638
- | `ti sdk install` | Install latest SDK |
639
- | `ti sdk install <version>` | Install specific SDK |
640
- | `ti sdk uninstall <version>` | Uninstall specific SDK |
641
- | `ti sdk update` | Check for SDK updates |
612
+ ## Command quick reference
613
+
614
+ | Command | Description |
615
+ | ---------------------------- | -------------------------------------------------------------------------------------------- |
616
+ | `ti help` | Display help screen |
617
+ | `ti help <command>` | Display help for a specific command |
618
+ | `ti setup` | Run setup wizard |
619
+ | `ti setup check` | Check environment setup |
620
+ | `ti setup <section>` | Run specific setup section (quick, check, user, app, network, cli, sdk, ios, android, paths) |
621
+ | `ti info` | Display system info |
622
+ | `ti info -p <PLATFORM>` | Platform-specific info |
623
+ | `ti info -o json` | Output system info as JSON |
624
+ | `ti config` | Display/set config |
625
+ | `ti config -o json` | Output config as JSON |
626
+ | `ti create` | Create new project |
627
+ | `ti create -t module` | Create new module |
628
+ | `ti build` | Build project |
629
+ | `ti build -b` | Build only (no install/launch) |
630
+ | `ti build -f` | Force clean rebuild |
631
+ | `ti clean` | Clean build folder |
632
+ | `ti clean -p <PLATFORM>` | Clean specific platform |
633
+ | `ti project` | Get/set tiapp.xml settings |
634
+ | `ti module list` | List installed modules |
635
+ | `ti plugin list` | List installed plugins |
636
+ | `ti sdk list` | List installed SDKs |
637
+ | `ti sdk select` | Select default SDK |
638
+ | `ti sdk install` | Install latest SDK |
639
+ | `ti sdk install <version>` | Install specific SDK |
640
+ | `ti sdk uninstall <version>` | Uninstall specific SDK |
641
+ | `ti sdk update` | Check for SDK updates |
642
642
 
643
643
  ---
644
644
 
645
- ## SDK Version Precedence
645
+ ## SDK version precedence
646
646
 
647
647
  1. `tiapp.xml` `<sdk-version>` tag
648
648
  2. `--sdk` CLI option
@@ -653,6 +653,6 @@ adb devices
653
653
 
654
654
  ## References
655
655
 
656
- - [Titanium CLI GitHub](https://github.com/tidev/titanium-cli)
657
- - [Android SDK Manager](http://developer.android.com/sdk)
658
- - [Xcode Downloads](https://apps.apple.com/us/app/xcode/id497799835?mt=12/)
656
+ - Titanium CLI GitHub: https://github.com/tidev/titanium-cli
657
+ - Android SDK Manager: http://developer.android.com/sdk
658
+ - Xcode Downloads: https://apps.apple.com/us/app/xcode/id497799835?mt=12/