Compare commits

...
Author SHA1 Message Date
Dominik Sokal 80bc77da57 Update README.md (#421) 2023-04-07 13:02:54 +02:00
Wojciech Kozyra 31d3367d1b Remove automatic example repo update (#417) 2023-01-05 14:26:38 +01:00
Brent Vatne 7b8323948d Update README to indicate that users should migrate to EAS Build 2022-10-25 15:51:46 -07:00
Kudo Chien ace282c1fc Update CHANGELOG 2022-08-22 20:42:24 +08:00
Kudo Chien 4d440c0c2e Release 0.28.1 2022-08-22 20:40:23 +08:00
Kudo Chien b3a6d30ba4 Update Android shell tarball for SDK 46 2022-08-22 18:27:54 +08:00
Brent Vatne f094abe5d1 Update CHANGELOG 2022-08-19 11:26:47 -07:00
Brent Vatne 49c8c77f7c Release 0.28.0 2022-08-19 10:07:51 -07:00
Kudo Chien 1cc7687e66 Add sdk 46 support (#411) 2022-08-19 10:03:55 -07:00
Kudo Chien 2a6eafe236 Update CHANGELOG 2022-07-26 19:54:28 +08:00
Kudo Chien f3fe2e2506 Release 0.27.5 2022-07-26 19:46:39 +08:00
Kudo Chien 98be72a229 Update iOS shell tarballs for SDK 43, 44, 45 2022-07-25 22:57:33 +08:00
Kudo Chien 2ed0456fe5 Update CHANGELOG 2022-06-28 12:31:48 +08:00
Kudo Chien 2ff91c1b2a Release 0.27.4 2022-06-28 12:30:49 +08:00
Kudo Chien b436e86c75 Update Android shell tarball for SDK 45
Fix expo-notifications `useLastNotificationResponse` overwritten issue on Android 12
2022-06-28 08:36:28 +08:00
Kudo Chien c14079626c Update CHANGELOG 2022-06-18 02:24:15 +08:00
Kudo Chien f8f38a1c0d Release 0.27.3 2022-06-18 02:21:20 +08:00
Kudo Chien 45ec180a89 Update Android shell tarball for SDK 45
Fix notification trampoline issues for Android 12+
2022-06-17 19:05:55 +08:00
Brent Vatne a0d9196b7b Update CHANGELOG 2022-06-15 14:09:36 -07:00
Brent Vatne 3acd5cc4b3 Release 0.27.2 2022-06-15 14:08:27 -07:00
Brent Vatne 8a3e12956a Update Android shell tarball for SDK 44, 43 2022-06-15 12:07:58 -07:00
Brent Vatne 7b4c2dccf4 Update CHANGELOG 2022-06-13 14:11:11 -07:00
Brent Vatne 795b4f5137 Release 0.27.1 2022-06-13 14:08:08 -07:00
Brent Vatne 7a627ecd04 Update Android shell tarball for SDK 45 2022-06-13 12:35:03 -07:00
Brent Vatne 2b1a2152bf Update CHANGELOG 2022-05-23 12:59:26 -07:00
Brent Vatne 56c1460858 Release 0.27.0 2022-05-23 12:58:05 -07:00
Kudo Chien 93b88f7b05 Update android sdk 45 tarball to fix build errors (#401) 2022-05-23 22:28:32 +08:00
Wojciech Kozyra 240be8fba3 update to node 14.17.3 (#400) 2022-05-19 12:25:09 +02:00
Brent Vatne 39a1d0f66f Add shell tarballs for SDK 45 2022-05-18 19:07:06 -07:00
dependabot[bot] d93e3d95a9 Bump minimist from 1.2.0 to 1.2.6 (#394)
Bumps [minimist](https://github.com/substack/minimist) from 1.2.0 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.0...1.2.6)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-01 10:51:50 +02:00
Wojciech Kozyra c5e36a6059 Release 0.26.0 2022-03-21 15:42:26 +01:00
Wojciech Kozyra 7cfab9b5fc Update CHANGELOG 2022-03-21 15:30:01 +01:00
dependabot[bot] e69014b19d Bump url-parse from 1.5.7 to 1.5.10 (#390)
Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.5.7 to 1.5.10.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](https://github.com/unshiftio/url-parse/compare/1.5.7...1.5.10)

---
updated-dependencies:
- dependency-name: url-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-21 12:58:03 +01:00
dependabot[bot] 6d9824f6c3 Bump plist from 3.0.1 to 3.0.4 (#391)
Bumps [plist](https://github.com/TooTallNate/node-plist) from 3.0.1 to 3.0.4.
- [Release notes](https://github.com/TooTallNate/node-plist/releases)
- [Changelog](https://github.com/TooTallNate/plist.js/blob/master/History.md)
- [Commits](https://github.com/TooTallNate/node-plist/commits)

---
updated-dependencies:
- dependency-name: plist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-21 12:53:42 +01:00
Wojciech Kozyra cf9626e998 Switch to JDK 11 (#389)
* switch to jdk 11

* review feedback
2022-03-21 12:46:05 +01:00
Wojciech Kozyra f29ff83ade Update CHANGELOG 2022-03-11 13:40:16 +01:00
Wojciech Kozyra 6f9c9fc95a Release 0.25.0 2022-03-11 13:33:17 +01:00
Wojciech Kozyra 4ea23f6433 Update @expo/xdl (disable bitcode) 2022-03-10 18:49:22 +01:00
20 changed files with 103 additions and 150 deletions

No files matched your search

-1
View File
@@ -13,6 +13,5 @@
"before:init": [
"yarn"
],
"after:release": "yarn release:update:turtle-cli-example"
}
}
+40
View File
@@ -7,7 +7,47 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## Unreleased
# [0.28.1] - 2022-08-22
- Update Android shell tarball for SDK 46 to remove deprecated *expo-analytics-segment* dependency.
# [0.28.0] - 2022-08-19
- Add iOS and Android shell tarballs for SDK 46.
# [0.27.5] - 2022-07-26
- Update iOS shell tarball for SDK 43, 44, 45 for [expo-notifications crash fix](https://github.com/expo/expo/pull/18023).
# [0.27.4] - 2022-06-28
- Update Android shell tarball for SDK 45.
# [0.27.3] - 2022-06-18
- Update Android SDK 45 shell tarball to fix the notification trampoline issues for Android 12+.
# [0.27.2] - 2022-06-15
- Update Android shell tarballs for SDK 44 and 43.
# [0.27.1] - 2022-06-13
- Update Android shell tarball for SDK 45.
# [0.27.0] - 2022-05-23
- Add iOS and Android shell tarballs for SDK 45.
# [0.26.0] - 2022-03-21
- Remove JDK 8 validation. [#389](https://github.com/expo/turtle/pull/389)
- Update android toolchain. [#389](https://github.com/expo/turtle/pull/389)
# [0.25.0] - 2022-03-11
- Swap out Cloudfront CDN for `classic-assets.eascdn.net`. [#375](https://github.com/expo/turtle/pull/375)
- Disable bitcode for iOS builds.
# [0.24.3] - 2021-12-29
+1 -1
View File
@@ -1,5 +1,5 @@
# see docker-base/Dockerfile to learn what's installed in the turtle-android-base image
FROM gcr.io/exponentjs/turtle-android-base:0.6.0
FROM gcr.io/exponentjs/turtle-android-base:0.8.0
ADD . /app/turtle
+3 -43
View File
@@ -1,43 +1,3 @@
<h3 align=center>
<img src="logo/horizontal.png" width=50%>
</h3>
[![CircleCI](https://img.shields.io/circleci/project/github/expo/turtle/master.svg)](https://circleci.com/gh/expo/turtle)
[![NPM](https://img.shields.io/npm/v/turtle-cli/latest.svg)](https://npmjs.com/package/turtle-cli)
[![License](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/expo/turtle/blob/master/LICENSE)
[![Expo Developers Discord](https://img.shields.io/discord/695411232856997968)](http://chat.expo.dev)
[![Expo Forums](https://img.shields.io/badge/Expo%20Forums-blue.svg)](https://forums.expo.dev/)
<hr />
Turtle CLI is a command line interface for building Expo standalone apps.
You can use it both on your CI and your private computer.
- [Changelog](CHANGELOG.md)
- [Contributing](CONTRIBUTING.md)
- [Development](DEVELOPMENT.md)
- [Code of Conduct](CODE_OF_CONDUCT.md)
## Installation
[Installation instructions and documentation here.](https://docs.expo.dev/distribution/turtle-cli/)
## Usage example
See the [expo/turtle-cli-example](https://github.com/expo/turtle-cli-example) repository to learn how to use Turtle CLI in order to build Expo standalone apps on your CI.
## Do you need help?
- Make sure you've read [the Expo Docs](https://docs.expo.dev/), especially [Building Standalone Apps on Your CI
](https://docs.expo.dev/versions/latest/distribution/turtle-cli) and [Building Standalone Apps](https://docs.expo.dev/versions/latest/distribution/building-standalone-apps) guides.
- Search for existing GitHub issues [in this repository](https://github.com/expo/turtle/issues) and in [expo/expo](https://github.com/expo/expo/issues) repository.
- Ask for help in **one** of the following ways:
- create [a GitHub issue](https://github.com/expo/turtle/issues/new).
- create a new topic on the [Expo Forums](https://forums.expo.dev/).
- connect with the community on the [Expo Developers Discord](http://chat.expo.dev).
## License
The Turtle CLI source code is made available under the [MIT license](LICENSE).
Some of the dependencies are licensed differently, with the BSD license, for example.
> 🚨 This repository contains the legacy build service (Turtle), as well as its local version - Turtle CLI. The service has been shut down at the beginning of 2023.
>
> Learn how to migrate to EAS Build - https://docs.expo.dev/build-reference/migrating/
+7 -11
View File
@@ -1,6 +1,6 @@
# If you ever need to rebuild this, run:
# yarn docker:build-and-push:android-base-image NEW_IMAGE_SEMVER
FROM openjdk:8u141
FROM openjdk:11.0.14.1-jdk
ENV DEBIAN_FRONTEND noninteractive
@@ -18,7 +18,6 @@ RUN dpkg --add-architecture i386 && \
bzip2:i386\
file\
jq\
lib32ncurses5\
lib32z1\
libc6:i386\
libncurses5:i386\
@@ -32,7 +31,7 @@ RUN dpkg --add-architecture i386 && \
apt-get clean
ENV NPM_CONFIG_LOGLEVEL warn
ENV NODE_VERSION 12.22.7
ENV NODE_VERSION 14.17.3
RUN curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.xz" \
&& tar -xJf "node-v$NODE_VERSION-linux-x64.tar.xz" -C /usr/local --strip-components=1 \
@@ -41,14 +40,11 @@ RUN curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-
# Download and untar SDK
ENV ANDROID_HOME /usr/local/android-sdk-linux
ENV ANDROID_SDK /usr/local/android-sdk-linux
ENV ANDROID_SDK_URL https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip
RUN mkdir -p ${ANDROID_HOME} && \
curl -L "${ANDROID_SDK_URL}" > ${ANDROID_HOME}/sdk.zip && \
cd ${ANDROID_HOME} && \
unzip -qq sdk.zip && \
rm sdk.zip && \
mkdir -p ${HOME}/.android && \
touch ${HOME}/.android/repositories.cfg
RUN curl -s https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip > /tmp/tools.zip && \
mkdir -p $ANDROID_HOME/cmdline-tools && \
unzip -q -d $ANDROID_HOME/cmdline-tools /tmp/tools.zip && \
mv $ANDROID_HOME/cmdline-tools/cmdline-tools $ANDROID_HOME/cmdline-tools/tools && \
rm /tmp/tools.zip
ENV PATH ${ANDROID_HOME}/platform-tools:${PATH}
ENV PATH ${ANDROID_HOME}/tools:${PATH}
+3 -4
View File
@@ -1,6 +1,6 @@
{
"name": "turtle-cli",
"version": "0.24.3",
"version": "0.28.1",
"description": "The command-line tool for building standalone Expo apps",
"preferGlobal": true,
"scripts": {
@@ -27,7 +27,6 @@
"test:smoke:ios:record": "PLATFORM=ios EXPENV_OVERRIDES=local-common,local,local-queue expenv yarn test:smoke --testNamePattern=iOS",
"release": "./scripts/release.sh",
"release:beta": "./scripts/releaseBeta.sh",
"release:update:turtle-cli-example": "./scripts/updateTurtleCliExampleRepo.sh",
"docker:build-and-push:android-base-image": "./scripts/android/buildAndPushAndroidBaseImage.sh"
},
"husky": {
@@ -107,7 +106,7 @@
"dependencies": {
"@expo/config": "~3.3.9",
"@expo/spawn-async": "^1.4.2",
"@expo/xdl": "59.1.7",
"@expo/xdl": "^59.2.1",
"@google-cloud/logging-bunyan": "^2.0.3",
"async-retry": "^1.2.1",
"aws-sdk": "^2.1043.0",
@@ -139,7 +138,7 @@
"@expo/traveling-fastlane-darwin": "1.11.4"
},
"volta": {
"node": "12.22.7",
"node": "14.17.3",
"yarn": "1.22.0"
}
}
+1 -1
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
SDKMANAGER=$ANDROID_HOME/tools/bin/sdkmanager
SDKMANAGER=$ANDROID_HOME/cmdline-tools/tools/bin/sdkmanager
yes | $SDKMANAGER --licenses > /dev/null
if [[ "$1" = "--install-all-platforms" ]]; then
-23
View File
@@ -1,23 +0,0 @@
#!/usr/bin/env bash
set -eo pipefail
if ! command -v jq &> /dev/null
then
echo "jq is not installed and is required by the release script. Install it through homebrew or your package manager of choice."
exit
fi
DEPLOY_ENDPOINT_URL="https://circleci.com/api/v1.1/project/github/expo/turtle-cli-example/tree/updates-do-not-remove-me"
curl -X POST \
--header "Content-Type: application/json" \
-u $CIRCLE_API_USER_TOKEN: \
-d '
{
"build_parameters": {
"CIRCLE_JOB": "update",
"TURTLE_TAG": "latest"
}
}' \
$DEPLOY_ENDPOINT_URL 2>/dev/null | jq -r .build_url
+1 -1
View File
@@ -1 +1 @@
s3://exp-artifacts/android-shell-builder-fe8aed82dd482644ed51d0dc45ae82c4c40a55c1.tar.gz
s3://exp-artifacts/android-shell-builder-ce29c240698118d7ad38b2abd3335c9f08e0d8c1.tar.gz
+1 -1
View File
@@ -1 +1 @@
s3://exp-artifacts/android-shell-builder-6c4b7564ec3fe33100e80f5c9da065a678499b17.tar.gz
s3://exp-artifacts/android-shell-builder-80bc319bd1b2ea05fa635da3f14b8198d64228bb.tar.gz
+1
View File
@@ -0,0 +1 @@
s3://exp-artifacts/android-shell-builder-1b51cef33593153cc126980ca8e8022d3d3dd8b3.tar.gz
+1
View File
@@ -0,0 +1 @@
s3://exp-artifacts/android-shell-builder-a8a51f044a513353ec1c39059cfab38aa66a9aa5.tar.gz
+1 -1
View File
@@ -1 +1 @@
s3://exp-artifacts/ios-shell-builder-sdk-latest-2726b3298180818910646966bd82b7efc8936b5a.tar.gz
s3://exp-artifacts/ios-shell-builder-sdk-latest-f415d27a3f8ef9c8116691bef42ba540c62c136e.tar.gz
+1 -1
View File
@@ -1 +1 @@
s3://exp-artifacts/ios-shell-builder-sdk-latest-088e13d4a4a77f952256bf2c361cbd3c20160821.tar.gz
s3://exp-artifacts/ios-shell-builder-sdk-latest-9f970714684090223891bc26e3a1350f427f4dbd.tar.gz
+1
View File
@@ -0,0 +1 @@
s3://exp-artifacts/ios-shell-builder-sdk-latest-a88e6cb7e615bd24d4a74687556021c1305dd443.tar.gz
+1
View File
@@ -0,0 +1 @@
s3://exp-artifacts/ios-shell-builder-sdk-latest-a4427639d03c7c8b364dc24bad853c09c1e4b596.tar.gz
+2 -16
View File
@@ -14,7 +14,6 @@ import { PLATFORMS } from 'turtle/constants';
import logger from 'turtle/logger';
const which = util.promisify(_which);
const JAVA_REQUIRED_VERSION = 8;
const REQUIRED_TOOLS: IToolDefinition[] = [
{
command: 'bash',
@@ -23,9 +22,9 @@ const REQUIRED_TOOLS: IToolDefinition[] = [
{
command: 'javac',
missingDescription:
`Please install JDK 8 - keep in mind that other versions are not supported by Android`,
`Please install JDK 11 - keep in mind that other versions might not be supported by Android`,
testFn: async () => {
const { status, stdout, stderr } = await ExponentTools.spawnAsyncThrowError(
const { status, stdout } = await ExponentTools.spawnAsyncThrowError(
'java',
['-version'],
{ stdio: 'pipe' },
@@ -33,19 +32,6 @@ const REQUIRED_TOOLS: IToolDefinition[] = [
if (stdout.match(/no java runtime present/i)) {
return false;
}
const matchResult = stderr.match(/.*version "(.*)"/);
if (matchResult) {
const [, currentFullJavaVersion] = matchResult;
const javaMajorVersionPosition = currentFullJavaVersion.startsWith('1.') ? 1 : 0;
const javaMajorVersion = Number(currentFullJavaVersion.split('.')[javaMajorVersionPosition]);
if (javaMajorVersion !== JAVA_REQUIRED_VERSION) {
throw new Error(`You're on Java ${currentFullJavaVersion}, please install version ${JAVA_REQUIRED_VERSION}`);
}
} else {
logger.warn(`Couldn't find Java version number, assuming you're on Java ${JAVA_REQUIRED_VERSION}...`);
}
return status === 0;
},
},
+7 -5
View File
@@ -10,14 +10,15 @@ import download from 'turtle/bin/setup/utils/downloader';
import config from 'turtle/config';
import logger from 'turtle/logger';
const ANDROID_SDK_URL = 'https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip';
const ANDROID_SDK_URL = 'https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip';
const LOGGER_FIELDS = { buildPhase: 'setting up environment' };
const l = logger.child(LOGGER_FIELDS);
export default async function ensureAndroidSDKIsPresent() {
const androidSdkDir = path.join(config.directories.androidDependenciesDir, 'sdk');
await utils.removeDirectoryUnlessReady(androidSdkDir);
const readyFileName = '.ready-v2';
await utils.removeDirectoryUnlessReady(androidSdkDir, { readyFileName });
if (!(await fs.pathExists(androidSdkDir))) {
await fs.ensureDir(androidSdkDir);
const androidSdkDownloadPath = utils.formatArtifactDownloadPath(ANDROID_SDK_URL);
@@ -26,13 +27,14 @@ export default async function ensureAndroidSDKIsPresent() {
l.info('Downloading Android SDK');
await fs.ensureDir(config.directories.artifactsDir);
await download(ANDROID_SDK_URL, androidSdkDownloadPath);
await fs.ensureDir(androidSdkDir);
const cmdlineToolsDir = path.join(androidSdkDir, 'cmdline-tools/tools');
await fs.ensureDir(cmdlineToolsDir);
l.info('Decompressing Android SDK');
await decompress(androidSdkDownloadPath, androidSdkDir);
await decompress(androidSdkDownloadPath, cmdlineToolsDir, { strip: 1 });
await fs.remove(androidSdkDownloadPath);
l.info('Configuring Android SDK, this may take a while');
await _configureSdk(androidSdkDir);
await utils.markDirectoryAsReady(androidSdkDir);
await utils.markDirectoryAsReady(androidSdkDir, { readyFileName });
l.info('Android SDK installed and configured successfully');
} catch (err) {
await fs.remove(androidSdkDir);
+14 -8
View File
@@ -17,7 +17,7 @@ interface IShellAppFormaters {
formatShellAppTarballUriPath: (sdkMajorVersion: string) => string;
}
type PostDownloadAction = (sdkVersion: string, workingdir: string) => void;
type PostDownloadAction = (sdkVersion: string, workingdir: string) => Promise<void>;
export async function checkSystem(requiredTools: IToolDefinition[]) {
await ensureToolsAreInstalled(requiredTools);
@@ -30,7 +30,7 @@ export async function ensureShellAppIsPresent(
) {
const workingdir = formatters.formatShellAppDirectory({ sdkVersion });
const shellAppMetadata = await _readShellAppTarballS3Uri(sdkVersion, formatters);
await removeDirectoryUnlessReady(workingdir, shellAppMetadata);
await removeDirectoryUnlessReady(workingdir, { metadata: shellAppMetadata });
if (await fs.pathExists(workingdir)) {
return;
}
@@ -39,7 +39,7 @@ export async function ensureShellAppIsPresent(
if (postDownloadAction) {
await postDownloadAction(sdkVersion, workingdir);
}
await markDirectoryAsReady(workingdir, shellAppMetadata);
await markDirectoryAsReady(workingdir, { metadata: shellAppMetadata });
}
async function _downloadShellApp(sdkVersion: string, targetDirectory: string, formatters: IShellAppFormaters) {
@@ -69,8 +69,11 @@ async function _readShellAppTarballS3Uri(sdkVersion: string, formatters: IShellA
return data.trim();
}
export async function removeDirectoryUnlessReady(dir: string, metadata?: string) {
const readyFilePath = path.join(dir, '.ready');
export async function removeDirectoryUnlessReady(
dir: string,
{ metadata, readyFileName }: { metadata?: string, readyFileName?: string },
) {
const readyFilePath = path.join(dir, readyFileName ?? '.ready');
const readyFileExists = await fs.pathExists(readyFilePath);
let shouldRemove = false;
if (readyFileExists) {
@@ -78,7 +81,7 @@ export async function removeDirectoryUnlessReady(dir: string, metadata?: string)
const readyFileContents = (await fs.readFile(readyFilePath, 'utf-8')).trim();
if (readyFileContents !== metadata) {
shouldRemove = true;
}
}
}
} else {
shouldRemove = true;
@@ -88,8 +91,11 @@ export async function removeDirectoryUnlessReady(dir: string, metadata?: string)
}
}
export async function markDirectoryAsReady(dir: string, metadata?: string) {
const readyFilePath = path.join(dir, '.ready');
export async function markDirectoryAsReady(
dir: string,
{ metadata, readyFileName }: { metadata?: string, readyFileName?: string },
) {
const readyFilePath = path.join(dir, readyFileName ?? '.ready');
if (metadata === undefined) {
await fs.open(readyFilePath, 'w');
} else {
+17 -33
View File
@@ -2866,10 +2866,10 @@
workbox-webpack-plugin "^3.6.3"
worker-loader "^2.0.0"
"@expo/xdl@59.1.7":
version "59.1.7"
resolved "https://registry.yarnpkg.com/@expo/xdl/-/xdl-59.1.7.tgz#b11463b1b72493e9608b5de7492e62cf855198a5"
integrity sha512-tOW95XRegMryP5QVu+UNIMcia1Sp/1Qb7ieMuB7QC4k6K5KkuIADtlbKD/SsrFFz+DBUorj9pZW+Cw+qUd89Vw==
"@expo/xdl@^59.2.1":
version "59.2.1"
resolved "https://registry.yarnpkg.com/@expo/xdl/-/xdl-59.2.1.tgz#af9b29a494a26817d6f096b808343ef6b16eec6a"
integrity sha512-EZmKZc2I3aNpWKw4T+sdmHmPMPdHLnwWJNKUcIjY6yuSVy7fChih0jAKe2Kn0PMy1iO+xRA+NHh5CgN9a7aYFw==
dependencies:
"@expo/bunyan" "4.0.0"
"@expo/config" "3.3.30"
@@ -5518,17 +5518,7 @@ balanced-match@^1.0.0:
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
base64-js@^1.0.2, base64-js@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3"
integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==
base64-js@^1.2.3:
version "1.3.1"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1"
integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==
base64-js@^1.3.1:
base64-js@^1.0.2, base64-js@^1.2.3, base64-js@^1.3.0, base64-js@^1.3.1, base64-js@^1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
@@ -12157,15 +12147,10 @@ minimalistic-crypto-utils@^1.0.1:
dependencies:
brace-expansion "^1.1.7"
minimist@^1.1.1, minimist@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
minimist@^1.2.3, minimist@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5:
version "1.2.6"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
minipass-collect@^1.0.2:
version "1.0.2"
@@ -13444,13 +13429,12 @@ please-upgrade-node@^3.0.2, please-upgrade-node@^3.1.1:
semver-compare "^1.0.0"
plist@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.1.tgz#a9b931d17c304e8912ef0ba3bdd6182baf2e1f8c"
integrity sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==
version "3.0.4"
resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.4.tgz#a62df837e3aed2bb3b735899d510c4f186019cbe"
integrity sha512-ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg==
dependencies:
base64-js "^1.2.3"
base64-js "^1.5.1"
xmlbuilder "^9.0.7"
xmldom "0.1.x"
pngjs@^3.0.0, pngjs@^3.3.0, pngjs@^3.3.3:
version "3.4.0"
@@ -16978,9 +16962,9 @@ url-parse-lax@^3.0.0:
prepend-http "^2.0.0"
url-parse@^1.4.3, url-parse@^1.4.7:
version "1.5.7"
resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.7.tgz#00780f60dbdae90181f51ed85fb24109422c932a"
integrity sha512-HxWkieX+STA38EDk7CE9MEryFeHCKzgagxlGvsdS7WBImq9Mk+PGwiT56w82WI3aicwJA8REp42Cxo98c8FZMA==
version "1.5.10"
resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1"
integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==
dependencies:
querystringify "^2.1.1"
requires-port "^1.0.0"
@@ -17820,7 +17804,7 @@ xmldoc@^1.1.2:
dependencies:
sax "^1.2.1"
[email protected], [email protected]:
[email protected]:
version "0.1.27"
resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9"
integrity sha1-1QH5ezvbQDr4757MIFcxh6rawOk=