@nrwl/expo 13.9.0 → 14.0.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 (34) hide show
  1. package/.eslintrc.json +3 -1
  2. package/generators.json +5 -0
  3. package/migrations.json +14 -0
  4. package/package.json +2 -2
  5. package/plugins/metro-resolver.js +9 -15
  6. package/plugins/metro-resolver.js.map +1 -1
  7. package/plugins/with-nx-metro.js +4 -6
  8. package/plugins/with-nx-metro.js.map +1 -1
  9. package/project.json +1 -1
  10. package/src/generators/application/application.d.ts +1 -1
  11. package/src/generators/application/files/app.json.template +1 -1
  12. package/src/generators/application/lib/create-application-files.js +1 -1
  13. package/src/generators/application/lib/create-application-files.js.map +1 -1
  14. package/src/generators/component/component.d.ts +1 -1
  15. package/src/generators/component/schema.json +2 -2
  16. package/src/generators/init/init.d.ts +1 -1
  17. package/src/generators/init/init.js +10 -4
  18. package/src/generators/init/init.js.map +1 -1
  19. package/src/generators/init/schema.json +2 -2
  20. package/src/generators/library/library.d.ts +1 -1
  21. package/src/generators/library/schema.json +2 -2
  22. package/src/generators/preset/preset.d.ts +4 -0
  23. package/src/generators/preset/preset.js +18 -0
  24. package/src/generators/preset/preset.js.map +1 -0
  25. package/src/generators/preset/schema.d.ts +13 -0
  26. package/src/generators/preset/schema.json +62 -0
  27. package/src/utils/ensure-node-modules-symlink.js.map +1 -1
  28. package/src/utils/find-all-npm-dependencies.d.ts +1 -1
  29. package/src/utils/versions.d.ts +4 -2
  30. package/src/utils/versions.js +8 -3
  31. package/src/utils/versions.js.map +1 -1
  32. package/tsconfig.lib.json +1 -1
  33. package/tsconfig.spec.json +2 -1
  34. package/jest.config.js +0 -12
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/migrations.json CHANGED
@@ -9,6 +9,20 @@
9
9
  "alwaysAddToPackageJson": false
10
10
  }
11
11
  }
12
+ },
13
+ "14.0.0": {
14
+ "version": "14.0.0-beta.0",
15
+ "packages": {
16
+ "expo-cli": {
17
+ "version": "5.4.0",
18
+ "alwaysAddToPackageJson": false
19
+ },
20
+ "babel-preset-expo": {
21
+ "version": "~9.0.2",
22
+ "alwaysAddToPackageJson": false,
23
+ "addToPackageJson": "devDependencies"
24
+ }
25
+ }
12
26
  }
13
27
  }
14
28
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nrwl/expo",
3
- "version": "13.9.0",
3
+ "version": "14.0.0",
4
4
  "description": "Expo Plugin for Nx",
5
5
  "keywords": [
6
6
  "Monorepo",
@@ -33,7 +33,7 @@
33
33
  "@nrwl/workspace": "*",
34
34
  "chalk": "4.1.0",
35
35
  "enhanced-resolve": "^5.8.3",
36
- "expo-cli": "^5.2.0",
36
+ "expo-cli": "^5.4.0",
37
37
  "metro-resolver": "^0.66.2",
38
38
  "tsconfig-paths": "^3.9.0"
39
39
  },
@@ -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
  *
