@ship-et/buildatlas-cli 0.11.0 → 0.13.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/dist/client.d.ts.map +1 -1
- package/dist/client.js +56 -0
- package/dist/client.js.map +1 -1
- package/dist/client.test.js +56 -0
- package/dist/client.test.js.map +1 -1
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +80 -15
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/credentials-wizard.d.ts +1 -1
- package/dist/commands/credentials-wizard.d.ts.map +1 -1
- package/dist/commands/credentials-wizard.js +20 -0
- package/dist/commands/credentials-wizard.js.map +1 -1
- package/dist/commands/credentials.d.ts.map +1 -1
- package/dist/commands/credentials.js +11 -3
- package/dist/commands/credentials.js.map +1 -1
- package/dist/commands/migrate/auth.d.ts +9 -0
- package/dist/commands/migrate/auth.d.ts.map +1 -0
- package/dist/commands/migrate/auth.js +8 -0
- package/dist/commands/migrate/auth.js.map +1 -0
- package/dist/commands/migrate/build-numbers.d.ts +12 -0
- package/dist/commands/migrate/build-numbers.d.ts.map +1 -0
- package/dist/commands/migrate/build-numbers.js +34 -0
- package/dist/commands/migrate/build-numbers.js.map +1 -0
- package/dist/commands/migrate/credentials.d.ts +24 -0
- package/dist/commands/migrate/credentials.d.ts.map +1 -0
- package/dist/commands/migrate/credentials.js +78 -0
- package/dist/commands/migrate/credentials.js.map +1 -0
- package/dist/commands/migrate/eas-client.d.ts +88 -0
- package/dist/commands/migrate/eas-client.d.ts.map +1 -0
- package/dist/commands/migrate/eas-client.js +186 -0
- package/dist/commands/migrate/eas-client.js.map +1 -0
- package/dist/commands/migrate/expo-session.d.ts +10 -0
- package/dist/commands/migrate/expo-session.d.ts.map +1 -0
- package/dist/commands/migrate/expo-session.js +51 -0
- package/dist/commands/migrate/expo-session.js.map +1 -0
- package/dist/commands/migrate/index.d.ts +3 -0
- package/dist/commands/migrate/index.d.ts.map +1 -0
- package/dist/commands/migrate/index.js +117 -0
- package/dist/commands/migrate/index.js.map +1 -0
- package/dist/commands/migrate/link-project.d.ts +13 -0
- package/dist/commands/migrate/link-project.d.ts.map +1 -0
- package/dist/commands/migrate/link-project.js +74 -0
- package/dist/commands/migrate/link-project.js.map +1 -0
- package/dist/commands/migrate/retry.d.ts +8 -0
- package/dist/commands/migrate/retry.d.ts.map +1 -0
- package/dist/commands/migrate/retry.js +25 -0
- package/dist/commands/migrate/retry.js.map +1 -0
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/spinner.d.ts +8 -0
- package/dist/spinner.d.ts.map +1 -0
- package/dist/spinner.js +35 -0
- package/dist/spinner.js.map +1 -0
- package/package.json +2 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/commands/credentials.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/commands/credentials.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare function requireAuth(): Promise<{
|
|
2
|
+
apiUrl: string;
|
|
3
|
+
token?: string | undefined;
|
|
4
|
+
email?: string | undefined;
|
|
5
|
+
} & {
|
|
6
|
+
token: string;
|
|
7
|
+
}>;
|
|
8
|
+
export type AuthedConfig = Awaited<ReturnType<typeof requireAuth>>;
|
|
9
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/commands/migrate/auth.ts"],"names":[],"mappings":"AAEA,wBAAsB,WAAW;;;;;WAGW,MAAM;GACjD;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { loadConfig } from '../../config.js';
|
|
2
|
+
export async function requireAuth() {
|
|
3
|
+
const config = await loadConfig();
|
|
4
|
+
if (!config.token)
|
|
5
|
+
throw new Error('Not logged in. Run `buildatlas login` first.');
|
|
6
|
+
return config;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/commands/migrate/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,IAAI,CAAC,MAAM,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACnF,OAAO,MAA2C,CAAC;AACrD,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { AuthedConfig } from './auth.ts';
|
|
2
|
+
import { type ExpoAuth } from './eas-client.ts';
|
|
3
|
+
/**
|
|
4
|
+
* Points BuildAtlas's build counters past whatever the stores have already
|
|
5
|
+
* accepted from Expo, so the first BuildAtlas build doesn't collide with a
|
|
6
|
+
* version number Apple/Google have already seen.
|
|
7
|
+
*/
|
|
8
|
+
export declare function continueBuildNumbers(config: AuthedConfig, slug: string, auth: ExpoAuth, appId: string, local: {
|
|
9
|
+
bundleIdentifier?: string;
|
|
10
|
+
androidPackage?: string;
|
|
11
|
+
} | undefined): Promise<void>;
|
|
12
|
+
//# sourceMappingURL=build-numbers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-numbers.d.ts","sourceRoot":"","sources":["../../../src/commands/migrate/build-numbers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,KAAK,QAAQ,EAAyB,MAAM,iBAAiB,CAAC;AAGvE;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,MAAM,EACb,KAAK,EAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,GACxE,OAAO,CAAC,IAAI,CAAC,CA6Bf"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import pc from 'picocolors';
|
|
2
|
+
import { apiRequest } from '../../client.js';
|
|
3
|
+
import { getLatestBuildVersion } from './eas-client.js';
|
|
4
|
+
import { withRetry } from './retry.js';
|
|
5
|
+
/**
|
|
6
|
+
* Points BuildAtlas's build counters past whatever the stores have already
|
|
7
|
+
* accepted from Expo, so the first BuildAtlas build doesn't collide with a
|
|
8
|
+
* version number Apple/Google have already seen.
|
|
9
|
+
*/
|
|
10
|
+
export async function continueBuildNumbers(config, slug, auth, appId, local) {
|
|
11
|
+
const platforms = [
|
|
12
|
+
{ platform: 'ios', applicationIdentifier: local?.bundleIdentifier },
|
|
13
|
+
{ platform: 'android', applicationIdentifier: local?.androidPackage },
|
|
14
|
+
];
|
|
15
|
+
for (const { platform, applicationIdentifier } of platforms) {
|
|
16
|
+
if (!applicationIdentifier)
|
|
17
|
+
continue;
|
|
18
|
+
const latest = await withRetry(`checking Expo's ${platform} build number`, () => getLatestBuildVersion(auth, appId, platform, applicationIdentifier));
|
|
19
|
+
if (latest === undefined)
|
|
20
|
+
continue;
|
|
21
|
+
const nextBuildNumber = latest + 1;
|
|
22
|
+
const synced = await withRetry(`syncing ${platform} build number`, () => apiRequest(config, `/projects/${slug}/build-number`, {
|
|
23
|
+
method: 'PATCH',
|
|
24
|
+
token: config.token,
|
|
25
|
+
body: JSON.stringify({ platform, nextBuildNumber }),
|
|
26
|
+
}));
|
|
27
|
+
if (synced === undefined) {
|
|
28
|
+
console.log(pc.dim(` skipped — the ${platform} build number was not updated.`));
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
console.log(pc.dim(` ${platform} build number will continue from ${nextBuildNumber} (Expo was at ${latest})`));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=build-numbers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-numbers.js","sourceRoot":"","sources":["../../../src/commands/migrate/build-numbers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAiB,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAoB,EACpB,IAAY,EACZ,IAAc,EACd,KAAa,EACb,KAAyE;IAEzE,MAAM,SAAS,GAAsE;QACnF,EAAE,QAAQ,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,gBAAgB,EAAE;QACnE,EAAE,QAAQ,EAAE,SAAS,EAAE,qBAAqB,EAAE,KAAK,EAAE,cAAc,EAAE;KACtE,CAAC;IAEF,KAAK,MAAM,EAAE,QAAQ,EAAE,qBAAqB,EAAE,IAAI,SAAS,EAAE,CAAC;QAC5D,IAAI,CAAC,qBAAqB;YAAE,SAAS;QAErC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,mBAAmB,QAAQ,eAAe,EAAE,GAAG,EAAE,CAC9E,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CACpE,CAAC;QACF,IAAI,MAAM,KAAK,SAAS;YAAE,SAAS;QAEnC,MAAM,eAAe,GAAG,MAAM,GAAG,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,WAAW,QAAQ,eAAe,EAAE,GAAG,EAAE,CACtE,UAAU,CAAC,MAAM,EAAE,aAAa,IAAI,eAAe,EAAE;YACnD,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;SACpD,CAAC,CACH,CAAC;QACF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,mBAAmB,QAAQ,gCAAgC,CAAC,CAAC,CAAC;YACjF,SAAS;QACX,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,QAAQ,oCAAoC,eAAe,iBAAiB,MAAM,GAAG,CAAC,CAAC,CAAC;IAClH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { AuthedConfig } from './auth.ts';
|
|
2
|
+
import { type ExpoAuth } from './eas-client.ts';
|
|
3
|
+
/**
|
|
4
|
+
* Pulls the distribution cert + provisioning profile (iOS), keystore
|
|
5
|
+
* (Android), and APNs push key EAS already has for this app and stores them in
|
|
6
|
+
* BuildAtlas's vault, so a migrated project can build immediately instead of
|
|
7
|
+
* needing someone to run `eas credentials` by hand and re-upload the files
|
|
8
|
+
* themselves.
|
|
9
|
+
*
|
|
10
|
+
* Runs the same way whether the BuildAtlas project was just created or already
|
|
11
|
+
* existed — `migrate` on a project that is already linked is how someone picks
|
|
12
|
+
* up credentials generated on EAS after the fact, not just a one-time step at
|
|
13
|
+
* creation. What is already in the vault (this project's own row, or a shared
|
|
14
|
+
* one) is left alone rather than re-uploaded, so running this repeatedly does
|
|
15
|
+
* not pile up duplicate rows for the same kind.
|
|
16
|
+
*
|
|
17
|
+
* The push key only covers what EAS itself holds. OneSignal does not read from
|
|
18
|
+
* EAS — if push is delivered through OneSignal, the same .p8 (or the one
|
|
19
|
+
* `buildatlas credentials add` stores after this) still has to be uploaded to
|
|
20
|
+
* OneSignal's own dashboard separately; that step has no EAS equivalent to
|
|
21
|
+
* migrate from.
|
|
22
|
+
*/
|
|
23
|
+
export declare function migrateCredentials(config: AuthedConfig, slug: string, auth: ExpoAuth, appId: string, appFullName: string): Promise<void>;
|
|
24
|
+
//# sourceMappingURL=credentials.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../src/commands/migrate/credentials.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,KAAK,QAAQ,EAAqB,MAAM,iBAAiB,CAAC;AAQnE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAmEf"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import pc from 'picocolors';
|
|
2
|
+
import { apiRequest } from '../../client.js';
|
|
3
|
+
import { getEasCredentials } from './eas-client.js';
|
|
4
|
+
import { withRetry } from './retry.js';
|
|
5
|
+
/**
|
|
6
|
+
* Pulls the distribution cert + provisioning profile (iOS), keystore
|
|
7
|
+
* (Android), and APNs push key EAS already has for this app and stores them in
|
|
8
|
+
* BuildAtlas's vault, so a migrated project can build immediately instead of
|
|
9
|
+
* needing someone to run `eas credentials` by hand and re-upload the files
|
|
10
|
+
* themselves.
|
|
11
|
+
*
|
|
12
|
+
* Runs the same way whether the BuildAtlas project was just created or already
|
|
13
|
+
* existed — `migrate` on a project that is already linked is how someone picks
|
|
14
|
+
* up credentials generated on EAS after the fact, not just a one-time step at
|
|
15
|
+
* creation. What is already in the vault (this project's own row, or a shared
|
|
16
|
+
* one) is left alone rather than re-uploaded, so running this repeatedly does
|
|
17
|
+
* not pile up duplicate rows for the same kind.
|
|
18
|
+
*
|
|
19
|
+
* The push key only covers what EAS itself holds. OneSignal does not read from
|
|
20
|
+
* EAS — if push is delivered through OneSignal, the same .p8 (or the one
|
|
21
|
+
* `buildatlas credentials add` stores after this) still has to be uploaded to
|
|
22
|
+
* OneSignal's own dashboard separately; that step has no EAS equivalent to
|
|
23
|
+
* migrate from.
|
|
24
|
+
*/
|
|
25
|
+
export async function migrateCredentials(config, slug, auth, appId, appFullName) {
|
|
26
|
+
const creds = await withRetry('fetching signing credentials from EAS', () => getEasCredentials(auth, appId));
|
|
27
|
+
if (!creds?.ios && !creds?.android && !creds?.iosPushKey) {
|
|
28
|
+
console.log(pc.dim(` No signing credentials found on EAS for ${appFullName}. If the app has ` +
|
|
29
|
+
'shipped before, generate them with `eas credentials`, then run ' +
|
|
30
|
+
`\`buildatlas credentials add --project ${slug}\`.`));
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
// Already-vaulted kinds — this project's own rows plus whatever it inherits
|
|
34
|
+
// shared — so a rerun tops up what is missing instead of duplicating what a
|
|
35
|
+
// build would already find. A failed check (declined retry, no TTY) falls
|
|
36
|
+
// back to attempting every upload, same as before this existed.
|
|
37
|
+
const existingList = await withRetry('checking what is already stored', () => apiRequest(config, `/projects/${slug}/credentials`, {
|
|
38
|
+
token: config.token,
|
|
39
|
+
}));
|
|
40
|
+
const alreadyHave = new Set((existingList?.credentials ?? []).map((row) => row.kind));
|
|
41
|
+
const label = `migrated from ${appFullName}`;
|
|
42
|
+
const upload = async (kind, payload) => {
|
|
43
|
+
if (alreadyHave.has(kind)) {
|
|
44
|
+
console.log(` ${pc.dim(`${kind} already in the vault — skipped`)}`);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const result = await withRetry(`uploading ${kind}`, () => apiRequest(config, `/projects/${slug}/credentials`, {
|
|
48
|
+
method: 'POST',
|
|
49
|
+
token: config.token,
|
|
50
|
+
body: JSON.stringify({ kind, label, payload }),
|
|
51
|
+
}));
|
|
52
|
+
console.log(result !== undefined ? ` ${pc.green('✔')} ${kind}` : ` ${pc.dim(`skipped ${kind}`)}`);
|
|
53
|
+
};
|
|
54
|
+
if (creds.ios) {
|
|
55
|
+
await upload('ios_dist_cert', { p12Base64: creds.ios.p12Base64, password: creds.ios.password ?? '' });
|
|
56
|
+
if (creds.ios.profileBase64) {
|
|
57
|
+
await upload('ios_provisioning_profile', { profileBase64: creds.ios.profileBase64 });
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (creds.android) {
|
|
61
|
+
await upload('android_keystore', {
|
|
62
|
+
keystoreBase64: creds.android.keystoreBase64,
|
|
63
|
+
keystorePassword: creds.android.keystorePassword,
|
|
64
|
+
keyAlias: creds.android.keyAlias,
|
|
65
|
+
// EAS leaves this unset when the key shares the keystore's own password.
|
|
66
|
+
keyPassword: creds.android.keyPassword ?? creds.android.keystorePassword,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
if (creds.iosPushKey) {
|
|
70
|
+
await upload('ios_push_key', { keyId: creds.iosPushKey.keyId, p8Base64: creds.iosPushKey.p8Base64 });
|
|
71
|
+
}
|
|
72
|
+
else if (creds.ios) {
|
|
73
|
+
console.log(pc.dim(' No APNs push key found on EAS. If this app sends push notifications (including ' +
|
|
74
|
+
'through OneSignal), generate one with `eas credentials` or add it directly: ' +
|
|
75
|
+
`\`buildatlas credentials add\` → iOS push notification key.`));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../../src/commands/migrate/credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAiB,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAOvC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAoB,EACpB,IAAY,EACZ,IAAc,EACd,KAAa,EACb,WAAmB;IAEnB,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,uCAAuC,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAE7G,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC;QACzD,OAAO,CAAC,GAAG,CACT,EAAE,CAAC,GAAG,CACJ,6CAA6C,WAAW,mBAAmB;YACzE,iEAAiE;YACjE,0CAA0C,IAAI,KAAK,CACtD,CACF,CAAC;QACF,OAAO;IACT,CAAC;IAED,4EAA4E;IAC5E,4EAA4E;IAC5E,0EAA0E;IAC1E,gEAAgE;IAChE,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,iCAAiC,EAAE,GAAG,EAAE,CAC3E,UAAU,CAAmC,MAAM,EAAE,aAAa,IAAI,cAAc,EAAE;QACpF,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC,CACH,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAErG,MAAM,KAAK,GAAG,iBAAiB,WAAW,EAAE,CAAC;IAC7C,MAAM,MAAM,GAAG,KAAK,EAAE,IAAY,EAAE,OAAgC,EAAE,EAAE;QACtE,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,iCAAiC,CAAC,EAAE,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,aAAa,IAAI,EAAE,EAAE,GAAG,EAAE,CACvD,UAAU,CAAC,MAAM,EAAE,aAAa,IAAI,cAAc,EAAE;YAClD,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;SAC/C,CAAC,CACH,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACtG,CAAC,CAAC;IAEF,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,MAAM,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC,CAAC;QACtG,IAAI,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YAC5B,MAAM,MAAM,CAAC,0BAA0B,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,MAAM,CAAC,kBAAkB,EAAE;YAC/B,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc;YAC5C,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB;YAChD,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ;YAChC,yEAAyE;YACzE,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB;SACzE,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,MAAM,MAAM,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvG,CAAC;SAAM,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CACT,EAAE,CAAC,GAAG,CACJ,mFAAmF;YACjF,8EAA8E;YAC9E,6DAA6D,CAChE,CACF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Listing an Expo account's EAS projects.
|
|
3
|
+
*
|
|
4
|
+
* `meActor` and `app.byId` are proven elsewhere in this repo — BuildAtlas's own
|
|
5
|
+
* server (`packages/shared/src/expo-auth.ts`) uses both to validate a token and
|
|
6
|
+
* check project ownership. `account.byName(...).apps` is not proven anywhere in
|
|
7
|
+
* this repo; it matches the pattern eas-cli itself uses, but if Expo's schema
|
|
8
|
+
* has drifted this throws the raw GraphQL error rather than a wrong-looking
|
|
9
|
+
* empty list.
|
|
10
|
+
*/
|
|
11
|
+
export interface ExpoApp {
|
|
12
|
+
id: string;
|
|
13
|
+
name: string;
|
|
14
|
+
slug: string;
|
|
15
|
+
/** "@account/slug" — what the EAS dashboard URL and eas.json's projectId both use. */
|
|
16
|
+
fullName: string;
|
|
17
|
+
accountName: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* A personal access token (`Authorization: Bearer`) or an `eas login` session
|
|
21
|
+
* secret (`expo-session` header) — the GraphQL API accepts either.
|
|
22
|
+
*/
|
|
23
|
+
export type ExpoAuth = {
|
|
24
|
+
kind: 'token';
|
|
25
|
+
token: string;
|
|
26
|
+
} | {
|
|
27
|
+
kind: 'session';
|
|
28
|
+
sessionSecret: string;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* The last version Expo submitted to a store for this app, per platform — mirrors
|
|
32
|
+
* eas-cli's own `AppVersionQuery.latestVersionAsync` query (`latestAppVersionByPlatformAndApplicationIdentifier`).
|
|
33
|
+
* `applicationIdentifier` is the bundle id (iOS) or package name (Android); Expo
|
|
34
|
+
* tracks versions per identifier since an app can rebrand its bundle id over time.
|
|
35
|
+
*/
|
|
36
|
+
export declare function getLatestBuildVersion(auth: ExpoAuth, appId: string, platform: 'ios' | 'android', applicationIdentifier: string): Promise<number | undefined>;
|
|
37
|
+
/**
|
|
38
|
+
* The bundle id / package name EAS already has on file for this app, read off its
|
|
39
|
+
* credentials (`appleAppIdentifier.bundleIdentifier`, `androidAppCredentials.applicationIdentifier`)
|
|
40
|
+
* rather than a local app.json — so migrate works from any directory, not just
|
|
41
|
+
* the project's own checkout. Empty when the app has never had credentials
|
|
42
|
+
* generated on EAS for that platform.
|
|
43
|
+
*/
|
|
44
|
+
export declare function getAppIdentifiers(auth: ExpoAuth, appId: string): Promise<{
|
|
45
|
+
bundleIdentifier?: string;
|
|
46
|
+
androidPackage?: string;
|
|
47
|
+
}>;
|
|
48
|
+
export interface EasIosCredentials {
|
|
49
|
+
p12Base64: string;
|
|
50
|
+
password?: string;
|
|
51
|
+
profileBase64?: string;
|
|
52
|
+
}
|
|
53
|
+
export interface EasIosPushKey {
|
|
54
|
+
keyId: string;
|
|
55
|
+
p8Base64: string;
|
|
56
|
+
}
|
|
57
|
+
export interface EasAndroidCredentials {
|
|
58
|
+
keystoreBase64: string;
|
|
59
|
+
keystorePassword: string;
|
|
60
|
+
keyAlias: string;
|
|
61
|
+
keyPassword?: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* The actual signing material EAS holds for this app — a distribution cert
|
|
65
|
+
* (+ its provisioning profile) for iOS, a keystore for Android, and an APNs
|
|
66
|
+
* push key if one was ever generated for push notifications — in the same
|
|
67
|
+
* base64 shape `buildatlas credentials add` already expects (`ios_dist_cert`,
|
|
68
|
+
* `ios_provisioning_profile`, `android_keystore`, `ios_push_key`), so it can be
|
|
69
|
+
* forwarded as-is.
|
|
70
|
+
*
|
|
71
|
+
* Picks the App Store build credentials for iOS (ad-hoc/enterprise/development
|
|
72
|
+
* profiles are for internal testing, not what a migrated app should ship with)
|
|
73
|
+
* and whichever Android keystore is marked default. Omits a platform, or the
|
|
74
|
+
* push key, entirely rather than guessing when EAS has never generated one.
|
|
75
|
+
*
|
|
76
|
+
* The push key is unrelated to whether OneSignal is used: OneSignal does not
|
|
77
|
+
* read from EAS at all — it needs the same .p8 uploaded to its own dashboard,
|
|
78
|
+
* which this only pulls into BuildAtlas's vault for safekeeping and for the
|
|
79
|
+
* worker to warn about when a project looks push-capable but has none stored.
|
|
80
|
+
*/
|
|
81
|
+
export declare function getEasCredentials(auth: ExpoAuth, appId: string): Promise<{
|
|
82
|
+
ios?: EasIosCredentials;
|
|
83
|
+
android?: EasAndroidCredentials;
|
|
84
|
+
iosPushKey?: EasIosPushKey;
|
|
85
|
+
}>;
|
|
86
|
+
/** Every app in every account this token or session can see. */
|
|
87
|
+
export declare function listExpoApps(auth: ExpoAuth): Promise<ExpoApp[]>;
|
|
88
|
+
//# sourceMappingURL=eas-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eas-client.d.ts","sourceRoot":"","sources":["../../../src/commands/migrate/eas-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,sFAAsF;IACtF,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC;AAsCrG;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,KAAK,GAAG,SAAS,EAC3B,qBAAqB,EAAE,MAAM,GAC5B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA8B7B;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA0BjE;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,GAAG,CAAC,EAAE,iBAAiB,CAAC;IAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAAC,UAAU,CAAC,EAAE,aAAa,CAAA;CAAE,CAAC,CAmFnG;AAED,gEAAgE;AAChE,wBAAsB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAqCrE"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Listing an Expo account's EAS projects.
|
|
3
|
+
*
|
|
4
|
+
* `meActor` and `app.byId` are proven elsewhere in this repo — BuildAtlas's own
|
|
5
|
+
* server (`packages/shared/src/expo-auth.ts`) uses both to validate a token and
|
|
6
|
+
* check project ownership. `account.byName(...).apps` is not proven anywhere in
|
|
7
|
+
* this repo; it matches the pattern eas-cli itself uses, but if Expo's schema
|
|
8
|
+
* has drifted this throws the raw GraphQL error rather than a wrong-looking
|
|
9
|
+
* empty list.
|
|
10
|
+
*/
|
|
11
|
+
const EXPO_GRAPHQL_URL = 'https://api.expo.dev/graphql';
|
|
12
|
+
async function expoGraphQL(auth, query, variables) {
|
|
13
|
+
let res;
|
|
14
|
+
try {
|
|
15
|
+
res = await fetch(EXPO_GRAPHQL_URL, {
|
|
16
|
+
method: 'POST',
|
|
17
|
+
headers: {
|
|
18
|
+
...(auth.kind === 'token'
|
|
19
|
+
? { authorization: `Bearer ${auth.token}` }
|
|
20
|
+
: { 'expo-session': auth.sessionSecret }),
|
|
21
|
+
'content-type': 'application/json',
|
|
22
|
+
},
|
|
23
|
+
body: JSON.stringify({ query, variables }),
|
|
24
|
+
signal: AbortSignal.timeout(15_000),
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
throw new Error(`Could not reach api.expo.dev: ${err.message}`);
|
|
29
|
+
}
|
|
30
|
+
if (res.status === 401 || res.status === 403) {
|
|
31
|
+
throw new Error(auth.kind === 'token' ? 'Expo rejected this token.' : 'Expo rejected this session.');
|
|
32
|
+
}
|
|
33
|
+
const body = (await res.json().catch(() => undefined));
|
|
34
|
+
const error = body?.errors?.[0];
|
|
35
|
+
if (error)
|
|
36
|
+
throw new Error(`Expo API: ${error.message ?? 'unknown error'}`);
|
|
37
|
+
if (!body?.data)
|
|
38
|
+
throw new Error(`Expo API returned no data (HTTP ${res.status}).`);
|
|
39
|
+
return body.data;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* The last version Expo submitted to a store for this app, per platform — mirrors
|
|
43
|
+
* eas-cli's own `AppVersionQuery.latestVersionAsync` query (`latestAppVersionByPlatformAndApplicationIdentifier`).
|
|
44
|
+
* `applicationIdentifier` is the bundle id (iOS) or package name (Android); Expo
|
|
45
|
+
* tracks versions per identifier since an app can rebrand its bundle id over time.
|
|
46
|
+
*/
|
|
47
|
+
export async function getLatestBuildVersion(auth, appId, platform, applicationIdentifier) {
|
|
48
|
+
const { app } = await expoGraphQL(auth, `query LatestAppVersion($appId: String!, $platform: AppPlatform!, $applicationIdentifier: String!) {
|
|
49
|
+
app {
|
|
50
|
+
byId(appId: $appId) {
|
|
51
|
+
id
|
|
52
|
+
latestAppVersionByPlatformAndApplicationIdentifier(
|
|
53
|
+
platform: $platform
|
|
54
|
+
applicationIdentifier: $applicationIdentifier
|
|
55
|
+
) {
|
|
56
|
+
id
|
|
57
|
+
buildVersion
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}`, { appId, platform: platform === 'ios' ? 'IOS' : 'ANDROID', applicationIdentifier });
|
|
62
|
+
const raw = app.byId.latestAppVersionByPlatformAndApplicationIdentifier?.buildVersion;
|
|
63
|
+
if (!raw)
|
|
64
|
+
return undefined;
|
|
65
|
+
const parsed = Number.parseInt(raw, 10);
|
|
66
|
+
return Number.isFinite(parsed) ? parsed : undefined;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* The bundle id / package name EAS already has on file for this app, read off its
|
|
70
|
+
* credentials (`appleAppIdentifier.bundleIdentifier`, `androidAppCredentials.applicationIdentifier`)
|
|
71
|
+
* rather than a local app.json — so migrate works from any directory, not just
|
|
72
|
+
* the project's own checkout. Empty when the app has never had credentials
|
|
73
|
+
* generated on EAS for that platform.
|
|
74
|
+
*/
|
|
75
|
+
export async function getAppIdentifiers(auth, appId) {
|
|
76
|
+
const { app } = await expoGraphQL(auth, `query AppIdentifiers($appId: String!) {
|
|
77
|
+
app {
|
|
78
|
+
byId(appId: $appId) {
|
|
79
|
+
id
|
|
80
|
+
iosAppCredentials { appleAppIdentifier { bundleIdentifier } }
|
|
81
|
+
androidAppCredentials { applicationIdentifier }
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}`, { appId });
|
|
85
|
+
return {
|
|
86
|
+
bundleIdentifier: app.byId.iosAppCredentials[0]?.appleAppIdentifier.bundleIdentifier,
|
|
87
|
+
androidPackage: app.byId.androidAppCredentials.find((c) => c.applicationIdentifier)?.applicationIdentifier ?? undefined,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* The actual signing material EAS holds for this app — a distribution cert
|
|
92
|
+
* (+ its provisioning profile) for iOS, a keystore for Android, and an APNs
|
|
93
|
+
* push key if one was ever generated for push notifications — in the same
|
|
94
|
+
* base64 shape `buildatlas credentials add` already expects (`ios_dist_cert`,
|
|
95
|
+
* `ios_provisioning_profile`, `android_keystore`, `ios_push_key`), so it can be
|
|
96
|
+
* forwarded as-is.
|
|
97
|
+
*
|
|
98
|
+
* Picks the App Store build credentials for iOS (ad-hoc/enterprise/development
|
|
99
|
+
* profiles are for internal testing, not what a migrated app should ship with)
|
|
100
|
+
* and whichever Android keystore is marked default. Omits a platform, or the
|
|
101
|
+
* push key, entirely rather than guessing when EAS has never generated one.
|
|
102
|
+
*
|
|
103
|
+
* The push key is unrelated to whether OneSignal is used: OneSignal does not
|
|
104
|
+
* read from EAS at all — it needs the same .p8 uploaded to its own dashboard,
|
|
105
|
+
* which this only pulls into BuildAtlas's vault for safekeeping and for the
|
|
106
|
+
* worker to warn about when a project looks push-capable but has none stored.
|
|
107
|
+
*/
|
|
108
|
+
export async function getEasCredentials(auth, appId) {
|
|
109
|
+
const { app } = await expoGraphQL(auth, `query AppCredentials($appId: String!) {
|
|
110
|
+
app {
|
|
111
|
+
byId(appId: $appId) {
|
|
112
|
+
id
|
|
113
|
+
iosAppCredentials {
|
|
114
|
+
pushKey { keyIdentifier keyP8 }
|
|
115
|
+
iosAppBuildCredentialsList {
|
|
116
|
+
iosDistributionType
|
|
117
|
+
distributionCertificate { certificateP12 certificatePassword }
|
|
118
|
+
provisioningProfile { provisioningProfile }
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
androidAppCredentials {
|
|
122
|
+
androidAppBuildCredentialsList {
|
|
123
|
+
isDefault
|
|
124
|
+
androidKeystore { keystore keystorePassword keyAlias keyPassword }
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}`, { appId });
|
|
130
|
+
const iosBuildCredentials = app.byId.iosAppCredentials.flatMap((c) => c.iosAppBuildCredentialsList);
|
|
131
|
+
const iosEntry = iosBuildCredentials.find((c) => c.iosDistributionType === 'APP_STORE' && c.distributionCertificate?.certificateP12) ??
|
|
132
|
+
iosBuildCredentials.find((c) => c.distributionCertificate?.certificateP12);
|
|
133
|
+
const androidBuildCredentials = app.byId.androidAppCredentials.flatMap((c) => c.androidAppBuildCredentialsList);
|
|
134
|
+
const androidEntry = androidBuildCredentials.find((c) => c.isDefault && c.androidKeystore) ??
|
|
135
|
+
androidBuildCredentials.find((c) => c.androidKeystore);
|
|
136
|
+
const pushKeyEntry = app.byId.iosAppCredentials.find((c) => c.pushKey)?.pushKey;
|
|
137
|
+
return {
|
|
138
|
+
ios: iosEntry?.distributionCertificate?.certificateP12
|
|
139
|
+
? {
|
|
140
|
+
p12Base64: iosEntry.distributionCertificate.certificateP12,
|
|
141
|
+
password: iosEntry.distributionCertificate.certificatePassword ?? undefined,
|
|
142
|
+
profileBase64: iosEntry.provisioningProfile?.provisioningProfile ?? undefined,
|
|
143
|
+
}
|
|
144
|
+
: undefined,
|
|
145
|
+
android: androidEntry?.androidKeystore
|
|
146
|
+
? {
|
|
147
|
+
keystoreBase64: androidEntry.androidKeystore.keystore,
|
|
148
|
+
keystorePassword: androidEntry.androidKeystore.keystorePassword,
|
|
149
|
+
keyAlias: androidEntry.androidKeystore.keyAlias,
|
|
150
|
+
keyPassword: androidEntry.androidKeystore.keyPassword ?? undefined,
|
|
151
|
+
}
|
|
152
|
+
: undefined,
|
|
153
|
+
iosPushKey: pushKeyEntry
|
|
154
|
+
? { keyId: pushKeyEntry.keyIdentifier, p8Base64: pushKeyEntry.keyP8 }
|
|
155
|
+
: undefined,
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
/** Every app in every account this token or session can see. */
|
|
159
|
+
export async function listExpoApps(auth) {
|
|
160
|
+
const { meActor } = await expoGraphQL(auth, `{ meActor { accounts { id name } } }`);
|
|
161
|
+
if (!meActor)
|
|
162
|
+
throw new Error('Expo did not recognise this token.');
|
|
163
|
+
if (meActor.accounts.length === 0)
|
|
164
|
+
return [];
|
|
165
|
+
const PAGE_SIZE = 50;
|
|
166
|
+
const apps = [];
|
|
167
|
+
for (const account of meActor.accounts) {
|
|
168
|
+
for (let offset = 0;; offset += PAGE_SIZE) {
|
|
169
|
+
const { account: acc } = await expoGraphQL(auth, `query AppsForAccount($accountName: String!, $limit: Int!, $offset: Int!) {
|
|
170
|
+
account {
|
|
171
|
+
byName(accountName: $accountName) {
|
|
172
|
+
apps(limit: $limit, offset: $offset) { id name slug fullName }
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}`, { accountName: account.name, limit: PAGE_SIZE, offset });
|
|
176
|
+
const page = acc.byName?.apps ?? [];
|
|
177
|
+
for (const app of page) {
|
|
178
|
+
apps.push({ ...app, accountName: account.name });
|
|
179
|
+
}
|
|
180
|
+
if (page.length < PAGE_SIZE)
|
|
181
|
+
break;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
return apps;
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=eas-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eas-client.js","sourceRoot":"","sources":["../../../src/commands/migrate/eas-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An existing EAS/Expo session, or runs `eas login` interactively and reads
|
|
3
|
+
* the session it leaves behind. Lets this script skip the "paste a personal
|
|
4
|
+
* access token" step for anyone who already has `eas-cli` set up.
|
|
5
|
+
*/
|
|
6
|
+
export declare function getExpoSession(): Promise<{
|
|
7
|
+
sessionSecret: string;
|
|
8
|
+
username?: string;
|
|
9
|
+
}>;
|
|
10
|
+
//# sourceMappingURL=expo-session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expo-session.d.ts","sourceRoot":"","sources":["../../../src/commands/migrate/expo-session.ts"],"names":[],"mappings":"AAqCA;;;;GAIG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAc5F"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
|
+
import { readFile } from 'node:fs/promises';
|
|
3
|
+
import { homedir } from 'node:os';
|
|
4
|
+
import { join } from 'node:path';
|
|
5
|
+
/**
|
|
6
|
+
* `eas login` / `expo login` both write here. This is the same file `eas
|
|
7
|
+
* whoami` reads to work without EXPO_TOKEN — the GraphQL API accepts a
|
|
8
|
+
* session secret via the `expo-session` header exactly like it accepts a
|
|
9
|
+
* personal access token via `Authorization: Bearer`.
|
|
10
|
+
*/
|
|
11
|
+
async function readExpoState() {
|
|
12
|
+
try {
|
|
13
|
+
const raw = await readFile(join(homedir(), '.expo', 'state.json'), 'utf8');
|
|
14
|
+
const parsed = JSON.parse(raw);
|
|
15
|
+
return parsed.auth?.sessionSecret ? parsed.auth : undefined;
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function runEasLogin() {
|
|
22
|
+
return new Promise((resolve, reject) => {
|
|
23
|
+
const child = spawn('npx', ['--yes', 'eas-cli', 'login'], { stdio: 'inherit' });
|
|
24
|
+
child.on('error', reject);
|
|
25
|
+
child.on('exit', (code) => {
|
|
26
|
+
if (code === 0)
|
|
27
|
+
resolve();
|
|
28
|
+
else
|
|
29
|
+
reject(new Error(`\`eas login\` exited with code ${code}`));
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* An existing EAS/Expo session, or runs `eas login` interactively and reads
|
|
35
|
+
* the session it leaves behind. Lets this script skip the "paste a personal
|
|
36
|
+
* access token" step for anyone who already has `eas-cli` set up.
|
|
37
|
+
*/
|
|
38
|
+
export async function getExpoSession() {
|
|
39
|
+
const existing = await readExpoState();
|
|
40
|
+
if (existing?.sessionSecret) {
|
|
41
|
+
return { sessionSecret: existing.sessionSecret, username: existing.username };
|
|
42
|
+
}
|
|
43
|
+
console.log('Not logged in to Expo — running `eas login`…');
|
|
44
|
+
await runEasLogin();
|
|
45
|
+
const after = await readExpoState();
|
|
46
|
+
if (!after?.sessionSecret) {
|
|
47
|
+
throw new Error('`eas login` finished but left no session. Pass --expo-token instead.');
|
|
48
|
+
}
|
|
49
|
+
return { sessionSecret: after.sessionSecret, username: after.username };
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=expo-session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expo-session.js","sourceRoot":"","sources":["../../../src/commands/migrate/expo-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAOjC;;;;;GAKG;AACH,KAAK,UAAU,aAAa;IAC1B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA6B,CAAC;QAC3D,OAAO,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,WAAW;IAClB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAChF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,IAAI,IAAI,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;;gBACrB,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,QAAQ,GAAG,MAAM,aAAa,EAAE,CAAC;IACvC,IAAI,QAAQ,EAAE,aAAa,EAAE,CAAC;QAC5B,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,aAAa,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAChF,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC5D,MAAM,WAAW,EAAE,CAAC;IAEpB,MAAM,KAAK,GAAG,MAAM,aAAa,EAAE,CAAC;IACpC,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/migrate/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4F7D"}
|