eas-cli-local-build-plugin 0.0.66 → 0.0.69
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/android.js +9 -5
- package/dist/android.js.map +1 -1
- package/dist/build.js +4 -4
- package/dist/build.js.map +1 -1
- package/dist/checkRuntime.js +4 -4
- package/dist/checkRuntime.js.map +1 -1
- package/dist/config.js +2 -2
- package/dist/config.js.map +1 -1
- package/dist/expoCli.d.ts +2 -0
- package/dist/expoCli.js +17 -0
- package/dist/expoCli.js.map +1 -0
- package/dist/ios.js +9 -5
- package/dist/ios.js.map +1 -1
- package/dist/logger.js +1 -1
- package/dist/logger.js.map +1 -1
- package/dist/main.js +5 -5
- package/dist/main.js.map +1 -1
- package/dist/parseInput.js +2 -2
- package/dist/parseInput.js.map +1 -1
- package/dist/workingdir.js +1 -1
- package/dist/workingdir.js.map +1 -1
- package/package.json +7 -5
- package/src/android.ts +2 -2
- package/src/build.ts +1 -1
- package/src/expoCli.ts +15 -0
- package/src/ios.ts +2 -2
- package/src/main.ts +1 -1
- package/dist/eject.d.ts +0 -6
- package/dist/eject.js +0 -50
- package/dist/eject.js.map +0 -1
- package/src/eject.ts +0 -60
package/dist/android.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -26,24 +30,24 @@ exports.buildAndroidAsync = void 0;
|
|
|
26
30
|
const eas_build_job_1 = require("@expo/eas-build-job");
|
|
27
31
|
const build_tools_1 = require("@expo/build-tools");
|
|
28
32
|
const omit_1 = __importDefault(require("lodash/omit"));
|
|
29
|
-
const eject_1 = require("./eject");
|
|
30
33
|
const logger_1 = __importStar(require("./logger"));
|
|
31
34
|
const buildArtifact_1 = require("./buildArtifact");
|
|
32
35
|
const config_1 = __importDefault(require("./config"));
|
|
36
|
+
const expoCli_1 = require("./expoCli");
|
|
33
37
|
async function buildAndroidAsync(job, { workingdir, env }) {
|
|
34
38
|
const ctx = new build_tools_1.BuildContext(job, {
|
|
35
39
|
workingdir,
|
|
36
40
|
logger: logger_1.default,
|
|
37
41
|
logBuffer: logger_1.logBuffer,
|
|
38
|
-
|
|
42
|
+
runExpoCliCommand: expoCli_1.runExpoCliCommandAsync,
|
|
39
43
|
env,
|
|
40
44
|
skipNativeBuild: config_1.default.skipNativeBuild,
|
|
41
45
|
});
|
|
42
46
|
await ctx.runBuildPhase(eas_build_job_1.BuildPhase.START_BUILD, async () => {
|
|
43
|
-
ctx.logger.info({ job: omit_1.default(ctx.job, 'secrets') }, 'Starting build');
|
|
47
|
+
ctx.logger.info({ job: (0, omit_1.default)(ctx.job, 'secrets') }, 'Starting build');
|
|
44
48
|
});
|
|
45
49
|
const artifactPaths = await build_tools_1.Builders.androidBuilder(ctx);
|
|
46
|
-
return await buildArtifact_1.prepareBuildArtifact(ctx, artifactPaths);
|
|
50
|
+
return await (0, buildArtifact_1.prepareBuildArtifact)(ctx, artifactPaths);
|
|
47
51
|
}
|
|
48
52
|
exports.buildAndroidAsync = buildAndroidAsync;
|
|
49
53
|
//# sourceMappingURL=android.js.map
|
package/dist/android.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"android.js","sourceRoot":"","sources":["../src/android.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"android.js","sourceRoot":"","sources":["../src/android.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAA0D;AAC1D,mDAA2D;AAC3D,uDAA+B;AAE/B,mDAA6C;AAE7C,mDAAuD;AACvD,sDAA8B;AAC9B,uCAAmD;AAE5C,KAAK,UAAU,iBAAiB,CACrC,GAAgB,EAChB,EAAE,UAAU,EAAE,GAAG,EAAe;IAEhC,MAAM,GAAG,GAAG,IAAI,0BAAY,CAAc,GAAG,EAAE;QAC7C,UAAU;QACV,MAAM,EAAN,gBAAM;QACN,SAAS,EAAT,kBAAS;QACT,iBAAiB,EAAE,gCAAsB;QACzC,GAAG;QACH,eAAe,EAAE,gBAAM,CAAC,eAAe;KACxC,CAAC,CAAC;IAEH,MAAM,GAAG,CAAC,aAAa,CAAC,0BAAU,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QACzD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAA,cAAI,EAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,MAAM,sBAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAEzD,OAAO,MAAM,IAAA,oCAAoB,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC;AACxD,CAAC;AApBD,8CAoBC","sourcesContent":["import { Android, BuildPhase } from '@expo/eas-build-job';\nimport { Builders, BuildContext } from '@expo/build-tools';\nimport omit from 'lodash/omit';\n\nimport logger, { logBuffer } from './logger';\nimport { BuildParams } from './types';\nimport { prepareBuildArtifact } from './buildArtifact';\nimport config from './config';\nimport { runExpoCliCommandAsync } from './expoCli';\n\nexport async function buildAndroidAsync(\n job: Android.Job,\n { workingdir, env }: BuildParams\n): Promise<string | undefined> {\n const ctx = new BuildContext<Android.Job>(job, {\n workingdir,\n logger,\n logBuffer,\n runExpoCliCommand: runExpoCliCommandAsync,\n env,\n skipNativeBuild: config.skipNativeBuild,\n });\n\n await ctx.runBuildPhase(BuildPhase.START_BUILD, async () => {\n ctx.logger.info({ job: omit(ctx.job, 'secrets') }, 'Starting build');\n });\n\n const artifactPaths = await Builders.androidBuilder(ctx);\n\n return await prepareBuildArtifact(ctx, artifactPaths);\n}\n"]}
|
package/dist/build.js
CHANGED
|
@@ -15,17 +15,17 @@ const ios_1 = require("./ios");
|
|
|
15
15
|
const workingdir_1 = require("./workingdir");
|
|
16
16
|
async function buildAsync(job) {
|
|
17
17
|
var _a;
|
|
18
|
-
const workingdir = await workingdir_1.prepareWorkingdirAsync();
|
|
18
|
+
const workingdir = await (0, workingdir_1.prepareWorkingdirAsync)();
|
|
19
19
|
try {
|
|
20
|
-
const env = Object.assign(Object.assign(Object.assign({}, pickBy_1.default(process.env, (val) => !!val)), (_a = job.builderEnvironment) === null || _a === void 0 ? void 0 : _a.env), { EAS_BUILD: '1' });
|
|
20
|
+
const env = Object.assign(Object.assign(Object.assign({}, (0, pickBy_1.default)(process.env, (val) => !!val)), (_a = job.builderEnvironment) === null || _a === void 0 ? void 0 : _a.env), { EAS_BUILD: '1' });
|
|
21
21
|
let artifactPath;
|
|
22
22
|
switch (job.platform) {
|
|
23
23
|
case eas_build_job_1.Platform.ANDROID: {
|
|
24
|
-
artifactPath = await android_1.buildAndroidAsync(job, { env, workingdir });
|
|
24
|
+
artifactPath = await (0, android_1.buildAndroidAsync)(job, { env, workingdir });
|
|
25
25
|
break;
|
|
26
26
|
}
|
|
27
27
|
case eas_build_job_1.Platform.IOS: {
|
|
28
|
-
artifactPath = await ios_1.buildIosAsync(job, { env, workingdir });
|
|
28
|
+
artifactPath = await (0, ios_1.buildIosAsync)(job, { env, workingdir });
|
|
29
29
|
break;
|
|
30
30
|
}
|
|
31
31
|
}
|
package/dist/build.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":";;;;;;AAAA,uDAAuE;AACvE,2DAAmC;AACnC,wDAA0B;AAC1B,kDAA0B;AAC1B,mDAAyD;AAEzD,uCAA8C;AAC9C,sDAA8B;AAC9B,+BAAsC;AACtC,6CAAsD;AAE/C,KAAK,UAAU,UAAU,CAAC,GAAQ;;IACvC,MAAM,UAAU,GAAG,MAAM,mCAAsB,
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":";;;;;;AAAA,uDAAuE;AACvE,2DAAmC;AACnC,wDAA0B;AAC1B,kDAA0B;AAC1B,mDAAyD;AAEzD,uCAA8C;AAC9C,sDAA8B;AAC9B,+BAAsC;AACtC,6CAAsD;AAE/C,KAAK,UAAU,UAAU,CAAC,GAAQ;;IACvC,MAAM,UAAU,GAAG,MAAM,IAAA,mCAAsB,GAAE,CAAC;IAElD,IAAI;QACF,MAAM,GAAG,iDACJ,IAAA,gBAAM,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAY,EAAiB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAC3D,MAAA,GAAG,CAAC,kBAAkB,0CAAE,GAAG,KAC9B,SAAS,EAAE,GAAG,GACf,CAAC;QACF,IAAI,YAAgC,CAAC;QACrC,QAAQ,GAAG,CAAC,QAAQ,EAAE;YACpB,KAAK,wBAAQ,CAAC,OAAO,CAAC,CAAC;gBACrB,YAAY,GAAG,MAAM,IAAA,2BAAiB,EAAC,GAAG,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;gBACjE,MAAM;aACP;YACD,KAAK,wBAAQ,CAAC,GAAG,CAAC,CAAC;gBACjB,YAAY,GAAG,MAAM,IAAA,mBAAa,EAAC,GAAG,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;gBAC7D,MAAM;aACP;SACF;QACD,IAAI,CAAC,gBAAM,CAAC,eAAe,EAAE;YAC3B,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,uCAAuC,YAAY,EAAE,CAAC,CAAC,CAAC;SACjF;KACF;IAAC,OAAO,CAAM,EAAE;QACf,IAAI,CAAC,YAAY,kCAAoB,EAAE;YACrC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACvB,OAAO;SACR;QACD,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;QACzC,IAAI,gBAAM,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE;YACnC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;SAC7B;QACD,MAAM,CAAC,CAAC;KACT;YAAS;QACR,IAAI,CAAC,gBAAM,CAAC,WAAW,EAAE;YACvB,MAAM,kBAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;SAC7B;aAAM;YACL,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,MAAM,CAAC,qBAAqB,UAAU,oBAAoB,CAAC,CAAC,CAAC;SAClF;QACD,IAAI,GAAG,CAAC,cAAc,CAAC,IAAI,KAAK,iCAAiB,CAAC,IAAI,EAAE;YACtD,MAAM,kBAAE,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;SAC1C;KACF;AACH,CAAC;AA9CD,gCA8CC","sourcesContent":["import { Job, Platform, ArchiveSourceType } from '@expo/eas-build-job';\nimport pickBy from 'lodash/pickBy';\nimport fs from 'fs-extra';\nimport chalk from 'chalk';\nimport { SkipNativeBuildError } from '@expo/build-tools';\n\nimport { buildAndroidAsync } from './android';\nimport config from './config';\nimport { buildIosAsync } from './ios';\nimport { prepareWorkingdirAsync } from './workingdir';\n\nexport async function buildAsync(job: Job): Promise<void> {\n const workingdir = await prepareWorkingdirAsync();\n\n try {\n const env = {\n ...pickBy(process.env, (val?: string): val is string => !!val),\n ...job.builderEnvironment?.env,\n EAS_BUILD: '1',\n };\n let artifactPath: string | undefined;\n switch (job.platform) {\n case Platform.ANDROID: {\n artifactPath = await buildAndroidAsync(job, { env, workingdir });\n break;\n }\n case Platform.IOS: {\n artifactPath = await buildIosAsync(job, { env, workingdir });\n break;\n }\n }\n if (!config.skipNativeBuild) {\n console.log();\n console.log(chalk.green('Build successful'));\n console.log(chalk.green(`You can find the build artifacts in ${artifactPath}`));\n }\n } catch (e: any) {\n if (e instanceof SkipNativeBuildError) {\n console.log(e.message);\n return;\n }\n console.error();\n console.error(chalk.red(`Build failed`));\n if (config.logger.level === 'debug') {\n console.error(e.innerError);\n }\n throw e;\n } finally {\n if (!config.skipCleanup) {\n await fs.remove(workingdir);\n } else {\n console.error(chalk.yellow(`Skipping cleanup, ${workingdir} won't be removed.`));\n }\n if (job.projectArchive.type === ArchiveSourceType.PATH) {\n await fs.remove(job.projectArchive.path);\n }\n }\n}\n"]}
|
package/dist/checkRuntime.js
CHANGED
|
@@ -30,7 +30,7 @@ const validators = [
|
|
|
30
30
|
async checkAsync(job) {
|
|
31
31
|
var _a;
|
|
32
32
|
try {
|
|
33
|
-
const version = (await spawn_async_1.default('node', ['--version'], { stdio: 'pipe' })).stdout.trim();
|
|
33
|
+
const version = (await (0, spawn_async_1.default)('node', ['--version'], { stdio: 'pipe' })).stdout.trim();
|
|
34
34
|
const sanitizedVersion = version.startsWith('v') ? version.slice(1) : version;
|
|
35
35
|
const versionFromJob = (_a = job.builderEnvironment) === null || _a === void 0 ? void 0 : _a.node;
|
|
36
36
|
if (versionFromJob) {
|
|
@@ -52,7 +52,7 @@ const validators = [
|
|
|
52
52
|
async checkAsync(job) {
|
|
53
53
|
var _a;
|
|
54
54
|
try {
|
|
55
|
-
const version = (await spawn_async_1.default('yarn', ['--version'], { stdio: 'pipe' })).stdout.trim();
|
|
55
|
+
const version = (await (0, spawn_async_1.default)('yarn', ['--version'], { stdio: 'pipe' })).stdout.trim();
|
|
56
56
|
const versionFromJob = (_a = job.builderEnvironment) === null || _a === void 0 ? void 0 : _a.yarn;
|
|
57
57
|
if (versionFromJob && versionFromJob !== version) {
|
|
58
58
|
warn('Yarn version in your eas.json does not match the yarn currently installed in your system');
|
|
@@ -80,7 +80,7 @@ const validators = [
|
|
|
80
80
|
platform: eas_build_job_1.Platform.IOS,
|
|
81
81
|
async checkAsync() {
|
|
82
82
|
try {
|
|
83
|
-
await spawn_async_1.default('fastlane', ['--version'], {
|
|
83
|
+
await (0, spawn_async_1.default)('fastlane', ['--version'], {
|
|
84
84
|
stdio: 'pipe',
|
|
85
85
|
env: Object.assign(Object.assign({}, process.env), { FASTLANE_DISABLE_COLORS: '1', FASTLANE_SKIP_UPDATE_CHECK: '1', SKIP_SLOW_FASTLANE_WARNING: 'true', FASTLANE_HIDE_TIMESTAMP: 'true' }),
|
|
86
86
|
});
|
|
@@ -96,7 +96,7 @@ const validators = [
|
|
|
96
96
|
async checkAsync(job) {
|
|
97
97
|
var _a;
|
|
98
98
|
try {
|
|
99
|
-
const version = (await spawn_async_1.default('pod', ['--version'], { stdio: 'pipe' })).stdout.trim();
|
|
99
|
+
const version = (await (0, spawn_async_1.default)('pod', ['--version'], { stdio: 'pipe' })).stdout.trim();
|
|
100
100
|
const versionFromJob = job.platform === eas_build_job_1.Platform.IOS && ((_a = job.builderEnvironment) === null || _a === void 0 ? void 0 : _a.cocoapods);
|
|
101
101
|
if (versionFromJob && versionFromJob !== version) {
|
|
102
102
|
warn('Cocoapods version in your eas.json does not match the version currently installed in your system');
|
package/dist/checkRuntime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkRuntime.js","sourceRoot":"","sources":["../src/checkRuntime.ts"],"names":[],"mappings":";;;;;;AAAA,uDAAoD;AACpD,kDAA0B;AAC1B,oEAA2C;AAC3C,wDAA0B;AAO1B,SAAS,IAAI,CAAC,GAAW;IACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,KAAK,CAAC,GAAW;IACxB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,GAAgB;IAC9B;QACE,KAAK,CAAC,UAAU,CAAC,GAAQ;YACvB,IAAI,GAAG,CAAC,QAAQ,KAAK,wBAAQ,CAAC,GAAG,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBAClE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;aACzD;iBAAM,IACL,GAAG,CAAC,QAAQ,KAAK,wBAAQ,CAAC,OAAO;gBACjC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAC/C;gBACA,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;aACzE;QACH,CAAC;KACF;IACD;QACE,KAAK,CAAC,UAAU,CAAC,GAAQ;;YACvB,IAAI;gBACF,MAAM,OAAO,GAAG,CAAC,MAAM,qBAAU,
|
|
1
|
+
{"version":3,"file":"checkRuntime.js","sourceRoot":"","sources":["../src/checkRuntime.ts"],"names":[],"mappings":";;;;;;AAAA,uDAAoD;AACpD,kDAA0B;AAC1B,oEAA2C;AAC3C,wDAA0B;AAO1B,SAAS,IAAI,CAAC,GAAW;IACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,KAAK,CAAC,GAAW;IACxB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,GAAgB;IAC9B;QACE,KAAK,CAAC,UAAU,CAAC,GAAQ;YACvB,IAAI,GAAG,CAAC,QAAQ,KAAK,wBAAQ,CAAC,GAAG,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBAClE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;aACzD;iBAAM,IACL,GAAG,CAAC,QAAQ,KAAK,wBAAQ,CAAC,OAAO;gBACjC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAC/C;gBACA,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;aACzE;QACH,CAAC;KACF;IACD;QACE,KAAK,CAAC,UAAU,CAAC,GAAQ;;YACvB,IAAI;gBACF,MAAM,OAAO,GAAG,CAAC,MAAM,IAAA,qBAAU,EAAC,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC3F,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC9E,MAAM,cAAc,GAAG,MAAA,GAAG,CAAC,kBAAkB,0CAAE,IAAI,CAAC;gBACpD,IAAI,cAAc,EAAE;oBAClB,MAAM,uBAAuB,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC;wBAC5D,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;wBACzB,CAAC,CAAC,cAAc,CAAC;oBACnB,IAAI,gBAAgB,KAAK,uBAAuB,EAAE;wBAChD,IAAI,CACF,gGAAgG,CACjG,CAAC;qBACH;iBACF;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,KAAK,CAAC,qEAAqE,CAAC,CAAC;gBAC7E,MAAM,GAAG,CAAC;aACX;QACH,CAAC;KACF;IACD;QACE,KAAK,CAAC,UAAU,CAAC,GAAQ;;YACvB,IAAI;gBACF,MAAM,OAAO,GAAG,CAAC,MAAM,IAAA,qBAAU,EAAC,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC3F,MAAM,cAAc,GAAG,MAAA,GAAG,CAAC,kBAAkB,0CAAE,IAAI,CAAC;gBACpD,IAAI,cAAc,IAAI,cAAc,KAAK,OAAO,EAAE;oBAChD,IAAI,CACF,0FAA0F,CAC3F,CAAC;iBACH;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,KAAK,CAAC,kEAAkE,CAAC,CAAC;gBAC1E,MAAM,GAAG,CAAC;aACX;QACH,CAAC;KACF;IACD;QACE,QAAQ,EAAE,wBAAQ,CAAC,OAAO;QAC1B,KAAK,CAAC,UAAU,CAAC,CAAC;YAChB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE;gBACjC,IAAI,CACF,uFAAuF,CACxF,CAAC;gBACF,OAAO;aACR;YACD,IAAI,CAAC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,EAAE;gBACxD,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;aAC5E;QACH,CAAC;KACF;IACD;QACE,QAAQ,EAAE,wBAAQ,CAAC,GAAG;QACtB,KAAK,CAAC,UAAU;YACd,IAAI;gBACF,MAAM,IAAA,qBAAU,EAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE;oBAC1C,KAAK,EAAE,MAAM;oBACb,GAAG,kCACE,OAAO,CAAC,GAAG,KACd,uBAAuB,EAAE,GAAG,EAC5B,0BAA0B,EAAE,GAAG,EAC/B,0BAA0B,EAAE,MAAM,EAClC,uBAAuB,EAAE,MAAM,GAChC;iBACF,CAAC,CAAC;aACJ;YAAC,OAAO,GAAG,EAAE;gBACZ,KAAK,CAAC,sEAAsE,CAAC,CAAC;gBAC9E,MAAM,GAAG,CAAC;aACX;QACH,CAAC;KACF;IACD;QACE,QAAQ,EAAE,wBAAQ,CAAC,GAAG;QACtB,KAAK,CAAC,UAAU,CAAC,GAAQ;;YACvB,IAAI;gBACF,MAAM,OAAO,GAAG,CAAC,MAAM,IAAA,qBAAU,EAAC,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC1F,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,KAAK,wBAAQ,CAAC,GAAG,KAAI,MAAA,GAAG,CAAC,kBAAkB,0CAAE,SAAS,CAAA,CAAC;gBAC1F,IAAI,cAAc,IAAI,cAAc,KAAK,OAAO,EAAE;oBAChD,IAAI,CACF,kGAAkG,CACnG,CAAC;iBACH;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,KAAK,CAAC,uEAAuE,CAAC,CAAC;gBAC/E,MAAM,GAAG,CAAC;aACX;QACH,CAAC;KACF;CACF,CAAC;AAEK,KAAK,UAAU,iBAAiB,CAAC,GAAQ;IAC9C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;QAClC,IAAI,SAAS,CAAC,QAAQ,KAAK,GAAG,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YAC9D,MAAM,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SACjC;KACF;AACH,CAAC;AAND,8CAMC","sourcesContent":["import { Job, Platform } from '@expo/eas-build-job';\nimport chalk from 'chalk';\nimport spawnAsync from '@expo/spawn-async';\nimport fs from 'fs-extra';\n\ninterface Validator {\n platform?: Platform;\n checkAsync: (job: Job) => Promise<void>;\n}\n\nfunction warn(msg: string): void {\n console.log(chalk.yellow(msg));\n}\n\nfunction error(msg: string): void {\n console.error(chalk.red(msg));\n}\n\nconst validators: Validator[] = [\n {\n async checkAsync(job: Job) {\n if (job.platform === Platform.IOS && process.platform !== 'darwin') {\n throw new Error('iOS builds can only be run on macOS.');\n } else if (\n job.platform === Platform.ANDROID &&\n !['linux', 'darwin'].includes(process.platform)\n ) {\n throw new Error('Android builds are supported only on Linux and macOS');\n }\n },\n },\n {\n async checkAsync(job: Job) {\n try {\n const version = (await spawnAsync('node', ['--version'], { stdio: 'pipe' })).stdout.trim();\n const sanitizedVersion = version.startsWith('v') ? version.slice(1) : version;\n const versionFromJob = job.builderEnvironment?.node;\n if (versionFromJob) {\n const sanitizedVersionFromJob = versionFromJob.startsWith('v')\n ? versionFromJob.slice(1)\n : versionFromJob;\n if (sanitizedVersion !== sanitizedVersionFromJob) {\n warn(\n 'Node.js version in your eas.json does not match the Node.js currently installed in your system'\n );\n }\n }\n } catch (err) {\n error(\"Node.js is not available, make sure it's installed and in your PATH\");\n throw err;\n }\n },\n },\n {\n async checkAsync(job: Job) {\n try {\n const version = (await spawnAsync('yarn', ['--version'], { stdio: 'pipe' })).stdout.trim();\n const versionFromJob = job.builderEnvironment?.yarn;\n if (versionFromJob && versionFromJob !== version) {\n warn(\n 'Yarn version in your eas.json does not match the yarn currently installed in your system'\n );\n }\n } catch (err) {\n error(\"Yarn is not available, make sure it's installed and in your PATH\");\n throw err;\n }\n },\n },\n {\n platform: Platform.ANDROID,\n async checkAsync(_) {\n if (!process.env.ANDROID_NDK_HOME) {\n warn(\n 'ANDROID_NDK_HOME environment variable was not specified, continuing build without NDK'\n );\n return;\n }\n if (!(await fs.pathExists(process.env.ANDROID_NDK_HOME))) {\n throw new Error(`NDK was not found under ${process.env.ANDROID_NDK_HOME}`);\n }\n },\n },\n {\n platform: Platform.IOS,\n async checkAsync() {\n try {\n await spawnAsync('fastlane', ['--version'], {\n stdio: 'pipe',\n env: {\n ...process.env,\n FASTLANE_DISABLE_COLORS: '1',\n FASTLANE_SKIP_UPDATE_CHECK: '1',\n SKIP_SLOW_FASTLANE_WARNING: 'true',\n FASTLANE_HIDE_TIMESTAMP: 'true',\n },\n });\n } catch (err) {\n error(\"Fastlane is not available, make sure it's installed and in your PATH\");\n throw err;\n }\n },\n },\n {\n platform: Platform.IOS,\n async checkAsync(job: Job) {\n try {\n const version = (await spawnAsync('pod', ['--version'], { stdio: 'pipe' })).stdout.trim();\n const versionFromJob = job.platform === Platform.IOS && job.builderEnvironment?.cocoapods;\n if (versionFromJob && versionFromJob !== version) {\n warn(\n 'Cocoapods version in your eas.json does not match the version currently installed in your system'\n );\n }\n } catch (err) {\n error(\"Cocoapods is not available, make sure it's installed and in your PATH\");\n throw err;\n }\n },\n },\n];\n\nexport async function checkRuntimeAsync(job: Job): Promise<void> {\n for (const validator of validators) {\n if (validator.platform === job.platform || !validator.platform) {\n await validator.checkAsync(job);\n }\n }\n}\n"]}
|
package/dist/config.js
CHANGED
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const path_1 = __importDefault(require("path"));
|
|
7
7
|
const uuid_1 = require("uuid");
|
|
8
8
|
const env_paths_1 = __importDefault(require("env-paths"));
|
|
9
|
-
const { temp } = env_paths_1.default('eas-build-local');
|
|
9
|
+
const { temp } = (0, env_paths_1.default)('eas-build-local');
|
|
10
10
|
const envLoggerLevel = process.env.EAS_LOCAL_BUILD_LOGGER_LEVEL;
|
|
11
11
|
const envWorkingdir = process.env.EAS_LOCAL_BUILD_WORKINGDIR;
|
|
12
12
|
const envSkipCleanup = process.env.EAS_LOCAL_BUILD_SKIP_CLEANUP;
|
|
@@ -17,7 +17,7 @@ if (envLoggerLevel && !['debug', 'info', 'warn', 'error'].includes(envLoggerLeve
|
|
|
17
17
|
throw new Error('Invalid value for EAS_LOCAL_BUILD_LOGGER_LEVEL, one of info, warn, or error is expected');
|
|
18
18
|
}
|
|
19
19
|
exports.default = {
|
|
20
|
-
workingdir: envWorkingdir !== null && envWorkingdir !== void 0 ? envWorkingdir : path_1.default.join(temp, uuid_1.v4()),
|
|
20
|
+
workingdir: envWorkingdir !== null && envWorkingdir !== void 0 ? envWorkingdir : path_1.default.join(temp, (0, uuid_1.v4)()),
|
|
21
21
|
skipCleanup: envSkipCleanup === '1',
|
|
22
22
|
skipNativeBuild: envSkipNativeBuild === '1',
|
|
23
23
|
artifactsDir: envArtifactsDir !== null && envArtifactsDir !== void 0 ? envArtifactsDir : process.cwd(),
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AAExB,+BAAoC;AACpC,0DAAiC;AAEjC,MAAM,EAAE,IAAI,EAAE,GAAG,mBAAQ,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AAExB,+BAAoC;AACpC,0DAAiC;AAEjC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,mBAAQ,EAAC,iBAAiB,CAAC,CAAC;AAE7C,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;AAChE,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;AAC7D,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;AAChE,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC;AACzE,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;AAClE,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;AAElE,IAAI,cAAc,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;IAClF,MAAM,IAAI,KAAK,CACb,yFAAyF,CAC1F,CAAC;CACH;AAED,kBAAe;IACb,UAAU,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAA,SAAM,GAAE,CAAC;IACtD,WAAW,EAAE,cAAc,KAAK,GAAG;IACnC,eAAe,EAAE,kBAAkB,KAAK,GAAG;IAC3C,YAAY,EAAE,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,OAAO,CAAC,GAAG,EAAE;IAC9C,YAAY,EAAE,eAAe;IAC7B,MAAM,EAAE;QACN,KAAK,EAAE,CAAC,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,MAAM,CAAwC;KACzE;CACF,CAAC","sourcesContent":["import path from 'path';\n\nimport { v4 as uuidv4 } from 'uuid';\nimport envPaths from 'env-paths';\n\nconst { temp } = envPaths('eas-build-local');\n\nconst envLoggerLevel = process.env.EAS_LOCAL_BUILD_LOGGER_LEVEL;\nconst envWorkingdir = process.env.EAS_LOCAL_BUILD_WORKINGDIR;\nconst envSkipCleanup = process.env.EAS_LOCAL_BUILD_SKIP_CLEANUP;\nconst envSkipNativeBuild = process.env.EAS_LOCAL_BUILD_SKIP_NATIVE_BUILD;\nconst envArtifactsDir = process.env.EAS_LOCAL_BUILD_ARTIFACTS_DIR;\nconst envArtifactPath = process.env.EAS_LOCAL_BUILD_ARTIFACT_PATH;\n\nif (envLoggerLevel && !['debug', 'info', 'warn', 'error'].includes(envLoggerLevel)) {\n throw new Error(\n 'Invalid value for EAS_LOCAL_BUILD_LOGGER_LEVEL, one of info, warn, or error is expected'\n );\n}\n\nexport default {\n workingdir: envWorkingdir ?? path.join(temp, uuidv4()),\n skipCleanup: envSkipCleanup === '1',\n skipNativeBuild: envSkipNativeBuild === '1',\n artifactsDir: envArtifactsDir ?? process.cwd(),\n artifactPath: envArtifactPath,\n logger: {\n level: (envLoggerLevel ?? 'info') as 'debug' | 'info' | 'warn' | 'error',\n },\n};\n"]}
|
package/dist/expoCli.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.runExpoCliCommandAsync = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const turtle_spawn_1 = __importDefault(require("@expo/turtle-spawn"));
|
|
9
|
+
const expoCliPackage = require.resolve('expo-cli');
|
|
10
|
+
async function runExpoCliCommandAsync(command, options) {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
const expoCliBinPath = (_a = process.env.EXPO_CLI_PATH) !== null && _a !== void 0 ? _a : path_1.default.resolve(path_1.default.dirname(expoCliPackage), '../bin/expo.js');
|
|
13
|
+
(_b = options === null || options === void 0 ? void 0 : options.logger) === null || _b === void 0 ? void 0 : _b.debug(`${expoCliBinPath} ${command}`);
|
|
14
|
+
await (0, turtle_spawn_1.default)('bash', ['-c', `${expoCliBinPath} ${command}`], options);
|
|
15
|
+
}
|
|
16
|
+
exports.runExpoCliCommandAsync = runExpoCliCommandAsync;
|
|
17
|
+
//# sourceMappingURL=expoCli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expoCli.js","sourceRoot":"","sources":["../src/expoCli.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,sEAA8D;AAE9D,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE5C,KAAK,UAAU,sBAAsB,CAC1C,OAAe,EACf,OAAqB;;IAErB,MAAM,cAAc,GAClB,MAAA,OAAO,CAAC,GAAG,CAAC,aAAa,mCAAI,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAC5F,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,0CAAE,KAAK,CAAC,GAAG,cAAc,IAAI,OAAO,EAAE,CAAC,CAAC;IACvD,MAAM,IAAA,sBAAU,EAAC,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,cAAc,IAAI,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;AAC5E,CAAC;AARD,wDAQC","sourcesContent":["import path from 'path';\n\nimport spawnAsync, { SpawnOptions } from '@expo/turtle-spawn';\n\nconst expoCliPackage = require.resolve('expo-cli');\n\nexport async function runExpoCliCommandAsync(\n command: string,\n options: SpawnOptions\n): Promise<void> {\n const expoCliBinPath =\n process.env.EXPO_CLI_PATH ?? path.resolve(path.dirname(expoCliPackage), '../bin/expo.js');\n options?.logger?.debug(`${expoCliBinPath} ${command}`);\n await spawnAsync('bash', ['-c', `${expoCliBinPath} ${command}`], options);\n}\n"]}
|
package/dist/ios.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -26,7 +30,7 @@ exports.buildIosAsync = void 0;
|
|
|
26
30
|
const eas_build_job_1 = require("@expo/eas-build-job");
|
|
27
31
|
const build_tools_1 = require("@expo/build-tools");
|
|
28
32
|
const omit_1 = __importDefault(require("lodash/omit"));
|
|
29
|
-
const
|
|
33
|
+
const expoCli_1 = require("./expoCli");
|
|
30
34
|
const logger_1 = __importStar(require("./logger"));
|
|
31
35
|
const buildArtifact_1 = require("./buildArtifact");
|
|
32
36
|
const config_1 = __importDefault(require("./config"));
|
|
@@ -35,15 +39,15 @@ async function buildIosAsync(job, { workingdir, env }) {
|
|
|
35
39
|
workingdir,
|
|
36
40
|
logger: logger_1.default,
|
|
37
41
|
logBuffer: logger_1.logBuffer,
|
|
38
|
-
|
|
42
|
+
runExpoCliCommand: expoCli_1.runExpoCliCommandAsync,
|
|
39
43
|
env,
|
|
40
44
|
skipNativeBuild: config_1.default.skipNativeBuild,
|
|
41
45
|
});
|
|
42
46
|
await ctx.runBuildPhase(eas_build_job_1.BuildPhase.START_BUILD, async () => {
|
|
43
|
-
ctx.logger.info({ job: omit_1.default(ctx.job, 'secrets') }, 'Starting build');
|
|
47
|
+
ctx.logger.info({ job: (0, omit_1.default)(ctx.job, 'secrets') }, 'Starting build');
|
|
44
48
|
});
|
|
45
49
|
const artifactPaths = await build_tools_1.Builders.iosBuilder(ctx);
|
|
46
|
-
return await buildArtifact_1.prepareBuildArtifact(ctx, artifactPaths);
|
|
50
|
+
return await (0, buildArtifact_1.prepareBuildArtifact)(ctx, artifactPaths);
|
|
47
51
|
}
|
|
48
52
|
exports.buildIosAsync = buildIosAsync;
|
|
49
53
|
//# sourceMappingURL=ios.js.map
|
package/dist/ios.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ios.js","sourceRoot":"","sources":["../src/ios.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ios.js","sourceRoot":"","sources":["../src/ios.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAsD;AACtD,mDAA2D;AAC3D,uDAA+B;AAE/B,uCAAmD;AACnD,mDAA6C;AAE7C,mDAAuD;AACvD,sDAA8B;AAEvB,KAAK,UAAU,aAAa,CACjC,GAAY,EACZ,EAAE,UAAU,EAAE,GAAG,EAAe;IAEhC,MAAM,GAAG,GAAG,IAAI,0BAAY,CAAU,GAAG,EAAE;QACzC,UAAU;QACV,MAAM,EAAN,gBAAM;QACN,SAAS,EAAT,kBAAS;QACT,iBAAiB,EAAE,gCAAsB;QACzC,GAAG;QACH,eAAe,EAAE,gBAAM,CAAC,eAAe;KACxC,CAAC,CAAC;IAEH,MAAM,GAAG,CAAC,aAAa,CAAC,0BAAU,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;QACzD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAA,cAAI,EAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,MAAM,sBAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAErD,OAAO,MAAM,IAAA,oCAAoB,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC;AACxD,CAAC;AApBD,sCAoBC","sourcesContent":["import { Ios, BuildPhase } from '@expo/eas-build-job';\nimport { Builders, BuildContext } from '@expo/build-tools';\nimport omit from 'lodash/omit';\n\nimport { runExpoCliCommandAsync } from './expoCli';\nimport logger, { logBuffer } from './logger';\nimport { BuildParams } from './types';\nimport { prepareBuildArtifact } from './buildArtifact';\nimport config from './config';\n\nexport async function buildIosAsync(\n job: Ios.Job,\n { workingdir, env }: BuildParams\n): Promise<string | undefined> {\n const ctx = new BuildContext<Ios.Job>(job, {\n workingdir,\n logger,\n logBuffer,\n runExpoCliCommand: runExpoCliCommandAsync,\n env,\n skipNativeBuild: config.skipNativeBuild,\n });\n\n await ctx.runBuildPhase(BuildPhase.START_BUILD, async () => {\n ctx.logger.info({ job: omit(ctx.job, 'secrets') }, 'Starting build');\n });\n\n const artifactPaths = await Builders.iosBuilder(ctx);\n\n return await prepareBuildArtifact(ctx, artifactPaths);\n}\n"]}
|
package/dist/logger.js
CHANGED
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;;;;AAAA,mCAAkC;AAElC,0DAAkC;AAClC,kDAA0B;AAC1B,uDAA+B;AAG/B,sDAA8B;AAU9B,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAOhC,MAAM,iBAAkB,SAAQ,iBAAQ;IAItC,YAA6B,aAAqB;QAChD,KAAK,EAAE,CAAC;QADmB,kBAAa,GAAb,aAAa,CAAQ;QAH3C,aAAQ,GAAG,IAAI,CAAC;QAChB,WAAM,GAAgB,EAAE,CAAC;IAIhC,CAAC;IAEM,KAAK,CAAC,GAAQ;;QACnB;QACE,yBAAyB;QACzB,OAAO,GAAG,KAAK,QAAQ;YACvB,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,CAAA,KAAK,QAAQ;YAC5B,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,CAAA,KAAK,QAAQ;YAC9B,oCAAoC;YACpC,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,MAAK,QAAQ,IAAI,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,MAAK,QAAQ,CAAC;YACtD,6DAA6D;YAC7D,CAAC,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,mCAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAC3B;YACA,OAAO,IAAI,CAAC;SACb;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;SACrB;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAEM,YAAY,CAAC,UAAkB;QACpC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACvF,CAAC;CACF;AAED,MAAM,YAAa,SAAQ,iBAAQ;IACjC,KAAK,CAAC,MAAc;;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAQ,CAAC;QACtC,IAAI,GAAG,CAAC,MAAM,EAAE;YACd,OAAO,IAAI,CAAC;SACb;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,GAAG,CAAC,KAAK,IAAI,gBAAM,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE;YACxD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACpB;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SAClB;QAED,MAAM,eAAe,GAAG,cAAI,
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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","sourcesContent":["import { Writable } from 'stream';\n\nimport bunyan from '@expo/bunyan';\nimport chalk from 'chalk';\nimport omit from 'lodash/omit';\nimport { LogBuffer } from '@expo/build-tools';\n\nimport config from './config';\n\ninterface Log {\n msg: string;\n level: number;\n err?: any;\n marker?: string;\n phase: string;\n source: 'stdout' | 'stderr';\n}\nconst MAX_LINES_IN_BUFFER = 100;\n\ninterface CachedLog {\n msg: string;\n phase: string;\n}\n\nclass BuildCliLogBuffer extends Writable implements LogBuffer {\n public writable = true;\n public buffer: CachedLog[] = [];\n\n constructor(private readonly numberOfLines: number) {\n super();\n }\n\n public write(rec: any): boolean {\n if (\n // verify required fields\n typeof rec !== 'object' ||\n typeof rec?.msg !== 'string' ||\n typeof rec?.phase !== 'string' ||\n // use only logs from spawn commands\n (rec?.source !== 'stdout' && rec?.source !== 'stderr') ||\n // skip all short lines (it could potentially be some loader)\n (rec?.msg ?? '').length < 3\n ) {\n return true;\n }\n if (this.buffer.length >= this.numberOfLines) {\n this.buffer.shift();\n }\n this.buffer.push({ msg: rec.msg, phase: rec.phase });\n return true;\n }\n\n public getLogs(): string[] {\n return this.buffer.map(({ msg }) => msg);\n }\n\n public getPhaseLogs(buildPhase: string): string[] {\n return this.buffer.filter(({ phase }) => phase === buildPhase).map(({ msg }) => msg);\n }\n}\n\nclass PrettyStream extends Writable {\n write(rawLog: string): boolean {\n const log = JSON.parse(rawLog) as Log;\n if (log.marker) {\n return true;\n }\n const msg = this.formatMessage(log);\n if (log.level >= bunyan.ERROR || log.source === 'stderr') {\n console.error(msg);\n } else {\n console.log(msg);\n }\n\n const extraProperties = omit(log, [\n 'msg',\n 'err',\n 'level',\n 'phase',\n 'marker',\n 'source',\n 'time',\n 'id',\n 'v',\n 'pid',\n 'hostname',\n 'name',\n ]);\n if (Object.keys(extraProperties).length !== 0) {\n const str = JSON.stringify(extraProperties, null, 2);\n // substring removes `{\\n` and `\\n}`\n console.log(chalk.gray(str.substring(2, str.length - 2)));\n }\n if (log?.err?.stack) {\n console.error(chalk.red(log.err.stack));\n }\n return true;\n }\n\n private formatMessage(log: Log): string {\n const phase = log.phase;\n switch (log.level) {\n case bunyan.DEBUG:\n return `[${phase}] ${chalk.gray(log.msg)}`;\n case bunyan.INFO: {\n const msg = log.source === 'stderr' ? chalk.red(log.msg) : log.msg;\n return `[${phase}] ${msg}`;\n }\n case bunyan.WARN:\n return `[${phase}] ${chalk.yellow(log.msg)}`;\n case bunyan.ERROR:\n return `[${phase}] ${chalk.red(log.msg)}`;\n case bunyan.FATAL:\n return `[${phase}] ${chalk.red(log.msg)}`;\n default:\n return log.msg;\n }\n }\n}\n\nexport const logBuffer = new BuildCliLogBuffer(MAX_LINES_IN_BUFFER);\n\nconst defaultlogger = bunyan.createLogger({\n name: 'eas-build-cli',\n serializers: bunyan.stdSerializers,\n streams: [\n {\n level: config.logger.level,\n stream: new PrettyStream(),\n },\n {\n level: 'info',\n stream: logBuffer,\n },\n ],\n});\n\nexport default defaultlogger;\n"]}
|
package/dist/main.js
CHANGED
|
@@ -8,15 +8,15 @@ const parseInput_1 = require("./parseInput");
|
|
|
8
8
|
const build_1 = require("./build");
|
|
9
9
|
const exit_1 = require("./exit");
|
|
10
10
|
const checkRuntime_1 = require("./checkRuntime");
|
|
11
|
-
exit_1.listenForInterrupts();
|
|
11
|
+
(0, exit_1.listenForInterrupts)();
|
|
12
12
|
async function main() {
|
|
13
13
|
try {
|
|
14
|
-
const { job } = await parseInput_1.parseInputAsync();
|
|
15
|
-
await checkRuntime_1.checkRuntimeAsync(job);
|
|
16
|
-
await build_1.buildAsync(job);
|
|
14
|
+
const { job } = await (0, parseInput_1.parseInputAsync)();
|
|
15
|
+
await (0, checkRuntime_1.checkRuntimeAsync)(job);
|
|
16
|
+
await (0, build_1.buildAsync)(job);
|
|
17
17
|
}
|
|
18
18
|
catch (err) {
|
|
19
|
-
if (!exit_1.shouldExit()) {
|
|
19
|
+
if (!(0, exit_1.shouldExit)()) {
|
|
20
20
|
console.error(chalk_1.default.red(err.message));
|
|
21
21
|
process.exit(1);
|
|
22
22
|
}
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAE1B,6CAA+C;AAC/C,mCAAqC;AACrC,iCAAyD;AACzD,iDAAmD;AAEnD,0BAAmB,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAE1B,6CAA+C;AAC/C,mCAAqC;AACrC,iCAAyD;AACzD,iDAAmD;AAEnD,IAAA,0BAAmB,GAAE,CAAC;AAEtB,KAAK,UAAU,IAAI;IACjB,IAAI;QACF,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAA,4BAAe,GAAE,CAAC;QACxC,MAAM,IAAA,gCAAiB,EAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,IAAA,kBAAU,EAAC,GAAG,CAAC,CAAC;KACvB;IAAC,OAAO,GAAQ,EAAE;QACjB,IAAI,CAAC,IAAA,iBAAU,GAAE,EAAE;YACjB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;KACF;AACH,CAAC;AAED,KAAK,IAAI,EAAE,CAAC","sourcesContent":["import chalk from 'chalk';\n\nimport { parseInputAsync } from './parseInput';\nimport { buildAsync } from './build';\nimport { listenForInterrupts, shouldExit } from './exit';\nimport { checkRuntimeAsync } from './checkRuntime';\n\nlistenForInterrupts();\n\nasync function main(): Promise<void> {\n try {\n const { job } = await parseInputAsync();\n await checkRuntimeAsync(job);\n await buildAsync(job);\n } catch (err: any) {\n if (!shouldExit()) {\n console.error(chalk.red(err.message));\n process.exit(1);\n }\n }\n}\n\nvoid main();\n"]}
|
package/dist/parseInput.js
CHANGED
|
@@ -32,7 +32,7 @@ async function parseInputAsync() {
|
|
|
32
32
|
throw err;
|
|
33
33
|
}
|
|
34
34
|
const params = validateParams(parsedParams);
|
|
35
|
-
exit_1.registerHandler(async () => {
|
|
35
|
+
(0, exit_1.registerHandler)(async () => {
|
|
36
36
|
if (params.job.projectArchive.type === eas_build_job_1.ArchiveSourceType.PATH) {
|
|
37
37
|
await fs_extra_1.default.remove(params.job.projectArchive.path);
|
|
38
38
|
}
|
|
@@ -50,7 +50,7 @@ function validateParams(params) {
|
|
|
50
50
|
throw error;
|
|
51
51
|
}
|
|
52
52
|
try {
|
|
53
|
-
const job = eas_build_job_1.sanitizeJob(value.job);
|
|
53
|
+
const job = (0, eas_build_job_1.sanitizeJob)(value.job);
|
|
54
54
|
return Object.assign(Object.assign({}, value), { job });
|
|
55
55
|
}
|
|
56
56
|
catch (err) {
|
package/dist/parseInput.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseInput.js","sourceRoot":"","sources":["../src/parseInput.ts"],"names":[],"mappings":";;;;;;AAAA,uDAA0E;AAC1E,8CAAsB;AACtB,kDAA0B;AAC1B,wDAA0B;AAE1B,iCAAyC;AAEzC,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAM/C,MAAM,YAAY,GAAG,aAAG,CAAC,MAAM,CAAS;IACtC,GAAG,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;CAC5B,CAAC,CAAC;AAEI,KAAK,UAAU,eAAe;IACnC,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;QAC/E,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEjC,IAAI,CAAC,QAAQ,EAAE;QACb,WAAW,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IACD,IAAI,YAAY,CAAC;IACjB,IAAI;QACF,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;KAC7E;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,KAAK,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,4DAA4D,CAAC,EAAE,CAAC,CAAC;QAC5F,MAAM,GAAG,CAAC;KACX;IACD,MAAM,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;IAC5C,sBAAe,
|
|
1
|
+
{"version":3,"file":"parseInput.js","sourceRoot":"","sources":["../src/parseInput.ts"],"names":[],"mappings":";;;;;;AAAA,uDAA0E;AAC1E,8CAAsB;AACtB,kDAA0B;AAC1B,wDAA0B;AAE1B,iCAAyC;AAEzC,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAM/C,MAAM,YAAY,GAAG,aAAG,CAAC,MAAM,CAAS;IACtC,GAAG,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;CAC5B,CAAC,CAAC;AAEI,KAAK,UAAU,eAAe;IACnC,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;QAC/E,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEjC,IAAI,CAAC,QAAQ,EAAE;QACb,WAAW,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IACD,IAAI,YAAY,CAAC;IACjB,IAAI;QACF,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;KAC7E;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,KAAK,CAAC,GAAG,eAAK,CAAC,GAAG,CAAC,4DAA4D,CAAC,EAAE,CAAC,CAAC;QAC5F,MAAM,GAAG,CAAC;KACX;IACD,MAAM,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;IAC5C,IAAA,sBAAe,EAAC,KAAK,IAAI,EAAE;QACzB,IAAI,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,KAAK,iCAAiB,CAAC,IAAI,EAAE;YAC7D,MAAM,kBAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;SACjD;IACH,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAzBD,0CAyBC;AAED,SAAS,cAAc,CAAC,MAAc;IACpC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE;QACrD,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,KAAK;KAClB,CAAC,CAAC;IACH,IAAI,KAAK,EAAE;QACT,MAAM,KAAK,CAAC;KACb;IACD,IAAI;QACF,MAAM,GAAG,GAAG,IAAA,2BAAW,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,uCAAY,KAAK,KAAE,GAAG,IAAG;KAC1B;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,OAAO,GAAG,CAAC,CAAC;QAC3E,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,GAAG,CACP,iEAAiE,eAAK,CAAC,IAAI,CACzE,SAAS,CACV,QAAQ,eAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,kDAAkD,CACxF,CACF,CAAC;QACF,MAAM,GAAG,CAAC;KACX;AACH,CAAC;AAED,SAAS,WAAW;IAClB,OAAO,CAAC,GAAG,CACT,+EAA+E,eAAK,CAAC,IAAI,CACvF,SAAS,CACV,4BAA4B,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CACtD,CAAC;AACJ,CAAC","sourcesContent":["import { Job, sanitizeJob, ArchiveSourceType } from '@expo/eas-build-job';\nimport Joi from 'joi';\nimport chalk from 'chalk';\nimport fs from 'fs-extra';\n\nimport { registerHandler } from './exit';\n\nconst packageJson = require('../package.json');\n\ninterface Params {\n job: Job;\n}\n\nconst ParamsSchema = Joi.object<Params>({\n job: Joi.object().unknown(),\n});\n\nexport async function parseInputAsync(): Promise<Params> {\n if (process.argv.findIndex((arg) => arg === '--version' || arg === '-v') !== -1) {\n console.log(packageJson.version);\n process.exit(0);\n }\n const rawInput = process.argv[2];\n\n if (!rawInput) {\n displayHelp();\n process.exit(1);\n }\n let parsedParams;\n try {\n parsedParams = JSON.parse(Buffer.from(rawInput, 'base64').toString('utf8'));\n } catch (err) {\n console.error(`${chalk.red('The input passed as a argument is not base64 encoded json.')}`);\n throw err;\n }\n const params = validateParams(parsedParams);\n registerHandler(async () => {\n if (params.job.projectArchive.type === ArchiveSourceType.PATH) {\n await fs.remove(params.job.projectArchive.path);\n }\n });\n return params;\n}\n\nfunction validateParams(params: object): Params {\n const { value, error } = ParamsSchema.validate(params, {\n stripUnknown: true,\n convert: true,\n abortEarly: false,\n });\n if (error) {\n throw error;\n }\n try {\n const job = sanitizeJob(value.job);\n return { ...value, job };\n } catch (err) {\n console.log(`Currently using ${packageJson.name}@${packageJson.version}.`);\n console.error(\n chalk.red(\n `Job object has incorrect format, update to latest versions of ${chalk.bold(\n 'eas-cli'\n )} and ${chalk.bold(packageJson.name)} to make sure you are using compatible packages.`\n )\n );\n throw err;\n }\n}\n\nfunction displayHelp(): void {\n console.log(\n `This tool is not intended for standalone use, it will be used internally by ${chalk.bold(\n 'eas-cli'\n )} when building with flag ${chalk.bold('--local')}.`\n );\n}\n"]}
|
package/dist/workingdir.js
CHANGED
|
@@ -18,7 +18,7 @@ async function prepareWorkingdirAsync() {
|
|
|
18
18
|
}
|
|
19
19
|
await fs_extra_1.default.mkdirp(path_1.default.join(workingdir, 'artifacts'));
|
|
20
20
|
await fs_extra_1.default.mkdirp(path_1.default.join(workingdir, 'build'));
|
|
21
|
-
exit_1.registerHandler(async () => {
|
|
21
|
+
(0, exit_1.registerHandler)(async () => {
|
|
22
22
|
if (!config_1.default.skipCleanup) {
|
|
23
23
|
await fs_extra_1.default.remove(workingdir);
|
|
24
24
|
}
|
package/dist/workingdir.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workingdir.js","sourceRoot":"","sources":["../src/workingdir.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,kDAA0B;AAC1B,wDAA0B;AAE1B,sDAA8B;AAC9B,sDAA8B;AAC9B,iCAAyC;AAElC,KAAK,UAAU,sBAAsB;IAC1C,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAM,CAAC;IAC9B,gBAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,wBAAwB,UAAU,EAAE,CAAC,CAAC;IAEjF,IAAI,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,kBAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QAClF,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;KAC7C;IACD,MAAM,kBAAE,CAAC,MAAM,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;IACpD,MAAM,kBAAE,CAAC,MAAM,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAChD,sBAAe,
|
|
1
|
+
{"version":3,"file":"workingdir.js","sourceRoot":"","sources":["../src/workingdir.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,kDAA0B;AAC1B,wDAA0B;AAE1B,sDAA8B;AAC9B,sDAA8B;AAC9B,iCAAyC;AAElC,KAAK,UAAU,sBAAsB;IAC1C,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAM,CAAC;IAC9B,gBAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,wBAAwB,UAAU,EAAE,CAAC,CAAC;IAEjF,IAAI,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,kBAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QAClF,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;KAC7C;IACD,MAAM,kBAAE,CAAC,MAAM,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;IACpD,MAAM,kBAAE,CAAC,MAAM,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAChD,IAAA,sBAAe,EAAC,KAAK,IAAI,EAAE;QACzB,IAAI,CAAC,gBAAM,CAAC,WAAW,EAAE;YACvB,MAAM,kBAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;SAC7B;aAAM;YACL,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,MAAM,CAAC,oEAAoE,CAAC,CACnF,CAAC;SACH;IACH,CAAC,CAAC,CAAC;IACH,OAAO,UAAU,CAAC;AACpB,CAAC;AAnBD,wDAmBC","sourcesContent":["import path from 'path';\n\nimport chalk from 'chalk';\nimport fs from 'fs-extra';\n\nimport config from './config';\nimport logger from './logger';\nimport { registerHandler } from './exit';\n\nexport async function prepareWorkingdirAsync(): Promise<string> {\n const { workingdir } = config;\n logger.info({ phase: 'SETUP_WORKINGDIR' }, `Preparing workingdir ${workingdir}`);\n\n if ((await fs.pathExists(workingdir)) && (await fs.readdir(workingdir)).length > 0) {\n throw new Error('Workingdir is not empty.');\n }\n await fs.mkdirp(path.join(workingdir, 'artifacts'));\n await fs.mkdirp(path.join(workingdir, 'build'));\n registerHandler(async () => {\n if (!config.skipCleanup) {\n await fs.remove(workingdir);\n } else {\n console.error(\n chalk.yellow(\"EAS_LOCAL_BUILD_SKIP_CLEANUP is set, working dir won't be removed.\")\n );\n }\n });\n return workingdir;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eas-cli-local-build-plugin",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.69",
|
|
4
4
|
"description": "Tool for running EAS compatible builds on a local machine.",
|
|
5
5
|
"main": "dist/main.js",
|
|
6
6
|
"bin": {
|
|
@@ -19,11 +19,11 @@
|
|
|
19
19
|
"bugs": "https://github.com/expo/eas-build/issues",
|
|
20
20
|
"license": "BUSL-1.1",
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@expo/build-tools": "0.1.
|
|
22
|
+
"@expo/build-tools": "0.1.113",
|
|
23
23
|
"@expo/bunyan": "^4.0.0",
|
|
24
|
-
"@expo/eas-build-job": "0.2.
|
|
24
|
+
"@expo/eas-build-job": "0.2.68",
|
|
25
25
|
"@expo/spawn-async": "^1.5.0",
|
|
26
|
-
"@expo/turtle-spawn": "0.0.
|
|
26
|
+
"@expo/turtle-spawn": "0.0.22",
|
|
27
27
|
"chalk": "^4.1.0",
|
|
28
28
|
"env-paths": "2.2.0",
|
|
29
29
|
"expo-cli": "5.0.5",
|
|
@@ -41,6 +41,8 @@
|
|
|
41
41
|
"@types/semver": "^7.3.4",
|
|
42
42
|
"@types/tar": "^4.0.4",
|
|
43
43
|
"@types/uuid": "^8.3.0",
|
|
44
|
-
"
|
|
44
|
+
"jest": "^27.5.1",
|
|
45
|
+
"ts-jest": "^27.1.3",
|
|
46
|
+
"typescript": "^4.6.2"
|
|
45
47
|
}
|
|
46
48
|
}
|
package/src/android.ts
CHANGED
|
@@ -2,11 +2,11 @@ import { Android, BuildPhase } from '@expo/eas-build-job';
|
|
|
2
2
|
import { Builders, BuildContext } from '@expo/build-tools';
|
|
3
3
|
import omit from 'lodash/omit';
|
|
4
4
|
|
|
5
|
-
import { LocalExpoCliEjectProvider } from './eject';
|
|
6
5
|
import logger, { logBuffer } from './logger';
|
|
7
6
|
import { BuildParams } from './types';
|
|
8
7
|
import { prepareBuildArtifact } from './buildArtifact';
|
|
9
8
|
import config from './config';
|
|
9
|
+
import { runExpoCliCommandAsync } from './expoCli';
|
|
10
10
|
|
|
11
11
|
export async function buildAndroidAsync(
|
|
12
12
|
job: Android.Job,
|
|
@@ -16,7 +16,7 @@ export async function buildAndroidAsync(
|
|
|
16
16
|
workingdir,
|
|
17
17
|
logger,
|
|
18
18
|
logBuffer,
|
|
19
|
-
|
|
19
|
+
runExpoCliCommand: runExpoCliCommandAsync,
|
|
20
20
|
env,
|
|
21
21
|
skipNativeBuild: config.skipNativeBuild,
|
|
22
22
|
});
|
package/src/build.ts
CHANGED
|
@@ -34,7 +34,7 @@ export async function buildAsync(job: Job): Promise<void> {
|
|
|
34
34
|
console.log(chalk.green('Build successful'));
|
|
35
35
|
console.log(chalk.green(`You can find the build artifacts in ${artifactPath}`));
|
|
36
36
|
}
|
|
37
|
-
} catch (e) {
|
|
37
|
+
} catch (e: any) {
|
|
38
38
|
if (e instanceof SkipNativeBuildError) {
|
|
39
39
|
console.log(e.message);
|
|
40
40
|
return;
|
package/src/expoCli.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
|
|
3
|
+
import spawnAsync, { SpawnOptions } from '@expo/turtle-spawn';
|
|
4
|
+
|
|
5
|
+
const expoCliPackage = require.resolve('expo-cli');
|
|
6
|
+
|
|
7
|
+
export async function runExpoCliCommandAsync(
|
|
8
|
+
command: string,
|
|
9
|
+
options: SpawnOptions
|
|
10
|
+
): Promise<void> {
|
|
11
|
+
const expoCliBinPath =
|
|
12
|
+
process.env.EXPO_CLI_PATH ?? path.resolve(path.dirname(expoCliPackage), '../bin/expo.js');
|
|
13
|
+
options?.logger?.debug(`${expoCliBinPath} ${command}`);
|
|
14
|
+
await spawnAsync('bash', ['-c', `${expoCliBinPath} ${command}`], options);
|
|
15
|
+
}
|
package/src/ios.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { Ios, BuildPhase } from '@expo/eas-build-job';
|
|
|
2
2
|
import { Builders, BuildContext } from '@expo/build-tools';
|
|
3
3
|
import omit from 'lodash/omit';
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { runExpoCliCommandAsync } from './expoCli';
|
|
6
6
|
import logger, { logBuffer } from './logger';
|
|
7
7
|
import { BuildParams } from './types';
|
|
8
8
|
import { prepareBuildArtifact } from './buildArtifact';
|
|
@@ -16,7 +16,7 @@ export async function buildIosAsync(
|
|
|
16
16
|
workingdir,
|
|
17
17
|
logger,
|
|
18
18
|
logBuffer,
|
|
19
|
-
|
|
19
|
+
runExpoCliCommand: runExpoCliCommandAsync,
|
|
20
20
|
env,
|
|
21
21
|
skipNativeBuild: config.skipNativeBuild,
|
|
22
22
|
});
|
package/src/main.ts
CHANGED
|
@@ -12,7 +12,7 @@ async function main(): Promise<void> {
|
|
|
12
12
|
const { job } = await parseInputAsync();
|
|
13
13
|
await checkRuntimeAsync(job);
|
|
14
14
|
await buildAsync(job);
|
|
15
|
-
} catch (err) {
|
|
15
|
+
} catch (err: any) {
|
|
16
16
|
if (!shouldExit()) {
|
|
17
17
|
console.error(chalk.red(err.message));
|
|
18
18
|
process.exit(1);
|
package/dist/eject.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { Job } from '@expo/eas-build-job';
|
|
2
|
-
import { BuildContext, EjectProvider, EjectOptions } from '@expo/build-tools';
|
|
3
|
-
export declare class LocalExpoCliEjectProvider implements EjectProvider<Job> {
|
|
4
|
-
runEject(ctx: BuildContext<Job>, options?: EjectOptions): Promise<void>;
|
|
5
|
-
private getPrebuildCommand;
|
|
6
|
-
}
|
package/dist/eject.js
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.LocalExpoCliEjectProvider = void 0;
|
|
7
|
-
const path_1 = __importDefault(require("path"));
|
|
8
|
-
const turtle_spawn_1 = __importDefault(require("@expo/turtle-spawn"));
|
|
9
|
-
const expoCliPackage = require.resolve('expo-cli');
|
|
10
|
-
class LocalExpoCliEjectProvider {
|
|
11
|
-
async runEject(ctx, options) {
|
|
12
|
-
var _a;
|
|
13
|
-
const { logger, job } = ctx;
|
|
14
|
-
const spawnOptions = {
|
|
15
|
-
cwd: ctx.buildDirectory,
|
|
16
|
-
logger: ctx.logger,
|
|
17
|
-
env: Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.extraEnvs), ctx.env),
|
|
18
|
-
};
|
|
19
|
-
const expoCliBinPath = (_a = process.env.EXPO_CLI_PATH) !== null && _a !== void 0 ? _a : path_1.default.resolve(path_1.default.dirname(expoCliPackage), '../bin/expo.js');
|
|
20
|
-
const prebuildCommand = this.getPrebuildCommand(job);
|
|
21
|
-
logger.debug(`${expoCliBinPath} ${prebuildCommand}`);
|
|
22
|
-
await turtle_spawn_1.default('bash', ['-c', `${expoCliBinPath} ${prebuildCommand}`], Object.assign(Object.assign({}, spawnOptions), { cwd: ctx.reactNativeProjectDirectory }));
|
|
23
|
-
await turtle_spawn_1.default(ctx.packageManager, ['install'], Object.assign(Object.assign({}, spawnOptions), { cwd: ctx.reactNativeProjectDirectory }));
|
|
24
|
-
}
|
|
25
|
-
getPrebuildCommand(job) {
|
|
26
|
-
var _a, _b;
|
|
27
|
-
let prebuildCommand = (_b = (_a = job.experimental) === null || _a === void 0 ? void 0 : _a.prebuildCommand) !== null && _b !== void 0 ? _b : `prebuild --non-interactive --platform ${job.platform}`;
|
|
28
|
-
if (!prebuildCommand.match(/(?:--platform| -p)/)) {
|
|
29
|
-
prebuildCommand = `${prebuildCommand} --platform ${job.platform}`;
|
|
30
|
-
}
|
|
31
|
-
if (!prebuildCommand.match(/--non-interactive/)) {
|
|
32
|
-
prebuildCommand = `${prebuildCommand} --non-interactive`;
|
|
33
|
-
}
|
|
34
|
-
const npxCommandPrefix = 'npx ';
|
|
35
|
-
const expoCommandPrefix = 'expo ';
|
|
36
|
-
const expoCliCommandPrefix = 'expo-cli ';
|
|
37
|
-
if (prebuildCommand.startsWith(npxCommandPrefix)) {
|
|
38
|
-
prebuildCommand = prebuildCommand.substr(npxCommandPrefix.length).trim();
|
|
39
|
-
}
|
|
40
|
-
if (prebuildCommand.startsWith(expoCommandPrefix)) {
|
|
41
|
-
prebuildCommand = prebuildCommand.substr(expoCommandPrefix.length).trim();
|
|
42
|
-
}
|
|
43
|
-
if (prebuildCommand.startsWith(expoCliCommandPrefix)) {
|
|
44
|
-
prebuildCommand = prebuildCommand.substr(expoCliCommandPrefix.length).trim();
|
|
45
|
-
}
|
|
46
|
-
return prebuildCommand;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
exports.LocalExpoCliEjectProvider = LocalExpoCliEjectProvider;
|
|
50
|
-
//# sourceMappingURL=eject.js.map
|
package/dist/eject.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"eject.js","sourceRoot":"","sources":["../src/eject.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAIxB,sEAA4C;AAE5C,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAEnD,MAAa,yBAAyB;IACpC,KAAK,CAAC,QAAQ,CAAC,GAAsB,EAAE,OAAsB;;QAC3D,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;QAE5B,MAAM,YAAY,GAAG;YACnB,GAAG,EAAE,GAAG,CAAC,cAAc;YACvB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,GAAG,kCACE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,GAClB,GAAG,CAAC,GAAG,CACX;SACF,CAAC;QAEF,MAAM,cAAc,GAClB,MAAA,OAAO,CAAC,GAAG,CAAC,aAAa,mCAAI,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAC5F,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,GAAG,cAAc,IAAI,eAAe,EAAE,CAAC,CAAC;QACrD,MAAM,sBAAU,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,cAAc,IAAI,eAAe,EAAE,CAAC,kCAClE,YAAY,KACf,GAAG,EAAE,GAAG,CAAC,2BAA2B,IACpC,CAAC;QAEH,MAAM,sBAAU,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,kCAC3C,YAAY,KACf,GAAG,EAAE,GAAG,CAAC,2BAA2B,IACpC,CAAC;IACL,CAAC;IAEO,kBAAkB,CAAC,GAAQ;;QACjC,IAAI,eAAe,GACjB,MAAA,MAAA,GAAG,CAAC,YAAY,0CAAE,eAAe,mCAAI,yCAAyC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC/F,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE;YAChD,eAAe,GAAG,GAAG,eAAe,eAAe,GAAG,CAAC,QAAQ,EAAE,CAAC;SACnE;QACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE;YAC/C,eAAe,GAAG,GAAG,eAAe,oBAAoB,CAAC;SAC1D;QACD,MAAM,gBAAgB,GAAG,MAAM,CAAC;QAChC,MAAM,iBAAiB,GAAG,OAAO,CAAC;QAClC,MAAM,oBAAoB,GAAG,WAAW,CAAC;QACzC,IAAI,eAAe,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;YAChD,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;SAC1E;QACD,IAAI,eAAe,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE;YACjD,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;SAC3E;QACD,IAAI,eAAe,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE;YACpD,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;SAC9E;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;CACF;AAnDD,8DAmDC","sourcesContent":["import path from 'path';\n\nimport { Job } from '@expo/eas-build-job';\nimport { BuildContext, EjectProvider, EjectOptions } from '@expo/build-tools';\nimport spawnAsync from '@expo/turtle-spawn';\n\nconst expoCliPackage = require.resolve('expo-cli');\n\nexport class LocalExpoCliEjectProvider implements EjectProvider<Job> {\n async runEject(ctx: BuildContext<Job>, options?: EjectOptions): Promise<void> {\n const { logger, job } = ctx;\n\n const spawnOptions = {\n cwd: ctx.buildDirectory,\n logger: ctx.logger,\n env: {\n ...options?.extraEnvs,\n ...ctx.env,\n },\n };\n\n const expoCliBinPath =\n process.env.EXPO_CLI_PATH ?? path.resolve(path.dirname(expoCliPackage), '../bin/expo.js');\n const prebuildCommand = this.getPrebuildCommand(job);\n logger.debug(`${expoCliBinPath} ${prebuildCommand}`);\n await spawnAsync('bash', ['-c', `${expoCliBinPath} ${prebuildCommand}`], {\n ...spawnOptions,\n cwd: ctx.reactNativeProjectDirectory,\n });\n\n await spawnAsync(ctx.packageManager, ['install'], {\n ...spawnOptions,\n cwd: ctx.reactNativeProjectDirectory,\n });\n }\n\n private getPrebuildCommand(job: Job): string {\n let prebuildCommand =\n job.experimental?.prebuildCommand ?? `prebuild --non-interactive --platform ${job.platform}`;\n if (!prebuildCommand.match(/(?:--platform| -p)/)) {\n prebuildCommand = `${prebuildCommand} --platform ${job.platform}`;\n }\n if (!prebuildCommand.match(/--non-interactive/)) {\n prebuildCommand = `${prebuildCommand} --non-interactive`;\n }\n const npxCommandPrefix = 'npx ';\n const expoCommandPrefix = 'expo ';\n const expoCliCommandPrefix = 'expo-cli ';\n if (prebuildCommand.startsWith(npxCommandPrefix)) {\n prebuildCommand = prebuildCommand.substr(npxCommandPrefix.length).trim();\n }\n if (prebuildCommand.startsWith(expoCommandPrefix)) {\n prebuildCommand = prebuildCommand.substr(expoCommandPrefix.length).trim();\n }\n if (prebuildCommand.startsWith(expoCliCommandPrefix)) {\n prebuildCommand = prebuildCommand.substr(expoCliCommandPrefix.length).trim();\n }\n return prebuildCommand;\n }\n}\n"]}
|
package/src/eject.ts
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import path from 'path';
|
|
2
|
-
|
|
3
|
-
import { Job } from '@expo/eas-build-job';
|
|
4
|
-
import { BuildContext, EjectProvider, EjectOptions } from '@expo/build-tools';
|
|
5
|
-
import spawnAsync from '@expo/turtle-spawn';
|
|
6
|
-
|
|
7
|
-
const expoCliPackage = require.resolve('expo-cli');
|
|
8
|
-
|
|
9
|
-
export class LocalExpoCliEjectProvider implements EjectProvider<Job> {
|
|
10
|
-
async runEject(ctx: BuildContext<Job>, options?: EjectOptions): Promise<void> {
|
|
11
|
-
const { logger, job } = ctx;
|
|
12
|
-
|
|
13
|
-
const spawnOptions = {
|
|
14
|
-
cwd: ctx.buildDirectory,
|
|
15
|
-
logger: ctx.logger,
|
|
16
|
-
env: {
|
|
17
|
-
...options?.extraEnvs,
|
|
18
|
-
...ctx.env,
|
|
19
|
-
},
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
const expoCliBinPath =
|
|
23
|
-
process.env.EXPO_CLI_PATH ?? path.resolve(path.dirname(expoCliPackage), '../bin/expo.js');
|
|
24
|
-
const prebuildCommand = this.getPrebuildCommand(job);
|
|
25
|
-
logger.debug(`${expoCliBinPath} ${prebuildCommand}`);
|
|
26
|
-
await spawnAsync('bash', ['-c', `${expoCliBinPath} ${prebuildCommand}`], {
|
|
27
|
-
...spawnOptions,
|
|
28
|
-
cwd: ctx.reactNativeProjectDirectory,
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
await spawnAsync(ctx.packageManager, ['install'], {
|
|
32
|
-
...spawnOptions,
|
|
33
|
-
cwd: ctx.reactNativeProjectDirectory,
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
private getPrebuildCommand(job: Job): string {
|
|
38
|
-
let prebuildCommand =
|
|
39
|
-
job.experimental?.prebuildCommand ?? `prebuild --non-interactive --platform ${job.platform}`;
|
|
40
|
-
if (!prebuildCommand.match(/(?:--platform| -p)/)) {
|
|
41
|
-
prebuildCommand = `${prebuildCommand} --platform ${job.platform}`;
|
|
42
|
-
}
|
|
43
|
-
if (!prebuildCommand.match(/--non-interactive/)) {
|
|
44
|
-
prebuildCommand = `${prebuildCommand} --non-interactive`;
|
|
45
|
-
}
|
|
46
|
-
const npxCommandPrefix = 'npx ';
|
|
47
|
-
const expoCommandPrefix = 'expo ';
|
|
48
|
-
const expoCliCommandPrefix = 'expo-cli ';
|
|
49
|
-
if (prebuildCommand.startsWith(npxCommandPrefix)) {
|
|
50
|
-
prebuildCommand = prebuildCommand.substr(npxCommandPrefix.length).trim();
|
|
51
|
-
}
|
|
52
|
-
if (prebuildCommand.startsWith(expoCommandPrefix)) {
|
|
53
|
-
prebuildCommand = prebuildCommand.substr(expoCommandPrefix.length).trim();
|
|
54
|
-
}
|
|
55
|
-
if (prebuildCommand.startsWith(expoCliCommandPrefix)) {
|
|
56
|
-
prebuildCommand = prebuildCommand.substr(expoCliCommandPrefix.length).trim();
|
|
57
|
-
}
|
|
58
|
-
return prebuildCommand;
|
|
59
|
-
}
|
|
60
|
-
}
|