@gpc-cli/cli 0.9.87 → 0.9.89
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 +1 -1
- package/dist/bin.js +2 -2
- package/dist/{chunk-E2NRW3TQ.js → chunk-EWXODFWW.js} +8 -8
- package/dist/{config-7SLPBJI3.js → config-SNVLATWM.js} +2 -2
- package/dist/{doctor-3MJZSIGX.js → doctor-Q6T42I32.js} +2 -2
- package/dist/{feedback-TXDXWK7N.js → feedback-NCDFEMRN.js} +2 -2
- package/dist/{games-7K5RKXCO.js → games-WLWV7FA6.js} +3 -7
- package/dist/games-WLWV7FA6.js.map +1 -0
- package/dist/generated/docs-bundle.json +1 -1
- package/dist/index.js +1 -1
- package/dist/{update-UMNA6KMP.js → update-RJQDRGHF.js} +2 -2
- package/dist/{version-PFYWZWJC.js → version-FD6FDW2D.js} +2 -2
- package/package.json +2 -2
- package/dist/games-7K5RKXCO.js.map +0 -1
- /package/dist/{chunk-E2NRW3TQ.js.map → chunk-EWXODFWW.js.map} +0 -0
- /package/dist/{config-7SLPBJI3.js.map → config-SNVLATWM.js.map} +0 -0
- /package/dist/{doctor-3MJZSIGX.js.map → doctor-Q6T42I32.js.map} +0 -0
- /package/dist/{feedback-TXDXWK7N.js.map → feedback-NCDFEMRN.js.map} +0 -0
- /package/dist/{update-UMNA6KMP.js.map → update-RJQDRGHF.js.map} +0 -0
- /package/dist/{version-PFYWZWJC.js.map → version-FD6FDW2D.js.map} +0 -0
package/dist/index.js
CHANGED
|
@@ -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.89";
|
|
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-RJQDRGHF.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.89";
|
|
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-FD6FDW2D.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.89",
|
|
4
4
|
"description": "GPC — Google Play Console CLI. 227 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": {
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"@gpc-cli/api": "1.0.45",
|
|
33
33
|
"@gpc-cli/auth": "0.9.16",
|
|
34
34
|
"@gpc-cli/config": "0.9.19",
|
|
35
|
-
"@gpc-cli/core": "0.9.
|
|
35
|
+
"@gpc-cli/core": "0.9.74",
|
|
36
36
|
"@gpc-cli/plugin-sdk": "0.9.10",
|
|
37
37
|
"commander": "^14.0.3"
|
|
38
38
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/commands/games.ts"],"sourcesContent":["import type { Command } from \"commander\";\nimport { loadConfig } from \"@gpc-cli/config\";\nimport type { ResolvedConfig } from \"@gpc-cli/config\";\nimport { resolveAuth } from \"@gpc-cli/auth\";\nimport {\n createGamesClient,\n createGamesConfigClient,\n type AchievementConfiguration,\n type LeaderboardConfiguration,\n} from \"@gpc-cli/api\";\nimport {\n listLeaderboards,\n listAchievements,\n listAchievementConfigs,\n getAchievementConfig,\n createAchievementConfig,\n updateAchievementConfig,\n deleteAchievementConfig,\n diffAchievementConfig,\n listLeaderboardConfigs,\n getLeaderboardConfig,\n createLeaderboardConfig,\n updateLeaderboardConfig,\n deleteLeaderboardConfig,\n diffLeaderboardConfig,\n formatOutput,\n annotateListResult,\n moreResultsFooter,\n GpcError,\n} from \"@gpc-cli/core\";\nimport { resolvePackageName } from \"../resolve.js\";\nimport { isDryRun, printDryRun } from \"../dry-run.js\";\nimport { getOutputFormat } from \"../format.js\";\nimport { requireConfirm } from \"../prompt.js\";\nimport { readJsonFile } from \"../json.js\";\n\nfunction resolveGameId(\n flag: string | undefined,\n config: ResolvedConfig,\n): string {\n const gameId =\n flag ?? process.env[\"GPC_GAME_ID\"] ?? config.games?.applicationId;\n if (!gameId) {\n throw new GpcError(\n \"Game application ID is required. Pass --game-id, set GPC_GAME_ID, or add games.applicationId to .gpcrc.json.\",\n \"GAMES_NO_APPLICATION_ID\",\n 2,\n \"Find your numeric application ID in Play Console > Play Games Services > Setup.\",\n );\n }\n return gameId;\n}\n\nasync function getGamesClient(config: { auth?: { serviceAccount?: string } }) {\n const auth = await resolveAuth({\n serviceAccountPath: config.auth?.serviceAccount,\n });\n return createGamesClient({ auth });\n}\n\nasync function getGamesConfigClientFromConfig(config: {\n auth?: { serviceAccount?: string };\n}) {\n const auth = await resolveAuth({\n serviceAccountPath: config.auth?.serviceAccount,\n });\n return createGamesConfigClient({ auth });\n}\n\nexport function registerGamesCommands(program: Command): void {\n const games = program\n .command(\"games\")\n .description(\n \"Manage Play Games Services — achievements, leaderboards (configuration API)\",\n )\n .option(\"--game-id <id>\", \"Games application ID (numeric)\");\n\n /* ---------------------------------------------------------------- */\n /* Achievements */\n /* ---------------------------------------------------------------- */\n\n const achievements = games\n .command(\"achievements\")\n .description(\"Manage achievement configurations\");\n\n achievements\n .command(\"list\")\n .description(\"List achievement configurations\")\n .option(\"--limit <n>\", \"Maximum results per page\", parseInt)\n .option(\"--next-page <token>\", \"Resume from page token\")\n .action(async (options) => {\n const config = await loadConfig();\n const gameId = resolveGameId(games.opts()[\"gameId\"], config);\n const client = await getGamesConfigClientFromConfig(config);\n const format = getOutputFormat(program, config);\n\n const result = await listAchievementConfigs(client, gameId, {\n maxResults: options.limit,\n pageToken: options.nextPage,\n });\n const items = result.items ?? [];\n if (format !== \"json\") {\n if (items.length === 0) {\n console.log(\"No achievement configurations found.\");\n } else {\n console.log(formatOutput(items, format));\n const footer = moreResultsFooter(result.nextPageToken);\n if (footer) console.log(footer);\n }\n } else {\n console.log(\n formatOutput(\n annotateListResult(\n { achievements: items, nextPageToken: result.nextPageToken },\n \"achievements\",\n \"No achievement configurations found\",\n ),\n format,\n ),\n );\n }\n });\n\n achievements\n .command(\"get <achievement-id>\")\n .description(\"Get an achievement configuration\")\n .action(async (achievementId: string) => {\n const config = await loadConfig();\n const client = await getGamesConfigClientFromConfig(config);\n const format = getOutputFormat(program, config);\n\n const result = await getAchievementConfig(client, achievementId);\n console.log(formatOutput(result, format));\n });\n\n achievements\n .command(\"create\")\n .description(\"Create an achievement from a JSON file\")\n .requiredOption(\"--file <path>\", \"JSON file with achievement data\")\n .action(async (options) => {\n const config = await loadConfig();\n const gameId = resolveGameId(games.opts()[\"gameId\"], config);\n const format = getOutputFormat(program, config);\n\n if (isDryRun(program)) {\n printDryRun(\n {\n command: \"games achievements create\",\n action: \"create\",\n target: `achievement from ${options.file}`,\n },\n format,\n formatOutput,\n );\n return;\n }\n\n const client = await getGamesConfigClientFromConfig(config);\n const data = await readJsonFile(options.file);\n const result = await createAchievementConfig(\n client,\n gameId,\n data as AchievementConfiguration,\n );\n console.log(formatOutput(result, format));\n });\n\n achievements\n .command(\"update <achievement-id>\")\n .description(\"Update an achievement from a JSON file\")\n .requiredOption(\"--file <path>\", \"JSON file with achievement data\")\n .action(async (achievementId: string, options) => {\n const config = await loadConfig();\n const format = getOutputFormat(program, config);\n\n if (isDryRun(program)) {\n printDryRun(\n {\n command: \"games achievements update\",\n action: \"update\",\n target: achievementId,\n details: { file: options.file },\n },\n format,\n formatOutput,\n );\n return;\n }\n\n const client = await getGamesConfigClientFromConfig(config);\n const data = await readJsonFile(options.file);\n const result = await updateAchievementConfig(\n client,\n achievementId,\n data as AchievementConfiguration,\n );\n console.log(formatOutput(result, format));\n });\n\n achievements\n .command(\"delete <achievement-id>\")\n .description(\"Delete an achievement\")\n .action(async (achievementId: string) => {\n const config = await loadConfig();\n\n if (isDryRun(program)) {\n const format = getOutputFormat(program, config);\n printDryRun(\n {\n command: \"games achievements delete\",\n action: \"delete\",\n target: achievementId,\n },\n format,\n formatOutput,\n );\n return;\n }\n\n await requireConfirm(\n `Delete achievement \"${achievementId}\"? This cannot be undone.`,\n program,\n );\n\n const client = await getGamesConfigClientFromConfig(config);\n await deleteAchievementConfig(client, achievementId);\n console.log(`Achievement ${achievementId} deleted.`);\n });\n\n achievements\n .command(\"diff <achievement-id>\")\n .description(\"Compare local JSON against remote achievement configuration\")\n .requiredOption(\"--file <path>\", \"JSON file with local achievement data\")\n .action(async (achievementId: string, options) => {\n const config = await loadConfig();\n const client = await getGamesConfigClientFromConfig(config);\n const format = getOutputFormat(program, config);\n\n const localData = await readJsonFile(options.file);\n const diffs = await diffAchievementConfig(\n client,\n achievementId,\n localData as AchievementConfiguration,\n );\n if (diffs.length === 0) {\n console.log(\"No differences found.\");\n } else {\n console.log(formatOutput(diffs, format));\n }\n });\n\n /* ---------------------------------------------------------------- */\n /* Leaderboards */\n /* ---------------------------------------------------------------- */\n\n const leaderboards = games\n .command(\"leaderboards\")\n .description(\"Manage leaderboard configurations\");\n\n leaderboards\n .command(\"list\")\n .description(\"List leaderboard configurations\")\n .option(\"--limit <n>\", \"Maximum results per page\", parseInt)\n .option(\"--next-page <token>\", \"Resume from page token\")\n .action(async (options) => {\n const config = await loadConfig();\n const gameId = resolveGameId(games.opts()[\"gameId\"], config);\n const client = await getGamesConfigClientFromConfig(config);\n const format = getOutputFormat(program, config);\n\n const result = await listLeaderboardConfigs(client, gameId, {\n maxResults: options.limit,\n pageToken: options.nextPage,\n });\n const items = result.items ?? [];\n if (format !== \"json\") {\n if (items.length === 0) {\n console.log(\"No leaderboard configurations found.\");\n } else {\n console.log(formatOutput(items, format));\n const footer = moreResultsFooter(result.nextPageToken);\n if (footer) console.log(footer);\n }\n } else {\n console.log(\n formatOutput(\n annotateListResult(\n { leaderboards: items, nextPageToken: result.nextPageToken },\n \"leaderboards\",\n \"No leaderboard configurations found\",\n ),\n format,\n ),\n );\n }\n });\n\n leaderboards\n .command(\"get <leaderboard-id>\")\n .description(\"Get a leaderboard configuration\")\n .action(async (leaderboardId: string) => {\n const config = await loadConfig();\n const client = await getGamesConfigClientFromConfig(config);\n const format = getOutputFormat(program, config);\n\n const result = await getLeaderboardConfig(client, leaderboardId);\n console.log(formatOutput(result, format));\n });\n\n leaderboards\n .command(\"create\")\n .description(\"Create a leaderboard from a JSON file\")\n .requiredOption(\"--file <path>\", \"JSON file with leaderboard data\")\n .action(async (options) => {\n const config = await loadConfig();\n const gameId = resolveGameId(games.opts()[\"gameId\"], config);\n const format = getOutputFormat(program, config);\n\n if (isDryRun(program)) {\n printDryRun(\n {\n command: \"games leaderboards create\",\n action: \"create\",\n target: `leaderboard from ${options.file}`,\n },\n format,\n formatOutput,\n );\n return;\n }\n\n const client = await getGamesConfigClientFromConfig(config);\n const data = await readJsonFile(options.file);\n const result = await createLeaderboardConfig(\n client,\n gameId,\n data as LeaderboardConfiguration,\n );\n console.log(formatOutput(result, format));\n });\n\n leaderboards\n .command(\"update <leaderboard-id>\")\n .description(\"Update a leaderboard from a JSON file\")\n .requiredOption(\"--file <path>\", \"JSON file with leaderboard data\")\n .action(async (leaderboardId: string, options) => {\n const config = await loadConfig();\n const format = getOutputFormat(program, config);\n\n if (isDryRun(program)) {\n printDryRun(\n {\n command: \"games leaderboards update\",\n action: \"update\",\n target: leaderboardId,\n details: { file: options.file },\n },\n format,\n formatOutput,\n );\n return;\n }\n\n const client = await getGamesConfigClientFromConfig(config);\n const data = await readJsonFile(options.file);\n const result = await updateLeaderboardConfig(\n client,\n leaderboardId,\n data as LeaderboardConfiguration,\n );\n console.log(formatOutput(result, format));\n });\n\n leaderboards\n .command(\"delete <leaderboard-id>\")\n .description(\"Delete a leaderboard\")\n .action(async (leaderboardId: string) => {\n const config = await loadConfig();\n\n if (isDryRun(program)) {\n const format = getOutputFormat(program, config);\n printDryRun(\n {\n command: \"games leaderboards delete\",\n action: \"delete\",\n target: leaderboardId,\n },\n format,\n formatOutput,\n );\n return;\n }\n\n await requireConfirm(\n `Delete leaderboard \"${leaderboardId}\"? This cannot be undone.`,\n program,\n );\n\n const client = await getGamesConfigClientFromConfig(config);\n await deleteLeaderboardConfig(client, leaderboardId);\n console.log(`Leaderboard ${leaderboardId} deleted.`);\n });\n\n leaderboards\n .command(\"diff <leaderboard-id>\")\n .description(\n \"Compare local JSON against remote leaderboard configuration\",\n )\n .requiredOption(\"--file <path>\", \"JSON file with local leaderboard data\")\n .action(async (leaderboardId: string, options) => {\n const config = await loadConfig();\n const client = await getGamesConfigClientFromConfig(config);\n const format = getOutputFormat(program, config);\n\n const localData = await readJsonFile(options.file);\n const diffs = await diffLeaderboardConfig(\n client,\n leaderboardId,\n localData as LeaderboardConfiguration,\n );\n if (diffs.length === 0) {\n console.log(\"No differences found.\");\n } else {\n console.log(formatOutput(diffs, format));\n }\n });\n\n /* ---------------------------------------------------------------- */\n /* Runtime (Games v1) — read-only inspection */\n /* ---------------------------------------------------------------- */\n\n const runtime = games\n .command(\"runtime\")\n .description(\"Inspect runtime player data (Games v1 API, read-only)\");\n\n runtime\n .command(\"leaderboards\")\n .description(\"List runtime leaderboard data\")\n .action(async () => {\n const config = await loadConfig();\n const packageName = resolvePackageName(program.opts()[\"app\"], config);\n const client = await getGamesClient(config);\n const format = getOutputFormat(program, config);\n\n const result = await listLeaderboards(client, packageName);\n if (result.length === 0 && format !== \"json\") {\n console.log(\"No leaderboards found.\");\n return;\n }\n console.log(formatOutput(result, format));\n });\n\n runtime\n .command(\"achievements\")\n .description(\"List runtime achievement data\")\n .action(async () => {\n const config = await loadConfig();\n const packageName = resolvePackageName(program.opts()[\"app\"], config);\n const client = await getGamesClient(config);\n const format = getOutputFormat(program, config);\n\n const result = await listAchievements(client, packageName);\n if (result.length === 0 && format !== \"json\") {\n console.log(\"No achievements found.\");\n return;\n }\n console.log(formatOutput(result, format));\n });\n}\n"],"mappings":"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","names":[]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|