@gpc-cli/cli 0.9.63 → 0.9.64
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 +12 -8
- package/dist/{__complete-QFD3SUAO.js → __complete-AZXI2O25.js} +2 -4
- package/dist/__complete-AZXI2O25.js.map +1 -0
- package/dist/{audit-M7GYID74.js → audit-BDPS5ODN.js} +4 -4
- package/dist/bin.js +2 -2
- package/dist/{changelog-MPBEELTH.js → changelog-EHQYZP22.js} +64 -6
- package/dist/changelog-EHQYZP22.js.map +1 -0
- package/dist/{chunk-QXXXY5CO.js → chunk-I3SFXLIY.js} +29 -29
- package/dist/{completion-4I3IJK3M.js → completion-ZK7RPPFD.js} +7 -3
- package/dist/{completion-4I3IJK3M.js.map → completion-ZK7RPPFD.js.map} +1 -1
- package/dist/{config-JMLIMKYJ.js → config-SK7BOURM.js} +5 -5
- package/dist/docs-WVJCDX5X.js +378 -0
- package/dist/docs-WVJCDX5X.js.map +1 -0
- package/dist/{doctor-2R7WLRD4.js → doctor-FSUI44DD.js} +5 -5
- package/dist/{enterprise-SIKXDT64.js → enterprise-L7DTIX2O.js} +4 -4
- package/dist/{external-transactions-JL3G4IG5.js → external-transactions-BP42CK3H.js} +4 -4
- package/dist/{feedback-MLQTM5EB.js → feedback-PDQU5E6S.js} +2 -2
- package/dist/generated/docs-bundle.json +1 -0
- package/dist/{grants-UHNBPIFD.js → grants-32DED5QL.js} +4 -4
- package/dist/{iap-ETOL7OAC.js → iap-EPJ76IAC.js} +4 -4
- package/dist/index.js +1 -1
- package/dist/{init-6CCSVJC2.js → init-OCBFI4VH.js} +6 -6
- package/dist/{listings-2Z6DSO3D.js → listings-QKRIVZG6.js} +6 -6
- package/dist/{one-time-products-Y5RNIPV2.js → one-time-products-OIDBVCFE.js} +4 -4
- package/dist/{publish-5HZAJEDZ.js → publish-H2IAOKP7.js} +4 -4
- package/dist/{purchases-AHWGLW6V.js → purchases-GFLYTKR3.js} +4 -4
- package/dist/{recovery-B7DZQ6XG.js → recovery-2VJJLAIQ.js} +4 -4
- package/dist/{releases-XY57V22L.js → releases-RTF5NPTD.js} +4 -4
- package/dist/{reviews-P4M6BEJI.js → reviews-GZ2VOIRN.js} +4 -4
- package/dist/{subscriptions-GTVJB4HX.js → subscriptions-JPHFBREY.js} +4 -4
- package/dist/{system-apks-L6M7QYB3.js → system-apks-KWTN5LHO.js} +4 -4
- package/dist/{testers-FGLBJAXL.js → testers-7ILUCKYB.js} +4 -4
- package/dist/{train-D2NKUW3M.js → train-G44NEK43.js} +4 -4
- package/dist/{update-MHWSESO4.js → update-E4VGHQUR.js} +2 -2
- package/dist/{users-FOMAT7DY.js → users-W66YCFDX.js} +4 -4
- package/dist/{version-ZHOZKZ2I.js → version-HXUIOHCL.js} +2 -2
- package/package.json +4 -2
- package/dist/__complete-QFD3SUAO.js.map +0 -1
- package/dist/changelog-MPBEELTH.js.map +0 -1
- package/dist/docs-GP6AEX4N.js +0 -115
- package/dist/docs-GP6AEX4N.js.map +0 -1
- /package/dist/{audit-M7GYID74.js.map → audit-BDPS5ODN.js.map} +0 -0
- /package/dist/{chunk-QXXXY5CO.js.map → chunk-I3SFXLIY.js.map} +0 -0
- /package/dist/{config-JMLIMKYJ.js.map → config-SK7BOURM.js.map} +0 -0
- /package/dist/{doctor-2R7WLRD4.js.map → doctor-FSUI44DD.js.map} +0 -0
- /package/dist/{enterprise-SIKXDT64.js.map → enterprise-L7DTIX2O.js.map} +0 -0
- /package/dist/{external-transactions-JL3G4IG5.js.map → external-transactions-BP42CK3H.js.map} +0 -0
- /package/dist/{feedback-MLQTM5EB.js.map → feedback-PDQU5E6S.js.map} +0 -0
- /package/dist/{grants-UHNBPIFD.js.map → grants-32DED5QL.js.map} +0 -0
- /package/dist/{iap-ETOL7OAC.js.map → iap-EPJ76IAC.js.map} +0 -0
- /package/dist/{init-6CCSVJC2.js.map → init-OCBFI4VH.js.map} +0 -0
- /package/dist/{listings-2Z6DSO3D.js.map → listings-QKRIVZG6.js.map} +0 -0
- /package/dist/{one-time-products-Y5RNIPV2.js.map → one-time-products-OIDBVCFE.js.map} +0 -0
- /package/dist/{publish-5HZAJEDZ.js.map → publish-H2IAOKP7.js.map} +0 -0
- /package/dist/{purchases-AHWGLW6V.js.map → purchases-GFLYTKR3.js.map} +0 -0
- /package/dist/{recovery-B7DZQ6XG.js.map → recovery-2VJJLAIQ.js.map} +0 -0
- /package/dist/{releases-XY57V22L.js.map → releases-RTF5NPTD.js.map} +0 -0
- /package/dist/{reviews-P4M6BEJI.js.map → reviews-GZ2VOIRN.js.map} +0 -0
- /package/dist/{subscriptions-GTVJB4HX.js.map → subscriptions-JPHFBREY.js.map} +0 -0
- /package/dist/{system-apks-L6M7QYB3.js.map → system-apks-KWTN5LHO.js.map} +0 -0
- /package/dist/{testers-FGLBJAXL.js.map → testers-7ILUCKYB.js.map} +0 -0
- /package/dist/{train-D2NKUW3M.js.map → train-G44NEK43.js.map} +0 -0
- /package/dist/{update-MHWSESO4.js.map → update-E4VGHQUR.js.map} +0 -0
- /package/dist/{users-FOMAT7DY.js.map → users-W66YCFDX.js.map} +0 -0
- /package/dist/{version-ZHOZKZ2I.js.map → version-HXUIOHCL.js.map} +0 -0
|
@@ -3,12 +3,12 @@ import {
|
|
|
3
3
|
isDryRun,
|
|
4
4
|
printDryRun
|
|
5
5
|
} from "./chunk-Y3QZDAKS.js";
|
|
6
|
-
import {
|
|
7
|
-
getOutputFormat
|
|
8
|
-
} from "./chunk-ELXAK7GI.js";
|
|
9
6
|
import {
|
|
10
7
|
requireConfirm
|
|
11
8
|
} from "./chunk-RZQSEDKI.js";
|
|
9
|
+
import {
|
|
10
|
+
getOutputFormat
|
|
11
|
+
} from "./chunk-ELXAK7GI.js";
|
|
12
12
|
|
|
13
13
|
// src/commands/grants.ts
|
|
14
14
|
import { loadConfig } from "@gpc-cli/config";
|
|
@@ -128,4 +128,4 @@ function registerGrantsCommands(program) {
|
|
|
128
128
|
export {
|
|
129
129
|
registerGrantsCommands
|
|
130
130
|
};
|
|
131
|
-
//# sourceMappingURL=grants-
|
|
131
|
+
//# sourceMappingURL=grants-32DED5QL.js.map
|
|
@@ -10,12 +10,12 @@ import {
|
|
|
10
10
|
isDryRun,
|
|
11
11
|
printDryRun
|
|
12
12
|
} from "./chunk-Y3QZDAKS.js";
|
|
13
|
-
import {
|
|
14
|
-
getOutputFormat
|
|
15
|
-
} from "./chunk-ELXAK7GI.js";
|
|
16
13
|
import {
|
|
17
14
|
requireConfirm
|
|
18
15
|
} from "./chunk-RZQSEDKI.js";
|
|
16
|
+
import {
|
|
17
|
+
getOutputFormat
|
|
18
|
+
} from "./chunk-ELXAK7GI.js";
|
|
19
19
|
|
|
20
20
|
// src/commands/iap.ts
|
|
21
21
|
import { loadConfig } from "@gpc-cli/config";
|
|
@@ -201,4 +201,4 @@ function registerIapCommands(program) {
|
|
|
201
201
|
export {
|
|
202
202
|
registerIapCommands
|
|
203
203
|
};
|
|
204
|
-
//# sourceMappingURL=iap-
|
|
204
|
+
//# sourceMappingURL=iap-EPJ76IAC.js.map
|
package/dist/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
dim,
|
|
4
|
-
green,
|
|
5
|
-
yellow
|
|
6
|
-
} from "./chunk-FAN4ZITI.js";
|
|
7
2
|
import {
|
|
8
3
|
isInteractive,
|
|
9
4
|
promptInput,
|
|
10
5
|
promptSelect
|
|
11
6
|
} from "./chunk-RZQSEDKI.js";
|
|
7
|
+
import {
|
|
8
|
+
dim,
|
|
9
|
+
green,
|
|
10
|
+
yellow
|
|
11
|
+
} from "./chunk-FAN4ZITI.js";
|
|
12
12
|
|
|
13
13
|
// src/commands/init.ts
|
|
14
14
|
import { initProject } from "@gpc-cli/core";
|
|
@@ -67,4 +67,4 @@ function registerInitCommand(program) {
|
|
|
67
67
|
export {
|
|
68
68
|
registerInitCommand
|
|
69
69
|
};
|
|
70
|
-
//# sourceMappingURL=init-
|
|
70
|
+
//# sourceMappingURL=init-OCBFI4VH.js.map
|
|
@@ -10,6 +10,11 @@ import {
|
|
|
10
10
|
isDryRun,
|
|
11
11
|
printDryRun
|
|
12
12
|
} from "./chunk-Y3QZDAKS.js";
|
|
13
|
+
import {
|
|
14
|
+
isInteractive,
|
|
15
|
+
requireConfirm,
|
|
16
|
+
requireOption
|
|
17
|
+
} from "./chunk-RZQSEDKI.js";
|
|
13
18
|
import {
|
|
14
19
|
green,
|
|
15
20
|
red
|
|
@@ -17,11 +22,6 @@ import {
|
|
|
17
22
|
import {
|
|
18
23
|
getOutputFormat
|
|
19
24
|
} from "./chunk-ELXAK7GI.js";
|
|
20
|
-
import {
|
|
21
|
-
isInteractive,
|
|
22
|
-
requireConfirm,
|
|
23
|
-
requireOption
|
|
24
|
-
} from "./chunk-RZQSEDKI.js";
|
|
25
25
|
|
|
26
26
|
// src/commands/listings.ts
|
|
27
27
|
import { loadConfig } from "@gpc-cli/config";
|
|
@@ -448,4 +448,4 @@ Missing locales: ${missingLocales.join(", ")}`);
|
|
|
448
448
|
export {
|
|
449
449
|
registerListingsCommands
|
|
450
450
|
};
|
|
451
|
-
//# sourceMappingURL=listings-
|
|
451
|
+
//# sourceMappingURL=listings-QKRIVZG6.js.map
|
|
@@ -10,12 +10,12 @@ import {
|
|
|
10
10
|
isDryRun,
|
|
11
11
|
printDryRun
|
|
12
12
|
} from "./chunk-Y3QZDAKS.js";
|
|
13
|
-
import {
|
|
14
|
-
getOutputFormat
|
|
15
|
-
} from "./chunk-ELXAK7GI.js";
|
|
16
13
|
import {
|
|
17
14
|
requireConfirm
|
|
18
15
|
} from "./chunk-RZQSEDKI.js";
|
|
16
|
+
import {
|
|
17
|
+
getOutputFormat
|
|
18
|
+
} from "./chunk-ELXAK7GI.js";
|
|
19
19
|
|
|
20
20
|
// src/commands/one-time-products.ts
|
|
21
21
|
import { loadConfig } from "@gpc-cli/config";
|
|
@@ -469,4 +469,4 @@ function registerOneTimeProductsCommands(program) {
|
|
|
469
469
|
export {
|
|
470
470
|
registerOneTimeProductsCommands
|
|
471
471
|
};
|
|
472
|
-
//# sourceMappingURL=one-time-products-
|
|
472
|
+
//# sourceMappingURL=one-time-products-OIDBVCFE.js.map
|
|
@@ -8,14 +8,14 @@ import {
|
|
|
8
8
|
import {
|
|
9
9
|
isDryRun
|
|
10
10
|
} from "./chunk-Y3QZDAKS.js";
|
|
11
|
-
import {
|
|
12
|
-
getOutputFormat
|
|
13
|
-
} from "./chunk-ELXAK7GI.js";
|
|
14
11
|
import {
|
|
15
12
|
isInteractive,
|
|
16
13
|
promptInput,
|
|
17
14
|
promptSelect
|
|
18
15
|
} from "./chunk-RZQSEDKI.js";
|
|
16
|
+
import {
|
|
17
|
+
getOutputFormat
|
|
18
|
+
} from "./chunk-ELXAK7GI.js";
|
|
19
19
|
|
|
20
20
|
// src/commands/publish.ts
|
|
21
21
|
import { appendFile, stat } from "fs/promises";
|
|
@@ -227,4 +227,4 @@ function registerPublishCommand(program) {
|
|
|
227
227
|
export {
|
|
228
228
|
registerPublishCommand
|
|
229
229
|
};
|
|
230
|
-
//# sourceMappingURL=publish-
|
|
230
|
+
//# sourceMappingURL=publish-H2IAOKP7.js.map
|
|
@@ -7,14 +7,14 @@ import {
|
|
|
7
7
|
isDryRun,
|
|
8
8
|
printDryRun
|
|
9
9
|
} from "./chunk-Y3QZDAKS.js";
|
|
10
|
-
import {
|
|
11
|
-
getOutputFormat
|
|
12
|
-
} from "./chunk-ELXAK7GI.js";
|
|
13
10
|
import {
|
|
14
11
|
isInteractive,
|
|
15
12
|
requireConfirm,
|
|
16
13
|
requireOption
|
|
17
14
|
} from "./chunk-RZQSEDKI.js";
|
|
15
|
+
import {
|
|
16
|
+
getOutputFormat
|
|
17
|
+
} from "./chunk-ELXAK7GI.js";
|
|
18
18
|
|
|
19
19
|
// src/commands/purchases.ts
|
|
20
20
|
import { Option } from "commander";
|
|
@@ -396,4 +396,4 @@ Use one of these instead:
|
|
|
396
396
|
export {
|
|
397
397
|
registerPurchasesCommands
|
|
398
398
|
};
|
|
399
|
-
//# sourceMappingURL=purchases-
|
|
399
|
+
//# sourceMappingURL=purchases-GFLYTKR3.js.map
|
|
@@ -7,12 +7,12 @@ import {
|
|
|
7
7
|
isDryRun,
|
|
8
8
|
printDryRun
|
|
9
9
|
} from "./chunk-Y3QZDAKS.js";
|
|
10
|
-
import {
|
|
11
|
-
getOutputFormat
|
|
12
|
-
} from "./chunk-ELXAK7GI.js";
|
|
13
10
|
import {
|
|
14
11
|
requireConfirm
|
|
15
12
|
} from "./chunk-RZQSEDKI.js";
|
|
13
|
+
import {
|
|
14
|
+
getOutputFormat
|
|
15
|
+
} from "./chunk-ELXAK7GI.js";
|
|
16
16
|
|
|
17
17
|
// src/commands/recovery.ts
|
|
18
18
|
import { loadConfig } from "@gpc-cli/config";
|
|
@@ -170,4 +170,4 @@ function registerRecoveryCommands(program) {
|
|
|
170
170
|
export {
|
|
171
171
|
registerRecoveryCommands
|
|
172
172
|
};
|
|
173
|
-
//# sourceMappingURL=recovery-
|
|
173
|
+
//# sourceMappingURL=recovery-2VJJLAIQ.js.map
|
|
@@ -6,9 +6,6 @@ import {
|
|
|
6
6
|
isDryRun,
|
|
7
7
|
printDryRun
|
|
8
8
|
} from "./chunk-Y3QZDAKS.js";
|
|
9
|
-
import {
|
|
10
|
-
getOutputFormat
|
|
11
|
-
} from "./chunk-ELXAK7GI.js";
|
|
12
9
|
import {
|
|
13
10
|
isInteractive,
|
|
14
11
|
promptInput,
|
|
@@ -16,6 +13,9 @@ import {
|
|
|
16
13
|
requireConfirm,
|
|
17
14
|
requireOption
|
|
18
15
|
} from "./chunk-RZQSEDKI.js";
|
|
16
|
+
import {
|
|
17
|
+
getOutputFormat
|
|
18
|
+
} from "./chunk-ELXAK7GI.js";
|
|
19
19
|
|
|
20
20
|
// src/commands/releases.ts
|
|
21
21
|
import { appendFile, stat } from "fs/promises";
|
|
@@ -593,4 +593,4 @@ function registerReleasesCommands(program) {
|
|
|
593
593
|
export {
|
|
594
594
|
registerReleasesCommands
|
|
595
595
|
};
|
|
596
|
-
//# sourceMappingURL=releases-
|
|
596
|
+
//# sourceMappingURL=releases-RTF5NPTD.js.map
|
|
@@ -7,13 +7,13 @@ import {
|
|
|
7
7
|
isDryRun,
|
|
8
8
|
printDryRun
|
|
9
9
|
} from "./chunk-Y3QZDAKS.js";
|
|
10
|
-
import {
|
|
11
|
-
getOutputFormat
|
|
12
|
-
} from "./chunk-ELXAK7GI.js";
|
|
13
10
|
import {
|
|
14
11
|
isInteractive,
|
|
15
12
|
requireOption
|
|
16
13
|
} from "./chunk-RZQSEDKI.js";
|
|
14
|
+
import {
|
|
15
|
+
getOutputFormat
|
|
16
|
+
} from "./chunk-ELXAK7GI.js";
|
|
17
17
|
|
|
18
18
|
// src/commands/reviews.ts
|
|
19
19
|
import { loadConfig } from "@gpc-cli/config";
|
|
@@ -194,4 +194,4 @@ Rating distribution:`);
|
|
|
194
194
|
export {
|
|
195
195
|
registerReviewsCommands
|
|
196
196
|
};
|
|
197
|
-
//# sourceMappingURL=reviews-
|
|
197
|
+
//# sourceMappingURL=reviews-GZ2VOIRN.js.map
|
|
@@ -10,12 +10,12 @@ import {
|
|
|
10
10
|
isDryRun,
|
|
11
11
|
printDryRun
|
|
12
12
|
} from "./chunk-Y3QZDAKS.js";
|
|
13
|
-
import {
|
|
14
|
-
getOutputFormat
|
|
15
|
-
} from "./chunk-ELXAK7GI.js";
|
|
16
13
|
import {
|
|
17
14
|
requireConfirm
|
|
18
15
|
} from "./chunk-RZQSEDKI.js";
|
|
16
|
+
import {
|
|
17
|
+
getOutputFormat
|
|
18
|
+
} from "./chunk-ELXAK7GI.js";
|
|
19
19
|
|
|
20
20
|
// src/commands/subscriptions.ts
|
|
21
21
|
import { Option } from "commander";
|
|
@@ -507,4 +507,4 @@ By product:`);
|
|
|
507
507
|
export {
|
|
508
508
|
registerSubscriptionsCommands
|
|
509
509
|
};
|
|
510
|
-
//# sourceMappingURL=subscriptions-
|
|
510
|
+
//# sourceMappingURL=subscriptions-JPHFBREY.js.map
|
|
@@ -10,12 +10,12 @@ import {
|
|
|
10
10
|
isDryRun,
|
|
11
11
|
printDryRun
|
|
12
12
|
} from "./chunk-Y3QZDAKS.js";
|
|
13
|
-
import {
|
|
14
|
-
getOutputFormat
|
|
15
|
-
} from "./chunk-ELXAK7GI.js";
|
|
16
13
|
import {
|
|
17
14
|
requireConfirm
|
|
18
15
|
} from "./chunk-RZQSEDKI.js";
|
|
16
|
+
import {
|
|
17
|
+
getOutputFormat
|
|
18
|
+
} from "./chunk-ELXAK7GI.js";
|
|
19
19
|
|
|
20
20
|
// src/commands/system-apks.ts
|
|
21
21
|
import { loadConfig } from "@gpc-cli/config";
|
|
@@ -108,4 +108,4 @@ function registerSystemApksCommands(program) {
|
|
|
108
108
|
export {
|
|
109
109
|
registerSystemApksCommands
|
|
110
110
|
};
|
|
111
|
-
//# sourceMappingURL=system-apks-
|
|
111
|
+
//# sourceMappingURL=system-apks-KWTN5LHO.js.map
|
|
@@ -10,14 +10,14 @@ import {
|
|
|
10
10
|
isDryRun,
|
|
11
11
|
printDryRun
|
|
12
12
|
} from "./chunk-Y3QZDAKS.js";
|
|
13
|
-
import {
|
|
14
|
-
getOutputFormat
|
|
15
|
-
} from "./chunk-ELXAK7GI.js";
|
|
16
13
|
import {
|
|
17
14
|
isInteractive,
|
|
18
15
|
requireConfirm,
|
|
19
16
|
requireOption
|
|
20
17
|
} from "./chunk-RZQSEDKI.js";
|
|
18
|
+
import {
|
|
19
|
+
getOutputFormat
|
|
20
|
+
} from "./chunk-ELXAK7GI.js";
|
|
21
21
|
|
|
22
22
|
// src/commands/testers.ts
|
|
23
23
|
import { loadConfig } from "@gpc-cli/config";
|
|
@@ -188,4 +188,4 @@ function registerTestersCommands(program) {
|
|
|
188
188
|
export {
|
|
189
189
|
registerTestersCommands
|
|
190
190
|
};
|
|
191
|
-
//# sourceMappingURL=testers-
|
|
191
|
+
//# sourceMappingURL=testers-7ILUCKYB.js.map
|
|
@@ -6,12 +6,12 @@ import {
|
|
|
6
6
|
isDryRun,
|
|
7
7
|
printDryRun
|
|
8
8
|
} from "./chunk-Y3QZDAKS.js";
|
|
9
|
-
import {
|
|
10
|
-
getOutputFormat
|
|
11
|
-
} from "./chunk-ELXAK7GI.js";
|
|
12
9
|
import {
|
|
13
10
|
requireConfirm
|
|
14
11
|
} from "./chunk-RZQSEDKI.js";
|
|
12
|
+
import {
|
|
13
|
+
getOutputFormat
|
|
14
|
+
} from "./chunk-ELXAK7GI.js";
|
|
15
15
|
|
|
16
16
|
// src/commands/train.ts
|
|
17
17
|
import { loadConfig } from "@gpc-cli/config";
|
|
@@ -122,4 +122,4 @@ function registerTrainCommands(program) {
|
|
|
122
122
|
export {
|
|
123
123
|
registerTrainCommands
|
|
124
124
|
};
|
|
125
|
-
//# sourceMappingURL=train-
|
|
125
|
+
//# sourceMappingURL=train-G44NEK43.js.map
|
|
@@ -17,7 +17,7 @@ function registerUpdateCommand(program) {
|
|
|
17
17
|
program.command("update").description("Update gpc to the latest version").option("--check", "Check for updates without installing (exits 0 always)").option("--force", "Update even if already on the latest version").action(async (opts, cmd) => {
|
|
18
18
|
const parentOpts = cmd.parent?.opts() ?? {};
|
|
19
19
|
const jsonMode = !!(parentOpts["json"] || parentOpts["output"] === "json");
|
|
20
|
-
const currentVersion = "0.9.
|
|
20
|
+
const currentVersion = "0.9.64";
|
|
21
21
|
if (currentVersion === "0.0.0") {
|
|
22
22
|
if (jsonMode) {
|
|
23
23
|
console.log(
|
|
@@ -172,4 +172,4 @@ Run: gpc update`);
|
|
|
172
172
|
export {
|
|
173
173
|
registerUpdateCommand
|
|
174
174
|
};
|
|
175
|
-
//# sourceMappingURL=update-
|
|
175
|
+
//# sourceMappingURL=update-E4VGHQUR.js.map
|
|
@@ -3,12 +3,12 @@ import {
|
|
|
3
3
|
isDryRun,
|
|
4
4
|
printDryRun
|
|
5
5
|
} from "./chunk-Y3QZDAKS.js";
|
|
6
|
-
import {
|
|
7
|
-
getOutputFormat
|
|
8
|
-
} from "./chunk-ELXAK7GI.js";
|
|
9
6
|
import {
|
|
10
7
|
requireConfirm
|
|
11
8
|
} from "./chunk-RZQSEDKI.js";
|
|
9
|
+
import {
|
|
10
|
+
getOutputFormat
|
|
11
|
+
} from "./chunk-ELXAK7GI.js";
|
|
12
12
|
|
|
13
13
|
// src/commands/users.ts
|
|
14
14
|
import { loadConfig } from "@gpc-cli/config";
|
|
@@ -162,4 +162,4 @@ function registerUsersCommands(program) {
|
|
|
162
162
|
export {
|
|
163
163
|
registerUsersCommands
|
|
164
164
|
};
|
|
165
|
-
//# sourceMappingURL=users-
|
|
165
|
+
//# sourceMappingURL=users-W66YCFDX.js.map
|
|
@@ -7,7 +7,7 @@ import "./chunk-3SJ6OXCZ.js";
|
|
|
7
7
|
// src/commands/version.ts
|
|
8
8
|
function registerVersionCommand(program) {
|
|
9
9
|
program.command("version").description("Show version information").action(() => {
|
|
10
|
-
const version = "0.9.
|
|
10
|
+
const version = "0.9.64";
|
|
11
11
|
if (program.opts()["output"] === "json") {
|
|
12
12
|
console.log(
|
|
13
13
|
JSON.stringify({
|
|
@@ -25,4 +25,4 @@ function registerVersionCommand(program) {
|
|
|
25
25
|
export {
|
|
26
26
|
registerVersionCommand
|
|
27
27
|
};
|
|
28
|
-
//# sourceMappingURL=version-
|
|
28
|
+
//# sourceMappingURL=version-HXUIOHCL.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gpc-cli/cli",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.64",
|
|
4
4
|
"description": "GPC — Google Play Console CLI. 217 API endpoints including Managed Google Play. Upload AABs, manage releases, monitor vitals, publish private enterprise apps. Fastlane alternative for Android.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
"commander": "^14.0.3",
|
|
22
22
|
"@gpc-cli/api": "1.0.36",
|
|
23
23
|
"@gpc-cli/config": "0.9.14",
|
|
24
|
+
"@gpc-cli/core": "0.9.54",
|
|
24
25
|
"@gpc-cli/auth": "0.9.14",
|
|
25
|
-
"@gpc-cli/core": "0.9.53",
|
|
26
26
|
"@gpc-cli/plugin-sdk": "0.9.10"
|
|
27
27
|
},
|
|
28
28
|
"keywords": [
|
|
@@ -53,7 +53,9 @@
|
|
|
53
53
|
"url": "https://github.com/yasserstudio/gpc"
|
|
54
54
|
},
|
|
55
55
|
"scripts": {
|
|
56
|
+
"prebuild": "tsx ../../scripts/build-docs-bundle.ts",
|
|
56
57
|
"build": "tsup",
|
|
58
|
+
"postbuild": "mkdir -p dist/generated && cp src/generated/docs-bundle.json dist/generated/",
|
|
57
59
|
"dev": "tsup --watch",
|
|
58
60
|
"test": "vitest run",
|
|
59
61
|
"test:watch": "vitest",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/__complete.ts"],"sourcesContent":["import { readFile, readdir } from \"node:fs/promises\";\nimport { join } from \"node:path\";\nimport { Command } from \"commander\";\nimport { getCacheDir, getUserConfigPath, listProfiles } from \"@gpc-cli/config\";\n\n// Keep this file dependency-light on purpose.\n// It is called on every TAB press; loading @gpc-cli/api or @gpc-cli/auth would\n// blow the <100ms cold-start budget. Only pull from @gpc-cli/config + node:fs.\n\nconst STATIC_TRACKS = [\"production\", \"beta\", \"alpha\", \"internal\"] as const;\n\nconst DEBUG = process.env[\"GPC_DEBUG\"] === \"1\";\n\nfunction debug(msg: string): void {\n if (DEBUG) process.stderr.write(`[gpc __complete] ${msg}\\n`);\n}\n\n/** Emit one value per line; silent on any error. */\nfunction emit(values: readonly string[]): void {\n for (const v of values) {\n if (v) console.log(v);\n }\n}\n\n// Prototype-pollution defense: strip __proto__/constructor/prototype from\n// parsed JSON. Mirrors packages/config/src/loader.ts:92 so cache and config\n// files are treated consistently.\nconst DANGEROUS_KEYS = new Set([\"__proto__\", \"constructor\", \"prototype\"]);\nfunction sanitize(obj: unknown): void {\n if (!obj || typeof obj !== \"object\") return;\n if (Array.isArray(obj)) {\n for (const item of obj) sanitize(item);\n return;\n }\n const record = obj as Record<string, unknown>;\n for (const key of Object.keys(record)) {\n if (DANGEROUS_KEYS.has(key)) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete record[key];\n } else if (typeof record[key] === \"object\" && record[key] !== null) {\n sanitize(record[key]);\n }\n }\n}\n\nasync function readJson<T>(path: string): Promise<T | null> {\n try {\n const raw = await readFile(path, \"utf-8\");\n const parsed = JSON.parse(raw) as T;\n sanitize(parsed);\n return parsed;\n } catch (err) {\n // Silent fallback is by design (empty/stale cache is indistinguishable\n // from corrupt from the user's POV), but under GPC_DEBUG=1 surface the\n // error so authors can diagnose bad config or cache files.\n debug(`readJson(${path}) failed: ${err instanceof Error ? err.message : String(err)}`);\n return null;\n }\n}\n\ninterface ProfileEntry {\n app?: string;\n}\ninterface RawConfig {\n app?: string;\n profiles?: Record<string, ProfileEntry>;\n}\n\nasync function readProjectConfig(): Promise<RawConfig | null> {\n return readJson<RawConfig>(join(process.cwd(), \".gpcrc.json\"));\n}\n\nasync function readUserConfig(): Promise<RawConfig | null> {\n return readJson<RawConfig>(getUserConfigPath());\n}\n\nasync function cachedPackageNames(): Promise<string[]> {\n try {\n const entries = await readdir(getCacheDir());\n return entries\n .filter((f) => f.startsWith(\"status-\") && f.endsWith(\".json\"))\n .map((f) => f.slice(\"status-\".length, -\".json\".length));\n } catch {\n return [];\n }\n}\n\ninterface StatusCacheEntry {\n fetchedAt?: string;\n ttl?: number;\n data?: {\n releases?: Array<{ track?: string; versionCode?: string }>;\n };\n}\n\nasync function readFreshStatusCache(packageName: string): Promise<StatusCacheEntry | null> {\n const entry = await readJson<StatusCacheEntry>(\n join(getCacheDir(), `status-${packageName}.json`),\n );\n if (!entry?.fetchedAt) return null;\n const ttl = entry.ttl ?? 3600;\n const ageSec = (Date.now() - new Date(entry.fetchedAt).getTime()) / 1000;\n if (ageSec > ttl) return null;\n return entry;\n}\n\nexport async function runContext(context: string, args: readonly string[] = []): Promise<string[]> {\n switch (context) {\n case \"profiles\":\n return completeProfiles();\n case \"packages\":\n return completePackages();\n case \"tracks-for-app\":\n return completeTracksForApp(args[0]);\n case \"releases-for-track\":\n return completeReleasesForTrack(args[0], args[1]);\n default:\n return [];\n }\n}\n\nexport async function completeProfiles(): Promise<string[]> {\n return listProfiles();\n}\n\nexport async function completePackages(): Promise<string[]> {\n const seen = new Set<string>();\n const [proj, user, cached] = await Promise.all([\n readProjectConfig(),\n readUserConfig(),\n cachedPackageNames(),\n ]);\n for (const cfg of [proj, user]) {\n if (cfg?.app) seen.add(cfg.app);\n if (cfg?.profiles) {\n for (const p of Object.values(cfg.profiles)) {\n if (p?.app) seen.add(p.app);\n }\n }\n }\n for (const pkg of cached) seen.add(pkg);\n return [...seen].sort();\n}\n\nexport async function completeTracksForApp(packageName: string | undefined): Promise<string[]> {\n const tracks = new Set<string>(STATIC_TRACKS);\n if (packageName) {\n const entry = await readFreshStatusCache(packageName);\n for (const r of entry?.data?.releases ?? []) {\n if (r.track) tracks.add(r.track);\n }\n } else {\n // No package arg: shell scripts don't currently parse the already-typed\n // --app value. As a best-effort, aggregate custom track names from every\n // fresh status cache so `gpc --track <TAB>` still surfaces non-standard\n // tracks the user has published to recently.\n const packages = await cachedPackageNames();\n const entries = await Promise.all(packages.map((p) => readFreshStatusCache(p)));\n for (const entry of entries) {\n for (const r of entry?.data?.releases ?? []) {\n if (r.track) tracks.add(r.track);\n }\n }\n }\n return [...tracks];\n}\n\nexport async function completeReleasesForTrack(\n packageName: string | undefined,\n track: string | undefined,\n): Promise<string[]> {\n if (!packageName || !track) return [];\n const entry = await readFreshStatusCache(packageName);\n return (entry?.data?.releases ?? [])\n .filter((r) => r.track === track && r.versionCode)\n .map((r) => r.versionCode as string);\n}\n\n/** Register the hidden `__complete` subcommand on the program. */\nexport function registerCompleteCommand(program: Command): void {\n const complete = new Command(\"__complete\")\n .description(\"Internal: shell completion value provider (hidden)\")\n .argument(\"<context>\", \"profiles | packages | tracks-for-app | releases-for-track\")\n .argument(\"[args...]\", \"Context-specific positional args\")\n .allowUnknownOption(true)\n .action(async (context: string, args: string[]) => {\n try {\n const values = await runContext(context, args);\n emit(values);\n } catch {\n // Never throw from a completion handler.\n }\n });\n\n program.addCommand(complete, { hidden: true });\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/changelog.ts"],"sourcesContent":["import type { Command } from \"commander\";\nimport {\n fetchChangelog,\n formatChangelogEntry,\n formatOutput,\n generateChangelog,\n RENDERERS,\n renderPlayStore,\n renderPlayStoreMd,\n renderPlayStorePrompt,\n buildLocaleBundle,\n translateBundle,\n resolveAiConfig,\n createTranslator,\n fetchAggregateCost,\n formatPathLabel,\n PROVIDER_WHITELIST,\n resolveLocales,\n GpcError,\n type OutputMode,\n type PlayStoreFormat,\n} from \"@gpc-cli/core\";\nimport { loadConfig } from \"@gpc-cli/config\";\nimport { getOutputFormat } from \"../format.js\";\nimport { yellow, dim } from \"../colors.js\";\nimport { resolvePackageName, getClient } from \"../resolve.js\";\n\nconst VALID_OUTPUT_MODES: OutputMode[] = [\"md\", \"json\", \"prompt\"];\nconst VALID_TARGETS = [\"github\", \"play-store\"] as const;\ntype ChangelogTarget = (typeof VALID_TARGETS)[number];\nconst REPO_RE = /^[A-Za-z0-9_.-]+\\/[A-Za-z0-9_.-]+$/;\n\nexport function registerChangelogCommand(program: Command): void {\n const changelog = program\n .command(\"changelog\")\n .description(\"Show release history\")\n .option(\"-n, --limit <count>\", \"Number of releases to show\", parseInt, 5)\n .option(\"--tag <tag>\", \"Show a specific release (e.g., v0.9.43)\")\n .option(\"--all\", \"Show all releases\")\n .action(async (opts: { limit: number; tag?: string; all?: boolean }) => {\n const config = await loadConfig();\n const format = getOutputFormat(program, config);\n\n const entries = await fetchChangelog({\n limit: opts.all ? 100 : opts.limit,\n version: opts.tag,\n });\n\n if (entries.length === 0) {\n console.log(\"No releases found.\");\n return;\n }\n\n if (format === \"json\") {\n console.log(formatOutput(entries, \"json\"));\n return;\n }\n\n if (opts.tag || entries.length === 1) {\n console.log(formatChangelogEntry(entries[0]!));\n return;\n }\n\n const header = \"VERSION DATE TITLE\";\n const separator = \"─\".repeat(header.length);\n console.log(header);\n console.log(separator);\n for (const entry of entries) {\n const version = entry.version.padEnd(12);\n const date = entry.date.padEnd(12);\n console.log(`${version} ${date} ${entry.title}`);\n }\n console.log(\"\");\n console.log(\n `Showing ${entries.length} releases. Use --tag <tag> for details, or --all for full history.`,\n );\n });\n\n changelog\n .command(\"generate\")\n .description(\"Generate release notes from local git commits\")\n .option(\"--from <ref>\", \"Starting ref (default: latest v* tag)\")\n .option(\"--to <ref>\", \"Ending ref (default: HEAD)\")\n .option(\"--format <mode>\", \"Renderer: md, json, or prompt\", \"md\")\n .option(\"--repo <owner/name>\", \"Override auto-detected repo (e.g., yasserstudio/gpc)\")\n .option(\"--target <mode>\", \"Output target: github or play-store\", \"github\")\n .option(\"--locales <csv|auto>\", \"Comma-separated BCP 47 locales, or 'auto' (play-store target only)\")\n .option(\"--ai\", \"Translate non-source locales via LLM (play-store target only, BYO key)\")\n .option(\n \"--provider <name>\",\n `AI provider (${PROVIDER_WHITELIST.join(\"|\")}). Defaults to first env key detected`,\n )\n .option(\"--model <id>\", \"Override default model for the chosen provider\")\n .option(\"--strict\", \"Exit non-zero if warnings, overflows, or translation failures occur\")\n .action(\n async (opts: {\n from?: string;\n to?: string;\n format: string;\n repo?: string;\n target: string;\n locales?: string;\n strict?: boolean;\n ai?: boolean;\n provider?: string;\n model?: string;\n }) => {\n const dryRun = !!program.opts()[\"dryRun\"];\n const mode = opts.format as OutputMode;\n if (!VALID_OUTPUT_MODES.includes(mode)) {\n process.stderr.write(\n `Invalid --format \"${opts.format}\". Valid: ${VALID_OUTPUT_MODES.join(\", \")}\\n`,\n );\n process.exitCode = 2;\n return;\n }\n if (!VALID_TARGETS.includes(opts.target as ChangelogTarget)) {\n process.stderr.write(\n `Invalid --target \"${opts.target}\". Valid: ${VALID_TARGETS.join(\", \")}\\n`,\n );\n process.exitCode = 2;\n return;\n }\n const target = opts.target as ChangelogTarget;\n if (opts.repo && !REPO_RE.test(opts.repo)) {\n process.stderr.write(\n `Invalid --repo \"${opts.repo}\". Expected \"owner/name\" (e.g., yasserstudio/gpc).\\n`,\n );\n process.exitCode = 2;\n return;\n }\n if (target === \"github\" && opts.locales) {\n process.stderr.write(\n `--locales only applies to --target play-store (current target: github)\\n`,\n );\n process.exitCode = 2;\n return;\n }\n // Only block when the AI-adjacent flags are explicitly set. The root\n // program has its own `--dry-run` flag that may already be set\n // globally by the user for unrelated reasons; we silently ignore it\n // on non-AI code paths.\n if (target === \"github\" && (opts.ai || opts.provider || opts.model)) {\n process.stderr.write(\n \"--ai / --provider / --model only apply to --target play-store\\n\",\n );\n process.exitCode = 2;\n return;\n }\n // --format prompt + --ai is nonsensical outside --dry-run: it would\n // render a \"please translate this\" prompt from already-translated\n // text. Either inspect the prompt via --dry-run, or pick md/json.\n if (opts.ai && opts.format === \"prompt\" && !dryRun) {\n process.stderr.write(\n \"--ai with --format prompt only makes sense with --dry-run\\n\" +\n \" (otherwise it would re-wrap translated text in a translation prompt).\\n\" +\n \" Hint: use --format md or --format json for live translation, or add --dry-run to inspect the prompt.\\n\",\n );\n process.exitCode = 2;\n return;\n }\n if (target === \"play-store\" && !opts.locales) {\n process.stderr.write(\n \"--target play-store requires --locales <csv|auto>\\n\" +\n \" Example: --locales en-US,fr-FR,de-DE\\n\" +\n \" Example: --locales auto (reads current Play Store listing — requires --app)\\n\",\n );\n process.exitCode = 2;\n return;\n }\n\n const generated = await generateChangelog({\n from: opts.from,\n to: opts.to,\n repo: opts.repo,\n });\n\n for (const w of generated.warnings) {\n process.stderr.write(`${yellow(\"warn:\")} ${w}\\n`);\n }\n if (generated.warnings.length > 0) {\n process.stderr.write(\n `${dim(`(${generated.warnings.length} warning${generated.warnings.length === 1 ? \"\" : \"s\"} — review before publishing)`)}\\n`,\n );\n }\n\n if (target === \"github\") {\n const output = RENDERERS[mode](generated);\n console.log(output);\n if (opts.strict && generated.warnings.length > 0) {\n process.exitCode = 1;\n }\n return;\n }\n\n // target === \"play-store\"\n let locales: string[];\n try {\n if (opts.locales === \"auto\") {\n const config = await loadConfig();\n const packageName = resolvePackageName(program.opts()[\"app\"], config);\n const client = await getClient(config);\n locales = await resolveLocales(\"auto\", { client, packageName });\n } else {\n locales = await resolveLocales(opts.locales!);\n }\n } catch (error) {\n if (error instanceof GpcError) {\n process.stderr.write(`${error.message}\\n`);\n if (error.suggestion) process.stderr.write(`${dim(error.suggestion)}\\n`);\n process.exitCode = error.exitCode;\n return;\n }\n throw error;\n }\n\n const playStoreFormat = mode as PlayStoreFormat;\n\n // Non-AI path: existing v0.9.62 behavior\n if (!opts.ai) {\n const { output, bundle } = renderPlayStore(generated, {\n locales,\n format: playStoreFormat,\n });\n console.log(output);\n\n for (const lang of bundle.overflows) {\n process.stderr.write(\n `${yellow(\"warn:\")} ${lang} exceeds ${bundle.limit} chars (truncated)\\n`,\n );\n }\n\n const hasOverflow = bundle.overflows.length > 0;\n const hasWarnings = generated.warnings.length > 0;\n if (opts.strict && (hasWarnings || hasOverflow)) {\n process.exitCode = 1;\n }\n return;\n }\n\n // --ai path: resolve config, translate, render with ai block\n let aiConfig;\n try {\n aiConfig = resolveAiConfig({ provider: opts.provider, model: opts.model });\n } catch (error) {\n if (error instanceof GpcError) {\n process.stderr.write(`${error.message}\\n`);\n if (error.suggestion) process.stderr.write(`${dim(error.suggestion)}\\n`);\n process.exitCode = error.exitCode;\n return;\n }\n throw error;\n }\n\n process.stderr.write(`${dim(`→ ${formatPathLabel(aiConfig)}`)}\\n`);\n\n const baseBundle = buildLocaleBundle(generated, {\n locales,\n format: playStoreFormat,\n });\n\n if (dryRun) {\n const preview = renderPlayStorePrompt(baseBundle, generated);\n console.log(preview);\n process.stderr.write(\n `${dim(\"(--dry-run: no API call was made; the prompt above is what would be sent per locale)\")}\\n`,\n );\n return;\n }\n\n const translator = await createTranslator(aiConfig);\n let translated;\n try {\n translated = await translateBundle(baseBundle, {\n translator,\n strict: opts.strict,\n onError: ({ language, reason }) => {\n process.stderr.write(\n `${yellow(\"warn:\")} ${language} translation failed: ${reason}\\n`,\n );\n },\n });\n } catch (error) {\n if (error instanceof GpcError) {\n process.stderr.write(`${error.message}\\n`);\n if (error.suggestion) process.stderr.write(`${dim(error.suggestion)}\\n`);\n process.exitCode = error.exitCode;\n return;\n }\n throw error;\n }\n\n const costUsd =\n aiConfig.path === \"gateway\" ? await fetchAggregateCost(aiConfig.runId) : undefined;\n\n const aiBlock: Record<string, unknown> = {\n path: aiConfig.path,\n provider: aiConfig.provider,\n model: aiConfig.model,\n tokensIn: translated.tokensIn,\n tokensOut: translated.tokensOut,\n };\n if (aiConfig.path === \"gateway\") {\n aiBlock[\"runId\"] = aiConfig.runId;\n if (typeof costUsd === \"number\") aiBlock[\"costUsd\"] = costUsd;\n }\n\n if (playStoreFormat === \"json\") {\n const payload = {\n from: translated.from,\n to: translated.to,\n limit: translated.limit,\n sourceLanguage: translated.sourceLanguage,\n ai: aiBlock,\n locales: translated.locales,\n overflows: translated.overflows,\n failures: translated.failures,\n };\n console.log(JSON.stringify(payload, null, 2));\n } else if (playStoreFormat === \"prompt\") {\n console.log(renderPlayStorePrompt(translated, generated));\n } else {\n console.log(renderPlayStoreMd(translated));\n }\n\n for (const lang of translated.overflows) {\n process.stderr.write(\n `${yellow(\"warn:\")} ${lang} exceeds ${translated.limit} chars (truncated)\\n`,\n );\n }\n\n if (translated.failures.length > 0) {\n process.stderr.write(\n `${dim(`(${translated.failures.length} locale${translated.failures.length === 1 ? \"\" : \"s\"} failed — see placeholders in output)`)}\\n`,\n );\n }\n\n if (typeof costUsd === \"number\") {\n process.stderr.write(`${dim(`(run cost: $${costUsd.toFixed(4)})`)}\\n`);\n }\n\n const hasOverflow = translated.overflows.length > 0;\n const hasWarnings = generated.warnings.length > 0;\n const hasFailures = translated.failures.length > 0;\n if (opts.strict && (hasWarnings || hasOverflow || hasFailures)) {\n process.exitCode = 1;\n }\n },\n );\n}\n"],"mappings":"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","names":["hasOverflow","hasWarnings"]}
|
package/dist/docs-GP6AEX4N.js
DELETED
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
// src/commands/docs.ts
|
|
4
|
-
import * as cp from "child_process";
|
|
5
|
-
var PAGE_MAP = {
|
|
6
|
-
// Guide
|
|
7
|
-
installation: "guide/installation",
|
|
8
|
-
"quick-start": "guide/quick-start",
|
|
9
|
-
authentication: "guide/authentication",
|
|
10
|
-
configuration: "guide/configuration",
|
|
11
|
-
"developer-verification": "guide/developer-verification",
|
|
12
|
-
faq: "guide/faq",
|
|
13
|
-
// Commands
|
|
14
|
-
anomalies: "commands/anomalies",
|
|
15
|
-
apps: "commands/apps",
|
|
16
|
-
auth: "commands/auth",
|
|
17
|
-
bundle: "commands/bundle",
|
|
18
|
-
changelog: "commands/changelog",
|
|
19
|
-
config: "commands/config",
|
|
20
|
-
"data-safety": "commands/data-safety",
|
|
21
|
-
"device-tiers": "commands/device-tiers",
|
|
22
|
-
diff: "commands/diff",
|
|
23
|
-
enterprise: "commands/enterprise",
|
|
24
|
-
"external-transactions": "commands/external-transactions",
|
|
25
|
-
games: "commands/games",
|
|
26
|
-
"generated-apks": "commands/generated-apks",
|
|
27
|
-
grants: "commands/grants",
|
|
28
|
-
iap: "commands/iap",
|
|
29
|
-
init: "commands/init",
|
|
30
|
-
"install-skills": "commands/install-skills",
|
|
31
|
-
"internal-sharing": "commands/internal-sharing",
|
|
32
|
-
listings: "commands/listings",
|
|
33
|
-
migrate: "commands/migrate",
|
|
34
|
-
"one-time-products": "commands/one-time-products",
|
|
35
|
-
plugins: "commands/plugins",
|
|
36
|
-
preflight: "commands/preflight",
|
|
37
|
-
pricing: "commands/pricing",
|
|
38
|
-
publish: "commands/publish",
|
|
39
|
-
"purchase-options": "commands/purchase-options",
|
|
40
|
-
purchases: "commands/purchases",
|
|
41
|
-
quota: "commands/quota",
|
|
42
|
-
recovery: "commands/recovery",
|
|
43
|
-
releases: "commands/releases",
|
|
44
|
-
reports: "commands/reports",
|
|
45
|
-
reviews: "commands/reviews",
|
|
46
|
-
rtdn: "commands/rtdn",
|
|
47
|
-
status: "commands/status",
|
|
48
|
-
subscriptions: "commands/subscriptions",
|
|
49
|
-
testers: "commands/testers",
|
|
50
|
-
tracks: "commands/tracks",
|
|
51
|
-
train: "commands/train",
|
|
52
|
-
users: "commands/users",
|
|
53
|
-
verify: "commands/verify",
|
|
54
|
-
utility: "commands/utility",
|
|
55
|
-
vitals: "commands/vitals",
|
|
56
|
-
// Advanced
|
|
57
|
-
architecture: "advanced/architecture",
|
|
58
|
-
conventions: "advanced/conventions",
|
|
59
|
-
"error-codes": "advanced/error-codes",
|
|
60
|
-
"advanced-plugins": "advanced/plugins",
|
|
61
|
-
"sdk-usage": "advanced/sdk-usage",
|
|
62
|
-
security: "advanced/security",
|
|
63
|
-
skills: "advanced/skills",
|
|
64
|
-
troubleshooting: "advanced/troubleshooting",
|
|
65
|
-
// CI/CD
|
|
66
|
-
bitbucket: "ci-cd/bitbucket",
|
|
67
|
-
circleci: "ci-cd/circleci",
|
|
68
|
-
"github-actions": "ci-cd/github-actions",
|
|
69
|
-
"gitlab-ci": "ci-cd/gitlab-ci",
|
|
70
|
-
"vitals-gates": "ci-cd/vitals-gates",
|
|
71
|
-
// Reference
|
|
72
|
-
"api-coverage": "reference/api-coverage",
|
|
73
|
-
"reference-changelog": "reference/changelog",
|
|
74
|
-
deprecations: "reference/deprecations",
|
|
75
|
-
"environment-variables": "reference/environment-variables",
|
|
76
|
-
"exit-codes": "reference/exit-codes",
|
|
77
|
-
"json-contract": "reference/json-contract",
|
|
78
|
-
// Migration
|
|
79
|
-
"from-console-ui": "migration/from-console-ui",
|
|
80
|
-
"from-fastlane": "migration/from-fastlane",
|
|
81
|
-
// Alternatives
|
|
82
|
-
fastlane: "alternatives/fastlane"
|
|
83
|
-
};
|
|
84
|
-
var BASE = "https://yasserstudio.github.io/gpc/";
|
|
85
|
-
function registerDocsCommand(program) {
|
|
86
|
-
program.command("docs [topic]").description("Open documentation in browser").option("--list", "List available documentation topics").action((topic, opts) => {
|
|
87
|
-
if (opts?.list) {
|
|
88
|
-
console.log("Available topics:");
|
|
89
|
-
for (const key of Object.keys(PAGE_MAP)) console.log(` gpc docs ${key}`);
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
const path = topic ? PAGE_MAP[topic] : void 0;
|
|
93
|
-
if (topic && !path) {
|
|
94
|
-
const err = new Error(`Unknown topic "${topic}".`);
|
|
95
|
-
Object.assign(err, {
|
|
96
|
-
code: "USAGE_ERROR",
|
|
97
|
-
exitCode: 2,
|
|
98
|
-
suggestion: "Run: gpc docs --list"
|
|
99
|
-
});
|
|
100
|
-
throw err;
|
|
101
|
-
}
|
|
102
|
-
const url = path ? `${BASE}${path}` : BASE;
|
|
103
|
-
const platform = process.platform;
|
|
104
|
-
const cmd = platform === "darwin" ? "open" : platform === "win32" ? "start" : "xdg-open";
|
|
105
|
-
cp.execFile(cmd, [url], (error) => {
|
|
106
|
-
if (error) {
|
|
107
|
-
console.log(`Open in your browser: ${url}`);
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
export {
|
|
113
|
-
registerDocsCommand
|
|
114
|
-
};
|
|
115
|
-
//# sourceMappingURL=docs-GP6AEX4N.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/docs.ts"],"sourcesContent":["import type { Command } from \"commander\";\nimport * as cp from \"node:child_process\";\n\nconst PAGE_MAP: Record<string, string> = {\n // Guide\n installation: \"guide/installation\",\n \"quick-start\": \"guide/quick-start\",\n authentication: \"guide/authentication\",\n configuration: \"guide/configuration\",\n \"developer-verification\": \"guide/developer-verification\",\n faq: \"guide/faq\",\n\n // Commands\n anomalies: \"commands/anomalies\",\n apps: \"commands/apps\",\n auth: \"commands/auth\",\n bundle: \"commands/bundle\",\n changelog: \"commands/changelog\",\n config: \"commands/config\",\n \"data-safety\": \"commands/data-safety\",\n \"device-tiers\": \"commands/device-tiers\",\n diff: \"commands/diff\",\n enterprise: \"commands/enterprise\",\n \"external-transactions\": \"commands/external-transactions\",\n games: \"commands/games\",\n \"generated-apks\": \"commands/generated-apks\",\n grants: \"commands/grants\",\n iap: \"commands/iap\",\n init: \"commands/init\",\n \"install-skills\": \"commands/install-skills\",\n \"internal-sharing\": \"commands/internal-sharing\",\n listings: \"commands/listings\",\n migrate: \"commands/migrate\",\n \"one-time-products\": \"commands/one-time-products\",\n plugins: \"commands/plugins\",\n preflight: \"commands/preflight\",\n pricing: \"commands/pricing\",\n publish: \"commands/publish\",\n \"purchase-options\": \"commands/purchase-options\",\n purchases: \"commands/purchases\",\n quota: \"commands/quota\",\n recovery: \"commands/recovery\",\n releases: \"commands/releases\",\n reports: \"commands/reports\",\n reviews: \"commands/reviews\",\n rtdn: \"commands/rtdn\",\n status: \"commands/status\",\n subscriptions: \"commands/subscriptions\",\n testers: \"commands/testers\",\n tracks: \"commands/tracks\",\n train: \"commands/train\",\n users: \"commands/users\",\n verify: \"commands/verify\",\n utility: \"commands/utility\",\n vitals: \"commands/vitals\",\n\n // Advanced\n architecture: \"advanced/architecture\",\n conventions: \"advanced/conventions\",\n \"error-codes\": \"advanced/error-codes\",\n \"advanced-plugins\": \"advanced/plugins\",\n \"sdk-usage\": \"advanced/sdk-usage\",\n security: \"advanced/security\",\n skills: \"advanced/skills\",\n troubleshooting: \"advanced/troubleshooting\",\n\n // CI/CD\n bitbucket: \"ci-cd/bitbucket\",\n circleci: \"ci-cd/circleci\",\n \"github-actions\": \"ci-cd/github-actions\",\n \"gitlab-ci\": \"ci-cd/gitlab-ci\",\n \"vitals-gates\": \"ci-cd/vitals-gates\",\n\n // Reference\n \"api-coverage\": \"reference/api-coverage\",\n \"reference-changelog\": \"reference/changelog\",\n deprecations: \"reference/deprecations\",\n \"environment-variables\": \"reference/environment-variables\",\n \"exit-codes\": \"reference/exit-codes\",\n \"json-contract\": \"reference/json-contract\",\n\n // Migration\n \"from-console-ui\": \"migration/from-console-ui\",\n \"from-fastlane\": \"migration/from-fastlane\",\n\n // Alternatives\n fastlane: \"alternatives/fastlane\",\n};\n\nconst BASE = \"https://yasserstudio.github.io/gpc/\";\n\nexport function registerDocsCommand(program: Command): void {\n program\n .command(\"docs [topic]\")\n .description(\"Open documentation in browser\")\n .option(\"--list\", \"List available documentation topics\")\n .action((topic?: string, opts?: { list?: boolean }) => {\n if (opts?.list) {\n console.log(\"Available topics:\");\n for (const key of Object.keys(PAGE_MAP)) console.log(` gpc docs ${key}`);\n return;\n }\n const path = topic ? PAGE_MAP[topic] : undefined;\n if (topic && !path) {\n const err = new Error(`Unknown topic \"${topic}\".`);\n Object.assign(err, {\n code: \"USAGE_ERROR\",\n exitCode: 2,\n suggestion: \"Run: gpc docs --list\",\n });\n throw err;\n }\n const url = path ? `${BASE}${path}` : BASE;\n const platform = process.platform;\n const cmd = platform === \"darwin\" ? \"open\" : platform === \"win32\" ? \"start\" : \"xdg-open\";\n cp.execFile(cmd, [url], (error) => {\n if (error) {\n console.log(`Open in your browser: ${url}`);\n }\n });\n });\n}\n"],"mappings":";;;AACA,YAAY,QAAQ;AAEpB,IAAM,WAAmC;AAAA;AAAA,EAEvC,cAAc;AAAA,EACd,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,0BAA0B;AAAA,EAC1B,KAAK;AAAA;AAAA,EAGL,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,yBAAyB;AAAA,EACzB,OAAO;AAAA,EACP,kBAAkB;AAAA,EAClB,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,MAAM;AAAA,EACN,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,UAAU;AAAA,EACV,SAAS;AAAA,EACT,qBAAqB;AAAA,EACrB,SAAS;AAAA,EACT,WAAW;AAAA,EACX,SAAS;AAAA,EACT,SAAS;AAAA,EACT,oBAAoB;AAAA,EACpB,WAAW;AAAA,EACX,OAAO;AAAA,EACP,UAAU;AAAA,EACV,UAAU;AAAA,EACV,SAAS;AAAA,EACT,SAAS;AAAA,EACT,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,eAAe;AAAA,EACf,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,QAAQ;AAAA;AAAA,EAGR,cAAc;AAAA,EACd,aAAa;AAAA,EACb,eAAe;AAAA,EACf,oBAAoB;AAAA,EACpB,aAAa;AAAA,EACb,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,iBAAiB;AAAA;AAAA,EAGjB,WAAW;AAAA,EACX,UAAU;AAAA,EACV,kBAAkB;AAAA,EAClB,aAAa;AAAA,EACb,gBAAgB;AAAA;AAAA,EAGhB,gBAAgB;AAAA,EAChB,uBAAuB;AAAA,EACvB,cAAc;AAAA,EACd,yBAAyB;AAAA,EACzB,cAAc;AAAA,EACd,iBAAiB;AAAA;AAAA,EAGjB,mBAAmB;AAAA,EACnB,iBAAiB;AAAA;AAAA,EAGjB,UAAU;AACZ;AAEA,IAAM,OAAO;AAEN,SAAS,oBAAoB,SAAwB;AAC1D,UACG,QAAQ,cAAc,EACtB,YAAY,+BAA+B,EAC3C,OAAO,UAAU,qCAAqC,EACtD,OAAO,CAAC,OAAgB,SAA8B;AACrD,QAAI,MAAM,MAAM;AACd,cAAQ,IAAI,mBAAmB;AAC/B,iBAAW,OAAO,OAAO,KAAK,QAAQ,EAAG,SAAQ,IAAI,cAAc,GAAG,EAAE;AACxE;AAAA,IACF;AACA,UAAM,OAAO,QAAQ,SAAS,KAAK,IAAI;AACvC,QAAI,SAAS,CAAC,MAAM;AAClB,YAAM,MAAM,IAAI,MAAM,kBAAkB,KAAK,IAAI;AACjD,aAAO,OAAO,KAAK;AAAA,QACjB,MAAM;AAAA,QACN,UAAU;AAAA,QACV,YAAY;AAAA,MACd,CAAC;AACD,YAAM;AAAA,IACR;AACA,UAAM,MAAM,OAAO,GAAG,IAAI,GAAG,IAAI,KAAK;AACtC,UAAM,WAAW,QAAQ;AACzB,UAAM,MAAM,aAAa,WAAW,SAAS,aAAa,UAAU,UAAU;AAC9E,IAAG,YAAS,KAAK,CAAC,GAAG,GAAG,CAAC,UAAU;AACjC,UAAI,OAAO;AACT,gBAAQ,IAAI,yBAAyB,GAAG,EAAE;AAAA,MAC5C;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACL;","names":[]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/{external-transactions-JL3G4IG5.js.map → external-transactions-BP42CK3H.js.map}
RENAMED
|
File without changes
|
|
File without changes
|