lim 0.19.5 → 0.20.1
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/dist/commands/gradle/build.d.ts +7 -0
- package/dist/commands/gradle/build.d.ts.map +1 -1
- package/dist/commands/gradle/build.js +66 -2
- package/dist/commands/gradle/build.js.map +1 -1
- package/dist/commands/xcode/build.d.ts +1 -0
- package/dist/commands/xcode/build.d.ts.map +1 -1
- package/dist/commands/xcode/build.js +8 -2
- package/dist/commands/xcode/build.js.map +1 -1
- package/dist/lib/android-keystore.d.ts +15 -0
- package/dist/lib/android-keystore.d.ts.map +1 -0
- package/dist/lib/android-keystore.js +65 -0
- package/dist/lib/android-keystore.js.map +1 -0
- package/dist/lib/android-keystore.test.d.ts +2 -0
- package/dist/lib/android-keystore.test.d.ts.map +1 -0
- package/dist/lib/android-keystore.test.js +43 -0
- package/dist/lib/android-keystore.test.js.map +1 -0
- package/dist/lib/auth.d.ts +1 -0
- package/dist/lib/auth.d.ts.map +1 -1
- package/dist/lib/auth.js +1 -0
- package/dist/lib/auth.js.map +1 -1
- package/dist/lib/backend.d.ts +32 -0
- package/dist/lib/backend.d.ts.map +1 -0
- package/dist/lib/backend.js +81 -0
- package/dist/lib/backend.js.map +1 -0
- package/dist/lib/backend.test.d.ts +2 -0
- package/dist/lib/backend.test.d.ts.map +1 -0
- package/dist/lib/backend.test.js +124 -0
- package/dist/lib/backend.test.js.map +1 -0
- package/dist/lib/gradle-build-options.d.ts +21 -0
- package/dist/lib/gradle-build-options.d.ts.map +1 -1
- package/dist/lib/gradle-build-options.js +41 -0
- package/dist/lib/gradle-build-options.js.map +1 -1
- package/dist/lib/gradle-build-options.test.d.ts +2 -0
- package/dist/lib/gradle-build-options.test.d.ts.map +1 -0
- package/dist/lib/gradle-build-options.test.js +63 -0
- package/dist/lib/gradle-build-options.test.js.map +1 -0
- package/dist/lib/gradle-signing.d.ts +44 -0
- package/dist/lib/gradle-signing.d.ts.map +1 -0
- package/dist/lib/gradle-signing.js +167 -0
- package/dist/lib/gradle-signing.js.map +1 -0
- package/dist/lib/gradle-signing.test.d.ts +2 -0
- package/dist/lib/gradle-signing.test.d.ts.map +1 -0
- package/dist/lib/gradle-signing.test.js +111 -0
- package/dist/lib/gradle-signing.test.js.map +1 -0
- package/package.json +8 -3
|
@@ -14,6 +14,13 @@ export default class GradleBuild extends BaseCommand {
|
|
|
14
14
|
abi: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
15
15
|
upload: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
16
16
|
'signed-upload-url': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
17
|
+
sign: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
18
|
+
'application-id': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
19
|
+
keystore: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
20
|
+
'keystore-password': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
21
|
+
'key-alias': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
22
|
+
'key-password': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
23
|
+
'save-key': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
17
24
|
'basis-cache-dir': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
18
25
|
ignore: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
19
26
|
include: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/commands/gradle/build.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/commands/gradle/build.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAgBjD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,MAAM,CAAC,OAAO,SAAmD;IACjE,MAAM,CAAC,WAAW,SAEgG;IAElH,MAAM,CAAC,QAAQ,WAQb;IAEF,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;MAmEV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA0G3B"}
|
|
@@ -4,6 +4,7 @@ const core_1 = require("@oclif/core");
|
|
|
4
4
|
const base_command_1 = require("../../base-command");
|
|
5
5
|
const ignore_patterns_1 = require("../../lib/ignore-patterns");
|
|
6
6
|
const gradle_build_options_1 = require("../../lib/gradle-build-options");
|
|
7
|
+
const gradle_signing_1 = require("../../lib/gradle-signing");
|
|
7
8
|
const duration_1 = require("../../lib/duration");
|
|
8
9
|
const bytes_1 = require("../../lib/bytes");
|
|
9
10
|
class GradleBuild extends base_command_1.BaseCommand {
|
|
@@ -14,16 +15,47 @@ class GradleBuild extends base_command_1.BaseCommand {
|
|
|
14
15
|
// auto-create a billed instance, which a doomed flag combination must
|
|
15
16
|
// never reach.
|
|
16
17
|
let options;
|
|
18
|
+
let applicationId;
|
|
19
|
+
const syncPath = args.path ?? process.cwd();
|
|
17
20
|
try {
|
|
18
21
|
options = (0, gradle_build_options_1.gradleBuildOptionsFromFlags)(flags);
|
|
22
|
+
if (flags.sign || flags['save-key']) {
|
|
23
|
+
applicationId = (0, gradle_signing_1.resolveApplicationId)({
|
|
24
|
+
explicit: flags['application-id'],
|
|
25
|
+
syncPath,
|
|
26
|
+
expoAppDir: flags['expo-app-dir'],
|
|
27
|
+
projectPath: flags['project-path'],
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
if (flags.keystore) {
|
|
31
|
+
options.signing = (0, gradle_signing_1.readProvidedSigning)({
|
|
32
|
+
keystore: flags.keystore,
|
|
33
|
+
keystorePassword: flags['keystore-password'],
|
|
34
|
+
keyAlias: flags['key-alias'],
|
|
35
|
+
keyPassword: flags['key-password'],
|
|
36
|
+
});
|
|
37
|
+
}
|
|
19
38
|
}
|
|
20
39
|
catch (err) {
|
|
21
40
|
return this.error(err instanceof Error ? err.message : String(err));
|
|
22
41
|
}
|
|
23
42
|
await this.withAuth(async () => {
|
|
43
|
+
// Escrow round-trips run BEFORE resolveGradleTargetOrCreate for the
|
|
44
|
+
// same reason flag validation does: a failure here must not leave a
|
|
45
|
+
// freshly created billed instance behind.
|
|
46
|
+
if (applicationId && flags['save-key'] && options.signing) {
|
|
47
|
+
const saved = await (0, gradle_signing_1.saveProvidedKey)(this.client, applicationId, options.signing);
|
|
48
|
+
this.info(saved ?
|
|
49
|
+
`Escrowed the provided keystore as the organization's upload key for ${applicationId}.`
|
|
50
|
+
: `The provided keystore is already escrowed for ${applicationId}.`);
|
|
51
|
+
}
|
|
52
|
+
else if (applicationId && flags.sign) {
|
|
53
|
+
const { signing, created } = await (0, gradle_signing_1.resolveEscrowedSigning)(this.client, applicationId);
|
|
54
|
+
options.signing = signing;
|
|
55
|
+
this.info(`Signing with the organization's upload key for ${applicationId} (${created ? 'newly generated' : 'existing'}).`);
|
|
56
|
+
}
|
|
24
57
|
const target = await this.resolveGradleTargetOrCreate(flags.id);
|
|
25
58
|
const id = target.id;
|
|
26
|
-
const syncPath = args.path ?? process.cwd();
|
|
27
59
|
const gradleClient = await this.resolveGradleClient(target);
|
|
28
60
|
this.info(`Syncing ${syncPath} to instance ${id}...`);
|
|
29
61
|
const syncStart = Date.now();
|
|
@@ -51,7 +83,14 @@ class GradleBuild extends base_command_1.BaseCommand {
|
|
|
51
83
|
this.error(`gradle build failed with exit code ${result.exitCode}`, { exit: result.exitCode });
|
|
52
84
|
}
|
|
53
85
|
this.output(`\nBuild succeeded (exit code ${result.exitCode})`);
|
|
54
|
-
|
|
86
|
+
// Signing only yields a Play-ready AAB when a bundle task ran (no
|
|
87
|
+
// explicit tasks means the server defaulted to bundleRelease); a BYO
|
|
88
|
+
// keystore with an explicit assemble task still produces an APK.
|
|
89
|
+
const builtSignedBundle = options.signing && (!flags.task?.length || (0, gradle_build_options_1.tasksIncludeBundle)(flags.task));
|
|
90
|
+
if (flags.upload && builtSignedBundle) {
|
|
91
|
+
this.output(`Uploaded the signed app bundle as asset '${flags.upload}'.`);
|
|
92
|
+
}
|
|
93
|
+
else if (flags.upload) {
|
|
55
94
|
this.output(`Uploaded APK as asset '${flags.upload}'.`);
|
|
56
95
|
this.output(`Run it with: lim android create --install-asset=${flags.upload}`);
|
|
57
96
|
}
|
|
@@ -70,6 +109,8 @@ GradleBuild.examples = [
|
|
|
70
109
|
'<%= config.bin %> gradle build --task bundleRelease',
|
|
71
110
|
'<%= config.bin %> gradle build --id <gradle-instance-ID> --project-path android',
|
|
72
111
|
'<%= config.bin %> gradle build ./my-monorepo --expo-app-dir apps/mobile',
|
|
112
|
+
'<%= config.bin %> gradle build --sign --upload myapp.aab',
|
|
113
|
+
'<%= config.bin %> gradle build --keystore upload.jks --keystore-password *** --key-alias upload --key-password *** --save-key',
|
|
73
114
|
];
|
|
74
115
|
GradleBuild.args = {
|
|
75
116
|
path: core_1.Args.string({
|
|
@@ -101,6 +142,29 @@ GradleBuild.flags = {
|
|
|
101
142
|
'signed-upload-url': core_1.Flags.string({
|
|
102
143
|
description: 'Presigned URL to upload the resulting APK to.',
|
|
103
144
|
}),
|
|
145
|
+
sign: core_1.Flags.boolean({
|
|
146
|
+
description: "Sign the release build with the organization's escrowed upload key for this app, generating and escrowing one on first use. Makes bundleRelease the default task.",
|
|
147
|
+
default: false,
|
|
148
|
+
}),
|
|
149
|
+
'application-id': core_1.Flags.string({
|
|
150
|
+
description: 'Android application ID naming the escrowed key. Defaults to the value detected from app.json or app/build.gradle.',
|
|
151
|
+
}),
|
|
152
|
+
keystore: core_1.Flags.string({
|
|
153
|
+
description: 'Path to your own upload keystore for release signing. Requires --keystore-password, --key-alias and --key-password.',
|
|
154
|
+
}),
|
|
155
|
+
'keystore-password': core_1.Flags.string({
|
|
156
|
+
description: 'Password of the --keystore file.',
|
|
157
|
+
env: 'LIM_KEYSTORE_PASSWORD',
|
|
158
|
+
}),
|
|
159
|
+
'key-alias': core_1.Flags.string({ description: 'Alias of the signing key inside the --keystore file.' }),
|
|
160
|
+
'key-password': core_1.Flags.string({
|
|
161
|
+
description: 'Password of the key behind --key-alias.',
|
|
162
|
+
env: 'LIM_KEY_PASSWORD',
|
|
163
|
+
}),
|
|
164
|
+
'save-key': core_1.Flags.boolean({
|
|
165
|
+
description: "Escrow the provided --keystore as the organization's upload key for this app, so later builds can use --sign. Fails if a different key is already escrowed.",
|
|
166
|
+
default: false,
|
|
167
|
+
}),
|
|
104
168
|
'basis-cache-dir': core_1.Flags.string({
|
|
105
169
|
description: 'Directory for the client-side folder-sync cache.',
|
|
106
170
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/commands/gradle/build.ts"],"names":[],"mappings":";;AAAA,sCAA0C;AAE1C,qDAAiD;AACjD,+DAAkE;AAClE,
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/commands/gradle/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,7 @@ export default class XcodeBuild extends BaseCommand {
|
|
|
31
31
|
'asc-issuer-id': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
32
32
|
'asc-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
33
33
|
'asc-wait-timeout': import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
34
|
+
'auto-build-number': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
34
35
|
'basis-cache-dir': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
35
36
|
ignore: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
36
37
|
include: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/commands/xcode/build.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/commands/xcode/build.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA6BjD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,MAAM,CAAC,OAAO,SAAwC;IACtD,MAAM,CAAC,WAAW,SAC8L;IAEhN,MAAM,CAAC,QAAQ,WAoBb;IAEF,MAAM,CAAC,IAAI;;MAKT;IAEF,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAgHV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAqLZ,mBAAmB;YA8BnB,cAAc;YAQd,sBAAsB;YAetB,yBAAyB;YAazB,yBAAyB;CAwBxC"}
|
|
@@ -88,7 +88,7 @@ class XcodeBuild extends base_command_1.BaseCommand {
|
|
|
88
88
|
if (!flags['upload-to-testflight'] && hasTestflightFlags(flags)) {
|
|
89
89
|
// Reserved: a bare ASC credential may gain other meanings later
|
|
90
90
|
// (managed signing, entitlement preflight), so it never implies one.
|
|
91
|
-
this.error('The asc flags require --upload-to-testflight.');
|
|
91
|
+
this.error('The asc flags and --auto-build-number require --upload-to-testflight.');
|
|
92
92
|
}
|
|
93
93
|
if (flags['upload-to-testflight']) {
|
|
94
94
|
if (!signing) {
|
|
@@ -199,6 +199,7 @@ class XcodeBuild extends base_command_1.BaseCommand {
|
|
|
199
199
|
...(flags['asc-issuer-id'] && { apiIssuerId: flags['asc-issuer-id'] }),
|
|
200
200
|
apiPrivateKeyBase64: await this.readFileBase64(flags['asc-key'], '--asc-key'),
|
|
201
201
|
...(flags['asc-wait-timeout'] !== undefined && { waitTimeoutSeconds: flags['asc-wait-timeout'] }),
|
|
202
|
+
...(flags['auto-build-number'] && { autoIncrementBuildNumber: true }),
|
|
202
203
|
};
|
|
203
204
|
}
|
|
204
205
|
async resolveIosSignedStreamUrl(target) {
|
|
@@ -343,6 +344,10 @@ XcodeBuild.flags = {
|
|
|
343
344
|
min: 0,
|
|
344
345
|
max: 1800,
|
|
345
346
|
}),
|
|
347
|
+
'auto-build-number': core_1.Flags.boolean({
|
|
348
|
+
description: 'Set the build number to one more than the highest already in App Store Connect (1 for a new app), so repeat uploads never collide on CFBundleVersion. Resolved server-side with the ASC key. Requires --upload-to-testflight and a project using Xcode-standard versioning (CFBundleVersion = $(CURRENT_PROJECT_VERSION)).',
|
|
349
|
+
default: false,
|
|
350
|
+
}),
|
|
346
351
|
'basis-cache-dir': core_1.Flags.string({
|
|
347
352
|
description: 'Directory to use for the client-side delta sync cache during the pre-build sync step.',
|
|
348
353
|
}),
|
|
@@ -369,6 +374,7 @@ function hasTestflightFlags(flags) {
|
|
|
369
374
|
return (flags['asc-key-id'] !== undefined ||
|
|
370
375
|
flags['asc-issuer-id'] !== undefined ||
|
|
371
376
|
flags['asc-key'] !== undefined ||
|
|
372
|
-
flags['asc-wait-timeout'] !== undefined
|
|
377
|
+
flags['asc-wait-timeout'] !== undefined ||
|
|
378
|
+
flags['auto-build-number']);
|
|
373
379
|
}
|
|
374
380
|
//# sourceMappingURL=build.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/commands/xcode/build.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/commands/xcode/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type AndroidSigningKey = {
|
|
2
|
+
keystoreBase64: string;
|
|
3
|
+
keystorePassword: string;
|
|
4
|
+
keyAlias: string;
|
|
5
|
+
keyPassword: string;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Generates an Android upload keystore entirely in JS: a local JDK cannot
|
|
9
|
+
* be assumed since builds run remotely. The output is a PKCS12 the JDK's
|
|
10
|
+
* dual-format keystore reader auto-detects; 3DES encryption keeps it
|
|
11
|
+
* readable by every Java version. Store and key password are the same
|
|
12
|
+
* value, which PKCS12 under Java effectively requires.
|
|
13
|
+
*/
|
|
14
|
+
export declare function generateAndroidSigningKey(applicationId: string): AndroidSigningKey;
|
|
15
|
+
//# sourceMappingURL=android-keystore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"android-keystore.d.ts","sourceRoot":"","sources":["../../src/lib/android-keystore.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAmBF;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,MAAM,GAAG,iBAAiB,CAqClF"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.generateAndroidSigningKey = generateAndroidSigningKey;
|
|
7
|
+
const node_crypto_1 = require("node:crypto");
|
|
8
|
+
const node_forge_1 = __importDefault(require("node-forge"));
|
|
9
|
+
// Google Play requires upload-key certificates to stay valid well past
|
|
10
|
+
// 2033; ~27 years matches what Android Studio generates.
|
|
11
|
+
const validityDays = 10000;
|
|
12
|
+
const keyAlias = 'upload';
|
|
13
|
+
// Alphanumeric only: the values end up in gradle.properties, which Gradle
|
|
14
|
+
// reads as ISO-8859-1, and must survive any shell quoting users apply.
|
|
15
|
+
const passwordAlphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
|
16
|
+
function generatePassword(length = 24) {
|
|
17
|
+
let out = '';
|
|
18
|
+
for (let i = 0; i < length; i++) {
|
|
19
|
+
out += passwordAlphabet[(0, node_crypto_1.randomInt)(passwordAlphabet.length)];
|
|
20
|
+
}
|
|
21
|
+
return out;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Generates an Android upload keystore entirely in JS: a local JDK cannot
|
|
25
|
+
* be assumed since builds run remotely. The output is a PKCS12 the JDK's
|
|
26
|
+
* dual-format keystore reader auto-detects; 3DES encryption keeps it
|
|
27
|
+
* readable by every Java version. Store and key password are the same
|
|
28
|
+
* value, which PKCS12 under Java effectively requires.
|
|
29
|
+
*/
|
|
30
|
+
function generateAndroidSigningKey(applicationId) {
|
|
31
|
+
const password = generatePassword();
|
|
32
|
+
// Native keygen (hundreds of ms) instead of node-forge's pure-JS one
|
|
33
|
+
// (many seconds of silent event-loop blocking); forge only assembles
|
|
34
|
+
// the certificate and PKCS12, mirroring the ui package's apple crypto.
|
|
35
|
+
const { privateKey: privateKeyPem } = (0, node_crypto_1.generateKeyPairSync)('rsa', {
|
|
36
|
+
modulusLength: 2048,
|
|
37
|
+
publicKeyEncoding: { type: 'spki', format: 'pem' },
|
|
38
|
+
privateKeyEncoding: { type: 'pkcs8', format: 'pem' },
|
|
39
|
+
});
|
|
40
|
+
const privateKey = node_forge_1.default.pki.privateKeyFromPem(privateKeyPem);
|
|
41
|
+
const publicKey = node_forge_1.default.pki.setRsaPublicKey(privateKey.n, privateKey.e);
|
|
42
|
+
const certificate = node_forge_1.default.pki.createCertificate();
|
|
43
|
+
certificate.publicKey = publicKey;
|
|
44
|
+
certificate.serialNumber = '01' + node_forge_1.default.util.bytesToHex(node_forge_1.default.random.getBytesSync(15));
|
|
45
|
+
certificate.validity.notBefore = new Date();
|
|
46
|
+
certificate.validity.notAfter = new Date(Date.now() + validityDays * 24 * 60 * 60 * 1000);
|
|
47
|
+
certificate.setSubject([
|
|
48
|
+
{ name: 'commonName', value: applicationId },
|
|
49
|
+
{ name: 'organizationName', value: 'Limrun' },
|
|
50
|
+
]);
|
|
51
|
+
certificate.setIssuer(certificate.subject.attributes);
|
|
52
|
+
certificate.sign(privateKey, node_forge_1.default.md.sha256.create());
|
|
53
|
+
const p12 = node_forge_1.default.pkcs12.toPkcs12Asn1(privateKey, [certificate], password, {
|
|
54
|
+
algorithm: '3des',
|
|
55
|
+
friendlyName: keyAlias,
|
|
56
|
+
});
|
|
57
|
+
const keystoreBase64 = node_forge_1.default.util.encode64(node_forge_1.default.asn1.toDer(p12).getBytes());
|
|
58
|
+
return {
|
|
59
|
+
keystoreBase64,
|
|
60
|
+
keystorePassword: password,
|
|
61
|
+
keyAlias,
|
|
62
|
+
keyPassword: password,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=android-keystore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"android-keystore.js","sourceRoot":"","sources":["../../src/lib/android-keystore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"android-keystore.test.d.ts","sourceRoot":"","sources":["../../src/lib/android-keystore.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const node_forge_1 = __importDefault(require("node-forge"));
|
|
7
|
+
const android_keystore_1 = require("./android-keystore");
|
|
8
|
+
describe('generateAndroidSigningKey', () => {
|
|
9
|
+
// One shared key: RSA generation dominates test time.
|
|
10
|
+
const key = (0, android_keystore_1.generateAndroidSigningKey)('com.example.app');
|
|
11
|
+
it('produces the exact androidSigningKey secret data shape', () => {
|
|
12
|
+
expect(Object.keys(key).sort()).toEqual([
|
|
13
|
+
'keyAlias',
|
|
14
|
+
'keyPassword',
|
|
15
|
+
'keystoreBase64',
|
|
16
|
+
'keystorePassword',
|
|
17
|
+
]);
|
|
18
|
+
expect(key.keyAlias).toBe('upload');
|
|
19
|
+
expect(key.keystorePassword).toBe(key.keyPassword);
|
|
20
|
+
expect(key.keystorePassword).toMatch(/^[A-Za-z0-9]{24}$/);
|
|
21
|
+
});
|
|
22
|
+
it('builds a PKCS12 that opens with the emitted password and holds a long-lived RSA-2048 key', () => {
|
|
23
|
+
const der = node_forge_1.default.util.decode64(key.keystoreBase64);
|
|
24
|
+
expect(der.length).toBeGreaterThan(0);
|
|
25
|
+
const p12 = node_forge_1.default.pkcs12.pkcs12FromAsn1(node_forge_1.default.asn1.fromDer(der), key.keystorePassword);
|
|
26
|
+
const keyBags = p12.getBags({ bagType: node_forge_1.default.pki.oids.pkcs8ShroudedKeyBag })[node_forge_1.default.pki.oids.pkcs8ShroudedKeyBag];
|
|
27
|
+
expect(keyBags).toHaveLength(1);
|
|
28
|
+
expect(keyBags[0].attributes.friendlyName?.[0]).toBe('upload');
|
|
29
|
+
const privateKey = keyBags[0].key;
|
|
30
|
+
expect(privateKey.n.bitLength()).toBe(2048);
|
|
31
|
+
const certBags = p12.getBags({ bagType: node_forge_1.default.pki.oids.certBag })[node_forge_1.default.pki.oids.certBag];
|
|
32
|
+
expect(certBags).toHaveLength(1);
|
|
33
|
+
const cert = certBags[0].cert;
|
|
34
|
+
// Play requires upload certificates valid well past 2033.
|
|
35
|
+
expect(cert.validity.notAfter.getFullYear()).toBeGreaterThan(2034);
|
|
36
|
+
expect(cert.subject.getField('CN').value).toBe('com.example.app');
|
|
37
|
+
});
|
|
38
|
+
it('rejects the wrong password', () => {
|
|
39
|
+
const der = node_forge_1.default.util.decode64(key.keystoreBase64);
|
|
40
|
+
expect(() => node_forge_1.default.pkcs12.pkcs12FromAsn1(node_forge_1.default.asn1.fromDer(der), 'wrong-password')).toThrow();
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=android-keystore.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"android-keystore.test.js","sourceRoot":"","sources":["../../src/lib/android-keystore.test.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/auth.d.ts
CHANGED
|
@@ -13,5 +13,6 @@ interface LoginOptions {
|
|
|
13
13
|
type LoginRuntimeOptions = Omit<LoginOptions, 'apiEndpoint' | 'consoleEndpoint' | 'version'>;
|
|
14
14
|
export declare function login(apiEndpoint: string, consoleEndpoint: string, version: string, options?: LoginRuntimeOptions): Promise<void>;
|
|
15
15
|
export declare function loginWithOptions(options: LoginOptions): Promise<void>;
|
|
16
|
+
export declare function responseMessage(response: Response): Promise<string>;
|
|
16
17
|
export {};
|
|
17
18
|
//# sourceMappingURL=auth.d.ts.map
|
package/dist/lib/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAe,MAAM,UAAU,CAAC;AAIpD,UAAU,YAAY;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,WAAW,CAAC;IAClC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IACrD,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgBD,KAAK,mBAAmB,GAAG,IAAI,CAAC,YAAY,EAAE,aAAa,GAAG,iBAAiB,GAAG,SAAS,CAAC,CAAC;AAa7F,wBAAsB,KAAK,CACzB,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA8C3E"}
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAe,MAAM,UAAU,CAAC;AAIpD,UAAU,YAAY;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,WAAW,CAAC;IAClC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IACrD,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgBD,KAAK,mBAAmB,GAAG,IAAI,CAAC,YAAY,EAAE,aAAa,GAAG,iBAAiB,GAAG,SAAS,CAAC,CAAC;AAa7F,wBAAsB,KAAK,CACzB,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA8C3E;AAyHD,wBAAsB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAOzE"}
|
package/dist/lib/auth.js
CHANGED
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.login = login;
|
|
7
7
|
exports.loginWithOptions = loginWithOptions;
|
|
8
|
+
exports.responseMessage = responseMessage;
|
|
8
9
|
const child_process_1 = require("child_process");
|
|
9
10
|
const os_1 = __importDefault(require("os"));
|
|
10
11
|
const process_1 = __importDefault(require("process"));
|
package/dist/lib/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":";;;;;AA8CA,sBAOC;AAED,4CA8CC;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import Limrun from '@limrun/api';
|
|
2
|
+
/**
|
|
3
|
+
* Backend API endpoints the generated resources do not cover (Stainless
|
|
4
|
+
* consumes the director spec only). Rides the SDK client's transport, so
|
|
5
|
+
* auth headers, retries and the 401 -> AuthenticationError mapping that
|
|
6
|
+
* withAuth's re-login relies on all come for free.
|
|
7
|
+
*/
|
|
8
|
+
export type SecretData = Record<string, string>;
|
|
9
|
+
export type PutSecretResult = {
|
|
10
|
+
data: SecretData;
|
|
11
|
+
/** True when this call created the secret, false on a get-or-create hit. */
|
|
12
|
+
created: boolean;
|
|
13
|
+
};
|
|
14
|
+
export declare const androidSigningKeySecretType = "androidSigningKey";
|
|
15
|
+
/**
|
|
16
|
+
* Resolves the organization the API key acts for. `lim login` keys are
|
|
17
|
+
* organization tokens, so `organization` is the normal path; hand-set
|
|
18
|
+
* user API keys fall back to the user's default organization, which
|
|
19
|
+
* /v1/whoami nests inside `user`.
|
|
20
|
+
*/
|
|
21
|
+
export declare function whoAmI(client: Limrun): Promise<string>;
|
|
22
|
+
/** Fetches a secret's data, or undefined when it does not exist. */
|
|
23
|
+
export declare function getSecret(client: Limrun, organizationId: string, secretType: string, secretName: string): Promise<SecretData | undefined>;
|
|
24
|
+
/**
|
|
25
|
+
* Get-or-create put. The response data is authoritative: on a hit the
|
|
26
|
+
* submitted data was NOT stored and the caller must adopt the returned
|
|
27
|
+
* material instead. Creation is signaled by the response body's
|
|
28
|
+
* `created` today and by HTTP 201 after the status-split hardening;
|
|
29
|
+
* accept both so either server version works.
|
|
30
|
+
*/
|
|
31
|
+
export declare function putSecret(client: Limrun, organizationId: string, secretType: string, secretName: string, data: SecretData): Promise<PutSecretResult>;
|
|
32
|
+
//# sourceMappingURL=backend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/lib/backend.ts"],"names":[],"mappings":"AAAA,OAAO,MAAwD,MAAM,aAAa,CAAC;AAEnF;;;;;GAKG;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEhD,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,4EAA4E;IAC5E,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,2BAA2B,sBAAsB,CAAC;AAU/D;;;;;GAKG;AACH,wBAAsB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAY5D;AAQD,oEAAoE;AACpE,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAcjC;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,eAAe,CAAC,CAgB1B"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.androidSigningKeySecretType = void 0;
|
|
4
|
+
exports.whoAmI = whoAmI;
|
|
5
|
+
exports.getSecret = getSecret;
|
|
6
|
+
exports.putSecret = putSecret;
|
|
7
|
+
const api_1 = require("@limrun/api");
|
|
8
|
+
exports.androidSigningKeySecretType = 'androidSigningKey';
|
|
9
|
+
/** Wraps transport errors with call context; auth errors pass through untouched. */
|
|
10
|
+
function rethrow(err, context) {
|
|
11
|
+
if (err instanceof api_1.AuthenticationError || !(err instanceof api_1.APIError)) {
|
|
12
|
+
throw err;
|
|
13
|
+
}
|
|
14
|
+
throw new Error(`${context}: ${err.message}`);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Resolves the organization the API key acts for. `lim login` keys are
|
|
18
|
+
* organization tokens, so `organization` is the normal path; hand-set
|
|
19
|
+
* user API keys fall back to the user's default organization, which
|
|
20
|
+
* /v1/whoami nests inside `user`.
|
|
21
|
+
*/
|
|
22
|
+
async function whoAmI(client) {
|
|
23
|
+
let body;
|
|
24
|
+
try {
|
|
25
|
+
body = await client.get('/v1/whoami');
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
rethrow(err, 'Failed to resolve the organization');
|
|
29
|
+
}
|
|
30
|
+
const organizationId = body.organization?.id ?? body.user?.defaultOrganization?.id;
|
|
31
|
+
if (!organizationId) {
|
|
32
|
+
throw new Error('The Limrun API did not report an organization for this API key.');
|
|
33
|
+
}
|
|
34
|
+
return organizationId;
|
|
35
|
+
}
|
|
36
|
+
function secretPath(organizationId, secretType, secretName) {
|
|
37
|
+
return `/v1/organizations/${encodeURIComponent(organizationId)}/secrets/${encodeURIComponent(secretType)}/${encodeURIComponent(secretName)}`;
|
|
38
|
+
}
|
|
39
|
+
/** Fetches a secret's data, or undefined when it does not exist. */
|
|
40
|
+
async function getSecret(client, organizationId, secretType, secretName) {
|
|
41
|
+
let body;
|
|
42
|
+
try {
|
|
43
|
+
body = await client.get(secretPath(organizationId, secretType, secretName));
|
|
44
|
+
}
|
|
45
|
+
catch (err) {
|
|
46
|
+
if (err instanceof api_1.NotFoundError) {
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
rethrow(err, `Failed to fetch the ${secretType} secret ${secretName}`);
|
|
50
|
+
}
|
|
51
|
+
if (!body.data) {
|
|
52
|
+
throw new Error(`The Limrun API returned a ${secretType} secret without data.`);
|
|
53
|
+
}
|
|
54
|
+
return body.data;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Get-or-create put. The response data is authoritative: on a hit the
|
|
58
|
+
* submitted data was NOT stored and the caller must adopt the returned
|
|
59
|
+
* material instead. Creation is signaled by the response body's
|
|
60
|
+
* `created` today and by HTTP 201 after the status-split hardening;
|
|
61
|
+
* accept both so either server version works.
|
|
62
|
+
*/
|
|
63
|
+
async function putSecret(client, organizationId, secretType, secretName, data) {
|
|
64
|
+
let body;
|
|
65
|
+
let response;
|
|
66
|
+
try {
|
|
67
|
+
({ data: body, response } = await client
|
|
68
|
+
.put(secretPath(organizationId, secretType, secretName), {
|
|
69
|
+
body: { data },
|
|
70
|
+
})
|
|
71
|
+
.withResponse());
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
rethrow(err, `Failed to store the ${secretType} secret ${secretName}`);
|
|
75
|
+
}
|
|
76
|
+
if (!body.data) {
|
|
77
|
+
throw new Error(`The Limrun API returned a ${secretType} secret without data.`);
|
|
78
|
+
}
|
|
79
|
+
return { data: body.data, created: body.created ?? response.status === 201 };
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=backend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backend.js","sourceRoot":"","sources":["../../src/lib/backend.ts"],"names":[],"mappings":"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"}
|