eas-cli-local-build-plugin 0.0.59 → 0.0.60
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/eject.d.ts +1 -0
- package/dist/eject.js +26 -2
- package/dist/eject.js.map +1 -1
- package/package.json +4 -4
- package/src/eject.ts +30 -9
package/dist/eject.d.ts
CHANGED
|
@@ -2,4 +2,5 @@ import { Job } from '@expo/eas-build-job';
|
|
|
2
2
|
import { BuildContext, EjectProvider, EjectOptions } from '@expo/build-tools';
|
|
3
3
|
export declare class LocalExpoCliEjectProvider implements EjectProvider<Job> {
|
|
4
4
|
runEject(ctx: BuildContext<Job>, options?: EjectOptions): Promise<void>;
|
|
5
|
+
private getPrebuildCommand;
|
|
5
6
|
}
|
package/dist/eject.js
CHANGED
|
@@ -17,10 +17,34 @@ class LocalExpoCliEjectProvider {
|
|
|
17
17
|
env: Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.extraEnvs), ctx.env),
|
|
18
18
|
};
|
|
19
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
|
-
|
|
21
|
-
|
|
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 }));
|
|
22
23
|
await turtle_spawn_1.default(ctx.packageManager, ['install'], Object.assign(Object.assign({}, spawnOptions), { cwd: ctx.reactNativeProjectDirectory }));
|
|
23
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
|
+
}
|
|
24
48
|
}
|
|
25
49
|
exports.LocalExpoCliEjectProvider = LocalExpoCliEjectProvider;
|
|
26
50
|
//# sourceMappingURL=eject.js.map
|
package/dist/eject.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,CAAC,
|
|
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/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.60",
|
|
4
4
|
"description": "Tool for running EAS compatible builds on a local machine.",
|
|
5
5
|
"main": "dist/main.js",
|
|
6
6
|
"bin": {
|
|
@@ -19,13 +19,13 @@
|
|
|
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.105",
|
|
23
23
|
"@expo/bunyan": "^4.0.0",
|
|
24
|
-
"@expo/eas-build-job": "0.2.
|
|
24
|
+
"@expo/eas-build-job": "0.2.63",
|
|
25
25
|
"@expo/spawn-async": "^1.5.0",
|
|
26
26
|
"@expo/turtle-spawn": "0.0.21",
|
|
27
27
|
"chalk": "^4.1.0",
|
|
28
|
-
"expo-cli": "5.0.
|
|
28
|
+
"expo-cli": "5.0.5",
|
|
29
29
|
"fs-extra": "^9.1.0",
|
|
30
30
|
"joi": "^17.4.2",
|
|
31
31
|
"lodash": "^4.17.21",
|
package/src/eject.ts
CHANGED
|
@@ -21,19 +21,40 @@ export class LocalExpoCliEjectProvider implements EjectProvider<Job> {
|
|
|
21
21
|
|
|
22
22
|
const expoCliBinPath =
|
|
23
23
|
process.env.EXPO_CLI_PATH ?? path.resolve(path.dirname(expoCliPackage), '../bin/expo.js');
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
cwd: ctx.reactNativeProjectDirectory,
|
|
31
|
-
}
|
|
32
|
-
);
|
|
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
|
+
});
|
|
33
30
|
|
|
34
31
|
await spawnAsync(ctx.packageManager, ['install'], {
|
|
35
32
|
...spawnOptions,
|
|
36
33
|
cwd: ctx.reactNativeProjectDirectory,
|
|
37
34
|
});
|
|
38
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
|
+
}
|
|
39
60
|
}
|