@nrwl/expo 13.9.0 → 14.1.0

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 (52) hide show
  1. package/.eslintrc.json +3 -1
  2. package/generators.json +5 -0
  3. package/index.d.ts +1 -0
  4. package/index.js +3 -1
  5. package/index.js.map +1 -1
  6. package/migrations.json +52 -1
  7. package/package.json +5 -4
  8. package/plugins/metro-resolver.js +22 -39
  9. package/plugins/metro-resolver.js.map +1 -1
  10. package/plugins/with-nx-metro.d.ts +2 -0
  11. package/plugins/with-nx-metro.js +14 -9
  12. package/plugins/with-nx-metro.js.map +1 -1
  13. package/plugins/with-nx-webpack.d.ts +4 -0
  14. package/plugins/with-nx-webpack.js +103 -0
  15. package/plugins/with-nx-webpack.js.map +1 -0
  16. package/project.json +1 -2
  17. package/src/executors/sync-deps/sync-deps.impl.js +1 -2
  18. package/src/executors/sync-deps/sync-deps.impl.js.map +1 -1
  19. package/src/generators/application/application.d.ts +1 -1
  20. package/src/generators/application/files/app.json.template +1 -1
  21. package/src/generators/application/files/babel.config.js.template +7 -0
  22. package/src/generators/application/files/metro.config.js.template +4 -0
  23. package/src/generators/application/files/package.json.template +1 -1
  24. package/src/generators/application/files/webpack.config.js.template +10 -97
  25. package/src/generators/application/lib/create-application-files.js +1 -1
  26. package/src/generators/application/lib/create-application-files.js.map +1 -1
  27. package/src/generators/component/component.d.ts +1 -1
  28. package/src/generators/component/schema.json +2 -2
  29. package/src/generators/init/init.d.ts +1 -1
  30. package/src/generators/init/init.js +10 -5
  31. package/src/generators/init/init.js.map +1 -1
  32. package/src/generators/init/schema.json +2 -2
  33. package/src/generators/library/library.d.ts +1 -1
  34. package/src/generators/library/schema.json +2 -2
  35. package/src/generators/preset/preset.d.ts +4 -0
  36. package/src/generators/preset/preset.js +18 -0
  37. package/src/generators/preset/preset.js.map +1 -0
  38. package/src/generators/preset/schema.d.ts +13 -0
  39. package/src/generators/preset/schema.json +62 -0
  40. package/src/migrations/update-14-0-0/add-project-root-metro-config-14-0-0.d.ts +6 -0
  41. package/src/migrations/update-14-0-0/add-project-root-metro-config-14-0-0.js +35 -0
  42. package/src/migrations/update-14-0-0/add-project-root-metro-config-14-0-0.js.map +1 -0
  43. package/src/utils/ensure-node-modules-symlink.js.map +1 -1
  44. package/src/utils/find-all-npm-dependencies.d.ts +1 -1
  45. package/src/utils/versions.d.ts +7 -6
  46. package/src/utils/versions.js +11 -7
  47. package/src/utils/versions.js.map +1 -1
  48. package/tsconfig.lib.json +1 -1
  49. package/tsconfig.spec.json +2 -1
  50. package/jest.config.js +0 -12
  51. package/src/generators/application/files/.babelrc.js.template +0 -6
  52. package/src/generators/application/files/eas.js.template +0 -9
package/.eslintrc.json CHANGED
@@ -1,5 +1,7 @@
1
1
  {
2
2
  "extends": "../../.eslintrc",
3
- "rules": {},
3
+ "rules": {
4
+ "@typescript-eslint/no-empty-function": "off"
5
+ },
4
6
  "ignorePatterns": ["!**/*"]
5
7
  }
package/generators.json CHANGED
@@ -56,6 +56,11 @@
56
56
  "schema": "./src/generators/component/schema.json",
57
57
  "description": "Create a component",
58
58
  "aliases": ["c"]
59
+ },
60
+ "preset": {
61
+ "factory": "./src/generators/preset/preset",
62
+ "schema": "./src/generators/preset/schema.json",
63
+ "description": "Create Expo preset"
59
64
  }
60
65
  }
61
66
  }
package/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export { expoInitGenerator } from './src/generators/init/init';
2
2
  export { expoApplicationGenerator } from './src/generators/application/application';
3
3
  export { withNxMetro } from './plugins/with-nx-metro';
4
+ export { withNxWebpack } from './plugins/with-nx-webpack';
package/index.js CHANGED
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.withNxMetro = exports.expoApplicationGenerator = exports.expoInitGenerator = void 0;
3
+ exports.withNxWebpack = exports.withNxMetro = exports.expoApplicationGenerator = exports.expoInitGenerator = void 0;
4
4
  var init_1 = require("./src/generators/init/init");
5
5
  Object.defineProperty(exports, "expoInitGenerator", { enumerable: true, get: function () { return init_1.expoInitGenerator; } });
6
6
  var application_1 = require("./src/generators/application/application");
7
7
  Object.defineProperty(exports, "expoApplicationGenerator", { enumerable: true, get: function () { return application_1.expoApplicationGenerator; } });
8
8
  var with_nx_metro_1 = require("./plugins/with-nx-metro");
9
9
  Object.defineProperty(exports, "withNxMetro", { enumerable: true, get: function () { return with_nx_metro_1.withNxMetro; } });
10
+ var with_nx_webpack_1 = require("./plugins/with-nx-webpack");
11
+ Object.defineProperty(exports, "withNxWebpack", { enumerable: true, get: function () { return with_nx_webpack_1.withNxWebpack; } });
10
12
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/expo/index.ts"],"names":[],"mappings":";;;AAAA,mDAA+D;AAAtD,yGAAA,iBAAiB,OAAA;AAC1B,wEAAoF;AAA3E,uHAAA,wBAAwB,OAAA;AACjC,yDAAsD;AAA7C,4GAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/expo/index.ts"],"names":[],"mappings":";;;AAAA,mDAA+D;AAAtD,yGAAA,iBAAiB,OAAA;AAC1B,wEAAoF;AAA3E,uHAAA,wBAAwB,OAAA;AACjC,yDAAsD;AAA7C,4GAAA,WAAW,OAAA;AACpB,6DAA0D;AAAjD,gHAAA,aAAa,OAAA"}
package/migrations.json CHANGED
@@ -1,5 +1,12 @@
1
1
  {
2
- "schematics": {},
2
+ "schematics": {
3
+ "add-project-root-metro-config-14-0-0": {
4
+ "version": "14.0.1-beta.0",
5
+ "cli": "nx",
6
+ "description": "Add projectRoot option in metro.config.js",
7
+ "factory": "./src/migrations/update-14-0-0/add-project-root-metro-config-14-0-0"
8
+ }
9
+ },
3
10
  "packageJsonUpdates": {
4
11
  "13.8.6": {
5
12
  "version": "13.8.6-beta.0",
@@ -9,6 +16,50 @@
9
16
  "alwaysAddToPackageJson": false
10
17
  }
11
18
  }
19
+ },
20
+ "14.0.0": {
21
+ "version": "14.0.0-beta.0",
22
+ "packages": {
23
+ "expo-cli": {
24
+ "version": "5.4.0",
25
+ "alwaysAddToPackageJson": false
26
+ },
27
+ "babel-preset-expo": {
28
+ "version": "~9.0.2",
29
+ "alwaysAddToPackageJson": false,
30
+ "addToPackageJson": "devDependencies"
31
+ }
32
+ }
33
+ },
34
+ "14.0.1": {
35
+ "version": "14.0.1-beta.0",
36
+ "packages": {
37
+ "expo-cli": {
38
+ "version": "5.4.3",
39
+ "alwaysAddToPackageJson": false
40
+ }
41
+ }
42
+ },
43
+ "14.0.2": {
44
+ "version": "14.0.2-beta.0",
45
+ "packages": {
46
+ "metro-resolver": {
47
+ "version": "0.70.2",
48
+ "alwaysAddToPackageJson": false
49
+ },
50
+ "expo-dev-client": {
51
+ "version": "0.8.5",
52
+ "alwaysAddToPackageJson": false
53
+ },
54
+ "@expo/metro-config": {
55
+ "version": "0.3.16",
56
+ "alwaysAddToPackageJson": false
57
+ },
58
+ "expo-updates": {
59
+ "version": "~0.11.7",
60
+ "alwaysAddToPackageJson": false
61
+ }
62
+ }
12
63
  }
13
64
  }
14
65
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nrwl/expo",
3
- "version": "13.9.0",
3
+ "version": "14.1.0",
4
4
  "description": "Expo Plugin for Nx",
5
5
  "keywords": [
6
6
  "Monorepo",
@@ -33,9 +33,10 @@
33
33
  "@nrwl/workspace": "*",
34
34
  "chalk": "4.1.0",
35
35
  "enhanced-resolve": "^5.8.3",
36
- "expo-cli": "^5.2.0",
37
- "metro-resolver": "^0.66.2",
38
- "tsconfig-paths": "^3.9.0"
36
+ "expo-cli": "^5.4.3",
37
+ "metro-resolver": "^0.70.2",
38
+ "tsconfig-paths": "^3.9.0",
39
+ "tsconfig-paths-webpack-plugin": "^3.5.2"
39
40
  },
