eas-cli-local-build-plugin 0.0.67 → 0.0.68

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 CHANGED
@@ -30,16 +30,16 @@ exports.buildAndroidAsync = void 0;
30
30
  const eas_build_job_1 = require("@expo/eas-build-job");
31
31
  const build_tools_1 = require("@expo/build-tools");
32
32
  const omit_1 = __importDefault(require("lodash/omit"));
33
- const eject_1 = require("./eject");
34
33
  const logger_1 = __importStar(require("./logger"));
35
34
  const buildArtifact_1 = require("./buildArtifact");
36
35
  const config_1 = __importDefault(require("./config"));
36
+ const expoCli_1 = require("./expoCli");
37
37
  async function buildAndroidAsync(job, { workingdir, env }) {
38
38
  const ctx = new build_tools_1.BuildContext(job, {
39
39
  workingdir,
40
40
  logger: logger_1.default,
41
41
  logBuffer: logger_1.logBuffer,
42
- ejectProvider: new eject_1.LocalExpoCliEjectProvider(),
42
+ runExpoCliCommand: expoCli_1.runExpoCliCommandAsync,
43
43
  env,
44
44
  skipNativeBuild: config_1.default.skipNativeBuild,
45
45
  });
@@ -1 +1 @@
1
- {"version":3,"file":"android.js","sourceRoot":"","sources":["../src/android.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAA0D;AAC1D,mDAA2D;AAC3D,uDAA+B;AAE/B,mCAAoD;AACpD,mDAA6C;AAE7C,mDAAuD;AACvD,sDAA8B;AAEvB,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,aAAa,EAAE,IAAI,iCAAyB,EAAE;QAC9C,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 { LocalExpoCliEjectProvider } from './eject';\nimport logger, { logBuffer } from './logger';\nimport { BuildParams } from './types';\nimport { prepareBuildArtifact } from './buildArtifact';\nimport config from './config';\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 ejectProvider: new LocalExpoCliEjectProvider(),\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"]}
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"]}
@@ -0,0 +1,2 @@
1
+ import { SpawnOptions } from '@expo/turtle-spawn';
2
+ export declare function runExpoCliCommandAsync(command: string, options: SpawnOptions): Promise<void>;
@@ -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
@@ -30,7 +30,7 @@ exports.buildIosAsync = void 0;
30
30
  const eas_build_job_1 = require("@expo/eas-build-job");
31
31
  const build_tools_1 = require("@expo/build-tools");
32
32
  const omit_1 = __importDefault(require("lodash/omit"));
33
- const eject_1 = require("./eject");
33
+ const expoCli_1 = require("./expoCli");
34
34
  const logger_1 = __importStar(require("./logger"));
35
35
  const buildArtifact_1 = require("./buildArtifact");
36
36
  const config_1 = __importDefault(require("./config"));
@@ -39,7 +39,7 @@ async function buildIosAsync(job, { workingdir, env }) {
39
39
  workingdir,
40
40
  logger: logger_1.default,
41
41
  logBuffer: logger_1.logBuffer,
42
- ejectProvider: new eject_1.LocalExpoCliEjectProvider(),
42
+ runExpoCliCommand: expoCli_1.runExpoCliCommandAsync,
43
43
  env,
44
44
  skipNativeBuild: config_1.default.skipNativeBuild,
45
45
  });
package/dist/ios.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ios.js","sourceRoot":"","sources":["../src/ios.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAsD;AACtD,mDAA2D;AAC3D,uDAA+B;AAE/B,mCAAoD;AACpD,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,aAAa,EAAE,IAAI,iCAAyB,EAAE;QAC9C,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 { LocalExpoCliEjectProvider } from './eject';\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 ejectProvider: new LocalExpoCliEjectProvider(),\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"]}
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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eas-cli-local-build-plugin",
3
- "version": "0.0.67",
3
+ "version": "0.0.68",
4
4
  "description": "Tool for running EAS compatible builds on a local machine.",
5
5
  "main": "dist/main.js",
6
6
  "bin": {
@@ -19,9 +19,9 @@
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.111",
22
+ "@expo/build-tools": "0.1.112",
23
23
  "@expo/bunyan": "^4.0.0",
24
- "@expo/eas-build-job": "0.2.67",
24
+ "@expo/eas-build-job": "0.2.68",
25
25
  "@expo/spawn-async": "^1.5.0",
26
26
  "@expo/turtle-spawn": "0.0.22",
27
27
  "chalk": "^4.1.0",
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
- ejectProvider: new LocalExpoCliEjectProvider(),
19
+ runExpoCliCommand: runExpoCliCommandAsync,
20
20
  env,
21
21
  skipNativeBuild: config.skipNativeBuild,
22
22
  });
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 { LocalExpoCliEjectProvider } from './eject';
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
- ejectProvider: new LocalExpoCliEjectProvider(),
19
+ runExpoCliCommand: runExpoCliCommandAsync,
20
20
  env,
21
21
  skipNativeBuild: config.skipNativeBuild,
22
22
  });
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 (0, turtle_spawn_1.default)('bash', ['-c', `${expoCliBinPath} ${prebuildCommand}`], Object.assign(Object.assign({}, spawnOptions), { cwd: ctx.reactNativeProjectDirectory }));
23
- await (0, 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,IAAA,sBAAU,EAAC,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,cAAc,IAAI,eAAe,EAAE,CAAC,kCAClE,YAAY,KACf,GAAG,EAAE,GAAG,CAAC,2BAA2B,IACpC,CAAC;QAEH,MAAM,IAAA,sBAAU,EAAC,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
- }