@nx/expo 16.1.3 → 16.1.4

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.
Files changed (34) hide show
  1. package/migrations.json +12 -0
  2. package/package.json +10 -10
  3. package/src/executors/build/build.impl.js +17 -1
  4. package/src/executors/build/build.impl.js.map +1 -1
  5. package/src/executors/build/schema.json +4 -0
  6. package/src/executors/download/download.impl.js +9 -6
  7. package/src/executors/download/download.impl.js.map +1 -1
  8. package/src/generators/application/application.js +8 -4
  9. package/src/generators/application/application.js.map +1 -1
  10. package/src/generators/application/files/app.json.template +10 -1
  11. package/src/generators/application/files/package.json.template +2 -2
  12. package/src/generators/application/lib/add-eas-scripts.d.ts +2 -0
  13. package/src/generators/application/lib/add-eas-scripts.js +75 -0
  14. package/src/generators/application/lib/add-eas-scripts.js.map +1 -0
  15. package/src/generators/application/schema.json +2 -2
  16. package/src/generators/component/schema.json +2 -2
  17. package/src/generators/library/files/lib/tsconfig.json.template +1 -1
  18. package/src/generators/library/library.js +60 -39
  19. package/src/generators/library/library.js.map +1 -1
  20. package/src/generators/library/schema.json +1 -1
  21. package/src/migrations/update-14-5-1/add-eas-update-target.js +1 -1
  22. package/src/migrations/update-14-5-1/add-eas-update-target.js.map +1 -1
  23. package/src/migrations/update-16-1-4/add-detox-app-json.d.ts +5 -0
  24. package/src/migrations/update-16-1-4/add-detox-app-json.js +33 -0
  25. package/src/migrations/update-16-1-4/add-detox-app-json.js.map +1 -0
  26. package/src/migrations/update-16-1-4/update-eas-scripts.d.ts +5 -0
  27. package/src/migrations/update-16-1-4/update-eas-scripts.js +40 -0
  28. package/src/migrations/update-16-1-4/update-eas-scripts.js.map +1 -0
  29. package/src/utils/add-jest.d.ts +1 -1
  30. package/src/utils/add-jest.js +4 -2
  31. package/src/utils/add-jest.js.map +1 -1
  32. package/src/utils/add-linting.d.ts +11 -2
  33. package/src/utils/add-linting.js +17 -12
  34. package/src/utils/add-linting.js.map +1 -1
package/migrations.json CHANGED
@@ -53,6 +53,18 @@
53
53
  "version": "16.0.0-beta.1",
54
54
  "description": "Replace @nrwl/expo with @nx/expo",
55
55
  "implementation": "./src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages"
56
+ },
57
+ "update-eas-scripts-16-1-4": {
58
+ "cli": "nx",
59
+ "version": "16.1.4-beta.0",
60
+ "description": "Update package.json eas build lifecycle scripts",
61
+ "implementation": "./src/migrations/update-16-1-4/update-eas-scripts"
62
+ },
63
+ "add-detox-app-json-16-1-4": {
64
+ "version": "16.1.4-beta.0",
65
+ "cli": "nx",
66
+ "description": "Add app.json for detox",
67
+ "factory": "./src/migrations/update-16-1-4/add-detox-app-json"
56
68
  }
57
69
  },
58
70
  "packageJsonUpdates": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nx/expo",
3
- "version": "16.1.3",
3
+ "version": "16.1.4",
4
4
  "private": false,
5
5
  "description": "The Expo Plugin for Nx contains executors and generators for managing and developing an expo application within your workspace. For example, you can directly build for different target platforms as well as generate projects and publish your code.",
