Compare commits

..
Author SHA1 Message Date
Dominik Sokal 0cb0864401 automate turtle-cli updates in the turtle-cli-example repo 2019-07-24 10:17:03 +02:00
29 changed files with 1410 additions and 1097 deletions

No files matched your search

+1 -54
View File
@@ -4,60 +4,7 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## Unreleased
## [0.12.2] - 2019-09-27
### Changed
- Updated Android shell app for SDK 35 to fix crash on Android <=7 due to battery module
## [0.12.1] - 2019-09-20
### Changed
- Updated iOS shell apps for SDK 33 and 34 to fix iOS 13 issues with fishhook, notification tokens, and ShareSheet
- Updated iOS shell app for SDK 35 with a minor fix
## [0.12.0] - 2019-09-19
### Added
- Support for SDK 35 iOS and Android builds.
### Removed
- Support for SDK 27-30 iOS and Android builds.
## [0.11.3] - 2019-09-19
### Changed
- Updated SDK34 Android shell app with `expo-branch` fixes.
## [0.11.2] - 2019-08-21
### Added
- Support for GoogleService-Info.plist (>=34.0.0).
## [0.11.1] - 2019-08-08
### Changed
- Updated iOS client shell app with the latest fixes (up to 2.12.3).
## [0.11.0] - 2019-08-07
### Changed
- Enabled back optional modules support, but only for specific unimodules.
- Updated SDK34 Android shell app with the latest fixes (up to 2.12.2).
- Updated SDK34 iOS shell app with the latest fixes (up to 2.12.3).
## [0.10.0] - 2019-08-01
### Changed
- Fully disabled optional modules on Android for now.
- Updated iOS shell apps for SDK 33 and 34 to fix scoped permissions issue.
- Updated Android shell app for SDK 34 to work after disabling optional modules.
## [0.9.1] - 2019-07-29
### Changed
- `release-it` version to `12.3.4`.
## [0.9.0] - 2019-07-29
### Added
- Android, iOS standalone shell apps and iOS Expo client shell app for SDK34.
- Xcode license check for iOS builds.
### Fixed
- Setting `Constants.nativeAppVersion` for Android standalone builds (actually fixed in [expo/expo-cli#878](https://github.com/expo/expo-cli/pull/878)).
- Passing `expo.android.config` object from `app.json` to the Android builder.
- Fixed crash on launch for iOS standalone apps on iOS 13 (all SDK versions).
- Fixed occasional issue on iOS (SDK 33) where the JS bundle cannot be found ("No cache exists for this resource: shell-app.bundle") and a reload would be required.
## [Unreleased]
## [0.8.11] - 2019-07-16
### Fixed
+2 -1
View File
@@ -27,4 +27,5 @@ To submit a pull request:
- Make sure you have set `GITHUB_TOKEN` and `CIRCLE_API_USER_TOKEN` environment variables in `.envrc.local` file. If you don't have the file, run `cp .envrc.local.example .envrc.local` and edit the file.
- To release a new version of `turtle-cli`, run `yarn release` command.
- If you wish to release a new *beta* version of `turtle-cli`, run `yarn release:beta` instead.
- Update the [changelog](CHANGELOG.md).
- Update [Changelog](CHANGELOG.md).
- In a terminal, `cd` into [expo/turtle-cli-example](https://github.com/expo/turtle-cli-example) repository, run `yarn update-turtle-cli-version` (this script updates `turtle-cli` version number in CI configuration files and commits the changes) and then run `git push`. Thanks!
+90 -2
View File
@@ -1,5 +1,93 @@
# see docker-base/Dockerfile to learn what's installed in the turtle-android-base image
FROM gcr.io/exponentjs/turtle-android-base:0.1.0
FROM openjdk:8u141
ENV DEBIAN_FRONTEND noninteractive
# https://github.com/yarnpkg/yarn/issues/2821
RUN apt-get update && apt-get install apt-transport-https
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
# Install dependencies
RUN dpkg --add-architecture i386 && \
apt-get update && \
apt-get install -yq \
ant\
build-essential\
bzip2:i386\
file\
lib32ncurses5\
lib32z1\
libc6:i386\
libncurses5:i386\
libstdc++6:i386\
rsync\
unzip\
yarn\
zlib1g:i386\
supervisor\
--no-install-recommends && \
apt-get clean
ENV NPM_CONFIG_LOGLEVEL warn
ENV NODE_VERSION 8.12.0
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 \
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs
# 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
ENV PATH ${ANDROID_HOME}/platform-tools:${PATH}
ENV PATH ${ANDROID_HOME}/tools:${PATH}
ENV PATH ${ANDROID_HOME}/tools/bin:${PATH}
ENV PATH ${ANDROID_HOME}/build-tools/28.0.3/:${PATH}
ADD scripts/android/configureAndroidSdk.sh /tmp/configureAndroidSdk.sh
RUN /tmp/configureAndroidSdk.sh --install-all-platforms
# Install Android NDK
ENV ANDROID_NDK_VERSION android-ndk-r10e
ENV ANDROID_NDK_FILE ${ANDROID_NDK_VERSION}-linux-x86_64.bin
ENV ANDROID_NDK_URL https://dl.google.com/android/ndk/${ANDROID_NDK_FILE}
ENV ANDROID_NDK /opt/${ANDROID_NDK_VERSION}
ENV PATH $ANDROID_NDK:$PATH
# i have no clue why some of this is here, but it's working elsewhere
# it appears to install the NDK version expo needs, so that's cool
RUN mkdir /ndk_setup && cd /ndk_setup && \
curl -L ${ANDROID_NDK_URL} > ${ANDROID_NDK_FILE} && \
chmod +x ${ANDROID_NDK_FILE} && \
sync && \
./${ANDROID_NDK_FILE} && \
mv ./${ANDROID_NDK_VERSION} ${ANDROID_NDK} && \
cp -R \
${ANDROID_NDK}/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64 \
${ANDROID_NDK}/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86 && \
cp -R \
${ANDROID_NDK}/toolchains/x86-4.8/prebuilt/linux-x86_64 \
${ANDROID_NDK}/toolchains/x86-4.8/prebuilt/linux-x86 && \
cd && rm -rf /ndk_setup
# Support Gradle
ENV TERM dumb
# Install gradle
RUN wget https://services.gradle.org/distributions/gradle-4.4-all.zip
RUN unzip -qq gradle-4.4-all.zip
RUN mv gradle-4.4 /usr/local
RUN rm gradle-4.4-all.zip
ENV GRADLE_HOME /usr/local/gradle-4.4
ENV PATH ${GRADLE_HOME}/bin:$PATH
ADD . /app/turtle
-92
View File
@@ -1,92 +0,0 @@
# If you ever need to rebuild this, run:
# yarn docker:build-and-push:android-base-image NEW_IMAGE_SEMVER
FROM openjdk:8u141
ENV DEBIAN_FRONTEND noninteractive
# https://github.com/yarnpkg/yarn/issues/2821
RUN apt-get update && apt-get install apt-transport-https
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
# Install dependencies
RUN dpkg --add-architecture i386 && \
apt-get update && \
apt-get install -yq \
ant\
build-essential\
bzip2:i386\
file\
lib32ncurses5\
lib32z1\
libc6:i386\
libncurses5:i386\
libstdc++6:i386\
rsync\
unzip\
yarn\
zlib1g:i386\
supervisor\
--no-install-recommends && \
apt-get clean
ENV NPM_CONFIG_LOGLEVEL warn
ENV NODE_VERSION 8.12.0
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 \
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs
# 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
ENV PATH ${ANDROID_HOME}/platform-tools:${PATH}
ENV PATH ${ANDROID_HOME}/tools:${PATH}
ENV PATH ${ANDROID_HOME}/tools/bin:${PATH}
ENV PATH ${ANDROID_HOME}/build-tools/28.0.3/:${PATH}
ADD scripts/android/configureAndroidSdk.sh /tmp/configureAndroidSdk.sh
RUN /tmp/configureAndroidSdk.sh --install-all-platforms
# Install Android NDK
ENV ANDROID_NDK_VERSION android-ndk-r10e
ENV ANDROID_NDK_FILE ${ANDROID_NDK_VERSION}-linux-x86_64.bin
ENV ANDROID_NDK_URL https://dl.google.com/android/ndk/${ANDROID_NDK_FILE}
ENV ANDROID_NDK /opt/${ANDROID_NDK_VERSION}
ENV PATH $ANDROID_NDK:$PATH
# i have no clue why some of this is here, but it's working elsewhere
# it appears to install the NDK version expo needs, so that's cool
RUN mkdir /ndk_setup && cd /ndk_setup && \
curl -L ${ANDROID_NDK_URL} > ${ANDROID_NDK_FILE} && \
chmod +x ${ANDROID_NDK_FILE} && \
sync && \
./${ANDROID_NDK_FILE} && \
mv ./${ANDROID_NDK_VERSION} ${ANDROID_NDK} && \
cp -R \
${ANDROID_NDK}/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64 \
${ANDROID_NDK}/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86 && \
cp -R \
${ANDROID_NDK}/toolchains/x86-4.8/prebuilt/linux-x86_64 \
${ANDROID_NDK}/toolchains/x86-4.8/prebuilt/linux-x86 && \
cd && rm -rf /ndk_setup
# Support Gradle
ENV TERM dumb
# Install gradle
RUN wget https://services.gradle.org/distributions/gradle-4.4-all.zip
RUN unzip -qq gradle-4.4-all.zip
RUN mv gradle-4.4 /usr/local
RUN rm gradle-4.4-all.zip
ENV GRADLE_HOME /usr/local/gradle-4.4
ENV PATH ${GRADLE_HOME}/bin:$PATH
+4 -7
View File
@@ -1,6 +1,6 @@
{
"name": "turtle-cli",
"version": "0.12.2",
"version": "0.8.11",
"description": "The command-line tool for building standalone Expo apps",
"preferGlobal": true,
"scripts": {
@@ -25,8 +25,7 @@
"test:smoke:ios": "PLATFORM=ios 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"
"release:update:turtle-cli-example": "./scripts/updateTurtleCliExampleRepo.sh"
},
"husky": {
"hooks": {
@@ -79,15 +78,13 @@
"@types/sharp": "^0.17.8",
"@types/tar": "^4.0.0",
"@types/uuid": "^3.4.3",
"@types/webpack": "^4.32.1",
"@types/webpack-dev-server": "^3.1.7",
"@types/which": "^1.3.1",
"husky": "^1.3.1",
"jest": "^23.6.0",
"lint-staged": "^8.1.5",
"nock": "^10.0.1",
"nodemon": "^1.18.11",
"release-it": "^12.3.4",
"release-it": "^10.0.0",
"rimraf": "^2.6.2",
"ts-jest": "^23.10.4",
"ts-node": "^8.0.3",
@@ -100,7 +97,7 @@
},
"dependencies": {
"@expo/spawn-async": "^1.4.2",
"@expo/xdl": "56.2.2-alpha.2",
"@expo/xdl": "56.1.2-rc.1",
"@google-cloud/logging-bunyan": "^0.9.5",
"async-retry": "^1.2.1",
"aws-sdk": "^2.226.1",
@@ -1,22 +0,0 @@
#!/usr/bin/env bash
set -eo pipefail
ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )"/../.. && pwd )"
IMAGE_TAG="$1"
if [[ -z "$IMAGE_TAG" ]]; then
echo "usage: yarn docker:build:android-base-image IMAGE_SEMVER"
exit 1
fi
IMAGE_VERSION_FULL_NAME="gcr.io/exponentjs/turtle-android-base:$IMAGE_TAG"
IMAGE_LATEST_FULL_NAME="gcr.io/exponentjs/turtle-android-base:latest"
pushd $ROOT_DIR > /dev/null
echo docker build -f docker-base/Dockerfile -t "$IMAGE_VERSION_FULL_NAME" -t "$IMAGE_LATEST_FULL_NAME" .
echo "Successfully built $IMAGE_VERSION_FULL_NAME Docker image"
echo gcloud docker -- push "$IMAGE_VERSION_FULL_NAME"
echo gcloud docker -- push "$IMAGE_LATEST_FULL_NAME"
echo "Successfully pushed $IMAGE_VERSION_FULL_NAME Docker image to GCloud"
popd > /dev/null
+1
View File
@@ -0,0 +1 @@
s3://exp-artifacts/android-shell-builder-c19ce0d88a153f481fd790e23bdcd6f2d5ea7fd6.tar.gz
+1
View File
@@ -0,0 +1 @@
s3://exp-artifacts/android-shell-builder-c19ce0d88a153f481fd790e23bdcd6f2d5ea7fd6.tar.gz
+1
View File
@@ -0,0 +1 @@
s3://exp-artifacts/android-shell-builder-c19ce0d88a153f481fd790e23bdcd6f2d5ea7fd6.tar.gz
+1
View File
@@ -0,0 +1 @@
s3://exp-artifacts/android-shell-builder-c19ce0d88a153f481fd790e23bdcd6f2d5ea7fd6.tar.gz
-1
View File
@@ -1 +0,0 @@
s3://exp-artifacts/android-shell-builder-a8e204610e5712391336b378f47962bbb0c04164.tar.gz
-1
View File
@@ -1 +0,0 @@
s3://exp-artifacts/android-shell-builder-e5c29efb465c5421250eece19210c9eb61a972a8.tar.gz
+1 -1
View File
@@ -1 +1 @@
s3://exp-artifacts/ios-expo-client-d31aaf53daca6aa65d8cb1090fb60c73a9c47075.tar.gz
s3://exp-artifacts/ios-expo-client-a2b1e16f330b36fa0dc627a76caabe4d2ff45f77.tar.gz
+1
View File
@@ -0,0 +1 @@
s3://exp-artifacts/ios-shell-builder-sdk-27-db356a09877642d64023af98e4e2e1e632fbe4df.tar.gz
+1
View File
@@ -0,0 +1 @@
s3://exp-artifacts/ios-shell-builder-sdk-28-db356a09877642d64023af98e4e2e1e632fbe4df.tar.gz
+1
View File
@@ -0,0 +1 @@
s3://exp-artifacts/ios-shell-builder-sdk-29-db356a09877642d64023af98e4e2e1e632fbe4df.tar.gz
+1
View File
@@ -0,0 +1 @@
s3://exp-artifacts/ios-shell-builder-sdk-30-6863276e6b9605e31228c845a047387571959e9b.tar.gz
+1 -1
View File
@@ -1 +1 @@
s3://exp-artifacts/ios-shell-builder-sdk-latest-55848298c7332f7586c4281fa691a4ca31548532.tar.gz
s3://exp-artifacts/ios-shell-builder-sdk-latest-e1a8bd0ab2e1eba546792c0ffc282b5b202ccc39.tar.gz
+1 -1
View File
@@ -1 +1 @@
s3://exp-artifacts/ios-shell-builder-sdk-latest-edd02214dd84368c197df32a2d30a901d6c766ff.tar.gz
s3://exp-artifacts/ios-shell-builder-sdk-latest-dc981c7110b7d508de8e9c352064dc3d745c9f72.tar.gz
+1 -1
View File
@@ -1 +1 @@
s3://exp-artifacts/ios-shell-builder-sdk-latest-36b57e8ebb96aa8dce286c89bd56e8708eca819d.tar.gz
s3://exp-artifacts/ios-shell-builder-sdk-latest-a2b1e16f330b36fa0dc627a76caabe4d2ff45f77.tar.gz
-1
View File
@@ -1 +0,0 @@
s3://exp-artifacts/ios-shell-builder-sdk-latest-651588ff3445a5d87b3a5b81ec2977c02b22f3a2.tar.gz
-1
View File
@@ -1 +0,0 @@
s3://exp-artifacts/ios-shell-builder-sdk-latest-63a8747443392411aaaf9cba12958666acca3a4e.tar.gz
+2 -26
View File
@@ -10,7 +10,6 @@ import { IToolDefinition } from 'turtle/bin/setup/utils/toolsDetector';
import { formatShellAppDirectory } from 'turtle/builders/utils/ios/workingdir';
import config from 'turtle/config';
import { PLATFORMS } from 'turtle/constants';
import logger from 'turtle/logger';
const REQUIRED_TOOLS: IToolDefinition[] = [
{
@@ -31,7 +30,7 @@ const REQUIRED_TOOLS: IToolDefinition[] = [
const fastlaneVersion = parseFastlaneVersion(stdout);
if (fastlaneVersion && !semver.satisfies(fastlaneVersion, `>= ${MINIMAL_VERSION}`)) {
throw new Error(
`Your fastlane is on version ${fastlaneVersion}. Please upgrade it to at least ${MINIMAL_VERSION}.`,
`Your fastlane on version ${fastlaneVersion}. Please upgrade it to at least ${MINIMAL_VERSION}.`,
);
}
},
@@ -48,30 +47,7 @@ const REQUIRED_TOOLS: IToolDefinition[] = [
if (stdout.match(/requires xcode/i)) {
return false;
}
if (status !== 0) {
return false;
}
try {
await ExponentTools.spawnAsyncThrowError('ibtool', ['--version'], { stdio: 'pipe' });
} catch (err) {
if (err.stderr) {
const stderr = err.stderr.trim();
if (stderr.match(/Agreeing to the Xcode\/iOS license/)) {
logger.error('You have not accepted the Xcode license. Run \'sudo xcodebuild -runFirstLaunch\' to do so.');
return false;
}
if (stderr.match(/The bundle is damaged or missing necessary resources/)) {
logger.error(
'Make sure to install additional required components. Run \'sudo xcodebuild -runFirstLaunch\' to do so.',
);
return false;
}
}
}
return true;
return status === 0;
},
},
];
+1 -1
View File
@@ -19,7 +19,7 @@ export async function ensureToolsAreInstalled(tools: IToolDefinition[]) {
try {
if (testFn) {
if (!await testFn()) {
throw new Error('Required tool is not properly installed');
throw new Error('Required tool doesn\'t exist');
}
} else {
await which(command);
+1 -1
View File
@@ -94,7 +94,7 @@ const buildJobObject = async (
) => {
const job = {
config: {
..._.get(appJSON, `expo.${platform}.config`, {}),
..._.get(appJSON, 'expo.ios.config', {}),
buildType,
...(platform === 'android' ? { buildMode } : {}),
releaseChannel,
+2 -7
View File
@@ -11,7 +11,7 @@ import getOrCreateCredentials from 'turtle/builders/utils/android/credentials';
import { formatShellAppDirectory } from 'turtle/builders/utils/android/workingdir';
import * as commonUtils from 'turtle/builders/utils/common';
import * as imageHelpers from 'turtle/builders/utils/image';
import { resolveExplicitOptIn } from 'turtle/builders/utils/unimodules';
import { resolveNativeModules } from 'turtle/builders/utils/unimodules';
import { uploadBuildToS3 } from 'turtle/builders/utils/uploader';
import { ensureCanBuildSdkVersion } from 'turtle/builders/utils/version';
import config from 'turtle/config';
@@ -73,14 +73,9 @@ async function runShellAppBuilder(
const sdkVersion = _.get(manifest, 'sdkVersion', sdkVersionFromJob);
const workingDir = formatShellAppDirectory({ sdkVersion });
// (2019-07-31) We are explicitly choosing to disable this option until we have more
// infrastructure/tooling built around optional modules and OTA updates, as right now it's
// very easy for developers to break apps in production with optional modules.
//
// to enable full resolver switch resolveExplicitOptIn to resolveNativeModules
logger.info({ buildPhase: 'resolve native modules' }, 'Resolving universal modules dependencies');
const enabledModules = semver.satisfies(sdkVersion, '>= 33.0.0')
? await resolveExplicitOptIn(workingDir, _.get(manifest, 'dependencies'))
? await resolveNativeModules(workingDir, _.get(manifest, 'dependencies'))
: null;
try {
+8 -20
View File
@@ -1,6 +1,6 @@
import * as path from 'path';
import { ExponentTools, IosShellApp } from '@expo/xdl';
import { IosShellApp } from '@expo/xdl';
import { v4 as uuidv4 } from 'uuid';
import { formatShellAppDirectory } from 'turtle/builders/utils/ios/workingdir';
@@ -41,7 +41,6 @@ export function createBuilderContext(job: IJob): IContext {
const sdkVersion = sdkVersionFromJob || sdkVersionFromManifest;
const workingDir = formatShellAppDirectory({ sdkVersion, buildType: buildType! });
const majorSdkVersion = ExponentTools.parseSdkMajorVersion(sdkVersion);
const context: any = {
appDir: join(config.directories.temporaryFilesRoot, appUUID),
@@ -85,24 +84,13 @@ export function createBuilderContext(job: IJob): IContext {
'Applications',
`${EXPOKIT_APP}.app`,
);
if (majorSdkVersion >= 33) {
context.workspacePath = path.join(
workingDir,
'shellAppWorkspaces',
'default',
'ios',
`${EXPOKIT_APP}.xcworkspace`,
);
} else {
context.workspacePath = path.join(
workingDir,
'shellAppWorkspaces',
'ios',
'default',
`${EXPOKIT_APP}.xcworkspace`,
);
}
context.workspacePath = path.join(
workingDir,
'shellAppWorkspaces',
'ios',
'default',
`${EXPOKIT_APP}.xcworkspace`,
);
} else if (buildType === IOS_BUILD_TYPES.CLIENT) {
context.outputPath = join(context.appDir, 'archive.xcarchive');
context.uploadPath = join(context.buildDir, 'archive.ipa');
+3 -17
View File
@@ -19,20 +19,6 @@ interface IPackageInfo {
dependencies: string[];
}
export async function resolveExplicitOptIn(workingdir: string, packages?: string[]): Promise<IUnimoduleEntry[]> {
const resolver = new Resolver(workingdir);
await resolver.init();
const optionalModules = ['expo-branch'];
resolver.addAll();
const modules = packages
? resolver.getModules().filter((mod) => !optionalModules.includes(mod.name) || packages.includes(mod.name))
: resolver.getModules().filter((mod) => !optionalModules.includes(mod.name));
modules.forEach(({ name, version }) => { logger.info(`Adding ${name}:${version}`); });
return modules;
}
export async function resolveNativeModules(workingdir: string, packages?: string[]): Promise<IUnimoduleEntry[]> {
const resolver = new Resolver(workingdir);
await resolver.init();
@@ -52,9 +38,8 @@ export async function resolveNativeModules(workingdir: string, packages?: string
}
}
}
const modules = resolver.getModules();
modules.forEach(({ name, version }) => { logger.info(`Adding ${name}:${version}`); });
return modules;
return resolver.getModules();
}
async function readCorePackages(workingdir: string) {
@@ -116,6 +101,7 @@ class Resolver {
return;
}
const pkg = this.dependencyMap[moduleName];
logger.info(`Adding ${moduleName}:${pkg.version}`);
this.modulesMap[moduleName] = {
name: pkg.name,
dirname: pkg.dirname,
+1284 -839
View File
File diff suppressed because it is too large. Load diff