@@ -22,17 +21,13 @@ function getResolveRequest(extensions) {
22
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) ||
25
+ tsconfigPathsResolver(context, extensions, realModuleName, moduleName, platform) ||
26
+ pnpmResolver(extensions, context, realModuleName, moduleName);
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;
@@ -58,9 +53,9 @@ function defaultMetroResolver(context, moduleName, platform) {
58
53
  function pnpmResolver(extensions, context, realModuleName, moduleName) {
59
54
  const DEBUG = process.env.NX_REACT_NATIVE_DEBUG === 'true';
60
55
  try {
61
- const pnpmResolver = getPnpmResolver(app_root_1.appRootPath, extensions);
56
+ const pnpmResolve = getPnpmResolver(extensions);
62
57
  const lookupStartPath = (0, path_1.dirname)(context.originModulePath);
63
- const filePath = pnpmResolver.resolveSync({}, lookupStartPath, realModuleName);
58
+ const filePath = pnpmResolve.resolveSync({}, lookupStartPath, realModuleName);
64
59
  if (filePath) {
65
60
  return { type: 'sourceFile', filePath };
66
61
  }
@@ -93,7 +88,6 @@ function tsconfigPathsResolver(context, extensions, realModuleName, moduleName,
93
88
  console.log(chalk.red(`[Nx] Failed to resolve ${chalk.bold(moduleName)}`));
94
89
  console.log(chalk.cyan(`[Nx] The following tsconfig paths was used:\n:${chalk.bold(JSON.stringify(paths, null, 2))}`));
95
90
  }
96
- throw new Error(`Cannot resolve ${chalk.bold(moduleName)}`);
97
91
  }
98
92
  }
99
93
  let matcher;
@@ -124,14 +118,14 @@ function getMatcher() {
124
118
  * It is inspired form https://github.com/vjpr/pnpm-expo-example/blob/main/packages/pnpm-expo-helper/util/make-resolver.js.
125
119
  */
126
120
  let resolver;
127
- function getPnpmResolver(appRootPath, extensions) {
121
+ function getPnpmResolver(extensions) {
128
122
  if (!resolver) {
129
123
  const fileSystem = new enhanced_resolve_1.CachedInputFileSystem(fs, 4000);
130
124
  resolver = enhanced_resolve_1.ResolverFactory.createResolver({
131
125
  fileSystem,
132
126
  extensions: extensions.map((extension) => '.' + extension),
133
127
  useSyncFileSystemCalls: true,
134
- modules: [(0, path_1.join)(appRootPath, 'node_modules'), 'node_modules'],
128
+ modules: [(0, path_1.join)(devkit_1.workspaceRoot, 'node_modules'), 'node_modules'],
135
129
  });
136
130
  }
137
131
  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,8 +1,7 @@
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");
7
6
  const metro_resolver_1 = require("./metro-resolver");
8
7
  function withNxMetro(config, opts = {}) {
@@ -11,12 +10,11 @@ function withNxMetro(config, opts = {}) {
11
10
  process.env.NX_REACT_NATIVE_DEBUG = 'true';
12
11
  if (opts.extensions)
13
12
  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;
13
+ config.projectRoot = __dirname;
16
14
  const watchFolders = config.watchFolders || [];
17
15
  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),
16
+ (0, path_1.join)(devkit_1.workspaceRoot, 'node_modules'),
17
+ (0, path_1.join)(devkit_1.workspaceRoot, (0, devkit_1.workspaceLayout)().libsDir),
20
18
  ]);
21
19
  // Add support for paths specified by tsconfig
22
20
  config.resolver = Object.assign(Object.assign({}, config.resolver), { resolveRequest: (0, metro_resolver_1.getResolveRequest)(extensions) });
@@ -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,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,MAAM,CAAC,WAAW,GAAG,SAAS,CAAC;IAE/B,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;IAC/C,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC;QACxC,IAAA,WAAI,EAAC,sBAAa,EAAE,cAAc,CAAC;QACnC,IAAA,WAAI,EAAC,sBAAa,EAAE,IAAA,wBAAe,GAAE,CAAC,OAAO,CAAC;KAC/C,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;AApBD,kCAoBC"}
package/project.json CHANGED
@@ -20,7 +20,7 @@
20
20
  "test": {
21
21
  "executor": "@nrwl/jest:jest",
22
22
  "options": {
23
- "jestConfig": "packages/expo/jest.config.js",
23
+ "jestConfig": "packages/expo/jest.config.ts",
24
24
  "passWithNoTests": true
25
25
  },
26
26
  "outputs": ["coverage/packages/expo"]
@@ -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",
@@ -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,7 +58,7 @@ 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,
@@ -62,6 +67,7 @@ function updateDependencies(host) {
62
67
  'expo-cli': versions_1.expoCliVersion,
63
68
  'tsconfig-paths-webpack-plugin': versions_1.tsConfigPathsWebpackPluginVersion,
64
69
  '@svgr/webpack': versions_1.svgrWebpackVersion,
70
+ 'babel-preset-expo': versions_1.babelPresetExpoVersion,
65
71
  });
66
72
  }
67
73
  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
+ }
@@ -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[];
@@ -5,9 +5,11 @@ export declare const expoStatusBarVersion = "1.2.0";
5
5
  export declare const expoMetroConfigVersion = "0.3.10";
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.6";
9
9
  export declare const jestExpoVersion = "44.0.1";
10
- export declare const expoCliVersion = "5.3.0";
10
+ export declare const expoCliVersion = "5.4.0";
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";
@@ -1,6 +1,6 @@
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.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.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
6
  exports.expoDevClientVersion = '0.8.4';
@@ -8,9 +8,14 @@ exports.expoStatusBarVersion = '1.2.0';
8
8
  exports.expoMetroConfigVersion = '0.3.10';
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.6';
12
12
  exports.jestExpoVersion = '44.0.1';
13
- exports.expoCliVersion = '5.3.0';
13
+ exports.expoCliVersion = '5.4.0';
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';
@@ -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;AAE1C,QAAA,iCAAiC,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
- };