Compare commits

..
6 Commits
Author SHA1 Message Date
Expo CI 951ccba62c v27.7.2 2026-11-10 17:00:49 +00:00
Tomasz Mazur 8c0e01d64c [eas-cli] Show the ID argument and examples in workflow:ssh help (#4829)
* [eas-cli] Fix workflow SSH help and error text

* [eas-cli] Revert worker wording in workflow:run SSH text

* [eas-cli] Revert workflow:ssh error text
2026-11-10 17:36:59 +01:00
Vojtech NovakandClaude Fable 5.1 539acb8c23 [eas-cli] Add --log-source to eas simulator (#4823)
* [eas-cli] Add --android-log-source to eas simulator

Co-Authored-By: Claude Fable 5.1 <[email protected]>

* [eas-cli] Drop the retention period from the --android-log-source help

Co-Authored-By: Claude Fable 5.1 <[email protected]>

* [eas-cli] Shorten the --android-log-source changeset

Co-Authored-By: Claude Fable 5.1 <[email protected]>

* [eas-cli] Rename --android-log-source to --log-source

The flag is unprefixed like the step input it feeds. Passing it without
--platform android fails at runtime.

Co-Authored-By: Claude Fable 5.1 <[email protected]>

---------

Co-authored-by: Claude Fable 5.1 <[email protected]>
2026-11-10 17:18:53 +01:00
Expo CI 18d85d571a bump STAGING and PRODUCTION to 27.7.1 in cli-versions.json 2026-11-10 13:36:49 +00:00
Tomasz Mazur f2cf409b21 [build-tools] Start SSH session shells in the build directory (#4843) 2026-11-10 13:40:14 +01:00
Tomasz Mazur 0cf8cd014f [eas-cli] Show the ended message when workflow:ssh is given a finished build ID (#4842) 2026-11-10 13:38:46 +01:00
44 changed files with 491 additions and 259 deletions

No files matched your search

+9
View File
@@ -2,6 +2,15 @@
This is the log of notable changes to EAS CLI and related packages.
## [27.7.2](https://github.com/expo/eas-cli/releases/tag/v27.7.2) - 2026-11-10
### 🐛 Bug fixes
- [eas-cli] Add `--log-source` to `eas simulator` to select which Android logs a session records. ([#4823](https://github.com/expo/eas-cli/pull/4823) by [@vonovak](https://github.com/vonovak))
- [build-tools] Start SSH session shells in the job's build directory instead of the worker's directory. ([#4843](https://github.com/expo/eas-cli/pull/4843) by [@AHGIJMKLKKZNPJKQR](https://github.com/AHGIJMKLKKZNPJKQR))
- [eas-cli] Show that the ssh session has ended, instead of saying SSH was not enabled, when `eas workflow:ssh` is given the ID of a finished build. ([#4842](https://github.com/expo/eas-cli/pull/4842) by [@AHGIJMKLKKZNPJKQR](https://github.com/AHGIJMKLKKZNPJKQR))
- [eas-cli] Show the ID argument and examples in `eas workflow:ssh --help`. ([#4829](https://github.com/expo/eas-cli/pull/4829) by [@AHGIJMKLKKZNPJKQR](https://github.com/AHGIJMKLKKZNPJKQR))
## [27.7.1](https://github.com/expo/eas-cli/releases/tag/v27.7.1) - 2026-11-10
### 🐛 Bug fixes
+2 -2
View File
@@ -1,4 +1,4 @@
{
"STAGING": "27.7.0",
"PRODUCTION": "27.7.0"
"STAGING": "27.7.1",
"PRODUCTION": "27.7.1"
}
+1 -1
View File
@@ -1,5 +1,5 @@
{
"npmClient": "yarn",
"version": "27.7.1",
"version": "27.7.2",
"$schema": "node_modules/lerna/schemas/lerna-schema.json"
}
+6
View File
@@ -1,5 +1,11 @@
# @expo/build-tools
## 27.7.2
### Patch Changes
- Start SSH session shells in the job's build directory instead of the worker's directory. ([#4843](https://github.com/expo/eas-cli/pull/4843) by [@AHGIJMKLKKZNPJKQR](https://github.com/AHGIJMKLKKZNPJKQR))
## 27.7.1
### Patch Changes
+7 -7
View File
@@ -1,6 +1,6 @@
{
"name": "@expo/build-tools",
"version": "27.7.1",
"version": "27.7.2",
"bugs": "https://github.com/expo/eas-cli/issues",
"license": "BUSL-1.1",
"author": "Expo <[email protected]>",
@@ -42,17 +42,17 @@
"dependencies": {
"@expo/config": "55.0.10",
"@expo/config-plugins": "55.0.7",
"@expo/downloader": "27.7.1",
"@expo/eas-build-job": "27.7.1",
"@expo/downloader": "27.7.2",
"@expo/eas-build-job": "27.7.2",
"@expo/env": "^0.4.0",
"@expo/logger": "27.7.1",
"@expo/logger": "27.7.2",
"@expo/package-manager": "1.9.10",
"@expo/plist": "^0.3.5",
"@expo/results": "^1.0.0",
"@expo/spawn-async": "1.7.2",
"@expo/steps": "27.7.1",
"@expo/template-file": "27.7.1",
"@expo/turtle-spawn": "27.7.1",
"@expo/steps": "27.7.2",
"@expo/template-file": "27.7.2",
"@expo/turtle-spawn": "27.7.2",
"@expo/xcpretty": "^4.4.7",
"@ngrok/ngrok": "1.7.0",
"@sentry/node": "7.77.0",
@@ -1,7 +1,10 @@
import { SystemError } from '@expo/eas-build-job';
import downloadFile from '@expo/downloader';
import spawn from '@expo/turtle-spawn';
import { spawnSync } from 'node:child_process';
import fs from 'node:fs/promises';
import os from 'node:os';
import path from 'node:path';
import { createMockLogger } from '../../__tests__/utils/logger';
import { BuildContext } from '../../context';
@@ -164,10 +167,14 @@ describe(startUptermHostAsync, () => {
};
}
function makeCtx(env: Record<string, string> = {}): BuildContext {
function makeCtx(
env: Record<string, string> = {},
buildDirectory = '/workingdir/build'
): BuildContext {
return {
logger: createMockLogger(),
env,
buildDirectory,
} as unknown as BuildContext;
}
@@ -227,6 +234,33 @@ describe(startUptermHostAsync, () => {
);
});
it('starts each client shell in the build directory', async () => {
const realFs = jest.requireActual<typeof import('node:fs')>('node:fs');
const tmpDir = realFs.mkdtempSync(path.join(os.tmpdir(), 'eas-upterm-join-'));
try {
const buildDirectory = path.join(tmpDir, "it's $HOME `pwd`", 'build');
realFs.mkdirSync(buildDirectory, { recursive: true });
await startUptermHostAsync(makeCtx({}, buildDirectory), { relayServerUrl: 'wss://r' });
const joinScriptCall = mockedFs.writeFile.mock.calls.find(
([file]) => file === '/tmp/eas-ssh-1/join.sh'
);
const joinScriptPath = path.join(tmpDir, 'join.sh');
realFs.writeFileSync(joinScriptPath, String(joinScriptCall?.[1]));
const result = spawnSync('bash', [joinScriptPath], {
cwd: tmpDir,
env: { PATH: process.env.PATH, HOME: tmpDir },
input: 'pwd\n',
encoding: 'utf8',
});
expect(result.stdout.trim()).toBe(buildDirectory);
} finally {
realFs.rmSync(tmpDir, { recursive: true, force: true });
}
});
it('downloads from GCS into a fresh temp dir when upterm is not on PATH', async () => {
uptermOnPath = false;
+6 -1
View File
@@ -202,7 +202,12 @@ export async function startUptermHostAsync(
await spawn('ssh-keygen', ['-t', 'ed25519', '-N', '', '-f', hostKeyPath, '-q'], {
logger: ctx.logger,
});
await fs.writeFile(forceCommandPath, '#!/usr/bin/env bash\nexec bash -l\n', { mode: 0o755 });
const quotedBuildDirectory = `'${ctx.buildDirectory.replaceAll("'", "'\\''")}'`;
await fs.writeFile(
forceCommandPath,
`#!/usr/bin/env bash\ncd -- ${quotedBuildDirectory}\nexec bash -l\n`,
{ mode: 0o755 }
);
let currentProcess: SpawnPromise<SpawnResult> | null = null;
@@ -1,5 +1,9 @@
# create-eas-build-function
## 27.7.2
No changes in this release.
## 27.7.1
No changes in this release.
@@ -1,6 +1,6 @@
{
"name": "create-eas-build-function",
"version": "27.7.1",
"version": "27.7.2",
"description": "Create functions for use in EAS Build custom builds.",
"keywords": [
"expo",
@@ -35,7 +35,7 @@
"clean": "rimraf ./build/ \"*.tsbuildinfo\""
},
"dependencies": {
"@expo/steps": "27.7.1"
"@expo/steps": "27.7.2"
},
"devDependencies": {
"@expo/package-manager": "1.9.10",
+4
View File
@@ -1,5 +1,9 @@
# @expo/downloader
## 27.7.2
No changes in this release.
## 27.7.1
No changes in this release.
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@expo/downloader",
"version": "27.7.1",
"version": "27.7.2",
"bugs": "https://github.com/expo/eas-cli/issues",
"license": "BUSL-1.1",
"author": "Expo <[email protected]>",
@@ -1,5 +1,9 @@
# eas-build-cache-provider
## 27.7.2
No changes in this release.
## 27.7.1
No changes in this release.
@@ -1,6 +1,6 @@
{
"name": "eas-build-cache-provider",
"version": "27.7.1",
"version": "27.7.2",
"description": "A build cache provider plugin for the Expo CLI",
"homepage": "https://github.com/expo/eas-cli",
"bugs": "https://github.com/expo/eas-cli/issues",
+4
View File
@@ -1,5 +1,9 @@
# @expo/eas-build-job
## 27.7.2
No changes in this release.
## 27.7.1
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@expo/eas-build-job",
"version": "27.7.1",
"version": "27.7.2",
"bugs": "https://github.com/expo/eas-cli/issues",
"license": "MIT",
"author": "Expo <[email protected]>",
@@ -25,9 +25,9 @@
"clean": "rimraf node_modules dist coverage \"*.tsbuildinfo\""
},
"dependencies": {
"@expo/logger": "27.7.1",
"@expo/logger": "27.7.2",
"@expo/results": "1.0.0",
"@expo/turtle-spawn": "27.7.1",
"@expo/turtle-spawn": "27.7.2",
"joi": "^17.13.9",
"semver": "^7.6.2",
"zod": "^4.6.7"
+8
View File
@@ -1,5 +1,13 @@
# eas-cli
## 27.7.2
### Patch Changes
- Add `--log-source` to `eas simulator` to select which Android logs a session records. ([#4823](https://github.com/expo/eas-cli/pull/4823) by [@vonovak](https://github.com/vonovak))
- Show that the ssh session has ended, instead of saying SSH was not enabled, when `eas workflow:ssh` is given the ID of a finished build. ([#4842](https://github.com/expo/eas-cli/pull/4842) by [@AHGIJMKLKKZNPJKQR](https://github.com/AHGIJMKLKKZNPJKQR))
- Show the ID argument and examples in `eas workflow:ssh --help`. ([#4829](https://github.com/expo/eas-cli/pull/4829) by [@AHGIJMKLKKZNPJKQR](https://github.com/AHGIJMKLKKZNPJKQR))
## 27.7.1
### Patch Changes
+186 -163
View File
File diff suppressed because it is too large. Load diff
+20
View File
@@ -47534,6 +47534,26 @@
"isDeprecated": false,
"deprecationReason": null
},
{
"name": "logSources",
"description": "Logs to record during the session and upload afterward: emulator-output and device-logcat. Defaults to\n[\"emulator-output\"]. An empty list disables recording and uploading both sources. Device-wide logcat can contain\ncredentials and personal data; include device-logcat only when you want to retain it.\nLogs are not redacted and use the existing 90-day artifact retention policy.",
"type": {
"kind": "LIST",
"name": null,
"ofType": {
"kind": "NON_NULL",
"name": null,
"ofType": {
"kind": "SCALAR",
"name": "String",
"ofType": null
}
}
},
"defaultValue": null,
"isDeprecated": false,
"deprecationReason": null
},
{
"name": "systemImagePackage",
"description": "Android SDK system image package to use for the emulator (e.g.\n\"system-images;android-35;google_apis;x86_64\").",
+5 -5
View File
@@ -1,6 +1,6 @@
{
"name": "eas-cli",
"version": "27.7.1",
"version": "27.7.2",
"description": "EAS command line tool",
"keywords": [
"cli",
@@ -48,12 +48,12 @@
"@expo/code-signing-certificates": "0.0.5",
"@expo/config": "55.0.10",
"@expo/config-plugins": "55.0.7",
"@expo/eas-build-job": "27.7.1",
"@expo/eas-json": "27.7.1",
"@expo/eas-build-job": "27.7.2",
"@expo/eas-json": "27.7.2",
"@expo/env": "^1.0.0",
"@expo/experimentation": "0.0.5",
"@expo/json-file": "8.3.3",
"@expo/logger": "27.7.1",
"@expo/logger": "27.7.2",
"@expo/multipart-body-parser": "2.0.0",
"@expo/osascript": "2.1.4",
"@expo/package-manager": "1.9.10",
@@ -65,7 +65,7 @@
"@expo/results": "1.0.0",
"@expo/rudder-sdk-node": "1.1.1",
"@expo/spawn-async": "1.7.2",
"@expo/steps": "27.7.1",
"@expo/steps": "27.7.2",
"@expo/timeago.js": "1.0.0",
"@oclif/core": "^4.8.3",
"@oclif/plugin-autocomplete": "^3.2.40",
@@ -1685,6 +1685,38 @@ describe(Simulator, () => {
);
});
it('accumulates repeated --log-source flags in order', async () => {
const { command } = createCommand([
'--platform',
'android',
'--non-interactive',
'--log-source',
'emulator-output',
'--log-source',
'device-logcat',
]);
await command.runAsync();
expect(mockCreateDeviceRunSessionAsync).toHaveBeenCalledWith(
graphqlClient,
expect.objectContaining({ android: { logSources: ['emulator-output', 'device-logcat'] } })
);
});
it('leaves Android log sources omitted unless explicitly requested', async () => {
const { command } = createCommand(['--platform', 'android', '--non-interactive']);
await command.runAsync();
expect(mockCreateDeviceRunSessionAsync.mock.calls[0][1].android?.logSources).toBeUndefined();
});
it.each([
{ args: ['--platform', 'ios', '--log-source', 'device-logcat'] },
{ args: ['--platform', 'android', '--log-source', 'unknown'] },
])('rejects invalid Android logging options $args', async ({ args }) => {
const { command } = createCommand([...args, '--non-interactive']);
await expect(command.runAsync()).rejects.toThrow();
expect(mockCreateDeviceRunSessionAsync).not.toHaveBeenCalled();
});
it('passes --network-capture to the createDeviceRunSession mutation', async () => {
const { command } = createCommand([
'--platform',
@@ -190,6 +190,12 @@ With local egress, actions wait for the connection and require interactive mode.
description:
'Version of the package backing the simulator session (e.g. "0.1.3-alpha.3"). Defaults to "latest" when omitted.',
}),
'log-source': Flags.option({
description:
'Android logs to record during the session and upload afterward. Repeat to select both sources; replaces the default emulator-output selection. Device-wide device-logcat may contain credentials and personal data. Logs are not redacted.',
options: ['emulator-output', 'device-logcat'],
multiple: true,
})(),
'network-capture': Flags.boolean({
allowNo: true,
description:
@@ -300,6 +306,7 @@ With local egress, actions wait for the connection and require interactive mode.
const tags = flags.tag?.map(tag => tag.trim()).filter(tag => tag.length > 0);
const deviceIdentifier = flags.device?.trim() || undefined;
const systemImagePackage = flags['system-image']?.trim() || undefined;
const logSources = flags['log-source'];
const buildId = flags['build-id']?.trim() || undefined;
const buildFingerprint = flags['build-fingerprint']?.trim() || undefined;
const applicationArchiveUrlFromFlag = flags['application-archive-url']?.trim() || undefined;
@@ -346,6 +353,11 @@ With local egress, actions wait for the connection and require interactive mode.
const platform = await resolvePlatformAsync(flags.platform, nonInteractive);
const egress = flags.egress === 'local' ? DeviceRunSessionEgress.Local : undefined;
if (logSources && platform !== AppPlatform.Android) {
throw new EasCommandError(
'--log-source selects Android emulator logs. Pass --platform android.'
);
}
if (systemImagePackage && platform !== AppPlatform.Android) {
throw new EasCommandError('--system-image is only supported with --platform android.');
}
@@ -421,6 +433,19 @@ With local egress, actions wait for the connection and require interactive mode.
packageVersion: flags['package-version'],
nonInteractive,
});
const android = {
...(deviceIdentifier ? { deviceIdentifier } : {}),
...(systemImagePackage ? { systemImagePackage } : {}),
...(logSources ? { logSources } : {}),
};
const platformInput =
platform === AppPlatform.Ios
? deviceIdentifier
? { ios: { deviceIdentifier } }
: {}
: Object.keys(android).length
? { android }
: {};
const session = await withSimulatorRequestAnalyticsAsync(
analytics,
requestProperties,
@@ -436,18 +461,7 @@ With local egress, actions wait for the connection and require interactive mode.
packageVersion: flags['package-version'],
networkCapture: flags['network-capture'],
...(networkCaptureFields.length ? { networkCaptureFields } : {}),
...(platform === AppPlatform.Ios
? deviceIdentifier
? { ios: { deviceIdentifier } }
: {}
: deviceIdentifier || systemImagePackage
? {
android: {
...(deviceIdentifier ? { deviceIdentifier } : {}),
...(systemImagePackage ? { systemImagePackage } : {}),
},
}
: {}),
...platformInput,
...(buildId ? { buildId } : {}),
...(buildFingerprint ? { buildFingerprint } : {}),
...(applicationArchiveUrlFromFlag
@@ -105,6 +105,13 @@ export default class WorkflowSsh extends EasCommand {
static override description =
'[EXPERIMENTAL] open an ssh session on the worker running a workflow job';
static override usage = 'workflow:ssh [--show-connect] ID';
static override examples = [
'$ eas workflow:ssh <ID> \t # Open an SSH session on the worker. Use the ID in the job logs ("Start SSH session" step)',
'$ eas workflow:ssh --show-connect <ID> \t # Print the ssh command to connect, without opening the SSH session',
];
static override strict = false;
static override flags = {
+7
View File
@@ -6658,6 +6658,13 @@ export type CreateAndConfigureRepositoryInput = {
export type CreateAndroidDeviceRunSessionInput = {
/** AVD hardware profile id to use for the emulator (e.g. "pixel_9"). Defaults to "medium_phone". */
deviceIdentifier?: InputMaybe<Scalars['String']['input']>;
/**
* Logs to record during the session and upload afterward: emulator-output and device-logcat. Defaults to
* ["emulator-output"]. An empty list disables recording and uploading both sources. Device-wide logcat can contain
* credentials and personal data; include device-logcat only when you want to retain it.
* Logs are not redacted and use the existing 90-day artifact retention policy.
*/
logSources?: InputMaybe<Array<Scalars['String']['input']>>;
/**
* Android SDK system image package to use for the emulator (e.g.
* "system-images;android-35;google_apis;x86_64").
@@ -215,9 +215,10 @@ export const WorkflowJobSshQuery = {
throw error;
}
const build = data.builds.byId;
const jobCompleted = FINAL_BUILD_STATUSES.has(build.status);
return {
sshRequested: build.sshSession !== null,
jobCompleted: FINAL_BUILD_STATUSES.has(build.status),
sshRequested: build.sshSession !== null || jobCompleted,
jobCompleted,
session: build.sshSession,
};
},
@@ -1,4 +1,5 @@
import { ExpoGraphqlClient } from '../../../commandUtils/context/contextUtils/createGraphqlClient';
import { resolveSshConnectStatus, terminalSshStatusMessage } from '../../../commands/workflow/ssh';
import { GraphqlError } from '../../client';
import { BuildStatus, JobRunStatus, WorkflowJobStatus } from '../../generated';
import { WorkflowJobSshQuery } from '../WorkflowJobSshQuery';
@@ -227,6 +228,19 @@ describe(WorkflowJobSshQuery.connectInfoForBuildAsync.name, () => {
}
);
it.each([BuildStatus.Errored, BuildStatus.Finished, BuildStatus.Canceled])(
'reports the ssh session as ended for a %s build without an sshSession',
async status => {
const { graphqlClient } = makeClient({ id: 'build-1', status, sshSession: null });
const sshStatus = resolveSshConnectStatus(
await WorkflowJobSshQuery.connectInfoForBuildAsync(graphqlClient, 'build-1')
);
expect(sshStatus).toBe('ended');
expect(terminalSshStatusMessage(sshStatus, 'build-1')).toBe('This ssh session has ended.');
}
);
it.each([BuildStatus.New, BuildStatus.InQueue, BuildStatus.PendingCancel])(
'treats %s as not completed',
async status => {
+4
View File
@@ -1,5 +1,9 @@
# @expo/eas-json
## 27.7.2
No changes in this release.
## 27.7.1
### Patch Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@expo/eas-json",
"version": "27.7.1",
"version": "27.7.2",
"description": "A library for interacting with eas.json",
"homepage": "https://github.com/expo/eas-cli",
"bugs": "https://github.com/expo/eas-cli/issues",
@@ -32,7 +32,7 @@
},
"dependencies": {
"@babel/code-frame": "7.23.5",
"@expo/eas-build-job": "27.7.1",
"@expo/eas-build-job": "27.7.2",
"chalk": "4.1.2",
"env-string": "1.0.1",
"fs-extra": "11.2.0",
+4
View File
@@ -1,5 +1,9 @@
# eas-cli-local-build-plugin
## 27.7.2
No changes in this release.
## 27.7.1
### Patch Changes
+5 -5
View File
@@ -1,6 +1,6 @@
{
"name": "eas-cli-local-build-plugin",
"version": "27.7.1",
"version": "27.7.2",
"description": "Tool for running EAS compatible builds on a local machine.",
"bugs": "https://github.com/expo/eas-cli/issues",
"license": "BUSL-1.1",
@@ -26,12 +26,12 @@
"clean": "rimraf node_modules dist coverage \"*.tsbuildinfo\""
},
"dependencies": {
"@expo/build-tools": "27.7.1",
"@expo/build-tools": "27.7.2",
"@expo/bunyan": "^4.0.1",
"@expo/eas-build-job": "27.7.1",
"@expo/logger": "27.7.1",
"@expo/eas-build-job": "27.7.2",
"@expo/logger": "27.7.2",
"@expo/spawn-async": "^1.7.2",
"@expo/turtle-spawn": "27.7.1",
"@expo/turtle-spawn": "27.7.2",
"chalk": "4.1.2",
"env-paths": "^2.2.1",
"fs-extra": "^11.2.0",
+4
View File
@@ -1,5 +1,9 @@
# @expo/logger
## 27.7.2
No changes in this release.
## 27.7.1
No changes in this release.
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@expo/logger",
"version": "27.7.1",
"version": "27.7.2",
"bugs": "https://github.com/expo/eas-cli/issues",
"license": "BUSL-1.1",
"author": "Expo <[email protected]>",
+4
View File
@@ -1,5 +1,9 @@
# @expo/simulator-launcher
## 27.7.2
No changes in this release.
## 27.7.1
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@expo/simulator-launcher",
"version": "27.7.1",
"version": "27.7.2",
"description": "Launch and claim Simulator sessions on EAS workers",
"bugs": "https://github.com/expo/eas-cli/issues",
"license": "BUSL-1.1",
+4
View File
@@ -1,5 +1,9 @@
# @expo/steps
## 27.7.2
No changes in this release.
## 27.7.1
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@expo/steps",
"version": "27.7.1",
"version": "27.7.2",
"bugs": "https://github.com/expo/eas-cli/issues",
"license": "BUSL-1.1",
"author": "Expo <[email protected]>",
@@ -27,8 +27,8 @@
"clean": "rimraf node_modules dist coverage \"*.tsbuildinfo\""
},
"dependencies": {
"@expo/eas-build-job": "27.7.1",
"@expo/logger": "27.7.1",
"@expo/eas-build-job": "27.7.2",
"@expo/logger": "27.7.2",
"@expo/spawn-async": "^1.7.2",
"arg": "^5.0.2",
"fast-glob": "^3.3.2",
+4
View File
@@ -1,5 +1,9 @@
# @expo/template-file
## 27.7.2
No changes in this release.
## 27.7.1
No changes in this release.
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@expo/template-file",
"version": "27.7.1",
"version": "27.7.2",
"bugs": "https://github.com/expo/eas-cli/issues",
"license": "BUSL-1.1",
"author": "Expo <[email protected]>",
+4
View File
@@ -1,5 +1,9 @@
# @expo/turtle-spawn
## 27.7.2
No changes in this release.
## 27.7.1
No changes in this release.
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@expo/turtle-spawn",
"version": "27.7.1",
"version": "27.7.2",
"bugs": "https://github.com/expo/eas-cli/issues",
"license": "BUSL-1.1",
"author": "Expo <[email protected]>",
@@ -25,7 +25,7 @@
"clean": "rimraf node_modules dist coverage \"*.tsbuildinfo\""
},
"dependencies": {
"@expo/logger": "27.7.1",
"@expo/logger": "27.7.2",
"@expo/spawn-async": "^1.7.2"
},
"devDependencies": {
+4
View File
@@ -1,5 +1,9 @@
# @expo/vm-tools
## 27.7.2
No changes in this release.
## 27.7.1
No changes in this release.
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@expo/vm-tools",
"version": "27.7.1",
"version": "27.7.2",
"description": "VM startup script loader",
"bugs": "https://github.com/expo/eas-cli/issues",
"license": "BUSL-1.1",
+4
View File
@@ -1,5 +1,9 @@
# @expo/worker
## 27.7.2
No changes in this release.
## 27.7.1
### Patch Changes
+7 -7
View File
@@ -1,6 +1,6 @@
{
"name": "@expo/worker",
"version": "27.7.1",
"version": "27.7.2",
"private": true,
"scripts": {
"start": "yarn watch",
@@ -19,17 +19,17 @@
},
"dependencies": {
"@babel/core": "7.24.7",
"@expo/build-tools": "27.7.1",
"@expo/build-tools": "27.7.2",
"@expo/config-plugins": "55.0.7",
"@expo/config-types": "55.0.5",
"@expo/eas-build-job": "27.7.1",
"@expo/logger": "27.7.1",
"@expo/eas-build-job": "27.7.2",
"@expo/logger": "27.7.2",
"@expo/results": "1.0.0",
"@expo/rudder-sdk-node": "1.1.1",
"@expo/spawn-async": "1.7.2",
"@expo/steps": "27.7.1",
"@expo/template-file": "27.7.1",
"@expo/turtle-spawn": "27.7.1",
"@expo/steps": "27.7.2",
"@expo/template-file": "27.7.2",
"@expo/turtle-spawn": "27.7.2",
"@hapi/boom": "10.0.1",
"check-disk-space": "3.4.0",
"fast-glob": "3.3.2",
Generated
+35 -35
View File
@@ -2515,24 +2515,24 @@ __metadata:
languageName: node
linkType: hard
"@expo/build-tools@npm:27.7.1, @expo/build-tools@workspace:packages/build-tools":
"@expo/build-tools@npm:27.7.2, @expo/build-tools@workspace:packages/build-tools":
version: 0.0.0-use.local
resolution: "@expo/build-tools@workspace:packages/build-tools"
dependencies:
"@expo/config": "npm:55.0.10"
"@expo/config-plugins": "npm:55.0.7"
"@expo/downloader": "npm:27.7.1"
"@expo/eas-build-job": "npm:27.7.1"
"@expo/downloader": "npm:27.7.2"
"@expo/eas-build-job": "npm:27.7.2"
"@expo/env": "npm:^0.4.0"
"@expo/logger": "npm:27.7.1"
"@expo/logger": "npm:27.7.2"
"@expo/package-manager": "npm:1.9.10"
"@expo/plist": "npm:^0.3.5"
"@expo/repack-app": "npm:~0.9.0"
"@expo/results": "npm:^1.0.0"
"@expo/spawn-async": "npm:1.7.2"
"@expo/steps": "npm:27.7.1"
"@expo/template-file": "npm:27.7.1"
"@expo/turtle-spawn": "npm:27.7.1"
"@expo/steps": "npm:27.7.2"
"@expo/template-file": "npm:27.7.2"
"@expo/turtle-spawn": "npm:27.7.2"
"@expo/xcpretty": "npm:^4.4.7"
"@ngrok/ngrok": "npm:1.7.0"
"@sentry/node": "npm:7.77.0"
@@ -2768,7 +2768,7 @@ __metadata:
languageName: node
linkType: hard
"@expo/downloader@npm:27.7.1, @expo/downloader@workspace:packages/downloader":
"@expo/downloader@npm:27.7.2, @expo/downloader@workspace:packages/downloader":
version: 0.0.0-use.local
resolution: "@expo/downloader@workspace:packages/downloader"
dependencies:
@@ -2784,13 +2784,13 @@ __metadata:
languageName: unknown
linkType: soft
"@expo/eas-build-job@npm:27.7.1, @expo/eas-build-job@workspace:packages/eas-build-job":
"@expo/eas-build-job@npm:27.7.2, @expo/eas-build-job@workspace:packages/eas-build-job":
version: 0.0.0-use.local
resolution: "@expo/eas-build-job@workspace:packages/eas-build-job"
dependencies:
"@expo/logger": "npm:27.7.1"
"@expo/logger": "npm:27.7.2"
"@expo/results": "npm:1.0.0"
"@expo/turtle-spawn": "npm:27.7.1"
"@expo/turtle-spawn": "npm:27.7.2"
"@types/jest": "npm:^29.5.12"
"@types/node": "npm:22.20.5"
jest: "npm:^29.7.0"
@@ -2803,12 +2803,12 @@ __metadata:
languageName: unknown
linkType: soft
"@expo/eas-json@npm:27.7.1, @expo/eas-json@workspace:packages/eas-json":
"@expo/eas-json@npm:27.7.2, @expo/eas-json@workspace:packages/eas-json":
version: 0.0.0-use.local
resolution: "@expo/eas-json@workspace:packages/eas-json"
dependencies:
"@babel/code-frame": "npm:7.23.5"
"@expo/eas-build-job": "npm:27.7.1"
"@expo/eas-build-job": "npm:27.7.2"
"@tsconfig/node22": "npm:22.0.6"
"@types/babel__code-frame": "npm:7.0.3"
"@types/fs-extra": "npm:11.0.4"
@@ -2931,7 +2931,7 @@ __metadata:
languageName: node
linkType: hard
"@expo/logger@npm:27.7.1, @expo/logger@workspace:packages/logger":
"@expo/logger@npm:27.7.2, @expo/logger@workspace:packages/logger":
version: 0.0.0-use.local
resolution: "@expo/logger@workspace:packages/logger"
dependencies:
@@ -3149,12 +3149,12 @@ __metadata:
languageName: node
linkType: hard
"@expo/steps@npm:27.7.1, @expo/steps@workspace:packages/steps":
"@expo/steps@npm:27.7.2, @expo/steps@workspace:packages/steps":
version: 0.0.0-use.local
resolution: "@expo/steps@workspace:packages/steps"
dependencies:
"@expo/eas-build-job": "npm:27.7.1"
"@expo/logger": "npm:27.7.1"
"@expo/eas-build-job": "npm:27.7.2"
"@expo/logger": "npm:27.7.2"
"@expo/spawn-async": "npm:^1.7.2"
"@jest/globals": "npm:^29.7.0"
"@types/jest": "npm:^29.5.12"
@@ -3180,7 +3180,7 @@ __metadata:
languageName: unknown
linkType: soft
"@expo/template-file@npm:27.7.1, @expo/template-file@workspace:packages/template-file":
"@expo/template-file@npm:27.7.2, @expo/template-file@workspace:packages/template-file":
version: 0.0.0-use.local
resolution: "@expo/template-file@workspace:packages/template-file"
dependencies:
@@ -3203,11 +3203,11 @@ __metadata:
languageName: node
linkType: hard
"@expo/turtle-spawn@npm:27.7.1, @expo/turtle-spawn@workspace:packages/turtle-spawn":
"@expo/turtle-spawn@npm:27.7.2, @expo/turtle-spawn@workspace:packages/turtle-spawn":
version: 0.0.0-use.local
resolution: "@expo/turtle-spawn@workspace:packages/turtle-spawn"
dependencies:
"@expo/logger": "npm:27.7.1"
"@expo/logger": "npm:27.7.2"
"@expo/spawn-async": "npm:^1.7.2"
"@types/jest": "npm:^29.5.12"
"@types/node": "npm:22.20.5"
@@ -3238,17 +3238,17 @@ __metadata:
resolution: "@expo/worker@workspace:packages/worker"
dependencies:
"@babel/core": "npm:7.24.7"
"@expo/build-tools": "npm:27.7.1"
"@expo/build-tools": "npm:27.7.2"
"@expo/config-plugins": "npm:55.0.7"
"@expo/config-types": "npm:55.0.5"
"@expo/eas-build-job": "npm:27.7.1"
"@expo/logger": "npm:27.7.1"
"@expo/eas-build-job": "npm:27.7.2"
"@expo/logger": "npm:27.7.2"
"@expo/results": "npm:1.0.0"
"@expo/rudder-sdk-node": "npm:1.1.1"
"@expo/spawn-async": "npm:1.7.2"
"@expo/steps": "npm:27.7.1"
"@expo/template-file": "npm:27.7.1"
"@expo/turtle-spawn": "npm:27.7.1"
"@expo/steps": "npm:27.7.2"
"@expo/template-file": "npm:27.7.2"
"@expo/turtle-spawn": "npm:27.7.2"
"@hapi/boom": "npm:10.0.1"
"@types/babel__core": "npm:7.20.5"
"@types/fs-extra": "npm:11.0.4"
@@ -10123,7 +10123,7 @@ __metadata:
resolution: "create-eas-build-function@workspace:packages/create-eas-build-function"
dependencies:
"@expo/package-manager": "npm:1.9.10"
"@expo/steps": "npm:27.7.1"
"@expo/steps": "npm:27.7.2"
"@jest/globals": "npm:^29.7.0"
"@types/jest": "npm:^29.5.12"
"@types/node": "npm:22.20.5"
@@ -10707,12 +10707,12 @@ __metadata:
version: 0.0.0-use.local
resolution: "eas-cli-local-build-plugin@workspace:packages/local-build-plugin"
dependencies:
"@expo/build-tools": "npm:27.7.1"
"@expo/build-tools": "npm:27.7.2"
"@expo/bunyan": "npm:^4.0.1"
"@expo/eas-build-job": "npm:27.7.1"
"@expo/logger": "npm:27.7.1"
"@expo/eas-build-job": "npm:27.7.2"
"@expo/logger": "npm:27.7.2"
"@expo/spawn-async": "npm:^1.7.2"
"@expo/turtle-spawn": "npm:27.7.1"
"@expo/turtle-spawn": "npm:27.7.2"
"@types/fs-extra": "npm:^11.0.4"
"@types/hapi__joi": "npm:^17.1.14"
"@types/lodash": "npm:^4.17.4"
@@ -10766,12 +10766,12 @@ __metadata:
"@expo/code-signing-certificates": "npm:0.0.5"
"@expo/config": "npm:55.0.10"
"@expo/config-plugins": "npm:55.0.7"
"@expo/eas-build-job": "npm:27.7.1"
"@expo/eas-json": "npm:27.7.1"
"@expo/eas-build-job": "npm:27.7.2"
"@expo/eas-json": "npm:27.7.2"
"@expo/env": "npm:^1.0.0"
"@expo/experimentation": "npm:0.0.5"
"@expo/json-file": "npm:8.3.3"
"@expo/logger": "npm:27.7.1"
"@expo/logger": "npm:27.7.2"
"@expo/multipart-body-parser": "npm:2.0.0"
"@expo/osascript": "npm:2.1.4"
"@expo/package-manager": "npm:1.9.10"
@@ -10783,7 +10783,7 @@ __metadata:
"@expo/results": "npm:1.0.0"
"@expo/rudder-sdk-node": "npm:1.1.1"
"@expo/spawn-async": "npm:1.7.2"
"@expo/steps": "npm:27.7.1"
"@expo/steps": "npm:27.7.2"
"@expo/timeago.js": "npm:1.0.0"
"@graphql-codegen/cli": "npm:6.3.1"
"@graphql-codegen/introspection": "npm:5.0.2"