Compare commits

..
Author SHA1 Message Date
Wojciech Kozyra 850070b98f increase memory limits 2021-10-08 11:57:58 +02:00
25 changed files with 167 additions and 238 deletions

No files matched your search

+1
View File
@@ -307,6 +307,7 @@ workflows:
tests:
jobs:
- unit_tests
- android_smoke_tests
deploy:
jobs:
- android_staging_approve_deploy:
+2 -82
View File
@@ -7,88 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## Unreleased
- 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
- Update ios sdk 44 shell tarball with [orientation lock fix](https://github.com/expo/expo/pull/15715)
# [0.24.2] - 2021-12-16
- Update Android shell tarball for SDK 44.
# [0.24.1] - 2021-12-15
- Update iOS and Android tarballs for SDK 44 RC. [#369](https://github.com/expo/turtle/pull/369).
# [0.24.0] - 2021-12-10
- Update iOS and Android tarballs for SDK 44 beta.
- Add detection for Expo modules using `expo-module.config.json`, the successor to `unimodule.json`. [#368](https://github.com/expo/turtle/pull/368).
- Redirect google bintray url to localhost. [#361](https://github.com/expo/turtle/pull/361)
# [0.23.6] - 2021-12-08
- Update android shell tarballs for bintray error fix. [#363](https://github.com/expo/turtle/pull/363)
- Update AWS SDK. [#365](https://github.com/expo/turtle/pull/365)
# [0.23.5] - 2021-11-12
- Update iOS SDK 43 tarball with expo-updates fix for [#14967](https://github.com/expo/expo/issues/14967)
# [0.23.4] - 2021-11-09
- Update Android SDK 43 tarball with expo-updates fix for [#15112](https://github.com/expo/expo/issues/15112)
# [0.23.3] - 2021-11-04
- Update iOS and Android SDK 43 tarballs with expo-updates fixes for [#14930](https://github.com/expo/expo/issues/14930)
# [0.23.2] - 2021-10-29
- Update Android SDK 43 shell app with proguard fix
# [0.23.1] - 2021-10-20
- Add iOS and Android tarballs for SDK 43
# [0.23.0] - 2021-10-07
- Add iOS and Android beta tarballs for SDK 43
- Add Android beta tarball for SDK 43
- Add iOS beta tarball for SDK 43
- Bump xdl to fix Android shell app for SDK 43
# [0.22.6] - 2021-10-01
+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.8.0
FROM gcr.io/exponentjs/turtle-android-base:0.5.0
ADD . /app/turtle
+11 -7
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:11.0.14.1-jdk
FROM openjdk:8u141
ENV DEBIAN_FRONTEND noninteractive
@@ -18,6 +18,7 @@ RUN dpkg --add-architecture i386 && \
bzip2:i386\
file\
jq\
lib32ncurses5\
lib32z1\
libc6:i386\
libncurses5:i386\
@@ -31,7 +32,7 @@ RUN dpkg --add-architecture i386 && \
apt-get clean
ENV NPM_CONFIG_LOGLEVEL warn
ENV NODE_VERSION 14.17.3
ENV NODE_VERSION 12.16.1
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 \
@@ -40,11 +41,14 @@ 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
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 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
ENV PATH ${ANDROID_HOME}/platform-tools:${PATH}
ENV PATH ${ANDROID_HOME}/tools:${PATH}
+11 -5
View File
@@ -64,7 +64,10 @@ spec:
name: turtle-js-config
key: aws_secret_access_key
- name: AWS_SQS_REGION
value: us-west-2
valueFrom:
secretKeyRef:
name: turtle-js-config
key: aws_sqs_region
- name: AWS_SQS_IOS_QUEUE_URL
valueFrom:
secretKeyRef:
@@ -141,12 +144,15 @@ spec:
- name: DISABLE_DEX_MAX_HEAP
value: "true"
- name: JAVA_OPTS
value: '-Xms2048m -Xmx17g -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC'
value: '-Xms2048m -Xmx13g -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC'
- name: GRADLE_OPTS
value: '-Dorg.gradle.parallel=true -Dorg.gradle.configureondemand=true -Dorg.gradle.daemon=false -Dorg.gradle.jvmargs="-Xms2048m -Xmx17g -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC"'
value: '-Dorg.gradle.parallel=true -Dorg.gradle.configureondemand=true -Dorg.gradle.daemon=false -Dorg.gradle.jvmargs="-Xms2048m -Xmx13g -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC"'
- name: REDIS_CA_CERTIFICATE
value: '/var/run/config/redislabs-tls/redislabs_ca.pem'
resources:
requests:
memory: "17Gi" # 17.8 GiB is max value reachable on current nodes
cpu: "5000m"
memory: "12Gi"
cpu: "3000m"
limits:
memory: "13Gi"
cpu: "3500m"
+4 -4
View File
@@ -1,6 +1,6 @@
{
"name": "turtle-cli",
"version": "0.28.0",
"version": "0.23.0",
"description": "The command-line tool for building standalone Expo apps",
"preferGlobal": true,
"scripts": {
@@ -107,10 +107,10 @@
"dependencies": {
"@expo/config": "~3.3.9",
"@expo/spawn-async": "^1.4.2",
"@expo/xdl": "^59.2.1",
"@expo/xdl": "59.1.7",
"@google-cloud/logging-bunyan": "^2.0.3",
"async-retry": "^1.2.1",
"aws-sdk": "^2.1043.0",
"aws-sdk": "^2.226.1",
"bunyan": "^1.8.12",
"bunyan-debug-stream": "^1.0.8",
"bunyan-sentry-stream": "^1.2.1",
@@ -139,7 +139,7 @@
"@expo/traveling-fastlane-darwin": "1.11.4"
},
"volta": {
"node": "14.17.3",
"node": "12.16.1",
"yarn": "1.22.0"
}
}
+1 -1
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
SDKMANAGER=$ANDROID_HOME/cmdline-tools/tools/bin/sdkmanager
SDKMANAGER=$ANDROID_HOME/tools/bin/sdkmanager
yes | $SDKMANAGER --licenses > /dev/null
if [[ "$1" = "--install-all-platforms" ]]; then
+1 -1
View File
@@ -1 +1 @@
s3://exp-artifacts/android-shell-builder-da0e85b79332cb8e93178aefcd90f7450e6e923e.tar.gz
s3://exp-artifacts/android-shell-builder-b111c38c47a05d1c340c69e8744fe0832b05634b.tar.gz
+1 -1
View File
@@ -1 +1 @@
s3://exp-artifacts/android-shell-builder-a7bb029adbc5636ac738759d70d80cc0f90dd757.tar.gz
s3://exp-artifacts/android-shell-builder-ee6c4df8486ae4995e50e4d398ba0ef41a097cfe.tar.gz
+1 -1
View File
@@ -1 +1 @@
s3://exp-artifacts/android-shell-builder-8725597cdf885f3d34cbbd7f74c6d1e0b9c31c93.tar.gz
s3://exp-artifacts/android-shell-builder-52041fd6957e7f34d0d0b96e3790570f95de4bd7.tar.gz
+1 -1
View File
@@ -1 +1 @@
s3://exp-artifacts/android-shell-builder-ce29c240698118d7ad38b2abd3335c9f08e0d8c1.tar.gz
s3://exp-artifacts/android-shell-builder-f81705bedfb3436b9aeb026f138f7a70f7be6137.tar.gz
-1
View File
@@ -1 +0,0 @@
s3://exp-artifacts/android-shell-builder-80bc319bd1b2ea05fa635da3f14b8198d64228bb.tar.gz
-1
View File
@@ -1 +0,0 @@
s3://exp-artifacts/android-shell-builder-1b51cef33593153cc126980ca8e8022d3d3dd8b3.tar.gz
-1
View File
@@ -1 +0,0 @@
s3://exp-artifacts/android-shell-builder-ded1b321cb721e8095338cfc48e2a481ede9f4d7.tar.gz
+1 -1
View File
@@ -1 +1 @@
s3://exp-artifacts/ios-shell-builder-sdk-latest-f415d27a3f8ef9c8116691bef42ba540c62c136e.tar.gz
s3://exp-artifacts/ios-shell-builder-sdk-latest-f1812e55b13455b1a1e40dd9133174eda8a09edd.tar.gz
-1
View File
@@ -1 +0,0 @@
s3://exp-artifacts/ios-shell-builder-sdk-latest-9f970714684090223891bc26e3a1350f427f4dbd.tar.gz
-1
View File
@@ -1 +0,0 @@
s3://exp-artifacts/ios-shell-builder-sdk-latest-a88e6cb7e615bd24d4a74687556021c1305dd443.tar.gz
-1
View File
@@ -1 +0,0 @@
s3://exp-artifacts/ios-shell-builder-sdk-latest-a4427639d03c7c8b364dc24bad853c09c1e4b596.tar.gz
+3 -3
View File
@@ -83,7 +83,7 @@
],
"description": "A very interesting project.",
"icon": "./assets/images/icon.png",
"iconUrl": "https://classic-assets.eascdn.net/~assets/fa6577fecc0a7838f15a254577639984",
"iconUrl": "https://d1wp6m56sqw74a.cloudfront.net/~assets/fa6577fecc0a7838f15a254577639984",
"ios": {
"bundleIdentifier": "com.niech.to.zadziala",
"supportsTablet": true
@@ -101,7 +101,7 @@
"splash": {
"backgroundColor": "#ffffff",
"image": "./assets/images/splash.png",
"imageUrl": "https://classic-assets.eascdn.net/~assets/43ec0dcbe5a156bf9e650bb8c15e7af6",
"imageUrl": "https://d1wp6m56sqw74a.cloudfront.net/~assets/43ec0dcbe5a156bf9e650bb8c15e7af6",
"resizeMode": "contain"
},
"updates": {
@@ -112,7 +112,7 @@
"revisionId": "1.0.0-r.zV1W89wn23",
"publishedTime": "2018-10-16T08:44:05.362Z",
"commitTime": "2018-10-16T08:44:05.403Z",
"bundleUrl": "https://classic-assets.eascdn.net/%40admin%2FtestApp%2F1.0.0%2Fb8678e2be7cd5bb9e240db0dd3c691c0-29.0.0-ios.js",
"bundleUrl": "https://d1wp6m56sqw74a.cloudfront.net/%40admin%2FtestApp%2F1.0.0%2Fb8678e2be7cd5bb9e240db0dd3c691c0-29.0.0-ios.js",
"releaseChannel": "default",
"hostUri": "exp.host/@admin/testApp"
},
+16 -2
View File
@@ -14,6 +14,7 @@ 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',
@@ -22,9 +23,9 @@ const REQUIRED_TOOLS: IToolDefinition[] = [
{
command: 'javac',
missingDescription:
`Please install JDK 11 - keep in mind that other versions might not be supported by Android`,
`Please install JDK 8 - keep in mind that other versions are not supported by Android`,
testFn: async () => {
const { status, stdout } = await ExponentTools.spawnAsyncThrowError(
const { status, stdout, stderr } = await ExponentTools.spawnAsyncThrowError(
'java',
['-version'],
{ stdio: 'pipe' },
@@ -32,6 +33,19 @@ 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;
},
},
+5 -7
View File
@@ -10,15 +10,14 @@ 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/commandlinetools-linux-7583922_latest.zip';
const ANDROID_SDK_URL = 'https://dl.google.com/android/repository/sdk-tools-linux-4333796.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');
const readyFileName = '.ready-v2';
await utils.removeDirectoryUnlessReady(androidSdkDir, { readyFileName });
await utils.removeDirectoryUnlessReady(androidSdkDir);
if (!(await fs.pathExists(androidSdkDir))) {
await fs.ensureDir(androidSdkDir);
const androidSdkDownloadPath = utils.formatArtifactDownloadPath(ANDROID_SDK_URL);
@@ -27,14 +26,13 @@ export default async function ensureAndroidSDKIsPresent() {
l.info('Downloading Android SDK');
await fs.ensureDir(config.directories.artifactsDir);
await download(ANDROID_SDK_URL, androidSdkDownloadPath);
const cmdlineToolsDir = path.join(androidSdkDir, 'cmdline-tools/tools');
await fs.ensureDir(cmdlineToolsDir);
await fs.ensureDir(androidSdkDir);
l.info('Decompressing Android SDK');
await decompress(androidSdkDownloadPath, cmdlineToolsDir, { strip: 1 });
await decompress(androidSdkDownloadPath, androidSdkDir);
await fs.remove(androidSdkDownloadPath);
l.info('Configuring Android SDK, this may take a while');
await _configureSdk(androidSdkDir);
await utils.markDirectoryAsReady(androidSdkDir, { readyFileName });
await utils.markDirectoryAsReady(androidSdkDir);
l.info('Android SDK installed and configured successfully');
} catch (err) {
await fs.remove(androidSdkDir);
+8 -14
View File
@@ -17,7 +17,7 @@ interface IShellAppFormaters {
formatShellAppTarballUriPath: (sdkMajorVersion: string) => string;
}
type PostDownloadAction = (sdkVersion: string, workingdir: string) => Promise<void>;
type PostDownloadAction = (sdkVersion: string, workingdir: string) => 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, { metadata: shellAppMetadata });
await removeDirectoryUnlessReady(workingdir, shellAppMetadata);
if (await fs.pathExists(workingdir)) {
return;
}
@@ -39,7 +39,7 @@ export async function ensureShellAppIsPresent(
if (postDownloadAction) {
await postDownloadAction(sdkVersion, workingdir);
}
await markDirectoryAsReady(workingdir, { metadata: shellAppMetadata });
await markDirectoryAsReady(workingdir, shellAppMetadata);
}
async function _downloadShellApp(sdkVersion: string, targetDirectory: string, formatters: IShellAppFormaters) {
@@ -69,11 +69,8 @@ async function _readShellAppTarballS3Uri(sdkVersion: string, formatters: IShellA
return data.trim();
}
export async function removeDirectoryUnlessReady(
dir: string,
{ metadata, readyFileName }: { metadata?: string, readyFileName?: string },
) {
const readyFilePath = path.join(dir, readyFileName ?? '.ready');
export async function removeDirectoryUnlessReady(dir: string, metadata?: string) {
const readyFilePath = path.join(dir, '.ready');
const readyFileExists = await fs.pathExists(readyFilePath);
let shouldRemove = false;
if (readyFileExists) {
@@ -81,7 +78,7 @@ export async function removeDirectoryUnlessReady(
const readyFileContents = (await fs.readFile(readyFilePath, 'utf-8')).trim();
if (readyFileContents !== metadata) {
shouldRemove = true;
}
}
}
} else {
shouldRemove = true;
@@ -91,11 +88,8 @@ export async function removeDirectoryUnlessReady(
}
}
export async function markDirectoryAsReady(
dir: string,
{ metadata, readyFileName }: { metadata?: string, readyFileName?: string },
) {
const readyFilePath = path.join(dir, readyFileName ?? '.ready');
export async function markDirectoryAsReady(dir: string, metadata?: string) {
const readyFilePath = path.join(dir, '.ready');
if (metadata === undefined) {
await fs.open(readyFilePath, 'w');
} else {
-8
View File
@@ -17,15 +17,7 @@ import config from 'turtle/config';
import { IAndroidCredentials, IJob, IJobResult } from 'turtle/job';
import logger from 'turtle/logger';
// temporary solution until we can rebuild shellapps
const blockGoogleBintrayAsync = _.once(async () => {
if (config.builder.mode === 'online') {
await fs.appendFile('/etc/hosts', '\n127.0.0.1\tdl.bintray.com\n127.0.0.1\tgoogle.bintray.com\n');
}
});
export default async function buildAndroid(jobData: IJob): Promise<IJobResult> {
await blockGoogleBintrayAsync();
await ensureCanBuildSdkVersion(jobData);
const credentials = await getOrCreateCredentials(jobData);
const outputFilePath = await runShellAppBuilder(jobData, credentials);
+1 -3
View File
@@ -209,9 +209,7 @@ async function getPackage(
const pkgPath = path.join(workingdir, 'packages', pkgName);
const isAndroid = await fs.pathExists(path.join(pkgPath, 'android'));
const isIos = await fs.pathExists(path.join(pkgPath, 'ios'));
const isUnimodule =
(await fs.pathExists(path.join(pkgPath, 'unimodule.json'))) ||
(await fs.pathExists(path.join(pkgPath, 'expo-module.config.json')));
const isUnimodule = await fs.pathExists(path.join(pkgPath, 'unimodule.json'));
const hasPackageJson = await fs.pathExists(
path.join(pkgPath, 'package.json'),
);
+98 -90
View File
@@ -2866,10 +2866,10 @@
workbox-webpack-plugin "^3.6.3"
worker-loader "^2.0.0"
"@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==
"@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==
dependencies:
"@expo/bunyan" "4.0.0"
"@expo/config" "3.3.30"
@@ -5309,14 +5309,14 @@ available-typed-arrays@^1.0.0, available-typed-arrays@^1.0.2:
dependencies:
array-filter "^1.0.0"
aws-sdk@^2.1043.0:
version "2.1043.0"
resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1043.0.tgz#170a5b14b3ea25df760f9a6b437bfe35c9a1578e"
integrity sha512-WysMTSLfi8ZCj6QAAitJkxObxOzGLhcu6FxoKHiEnrefvfQtSvwqUq7BbT/pIfijnF9dE/7e9XwjW8Dz/hqF4Q==
aws-sdk@^2.226.1:
version "2.407.0"
resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.407.0.tgz#667d7f847e7f9b34cf57fa5e7c70e5f12637f72b"
integrity sha512-mZlQBIwdtaf7RbyYemV0FNfwjGkigjSTZ3JgPm1jpCnxoGFiL6mm0Zm+JBlgkyknD1yzzi6j7jz/ja1k4B2bwg==
dependencies:
buffer "4.9.2"
buffer "4.9.1"
events "1.1.1"
ieee754 "1.1.13"
ieee754 "1.1.8"
jmespath "0.15.0"
querystring "0.2.0"
sax "1.2.1"
@@ -5518,7 +5518,17 @@ 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.2.3, base64-js@^1.3.0, base64-js@^1.3.1, base64-js@^1.5.1:
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:
version "1.5.1"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
@@ -5919,16 +5929,7 @@ buffer-xor@^1.0.3:
resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=
[email protected].2:
version "4.9.2"
resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8"
integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==
dependencies:
base64-js "^1.0.2"
ieee754 "^1.1.4"
isarray "^1.0.0"
buffer@^4.3.0:
[email protected].1, buffer@^4.3.0:
version "4.9.1"
resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=
@@ -8694,10 +8695,15 @@ fn-name@~2.0.1:
resolved "https://registry.yarnpkg.com/fn-name/-/fn-name-2.0.1.tgz#5214d7537a4d06a4a301c0cc262feb84188002e7"
integrity sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=
follow-redirects@^1.0.0, follow-redirects@^1.10.0:
version "1.14.8"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.8.tgz#016996fb9a11a100566398b1c6839337d7bfa8fc"
integrity sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==
follow-redirects@^1.0.0:
version "1.13.0"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.0.tgz#b42e8d93a2a7eea5ed88633676d6597bc8e384db"
integrity sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==
follow-redirects@^1.10.0:
version "1.13.3"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.3.tgz#e5598ad50174c1bc4e872301e82ac2cd97f90267"
integrity sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA==
for-in@^1.0.2:
version "1.0.2"
@@ -9745,10 +9751,10 @@ icss-utils@^4.0.0, icss-utils@^4.1.1:
dependencies:
postcss "^7.0.14"
[email protected].13:
version "1.1.13"
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==
[email protected].8:
version "1.1.8"
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
integrity sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=
ieee754@^1.1.13:
version "1.2.1"
@@ -12147,10 +12153,15 @@ minimalistic-crypto-utils@^1.0.1:
dependencies:
brace-expansion "^1.1.7"
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==
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==
minipass-collect@^1.0.2:
version "1.0.2"
@@ -12447,11 +12458,9 @@ node-addon-api@^3.2.0:
integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==
node-fetch@^2.2.0, node-fetch@^2.3.0, node-fetch@^2.6.0:
version "2.6.7"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad"
integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==
dependencies:
whatwg-url "^5.0.0"
version "2.6.1"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
[email protected], node-forge@^0.10.0:
version "0.10.0"
@@ -13314,9 +13323,9 @@ path-type@^4.0.0:
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
pathval@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d"
integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==
version "1.1.0"
resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0"
integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA=
pbkdf2@^3.0.3:
version "3.0.17"
@@ -13344,11 +13353,6 @@ phin@^2.9.1:
resolved "https://registry.yarnpkg.com/phin/-/phin-2.9.3.tgz#f9b6ac10a035636fb65dfc576aaaa17b8743125c"
integrity sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==
picocolors@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f"
integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==
picomatch@^2.0.4, picomatch@^2.0.7:
version "2.2.1"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.1.tgz#21bac888b6ed8601f831ce7816e335bc779f0a4a"
@@ -13429,12 +13433,13 @@ please-upgrade-node@^3.0.2, please-upgrade-node@^3.1.1:
semver-compare "^1.0.0"
plist@^3.0.1:
version "3.0.4"
resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.4.tgz#a62df837e3aed2bb3b735899d510c4f186019cbe"
integrity sha512-ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg==
version "3.0.1"
resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.1.tgz#a9b931d17c304e8912ef0ba3bdd6182baf2e1f8c"
integrity sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==
dependencies:
base64-js "^1.5.1"
base64-js "^1.2.3"
xmlbuilder "^9.0.7"
xmldom "0.1.x"
pngjs@^3.0.0, pngjs@^3.3.0, pngjs@^3.3.3:
version "3.4.0"
@@ -13792,13 +13797,23 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0:
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb"
integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==
postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.26, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6:
version "7.0.39"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309"
integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==
postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.5, postcss@^7.0.6:
version "7.0.14"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.14.tgz#4527ed6b1ca0d82c53ce5ec1a2041c2346bbd6e5"
integrity sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==
dependencies:
picocolors "^0.2.1"
chalk "^2.4.2"
source-map "^0.6.1"
supports-color "^6.1.0"
postcss@^7.0.16, postcss@^7.0.26, postcss@^7.0.32:
version "7.0.32"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d"
integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==
dependencies:
chalk "^2.4.2"
source-map "^0.6.1"
supports-color "^6.1.0"
prebuild-install@^6.1.2:
version "6.1.3"
@@ -15318,14 +15333,23 @@ signal-exit@^3.0.0, signal-exit@^3.0.2:
integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
simple-concat@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f"
integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==
version "1.0.0"
resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.0.tgz#7344cbb8b6e26fb27d66b2fc86f9f6d5997521c6"
integrity sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=
simple-get@^3.0.3, simple-get@^3.1.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.1.tgz#cc7ba77cfbe761036fbfce3d021af25fc5584d55"
integrity sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==
simple-get@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.0.3.tgz#924528ac3f9d7718ce5e9ec1b1a69c0be4d62efa"
integrity sha512-Wvre/Jq5vgoz31Z9stYWPLn0PqRqmBDpFSdypAnHu5AvRVCYPRYGnvryNLiXu8GOBNDH82J2FRHUGMjjHUpXFw==
dependencies:
decompress-response "^3.3.0"
once "^1.3.1"
simple-concat "^1.0.0"
simple-get@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.0.tgz#b45be062435e50d159540b576202ceec40b9c6b3"
integrity sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==
dependencies:
decompress-response "^4.2.0"
once "^1.3.1"
@@ -16333,9 +16357,9 @@ tmp@^0.0.33:
os-tmpdir "~1.0.2"
[email protected]:
version "1.0.5"
resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc"
integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==
version "1.0.4"
resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1"
integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=
to-arraybuffer@^1.0.0:
version "1.0.1"
@@ -16485,11 +16509,6 @@ tr46@^2.0.2:
dependencies:
punycode "^2.1.1"
tr46@~0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=
traverse@~0.6.6:
version "0.6.6"
resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137"
@@ -16744,9 +16763,11 @@ unc-path-regex@^0.1.0:
integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo=
undefsafe@^2.0.2:
version "2.0.5"
resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.5.tgz#38733b9327bdcd226db889fb723a6efd162e6e2c"
integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==
version "2.0.2"
resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.2.tgz#225f6b9e0337663e0d8e7cfd686fc2836ccace76"
integrity sha1-Il9rngM3Zj4Njnz9aG/Cg2zKznY=
dependencies:
debug "^2.2.0"
unicode-canonical-property-names-ecmascript@^1.0.4:
version "1.0.4"
@@ -16962,9 +16983,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.10"
resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1"
integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==
version "1.5.1"
resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.1.tgz#d5fa9890af8a5e1f274a2c98376510f6425f6e3b"
integrity sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==
dependencies:
querystringify "^2.1.1"
requires-port "^1.0.0"
@@ -17194,11 +17215,6 @@ wcwidth@^1.0.1:
dependencies:
defaults "^1.0.3"
webidl-conversions@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=
webidl-conversions@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff"
@@ -17375,14 +17391,6 @@ whatwg-mimetype@^2.3.0:
resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf"
integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==
whatwg-url@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0=
dependencies:
tr46 "~0.0.3"
webidl-conversions "^3.0.0"
whatwg-url@^8.0.0:
version "8.1.0"
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.1.0.tgz#c628acdcf45b82274ce7281ee31dd3c839791771"
@@ -17804,7 +17812,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=