@capuchoo/cli 0.7.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +231 -22
- package/bin/run.js +22 -0
- package/dist/cli/members.d.ts +23 -0
- package/dist/cli/members.d.ts.map +1 -0
- package/dist/cli/members.js +38 -0
- package/dist/cli/members.js.map +1 -0
- package/dist/cli/menu.d.ts +38 -0
- package/dist/cli/menu.d.ts.map +1 -0
- package/dist/cli/menu.js +62 -0
- package/dist/cli/menu.js.map +1 -0
- package/dist/cli/onboarding.d.ts +41 -0
- package/dist/cli/onboarding.d.ts.map +1 -0
- package/dist/cli/onboarding.js +94 -0
- package/dist/cli/onboarding.js.map +1 -0
- package/dist/cli/prompts.d.ts +15 -0
- package/dist/cli/prompts.d.ts.map +1 -1
- package/dist/cli/prompts.js +42 -0
- package/dist/cli/prompts.js.map +1 -1
- package/dist/cli/team.d.ts +16 -0
- package/dist/cli/team.d.ts.map +1 -0
- package/dist/cli/team.js +32 -0
- package/dist/cli/team.js.map +1 -0
- package/dist/commands/app/grant.d.ts +11 -0
- package/dist/commands/app/grant.d.ts.map +1 -0
- package/dist/commands/app/grant.js +31 -0
- package/dist/commands/app/grant.js.map +1 -0
- package/dist/commands/app/list.d.ts.map +1 -1
- package/dist/commands/app/list.js +2 -1
- package/dist/commands/app/list.js.map +1 -1
- package/dist/commands/app/revoke.d.ts +13 -0
- package/dist/commands/app/revoke.d.ts.map +1 -0
- package/dist/commands/app/revoke.js +40 -0
- package/dist/commands/app/revoke.js.map +1 -0
- package/dist/commands/app/roles.d.ts +7 -0
- package/dist/commands/app/roles.d.ts.map +1 -0
- package/dist/commands/app/roles.js +30 -0
- package/dist/commands/app/roles.js.map +1 -0
- package/dist/commands/auth/issue.d.ts +12 -0
- package/dist/commands/auth/issue.d.ts.map +1 -0
- package/dist/commands/auth/issue.js +52 -0
- package/dist/commands/auth/issue.js.map +1 -0
- package/dist/commands/auth/keys.d.ts +7 -0
- package/dist/commands/auth/keys.d.ts.map +1 -0
- package/dist/commands/auth/keys.js +39 -0
- package/dist/commands/auth/keys.js.map +1 -0
- package/dist/commands/auth/login.d.ts +20 -0
- package/dist/commands/auth/login.d.ts.map +1 -1
- package/dist/commands/auth/login.js +90 -11
- package/dist/commands/auth/login.js.map +1 -1
- package/dist/commands/auth/revoke.d.ts +13 -0
- package/dist/commands/auth/revoke.d.ts.map +1 -0
- package/dist/commands/auth/revoke.js +48 -0
- package/dist/commands/auth/revoke.js.map +1 -0
- package/dist/commands/auth/whoami.d.ts.map +1 -1
- package/dist/commands/auth/whoami.js +2 -1
- package/dist/commands/auth/whoami.js.map +1 -1
- package/dist/commands/channel/list.d.ts.map +1 -1
- package/dist/commands/channel/list.js +2 -1
- package/dist/commands/channel/list.js.map +1 -1
- package/dist/commands/doctor.d.ts +2 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +86 -13
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/init.d.ts +35 -3
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +121 -29
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/menu.d.ts +42 -0
- package/dist/commands/menu.d.ts.map +1 -0
- package/dist/commands/menu.js +185 -0
- package/dist/commands/menu.js.map +1 -0
- package/dist/commands/org/invite.d.ts +14 -0
- package/dist/commands/org/invite.d.ts.map +1 -0
- package/dist/commands/org/invite.js +52 -0
- package/dist/commands/org/invite.js.map +1 -0
- package/dist/commands/org/members.d.ts +10 -0
- package/dist/commands/org/members.d.ts.map +1 -0
- package/dist/commands/org/members.js +49 -0
- package/dist/commands/org/members.js.map +1 -0
- package/dist/deploy/execute.d.ts.map +1 -1
- package/dist/deploy/execute.js +25 -5
- package/dist/deploy/execute.js.map +1 -1
- package/dist/deploy/signing.d.ts +24 -0
- package/dist/deploy/signing.d.ts.map +1 -0
- package/dist/deploy/signing.js +57 -0
- package/dist/deploy/signing.js.map +1 -0
- package/dist/pipeline/android-signing.d.ts +41 -0
- package/dist/pipeline/android-signing.d.ts.map +1 -0
- package/dist/pipeline/android-signing.js +82 -0
- package/dist/pipeline/android-signing.js.map +1 -0
- package/dist/pipeline/app-identity.d.ts +35 -0
- package/dist/pipeline/app-identity.d.ts.map +1 -0
- package/dist/pipeline/app-identity.js +109 -0
- package/dist/pipeline/app-identity.js.map +1 -0
- package/dist/pipeline/capacitor-support.d.ts +1 -1
- package/dist/pipeline/capacitor-support.js +1 -1
- package/dist/services/cloud.d.ts +82 -2
- package/dist/services/cloud.d.ts.map +1 -1
- package/dist/services/cloud.js +85 -4
- package/dist/services/cloud.js.map +1 -1
- package/dist/utils/http.d.ts +5 -0
- package/dist/utils/http.d.ts.map +1 -1
- package/dist/utils/http.js +13 -2
- package/dist/utils/http.js.map +1 -1
- package/oclif.manifest.json +397 -84
- package/package.json +5 -5
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Flags } from "@oclif/core";
|
|
2
|
+
import chalk from "chalk";
|
|
3
|
+
import { BaseCommand } from "../../base-command.js";
|
|
4
|
+
import { membershipRows } from "../../cli/members.js";
|
|
5
|
+
import { selectOne, whileWaiting } from "../../cli/prompts.js";
|
|
6
|
+
import { requireCloud } from "../../cli/team.js";
|
|
7
|
+
export default class OrgMembers extends BaseCommand {
|
|
8
|
+
static description = "List the people in an organization";
|
|
9
|
+
static examples = ["<%= config.bin %> org members"];
|
|
10
|
+
static flags = {
|
|
11
|
+
org: Flags.string({ description: "Organization by name or id" }),
|
|
12
|
+
};
|
|
13
|
+
async run() {
|
|
14
|
+
const { flags } = await this.parse(OrgMembers);
|
|
15
|
+
const cloud = requireCloud(this);
|
|
16
|
+
const organizations = await whileWaiting("Reading organizations...", cloud.organizations());
|
|
17
|
+
if (organizations.length === 0)
|
|
18
|
+
this.error("This account is in no organizations.");
|
|
19
|
+
const wanted = flags.org?.trim().toLowerCase();
|
|
20
|
+
const organization = wanted
|
|
21
|
+
? organizations.find((org) => org.name.toLowerCase() === wanted || org.id.toLowerCase() === wanted)
|
|
22
|
+
: organizations.length === 1
|
|
23
|
+
? organizations[0]
|
|
24
|
+
: await selectOne("Which organization?", organizations.map((org) => ({ value: org, label: org.name, hint: org.role })), "--org");
|
|
25
|
+
if (!organization) {
|
|
26
|
+
this.error(`No organization called "${flags.org}". ` +
|
|
27
|
+
`Available: ${organizations.map((org) => org.name).join(", ")}.`);
|
|
28
|
+
}
|
|
29
|
+
const members = await whileWaiting("Reading members...", cloud.orgMembers(organization.id));
|
|
30
|
+
const rows = membershipRows(members);
|
|
31
|
+
this.log("");
|
|
32
|
+
this.log(` ${chalk.bold(organization.name)} ${chalk.dim(`- you are ${organization.role}`)}`);
|
|
33
|
+
this.log("");
|
|
34
|
+
if (rows.length === 0) {
|
|
35
|
+
this.log(chalk.dim(" No members."));
|
|
36
|
+
this.log("");
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const width = Math.max(...rows.map((row) => row.email.length));
|
|
40
|
+
for (const row of rows) {
|
|
41
|
+
const elevated = row.role === "owner" || row.role === "admin";
|
|
42
|
+
this.log(` ${row.email.padEnd(width)} ${elevated ? chalk.yellow(row.role) : chalk.dim(row.role)}`);
|
|
43
|
+
}
|
|
44
|
+
this.log("");
|
|
45
|
+
this.log(chalk.dim(" Owners and admins have admin rights on every app in the organization."));
|
|
46
|
+
this.log("");
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=members.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"members.js","sourceRoot":"","sources":["../../../src/commands/org/members.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/deploy/execute.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/deploy/execute.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAI7C,OAAO,EAIL,KAAK,UAAU,EAEhB,MAAM,uBAAuB,CAAC;AAU/B;;;;;;;;GAQG;AAEH,yCAAyC;AACzC,eAAO,MAAM,iBAAiB;;;;;;;;;;;;CA8CpB,CAAC;AAEX,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,WAAW,CAAC;CACpB;AAaD,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgThF"}
|
package/dist/deploy/execute.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { resolveSigning } from "./signing.js";
|
|
2
|
+
import { askText, confirm, isInteractive, selectOne, whileWaiting } from "../cli/prompts.js";
|
|
2
3
|
import { bumpVersion } from "@capuchoo/core";
|
|
3
4
|
import { Command, Flags } from "@oclif/core";
|
|
4
5
|
import chalk from "chalk";
|
|
@@ -90,7 +91,9 @@ export async function executeDeploy(options) {
|
|
|
90
91
|
", or set CAPUCHOO_ENDPOINT and CAPUCHOO_API_KEY.");
|
|
91
92
|
}
|
|
92
93
|
const cloud = new CloudClient(credentials.endpoint, credentials.apiKey);
|
|
93
|
-
|
|
94
|
+
// The backend sleeps when idle, so this first call can take fifteen seconds.
|
|
95
|
+
// Unannounced, it looked like the CLI had hung before the deploy even started.
|
|
96
|
+
const profile = await whileWaiting("Reaching the backend...", cloud.whoami());
|
|
94
97
|
if (!profile) {
|
|
95
98
|
fail(command, `The credentials for ${credentials.endpoint} were rejected. ` +
|
|
96
99
|
(credentials.source === "environment"
|
|
@@ -162,8 +165,20 @@ export async function executeDeploy(options) {
|
|
|
162
165
|
: "");
|
|
163
166
|
const currentVersion = readAppVersion(appDir);
|
|
164
167
|
const version = bump ? bumpVersion(currentVersion, bump) : currentVersion;
|
|
165
|
-
const buildType = (flags.type ?? "release");
|
|
166
168
|
const platform = (flags.platform ?? "android");
|
|
169
|
+
const signing = await resolveSigning({
|
|
170
|
+
appDir,
|
|
171
|
+
kind,
|
|
172
|
+
platform,
|
|
173
|
+
interactive,
|
|
174
|
+
requested: flags.type,
|
|
175
|
+
allowUnsigned: flags["allow-unsigned"] ?? false,
|
|
176
|
+
});
|
|
177
|
+
if (!signing) {
|
|
178
|
+
command.log(chalk.dim("Cancelled."));
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
const { buildType, allowUnsigned } = signing;
|
|
167
182
|
// --- confirmation ----------------------------------------------------------
|
|
168
183
|
if (interactive) {
|
|
169
184
|
command.log("");
|
|
@@ -171,7 +186,12 @@ export async function executeDeploy(options) {
|
|
|
171
186
|
command.log(` channel ${chalk.green(channel.name)} (${environment})`);
|
|
172
187
|
command.log(` version ${chalk.green(version)}${bump ? chalk.dim(` (${bump} from ${currentVersion})`) : ""}`);
|
|
173
188
|
if (kind === "native") {
|
|
174
|
-
|
|
189
|
+
const signedNote = buildType === "debug"
|
|
190
|
+
? chalk.dim(" (debug-signed)")
|
|
191
|
+
: allowUnsigned
|
|
192
|
+
? chalk.yellow(" (unsigned)")
|
|
193
|
+
: "";
|
|
194
|
+
command.log(` platform ${chalk.green(platform)} / ${buildType}${signedNote}`);
|
|
175
195
|
}
|
|
176
196
|
command.log(` serve now ${active ? chalk.green("yes") : "no"}`);
|
|
177
197
|
command.log(` required ${required ? chalk.yellow("yes") : "no"}`);
|
|
@@ -200,7 +220,7 @@ export async function executeDeploy(options) {
|
|
|
200
220
|
buildType,
|
|
201
221
|
skipAssets: flags["skip-assets"],
|
|
202
222
|
skipBuild: flags["skip-build"],
|
|
203
|
-
allowUnsigned
|
|
223
|
+
allowUnsigned,
|
|
204
224
|
flavor: flags.flavor,
|
|
205
225
|
dryRun: flags["dry-run"],
|
|
206
226
|
verbose: flags.verbose,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/deploy/execute.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/deploy/execute.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface SigningChoice {
|
|
2
|
+
buildType: "debug" | "release";
|
|
3
|
+
allowUnsigned: boolean;
|
|
4
|
+
}
|
|
5
|
+
export interface SigningInput {
|
|
6
|
+
appDir: string;
|
|
7
|
+
kind: "ota" | "native";
|
|
8
|
+
platform: "android" | "ios";
|
|
9
|
+
interactive: boolean;
|
|
10
|
+
/** `--type`, which wins over any prompt. */
|
|
11
|
+
requested?: "debug" | "release" | undefined;
|
|
12
|
+
/** `--allow-unsigned`. */
|
|
13
|
+
allowUnsigned: boolean;
|
|
14
|
+
}
|
|
15
|
+
/** Reads the project's release signing state, or null when there is no Android project. */
|
|
16
|
+
export declare function androidSigningState(appDir: string): import("../pipeline/android-signing.js").SigningStatus | null;
|
|
17
|
+
/**
|
|
18
|
+
* Decides what to build and whether an unsigned release is acceptable.
|
|
19
|
+
*
|
|
20
|
+
* Only asks when a release build would fail for want of a keystore. Returns null
|
|
21
|
+
* when the user cancels.
|
|
22
|
+
*/
|
|
23
|
+
export declare function resolveSigning(input: SigningInput): Promise<SigningChoice | null>;
|
|
24
|
+
//# sourceMappingURL=signing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signing.d.ts","sourceRoot":"","sources":["../../src/deploy/signing.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,KAAK,GAAG,QAAQ,CAAC;IACvB,QAAQ,EAAE,SAAS,GAAG,KAAK,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IAC5C,0BAA0B;IAC1B,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,2FAA2F;AAC3F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,iEAUjD;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CA4CvF"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { inspectReleaseSigning } from "../pipeline/android-signing.js";
|
|
4
|
+
import { log, selectOne } from "../cli/prompts.js";
|
|
5
|
+
/** Reads the project's release signing state, or null when there is no Android project. */
|
|
6
|
+
export function androidSigningState(appDir) {
|
|
7
|
+
const gradlePath = path.join(appDir, "android", "app", "build.gradle");
|
|
8
|
+
if (!fs.existsSync(gradlePath))
|
|
9
|
+
return null;
|
|
10
|
+
const propertiesPath = path.join(appDir, "android", "local.properties");
|
|
11
|
+
return inspectReleaseSigning({
|
|
12
|
+
buildGradle: fs.readFileSync(gradlePath, "utf8"),
|
|
13
|
+
localProperties: fs.existsSync(propertiesPath) ? fs.readFileSync(propertiesPath, "utf8") : "",
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Decides what to build and whether an unsigned release is acceptable.
|
|
18
|
+
*
|
|
19
|
+
* Only asks when a release build would fail for want of a keystore. Returns null
|
|
20
|
+
* when the user cancels.
|
|
21
|
+
*/
|
|
22
|
+
export async function resolveSigning(input) {
|
|
23
|
+
const { appDir, kind, platform, interactive, requested, allowUnsigned } = input;
|
|
24
|
+
if (kind !== "native" || platform !== "android") {
|
|
25
|
+
return { buildType: requested ?? "release", allowUnsigned };
|
|
26
|
+
}
|
|
27
|
+
const state = androidSigningState(appDir);
|
|
28
|
+
if (requested === "debug")
|
|
29
|
+
return { buildType: "debug", allowUnsigned };
|
|
30
|
+
if (allowUnsigned)
|
|
31
|
+
return { buildType: requested ?? "release", allowUnsigned: true };
|
|
32
|
+
if (!state || state.kind === "ready") {
|
|
33
|
+
return { buildType: requested ?? "release", allowUnsigned: false };
|
|
34
|
+
}
|
|
35
|
+
const problem = state.kind === "unconfigured"
|
|
36
|
+
? `signingConfigs.${state.configName} needs ${state.missing.join(", ")} in android/local.properties`
|
|
37
|
+
: "the release build type declares no signingConfig";
|
|
38
|
+
if (!interactive) {
|
|
39
|
+
log.warn(`Release signing is not ready: ${problem}. Building debug instead.`);
|
|
40
|
+
return { buildType: "debug", allowUnsigned: false };
|
|
41
|
+
}
|
|
42
|
+
log.warn(`Release signing is not ready: ${problem}.`);
|
|
43
|
+
return selectOne("How should this be built?", [
|
|
44
|
+
{
|
|
45
|
+
value: { buildType: "debug", allowUnsigned: false },
|
|
46
|
+
label: "Debug",
|
|
47
|
+
hint: "signed with the debug key, installs anywhere",
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
value: { buildType: "release", allowUnsigned: true },
|
|
51
|
+
label: "Release, unsigned",
|
|
52
|
+
hint: "sign it yourself before distributing",
|
|
53
|
+
},
|
|
54
|
+
{ value: null, label: "Cancel", hint: "fill in the keystore first" },
|
|
55
|
+
], "--type debug or --allow-unsigned");
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=signing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signing.js","sourceRoot":"","sources":["../../src/deploy/signing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether this project can actually produce a signed release APK.
|
|
3
|
+
*
|
|
4
|
+
* A `deploy native` to a prod channel spent 1m51s compiling and then failed at
|
|
5
|
+
* `:app:packageProdRelease` with
|
|
6
|
+
*
|
|
7
|
+
* A failure occurred while executing PackageAndroidArtifact$IncrementalSplitterRunnable
|
|
8
|
+
*
|
|
9
|
+
* which names neither signing nor the missing values. The cause was an empty
|
|
10
|
+
* `signingConfigs.release`: the build file reads `RELEASE_STORE_FILE` and three
|
|
11
|
+
* siblings out of `local.properties`, and none of them were set on that machine.
|
|
12
|
+
* `doctor` had reported everything green beforehand, because it never looked.
|
|
13
|
+
*
|
|
14
|
+
* Pure over the two files' contents, so the rule is testable without an Android
|
|
15
|
+
* SDK, a keystore, or two minutes of Gradle.
|
|
16
|
+
*/
|
|
17
|
+
export type SigningStatus =
|
|
18
|
+
/** The release build type signs with nothing, so Gradle emits an unsigned APK. */
|
|
19
|
+
{
|
|
20
|
+
kind: "unsigned";
|
|
21
|
+
}
|
|
22
|
+
/** A signing config is wired up, but the values it reads are absent. */
|
|
23
|
+
| {
|
|
24
|
+
kind: "unconfigured";
|
|
25
|
+
configName: string;
|
|
26
|
+
missing: string[];
|
|
27
|
+
}
|
|
28
|
+
/** Every property the signing config reads is present. */
|
|
29
|
+
| {
|
|
30
|
+
kind: "ready";
|
|
31
|
+
configName: string;
|
|
32
|
+
storeFile: string | null;
|
|
33
|
+
};
|
|
34
|
+
export declare function inspectReleaseSigning(input: {
|
|
35
|
+
buildGradle: string;
|
|
36
|
+
/** Contents of `android/local.properties`, or "" when the file is absent. */
|
|
37
|
+
localProperties: string;
|
|
38
|
+
}): SigningStatus;
|
|
39
|
+
/** One line naming what to do about it. */
|
|
40
|
+
export declare function describeSigning(status: SigningStatus): string;
|
|
41
|
+
//# sourceMappingURL=android-signing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"android-signing.d.ts","sourceRoot":"","sources":["../../src/pipeline/android-signing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAqBH,MAAM,MAAM,aAAa;AACvB,kFAAkF;AAChF;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE;AACtB,wEAAwE;GACtE;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE;AACjE,0DAA0D;GACxD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAEpE,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,eAAe,EAAE,MAAM,CAAC;CACzB,GAAG,aAAa,CAqChB;AAED,2CAA2C;AAC3C,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAiB7D"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether this project can actually produce a signed release APK.
|
|
3
|
+
*
|
|
4
|
+
* A `deploy native` to a prod channel spent 1m51s compiling and then failed at
|
|
5
|
+
* `:app:packageProdRelease` with
|
|
6
|
+
*
|
|
7
|
+
* A failure occurred while executing PackageAndroidArtifact$IncrementalSplitterRunnable
|
|
8
|
+
*
|
|
9
|
+
* which names neither signing nor the missing values. The cause was an empty
|
|
10
|
+
* `signingConfigs.release`: the build file reads `RELEASE_STORE_FILE` and three
|
|
11
|
+
* siblings out of `local.properties`, and none of them were set on that machine.
|
|
12
|
+
* `doctor` had reported everything green beforehand, because it never looked.
|
|
13
|
+
*
|
|
14
|
+
* Pure over the two files' contents, so the rule is testable without an Android
|
|
15
|
+
* SDK, a keystore, or two minutes of Gradle.
|
|
16
|
+
*/
|
|
17
|
+
/** The balanced body of `name { ... }`, or null when there is no such block. */
|
|
18
|
+
function blockBody(source, name) {
|
|
19
|
+
const start = source.search(new RegExp(`\\b${name}\\s*\\{`));
|
|
20
|
+
if (start === -1)
|
|
21
|
+
return null;
|
|
22
|
+
const open = source.indexOf("{", start);
|
|
23
|
+
let depth = 0;
|
|
24
|
+
for (let i = open; i < source.length; i += 1) {
|
|
25
|
+
if (source[i] === "{")
|
|
26
|
+
depth += 1;
|
|
27
|
+
else if (source[i] === "}") {
|
|
28
|
+
depth -= 1;
|
|
29
|
+
if (depth === 0)
|
|
30
|
+
return source.slice(open + 1, i);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
export function inspectReleaseSigning(input) {
|
|
36
|
+
const buildTypes = blockBody(input.buildGradle, "buildTypes") ?? "";
|
|
37
|
+
const release = blockBody(buildTypes, "release") ?? "";
|
|
38
|
+
const wired = /signingConfig\s+signingConfigs\.(\w+)/.exec(release);
|
|
39
|
+
if (!wired)
|
|
40
|
+
return { kind: "unsigned" };
|
|
41
|
+
const configName = wired[1];
|
|
42
|
+
const configs = blockBody(input.buildGradle, "signingConfigs") ?? "";
|
|
43
|
+
const config = blockBody(configs, configName) ?? "";
|
|
44
|
+
// Whatever the build file actually reads, rather than a hard-coded list of
|
|
45
|
+
// names - a project is free to call them anything.
|
|
46
|
+
const needed = [...config.matchAll(/getProperty\(\s*["']([^"']+)["']\s*\)/g)].map((match) => match[1]);
|
|
47
|
+
const present = new Map();
|
|
48
|
+
for (const line of input.localProperties.split(/\r?\n/)) {
|
|
49
|
+
if (line.trimStart().startsWith("#"))
|
|
50
|
+
continue;
|
|
51
|
+
const match = /^\s*([\w.]+)\s*=\s*(.*)$/.exec(line);
|
|
52
|
+
if (match)
|
|
53
|
+
present.set(match[1], match[2].trim());
|
|
54
|
+
}
|
|
55
|
+
const missing = [...new Set(needed)].filter((key) => !present.get(key));
|
|
56
|
+
if (missing.length > 0)
|
|
57
|
+
return { kind: "unconfigured", configName, missing };
|
|
58
|
+
// The store path is reported so the caller can check the file exists - a path
|
|
59
|
+
// that points at nothing fails the same way as a missing property.
|
|
60
|
+
const storeKey = needed.find((key) => /STORE_FILE|KEYSTORE/i.test(key));
|
|
61
|
+
return {
|
|
62
|
+
kind: "ready",
|
|
63
|
+
configName,
|
|
64
|
+
storeFile: storeKey ? (present.get(storeKey) ?? null) : null,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/** One line naming what to do about it. */
|
|
68
|
+
export function describeSigning(status) {
|
|
69
|
+
switch (status.kind) {
|
|
70
|
+
case "unsigned":
|
|
71
|
+
return ("The release build type declares no signingConfig, so Gradle will emit an " +
|
|
72
|
+
"unsigned APK and Android will refuse to install it.");
|
|
73
|
+
case "unconfigured":
|
|
74
|
+
return (`signingConfigs.${status.configName} reads ` +
|
|
75
|
+
`${status.missing.join(", ")} from android/local.properties, and ` +
|
|
76
|
+
`${status.missing.length === 1 ? "it is" : "they are"} not set. The build ` +
|
|
77
|
+
"reaches the packaging task and fails there, after compiling everything.");
|
|
78
|
+
case "ready":
|
|
79
|
+
return `signingConfigs.${status.configName}`;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=android-signing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"android-signing.js","sourceRoot":"","sources":["../../src/pipeline/android-signing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/** Where a detected value came from, so a prompt can say why it is suggesting it. */
|
|
2
|
+
export interface Detected {
|
|
3
|
+
value: string;
|
|
4
|
+
source: string;
|
|
5
|
+
}
|
|
6
|
+
export interface AppIdentity {
|
|
7
|
+
appId?: Detected;
|
|
8
|
+
appName?: Detected;
|
|
9
|
+
}
|
|
10
|
+
export interface ProjectFiles {
|
|
11
|
+
/** `capacitor.config.ts` / `.js` / `.json`. */
|
|
12
|
+
capacitorConfig?: string | undefined;
|
|
13
|
+
/** `android/app/build.gradle`. */
|
|
14
|
+
buildGradle?: string | undefined;
|
|
15
|
+
/** The production flavour's env file. */
|
|
16
|
+
envFile?: string | undefined;
|
|
17
|
+
packageJson?: string | undefined;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* The bundle identifier and name this project already declares.
|
|
21
|
+
*
|
|
22
|
+
* Order is by authority: `applicationId` in Gradle is what actually ships in the
|
|
23
|
+
* APK and what a device reports, so it wins over the Capacitor config, which
|
|
24
|
+
* wins over an env file that only affects a build.
|
|
25
|
+
*/
|
|
26
|
+
export declare function detectIdentity(files: ProjectFiles): AppIdentity;
|
|
27
|
+
/**
|
|
28
|
+
* Bundle ids found in the project that disagree with the chosen one.
|
|
29
|
+
*
|
|
30
|
+
* The device reports whatever is compiled into the binary, so a Gradle
|
|
31
|
+
* `applicationId` that differs from the linked app is a mismatch the server
|
|
32
|
+
* answers with "App not found" - and only on a device.
|
|
33
|
+
*/
|
|
34
|
+
export declare function conflictingIds(files: ProjectFiles, chosen: string): Detected[];
|
|
35
|
+
//# sourceMappingURL=app-identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-identity.d.ts","sourceRoot":"","sources":["../../src/pipeline/app-identity.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,OAAO,CAAC,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AA8BD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,WAAW,CAgD/D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,CAqB9E"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A string literal for `key`, including the fallback in
|
|
3
|
+
* `key: process.env.X ?? "literal"`.
|
|
4
|
+
*/
|
|
5
|
+
function literalFor(source, key) {
|
|
6
|
+
const line = new RegExp(`\\b${key}\\s*:\\s*([^,\\n]+)`).exec(source);
|
|
7
|
+
if (!line)
|
|
8
|
+
return null;
|
|
9
|
+
// The last quoted string on the line: for a `??` chain that is the fallback,
|
|
10
|
+
// and for a plain assignment it is the value itself.
|
|
11
|
+
const quoted = [...line[1].matchAll(/["'`]([^"'`]+)["'`]/g)];
|
|
12
|
+
return quoted.length > 0 ? quoted[quoted.length - 1][1] : null;
|
|
13
|
+
}
|
|
14
|
+
function envValue(source, key) {
|
|
15
|
+
for (const line of source.split(/\r?\n/)) {
|
|
16
|
+
if (line.trimStart().startsWith("#"))
|
|
17
|
+
continue;
|
|
18
|
+
const match = new RegExp(`^\\s*${key}\\s*=\\s*(.*)$`).exec(line);
|
|
19
|
+
if (match) {
|
|
20
|
+
const value = match[1].trim().replace(/^(['"])(.*)\1$/, "$2");
|
|
21
|
+
if (value)
|
|
22
|
+
return value;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
const BUNDLE_ID = /^[a-z][\w]*(\.[a-z][\w]*)+$/i;
|
|
28
|
+
/**
|
|
29
|
+
* The bundle identifier and name this project already declares.
|
|
30
|
+
*
|
|
31
|
+
* Order is by authority: `applicationId` in Gradle is what actually ships in the
|
|
32
|
+
* APK and what a device reports, so it wins over the Capacitor config, which
|
|
33
|
+
* wins over an env file that only affects a build.
|
|
34
|
+
*/
|
|
35
|
+
export function detectIdentity(files) {
|
|
36
|
+
const identity = {};
|
|
37
|
+
const idCandidates = [];
|
|
38
|
+
if (files.buildGradle) {
|
|
39
|
+
const match = /\bapplicationId\s+["']([^"']+)["']/.exec(files.buildGradle);
|
|
40
|
+
if (match)
|
|
41
|
+
idCandidates.push({ value: match[1], source: "android/app/build.gradle" });
|
|
42
|
+
}
|
|
43
|
+
if (files.capacitorConfig) {
|
|
44
|
+
const value = literalFor(files.capacitorConfig, "appId");
|
|
45
|
+
if (value)
|
|
46
|
+
idCandidates.push({ value, source: "capacitor.config" });
|
|
47
|
+
}
|
|
48
|
+
if (files.envFile) {
|
|
49
|
+
const value = envValue(files.envFile, "VITE_APP_ID");
|
|
50
|
+
if (value)
|
|
51
|
+
idCandidates.push({ value, source: "the production env file" });
|
|
52
|
+
}
|
|
53
|
+
const appId = idCandidates.find((candidate) => BUNDLE_ID.test(candidate.value));
|
|
54
|
+
if (appId)
|
|
55
|
+
identity.appId = appId;
|
|
56
|
+
const nameCandidates = [];
|
|
57
|
+
if (files.capacitorConfig) {
|
|
58
|
+
const value = literalFor(files.capacitorConfig, "appName");
|
|
59
|
+
if (value)
|
|
60
|
+
nameCandidates.push({ value, source: "capacitor.config" });
|
|
61
|
+
}
|
|
62
|
+
if (files.envFile) {
|
|
63
|
+
const value = envValue(files.envFile, "VITE_APP_NAME");
|
|
64
|
+
if (value)
|
|
65
|
+
nameCandidates.push({ value, source: "the production env file" });
|
|
66
|
+
}
|
|
67
|
+
if (files.packageJson) {
|
|
68
|
+
try {
|
|
69
|
+
const parsed = JSON.parse(files.packageJson);
|
|
70
|
+
if (parsed.name)
|
|
71
|
+
nameCandidates.push({ value: parsed.name, source: "package.json" });
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
// A malformed package.json is not this function's problem.
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
const appName = nameCandidates[0];
|
|
78
|
+
if (appName)
|
|
79
|
+
identity.appName = appName;
|
|
80
|
+
return identity;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Bundle ids found in the project that disagree with the chosen one.
|
|
84
|
+
*
|
|
85
|
+
* The device reports whatever is compiled into the binary, so a Gradle
|
|
86
|
+
* `applicationId` that differs from the linked app is a mismatch the server
|
|
87
|
+
* answers with "App not found" - and only on a device.
|
|
88
|
+
*/
|
|
89
|
+
export function conflictingIds(files, chosen) {
|
|
90
|
+
const found = [];
|
|
91
|
+
if (files.buildGradle) {
|
|
92
|
+
const match = /\bapplicationId\s+["']([^"']+)["']/.exec(files.buildGradle);
|
|
93
|
+
if (match && match[1] !== chosen) {
|
|
94
|
+
found.push({ value: match[1], source: "android/app/build.gradle" });
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
if (files.capacitorConfig) {
|
|
98
|
+
const value = literalFor(files.capacitorConfig, "appId");
|
|
99
|
+
if (value && value !== chosen)
|
|
100
|
+
found.push({ value, source: "capacitor.config" });
|
|
101
|
+
}
|
|
102
|
+
if (files.envFile) {
|
|
103
|
+
const value = envValue(files.envFile, "VITE_APP_ID");
|
|
104
|
+
if (value && value !== chosen)
|
|
105
|
+
found.push({ value, source: "the production env file" });
|
|
106
|
+
}
|
|
107
|
+
return found;
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=app-identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-identity.js","sourceRoot":"","sources":["../../src/pipeline/app-identity.ts"],"names":[],"mappings":"AAqBA;;;GAGG;AACH,SAAS,UAAU,CAAC,MAAc,EAAE,GAAW;IAC7C,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,MAAM,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrE,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,6EAA6E;IAC7E,qDAAqD;IACrD,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAC9D,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACnE,CAAC;AAED,SAAS,QAAQ,CAAC,MAAc,EAAE,GAAW;IAC3C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAC/C,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,QAAQ,GAAG,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;YAC/D,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,SAAS,GAAG,8BAA8B,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,KAAmB;IAChD,MAAM,QAAQ,GAAgB,EAAE,CAAC;IAEjC,MAAM,YAAY,GAAe,EAAE,CAAC;IAEpC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,oCAAoC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC3E,IAAI,KAAK;YAAE,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACzD,IAAI,KAAK;YAAE,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACrD,IAAI,KAAK;YAAE,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAChF,IAAI,KAAK;QAAE,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;IAElC,MAAM,cAAc,GAAe,EAAE,CAAC;IAEtC,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QAC3D,IAAI,KAAK;YAAE,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACvD,IAAI,KAAK;YAAE,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAsB,CAAC;YAClE,IAAI,MAAM,CAAC,IAAI;gBAAE,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;QACvF,CAAC;QAAC,MAAM,CAAC;YACP,2DAA2D;QAC7D,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,OAAO;QAAE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;IAExC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,KAAmB,EAAE,MAAc;IAChE,MAAM,KAAK,GAAe,EAAE,CAAC;IAE7B,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,oCAAoC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC3E,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACzD,IAAI,KAAK,IAAI,KAAK,KAAK,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACrD,IAAI,KAAK,IAAI,KAAK,KAAK,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
* manager believes `latest` is, and pnpm caches registry metadata - so minutes
|
|
24
24
|
* after a release it installs the previous version and says nothing.
|
|
25
25
|
*/
|
|
26
|
-
export declare const RUNTIME_VERSION = "0.
|
|
26
|
+
export declare const RUNTIME_VERSION = "0.6.0";
|
|
27
27
|
/** Capacitor majors this toolchain installs for. */
|
|
28
28
|
export declare const SUPPORTED_MAJORS: readonly [7, 8];
|
|
29
29
|
export type CapacitorMajor = (typeof SUPPORTED_MAJORS)[number];
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
* manager believes `latest` is, and pnpm caches registry metadata - so minutes
|
|
24
24
|
* after a release it installs the previous version and says nothing.
|
|
25
25
|
*/
|
|
26
|
-
export const RUNTIME_VERSION = "0.
|
|
26
|
+
export const RUNTIME_VERSION = "0.6.0";
|
|
27
27
|
/** Capacitor majors this toolchain installs for. */
|
|
28
28
|
export const SUPPORTED_MAJORS = [7, 8];
|
|
29
29
|
/**
|