40
41
  "peerDependencies": {
41
42
  "expo": "^44.0.5"
@@ -5,11 +5,10 @@ const tslib_1 = require("tslib");
5
5
  const metroResolver = require("metro-resolver");
6
6
  const tsconfig_paths_1 = require("tsconfig-paths");
7
7
  const chalk = require("chalk");
8
- const devkit_1 = require("@nrwl/devkit");
9
8
  const enhanced_resolve_1 = require("enhanced-resolve");
10
9
  const path_1 = require("path");
11
10
  const fs = require("fs");
12
- const app_root_1 = require("@nrwl/tao/src/utils/app-root");
11
+ const devkit_1 = require("@nrwl/devkit");
13
12
  /*
14
13
  * Use tsconfig to resolve additional workspace libs.
15
14
  *
@@ -18,21 +17,17 @@ const app_root_1 = require("@nrwl/tao/src/utils/app-root");
18
17
  */
19
18
  function getResolveRequest(extensions) {
20
19
  return function (_context, realModuleName, platform, moduleName) {
21
- const DEBUG = process.env.NX_REACT_NATIVE_DEBUG === 'true';
22
- if (DEBUG)
20
+ const debug = process.env.NX_REACT_NATIVE_DEBUG === 'true';
21
+ if (debug)
23
22
  console.log(chalk.cyan(`[Nx] Resolving: ${moduleName}`));
24
23
  const { resolveRequest } = _context, context = (0, tslib_1.__rest)(_context, ["resolveRequest"]);
25
- let resolvedPath = defaultMetroResolver(context, moduleName, platform);
24
+ const resolvedPath = defaultMetroResolver(context, moduleName, platform, debug) ||
25
+ tsconfigPathsResolver(context, extensions, realModuleName, moduleName, platform, debug) ||
26
+ pnpmResolver(extensions, context, realModuleName, moduleName, debug);
26
27
  if (resolvedPath) {
27
28
  return resolvedPath;
28
29
  }
29
- if ((0, devkit_1.detectPackageManager)(app_root_1.appRootPath) === 'pnpm') {
30
- resolvedPath = pnpmResolver(extensions, context, realModuleName, moduleName);
31
- if (resolvedPath) {
32
- return resolvedPath;
33
- }
34
- }
35
- return tsconfigPathsResolver(context, extensions, realModuleName, moduleName, platform);
30
+ throw new Error(`Cannot resolve ${chalk.bold(moduleName)}`);
36
31
  };
37
32
  }
38
33
  exports.getResolveRequest = getResolveRequest;
@@ -40,13 +35,12 @@ exports.getResolveRequest = getResolveRequest;
40
35
  * This function try to resolve path using metro's default resolver
41
36
  * @returns path if resolved, else undefined
42
37
  */
43
- function defaultMetroResolver(context, moduleName, platform) {
44
- const DEBUG = process.env.NX_REACT_NATIVE_DEBUG === 'true';
38
+ function defaultMetroResolver(context, moduleName, platform, debug) {
45
39
  try {
46
40
  return metroResolver.resolve(context, moduleName, platform);
47
41
  }
48
42
  catch (_a) {
49
- if (DEBUG)
43
+ if (debug)
50
44
  console.log(chalk.cyan(`[Nx] Unable to resolve with default Metro resolver: ${moduleName}`));
51
45
  }
52
46
  }
@@ -55,18 +49,17 @@ function defaultMetroResolver(context, moduleName, platform) {
55
49
  * @returns path if resolved, else undefined
56
50
  * This pnpm resolver is inspired from https://github.com/vjpr/pnpm-react-native-example/blob/main/packages/pnpm-expo-helper/util/make-resolver.js
57
51
  */
58
- function pnpmResolver(extensions, context, realModuleName, moduleName) {
59
- const DEBUG = process.env.NX_REACT_NATIVE_DEBUG === 'true';
52
+ function pnpmResolver(extensions, context, realModuleName, moduleName, debug) {
60
53
  try {
61
- const pnpmResolver = getPnpmResolver(app_root_1.appRootPath, extensions);
54
+ const pnpmResolve = getPnpmResolver(extensions);
62
55
  const lookupStartPath = (0, path_1.dirname)(context.originModulePath);
63
- const filePath = pnpmResolver.resolveSync({}, lookupStartPath, realModuleName);
56
+ const filePath = pnpmResolve.resolveSync({}, lookupStartPath, realModuleName);
64
57
  if (filePath) {
65
58
  return { type: 'sourceFile', filePath };
66
59
  }
67
60
  }
68
61
  catch (_a) {
69
- if (DEBUG)
62
+ if (debug)
70
63
  console.log(chalk.cyan(`[Nx] Unable to resolve with default PNPM resolver: ${moduleName}`));
71
64
  }
72
65
  }
@@ -74,39 +67,29 @@ function pnpmResolver(extensions, context, realModuleName, moduleName) {
74
67
  * This function try to resolve files that are specified in tsconfig's paths
75
68
  * @returns path if resolved, else undefined
76
69
  */
77
- function tsconfigPathsResolver(context, extensions, realModuleName, moduleName, platform) {
78
- const DEBUG = process.env.NX_REACT_NATIVE_DEBUG === 'true';
79
- const matcher = getMatcher();
80
- const match = matcher(realModuleName, undefined, undefined, extensions.map((ext) => `.${ext}`));
70
+ function tsconfigPathsResolver(context, extensions, realModuleName, moduleName, platform, debug) {
71
+ const tsConfigPathMatcher = getMatcher(debug);
72
+ const match = tsConfigPathMatcher(realModuleName, undefined, undefined, extensions.map((ext) => `.${ext}`));
81
73
  if (match) {
82
- const metroResolvePath = metroResolver.resolve(context, match, platform);
83
- if (metroResolvePath) {
84
- return metroResolvePath;
85
- }
86
- return {
87
- type: 'sourceFile',
88
- filePath: match,
89
- };
74
+ return metroResolver.resolve(context, match, platform);
90
75
  }
91
76
  else {
92
- if (DEBUG) {
77
+ if (debug) {
93
78
  console.log(chalk.red(`[Nx] Failed to resolve ${chalk.bold(moduleName)}`));
94
79
  console.log(chalk.cyan(`[Nx] The following tsconfig paths was used:\n:${chalk.bold(JSON.stringify(paths, null, 2))}`));
95
80
  }
96
- throw new Error(`Cannot resolve ${chalk.bold(moduleName)}`);
97
81
  }
98
82
  }
99
83
  let matcher;
100
84
  let absoluteBaseUrl;
101
85
  let paths;
102
- function getMatcher() {
103
- const DEBUG = process.env.NX_REACT_NATIVE_DEBUG === 'true';
86
+ function getMatcher(debug) {
104
87
  if (!matcher) {
105
88
  const result = (0, tsconfig_paths_1.loadConfig)();
106
89
  if (result.resultType === 'success') {
107
90
  absoluteBaseUrl = result.absoluteBaseUrl;
108
91
  paths = result.paths;
109
- if (DEBUG) {
92
+ if (debug) {
110
93
  console.log(chalk.cyan(`[Nx] Located tsconfig at ${chalk.bold(absoluteBaseUrl)}`));
111
94
  console.log(chalk.cyan(`[Nx] Found the following paths:\n:${chalk.bold(JSON.stringify(paths, null, 2))}`));
112
95
  }
@@ -124,14 +107,14 @@ function getMatcher() {
124
107
  * It is inspired form https://github.com/vjpr/pnpm-expo-example/blob/main/packages/pnpm-expo-helper/util/make-resolver.js.
125
108
  */
126
109
  let resolver;
127
- function getPnpmResolver(appRootPath, extensions) {
110
+ function getPnpmResolver(extensions) {
128
111
  if (!resolver) {
129
112
  const fileSystem = new enhanced_resolve_1.CachedInputFileSystem(fs, 4000);
130
113
  resolver = enhanced_resolve_1.ResolverFactory.createResolver({
131
114
  fileSystem,
132
115
  extensions: extensions.map((extension) => '.' + extension),
133
116
  useSyncFileSystemCalls: true,
134
- modules: [(0, path_1.join)(appRootPath, 'node_modules'), 'node_modules'],
117
+ modules: [(0, path_1.join)(devkit_1.workspaceRoot, 'node_modules'), 'node_modules'],
135
118
  });
136
119
  }
137
120
  return resolver;
@@ -1 +1 @@
1
- {"version":3,"file":"metro-resolver.js","sourceRoot":"","sources":["../../../../packages/expo/plugins/metro-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metro-resolver.js","sourceRoot":"","sources":["../../../../packages/expo/plugins/metro-resolver.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  interface WithNxOptions {
2
2
  debug?: boolean;
3
3
  extensions?: string[];
4
+ projectRoot?: string;
5
+ watchFolders?: string[];
4
6
  }
5
7
  export declare function withNxMetro(config: any, opts?: WithNxOptions): any;
6
8
  export {};
@@ -1,25 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.withNxMetro = void 0;
4
- const file_utils_1 = require("@nrwl/workspace/src/core/file-utils");
5
- const app_root_1 = require("@nrwl/workspace/src/utils/app-root");
4
+ const devkit_1 = require("@nrwl/devkit");
6
5
  const path_1 = require("path");
6
+ const fs_extra_1 = require("fs-extra");
7
7
  const metro_resolver_1 = require("./metro-resolver");
8
8
  function withNxMetro(config, opts = {}) {
9
+ var _a;
9
10
  const extensions = ['', 'ts', 'tsx', 'js', 'jsx', 'json'];
10
11
  if (opts.debug)
11
12
  process.env.NX_REACT_NATIVE_DEBUG = 'true';
12
13
  if (opts.extensions)
13
14
  extensions.push(...opts.extensions);
14
- // Set the root to workspace root so we can resolve modules and assets
15
- config.projectRoot = app_root_1.appRootPath;
16
- const watchFolders = config.watchFolders || [];
17
- config.watchFolders = watchFolders.concat([
18
- (0, path_1.join)(app_root_1.appRootPath, 'node_modules'),
19
- (0, path_1.join)(app_root_1.appRootPath, (0, file_utils_1.workspaceLayout)().libsDir),
20
- ]);
15
+ config.projectRoot = opts.projectRoot || devkit_1.workspaceRoot;
21
16
  // Add support for paths specified by tsconfig
22
17
  config.resolver = Object.assign(Object.assign({}, config.resolver), { resolveRequest: (0, metro_resolver_1.getResolveRequest)(extensions) });
18
+ let watchFolders = config.watchFolders || [];
19
+ watchFolders = watchFolders.concat([
20
+ (0, path_1.join)(devkit_1.workspaceRoot, 'node_modules'),
21
+ (0, path_1.join)(devkit_1.workspaceRoot, (0, devkit_1.workspaceLayout)().libsDir),
22
+ ]);
23
+ if ((_a = opts.watchFolders) === null || _a === void 0 ? void 0 : _a.length) {
24
+ watchFolders = watchFolders.concat(opts.watchFolders);
25
+ }
26
+ watchFolders = watchFolders.filter((folder) => (0, fs_extra_1.existsSync)(folder));
27
+ config.watchFolders = watchFolders;
23
28
  return config;
24
29
  }
25
30
  exports.withNxMetro = withNxMetro;
@@ -1 +1 @@
1
- {"version":3,"file":"with-nx-metro.js","sourceRoot":"","sources":["../../../../packages/expo/plugins/with-nx-metro.ts"],"names":[],"mappings":";;;AAAA,oEAAsE;AACtE,iEAAiE;AACjE,+BAA4B;AAC5B,qDAAqD;AAOrD,SAAgB,WAAW,CAAC,MAAW,EAAE,OAAsB,EAAE;IAC/D,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC1D,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,MAAM,CAAC;IAC3D,IAAI,IAAI,CAAC,UAAU;QAAE,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAEzD,sEAAsE;IACtE,MAAM,CAAC,WAAW,GAAG,sBAAW,CAAC;IAEjC,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;IAC/C,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC;QACxC,IAAA,WAAI,EAAC,sBAAW,EAAE,cAAc,CAAC;QACjC,IAAA,WAAI,EAAC,sBAAW,EAAE,IAAA,4BAAe,GAAE,CAAC,OAAO,CAAC;KAC7C,CAAC,CAAC;IAEH,8CAA8C;IAC9C,MAAM,CAAC,QAAQ,mCACV,MAAM,CAAC,QAAQ,KAClB,cAAc,EAAE,IAAA,kCAAiB,EAAC,UAAU,CAAC,GAC9C,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AArBD,kCAqBC"}
1
+ {"version":3,"file":"with-nx-metro.js","sourceRoot":"","sources":["../../../../packages/expo/plugins/with-nx-metro.ts"],"names":[],"mappings":";;;AAAA,yCAA8D;AAC9D,+BAA4B;AAC5B,uCAAsC;AAEtC,qDAAqD;AASrD,SAAgB,WAAW,CAAC,MAAW,EAAE,OAAsB,EAAE;;IAC/D,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC1D,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,MAAM,CAAC;IAC3D,IAAI,IAAI,CAAC,UAAU;QAAE,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAEzD,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,sBAAa,CAAC;IAEvD,8CAA8C;IAC9C,MAAM,CAAC,QAAQ,mCACV,MAAM,CAAC,QAAQ,KAClB,cAAc,EAAE,IAAA,kCAAiB,EAAC,UAAU,CAAC,GAC9C,CAAC;IAEF,IAAI,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;IAC7C,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC;QACjC,IAAA,WAAI,EAAC,sBAAa,EAAE,cAAc,CAAC;QACnC,IAAA,WAAI,EAAC,sBAAa,EAAE,IAAA,wBAAe,GAAE,CAAC,OAAO,CAAC;KAC/C,CAAC,CAAC;IACH,IAAI,MAAA,IAAI,CAAC,YAAY,0CAAE,MAAM,EAAE;QAC7B,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACvD;IAED,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,qBAAU,EAAC,MAAM,CAAC,CAAC,CAAC;IACnE,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC;IAEnC,OAAO,MAAM,CAAC;AAChB,CAAC;AA1BD,kCA0BC"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * This function add addtional rules to expo's webpack config to make expo web working
3
+ */
4
+ export declare function withNxWebpack(config: any): Promise<any>;
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.withNxWebpack = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const tsconfig_paths_webpack_plugin_1 = require("tsconfig-paths-webpack-plugin");
6
+ const path_1 = require("path");
7
+ /**
8
+ * This function add addtional rules to expo's webpack config to make expo web working
9
+ */
10
+ function withNxWebpack(config) {
11
+ var _a;
12
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
13
+ // add additional rule to load files under libs
14
+ const rules = (_a = config.module.rules[1]) === null || _a === void 0 ? void 0 : _a.oneOf;
15
+ if (rules) {
16
+ rules.push({
17
+ test: /\.(mjs|[jt]sx?)$/,
18
+ exclude: /node_modules/,
19
+ use: {
20
+ loader: require.resolve('@nrwl/web/src/utils/web-babel-loader.js'),
21
+ options: {
22
+ presets: [
23
+ [
24
+ '@nrwl/react/babel',
25
+ {
26
+ runtime: 'automatic',
27
+ },
28
+ ],
29
+ ],
30
+ },
31
+ },
32
+ });
33
+ // svg rule from https://github.com/kristerkari/react-native-svg-transformer/issues/135#issuecomment-1008310514
34
+ rules.unshift({
35
+ test: /\.svg$/,
36
+ exclude: /node_modules/,
37
+ use: [
38
+ {
39
+ loader: require.resolve('@svgr/webpack'),
40
+ options: {
41
+ svgoConfig: {
42
+ plugins: {
43
+ cleanupAttrs: true,
44
+ cleanupEnableBackground: true,
45
+ cleanupIDs: true,
46
+ cleanupListOfValues: true,
47
+ cleanupNumericValues: true,
48
+ collapseGroups: true,
49
+ convertEllipseToCircle: true,
50
+ convertPathData: true,
51
+ convertShapeToPath: true,
52
+ convertStyleToAttrs: true,
53
+ convertTransform: true,
54
+ inlineStyles: true,
55
+ mergePaths: true,
56
+ minifyStyles: true,
57
+ moveElemsAttrsToGroup: true,
58
+ moveGroupAttrsToElems: true,
59
+ removeComments: true,
60
+ removeDesc: true,
61
+ removeDimensions: false,
62
+ removeDoctype: true,
63
+ removeEditorsNSData: true,
64
+ removeEmptyAttrs: true,
65
+ removeEmptyContainers: true,
66
+ removeEmptyText: true,
67
+ removeHiddenElems: true,
68
+ removeMetadata: true,
69
+ removeNonInheritableGroupAttrs: true,
70
+ removeRasterImages: true,
71
+ removeScriptElement: false,
72
+ removeStyleElement: false,
73
+ removeTitle: true,
74
+ removeUnknownsAndDefaults: true,
75
+ removeUnusedNS: true,
76
+ removeUselessDefs: true,
77
+ removeUselessStrokeAndFill: true,
78
+ removeViewBox: false,
79
+ removeXMLNS: true,
80
+ removeXMLProcInst: true,
81
+ reusePaths: true,
82
+ sortAttrs: true,
83
+ sortDefsChildren: true,
84
+ convertColors: false,
85
+ },
86
+ },
87
+ },
88
+ },
89
+ ],
90
+ });
91
+ }
92
+ const extensions = ['.ts', '.tsx', '.mjs', '.js', '.jsx'];
93
+ const tsConfigPath = (0, path_1.resolve)('tsconfig.json');
94
+ config.resolve.plugins.push(new tsconfig_paths_webpack_plugin_1.TsconfigPathsPlugin({
95
+ configFile: tsConfigPath,
96
+ extensions,
97
+ }));
98
+ config.resolve.symlinks = true;
99
+ return config;
100
+ });
101
+ }
102
+ exports.withNxWebpack = withNxWebpack;
103
+ //# sourceMappingURL=with-nx-webpack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-nx-webpack.js","sourceRoot":"","sources":["../../../../packages/expo/plugins/with-nx-webpack.ts"],"names":[],"mappings":";;;;AAAA,iFAAoE;AACpE,+BAA+B;AAE/B;;GAEG;AACH,SAAsB,aAAa,CAAC,MAAM;;;QACxC,+CAA+C;QAC/C,MAAM,KAAK,GAAG,MAAA,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,0CAAE,KAAK,CAAC;QAC5C,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,cAAc;gBACvB,GAAG,EAAE;oBACH,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,yCAAyC,CAAC;oBAClE,OAAO,EAAE;wBACP,OAAO,EAAE;4BACP;gCACE,mBAAmB;gCACnB;oCACE,OAAO,EAAE,WAAW;iCACrB;6BACF;yBACF;qBACF;iBACF;aACF,CAAC,CAAC;YACH,+GAA+G;YAC/G,KAAK,CAAC,OAAO,CAAC;gBACZ,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,cAAc;gBACvB,GAAG,EAAE;oBACH;wBACE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC;wBACxC,OAAO,EAAE;4BACP,UAAU,EAAE;gCACV,OAAO,EAAE;oCACP,YAAY,EAAE,IAAI;oCAClB,uBAAuB,EAAE,IAAI;oCAC7B,UAAU,EAAE,IAAI;oCAChB,mBAAmB,EAAE,IAAI;oCACzB,oBAAoB,EAAE,IAAI;oCAC1B,cAAc,EAAE,IAAI;oCACpB,sBAAsB,EAAE,IAAI;oCAC5B,eAAe,EAAE,IAAI;oCACrB,kBAAkB,EAAE,IAAI;oCACxB,mBAAmB,EAAE,IAAI;oCACzB,gBAAgB,EAAE,IAAI;oCACtB,YAAY,EAAE,IAAI;oCAClB,UAAU,EAAE,IAAI;oCAChB,YAAY,EAAE,IAAI;oCAClB,qBAAqB,EAAE,IAAI;oCAC3B,qBAAqB,EAAE,IAAI;oCAC3B,cAAc,EAAE,IAAI;oCACpB,UAAU,EAAE,IAAI;oCAChB,gBAAgB,EAAE,KAAK;oCACvB,aAAa,EAAE,IAAI;oCACnB,mBAAmB,EAAE,IAAI;oCACzB,gBAAgB,EAAE,IAAI;oCACtB,qBAAqB,EAAE,IAAI;oCAC3B,eAAe,EAAE,IAAI;oCACrB,iBAAiB,EAAE,IAAI;oCACvB,cAAc,EAAE,IAAI;oCACpB,8BAA8B,EAAE,IAAI;oCACpC,kBAAkB,EAAE,IAAI;oCACxB,mBAAmB,EAAE,KAAK;oCAC1B,kBAAkB,EAAE,KAAK;oCACzB,WAAW,EAAE,IAAI;oCACjB,yBAAyB,EAAE,IAAI;oCAC/B,cAAc,EAAE,IAAI;oCACpB,iBAAiB,EAAE,IAAI;oCACvB,0BAA0B,EAAE,IAAI;oCAChC,aAAa,EAAE,KAAK;oCACpB,WAAW,EAAE,IAAI;oCACjB,iBAAiB,EAAE,IAAI;oCACvB,UAAU,EAAE,IAAI;oCAChB,SAAS,EAAE,IAAI;oCACf,gBAAgB,EAAE,IAAI;oCACtB,aAAa,EAAE,KAAK;iCACrB;6BACF;yBACF;qBACF;iBACF;aACF,CAAC,CAAC;SACJ;QAED,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,IAAA,cAAO,EAAC,eAAe,CAAC,CAAC;QAE9C,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CACzB,IAAI,mDAAmB,CAAC;YACtB,UAAU,EAAE,YAAY;YACxB,UAAU;SACX,CAAC,CACH,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC/B,OAAO,MAAM,CAAC;;CACf;AA7FD,sCA6FC"}
package/project.json CHANGED
@@ -1,5 +1,4 @@
1
1
  {
2
- "root": "packages/expo",
3
2
  "sourceRoot": "packages/expo/src",
4
3
  "projectType": "library",
5
4
  "targets": {
@@ -20,7 +19,7 @@
20
19
  "test": {
21
20
  "executor": "@nrwl/jest:jest",
22
21
  "options": {
23
- "jestConfig": "packages/expo/jest.config.js",
22
+ "jestConfig": "packages/expo/jest.config.ts",
24
23
  "passWithNoTests": true
25
24
  },
26
25
  "outputs": ["coverage/packages/expo"]
@@ -5,7 +5,6 @@ const tslib_1 = require("tslib");
5
5
  const path_1 = require("path");
6
6
  const chalk = require("chalk");
7
7
  const devkit_1 = require("@nrwl/devkit");
8
- const project_graph_1 = require("@nrwl/workspace/src/core/project-graph");
9
8
  const find_all_npm_dependencies_1 = require("../../utils/find-all-npm-dependencies");
10
9
  function syncDepsExecutor(options, context) {
11
10
  return (0, tslib_1.__asyncGenerator)(this, arguments, function* syncDepsExecutor_1() {
@@ -17,7 +16,7 @@ function syncDepsExecutor(options, context) {
17
16
  exports.default = syncDepsExecutor;
18
17
  function syncDeps(projectName, projectRoot, include) {
19
18
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
20
- const graph = yield (0, project_graph_1.createProjectGraphAsync)();
19
+ const graph = yield (0, devkit_1.createProjectGraphAsync)();
21
20
  const npmDeps = (0, find_all_npm_dependencies_1.findAllNpmDependencies)(graph, projectName);
22
21
  const packageJsonPath = (0, path_1.join)(projectRoot, 'package.json');
23
22
  const packageJson = (0, devkit_1.readJsonFile)(packageJsonPath);
@@ -1 +1 @@
1
- {"version":3,"file":"sync-deps.impl.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/executors/sync-deps/sync-deps.impl.ts"],"names":[],"mappings":";;;;AAAA,+BAA4B;AAC5B,+BAA+B;AAC/B,yCAKsB;AACtB,0EAAiF;AAEjF,qFAA+E;AAQ/E,SAA+B,gBAAgB,CAC7C,OAA4B,EAC5B,OAAwB;;QAExB,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;QACzE,4BAA4B,CAC1B,OAAO,CAAC,WAAW,EACnB,2BAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA,CAClE,CAAC;QAEF,iCAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA,CAAC;IAC1B,CAAC;CAAA;AAXD,mCAWC;AAED,SAAsB,QAAQ,CAC5B,WAAmB,EACnB,WAAmB,EACnB,OAAgB;;QAEhB,MAAM,KAAK,GAAG,MAAM,IAAA,uCAAuB,GAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAA,kDAAsB,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC3D,MAAM,eAAe,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,IAAA,qBAAY,EAAC,eAAe,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,MAAM,WAAW,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;YAC7B,WAAW,CAAC,YAAY,GAAG,EAAE,CAAC;YAC9B,OAAO,GAAG,IAAI,CAAC;SAChB;QAED,IAAI,WAAW,EAAE;YACf,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;SAC9B;QAED,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACtB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;gBAClC,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;gBACpC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClB,OAAO,GAAG,IAAI,CAAC;aAChB;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,EAAE;YACX,IAAA,sBAAa,EAAC,eAAe,EAAE,WAAW,CAAC,CAAC;SAC7C;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CAAA;AAnCD,4BAmCC;AAED,SAAgB,4BAA4B,CAC1C,WAAmB,EACnB,IAAc;IAEd,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACnB,eAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAC5B,MAAM,CACP,yCAAyC,WAAW;IACrD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KACjE;SAAM;QACL,eAAM,CAAC,IAAI,CACT,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAChB,MAAM,CACP,sBAAsB,WAAW,oCAAoC,CACvE,CAAC;KACH;AACH,CAAC;AAhBD,oEAgBC"}
1
+ {"version":3,"file":"sync-deps.impl.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/executors/sync-deps/sync-deps.impl.ts"],"names":[],"mappings":";;;;AAAA,+BAA4B;AAC5B,+BAA+B;AAC/B,yCAMsB;AAEtB,qFAA+E;AAQ/E,SAA+B,gBAAgB,CAC7C,OAA4B,EAC5B,OAAwB;;QAExB,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;QACzE,4BAA4B,CAC1B,OAAO,CAAC,WAAW,EACnB,2BAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA,CAClE,CAAC;QAEF,iCAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA,CAAC;IAC1B,CAAC;CAAA;AAXD,mCAWC;AAED,SAAsB,QAAQ,CAC5B,WAAmB,EACnB,WAAmB,EACnB,OAAgB;;QAEhB,MAAM,KAAK,GAAG,MAAM,IAAA,gCAAuB,GAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAA,kDAAsB,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC3D,MAAM,eAAe,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,IAAA,qBAAY,EAAC,eAAe,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,MAAM,WAAW,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;YAC7B,WAAW,CAAC,YAAY,GAAG,EAAE,CAAC;YAC9B,OAAO,GAAG,IAAI,CAAC;SAChB;QAED,IAAI,WAAW,EAAE;YACf,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;SAC9B;QAED,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACtB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;gBAClC,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;gBACpC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClB,OAAO,GAAG,IAAI,CAAC;aAChB;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,EAAE;YACX,IAAA,sBAAa,EAAC,eAAe,EAAE,WAAW,CAAC,CAAC;SAC7C;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CAAA;AAnCD,4BAmCC;AAED,SAAgB,4BAA4B,CAC1C,WAAmB,EACnB,IAAc;IAEd,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACnB,eAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAC5B,MAAM,CACP,yCAAyC,WAAW;IACrD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KACjE;SAAM;QACL,eAAM,CAAC,IAAI,CACT,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAChB,MAAM,CACP,sBAAsB,WAAW,oCAAoC,CACvE,CAAC;KACH;AACH,CAAC;AAhBD,oEAgBC"}
@@ -2,4 +2,4 @@ import { Tree, GeneratorCallback } from '@nrwl/devkit';
2
2
  import { Schema } from './schema';
3
3
  export declare function expoApplicationGenerator(host: Tree, schema: Schema): Promise<GeneratorCallback>;
4
4
  export default expoApplicationGenerator;
5
- export declare const expoApplicationSchematic: (options: Schema) => (tree: any, context: any) => Promise<any>;
5
+ export declare const expoApplicationSchematic: (generatorOptions: Schema) => (tree: any, context: any) => Promise<any>;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "expo": {
3
- "name": "<%= projectName %>",
3
+ "name": "<%= displayName %>",
4
4
  "slug": "<%= projectName %>",
5
5
  "version": "1.0.0",
6
6
  "orientation": "portrait",
@@ -0,0 +1,7 @@
1
+ module.exports = function (api) {
2
+ api.cache(true);
3
+ return {
4
+ presets: ['babel-preset-expo'],
5
+ plugins: ['react-native-reanimated/plugin'],
6
+ };
7
+ };
@@ -17,5 +17,9 @@ module.exports = (async () => {
17
17
  debug: false,
18
18
  // all the file extensions used for imports other than 'ts', 'tsx', 'js', 'jsx'
19
19
  extensions: [],
20
+ // the project root to start the metro server
21
+ projectRoot: __dirname,
22
+ // Specify any additional (to projectRoot) watch folders, this is used to know which files to watch
23
+ watchFolders: []
20
24
  });
21
25
  })();
@@ -20,7 +20,7 @@
20
20
  "react-native-web": "*"
21
21
  },
22
22
  "scripts": {
23
- "eas-build-pre-install": "cd <%= offsetFromRoot %> && cp <%= packageLockFile %> ./<%= appProjectRoot %>/ && mv ./<%= appProjectRoot %>/eas.js ./index.js",
23
+ "eas-build-pre-install": "cd <%= offsetFromRoot %> && cp <%= packageLockFile %> ./<%= appProjectRoot %>/",
24
24
  "postinstall": "rm -r node_modules && cd <%= offsetFromRoot %> && <%= packageManager %> install && npx nx sync-deps <%= projectName %> && npx nx ensure-symlink <%= projectName %>"
25
25
  }
26
26
  }
@@ -1,102 +1,15 @@
1
1
  const createExpoWebpackConfigAsync = require('@expo/webpack-config');
2
- const { TsconfigPathsPlugin } = require('tsconfig-paths-webpack-plugin');
2
+ const { withNxWebpack } = require('@nrwl/expo');
3
3
 
4
4
  module.exports = async function (env, argv) {
5
- const config = await createExpoWebpackConfigAsync(env, argv);
6
-
7
- const rules = config.module.rules[1]?.oneOf;
8
- if (rules) {
9
- rules.push({
10
- test: /\.(mjs|[jt]sx?)$/,
11
- exclude: /node_modules/,
12
- use: {
13
- loader: require.resolve('@nrwl/web/src/utils/web-babel-loader.js'),
14
- options: {
15
- presets: [
16
- [
17
- '@nrwl/react/babel',
18
- {
19
- runtime: 'automatic',
20
- },
21
- ],
22
- ],
23
- },
24
- },
25
- });
26
- // svg rule from https://github.com/kristerkari/react-native-svg-transformer/issues/135#issuecomment-1008310514
27
- rules.unshift({
28
- test: /\.svg$/,
29
- exclude: /node_modules/,
30
- use: [
31
- {
32
- loader: require.resolve('@svgr/webpack'),
33
- options: {
34
- svgoConfig: {
35
- plugins: [
36
- { name: 'removeDoctype', active: true },
37
- { name: 'removeXMLProcInst', active: true },
38
- { name: 'removeComments', active: true },
39
- { name: 'removeMetadata', active: true },
40
- { name: 'removeXMLNS', active: true },
41
- { name: 'removeEditorsNSData', active: true },
42
- { name: 'cleanupAttrs', active: true },
43
- { name: 'inlineStyles', active: true },
44
- { name: 'minifyStyles', active: true },
45
- { name: 'convertStyleToAttrs', active: true },
46
- { name: 'cleanupIDs', active: true },
47
- { name: 'removeRasterImages', active: true },
48
- { name: 'removeUselessDefs', active: true },
49
- { name: 'cleanupNumericValues', active: true },
50
- { name: 'cleanupListOfValues', active: true },
51
- { name: 'convertColors', active: true },
52
- { name: 'removeUnknownsAndDefaults', active: true },
53
- { name: 'removeNonInheritableGroupAttrs', active: true },
54
- { name: 'removeUselessStrokeAndFill', active: true },
55
- { name: 'removeViewBox', active: false },
56
- { name: 'cleanupEnableBackground', active: true },
57
- { name: 'removeHiddenElems', active: true },
58
- { name: 'removeEmptyText', active: true },
59
- { name: 'convertShapeToPath', active: true },
60
- { name: 'moveElemsAttrsToGroup', active: true },
61
- { name: 'moveGroupAttrsToElems', active: true },
62
- { name: 'collapseGroups', active: true },
63
- { name: 'convertPathData', active: true },
64
- { name: 'convertEllipseToCircle', active: true },
65
- { name: 'convertTransform', active: true },
66
- { name: 'removeEmptyAttrs', active: true },
67
- { name: 'removeEmptyContainers', active: true },
68
- { name: 'mergePaths', active: true },
69
- { name: 'removeUnusedNS', active: true },
70
- { name: 'reusePaths', active: true },
71
- { name: 'sortAttrs', active: true },
72
- { name: 'sortDefsChildren', active: true },
73
- { name: 'removeTitle', active: true },
74
- { name: 'removeDesc', active: true },
75
- { name: 'removeDimensions', active: false },
76
- { name: 'removeStyleElement', active: false },
77
- { name: 'removeScriptElement', active: false },
78
- ],
79
- },
80
- inlineStyles: {
81
- onlyMatchedOnce: false,
82
- },
83
- removeDimensions: false,
84
- removeUnknownsAndDefaults: false,
85
- convertColors: false,
86
- },
87
- },
88
- ],
89
- });
90
- }
91
-
92
- const extensions = ['.ts', '.tsx', '.mjs', '.js', '.jsx'];
93
- let tsConfigPath = 'tsconfig.json';
94
-
95
- config.resolve.plugins.push(
96
- new TsconfigPathsPlugin({
97
- configFile: tsConfigPath,
98
- extensions,
99
- })
100
- );
5
+ let config = await createExpoWebpackConfigAsync(env, argv);
6
+ config = await withNxWebpack(config);
7
+
8
+ // You can override the config here, for example:
9
+ // config.resolve.alias = {
10
+ // ...config.resolve.alias,
11
+ // react: path.resolve('../../node_modules/react'),
12
+ // };
13
+
101
14
  return config;
102
15
  };
@@ -11,7 +11,7 @@ function createApplicationFiles(host, options) {
11
11
  };
12
12
  const packageManager = (0, devkit_1.detectPackageManager)(host.root);
13
13
  const packageLockFile = packageManagerLockFile[packageManager];
14
- (0, devkit_1.generateFiles)(host, (0, path_1.join)(__dirname, '../files'), options.appProjectRoot, Object.assign(Object.assign({}, options), { offsetFromRoot: (0, devkit_1.offsetFromRoot)(options.appProjectRoot), easBuildPath: '/Users/expo/workingdir/build', packageManager,
14
+ (0, devkit_1.generateFiles)(host, (0, path_1.join)(__dirname, '../files'), options.appProjectRoot, Object.assign(Object.assign({}, options), { offsetFromRoot: (0, devkit_1.offsetFromRoot)(options.appProjectRoot), packageManager,
15
15
  packageLockFile }));
16
16
  if (options.unitTestRunner === 'none') {
17
17
  host.delete((0, path_1.join)(options.appProjectRoot, `App.spec.tsx`));
@@ -1 +1 @@
1
- {"version":3,"file":"create-application-files.js","sourceRoot":"","sources":["../../../../../../../packages/expo/src/generators/application/lib/create-application-files.ts"],"names":[],"mappings":";;;AAAA,yCAOsB;AACtB,+BAA4B;AAG5B,SAAgB,sBAAsB,CAAC,IAAU,EAAE,OAAyB;IAC1E,MAAM,sBAAsB,GAAmC;QAC7D,GAAG,EAAE,mBAAmB;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,gBAAgB;KACvB,CAAC;IACF,MAAM,cAAc,GAAG,IAAA,6BAAoB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,sBAAsB,CAAC,cAAc,CAAC,CAAC;IAC/D,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,cAAc,kCAClE,OAAO,KACV,cAAc,EAAE,IAAA,uBAAc,EAAC,OAAO,CAAC,cAAc,CAAC,EACtD,YAAY,EAAE,8BAA8B,EAC5C,cAAc;QACd,eAAe,IACf,CAAC;IACH,IAAI,OAAO,CAAC,cAAc,KAAK,MAAM,EAAE;QACrC,IAAI,CAAC,MAAM,CAAC,IAAA,WAAI,EAAC,OAAO,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC;KAC3D;IACD,IAAI,OAAO,CAAC,EAAE,EAAE;QACd,IAAA,aAAI,EAAC,IAAI,CAAC,CAAC;KACZ;AACH,CAAC;AArBD,wDAqBC"}
1
+ {"version":3,"file":"create-application-files.js","sourceRoot":"","sources":["../../../../../../../packages/expo/src/generators/application/lib/create-application-files.ts"],"names":[],"mappings":";;;AAAA,yCAOsB;AACtB,+BAA4B;AAG5B,SAAgB,sBAAsB,CAAC,IAAU,EAAE,OAAyB;IAC1E,MAAM,sBAAsB,GAAmC;QAC7D,GAAG,EAAE,mBAAmB;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,gBAAgB;KACvB,CAAC;IACF,MAAM,cAAc,GAAG,IAAA,6BAAoB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,sBAAsB,CAAC,cAAc,CAAC,CAAC;IAC/D,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,cAAc,kCAClE,OAAO,KACV,cAAc,EAAE,IAAA,uBAAc,EAAC,OAAO,CAAC,cAAc,CAAC,EACtD,cAAc;QACd,eAAe,IACf,CAAC;IACH,IAAI,OAAO,CAAC,cAAc,KAAK,MAAM,EAAE;QACrC,IAAI,CAAC,MAAM,CAAC,IAAA,WAAI,EAAC,OAAO,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC;KAC3D;IACD,IAAI,OAAO,CAAC,EAAE,EAAE;QACd,IAAA,aAAI,EAAC,IAAI,CAAC,CAAC;KACZ;AACH,CAAC;AApBD,wDAoBC"}
@@ -2,4 +2,4 @@ import { Schema } from './schema';
2
2
  import { Tree } from '@nrwl/devkit';
3
3
  export declare function expoComponentGenerator(host: Tree, schema: Schema): Promise<void>;
4
4
  export default expoComponentGenerator;
5
- export declare const expoComponentSchematic: (options: Schema) => (tree: any, context: any) => Promise<any>;
5
+ export declare const expoComponentSchematic: (generatorOptions: Schema) => (tree: any, context: any) => Promise<any>;
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "cli": "nx",
3
- "$id": "NxReactNativeApplication",
3
+ "$id": "NxExpoComponent",
4
4
  "$schema": "http://json-schema.org/schema",
5
- "title": "Create a React Component for Nx",
5
+ "title": "Create a Expo Component for Nx",
6
6
  "type": "object",
7
7
  "examples": [
8
8
  {
@@ -3,4 +3,4 @@ import { Schema } from './schema';
3
3
  export declare function expoInitGenerator(host: Tree, schema: Schema): Promise<import("@nrwl/devkit").GeneratorCallback>;
4
4
  export declare function updateDependencies(host: Tree): import("@nrwl/devkit").GeneratorCallback;
5
5
  export default expoInitGenerator;
6
- export declare const reactNativeInitSchematic: (options: Schema) => (tree: any, context: any) => Promise<any>;
6
+ export declare const reactNativeInitSchematic: (generatorOptions: Schema) => (tree: any, context: any) => Promise<any>;
@@ -8,7 +8,6 @@ const versions_1 = require("../../utils/versions");
8
8
  const run_tasks_in_serial_1 = require("@nrwl/workspace/src/utilities/run-tasks-in-serial");
9
9
  const jest_1 = require("@nrwl/jest");
10
10
  const detox_1 = require("@nrwl/detox");
11
- const versions_2 = require("@nrwl/react/src/utils/versions");
12
11
  const add_git_ignore_entry_1 = require("./lib/add-git-ignore-entry");
13
12
  const init_root_babel_config_1 = require("./lib/init-root-babel-config");
14
13
  function expoInitGenerator(host, schema) {
@@ -33,9 +32,15 @@ function expoInitGenerator(host, schema) {
33
32
  }
34
33
  exports.expoInitGenerator = expoInitGenerator;
35
34
  function updateDependencies(host) {
35
+ var _a;
36
+ const { dependencies = {} } = (0, devkit_1.readJson)(host, 'package.json');
37
+ // TODO(Emily): Remove this once Expo supports React Native 0.68.0.
38
+ if ((_a = dependencies['react']) === null || _a === void 0 ? void 0 : _a.match(/[\^~]?18/)) {
39
+ devkit_1.logger.warn(`React version ${dependencies['react']} is incompatible with Expo version ${versions_1.expoVersion}. Nx will downgrade the version to ${versions_1.reactVersion}.`);
40
+ }
36
41
  return (0, devkit_1.addDependenciesToPackageJson)(host, {
37
- react: versions_2.reactVersion,
38
- 'react-dom': versions_2.reactVersion,
42
+ react: versions_1.reactVersion,
43
+ 'react-dom': versions_1.reactVersion,
39
44
  'react-native': versions_1.reactNativeVersion,
40
45
  expo: versions_1.expoVersion,
41
46
  'expo-dev-client': versions_1.expoDevClientVersion,
@@ -53,15 +58,15 @@ function updateDependencies(host) {
53
58
  'react-native-svg': versions_1.reactNativeSvgVersion,
54
59
  }, {
55
60
  '@nrwl/expo': versions_1.nxVersion,
56
- '@types/react': versions_2.typesReactVersion,
61
+ '@types/react': versions_1.reactVersion,
57
62
  '@types/react-native': versions_1.typesReactNativeVersion,
58
63
  'metro-resolver': versions_1.metroVersion,
59
64
  '@testing-library/react-native': versions_1.testingLibraryReactNativeVersion,
60
65
  '@testing-library/jest-native': versions_1.testingLibraryJestNativeVersion,
61
66
  'jest-expo': versions_1.jestExpoVersion,
62
67
  'expo-cli': versions_1.expoCliVersion,
63
- 'tsconfig-paths-webpack-plugin': versions_1.tsConfigPathsWebpackPluginVersion,
64
68
  '@svgr/webpack': versions_1.svgrWebpackVersion,
69
+ 'babel-preset-expo': versions_1.babelPresetExpoVersion,
65
70
  });
66
71
  }
67
72
  exports.updateDependencies = updateDependencies;
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/generators/init/init.ts"],"names":[],"mappings":";;;;AAAA,iGAA4F;AAC5F,yCAMsB;AAEtB,mDAyB8B;AAC9B,2FAAqF;AAErF,qCAA+C;AAC/C,uCAAiD;AACjD,6DAGwC;AAExC,qEAA+D;AAC/D,yEAAmE;AAEnE,SAAsB,iBAAiB,CAAC,IAAU,EAAE,MAAc;;QAChE,IAAA,6CAAoB,EAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACzC,IAAA,wCAAiB,EAAC,IAAI,CAAC,CAAC;QACxB,IAAA,4CAAmB,EAAC,IAAI,CAAC,CAAC;QAE1B,MAAM,KAAK,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/D,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,KAAK,MAAM,EAAE;YAC9D,MAAM,QAAQ,GAAG,IAAA,wBAAiB,EAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACtB;QAED,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,KAAK,OAAO,EAAE;YAC7D,MAAM,SAAS,GAAG,MAAM,IAAA,0BAAkB,EAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;YACvE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACvB;QAED,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YACtB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;SACzB;QAED,OAAO,IAAA,sCAAgB,EAAC,GAAG,KAAK,CAAC,CAAC;IACpC,CAAC;CAAA;AAtBD,8CAsBC;AAED,SAAgB,kBAAkB,CAAC,IAAU;IAC3C,OAAO,IAAA,qCAA4B,EACjC,IAAI,EACJ;QACE,KAAK,EAAE,uBAAY;QACnB,WAAW,EAAE,uBAAY;QACzB,cAAc,EAAE,6BAAkB;QAClC,IAAI,EAAE,sBAAW;QACjB,iBAAiB,EAAE,+BAAoB;QACvC,iBAAiB,EAAE,+BAAoB;QACvC,kBAAkB,EAAE,gCAAqB;QACzC,oBAAoB,EAAE,iCAAsB;QAC5C,yBAAyB,EAAE,uCAA4B;QACvD,oBAAoB,EAAE,kCAAuB;QAC7C,cAAc,EAAE,6BAAkB;QAClC,8BAA8B,EAAE,2CAAgC;QAChE,yBAAyB,EAAE,uCAA4B;QACvD,gCAAgC,EAAE,4CAAiC;QACnE,sBAAsB,EAAE,oCAAyB;QACjD,8BAA8B,EAAE,2CAAgC;QAChE,kBAAkB,EAAE,gCAAqB;KAC1C,EACD;QACE,YAAY,EAAE,oBAAS;QACvB,cAAc,EAAE,4BAAiB;QACjC,qBAAqB,EAAE,kCAAuB;QAC9C,gBAAgB,EAAE,uBAAY;QAC9B,+BAA+B,EAAE,2CAAgC;QACjE,8BAA8B,EAAE,0CAA+B;QAC/D,WAAW,EAAE,0BAAe;QAC5B,UAAU,EAAE,yBAAc;QAC1B,+BAA+B,EAAE,4CAAiC;QAClE,eAAe,EAAE,6BAAkB;KACpC,CACF,CAAC;AACJ,CAAC;AAnCD,gDAmCC;AAED,SAAS,cAAc,CAAC,IAAU;IAChC,OAAO,IAAA,0CAAiC,EAAC,IAAI,EAAE,CAAC,oBAAoB,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,kBAAe,iBAAiB,CAAC;AACpB,QAAA,wBAAwB,GAAG,IAAA,2BAAkB,EAAC,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/generators/init/init.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "cli": "nx",
3
- "$id": "NxReactNativeInit",
3
+ "$id": "NxExpoInit",
4
4
  "$schema": "http://json-schema.org/schema",
5
- "title": "Add Nx React Schematics",
5
+ "title": "Add Nx Expo Schematics",
6
6
  "type": "object",
7
7
  "properties": {
8
8
  "unitTestRunner": {
@@ -2,4 +2,4 @@ import { GeneratorCallback, Tree } from '@nrwl/devkit';
2
2
  import { Schema } from './schema';
3
3
  export declare function expoLibraryGenerator(host: Tree, schema: Schema): Promise<GeneratorCallback>;
4
4
  export default expoLibraryGenerator;
5
- export declare const expoLibrarySchematic: (options: Schema) => (tree: any, context: any) => Promise<any>;
5
+ export declare const expoLibrarySchematic: (generatorOptions: Schema) => (tree: any, context: any) => Promise<any>;
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "cli": "nx",
3
- "$id": "NxReactNativeLibrary",
3
+ "$id": "NxExpoLibrary",
4
4
  "$schema": "http://json-schema.org/schema",
5
- "title": "Create a React Native Library for Nx",
5
+ "title": "Create a Expo Library for Nx",
6
6
  "type": "object",
7
7
  "examples": [
8
8
  {
@@ -0,0 +1,4 @@
1
+ import { Tree } from '@nrwl/devkit';
2
+ import { PresetGeneratorSchema } from './schema';
3
+ export default function expoPresetGenerator(tree: Tree, options: PresetGeneratorSchema): Promise<import("@nrwl/devkit").GeneratorCallback>;
4
+ export declare const expoPresetSchematic: (generatorOptions: PresetGeneratorSchema) => (tree: any, context: any) => Promise<any>;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.expoPresetSchematic = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const devkit_1 = require("@nrwl/devkit");
6
+ const set_default_collection_1 = require("@nrwl/workspace/src/utilities/set-default-collection");
7
+ const application_1 = require("../application/application");
8
+ function expoPresetGenerator(tree, options) {
9
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
10
+ const appTask = yield (0, application_1.default)(tree, Object.assign(Object.assign({}, options), { name: options.appName || options.name }));
11
+ (0, set_default_collection_1.setDefaultCollection)(tree, '@nrwl/expo');
12
+ yield (0, devkit_1.formatFiles)(tree);
13
+ return appTask;
14
+ });
15
+ }
16
+ exports.default = expoPresetGenerator;
17
+ exports.expoPresetSchematic = (0, devkit_1.convertNxGenerator)(expoPresetGenerator);
18
+ //# sourceMappingURL=preset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preset.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/generators/preset/preset.ts"],"names":[],"mappings":";;;;AAAA,yCAAqE;AACrE,iGAA4F;AAC5F,4DAAkE;AAGlE,SAA8B,mBAAmB,CAC/C,IAAU,EACV,OAA8B;;QAE9B,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAwB,EAAC,IAAI,kCAC9C,OAAO,KACV,IAAI,EAAE,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,IACrC,CAAC;QAEH,IAAA,6CAAoB,EAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAEzC,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAExB,OAAO,OAAO,CAAC;IACjB,CAAC;CAAA;AAdD,sCAcC;AAEY,QAAA,mBAAmB,GAAG,IAAA,2BAAkB,EAAC,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { Linter } from '@nrwl/linter';
2
+
3
+ export interface PresetGeneratorSchema {
4
+ name: string;
5
+ appName: string;
6
+ tags?: string;
7
+ directory?: string;
8
+ js: boolean; // default is false
9
+ e2eTestRunner: 'detox' | 'none'; // default is detox
10
+ skipFormat: boolean; // default is true
11
+ linter: Linter; // default is eslint
12
+ unitTestRunner: 'jest' | 'none'; // default is jest
13
+ }
@@ -0,0 +1,62 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "cli": "nx",
4
+ "$id": "Preset",
5
+ "title": "Add Nx Expo Preset",
6
+ "type": "object",
7
+ "properties": {
8
+ "name": {
9
+ "type": "string",
10
+ "description": "workspace name",
11
+ "$default": {
12
+ "$source": "argv",
13
+ "index": 0
14
+ },
15
+ "x-prompt": "What workspace name would you like to use?"
16
+ },
17
+ "appName": {
18
+ "type": "string",
19
+ "description": "app name",
20
+ "x-prompt": "What app name would you like to use?"
21
+ },
22
+ "tags": {
23
+ "type": "string",
24
+ "description": "Add tags to the project (used for linting)",
25
+ "alias": "t"
26
+ },
27
+ "directory": {
28
+ "type": "string",
29
+ "description": "A directory where the project is placed",
30
+ "alias": "d"
31
+ },
32
+ "js": {
33
+ "type": "boolean",
34
+ "description": "Generate JavaScript files rather than TypeScript files",
35
+ "default": false
36
+ },
37
+ "e2eTestRunner": {
38
+ "description": "Adds the specified e2e test runner",
39
+ "type": "string",
40
+ "enum": ["detox", "none"],
41
+ "default": "detox"
42
+ },
43
+ "skipFormat": {
44
+ "description": "Skip formatting files",
45
+ "type": "boolean",
46
+ "default": false
47
+ },
48
+ "linter": {
49
+ "description": "The tool to use for running lint checks.",
50
+ "type": "string",
51
+ "enum": ["eslint", "tslint"],
52
+ "default": "eslint"
53
+ },
54
+ "unitTestRunner": {
55
+ "type": "string",
56
+ "enum": ["jest", "none"],
57
+ "description": "Test runner to use for unit tests",
58
+ "default": "jest"
59
+ }
60
+ },
61
+ "required": []
62
+ }
@@ -0,0 +1,6 @@
1
+ import { Tree } from '@nrwl/devkit';
2
+ /**
3
+ * Add projectRoot and watchFolders options in metro.config.js
4
+ * @param tree
5
+ */
6
+ export default function update(tree: Tree): Promise<void>;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const devkit_1 = require("@nrwl/devkit");
5
+ /**
6
+ * Add projectRoot and watchFolders options in metro.config.js
7
+ * @param tree
8
+ */
9
+ function update(tree) {
10
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
11
+ const projects = (0, devkit_1.getProjects)(tree);
12
+ projects.forEach((project) => {
13
+ var _a, _b;
14
+ const metroConfigPath = `${project.root}/metro.config.js`;
15
+ if (((_b = (_a = project.targets) === null || _a === void 0 ? void 0 : _a.start) === null || _b === void 0 ? void 0 : _b.executor) !== '@nrwl/react-native:start' ||
16
+ !tree.exists(metroConfigPath))
17
+ return;
18
+ try {
19
+ const metroConfigContent = tree.read(metroConfigPath, 'utf-8');
20
+ if (metroConfigContent.includes('projectRoot: __dirname')) {
21
+ return;
22
+ }
23
+ if (metroConfigContent.includes('projectRoot'))
24
+ return;
25
+ tree.write(metroConfigPath, metroConfigContent.replace('debug: ', 'projectRoot: __dirname, watchFolders: [], debug: '));
26
+ }
27
+ catch (_c) {
28
+ devkit_1.logger.error((0, devkit_1.stripIndents) `Unable to update ${metroConfigPath} for project ${project.root}.`);
29
+ }
30
+ });
31
+ yield (0, devkit_1.formatFiles)(tree);
32
+ });
33
+ }
34
+ exports.default = update;
35
+ //# sourceMappingURL=add-project-root-metro-config-14-0-0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-project-root-metro-config-14-0-0.js","sourceRoot":"","sources":["../../../../../../packages/expo/src/migrations/update-14-0-0/add-project-root-metro-config-14-0-0.ts"],"names":[],"mappings":";;;AAAA,yCAMsB;AAEtB;;;GAGG;AACH,SAA8B,MAAM,CAAC,IAAU;;QAC7C,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAEnC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;;YAC3B,MAAM,eAAe,GAAG,GAAG,OAAO,CAAC,IAAI,kBAAkB,CAAC;YAC1D,IACE,CAAA,MAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,KAAK,0CAAE,QAAQ,MAAK,0BAA0B;gBAC/D,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;gBAE7B,OAAO;YACT,IAAI;gBACF,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;gBAC/D,IAAI,kBAAkB,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE;oBACzD,OAAO;iBACR;gBACD,IAAI,kBAAkB,CAAC,QAAQ,CAAC,aAAa,CAAC;oBAAE,OAAO;gBACvD,IAAI,CAAC,KAAK,CACR,eAAe,EACf,kBAAkB,CAAC,OAAO,CACxB,SAAS,EACT,mDAAmD,CACpD,CACF,CAAC;aACH;YAAC,WAAM;gBACN,eAAM,CAAC,KAAK,CACV,IAAA,qBAAY,EAAA,oBAAoB,eAAe,gBAAgB,OAAO,CAAC,IAAI,GAAG,CAC/E,CAAC;aACH;QACH,CAAC,CAAC,CAAC;QACH,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CAAA;AA9BD,yBA8BC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ensure-node-modules-symlink.js","sourceRoot":"","sources":["../../../../../packages/expo/src/utils/ensure-node-modules-symlink.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAC5B,2BAA8B;AAC9B,yBAAyB;AAGzB;;;;;;;GAOG;AACH,SAAgB,wBAAwB,CACtC,aAAqB,EACrB,WAAmB;IAEnB,MAAM,wBAAwB,GAAG,IAAA,WAAI,EAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IACrE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE;QAC5C,MAAM,IAAI,KAAK,CAAC,eAAe,wBAAwB,EAAE,CAAC,CAAC;KAC5D;IAED,MAAM,kBAAkB,GAAG,IAAA,WAAI,EAAC,aAAa,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IAC5E,6EAA6E;IAC7E,MAAM,WAAW,GAAG,IAAA,aAAQ,GAAE,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;IAEhE,IAAI,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE;QACrC,EAAE,CAAC,SAAS,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;KACvD;IACD,EAAE,CAAC,WAAW,CAAC,wBAAwB,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC;AAC5E,CAAC;AAjBD,4DAiBC"}
1
+ {"version":3,"file":"ensure-node-modules-symlink.js","sourceRoot":"","sources":["../../../../../packages/expo/src/utils/ensure-node-modules-symlink.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAC5B,2BAA8B;AAC9B,yBAAyB;AAEzB;;;;;;;GAOG;AACH,SAAgB,wBAAwB,CACtC,aAAqB,EACrB,WAAmB;IAEnB,MAAM,wBAAwB,GAAG,IAAA,WAAI,EAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IACrE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE;QAC5C,MAAM,IAAI,KAAK,CAAC,eAAe,wBAAwB,EAAE,CAAC,CAAC;KAC5D;IAED,MAAM,kBAAkB,GAAG,IAAA,WAAI,EAAC,aAAa,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IAC5E,6EAA6E;IAC7E,MAAM,WAAW,GAAG,IAAA,aAAQ,GAAE,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;IAEhE,IAAI,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE;QACrC,EAAE,CAAC,SAAS,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;KACvD;IACD,EAAE,CAAC,WAAW,CAAC,wBAAwB,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC;AAC5E,CAAC;AAjBD,4DAiBC"}
@@ -1,2 +1,2 @@
1
- import { ProjectGraph } from '@nrwl/workspace/src/core/project-graph';
1
+ import { ProjectGraph } from '@nrwl/devkit';
2
2
  export declare function findAllNpmDependencies(graph: ProjectGraph, projectName: string, list?: string[], seen?: Set<string>): string[];
@@ -1,13 +1,15 @@
1
1
  export declare const nxVersion = "*";
2
2
  export declare const expoVersion = "44.0.6";
3
- export declare const expoDevClientVersion = "0.8.4";
3
+ export declare const expoDevClientVersion = "0.8.5";
4
4
  export declare const expoStatusBarVersion = "1.2.0";
5
- export declare const expoMetroConfigVersion = "0.3.10";
5
+ export declare const expoMetroConfigVersion = "0.3.16";
6
6
  export declare const expoStructuredHeadersVersion = "2.1.1";
7
7
  export declare const expoSplashScreenVersion = "0.14.2";
8
- export declare const expoUpdatesVersion = "0.11.6";
8
+ export declare const expoUpdatesVersion = "~0.11.7";
9
9
  export declare const jestExpoVersion = "44.0.1";
10
- export declare const expoCliVersion = "5.3.0";
10
+ export declare const expoCliVersion = "5.4.3";
11
+ export declare const babelPresetExpoVersion = "~9.0.2";
12
+ export declare const reactVersion = "17.0.1";
11
13
  export declare const reactNativeVersion = "0.64.3";
12
14
  export declare const typesReactNativeVersion = "0.64.3";
13
15
  export declare const reactNativeWebVersion = "0.17.5";
@@ -18,7 +20,6 @@ export declare const reactNativeScreensVersion = "3.10.2";
18
20
  export declare const reactNativeSvgTransformerVersion = "1.0.0";
19
21
  export declare const reactNativeSvgVersion = "12.1.1";
20
22
  export declare const svgrWebpackVersion = "^5.5.0";
21
- export declare const metroVersion = "0.66.2";
23
+ export declare const metroVersion = "0.70.2";
22
24
  export declare const testingLibraryReactNativeVersion = "9.0.0";
23
25
  export declare const testingLibraryJestNativeVersion = "4.0.4";
24
- export declare const tsConfigPathsWebpackPluginVersion = "3.5.2";
@@ -1,16 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.tsConfigPathsWebpackPluginVersion = exports.testingLibraryJestNativeVersion = exports.testingLibraryReactNativeVersion = exports.metroVersion = exports.svgrWebpackVersion = exports.reactNativeSvgVersion = exports.reactNativeSvgTransformerVersion = exports.reactNativeScreensVersion = exports.reactNativeSafeAreaContextVersion = exports.reactNativeReanimatedVersion = exports.reactNativeGestureHandlerVersion = exports.reactNativeWebVersion = exports.typesReactNativeVersion = exports.reactNativeVersion = exports.expoCliVersion = exports.jestExpoVersion = exports.expoUpdatesVersion = exports.expoSplashScreenVersion = exports.expoStructuredHeadersVersion = exports.expoMetroConfigVersion = exports.expoStatusBarVersion = exports.expoDevClientVersion = exports.expoVersion = exports.nxVersion = void 0;
3
+ exports.testingLibraryJestNativeVersion = exports.testingLibraryReactNativeVersion = exports.metroVersion = exports.svgrWebpackVersion = exports.reactNativeSvgVersion = exports.reactNativeSvgTransformerVersion = exports.reactNativeScreensVersion = exports.reactNativeSafeAreaContextVersion = exports.reactNativeReanimatedVersion = exports.reactNativeGestureHandlerVersion = exports.reactNativeWebVersion = exports.typesReactNativeVersion = exports.reactNativeVersion = exports.reactVersion = exports.babelPresetExpoVersion = exports.expoCliVersion = exports.jestExpoVersion = exports.expoUpdatesVersion = exports.expoSplashScreenVersion = exports.expoStructuredHeadersVersion = exports.expoMetroConfigVersion = exports.expoStatusBarVersion = exports.expoDevClientVersion = exports.expoVersion = exports.nxVersion = void 0;
4
4
  exports.nxVersion = '*';
5
5
  exports.expoVersion = '44.0.6';
6
- exports.expoDevClientVersion = '0.8.4';
6
+ exports.expoDevClientVersion = '0.8.5';
7
7
  exports.expoStatusBarVersion = '1.2.0';
8
- exports.expoMetroConfigVersion = '0.3.10';
8
+ exports.expoMetroConfigVersion = '0.3.16';
9
9
  exports.expoStructuredHeadersVersion = '2.1.1';
10
10
  exports.expoSplashScreenVersion = '0.14.2';
11
- exports.expoUpdatesVersion = '0.11.6';
11
+ exports.expoUpdatesVersion = '~0.11.7';
12
12
  exports.jestExpoVersion = '44.0.1';
13
- exports.expoCliVersion = '5.3.0';
13
+ exports.expoCliVersion = '5.4.3';
14
+ exports.babelPresetExpoVersion = '~9.0.2';
15
+ // TODO(Emily): Remove this once expo supports react-native 0.68.0.
16
+ // v18 is only supported on the New Architecture
17
+ // See: https://reactnative.dev/blog/2022/03/15/an-update-on-the-new-architecture-rollout
18
+ exports.reactVersion = '17.0.1';
14
19
  exports.reactNativeVersion = '0.64.3';
15
20
  exports.typesReactNativeVersion = '0.64.3';
16
21
  exports.reactNativeWebVersion = '0.17.5';
@@ -21,8 +26,7 @@ exports.reactNativeScreensVersion = '3.10.2';
21
26
  exports.reactNativeSvgTransformerVersion = '1.0.0';
22
27
  exports.reactNativeSvgVersion = '12.1.1';
23
28
  exports.svgrWebpackVersion = '^5.5.0';
24
- exports.metroVersion = '0.66.2';
29
+ exports.metroVersion = '0.70.2';
25
30
  exports.testingLibraryReactNativeVersion = '9.0.0';
26
31
  exports.testingLibraryJestNativeVersion = '4.0.4';
27
- exports.tsConfigPathsWebpackPluginVersion = '3.5.2';
28
32
  //# sourceMappingURL=versions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../packages/expo/src/utils/versions.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG,GAAG,CAAC;AAEhB,QAAA,WAAW,GAAG,QAAQ,CAAC;AACvB,QAAA,oBAAoB,GAAG,OAAO,CAAC;AAC/B,QAAA,oBAAoB,GAAG,OAAO,CAAC;AAC/B,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAClC,QAAA,4BAA4B,GAAG,OAAO,CAAC;AACvC,QAAA,uBAAuB,GAAG,QAAQ,CAAC;AACnC,QAAA,kBAAkB,GAAG,QAAQ,CAAC;AAC9B,QAAA,eAAe,GAAG,QAAQ,CAAC;AAC3B,QAAA,cAAc,GAAG,OAAO,CAAC;AAEzB,QAAA,kBAAkB,GAAG,QAAQ,CAAC;AAC9B,QAAA,uBAAuB,GAAG,QAAQ,CAAC;AACnC,QAAA,qBAAqB,GAAG,QAAQ,CAAC;AACjC,QAAA,gCAAgC,GAAG,OAAO,CAAC;AAC3C,QAAA,4BAA4B,GAAG,OAAO,CAAC;AACvC,QAAA,iCAAiC,GAAG,OAAO,CAAC;AAC5C,QAAA,yBAAyB,GAAG,QAAQ,CAAC;AAErC,QAAA,gCAAgC,GAAG,OAAO,CAAC;AAC3C,QAAA,qBAAqB,GAAG,QAAQ,CAAC;AACjC,QAAA,kBAAkB,GAAG,QAAQ,CAAA;AAE7B,QAAA,YAAY,GAAG,QAAQ,CAAC;AAExB,QAAA,gCAAgC,GAAG,OAAO,CAAC;AAC3C,QAAA,+BAA+B,GAAG,OAAO,CAAC;AAE1C,QAAA,iCAAiC,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../packages/expo/src/utils/versions.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG,GAAG,CAAC;AAEhB,QAAA,WAAW,GAAG,QAAQ,CAAC;AACvB,QAAA,oBAAoB,GAAG,OAAO,CAAC;AAC/B,QAAA,oBAAoB,GAAG,OAAO,CAAC;AAC/B,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAClC,QAAA,4BAA4B,GAAG,OAAO,CAAC;AACvC,QAAA,uBAAuB,GAAG,QAAQ,CAAC;AACnC,QAAA,kBAAkB,GAAG,SAAS,CAAC;AAC/B,QAAA,eAAe,GAAG,QAAQ,CAAC;AAC3B,QAAA,cAAc,GAAG,OAAO,CAAC;AACzB,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAE/C,mEAAmE;AACnE,gDAAgD;AAChD,yFAAyF;AAC5E,QAAA,YAAY,GAAG,QAAQ,CAAC;AAExB,QAAA,kBAAkB,GAAG,QAAQ,CAAC;AAC9B,QAAA,uBAAuB,GAAG,QAAQ,CAAC;AACnC,QAAA,qBAAqB,GAAG,QAAQ,CAAC;AACjC,QAAA,gCAAgC,GAAG,OAAO,CAAC;AAC3C,QAAA,4BAA4B,GAAG,OAAO,CAAC;AACvC,QAAA,iCAAiC,GAAG,OAAO,CAAC;AAC5C,QAAA,yBAAyB,GAAG,QAAQ,CAAC;AAErC,QAAA,gCAAgC,GAAG,OAAO,CAAC;AAC3C,QAAA,qBAAqB,GAAG,QAAQ,CAAC;AACjC,QAAA,kBAAkB,GAAG,QAAQ,CAAC;AAE9B,QAAA,YAAY,GAAG,QAAQ,CAAC;AAExB,QAAA,gCAAgC,GAAG,OAAO,CAAC;AAC3C,QAAA,+BAA+B,GAAG,OAAO,CAAC"}
package/tsconfig.lib.json CHANGED
@@ -6,6 +6,6 @@
6
6
  "declaration": true,
7
7
  "types": ["node"]
8
8
  },
9
- "exclude": ["**/*.spec.ts", "**/*.test.ts"],
9
+ "exclude": ["**/*.spec.ts", "**/*.test.ts", "jest.config.ts"],
10
10
  "include": ["**/*.ts"]
11
11
  }
@@ -14,6 +14,7 @@
14
14
  "**/*.spec.js",
15
15
  "**/*.test.jsx",
16
16
  "**/*.spec.jsx",
17
- "**/*.d.ts"
17
+ "**/*.d.ts",
18
+ "jest.config.ts"
18
19
  ]
19
20
  }
package/jest.config.js DELETED
@@ -1,12 +0,0 @@
1
- module.exports = {
2
- preset: '../../jest.preset.js',
3
- transform: {
4
- '^.+\\.[tj]sx?$': 'ts-jest',
5
- },
6
- moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'html', 'json'],
7
- globals: {
8
- 'ts-jest': { tsconfig: '<rootDir>/tsconfig.spec.json' },
9
- },
10
- displayName: 'expo',
11
- testEnvironment: 'node',
12
- };
@@ -1,6 +0,0 @@
1
- module.exports = function (api) {
2
- api.cache(true);
3
- return {
4
- presets: ['babel-preset-expo']
5
- };
6
- };
@@ -1,9 +0,0 @@
1
- import 'react-native-gesture-handler';
2
- import { registerRootComponent } from 'expo';
3
-
4
- import App from './<%= appProjectRoot %>/src/app/App';
5
-
6
- // registerRootComponent calls AppRegistry.registerComponent('main', () => App);
7
- // It also ensures that whether you load the app in Expo Go or in a native build,
8
- // the environment is set up appropriately
9
- registerRootComponent(App);