indraq_cli 1.5.1 → 1.5.7

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/README.md CHANGED
@@ -18,7 +18,7 @@
18
18
  <img alt="Java 21" src="https://img.shields.io/badge/Java-21%20recommended-ED8B00?logo=openjdk&logoColor=white" />
19
19
  <img alt="TypeScript" src="https://img.shields.io/badge/TypeScript-strict-3178C6?logo=typescript&logoColor=white" />
20
20
  <img alt="License" src="https://img.shields.io/npm/l/indraq_cli" />
21
- <img alt="Version" src="https://img.shields.io/badge/version-1.5.1-264B63" />
21
+ <img alt="Version" src="https://img.shields.io/badge/version-1.5.7-264B63" />
22
22
  </p>
23
23
 
24
24
  > [!IMPORTANT]
@@ -30,7 +30,7 @@
30
30
 
31
31
  1. [What is IndraQ CLI?](#what-is-indraq-cli)
32
32
  2. [Explain it like I am new](#explain-it-like-i-am-new)
33
- 3. [What changed in v1.5.1?](#what-changed-in-v151)
33
+ 3. [What changed in v1.5.7?](#what-changed-in-v155)
34
34
  4. [Requirements](#requirements)
35
35
  5. [Install Java 21](#install-java-21)
36
36
  6. [Install IndraQ CLI](#install-indraq-cli)
@@ -59,6 +59,14 @@
59
59
 
60
60
  ---
61
61
 
62
+ ## v1.5.7 — GHCR credential safety
63
+
64
+ Docker deployments now use the GHCR login already stored by Docker. IndraQ **never runs `docker login ghcr.io` during deploy** and never substitutes a Git/Git Credential Manager token for Docker's registry credential.
65
+
66
+ This distinction matters: a credential that can clone/push a GitHub repository does not automatically have GHCR `write:packages` permission. If `docker push ghcr.io/...` works manually, `indraq deploy:dev` / `indraq deploy:prod` now uses that same Docker credential state.
67
+
68
+ ---
69
+
62
70
  ## What is IndraQ CLI?
63
71
 
64
72
  IndraQ CLI is a program you install once on a developer computer and then use from **any project folder**.
@@ -145,16 +153,30 @@ You do **not** need to give Jenkins a Git URL, Git branch, app subdirectory, or
145
153
 
146
154
  ---
147
155
 
148
- ## What changed in v1.5.1?
156
+ ## What changed in v1.5.7?
149
157
 
150
- v1.5.1 keeps the Android versioning introduced in v1.5 and hardens the Jenkins/Git workflow around it.
158
+ v1.5.7 keeps the Android versioning and Jenkins/Git workflow from v1.5.x and hardens Android builds created from Windows source snapshots.
151
159
 
152
160
  This patch fixes the mobile Jenkinsfile Groovy escaping error, makes the mobile Jenkins job name deterministic, makes project configuration Git-shareable, keeps Jenkins login credentials machine-local, and makes Docker deployments send the exact manual deployment parameters expected by the Jenkins pipeline.
153
161
 
154
- ### Jenkins/Git behavior hardened in v1.5.1
162
+
163
+ ### Jenkins-console-quality logs and server Gradle reuse in v1.5.7
164
+
165
+ - The terminal log streamer now reads Jenkins **`logText/progressiveHtml`**, the same progressive endpoint used by the classic Jenkins web console. Jenkins therefore removes/renders hidden `ConsoleNote` annotations before the CLI displays the text, so internal `ha:////...` payloads no longer pollute VS Code output.
166
+ - HTML markup is converted back to plain terminal text while preserving usernames, timestamps, Pipeline lines, errors, and normal line spacing. `progressiveText` remains only as a compatibility fallback with explicit ConsoleNote filtering.
167
+ - Failed mobile builds now end with a short **Key Jenkins error lines** summary plus the direct Jenkins build URL.
168
+ - The mobile Jenkinsfile still normalizes Windows CRLF in `android/gradlew`, but v1.5.7 also restores the Jenkins server's shared Gradle cache at `$HOME/.gradle` instead of creating an empty per-project Gradle cache.
169
+ - Gradle execution prefers the exact cached project-wrapper distribution. If no exact wrapper distribution is cached, an installed Jenkins-server Gradle from the same major version can be reused. The project wrapper remains the final fallback.
170
+ - If a wrapper download is genuinely necessary, the temporary Jenkins copy of `gradle-wrapper.properties` gets `networkTimeout=120000` (120 seconds) instead of failing at Gradle's short default timeout.
171
+ - `FULL_RESET` no longer deletes Jenkins' shared Gradle cache. It clears project-local npm/Expo caches and generated Android state only.
172
+ - Jenkins queue updates are printed as normal lines instead of carriage-return cursor updates.
173
+
174
+ ### Jenkins/Git behavior hardened in v1.5.x
155
175
 
156
176
  - Mobile always targets the Jenkins job **`Mobile app Cli build`**. The job name is no longer configurable per project.
157
177
  - The mobile Jenkinsfile no longer contains the Groovy-invalid escaped-dot expression that caused `unexpected char: '\'` during pipeline compilation.
178
+ - Mobile Jenkins HTTP uploads now preserve the Jenkins web-session cookie together with the CSRF crumb, fixing HTTP 403 responses when Jenkins is configured with username/password authentication. API-token authentication remains supported.
179
+ - Mobile build output now says explicitly that `.env` is excluded only from the source archive and is uploaded separately to Jenkins.
158
180
  - `.indraq/mobile.json`, `.indraq/docker.json`, and `.indraq/jenkins.json` are intended to be committed to Git.
159
181
  - `.indraq/jenkins.local.json`, Jenkins username/token/password, `.env`, and `jenkins-cli.jar` are machine-local and never meant to be committed.
160
182
  - Docker CLI deployments now start Jenkins with `ACTION=DEPLOY`, `IMAGE_TAG`, optional `IMAGE_DIGEST`, and `DEPLOYMENT_SOURCE=INDRAQ_CLI`.
@@ -246,14 +268,15 @@ Existing `.indraq/mobile.json` files are upgraded automatically. Project type, a
246
268
  |---|---|---|
247
269
  | **Node.js 22+** | Runs IndraQ CLI | `node --version` |
248
270
  | **npm** | Installs / updates the CLI | `npm --version` |
249
- | **Git** | Docker/GHCR authentication and optional source revision metadata | `git --version` |
271
+ | **Git** | GitHub identity/org discovery and optional source revision metadata | `git --version` |
272
+ | **Docker GHCR login** | Registry authentication used for image push | `docker login ghcr.io` (one-time, when needed) |
250
273
  | **Docker** | Docker deployment module | `docker --version` |
251
274
  | **Java** | Runs Jenkins CLI | `java -version` |
252
275
  | **tar** | Packages the local mobile source snapshot | `tar --version` |
253
276
  | **Jenkins account** | Starts Jenkins jobs | Jenkins username + API token |
254
277
 
255
278
  > [!TIP]
256
- > Node.js **24** is recommended for IndraQ developer machines, but v1.5.1 supports Node.js **22 and newer**.
279
+ > Node.js **24** is recommended for IndraQ developer machines, but v1.5.7 supports Node.js **22 and newer**.
257
280
 
258
281
  ### Jenkins mobile build machine
259
282
 
@@ -267,7 +290,9 @@ The provided mobile Jenkinsfile expects the Jenkins agent to have:
267
290
  - `tar` / `sha256sum`;
268
291
  - Jenkins **File Parameter** plugin;
269
292
  - writable `/opt/mobile-builder`;
270
- - Android SDK at `/opt/android-sdk` unless you edit the Jenkinsfile.
293
+ - Android SDK at `/opt/android-sdk` unless you edit the Jenkinsfile;
294
+ - the Jenkins account should have a writable `$HOME/.gradle` cache (normally `/var/jenkins_home/.gradle`);
295
+ - optionally, a system `gradle` executable may be installed. IndraQ uses it only when its major version matches the project wrapper.
271
296
 
272
297
  ---
273
298
 
@@ -331,7 +356,7 @@ indraq --version
331
356
  Expected for this release:
332
357
 
333
358
  ```text
334
- 1.5.1
359
+ 1.5.3
335
360
  ```
336
361
 
337
362
  Update later:
@@ -598,9 +623,9 @@ Profiles:
598
623
 
599
624
  | Profile | Meaning |
600
625
  |---|---|
601
- | **FAST** | Fresh source snapshot, reuse project-scoped npm/Gradle caches |
626
+ | **FAST** | Fresh source snapshot; reuse project npm cache plus the Jenkins server shared Gradle cache |
602
627
  | **CLEAN** | Clean generated project build state before building |
603
- | **FULL_RESET** | Clear this project's Jenkins build caches before rebuilding |
628
+ | **FULL_RESET** | Clear project npm/Expo/generated Android state while preserving the Jenkins server shared Gradle cache |
604
629
 
605
630
  After saving one environment you return to the Mobile App menu, so you can configure another environment without rerunning the command.
606
631
 
@@ -841,7 +866,7 @@ indraq build mobile:prod --output aab --profile clean --verbose --yes
841
866
 
842
867
  ## Android versioning and artifact names
843
868
 
844
- IndraQ v1.5.1 currently manages **Android** versioning only. iOS version/build-number management is intentionally out of scope for now.
869
+ IndraQ v1.5.7 currently manages **Android** versioning only. iOS version/build-number management is intentionally out of scope for now.
845
870
 
846
871
  ### What value does a build use?
847
872
 
@@ -1072,9 +1097,9 @@ The CLI checks this exact job on Production Jenkins before every mobile build.
1072
1097
 
1073
1098
  ### Live logs
1074
1099
 
1075
- Mobile source upload is triggered through Jenkins HTTP `buildWithParameters`, then IndraQ follows the queue item, discovers the build number, and streams progressive Jenkins console output into VS Code.
1100
+ Mobile source upload is triggered through Jenkins HTTP `buildWithParameters`, then IndraQ follows the queue item, discovers the build number, and streams Jenkins **`logText/progressiveHtml`** into VS Code. This is the same progressive console endpoint used by the classic Jenkins browser console, so Jenkins' hidden `ConsoleNote` metadata is rendered/removed before IndraQ converts the remaining HTML to readable terminal text.
1076
1101
 
1077
- If Jenkins fails, the CLI exits with failure and leaves the Jenkins error visible in the terminal.
1102
+ If Jenkins fails, the CLI exits with failure, prints a short **Key Jenkins error lines** summary, and prints the direct Jenkins build URL. The complete live output remains above it.
1078
1103
 
1079
1104
  ---
1080
1105
 
@@ -1094,7 +1119,7 @@ Project-local configuration:
1094
1119
  The generated `.indraq/.gitignore` ignores **only machine-local files** such as `jenkins.local.json`. Shared project configuration is intentionally visible to Git.
1095
1120
 
1096
1121
  > [!IMPORTANT]
1097
- > Older IndraQ setups often ignored the whole `.indraq/` directory. v1.5.1 automatically appends safe re-include rules to the project root `.gitignore` so `jenkins.json`, `docker.json`, and `mobile.json` can be committed while `jenkins.local.json` remains ignored. Run `git status` after configuration and commit the three shared JSON files.
1122
+ > Older IndraQ setups often ignored the whole `.indraq/` directory. v1.5.7 automatically appends safe re-include rules to the project root `.gitignore` so `jenkins.json`, `docker.json`, and `mobile.json` can be committed while `jenkins.local.json` remains ignored. Run `git status` after configuration and commit the three shared JSON files.
1098
1123
 
1099
1124
  ### `jenkins.json`
1100
1125
 
@@ -1177,10 +1202,10 @@ indraq --version
1177
1202
  Expected for this release:
1178
1203
 
1179
1204
  ```text
1180
- 1.5.1
1205
+ 1.5.3
1181
1206
  ```
1182
1207
 
1183
- v1.5.1 automatically migrates older `.indraq/mobile.json` and Jenkins config layouts. Existing mobile environment/version settings are preserved. Older Jenkins username/server binding fields are split so only non-secret server metadata remains in tracked `jenkins.json`; the current machine binding is written to ignored `jenkins.local.json`.
1208
+ v1.5.7 automatically migrates older `.indraq/mobile.json` and Jenkins config layouts. Existing mobile environment/version settings are preserved. Older Jenkins username/server binding fields are split so only non-secret server metadata remains in tracked `jenkins.json`; the current machine binding is written to ignored `jenkins.local.json`.
1184
1209
 
1185
1210
  For projects coming from pre-versioning releases, Android version settings initialize as:
1186
1211
 
@@ -1207,16 +1232,47 @@ Docker/GHCR and Jenkins configuration remain compatible.
1207
1232
 
1208
1233
  ## Command reference
1209
1234
 
1235
+ The CLI now has a complete built-in help system, so developers do not need to open this README just to remember syntax.
1236
+
1237
+ ```bash
1238
+ indraq --help
1239
+ indraq help
1240
+ indraq help configure
1241
+ indraq help docker
1242
+ indraq help mobile
1243
+ indraq help doctor
1244
+ ```
1245
+
1246
+ ### Core commands
1247
+
1210
1248
  | Command | Purpose |
1211
1249
  |---|---|
1212
1250
  | `indraq --version` | Show installed CLI version |
1213
- | `indraq --help` | Show commands |
1251
+ | `indraq --help` | Show the complete command catalog, aliases, flags, mappings and examples |
1252
+ | `indraq help` | Same complete command catalog |
1253
+ | `indraq help <topic>` | Focused help for `configure`, `docker`, `mobile`, or `doctor` |
1214
1254
  | `indraq doctor` | Diagnose runtime / PATH prerequisites |
1215
1255
  | `indraq configure` | Open configuration home |
1216
- | `indraq deploy:dev` | Docker Development deployment |
1256
+
1257
+ ### Docker commands
1258
+
1259
+ | Command | Purpose |
1260
+ |---|---|
1261
+ | `indraq deploy:dev` | Docker Development build/push/deploy |
1217
1262
  | `indraq deploy:development` | Alias of `deploy:dev` |
1218
- | `indraq deploy:prod` | Docker Production deployment |
1263
+ | `indraq deploy:prod` | Docker Production build/push/deploy |
1219
1264
  | `indraq deploy:production` | Alias of `deploy:prod` |
1265
+ | `indraq deploy build --env dev` | Long-form Development command |
1266
+ | `indraq deploy build --env development` | Long-form Development alias |
1267
+ | `indraq deploy build --env prod` | Long-form Production command |
1268
+ | `indraq deploy build --env production` | Long-form Production alias |
1269
+ | `indraq deploy configure` | Open configuration home |
1270
+ | `indraq deploy:configure` | Alias for `indraq configure` |
1271
+
1272
+ ### Mobile commands
1273
+
1274
+ | Command | Purpose |
1275
+ |---|---|
1220
1276
  | `indraq build mobile:dev` | Mobile Development build |
1221
1277
  | `indraq build mobile:development` | Alias of `mobile:dev` |
1222
1278
  | `indraq build mobile:staging` | Mobile Staging build |
@@ -1226,13 +1282,23 @@ Docker/GHCR and Jenkins configuration remain compatible.
1226
1282
  Mobile flags:
1227
1283
 
1228
1284
  ```text
1229
- --output <dev-client|debug-apk|apk|aab>
1285
+ --output <dev-client|development-client|client|debug|debug-apk|apk|release-apk|aab|release-aab>
1230
1286
  --profile <fast|clean|full-reset>
1231
1287
  --verbose
1232
1288
  --dry-run
1233
1289
  -y, --yes
1234
1290
  ```
1235
1291
 
1292
+ ### Jenkins routing reminder
1293
+
1294
+ ```text
1295
+ Docker Development → Development Jenkins
1296
+ Docker Production → Production Jenkins
1297
+ Mobile Development → Production Jenkins
1298
+ Mobile Staging → Production Jenkins
1299
+ Mobile Production → Production Jenkins
1300
+ ```
1301
+
1236
1302
  ---
1237
1303
 
1238
1304
  ## Troubleshooting
@@ -1325,7 +1391,7 @@ Do not paste it into Jenkins.
1325
1391
  Make sure:
1326
1392
 
1327
1393
  1. Jenkins **File Parameter** plugin is installed;
1328
- 2. the job uses `templates/jenkins/Jenkinsfile-Mobile-App` from v1.5.1;
1394
+ 2. the job uses `templates/jenkins/Jenkinsfile-Mobile-App` from v1.5.7;
1329
1395
  3. Jenkins has registered the parameters;
1330
1396
  4. the Jenkins job is named exactly `Mobile app Cli build`.
1331
1397
 
@@ -1372,6 +1438,39 @@ npm install -g indraq_cli
1372
1438
 
1373
1439
  ---
1374
1440
 
1441
+
1442
+ ### `./gradlew: cannot execute: required file not found`
1443
+
1444
+ This normally means the mobile source snapshot came from Windows and `android/gradlew` contains CRLF line endings. IndraQ normalizes the wrapper automatically on Jenkins before the build and invokes it through Bash.
1445
+
1446
+ The Jenkins server provides the Android toolchain:
1447
+
1448
+ ```text
1449
+ Java → Jenkins server
1450
+ ANDROID_HOME → /opt/android-sdk
1451
+ Android NDKs → /opt/android-sdk/ndk/*
1452
+ Shared Gradle cache → $HOME/.gradle (normally /var/jenkins_home/.gradle)
1453
+ Preferred Gradle → exact cached wrapper distribution
1454
+ Server fallback → installed Gradle when it is the same major version
1455
+ Final fallback → project wrapper with 120-second download timeout
1456
+ ```
1457
+
1458
+ This restores the shared Gradle-cache behavior used by the earlier Git-checkout mobile pipeline. `FULL_RESET` deliberately preserves the server's `$HOME/.gradle` cache.
1459
+
1460
+ ### Gradle wrapper tries to download and times out
1461
+
1462
+ v1.5.7 first checks the Jenkins server's shared wrapper cache. If the requested distribution is already cached, the wrapper uses it without internet access. If there is no exact cached wrapper but Jenkins has a system Gradle from the same major version, IndraQ reuses the server Gradle. Only when neither option exists does the project wrapper attempt a download, with `networkTimeout=120000` applied to the temporary Jenkins copy of `gradle-wrapper.properties`.
1463
+
1464
+ If the Jenkins machine has neither a compatible installed Gradle nor the requested wrapper cached and it has no outbound access to Gradle distributions, install/cache the required Gradle version on that Jenkins machine once.
1465
+
1466
+ ### Jenkins logs contain `ha:////...`, look diagonal, or are unreadable in VS Code
1467
+
1468
+ The `ha:////...` strings are Jenkins `ConsoleNote` annotations embedded in raw `progressiveText`. The Jenkins browser UI renders/hides those annotations. v1.5.7 now consumes Jenkins `logText/progressiveHtml`—the same progressive endpoint used by the classic web console—and converts the rendered output back to plain terminal text.
1469
+
1470
+ The CLI also normalizes line endings and strips terminal control sequences. Upgrade to v1.5.7 or newer if you see raw `ha:////...` payloads or staircase/right-shifted output.
1471
+
1472
+ ---
1473
+
1375
1474
  ## Frequently asked questions
1376
1475
 
1377
1476
  ### Do I install IndraQ CLI in every project?
@@ -1537,7 +1636,7 @@ indraq diagnostics ...
1537
1636
  - [ ] command is run from package.json root
1538
1637
  - [ ] Production Jenkins connection configured (`indraq configure → Jenkins → Production`)
1539
1638
  - [ ] Jenkins File Parameter plugin installed
1540
- - [ ] Jenkins job uses the v1.5.1 mobile Jenkinsfile
1639
+ - [ ] Jenkins job uses the v1.5.7 mobile Jenkinsfile
1541
1640
  - [ ] Mobile project type configured
1542
1641
  - [ ] Jenkins job is named exactly `Mobile app Cli build` and exists on Production Jenkins
1543
1642
  - [ ] Development / Staging / Production defaults configured as needed
@@ -1558,3 +1657,10 @@ MIT License. See [`LICENSE`](LICENSE).
1558
1657
  <p align="center">
1559
1658
  <strong>Built and maintained by IndraQ Innovations.</strong>
1560
1659
  </p>
1660
+
1661
+
1662
+ ### Jenkins mobile upload returns HTTP 403
1663
+
1664
+ IndraQ CLI v1.5.7 preserves the Jenkins web-session cookie together with the CSRF crumb when a Jenkins username/password is used. Jenkins ties crumbs to the session that created them, so both values must travel together. API-token authentication is exempt from the crumb requirement.
1665
+
1666
+ If a mobile build still returns HTTP 403, v1.5.7 prints Jenkins' own response message. A permission error means the configured Jenkins user needs **Job/Read** and **Job/Build** on the `Mobile app Cli build` job. A CSRF error means the Jenkins controller or reverse proxy is rejecting the crumb/session and the printed Jenkins message should be used for diagnosis.
@@ -1 +1 @@
1
- {"version":3,"file":"create-program.d.ts","sourceRoot":"","sources":["../../src/cli/create-program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,aAAa,QAAO,OAsBhC,CAAC"}
1
+ {"version":3,"file":"create-program.d.ts","sourceRoot":"","sources":["../../src/cli/create-program.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBpC,eAAO,MAAM,aAAa,QAAO,OA6ChC,CAAC"}
@@ -1,17 +1,56 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.createProgram = void 0;
7
+ const node_fs_1 = require("node:fs");
8
+ const node_path_1 = __importDefault(require("node:path"));
9
+ const chalk_1 = __importDefault(require("chalk"));
4
10
  const commander_1 = require("commander");
5
11
  const deploy_1 = require("../modules/deploy");
6
12
  const mobile_1 = require("../modules/mobile");
7
13
  const configure_command_1 = require("../modules/configure/configure.command");
8
14
  const doctor_command_1 = require("./doctor.command");
15
+ const help_content_1 = require("./help-content");
16
+ const readCliVersion = () => {
17
+ try {
18
+ const packageJsonPath = node_path_1.default.resolve(__dirname, '../../package.json');
19
+ const packageJson = JSON.parse((0, node_fs_1.readFileSync)(packageJsonPath, 'utf8'));
20
+ if (typeof packageJson.version === 'string' && packageJson.version.trim()) {
21
+ return packageJson.version.trim();
22
+ }
23
+ }
24
+ catch {
25
+ // Fall through to a safe value if package metadata is unexpectedly unavailable.
26
+ }
27
+ return '0.0.0';
28
+ };
9
29
  const createProgram = () => {
10
30
  const program = new commander_1.Command();
11
31
  program
12
32
  .name('indraq')
13
33
  .description('IndraQ internal engineering CLI.')
14
- .version('1.5.1');
34
+ .version(readCliVersion())
35
+ .showSuggestionAfterError()
36
+ .showHelpAfterError('\nRun `indraq --help` to see the complete command reference.');
37
+ // Commander normally adds a very small `help [command]` command. IndraQ replaces
38
+ // it with a useful topic-aware help command while keeping normal `--help` support
39
+ // on every command/subcommand.
40
+ program.addHelpCommand(false);
41
+ program
42
+ .command('help [topic]')
43
+ .description('Show complete help or focused help for configure, docker, mobile, or doctor.')
44
+ .action((topic) => {
45
+ const parsed = (0, help_content_1.parseHelpTopic)(topic);
46
+ if (!parsed) {
47
+ console.error(chalk_1.default.red(`\n✗ Unknown help topic: ${topic ?? ''}`));
48
+ console.log(chalk_1.default.gray('Available topics: configure, docker, mobile, doctor\n'));
49
+ process.exitCode = 1;
50
+ return;
51
+ }
52
+ console.log((0, help_content_1.helpForTopic)(parsed));
53
+ });
15
54
  program
16
55
  .command('doctor')
17
56
  .description('Diagnose Node and command-resolution problems.')
@@ -22,6 +61,7 @@ const createProgram = () => {
22
61
  .action(async () => (0, configure_command_1.configure)());
23
62
  (0, deploy_1.registerDeployModule)(program);
24
63
  (0, mobile_1.registerMobileModule)(program);
64
+ program.addHelpText('after', (0, help_content_1.fullCommandReference)());
25
65
  return program;
26
66
  };
27
67
  exports.createProgram = createProgram;
@@ -1 +1 @@
1
- {"version":3,"file":"create-program.js","sourceRoot":"","sources":["../../src/cli/create-program.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AACpC,8CAAyD;AACzD,8CAAyD;AACzD,8EAAmE;AACnE,qDAA0C;AAEnC,MAAM,aAAa,GAAG,GAAY,EAAE;IACzC,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,QAAQ,CAAC;SACd,WAAW,CAAC,kCAAkC,CAAC;SAC/C,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,gDAAgD,CAAC;SAC7D,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,uBAAM,GAAE,CAAC,CAAC;IAE1B,OAAO;SACJ,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,kFAAkF,CAAC;SAC/F,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,IAAA,6BAAS,GAAE,CAAC,CAAC;IAEnC,IAAA,6BAAoB,EAAC,OAAO,CAAC,CAAC;IAC9B,IAAA,6BAAoB,EAAC,OAAO,CAAC,CAAC;IAE9B,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAtBW,QAAA,aAAa,iBAsBxB"}
1
+ {"version":3,"file":"create-program.js","sourceRoot":"","sources":["../../src/cli/create-program.ts"],"names":[],"mappings":";;;;;;AAAA,qCAAuC;AACvC,0DAA6B;AAC7B,kDAA0B;AAC1B,yCAAoC;AACpC,8CAAyD;AACzD,8CAAyD;AACzD,8EAAmE;AACnE,qDAA0C;AAC1C,iDAAoF;AAIpF,MAAM,cAAc,GAAG,GAAW,EAAE;IAClC,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,mBAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;QACtE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,eAAe,EAAE,MAAM,CAAC,CAA0B,CAAC;QAE/F,IAAI,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAC1E,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,gFAAgF;IAClF,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEK,MAAM,aAAa,GAAG,GAAY,EAAE;IACzC,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,QAAQ,CAAC;SACd,WAAW,CAAC,kCAAkC,CAAC;SAC/C,OAAO,CAAC,cAAc,EAAE,CAAC;SACzB,wBAAwB,EAAE;SAC1B,kBAAkB,CAAC,8DAA8D,CAAC,CAAC;IAEtF,iFAAiF;IACjF,kFAAkF;IAClF,+BAA+B;IAC/B,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAE9B,OAAO;SACJ,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,8EAA8E,CAAC;SAC3F,MAAM,CAAC,CAAC,KAAc,EAAE,EAAE;QACzB,MAAM,MAAM,GAAG,IAAA,6BAAc,EAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,2BAA2B,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC,CAAC;YACjF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,IAAA,2BAAY,EAAC,MAAM,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,gDAAgD,CAAC;SAC7D,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,uBAAM,GAAE,CAAC,CAAC;IAE1B,OAAO;SACJ,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,kFAAkF,CAAC;SAC/F,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,IAAA,6BAAS,GAAE,CAAC,CAAC;IAEnC,IAAA,6BAAoB,EAAC,OAAO,CAAC,CAAC;IAC9B,IAAA,6BAAoB,EAAC,OAAO,CAAC,CAAC;IAE9B,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,IAAA,mCAAoB,GAAE,CAAC,CAAC;IAErD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AA7CW,QAAA,aAAa,iBA6CxB"}
@@ -0,0 +1,5 @@
1
+ export type HelpTopic = 'all' | 'configure' | 'docker' | 'mobile' | 'doctor';
2
+ export declare const fullCommandReference: () => string;
3
+ export declare const helpForTopic: (topic: HelpTopic) => string;
4
+ export declare const parseHelpTopic: (value?: string) => HelpTopic | undefined;
5
+ //# sourceMappingURL=help-content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help-content.d.ts","sourceRoot":"","sources":["../../src/cli/help-content.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAM7E,eAAO,MAAM,oBAAoB,QAAO,MAgFvC,CAAC;AA2GF,eAAO,MAAM,YAAY,GAAI,OAAO,SAAS,KAAG,MAM/C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,SAAS,GAAG,SAS3D,CAAC"}
@@ -0,0 +1,223 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.parseHelpTopic = exports.helpForTopic = exports.fullCommandReference = void 0;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const heading = (value) => chalk_1.default.bold(value);
9
+ const command = (value) => chalk_1.default.cyan(value);
10
+ const note = (value) => chalk_1.default.gray(value);
11
+ const fullCommandReference = () => `
12
+ ${heading('Complete command reference')}
13
+
14
+ ${heading('Core')}
15
+ ${command('indraq --version')} Show installed CLI version
16
+ ${command('indraq --help')} Show this complete help screen
17
+ ${command('indraq help')} Show this complete help screen
18
+ ${command('indraq help <topic>')} Help topic: configure, docker, mobile, doctor
19
+ ${command('indraq doctor')} Diagnose Node, Java, Git, tar and PATH issues
20
+ ${command('indraq configure')} Open the project configuration home
21
+
22
+ ${heading('Docker / GHCR deployment')}
23
+ ${command('indraq deploy:dev')} Build, push and deploy Development
24
+ ${command('indraq deploy:development')} Alias for deploy:dev
25
+ ${command('indraq deploy:prod')} Build, push and deploy Production
26
+ ${command('indraq deploy:production')} Alias for deploy:prod
27
+ ${command('indraq deploy build --env dev')} Long-form Development deployment
28
+ ${command('indraq deploy build --env development')} Long-form Development alias
29
+ ${command('indraq deploy build --env prod')} Long-form Production deployment
30
+ ${command('indraq deploy build --env production')} Long-form Production alias
31
+ ${command('indraq deploy configure')} Open the main configuration home
32
+ ${command('indraq deploy:configure')} Alias for indraq configure
33
+
34
+ ${heading('Mobile Android builds')}
35
+ ${command('indraq build mobile:dev')} Mobile Development build
36
+ ${command('indraq build mobile:development')} Alias for mobile:dev
37
+ ${command('indraq build mobile:staging')} Mobile Staging build
38
+ ${command('indraq build mobile:prod')} Mobile Production build
39
+ ${command('indraq build mobile:production')} Alias for mobile:prod
40
+
41
+ ${heading('Mobile build flags')}
42
+ ${command('--output <output>')} One-build output override
43
+ dev-client | development-client | client
44
+ debug | debug-apk
45
+ apk | release-apk
46
+ aab | release-aab
47
+
48
+ ${command('--profile <profile>')} One-build profile override
49
+ fast | clean | full-reset
50
+
51
+ ${command('--verbose')} Verbose Gradle/Jenkins output
52
+ ${command('--dry-run')} Validate and print plan; do not start Jenkins
53
+ ${command('-y, --yes')} Skip final build confirmation
54
+
55
+ ${heading('Configuration home')}
56
+ ${command('indraq configure')}
57
+ Jenkins
58
+ Development → Docker Development deployments
59
+ Production → Docker Production + ALL mobile builds
60
+
61
+ Docker / GHCR
62
+ Development
63
+ Production
64
+
65
+ Mobile App
66
+ Project settings
67
+ Version & versionCode
68
+ Development
69
+ Staging
70
+ Production
71
+
72
+ Review current project configuration
73
+ Exit
74
+
75
+ ${heading('Environment routing')}
76
+ Docker Development → Development Jenkins
77
+ Docker Production → Production Jenkins
78
+ Mobile Development → Production Jenkins
79
+ Mobile Staging → Production Jenkins
80
+ Mobile Production → Production Jenkins
81
+
82
+ ${heading('Examples')}
83
+ ${command('indraq configure')}
84
+ ${command('indraq deploy:dev')}
85
+ ${command('indraq deploy:prod')}
86
+ ${command('indraq build mobile:dev --dry-run')}
87
+ ${command('indraq build mobile:staging --output apk')}
88
+ ${command('indraq build mobile:prod --output aab --profile clean --verbose')}
89
+
90
+ ${note('Tip: use `indraq help mobile` or `indraq help docker` for focused help.')}
91
+ `;
92
+ exports.fullCommandReference = fullCommandReference;
93
+ const configureHelp = () => `
94
+ ${heading('IndraQ configuration')}
95
+
96
+ ${command('indraq configure')}
97
+
98
+ The configuration home lets you change only the section you need and always returns to the home screen after a change.
99
+
100
+ ${heading('Sections')}
101
+ Jenkins
102
+ Development → Docker Development deployments
103
+ Production → Docker Production + ALL mobile builds
104
+
105
+ Docker / GHCR
106
+ Development image + Dockerfile
107
+ Production image + Dockerfile
108
+ GitHub personal/organization GHCR owner
109
+
110
+ Mobile App
111
+ App name + project type
112
+ Android Version + versionCode + auto-increment switches
113
+ Development output/profile
114
+ Staging output/profile
115
+ Production output/profile
116
+
117
+ Review current project configuration
118
+ Exit
119
+
120
+ ${note('Jenkins credentials are local-only. Safe project configuration is stored under .indraq/ and can survive Git.')}
121
+ `;
122
+ const dockerHelp = () => `
123
+ ${heading('Docker / GHCR deployment')}
124
+
125
+ ${heading('Commands')}
126
+ ${command('indraq deploy:dev')} Development
127
+ ${command('indraq deploy:development')} Development alias
128
+ ${command('indraq deploy:prod')} Production
129
+ ${command('indraq deploy:production')} Production alias
130
+ ${command('indraq deploy build --env dev')} Long form
131
+ ${command('indraq deploy build --env prod')} Long form
132
+
133
+ ${heading('Flow')}
134
+ Docker build → existing Docker GHCR credentials → GHCR push → Jenkins deployment
135
+
136
+ ${heading('Jenkins mapping')}
137
+ Development → Development Jenkins
138
+ Production → Production Jenkins
139
+
140
+ ${heading('Important')}
141
+ IndraQ does not run docker login during deployment. It preserves Docker's existing GHCR credential store.
142
+ `;
143
+ const mobileHelp = () => `
144
+ ${heading('Mobile Android builds')}
145
+
146
+ ${heading('Commands')}
147
+ ${command('indraq build mobile:dev')} Development
148
+ ${command('indraq build mobile:development')} Development alias
149
+ ${command('indraq build mobile:staging')} Staging
150
+ ${command('indraq build mobile:prod')} Production
151
+ ${command('indraq build mobile:production')} Production alias
152
+
153
+ ${heading('Flags')}
154
+ ${command('--output <output>')} dev-client | debug-apk | apk | aab
155
+ ${command('--profile <profile>')} fast | clean | full-reset
156
+ ${command('--verbose')} Verbose Gradle/Jenkins output
157
+ ${command('--dry-run')} Validate only; do not upload/build
158
+ ${command('-y, --yes')} Skip final confirmation
159
+
160
+ ${heading('Allowed build matrix')}
161
+ Expo / Development → Development Client
162
+ Expo / Staging → Release APK or Release AAB
163
+ Expo / Production → Release APK or Release AAB
164
+ React Native / Development → Debug APK
165
+ React Native / Staging → Release APK or Release AAB
166
+ React Native / Production → Release APK or Release AAB
167
+
168
+ ${heading('Jenkins')}
169
+ ALL mobile environments use Production Jenkins.
170
+ Jenkins job: Mobile app Cli build
171
+
172
+ ${heading('Versioning')}
173
+ Android Version and versionCode are configured through:
174
+ ${command('indraq configure')} → Mobile App → Version & versionCode
175
+
176
+ ${heading('Examples')}
177
+ ${command('indraq build mobile:dev --dry-run')}
178
+ ${command('indraq build mobile:staging --output apk')}
179
+ ${command('indraq build mobile:prod --output aab --profile clean --verbose --yes')}
180
+ `;
181
+ const doctorHelp = () => `
182
+ ${heading('IndraQ doctor')}
183
+
184
+ ${command('indraq doctor')}
185
+
186
+ Checks:
187
+ • Node.js version
188
+ • Java availability
189
+ • Git availability
190
+ • tar availability
191
+ • Windows command-resolution order
192
+ • whether another file/app is shadowing the indraq command
193
+ `;
194
+ const helpForTopic = (topic) => {
195
+ if (topic === 'configure')
196
+ return configureHelp();
197
+ if (topic === 'docker')
198
+ return dockerHelp();
199
+ if (topic === 'mobile')
200
+ return mobileHelp();
201
+ if (topic === 'doctor')
202
+ return doctorHelp();
203
+ return (0, exports.fullCommandReference)();
204
+ };
205
+ exports.helpForTopic = helpForTopic;
206
+ const parseHelpTopic = (value) => {
207
+ if (!value)
208
+ return 'all';
209
+ const normalized = value.trim().toLowerCase();
210
+ if (normalized === 'all')
211
+ return 'all';
212
+ if (normalized === 'configure' || normalized === 'config')
213
+ return 'configure';
214
+ if (normalized === 'docker' || normalized === 'deploy' || normalized === 'ghcr')
215
+ return 'docker';
216
+ if (normalized === 'mobile' || normalized === 'android' || normalized === 'build')
217
+ return 'mobile';
218
+ if (normalized === 'doctor' || normalized === 'diagnostics' || normalized === 'diagnostic')
219
+ return 'doctor';
220
+ return undefined;
221
+ };
222
+ exports.parseHelpTopic = parseHelpTopic;
223
+ //# sourceMappingURL=help-content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help-content.js","sourceRoot":"","sources":["../../src/cli/help-content.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"build.command.d.ts","sourceRoot":"","sources":["../../../../src/modules/deploy/commands/build.command.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AAsBjC,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,qBAAqB,CAAC;CAC5B;AA2BD,eAAO,MAAM,KAAK,GAAU,SAAS,YAAY,KAAG,OAAO,CAAC,IAAI,CAmK/D,CAAC"}
1
+ {"version":3,"file":"build.command.d.ts","sourceRoot":"","sources":["../../../../src/modules/deploy/commands/build.command.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AAiBjC,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,qBAAqB,CAAC;CAC5B;AA2BD,eAAO,MAAM,KAAK,GAAU,SAAS,YAAY,KAAG,OAAO,CAAC,IAAI,CAyJ/D,CAAC"}