6
6
  "keywords": [
@@ -26,14 +26,14 @@
26
26
  "main": "./index",
27
27
  "types": "index.d.ts",
28
28
  "dependencies": {
29
- "@nrwl/expo": "16.1.3",
30
- "@nx/detox": "16.1.3",
31
- "@nx/devkit": "16.1.3",
32
- "@nx/jest": "16.1.3",
33
- "@nx/js": "16.1.3",
34
- "@nx/linter": "16.1.3",
35
- "@nx/react": "16.1.3",
36
- "@nx/webpack": "16.1.3",
29
+ "@nrwl/expo": "16.1.4",
30
+ "@nx/detox": "16.1.4",
31
+ "@nx/devkit": "16.1.4",
32
+ "@nx/jest": "16.1.4",
33
+ "@nx/js": "16.1.4",
34
+ "@nx/linter": "16.1.4",
35
+ "@nx/react": "16.1.4",
36
+ "@nx/webpack": "16.1.4",
37
37
  "chalk": "^4.1.0",
38
38
  "enhanced-resolve": "^5.8.3",
39
39
  "fs-extra": "^11.1.0",
@@ -55,5 +55,5 @@
55
55
  "publishConfig": {
56
56
  "access": "public"
57
57
  },
58
- "gitHead": "a6642bf2a87616e2791ade7dc9b570a3e4908974"
58
+ "gitHead": "16f098804653374057eff7e2f9565fb4c7a90b29"
59
59
  }
@@ -5,13 +5,26 @@ const devkit_1 = require("@nx/devkit");
5
5
  const path_1 = require("path");
6
6
  const child_process_1 = require("child_process");
7
7
  const ensure_node_modules_symlink_1 = require("../../utils/ensure-node-modules-symlink");
8
+ const download_impl_1 = require("../download/download.impl");
9
+ const fs_extra_1 = require("fs-extra");
8
10
  let childProcess;
9
11
  function buildExecutor(options, context) {
10
12
  return tslib_1.__asyncGenerator(this, arguments, function* buildExecutor_1() {
11
13
  const projectRoot = context.projectsConfigurations.projects[context.projectName].root;
12
14
  (0, ensure_node_modules_symlink_1.ensureNodeModulesSymlink)(context.root, projectRoot);
13
15
  try {
16
+ // remove the output app if it already existed
17
+ if (options.local && options.output) {
18
+ (0, fs_extra_1.removeSync)(options.output);
19
+ }
14
20
  yield tslib_1.__await(runCliBuild(context.root, projectRoot, options));
21
+ // unzip the build if it's a tar.gz
22
+ if (options.local && options.output && options.output.endsWith('.tar.gz')) {
23
+ const directoryPath = (0, path_1.normalize)(options.output).split(path_1.sep);
24
+ directoryPath.pop();
25
+ const outputDirectory = directoryPath.join(path_1.sep);
26
+ yield tslib_1.__await((0, download_impl_1.unzipBuild)(options.output, outputDirectory));
27
+ }
15
28
  yield yield tslib_1.__await({ success: true });
16
29
  }
17
30
  finally {
@@ -24,7 +37,10 @@ function buildExecutor(options, context) {
24
37
  exports.default = buildExecutor;
25
38
  function runCliBuild(workspaceRoot, projectRoot, options) {
26
39
  return new Promise((resolve, reject) => {
27
- childProcess = (0, child_process_1.fork)((0, path_1.join)(workspaceRoot, './node_modules/eas-cli/bin/run'), ['build', ...createBuildOptions(options)], { cwd: (0, path_1.join)(workspaceRoot, projectRoot), env: process.env });
40
+ childProcess = (0, child_process_1.fork)((0, path_1.join)(workspaceRoot, './node_modules/eas-cli/bin/run'), ['build', ...createBuildOptions(options)], {
41
+ cwd: (0, path_1.join)(workspaceRoot, projectRoot),
42
+ env: process.env,
43
+ });
28
44
  // Ensure the child process is killed when the parent exits
29
45
  process.on('exit', () => childProcess.kill());
30
46
  process.on('SIGTERM', () => childProcess.kill());
@@ -1 +1 @@
1
- {"version":3,"file":"build.impl.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/executors/build/build.impl.ts"],"names":[],"mappings":";;;AAAA,uCAAoD;AACpD,+BAA4B;AAC5B,iDAAmD;AAEnD,yFAAmF;AAQnF,IAAI,YAA0B,CAAC;AAE/B,SAA+B,aAAa,CAC1C,OAA4B,EAC5B,OAAwB;;QAExB,MAAM,WAAW,GACf,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;QACpE,IAAA,sDAAwB,EAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAEpD,IAAI;YACF,sBAAM,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA,CAAC;YACtD,4BAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA,CAAC;SACzB;gBAAS;YACR,IAAI,YAAY,EAAE;gBAChB,YAAY,CAAC,IAAI,EAAE,CAAC;aACrB;SACF;IACH,CAAC;CAAA;AAhBD,gCAgBC;AAED,SAAS,WAAW,CAClB,aAAqB,EACrB,WAAmB,EACnB,OAA4B;IAE5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,YAAY,GAAG,IAAA,oBAAI,EACjB,IAAA,WAAI,EAAC,aAAa,EAAE,gCAAgC,CAAC,EACrD,CAAC,OAAO,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,EACzC,EAAE,GAAG,EAAE,IAAA,WAAI,EAAC,aAAa,EAAE,WAAW,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAC5D,CAAC;QAEF,2DAA2D;QAC3D,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAEjD,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC/B,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC/B,IAAI,IAAI,KAAK,CAAC,EAAE;gBACd,OAAO,CAAC,IAAI,CAAC,CAAC;aACf;iBAAM;gBACL,MAAM,CAAC,IAAI,CAAC,CAAC;aACd;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,OAA4B;IACtD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QAC5C,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,OAAO,CAAC,KAAK,SAAS,EAAE;YAC1B,IAAI,CAAC,KAAK,IAAI,EAAE;gBACd,4FAA4F;gBAC5F,GAAG,CAAC,IAAI,CAAC,KAAK,IAAA,cAAK,EAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;aACpC;YACD,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,MAAM,EAAE;gBAC/B,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aACvB;SACF;aAAM;YACL,GAAG,CAAC,IAAI,CAAC,KAAK,IAAA,cAAK,EAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;SACvC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"build.impl.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/executors/build/build.impl.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,10 @@
35
35
  "description": "Run build locally [experimental]",
36
36
  "default": false
37
37
  },
38
+ "output": {
39
+ "type": "string",
40
+ "description": "Output path for local build"
41
+ },
38
42
  "wait": {
39
43
  "type": "boolean",
40
44
  "description": "Wait for build(s) to complete",
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.copyBuildFile = exports.unzipBuild = exports.getAppExtension = exports.getBuild = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const devkit_1 = require("@nx/devkit");
6
- const fs_1 = require("fs");
6
+ const fs_extra_1 = require("fs-extra");
7
7
  const node_fetch_1 = require("node-fetch");
8
8
  const util_1 = require("util");
9
9
  const stream_1 = require("stream");
@@ -28,8 +28,8 @@ function downloadExecutor(options, context) {
28
28
  if (!buildUrl) {
29
29
  throw new Error(`No build URL found.`);
30
30
  }
31
- if (!(0, fs_1.existsSync)(options.output)) {
32
- (0, fs_1.mkdirSync)(options.output, { recursive: true });
31
+ if (!(0, fs_extra_1.existsSync)(options.output)) {
32
+ (0, fs_extra_1.mkdirSync)(options.output, { recursive: true });
33
33
  }
34
34
  const downloadFileName = buildUrl.split('/').pop();
35
35
  const downloadFilePath = (0, path_1.join)(options.output, downloadFileName);
@@ -37,6 +37,9 @@ function downloadExecutor(options, context) {
37
37
  const appExtension = getAppExtension(build.platform, downloadFileName);
38
38
  const appName = `${(0, devkit_1.names)((_b = build.project) === null || _b === void 0 ? void 0 : _b.name).className}${appExtension}`;
39
39
  const outputFilePath = (0, path_1.join)(options.output, appName);
40
+ if ((0, fs_extra_1.existsSync)(outputFilePath)) {
41
+ (0, fs_extra_1.removeSync)(outputFilePath);
42
+ }
40
43
  if (downloadFileName.endsWith('.tar.gz')) {
41
44
  yield tslib_1.__await(unzipBuild(downloadFilePath, options.output));
42
45
  }
@@ -53,7 +56,7 @@ function downloadBuild(buildUrl, output) {
53
56
  const response = yield (0, node_fetch_1.default)(buildUrl);
54
57
  if (!response.ok)
55
58
  throw new Error(`Unable to download the build ${buildUrl}. Error: ${response.statusText}`);
56
- return streamPipeline(response.body, (0, fs_1.createWriteStream)(output));
59
+ return streamPipeline(response.body, (0, fs_extra_1.createWriteStream)(output));
57
60
  });
58
61
  }
59
62
  function getBuild(workspaceRoot, projectRoot, options) {
@@ -82,12 +85,12 @@ exports.getAppExtension = getAppExtension;
82
85
  function unzipBuild(downloadFilePath, outputDirectoryPath) {
83
86
  const unzip = (0, zlib_1.createUnzip)();
84
87
  const extract = tar.extract(outputDirectoryPath);
85
- return streamPipeline((0, fs_1.createReadStream)(downloadFilePath), unzip, extract);
88
+ return streamPipeline((0, fs_extra_1.createReadStream)(downloadFilePath), unzip, extract);
86
89
  }
87
90
  exports.unzipBuild = unzipBuild;
88
91
  function copyBuildFile(downloadFilePath, outputFilePath) {
89
92
  return new Promise((resolve, reject) => {
90
- (0, fs_1.copyFile)(downloadFilePath, outputFilePath, (error) => {
93
+ (0, fs_extra_1.copyFile)(downloadFilePath, outputFilePath, (error) => {
91
94
  if (error) {
92
95
  reject(error);
93
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"download.impl.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/executors/download/download.impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"download.impl.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/executors/download/download.impl.ts"],"names":[],"mappings":"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"}
@@ -3,24 +3,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.expoApplicationSchematic = exports.expoApplicationGenerator = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const devkit_1 = require("@nx/devkit");
6
+ const symlink_task_1 = require("../../utils/symlink-task");
6
7
  const add_linting_1 = require("../../utils/add-linting");
7
8
  const add_jest_1 = require("../../utils/add-jest");
8
- const symlink_task_1 = require("../../utils/symlink-task");
9
9
  const normalize_options_1 = require("./lib/normalize-options");
10
10
  const init_1 = require("../init/init");
11
11
  const add_project_1 = require("./lib/add-project");
12
- const add_detox_1 = require("./lib/add-detox");
13
12
  const create_application_files_1 = require("./lib/create-application-files");
13
+ const add_eas_scripts_1 = require("./lib/add-eas-scripts");
14
+ const add_detox_1 = require("./lib/add-detox");
14
15
  function expoApplicationGenerator(host, schema) {
15
16
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
16
17
  const options = (0, normalize_options_1.normalizeOptions)(host, schema);
17
18
  (0, create_application_files_1.createApplicationFiles)(host, options);
18
19
  (0, add_project_1.addProject)(host, options);
19
20
  const initTask = yield (0, init_1.default)(host, Object.assign(Object.assign({}, options), { skipFormat: true }));
20
- const lintTask = yield (0, add_linting_1.addLinting)(host, options.projectName, options.appProjectRoot, [(0, devkit_1.joinPathFragments)(options.appProjectRoot, 'tsconfig.app.json')], options.linter, options.setParserOptionsProject);
21
- const jestTask = yield (0, add_jest_1.addJest)(host, options.unitTestRunner, options.projectName, options.appProjectRoot, options.js);
21
+ const lintTask = yield (0, add_linting_1.addLinting)(host, Object.assign(Object.assign({}, options), { projectRoot: options.appProjectRoot, tsConfigPaths: [
22
+ (0, devkit_1.joinPathFragments)(options.appProjectRoot, 'tsconfig.app.json'),
23
+ ] }));
24
+ const jestTask = yield (0, add_jest_1.addJest)(host, options.unitTestRunner, options.projectName, options.appProjectRoot, options.js, options.skipPackageJson);
22
25
  const detoxTask = yield (0, add_detox_1.addDetox)(host, options);
23
26
  const symlinkTask = (0, symlink_task_1.runSymlink)(host.root, options.appProjectRoot);
27
+ (0, add_eas_scripts_1.addEasScripts)(host);
24
28
  if (!options.skipFormat) {
25
29
  yield (0, devkit_1.formatFiles)(host);
26
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/generators/application/application.ts"],"names":[],"mappings":";;;;AAAA,uCAOoB;AAEpB,yDAAqD;AACrD,mDAA+C;AAC/C,2DAAsD;AAEtD,+DAA2D;AAC3D,uCAAyC;AACzC,mDAA+C;AAC/C,+CAA2C;AAC3C,6EAAwE;AAGxE,SAAsB,wBAAwB,CAC5C,IAAU,EACV,MAAc;;QAEd,MAAM,OAAO,GAAG,IAAA,oCAAgB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE/C,IAAA,iDAAsB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,IAAA,wBAAU,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE1B,MAAM,QAAQ,GAAG,MAAM,IAAA,cAAa,EAAC,IAAI,kCAAO,OAAO,KAAE,UAAU,EAAE,IAAI,IAAG,CAAC;QAC7E,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAU,EAC/B,IAAI,EACJ,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,cAAc,EACtB,CAAC,IAAA,0BAAiB,EAAC,OAAO,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC,EAChE,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,uBAAuB,CAChC,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,IAAA,kBAAO,EAC5B,IAAI,EACJ,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,EAAE,CACX,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,IAAA,oBAAQ,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,IAAA,yBAAU,EAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QAElE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YACvB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;SACzB;QAED,OAAO,IAAA,yBAAgB,EAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAChF,CAAC;CAAA;AAjCD,4DAiCC;AAED,kBAAe,wBAAwB,CAAC;AAC3B,QAAA,wBAAwB,GAAG,IAAA,2BAAkB,EACxD,wBAAwB,CACzB,CAAC"}
1
+ {"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/generators/application/application.ts"],"names":[],"mappings":";;;;AAAA,uCAOoB;AAEpB,2DAAsD;AACtD,yDAAqD;AACrD,mDAA+C;AAE/C,+DAA2D;AAC3D,uCAAyC;AACzC,mDAA+C;AAC/C,6EAAwE;AACxE,2DAAsD;AACtD,+CAA2C;AAG3C,SAAsB,wBAAwB,CAC5C,IAAU,EACV,MAAc;;QAEd,MAAM,OAAO,GAAG,IAAA,oCAAgB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE/C,IAAA,iDAAsB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,IAAA,wBAAU,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE1B,MAAM,QAAQ,GAAG,MAAM,IAAA,cAAa,EAAC,IAAI,kCAAO,OAAO,KAAE,UAAU,EAAE,IAAI,IAAG,CAAC;QAC7E,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAU,EAAC,IAAI,kCACjC,OAAO,KACV,WAAW,EAAE,OAAO,CAAC,cAAc,EACnC,aAAa,EAAE;gBACb,IAAA,0BAAiB,EAAC,OAAO,CAAC,cAAc,EAAE,mBAAmB,CAAC;aAC/D,IACD,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,IAAA,kBAAO,EAC5B,IAAI,EACJ,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,EAAE,EACV,OAAO,CAAC,eAAe,CACxB,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,IAAA,oBAAQ,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,IAAA,yBAAU,EAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QAClE,IAAA,+BAAa,EAAC,IAAI,CAAC,CAAC;QAEpB,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YACvB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;SACzB;QAED,OAAO,IAAA,yBAAgB,EAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAChF,CAAC;CAAA;AAnCD,4DAmCC;AAED,kBAAe,wBAAwB,CAAC;AAC3B,QAAA,wBAAwB,GAAG,IAAA,2BAAkB,EACxD,wBAAwB,CACzB,CAAC"}
@@ -28,6 +28,15 @@
28
28
  "web": {
29
29
  "favicon": "./assets/favicon.png",
30
30
  "bundler": "metro"
31
- }
31
+ },
32
+ "plugins": [
33
+ [
34
+ "@config-plugins/detox",
35
+ {
36
+ "skipProguard": false,
37
+ "subdomains": ["10.0.2.2", "localhost"]
38
+ }
39
+ ]
40
+ ]
32
41
  }
33
42
  }
@@ -11,7 +11,7 @@
11
11
  "react-native-web": "*"
12
12
  },
13
13
  "scripts": {
14
- <% if (packageManager === 'npm') { %>"eas-build-pre-install": "cd <%= offsetFromRoot %> && cp <%= packageLockFile %> ./<%= appProjectRoot %>/", <% } %>
15
- "postinstall": "rm -r node_modules && cd <%= offsetFromRoot %> && <%= packageManager %> install && npx nx sync-deps <%= projectName %> && npx nx ensure-symlink <%= projectName %>"
14
+ "eas-build-pre-install": "cd <%= offsetFromRoot %> && node tools/scripts/eas-build-pre-install.mjs . <%= appProjectRoot %> && cp <%= packageLockFile %> <%= appProjectRoot %>",
15
+ "eas-build-post-install": "cd <%= offsetFromRoot %> && node tools/scripts/eas-build-post-install.mjs . <%= appProjectRoot %>"
16
16
  }
17
17
  }
@@ -0,0 +1,2 @@
1
+ import type { Tree } from '@nx/devkit';
2
+ export declare function addEasScripts(tree: Tree): void;
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addEasScripts = void 0;
4
+ const preInstallScript = `
5
+ /*
6
+ * This script is used to patch the '@nx/expo' package to work with EAS Build.
7
+ * It is run as the eas-build-pre-install script in the 'package.json' of expo app.
8
+ * It is executed as 'node tools/scripts/eas-build-pre-install.mjs <workspace root> <project root>'
9
+ * It will copy the dependencies and devDependencies from the workspace package.json to project's package.json.
10
+ * This is needed because EAS Build does the install in project's directory and not workspace's directory.
11
+ */
12
+ import { readFileSync, writeFileSync } from 'fs';
13
+ import { join } from 'path';
14
+
15
+ const [workspaceRoot, projectRoot] = process.argv.slice(2);
16
+ if (!workspaceRoot) {
17
+ throw new Error('Missing workspace root');
18
+ }
19
+ if (!projectRoot) {
20
+ throw new Error('Missing project root');
21
+ }
22
+ try {
23
+ const workspacePackage = JSON.parse(
24
+ readFileSync(join(workspaceRoot, 'package.json')).toString()
25
+ );
26
+ const projectPackage = JSON.parse(
27
+ readFileSync(join(projectRoot, 'package.json')).toString()
28
+ );
29
+ projectPackage.dependencies = workspacePackage.dependencies;
30
+ projectPackage.devDependencies = workspacePackage.devDependencies;
31
+ writeFileSync(
32
+ join(projectRoot, 'package.json'),
33
+ JSON.stringify(projectPackage, null, 2)
34
+ );
35
+ } catch (e) {
36
+ console.error('Error reading package.json file', e);
37
+ }
38
+ `;
39
+ const postInstallScript = `
40
+ /**
41
+ * This script is used to patch the '@nx/expo' package to work with EAS Build.
42
+ * It is run as a eas-build-post-install script in the 'package.json' of expo app.
43
+ * It is executed as 'node tools/scripts/eas-build-post-install.mjs <workspace root> <project root>'
44
+ * It will create a symlink from the project's node_modules to the workspace's node_modules.
45
+ */
46
+
47
+ import { symlink, existsSync } from 'fs';
48
+ import { join } from 'path';
49
+
50
+ const [workspaceRoot, projectRoot] = process.argv.slice(2);
51
+
52
+ if (existsSync(join(workspaceRoot, 'node_modules'))) {
53
+ console.log('Symlink already exists');
54
+ process.exit(0);
55
+ }
56
+
57
+ symlink(join(projectRoot, 'node_modules'), join(workspaceRoot, 'node_modules'), 'dir', (err) => {
58
+ if (err) console.log(err);
59
+ else {
60
+ console.log('Symlink created');
61
+ }
62
+ });
63
+ `;
64
+ function addEasScripts(tree) {
65
+ const preInstallScriptPath = 'tools/scripts/eas-build-pre-install.mjs';
66
+ const postInstallScriptPath = 'tools/scripts/eas-build-post-install.mjs';
67
+ if (!tree.exists(preInstallScriptPath)) {
68
+ tree.write(preInstallScriptPath, preInstallScript);
69
+ }
70
+ if (!tree.exists(postInstallScriptPath)) {
71
+ tree.write(postInstallScriptPath, postInstallScript);
72
+ }
73
+ }
74
+ exports.addEasScripts = addEasScripts;
75
+ //# sourceMappingURL=add-eas-scripts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-eas-scripts.js","sourceRoot":"","sources":["../../../../../../../packages/expo/src/generators/application/lib/add-eas-scripts.ts"],"names":[],"mappings":";;;AAEA,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCxB,CAAC;AAEF,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwBzB,CAAC;AAEF,SAAgB,aAAa,CAAC,IAAU;IACtC,MAAM,oBAAoB,GAAG,yCAAyC,CAAC;IACvE,MAAM,qBAAqB,GAAG,0CAA0C,CAAC;IAEzE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE;QACtC,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;KACpD;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE;QACvC,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;KACtD;AACH,CAAC;AAVD,sCAUC"}
@@ -5,11 +5,11 @@
5
5
  "description": "Create an Expo Application for Nx.",
6
6
  "examples": [
7
7
  {
8
- "command": "g @nrwl/expo:app myapp --directory=nested",
8
+ "command": "g @nx/expo:app myapp --directory=nested",
9
9
  "description": "Generate apps/nested/myapp"
10
10
  },
11
11
  {
12
- "command": "g @nrwl/expo:app myapp --classComponent",
12
+ "command": "g @nx/expo:app myapp --classComponent",
13
13
  "description": "Use class components instead of functional components"
14
14
  }
15
15
  ],
@@ -6,11 +6,11 @@
6
6
  "type": "object",
7
7
  "examples": [
8
8
  {
9
- "command": "g @nrwl/expo:component my-component --project=mylib",
9
+ "command": "g @nx/expo:component my-component --project=mylib",
10
10
  "description": "Generate a component in the mylib library"
11
11
  },
12
12
  {
13
- "command": "g @nrwl/expo:component my-component --project=mylib --classComponent",
13
+ "command": "g @nx/expo:component my-component --project=mylib --classComponent",
14
14
  "description": "Generate a class component in the mylib library"
15
15
  }
16
16
  ],
@@ -1,5 +1,5 @@
1
1
  {
2
- "extends": "<%= offsetFromRoot %>tsconfig.base.json",
2
+ "extends": "<%= rootTsConfigPath %>",
3
3
  "compilerOptions": {
4
4
  "jsx": "react-native",
5
5
  "allowJs": true,
@@ -7,6 +7,7 @@ const js_1 = require("@nx/js");
7
7
  const init_1 = require("../init/init");
8
8
  const add_linting_1 = require("../../utils/add-linting");
9
9
  const add_jest_1 = require("../../utils/add-jest");
10
+ const versions_1 = require("../../utils/versions");
10
11
  const normalize_options_1 = require("./lib/normalize-options");
11
12
  function expoLibraryGenerator(host, schema) {
12
13
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
@@ -14,57 +15,77 @@ function expoLibraryGenerator(host, schema) {
14
15
  if (options.publishable === true && !schema.importPath) {
15
16
  throw new Error(`For publishable libs you have to provide a proper "--importPath" which needs to be a valid npm package name (e.g. my-awesome-lib or @myorg/my-lib)`);
16
17
  }
17
- addProject(host, options);
18
- createFiles(host, options);
18
+ const tasks = [];
19
19
  const initTask = yield (0, init_1.default)(host, Object.assign(Object.assign({}, options), { skipFormat: true, e2eTestRunner: 'none' }));
20
- const lintTask = yield (0, add_linting_1.addLinting)(host, options.name, options.projectRoot, [(0, devkit_1.joinPathFragments)(options.projectRoot, 'tsconfig.lib.json')], options.linter, options.setParserOptionsProject);
20
+ tasks.push(initTask);
21
+ const addProjectTask = yield addProject(host, options);
22
+ if (addProjectTask) {
23
+ tasks.push(addProjectTask);
24
+ }
25
+ createFiles(host, options);
26
+ const lintTask = yield (0, add_linting_1.addLinting)(host, Object.assign(Object.assign({}, options), { projectName: options.name, tsConfigPaths: [
27
+ (0, devkit_1.joinPathFragments)(options.projectRoot, 'tsconfig.lib.json'),
28
+ ] }));
29
+ tasks.push(lintTask);
30
+ const jestTask = yield (0, add_jest_1.addJest)(host, options.unitTestRunner, options.name, options.projectRoot, options.js, options.skipPackageJson);
31
+ tasks.push(jestTask);
32
+ if (options.publishable || options.buildable) {
33
+ updateLibPackageNpmScope(host, options);
34
+ }
21
35
  if (!options.skipTsConfig) {
22
36
  (0, js_1.addTsConfigPath)(host, options.importPath, [
23
37
  (0, devkit_1.joinPathFragments)(options.projectRoot, './src', 'index.' + (options.js ? 'js' : 'ts')),
24
38
  ]);
25
39
  }
26
- const jestTask = yield (0, add_jest_1.addJest)(host, options.unitTestRunner, options.name, options.projectRoot, options.js);
27
- if (options.publishable || options.buildable) {
28
- updateLibPackageNpmScope(host, options);
29
- }
30
40
  if (!options.skipFormat) {
31
41
  yield (0, devkit_1.formatFiles)(host);
32
42
  }
33
- return (0, devkit_1.runTasksInSerial)(initTask, lintTask, jestTask);
43
+ return (0, devkit_1.runTasksInSerial)(...tasks);
34
44
  });
35
45
  }
36
46
  exports.expoLibraryGenerator = expoLibraryGenerator;
37
47
  function addProject(host, options) {
38
- const targets = {};
39
- if (options.publishable || options.buildable) {
40
- const { libsDir } = (0, devkit_1.getWorkspaceLayout)(host);
41
- const external = ['react/jsx-runtime', 'react-native'];
42
- targets.build = {
43
- executor: '@nx/rollup:rollup',
44
- outputs: ['{options.outputPath}'],
45
- options: {
46
- outputPath: `dist/${libsDir}/${options.projectDirectory}`,
47
- tsConfig: `${options.projectRoot}/tsconfig.lib.json`,
48
- project: `${options.projectRoot}/package.json`,
49
- entryFile: maybeJs(options, `${options.projectRoot}/src/index.ts`),
50
- external,
51
- rollupConfig: `@nx/react/plugins/bundle-rollup`,
52
- assets: [
53
- {
54
- glob: `${options.projectRoot}/README.md`,
55
- input: '.',
56
- output: '.',
57
- },
58
- ],
59
- },
60
- };
61
- }
62
- (0, devkit_1.addProjectConfiguration)(host, options.name, {
63
- root: options.projectRoot,
64
- sourceRoot: (0, devkit_1.joinPathFragments)(options.projectRoot, 'src'),
65
- projectType: 'library',
66
- tags: options.parsedTags,
67
- targets,
48
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
49
+ const targets = {};
50
+ let task;
51
+ if (options.publishable || options.buildable) {
52
+ const { rollupInitGenerator } = (0, devkit_1.ensurePackage)('@nx/rollup', versions_1.nxVersion);
53
+ const { libsDir } = (0, devkit_1.getWorkspaceLayout)(host);
54
+ const external = [
55
+ 'react/jsx-runtime',
56
+ 'react-native',
57
+ 'react',
58
+ 'react-dom',
59
+ ];
60
+ targets.build = {
61
+ executor: '@nx/rollup:rollup',
62
+ outputs: ['{options.outputPath}'],
63
+ options: {
64
+ outputPath: `dist/${libsDir}/${options.projectDirectory}`,
65
+ tsConfig: `${options.projectRoot}/tsconfig.lib.json`,
66
+ project: `${options.projectRoot}/package.json`,
67
+ entryFile: maybeJs(options, `${options.projectRoot}/src/index.ts`),
68
+ external,
69
+ rollupConfig: `@nx/react/plugins/bundle-rollup`,
70
+ assets: [
71
+ {
72
+ glob: `${options.projectRoot}/README.md`,
73
+ input: '.',
74
+ output: '.',
75
+ },
76
+ ],
77
+ },
78
+ };
79
+ task = yield rollupInitGenerator(host, Object.assign(Object.assign({}, options), { skipFormat: true }));
80
+ }
81
+ (0, devkit_1.addProjectConfiguration)(host, options.name, {
82
+ root: options.projectRoot,
83
+ sourceRoot: (0, devkit_1.joinPathFragments)(options.projectRoot, 'src'),
84
+ projectType: 'library',
85
+ tags: options.parsedTags,
86
+ targets,
87
+ });
88
+ return task;
68
89
  });
69
90
  }
70
91
  function updateTsConfig(tree, options) {
@@ -76,7 +97,7 @@ function updateTsConfig(tree, options) {
76
97
  });
77
98
  }
78
99
  function createFiles(host, options) {
79
- (0, devkit_1.generateFiles)(host, (0, devkit_1.joinPathFragments)(__dirname, './files/lib'), options.projectRoot, Object.assign(Object.assign(Object.assign({}, options), (0, devkit_1.names)(options.name)), { tmpl: '', offsetFromRoot: (0, devkit_1.offsetFromRoot)(options.projectRoot) }));
100
+ (0, devkit_1.generateFiles)(host, (0, devkit_1.joinPathFragments)(__dirname, './files/lib'), options.projectRoot, Object.assign(Object.assign(Object.assign({}, options), (0, devkit_1.names)(options.name)), { tmpl: '', offsetFromRoot: (0, devkit_1.offsetFromRoot)(options.projectRoot), rootTsConfigPath: (0, js_1.getRelativePathToRootTsConfig)(host, options.projectRoot) }));
80
101
  if (!options.publishable && !options.buildable) {
81
102
  host.delete(`${options.projectRoot}/package.json`);
82
103
  }
@@ -1 +1 @@
1
- {"version":3,"file":"library.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/generators/library/library.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"library.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/generators/library/library.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  "type": "object",
7
7
  "examples": [
8
8
  {
9
- "command": "g @nrwl/expo:lib mylib --directory=myapp",
9
+ "command": "g @nx/expo:lib mylib --directory=myapp",
10
10
  "description": "Generate libs/myapp/mylib"
11
11
  }
12
12
  ],
@@ -17,8 +17,8 @@ function update(tree) {
17
17
  options: {},
18
18
  };
19
19
  }
20
+ (0, devkit_1.updateProjectConfiguration)(tree, name, config);
20
21
  }
21
- (0, devkit_1.updateProjectConfiguration)(tree, name, config);
22
22
  }
23
23
  yield (0, devkit_1.formatFiles)(tree);
24
24
  });
@@ -1 +1 @@
1
- {"version":3,"file":"add-eas-update-target.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/migrations/update-14-5-1/add-eas-update-target.ts"],"names":[],"mappings":";;;AAAA,uCAKoB;AAEpB;;GAEG;AACH,SAA8B,MAAM,CAAC,IAAU;;;QAC7C,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAEnC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE;YAC/C,IAAI,CAAA,MAAA,MAAA,MAAM,CAAC,OAAO,0CAAG,OAAO,CAAC,0CAAE,QAAQ,MAAK,kBAAkB,EAAE;gBAC9D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBAC7B,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG;wBACzB,QAAQ,EAAE,mBAAmB;wBAC7B,OAAO,EAAE,EAAE;qBACZ,CAAC;iBACH;aACF;YAED,IAAA,mCAA0B,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;SAChD;QAED,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;;CACzB;AAjBD,yBAiBC"}
1
+ {"version":3,"file":"add-eas-update-target.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/migrations/update-14-5-1/add-eas-update-target.ts"],"names":[],"mappings":";;;AAAA,uCAKoB;AAEpB;;GAEG;AACH,SAA8B,MAAM,CAAC,IAAU;;;QAC7C,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAEnC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE;YAC/C,IAAI,CAAA,MAAA,MAAA,MAAM,CAAC,OAAO,0CAAG,OAAO,CAAC,0CAAE,QAAQ,MAAK,kBAAkB,EAAE;gBAC9D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBAC7B,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG;wBACzB,QAAQ,EAAE,mBAAmB;wBAC7B,OAAO,EAAE,EAAE;qBACZ,CAAC;iBACH;gBACD,IAAA,mCAA0B,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;aAChD;SACF;QAED,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;;CACzB;AAhBD,yBAgBC"}
@@ -0,0 +1,5 @@
1
+ import { Tree } from '@nx/devkit';
2
+ /**
3
+ * Add detox plugin to app.json for expo
4
+ */
5
+ export default function update(tree: Tree): Promise<void>;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const devkit_1 = require("@nx/devkit");
5
+ /**
6
+ * Add detox plugin to app.json for expo
7
+ */
8
+ function update(tree) {
9
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
10
+ const projects = (0, devkit_1.getProjects)(tree);
11
+ projects.forEach((config) => {
12
+ var _a, _b;
13
+ if (((_b = (_a = config.targets) === null || _a === void 0 ? void 0 : _a['start']) === null || _b === void 0 ? void 0 : _b.executor) === '@nrwl/expo:start') {
14
+ (0, devkit_1.updateJson)(tree, `${config.root}/app.json`, (json) => {
15
+ if (!json.expo.plugins) {
16
+ json.expo.plugins = [];
17
+ }
18
+ json.expo.plugins.push([
19
+ '@config-plugins/detox',
20
+ {
21
+ skipProguard: false,
22
+ subdomains: ['10.0.2.2', 'localhost'],
23
+ },
24
+ ]);
25
+ return json;
26
+ });
27
+ }
28
+ });
29
+ yield (0, devkit_1.formatFiles)(tree);
30
+ });
31
+ }
32
+ exports.default = update;
33
+ //# sourceMappingURL=add-detox-app-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-detox-app-json.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/migrations/update-16-1-4/add-detox-app-json.ts"],"names":[],"mappings":";;;AAAA,uCAMoB;AAEpB;;GAEG;AACH,SAA8B,MAAM,CAAC,IAAU;;QAC7C,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAEnC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;;YAC1B,IAAI,CAAA,MAAA,MAAA,MAAM,CAAC,OAAO,0CAAG,OAAO,CAAC,0CAAE,QAAQ,MAAK,kBAAkB,EAAE;gBAC9D,IAAA,mBAAU,EAAC,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;oBACnD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;wBACtB,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;qBACxB;oBACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;wBACrB,uBAAuB;wBACvB;4BACE,YAAY,EAAE,KAAK;4BACnB,UAAU,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;yBACtC;qBACF,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CAAA;AAtBD,yBAsBC"}
@@ -0,0 +1,5 @@
1
+ import { Tree } from '@nx/devkit';
2
+ /**
3
+ * Update app's package.json to use eas-build-pre-install and eas-build-post-install scripts.
4
+ */
5
+ export default function update(tree: Tree): void;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const devkit_1 = require("@nx/devkit");
4
+ const add_eas_scripts_1 = require("../../generators/application/lib/add-eas-scripts");
5
+ const path_1 = require("path");
6
+ /**
7
+ * Update app's package.json to use eas-build-pre-install and eas-build-post-install scripts.
8
+ */
9
+ function update(tree) {
10
+ var _a, _b;
11
+ const projects = (0, devkit_1.getProjects)(tree);
12
+ const packageManagerLockFile = {
13
+ npm: 'package-lock.json',
14
+ yarn: 'yarn.lock',
15
+ pnpm: 'pnpm-lock.yaml',
16
+ };
17
+ for (const [name, config] of projects.entries()) {
18
+ if (((_b = (_a = config.targets) === null || _a === void 0 ? void 0 : _a['start']) === null || _b === void 0 ? void 0 : _b.executor) === '@nrwl/expo:start') {
19
+ try {
20
+ (0, add_eas_scripts_1.addEasScripts)(tree);
21
+ (0, devkit_1.updateJson)(tree, (0, path_1.join)(config.root, 'package.json'), (packageJson) => {
22
+ var _a;
23
+ if ((_a = packageJson.scripts) === null || _a === void 0 ? void 0 : _a['postinstall']) {
24
+ delete packageJson.scripts['postinstall'];
25
+ }
26
+ const packageManager = (0, devkit_1.detectPackageManager)(tree.root);
27
+ const packageLockFile = packageManagerLockFile[packageManager];
28
+ const offset = (0, devkit_1.offsetFromRoot)(config.root);
29
+ packageJson.scripts = Object.assign(Object.assign({}, packageJson.scripts), { 'eas-build-pre-install': `cd ${offset} && node tools/scripts/eas-build-pre-install.mjs . ${config.root} && cp ${packageLockFile} ${config.root}`, 'eas-build-post-install': `cd ${offset} && node tools/scripts/eas-build-post-install.mjs . ${config.root}` });
30
+ return packageJson;
31
+ });
32
+ }
33
+ catch (_c) {
34
+ devkit_1.logger.error(`Unable to update package.json for project ${name}.`);
35
+ }
36
+ }
37
+ }
38
+ }
39
+ exports.default = update;
40
+ //# sourceMappingURL=update-eas-scripts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-eas-scripts.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/migrations/update-16-1-4/update-eas-scripts.ts"],"names":[],"mappings":";;AAAA,uCAQoB;AACpB,sFAAiF;AACjF,+BAA4B;AAE5B;;GAEG;AACH,SAAwB,MAAM,CAAC,IAAU;;IACvC,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IACnC,MAAM,sBAAsB,GAAmC;QAC7D,GAAG,EAAE,mBAAmB;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,gBAAgB;KACvB,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE;QAC/C,IAAI,CAAA,MAAA,MAAA,MAAM,CAAC,OAAO,0CAAG,OAAO,CAAC,0CAAE,QAAQ,MAAK,kBAAkB,EAAE;YAC9D,IAAI;gBACF,IAAA,+BAAa,EAAC,IAAI,CAAC,CAAC;gBACpB,IAAA,mBAAU,EAAC,IAAI,EAAE,IAAA,WAAI,EAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE;;oBAClE,IAAI,MAAA,WAAW,CAAC,OAAO,0CAAG,aAAa,CAAC,EAAE;wBACxC,OAAO,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;qBAC3C;oBACD,MAAM,cAAc,GAAG,IAAA,6BAAoB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvD,MAAM,eAAe,GAAG,sBAAsB,CAAC,cAAc,CAAC,CAAC;oBAC/D,MAAM,MAAM,GAAG,IAAA,uBAAc,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC3C,WAAW,CAAC,OAAO,mCACd,WAAW,CAAC,OAAO,KACtB,uBAAuB,EAAE,MAAM,MAAM,sDAAsD,MAAM,CAAC,IAAI,UAAU,eAAe,IAAI,MAAM,CAAC,IAAI,EAAE,EAChJ,wBAAwB,EAAE,MAAM,MAAM,uDAAuD,MAAM,CAAC,IAAI,EAAE,GAC3G,CAAC;oBACF,OAAO,WAAW,CAAC;gBACrB,CAAC,CAAC,CAAC;aACJ;YAAC,WAAM;gBACN,eAAM,CAAC,KAAK,CAAC,6CAA6C,IAAI,GAAG,CAAC,CAAC;aACpE;SACF;KACF;AACH,CAAC;AA/BD,yBA+BC"}
@@ -1,2 +1,2 @@
1
1
  import { Tree } from '@nx/devkit';
2
- export declare function addJest(host: Tree, unitTestRunner: 'jest' | 'none', projectName: string, appProjectRoot: string, js: boolean): Promise<import("@nx/devkit").GeneratorCallback>;
2
+ export declare function addJest(host: Tree, unitTestRunner: 'jest' | 'none', projectName: string, appProjectRoot: string, js: boolean, skipPackageJson: boolean): Promise<import("@nx/devkit").GeneratorCallback>;
@@ -3,17 +3,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addJest = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const jest_1 = require("@nx/jest");
6
- function addJest(host, unitTestRunner, projectName, appProjectRoot, js) {
6
+ function addJest(host, unitTestRunner, projectName, appProjectRoot, js, skipPackageJson) {
7
7
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
8
8
  if (unitTestRunner !== 'jest') {
9
9
  return () => { };
10
10
  }
11
11
  const jestTask = yield (0, jest_1.jestProjectGenerator)(host, {
12
+ js,
12
13
  project: projectName,
13
14
  supportTsx: true,
14
15
  skipSerializers: true,
15
16
  setupFile: 'none',
16
- babelJest: true,
17
+ compiler: 'babel',
18
+ skipPackageJson,
17
19
  skipFormat: true,
18
20
  });
19
21
  // overwrite the jest.config.ts file because react native needs to have special transform property
@@ -1 +1 @@
1
- {"version":3,"file":"add-jest.js","sourceRoot":"","sources":["../../../../../packages/expo/src/utils/add-jest.ts"],"names":[],"mappings":";;;;AACA,mCAAgD;AAEhD,SAAsB,OAAO,CAC3B,IAAU,EACV,cAA+B,EAC/B,WAAmB,EACnB,cAAsB,EACtB,EAAW;;QAEX,IAAI,cAAc,KAAK,MAAM,EAAE;YAC7B,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;SACjB;QAED,MAAM,QAAQ,GAAG,MAAM,IAAA,2BAAoB,EAAC,IAAI,EAAE;YAChD,OAAO,EAAE,WAAW;YACpB,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,IAAI;YACrB,SAAS,EAAE,MAAM;YACjB,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,kGAAkG;QAClG,MAAM,UAAU,GAAG,GAAG,cAAc,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvE,MAAM,OAAO,GAAG;oBACE,WAAW;;;;;;;iDAOkB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;;;;KAI5D,CAAC;QACJ,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAEhC,OAAO,QAAQ,CAAC;IAClB,CAAC;CAAA;AAtCD,0BAsCC"}
1
+ {"version":3,"file":"add-jest.js","sourceRoot":"","sources":["../../../../../packages/expo/src/utils/add-jest.ts"],"names":[],"mappings":";;;;AACA,mCAAgD;AAEhD,SAAsB,OAAO,CAC3B,IAAU,EACV,cAA+B,EAC/B,WAAmB,EACnB,cAAsB,EACtB,EAAW,EACX,eAAwB;;QAExB,IAAI,cAAc,KAAK,MAAM,EAAE;YAC7B,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;SACjB;QAED,MAAM,QAAQ,GAAG,MAAM,IAAA,2BAAoB,EAAC,IAAI,EAAE;YAChD,EAAE;YACF,OAAO,EAAE,WAAW;YACpB,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,IAAI;YACrB,SAAS,EAAE,MAAM;YACjB,QAAQ,EAAE,OAAO;YACjB,eAAe;YACf,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,kGAAkG;QAClG,MAAM,UAAU,GAAG,GAAG,cAAc,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvE,MAAM,OAAO,GAAG;oBACE,WAAW;;;;;;;iDAOkB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;;;;KAI5D,CAAC;QACJ,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAEhC,OAAO,QAAQ,CAAC;IAClB,CAAC;CAAA;AAzCD,0BAyCC"}
@@ -1,3 +1,12 @@
1
1
  import { Linter } from '@nx/linter';
2
- import { Tree } from '@nx/devkit';
3
- export declare function addLinting(host: Tree, projectName: string, appProjectRoot: string, tsConfigPaths: string[], linter: Linter, setParserOptionsProject?: boolean): Promise<import("@nx/devkit").GeneratorCallback>;
2
+ import { GeneratorCallback, Tree } from '@nx/devkit';
3
+ interface NormalizedSchema {
4
+ linter?: Linter;
5
+ projectName: string;
6
+ projectRoot: string;
7
+ setParserOptionsProject?: boolean;
8
+ tsConfigPaths: string[];
9
+ skipPackageJson?: boolean;
10
+ }
11
+ export declare function addLinting(host: Tree, options: NormalizedSchema): Promise<GeneratorCallback>;
12
+ export {};
@@ -4,22 +4,24 @@ exports.addLinting = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const linter_1 = require("@nx/linter");
6
6
  const devkit_1 = require("@nx/devkit");
7
- const react_1 = require("@nx/react");
8
- function addLinting(host, projectName, appProjectRoot, tsConfigPaths, linter, setParserOptionsProject) {
7
+ const lint_1 = require("@nx/react/src/utils/lint");
8
+ function addLinting(host, options) {
9
9
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
10
- if (linter === linter_1.Linter.None) {
10
+ if (options.linter === linter_1.Linter.None) {
11
11
  return () => { };
12
12
  }
13
+ const tasks = [];
13
14
  const lintTask = yield (0, linter_1.lintProjectGenerator)(host, {
14
- linter,
15
- project: projectName,
16
- tsConfigPaths,
17
- eslintFilePatterns: [`${appProjectRoot}/**/*.{ts,tsx,js,jsx}`],
15
+ linter: options.linter,
16
+ project: options.projectName,
17
+ tsConfigPaths: options.tsConfigPaths,
18
+ eslintFilePatterns: [`${options.projectRoot}/**/*.{ts,tsx,js,jsx}`],
18
19
  skipFormat: true,
19
- setParserOptionsProject,
20
+ skipPackageJson: options.skipPackageJson,
20
21
  });
21
- (0, devkit_1.updateJson)(host, (0, devkit_1.joinPathFragments)(appProjectRoot, '.eslintrc.json'), (json) => {
22
- json = (0, react_1.extendReactEslintJson)(json);
22
+ tasks.push(lintTask);
23
+ (0, devkit_1.updateJson)(host, (0, devkit_1.joinPathFragments)(options.projectRoot, '.eslintrc.json'), (json) => {
24
+ json = (0, lint_1.extendReactEslintJson)(json);
23
25
  json.ignorePatterns = [
24
26
  ...json.ignorePatterns,
25
27
  '.expo',
@@ -30,8 +32,11 @@ function addLinting(host, projectName, appProjectRoot, tsConfigPaths, linter, se
30
32
  ];
31
33
  return json;
32
34
  });
33
- const installTask = yield (0, devkit_1.addDependenciesToPackageJson)(host, react_1.extraEslintDependencies.dependencies, react_1.extraEslintDependencies.devDependencies);
34
- return (0, devkit_1.runTasksInSerial)(lintTask, installTask);
35
+ if (!options.skipPackageJson) {
36
+ const installTask = yield (0, devkit_1.addDependenciesToPackageJson)(host, lint_1.extraEslintDependencies.dependencies, lint_1.extraEslintDependencies.devDependencies);
37
+ tasks.push(installTask);
38
+ }
39
+ return (0, devkit_1.runTasksInSerial)(...tasks);
35
40
  });
36
41
  }
37
42
  exports.addLinting = addLinting;
@@ -1 +1 @@
1
- {"version":3,"file":"add-linting.js","sourceRoot":"","sources":["../../../../../packages/expo/src/utils/add-linting.ts"],"names":[],"mappings":";;;;AAAA,uCAA0D;AAC1D,uCAMoB;AACpB,qCAA2E;AAG3E,SAAsB,UAAU,CAC9B,IAAU,EACV,WAAmB,EACnB,cAAsB,EACtB,aAAuB,EACvB,MAAc,EACd,uBAAiC;;QAEjC,IAAI,MAAM,KAAK,eAAM,CAAC,IAAI,EAAE;YAC1B,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;SACjB;QAED,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAoB,EAAC,IAAI,EAAE;YAChD,MAAM;YACN,OAAO,EAAE,WAAW;YACpB,aAAa;YACb,kBAAkB,EAAE,CAAC,GAAG,cAAc,uBAAuB,CAAC;YAC9D,UAAU,EAAE,IAAI;YAChB,uBAAuB;SACxB,CAAC,CAAC;QAEH,IAAA,mBAAU,EACR,IAAI,EACJ,IAAA,0BAAiB,EAAC,cAAc,EAAE,gBAAgB,CAAC,EACnD,CAAC,IAAyB,EAAE,EAAE;YAC5B,IAAI,GAAG,IAAA,6BAAqB,EAAC,IAAI,CAAC,CAAC;YAEnC,IAAI,CAAC,cAAc,GAAG;gBACpB,GAAG,IAAI,CAAC,cAAc;gBACtB,OAAO;gBACP,cAAc;gBACd,WAAW;gBACX,OAAO;gBACP,MAAM;aACP,CAAC;YAEF,OAAO,IAAI,CAAC;QACd,CAAC,CACF,CAAC;QAEF,MAAM,WAAW,GAAG,MAAM,IAAA,qCAA4B,EACpD,IAAI,EACJ,+BAAuB,CAAC,YAAY,EACpC,+BAAuB,CAAC,eAAe,CACxC,CAAC;QAEF,OAAO,IAAA,yBAAgB,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC;CAAA;AA/CD,gCA+CC"}
1
+ {"version":3,"file":"add-linting.js","sourceRoot":"","sources":["../../../../../packages/expo/src/utils/add-linting.ts"],"names":[],"mappings":";;;;AAAA,uCAA0D;AAC1D,uCAOoB;AACpB,mDAGkC;AAYlC,SAAsB,UAAU,CAAC,IAAU,EAAE,OAAyB;;QACpE,IAAI,OAAO,CAAC,MAAM,KAAK,eAAM,CAAC,IAAI,EAAE;YAClC,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;SACjB;QACD,MAAM,KAAK,GAAwB,EAAE,CAAC;QAEtC,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAoB,EAAC,IAAI,EAAE;YAChD,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,WAAW;YAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,kBAAkB,EAAE,CAAC,GAAG,OAAO,CAAC,WAAW,uBAAuB,CAAC;YACnE,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,OAAO,CAAC,eAAe;SACzC,CAAC,CAAC;QAEH,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAErB,IAAA,mBAAU,EACR,IAAI,EACJ,IAAA,0BAAiB,EAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,EACxD,CAAC,IAAyB,EAAE,EAAE;YAC5B,IAAI,GAAG,IAAA,4BAAqB,EAAC,IAAI,CAAC,CAAC;YAEnC,IAAI,CAAC,cAAc,GAAG;gBACpB,GAAG,IAAI,CAAC,cAAc;gBACtB,OAAO;gBACP,cAAc;gBACd,WAAW;gBACX,OAAO;gBACP,MAAM;aACP,CAAC;YAEF,OAAO,IAAI,CAAC;QACd,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YAC5B,MAAM,WAAW,GAAG,MAAM,IAAA,qCAA4B,EACpD,IAAI,EACJ,8BAAuB,CAAC,YAAY,EACpC,8BAAuB,CAAC,eAAe,CACxC,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACzB;QAED,OAAO,IAAA,yBAAgB,EAAC,GAAG,KAAK,CAAC,CAAC;IACpC,CAAC;CAAA;AA9CD,gCA8CC"}