@expo/build-tools 0.1.123 → 0.1.124
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/utils/project.js +19 -19
- package/dist/utils/project.js.map +1 -1
- package/package.json +2 -2
package/dist/utils/project.js
CHANGED
|
@@ -14,6 +14,7 @@ const npmrc_1 = require("./npmrc");
|
|
|
14
14
|
const packageManager_1 = require("./packageManager");
|
|
15
15
|
const MAX_EXPO_DOCTOR_TIMEOUT_MS = 20 * 1000;
|
|
16
16
|
async function setup(ctx) {
|
|
17
|
+
var _a;
|
|
17
18
|
await ctx.runBuildPhase(eas_build_job_1.BuildPhase.PREPARE_PROJECT, async () => {
|
|
18
19
|
await downloadAndUnpackProject(ctx);
|
|
19
20
|
if (ctx.env.NPM_TOKEN) {
|
|
@@ -26,33 +27,32 @@ async function setup(ctx) {
|
|
|
26
27
|
await ctx.runBuildPhase(eas_build_job_1.BuildPhase.INSTALL_DEPENDENCIES, async () => {
|
|
27
28
|
await installDependencies(ctx);
|
|
28
29
|
});
|
|
29
|
-
await ctx.runBuildPhase(eas_build_job_1.BuildPhase.READ_PACKAGE_JSON, async () => {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
catch (err) {
|
|
36
|
-
ctx.logger.warn(`Failed to parse or read package.json: ${err.message}`);
|
|
37
|
-
}
|
|
30
|
+
const packageJson = await ctx.runBuildPhase(eas_build_job_1.BuildPhase.READ_PACKAGE_JSON, async () => {
|
|
31
|
+
const packageJsonContents = await (0, packageManager_1.readPackageJson)(ctx.reactNativeProjectDirectory);
|
|
32
|
+
ctx.logger.info('Using package.json:');
|
|
33
|
+
ctx.logger.info(JSON.stringify(packageJsonContents, null, 2));
|
|
34
|
+
return packageJsonContents;
|
|
38
35
|
});
|
|
39
36
|
await ctx.runBuildPhase(eas_build_job_1.BuildPhase.READ_APP_CONFIG, async () => {
|
|
40
37
|
const appConfig = ctx.appConfig;
|
|
41
38
|
ctx.logger.info('Using app configuration:');
|
|
42
39
|
ctx.logger.info(JSON.stringify(appConfig, null, 2));
|
|
43
40
|
});
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
41
|
+
const hasExpoPackage = !!((_a = packageJson === null || packageJson === void 0 ? void 0 : packageJson.dependencies) === null || _a === void 0 ? void 0 : _a.expo);
|
|
42
|
+
if (hasExpoPackage) {
|
|
43
|
+
await ctx.runBuildPhase(eas_build_job_1.BuildPhase.RUN_EXPO_DOCTOR, async () => {
|
|
44
|
+
try {
|
|
45
|
+
const { stdout } = await runExpoDoctor(ctx);
|
|
46
|
+
if (!stdout.match(/Didn't find any issues with the project/)) {
|
|
47
|
+
ctx.markBuildPhaseHasWarnings();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
catch (err) {
|
|
51
|
+
ctx.logger.error({ err }, 'Command "expo doctor" failed.');
|
|
48
52
|
ctx.markBuildPhaseHasWarnings();
|
|
49
53
|
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
ctx.logger.error({ err }, 'Command "expo doctor" failed.');
|
|
53
|
-
ctx.markBuildPhaseHasWarnings();
|
|
54
|
-
}
|
|
55
|
-
});
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
56
|
}
|
|
57
57
|
exports.setup = setup;
|
|
58
58
|
async function downloadAndUnpackProject(ctx) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/utils/project.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,kEAA4C;AAC5C,uDAAyE;AACzE,sEAAwD;AACxD,wDAA0B;AAI1B,mCAAiD;AACjD,mCAAsD;AACtD,qDAAwE;AAExE,MAAM,0BAA0B,GAAG,EAAE,GAAG,IAAI,CAAC;AAEtC,KAAK,UAAU,KAAK,CAAmB,GAAuB
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/utils/project.ts"],"names":[],"mappings":"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","sourcesContent":["import path from 'path';\n\nimport downloadFile from '@expo/downloader';\nimport { ArchiveSourceType, BuildPhase, Job } from '@expo/eas-build-job';\nimport spawn, { SpawnResult } from '@expo/turtle-spawn';\nimport fs from 'fs-extra';\n\nimport { BuildContext } from '../context';\n\nimport { Hook, runHookIfPresent } from './hooks';\nimport { createNpmrcIfNotExistsAsync } from './npmrc';\nimport { findPackagerRootDir, readPackageJson } from './packageManager';\n\nconst MAX_EXPO_DOCTOR_TIMEOUT_MS = 20 * 1000;\n\nexport async function setup<TJob extends Job>(ctx: BuildContext<TJob>): Promise<void> {\n await ctx.runBuildPhase(BuildPhase.PREPARE_PROJECT, async () => {\n await downloadAndUnpackProject(ctx);\n if (ctx.env.NPM_TOKEN) {\n await createNpmrcIfNotExistsAsync(ctx);\n }\n });\n\n await ctx.runBuildPhase(BuildPhase.PRE_INSTALL_HOOK, async () => {\n await runHookIfPresent(ctx, Hook.PRE_INSTALL);\n });\n\n await ctx.runBuildPhase(BuildPhase.INSTALL_DEPENDENCIES, async () => {\n await installDependencies(ctx);\n });\n\n const packageJson = await ctx.runBuildPhase(BuildPhase.READ_PACKAGE_JSON, async () => {\n const packageJsonContents = await readPackageJson(ctx.reactNativeProjectDirectory);\n ctx.logger.info('Using package.json:');\n ctx.logger.info(JSON.stringify(packageJsonContents, null, 2));\n return packageJsonContents;\n });\n\n await ctx.runBuildPhase(BuildPhase.READ_APP_CONFIG, async () => {\n const appConfig = ctx.appConfig;\n ctx.logger.info('Using app configuration:');\n ctx.logger.info(JSON.stringify(appConfig, null, 2));\n });\n\n const hasExpoPackage = !!packageJson?.dependencies?.expo;\n if (hasExpoPackage) {\n await ctx.runBuildPhase(BuildPhase.RUN_EXPO_DOCTOR, async () => {\n try {\n const { stdout } = await runExpoDoctor(ctx);\n if (!stdout.match(/Didn't find any issues with the project/)) {\n ctx.markBuildPhaseHasWarnings();\n }\n } catch (err) {\n ctx.logger.error({ err }, 'Command \"expo doctor\" failed.');\n ctx.markBuildPhaseHasWarnings();\n }\n });\n }\n}\n\nasync function downloadAndUnpackProject<TJob extends Job>(ctx: BuildContext<TJob>): Promise<void> {\n const projectTarball = path.join(ctx.workingdir, 'project.tar.gz');\n if (ctx.job.projectArchive.type === ArchiveSourceType.S3) {\n throw new Error('ArchiveSourceType.S3 should be resolved earlier to url');\n } else if (ctx.job.projectArchive.type === ArchiveSourceType.PATH) {\n await fs.copy(ctx.job.projectArchive.path, projectTarball); // used in eas-build-cli\n } else if (ctx.job.projectArchive.type === ArchiveSourceType.URL) {\n try {\n await downloadFile(ctx.job.projectArchive.url, projectTarball, { retry: 3 });\n } catch (err: any) {\n ctx?.reportError?.('Failed to download project archive', err);\n throw err;\n }\n }\n\n await spawn(\n 'tar',\n ['--strip-components', '1', '-zxf', 'project.tar.gz', '-C', ctx.buildDirectory],\n {\n cwd: ctx.workingdir,\n logger: ctx.logger,\n }\n );\n}\n\nasync function installDependencies<TJob extends Job>(ctx: BuildContext<TJob>): Promise<void> {\n const packagerRunDir = findPackagerRootDir(ctx.reactNativeProjectDirectory);\n if (packagerRunDir !== ctx.reactNativeProjectDirectory) {\n const relativeReactNativeProjectDirectory = path.relative(\n ctx.buildDirectory,\n ctx.reactNativeProjectDirectory\n );\n ctx.logger.info(`We detected that '${relativeReactNativeProjectDirectory}' is a workspace`);\n }\n\n const relativePackagerRunDir = path.relative(ctx.buildDirectory, packagerRunDir);\n ctx.logger.info(\n `Running ${ctx.packageManager} in ${\n relativePackagerRunDir\n ? `directory '${relativePackagerRunDir}'`\n : 'the root dir of your repository'\n } `\n );\n await spawn(ctx.packageManager, ['install'], {\n cwd: packagerRunDir,\n logger: ctx.logger,\n env: ctx.env,\n });\n}\n\nasync function runExpoDoctor<TJob extends Job>(ctx: BuildContext<TJob>): Promise<SpawnResult> {\n ctx.logger.info('Running \"expo doctor\"');\n let timeout: NodeJS.Timeout | undefined;\n try {\n const promise = ctx.runExpoCliCommand('doctor', {\n cwd: ctx.reactNativeProjectDirectory,\n logger: ctx.logger,\n env: ctx.env,\n });\n timeout = setTimeout(() => {\n promise.child.kill();\n ctx?.reportError?.(`\"expo doctor\" timed out`);\n }, MAX_EXPO_DOCTOR_TIMEOUT_MS);\n return await promise;\n } finally {\n if (timeout) {\n clearTimeout(timeout);\n }\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expo/build-tools",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.124",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"files": [
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"@expo/config": "6.0.21",
|
|
23
23
|
"@expo/config-plugins": "4.1.2",
|
|
24
24
|
"@expo/downloader": "0.0.19",
|
|
25
|
-
"@expo/eas-build-job": "0.2.
|
|
25
|
+
"@expo/eas-build-job": "0.2.73",
|
|
26
26
|
"@expo/logger": "0.0.22",
|
|
27
27
|
"@expo/package-manager": "^0.0.47",
|
|
28
28
|
"@expo/plist": "^0.0.11",
|