@nx/expo 22.2.0-beta.2 → 22.2.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/migrations.json +109 -0
  2. package/package.json +8 -7
  3. package/plugins/with-nx-metro.d.ts +1 -1
  4. package/plugins/with-nx-metro.d.ts.map +1 -1
  5. package/plugins/with-nx-metro.js +1 -1
  6. package/src/generators/application/application.js +1 -1
  7. package/src/generators/application/files/nx-welcome/claimed/src/app/App.tsx.template +7 -10
  8. package/src/generators/application/files/nx-welcome/not-configured/src/app/App.tsx.template +7 -10
  9. package/src/generators/application/files/nx-welcome/unclaimed/src/app/App.tsx.template +7 -10
  10. package/src/generators/init/init.d.ts +1 -1
  11. package/src/generators/init/init.d.ts.map +1 -1
  12. package/src/generators/init/init.js +11 -9
  13. package/src/generators/library/library.d.ts.map +1 -1
  14. package/src/generators/library/library.js +7 -6
  15. package/src/migrations/update-22-2-0/add-expo-system-ui.d.ts +8 -0
  16. package/src/migrations/update-22-2-0/add-expo-system-ui.d.ts.map +1 -0
  17. package/src/migrations/update-22-2-0/add-expo-system-ui.js +48 -0
  18. package/src/migrations/update-22-2-0/create-ai-instructions-for-expo-54.d.ts +3 -0
  19. package/src/migrations/update-22-2-0/create-ai-instructions-for-expo-54.d.ts.map +1 -0
  20. package/src/migrations/update-22-2-0/create-ai-instructions-for-expo-54.js +16 -0
  21. package/src/migrations/update-22-2-0/files/ai-instructions-for-expo-54.md +519 -0
  22. package/src/migrations/update-22-2-0/update-jest-for-expo-54.d.ts +12 -0
  23. package/src/migrations/update-22-2-0/update-jest-for-expo-54.d.ts.map +1 -0
  24. package/src/migrations/update-22-2-0/update-jest-for-expo-54.js +150 -0
  25. package/src/utils/ensure-dependencies.d.ts +1 -1
  26. package/src/utils/ensure-dependencies.d.ts.map +1 -1
  27. package/src/utils/ensure-dependencies.js +16 -15
  28. package/src/utils/jest/add-jest.d.ts.map +1 -1
  29. package/src/utils/jest/add-jest.js +35 -10
  30. package/src/utils/version-utils.d.ts +48 -0
  31. package/src/utils/version-utils.d.ts.map +1 -0
  32. package/src/utils/version-utils.js +130 -0
  33. package/src/utils/versions.d.ts +46 -16
  34. package/src/utils/versions.d.ts.map +1 -1
  35. package/src/utils/versions.js +51 -17
@@ -2,29 +2,30 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ensureDependencies = ensureDependencies;
4
4
  const devkit_1 = require("@nx/devkit");
5
- const versions_1 = require("./versions");
6
- function ensureDependencies(host, unitTestRunner) {
5
+ const version_utils_1 = require("./version-utils");
6
+ async function ensureDependencies(host, unitTestRunner) {
7
+ const versions = await (0, version_utils_1.getExpoDependenciesVersionsToInstall)(host);
7
8
  const devDependencies = {
8
- '@types/react': versions_1.typesReactVersion,
9
- 'babel-preset-expo': versions_1.babelPresetExpoVersion,
9
+ '@types/react': versions.typesReact,
10
+ 'babel-preset-expo': versions.babelPresetExpo,
10
11
  };
11
12
  const isPnpm = (0, devkit_1.detectPackageManager)(host.root) === 'pnpm';
12
13
  if (isPnpm) {
13
- devDependencies['@babel/runtime'] = versions_1.babelRuntimeVersion; // @babel/runtime is used by react-native-svg
14
+ devDependencies['@babel/runtime'] = versions.babelRuntime; // @babel/runtime is used by react-native-svg
14
15
  }
15
16
  if (unitTestRunner === 'jest') {
16
17
  devDependencies['@testing-library/react-native'] =
17
- versions_1.testingLibraryReactNativeVersion;
18
- devDependencies['jest-expo'] = versions_1.jestExpoVersion;
18
+ versions.testingLibraryReactNative;
19
+ devDependencies['jest-expo'] = versions.jestExpo;
19
20
  }
20
21
  return (0, devkit_1.addDependenciesToPackageJson)(host, {
21
- 'expo-splash-screen': versions_1.expoSplashScreenVersion,
22
- 'expo-status-bar': versions_1.expoStatusBarVersion,
23
- 'expo-system-ui': versions_1.expoSystemUiVersion,
24
- 'react-native-web': versions_1.reactNativeWebVersion,
25
- '@expo/metro-config': versions_1.expoMetroConfigVersion,
26
- '@expo/metro-runtime': versions_1.expoMetroRuntimeVersion,
27
- 'react-native-svg-transformer': versions_1.reactNativeSvgTransformerVersion,
28
- 'react-native-svg': versions_1.reactNativeSvgVersion,
22
+ 'expo-splash-screen': versions.expoSplashScreen,
23
+ 'expo-status-bar': versions.expoStatusBar,
24
+ 'expo-system-ui': versions.expoSystemUi,
25
+ 'react-native-web': versions.reactNativeWeb,
26
+ '@expo/metro-config': versions.expoMetroConfig,
27
+ '@expo/metro-runtime': versions.expoMetroRuntime,
28
+ 'react-native-svg-transformer': versions.reactNativeSvgTransformer,
29
+ 'react-native-svg': versions.reactNativeSvg,
29
30
  }, devDependencies);
30
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"add-jest.d.ts","sourceRoot":"","sources":["../../../../../../packages/expo/src/utils/jest/add-jest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAgD,MAAM,YAAY,CAAC;AAKhF,wBAAsB,OAAO,CAC3B,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,MAAM,GAAG,MAAM,EAC/B,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,EAAE,EAAE,OAAO,EACX,eAAe,EAAE,OAAO,EACxB,SAAS,EAAE,OAAO,uBAoEnB"}
1
+ {"version":3,"file":"add-jest.d.ts","sourceRoot":"","sources":["../../../../../../packages/expo/src/utils/jest/add-jest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAgD,MAAM,YAAY,CAAC;AAMhF,wBAAsB,OAAO,CAC3B,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,MAAM,GAAG,MAAM,EAC/B,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,EAAE,EAAE,OAAO,EACX,eAAe,EAAE,OAAO,EACxB,SAAS,EAAE,OAAO,uBAgGnB"}
@@ -5,6 +5,7 @@ const devkit_1 = require("@nx/devkit");
5
5
  const path_1 = require("path");
6
6
  const update_tsconfig_files_1 = require("../update-tsconfig-files");
7
7
  const versions_1 = require("../versions");
8
+ const version_utils_1 = require("../version-utils");
8
9
  async function addJest(host, unitTestRunner, projectName, appProjectRoot, js, skipPackageJson, addPlugin) {
9
10
  if (unitTestRunner !== 'jest') {
10
11
  return () => { };
@@ -21,16 +22,21 @@ async function addJest(host, unitTestRunner, projectName, appProjectRoot, js, sk
21
22
  skipFormat: true,
22
23
  addPlugin,
23
24
  });
25
+ // Check if using Expo v54 to determine Jest configuration approach
26
+ const useExpoV54 = await (0, version_utils_1.isExpoV54)(host);
24
27
  // Overwrite the jest.config.ts file because react native needs to have special transform property
25
28
  // use preset from https://github.com/expo/expo/blob/main/packages/jest-expo/jest-preset.js
26
29
  // Workaround issue where Jest is not picking tyope node nor jest types from tsconfig by using <reference>.
27
30
  const configPath = `${appProjectRoot}/jest.config.${js ? 'js' : 'cts'}`;
31
+ // For Expo v54, we don't use the custom resolver - instead we mock ImportMetaRegistry in test-setup
32
+ const resolverLine = useExpoV54
33
+ ? ''
34
+ : "resolver: require.resolve('./jest.resolver.js'),\n ";
28
35
  const content = `/// <reference types="jest" />
29
36
  /// <reference types="node" />
30
37
  module.exports = {
31
38
  displayName: '${projectName}',
32
- resolver: require.resolve('./jest.resolver.js'),
33
- preset: 'jest-expo',
39
+ ${resolverLine}preset: 'jest-expo',
34
40
  moduleFileExtensions: ['ts', 'js', 'html', 'tsx', 'jsx'],
35
41
  setupFilesAfterEnv: ['<rootDir>/src/test-setup.${js ? 'js' : 'ts'}'],
36
42
  moduleNameMapper: {
@@ -50,13 +56,32 @@ module.exports = {
50
56
  coverageDirectory: '${(0, devkit_1.offsetFromRoot)(appProjectRoot)}coverage/${appProjectRoot}'
51
57
  };`;
52
58
  host.write(configPath, content);
53
- // Generate only the Jest resolver file from template
54
- (0, devkit_1.generateFiles)(host, (0, path_1.join)(__dirname, 'files'), appProjectRoot, {
55
- projectName,
56
- coverageDirectory: `${(0, devkit_1.offsetFromRoot)(appProjectRoot)}coverage/${appProjectRoot}`,
57
- js,
58
- });
59
- // Update tsconfig files to handle jest.resolver.js properly
60
- (0, update_tsconfig_files_1.updateTsConfigFiles)(host, projectName, appProjectRoot);
59
+ if (useExpoV54) {
60
+ // For Expo v54, generate test-setup with ImportMetaRegistry mock and structuredClone polyfill
61
+ const testSetupPath = `${appProjectRoot}/src/test-setup.${js ? 'js' : 'ts'}`;
62
+ const testSetupContent = `jest.mock('expo/src/winter/ImportMetaRegistry', () => ({
63
+ ImportMetaRegistry: {
64
+ get url() {
65
+ return null;
66
+ },
67
+ },
68
+ }));
69
+
70
+ if (typeof global.structuredClone === 'undefined') {
71
+ global.structuredClone = (object) => JSON.parse(JSON.stringify(object));
72
+ }
73
+ `;
74
+ host.write(testSetupPath, testSetupContent);
75
+ }
76
+ else {
77
+ // For Expo v53, generate the Jest resolver file from template
78
+ (0, devkit_1.generateFiles)(host, (0, path_1.join)(__dirname, 'files'), appProjectRoot, {
79
+ projectName,
80
+ coverageDirectory: `${(0, devkit_1.offsetFromRoot)(appProjectRoot)}coverage/${appProjectRoot}`,
81
+ js,
82
+ });
83
+ // Update tsconfig files to handle jest.resolver.js properly (only for v53)
84
+ (0, update_tsconfig_files_1.updateTsConfigFiles)(host, projectName, appProjectRoot);
85
+ }
61
86
  return jestTask;
62
87
  }
@@ -0,0 +1,48 @@
1
+ import type { Tree } from 'nx/src/generators/tree';
2
+ export type ExpoDependenciesVersions = {
3
+ expo: string;
4
+ expoSplashScreen: string;
5
+ expoStatusBar: string;
6
+ expoSystemUi: string;
7
+ expoCli: string;
8
+ babelPresetExpo: string;
9
+ expoMetroConfig: string;
10
+ expoMetroRuntime: string;
11
+ jestExpo: string;
12
+ react: string;
13
+ reactDom: string;
14
+ typesReact: string;
15
+ reactNative: string;
16
+ metro: string;
17
+ reactNativeWeb: string;
18
+ reactNativeSvgTransformer: string;
19
+ reactNativeSvg: string;
20
+ testingLibraryReactNative: string;
21
+ babelRuntime: string;
22
+ };
23
+ /**
24
+ * Get the appropriate dependency versions based on the installed Expo version.
25
+ * Returns v53 versions if v53 is detected, otherwise returns v54 (latest).
26
+ */
27
+ export declare function getExpoDependenciesVersionsToInstall(tree: Tree): Promise<ExpoDependenciesVersions>;
28
+ /**
29
+ * Check if the workspace is using Expo v53.
30
+ */
31
+ export declare function isExpoV53(tree: Tree): Promise<boolean>;
32
+ /**
33
+ * Check if the workspace is using Expo v54.
34
+ */
35
+ export declare function isExpoV54(tree: Tree): Promise<boolean>;
36
+ /**
37
+ * Get the installed Expo version from package.json.
38
+ */
39
+ export declare function getInstalledExpoVersion(tree: Tree): string | null;
40
+ /**
41
+ * Get the installed Expo major version.
42
+ */
43
+ export declare function getInstalledExpoMajorVersion(tree: Tree): 53 | 54 | undefined;
44
+ /**
45
+ * Get the installed Expo version from the project graph.
46
+ */
47
+ export declare function getInstalledExpoVersionFromGraph(): Promise<string | undefined>;
48
+ //# sourceMappingURL=version-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-utils.d.ts","sourceRoot":"","sources":["../../../../../packages/expo/src/utils/version-utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AA4CnD,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IAEvB,yBAAyB,EAAE,MAAM,CAAC;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,yBAAyB,EAAE,MAAM,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,wBAAsB,oCAAoC,CACxD,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,wBAAwB,CAAC,CAgDnC;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAS5D;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAS5D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAiBjE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,SAAS,CAW5E;AAED;;GAEG;AACH,wBAAsB,gCAAgC,IAAI,OAAO,CAC/D,MAAM,GAAG,SAAS,CACnB,CAWA"}
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getExpoDependenciesVersionsToInstall = getExpoDependenciesVersionsToInstall;
4
+ exports.isExpoV53 = isExpoV53;
5
+ exports.isExpoV54 = isExpoV54;
6
+ exports.getInstalledExpoVersion = getInstalledExpoVersion;
7
+ exports.getInstalledExpoMajorVersion = getInstalledExpoMajorVersion;
8
+ exports.getInstalledExpoVersionFromGraph = getInstalledExpoVersionFromGraph;
9
+ const devkit_1 = require("@nx/devkit");
10
+ const semver_1 = require("semver");
11
+ const versions_1 = require("./versions");
12
+ /**
13
+ * Get the appropriate dependency versions based on the installed Expo version.
14
+ * Returns v53 versions if v53 is detected, otherwise returns v54 (latest).
15
+ */
16
+ async function getExpoDependenciesVersionsToInstall(tree) {
17
+ const sharedVersions = {
18
+ reactNativeSvgTransformer: versions_1.reactNativeSvgTransformerVersion,
19
+ reactNativeSvg: versions_1.reactNativeSvgVersion,
20
+ testingLibraryReactNative: versions_1.testingLibraryReactNativeVersion,
21
+ babelRuntime: versions_1.babelRuntimeVersion,
22
+ };
23
+ if (await isExpoV53(tree)) {
24
+ return {
25
+ expo: versions_1.expoV53Version,
26
+ expoSplashScreen: versions_1.expoV53SplashScreenVersion,
27
+ expoStatusBar: versions_1.expoV53StatusBarVersion,
28
+ expoSystemUi: versions_1.expoV53SystemUiVersion,
29
+ expoCli: versions_1.expoV53CliVersion,
30
+ babelPresetExpo: versions_1.babelPresetExpoV53Version,
31
+ expoMetroConfig: versions_1.expoV53MetroConfigVersion,
32
+ expoMetroRuntime: versions_1.expoV53MetroRuntimeVersion,
33
+ jestExpo: versions_1.jestExpoV53Version,
34
+ react: versions_1.reactV53Version,
35
+ reactDom: versions_1.reactDomV53Version,
36
+ typesReact: versions_1.typesReactV53Version,
37
+ reactNative: versions_1.reactNativeV53Version,
38
+ metro: versions_1.metroV53Version,
39
+ reactNativeWeb: versions_1.reactNativeWebV53Version,
40
+ ...sharedVersions,
41
+ };
42
+ }
43
+ // Default to v54 (latest)
44
+ return {
45
+ expo: versions_1.expoV54Version,
46
+ expoSplashScreen: versions_1.expoV54SplashScreenVersion,
47
+ expoStatusBar: versions_1.expoV54StatusBarVersion,
48
+ expoSystemUi: versions_1.expoV54SystemUiVersion,
49
+ expoCli: versions_1.expoV54CliVersion,
50
+ babelPresetExpo: versions_1.babelPresetExpoV54Version,
51
+ expoMetroConfig: versions_1.expoV54MetroConfigVersion,
52
+ expoMetroRuntime: versions_1.expoV54MetroRuntimeVersion,
53
+ jestExpo: versions_1.jestExpoV54Version,
54
+ react: versions_1.reactV54Version,
55
+ reactDom: versions_1.reactDomV54Version,
56
+ typesReact: versions_1.typesReactV54Version,
57
+ reactNative: versions_1.reactNativeV54Version,
58
+ metro: versions_1.metroV54Version,
59
+ reactNativeWeb: versions_1.reactNativeWebV54Version,
60
+ ...sharedVersions,
61
+ };
62
+ }
63
+ /**
64
+ * Check if the workspace is using Expo v53.
65
+ */
66
+ async function isExpoV53(tree) {
67
+ let installedExpoVersion = await getInstalledExpoVersionFromGraph();
68
+ if (!installedExpoVersion) {
69
+ installedExpoVersion = getInstalledExpoVersion(tree);
70
+ }
71
+ if (!installedExpoVersion) {
72
+ return false; // No Expo installed, default to latest
73
+ }
74
+ return (0, semver_1.major)(installedExpoVersion) === 53;
75
+ }
76
+ /**
77
+ * Check if the workspace is using Expo v54.
78
+ */
79
+ async function isExpoV54(tree) {
80
+ let installedExpoVersion = await getInstalledExpoVersionFromGraph();
81
+ if (!installedExpoVersion) {
82
+ installedExpoVersion = getInstalledExpoVersion(tree);
83
+ }
84
+ if (!installedExpoVersion) {
85
+ return true; // No Expo installed, default to latest (v54)
86
+ }
87
+ return (0, semver_1.major)(installedExpoVersion) === 54;
88
+ }
89
+ /**
90
+ * Get the installed Expo version from package.json.
91
+ */
92
+ function getInstalledExpoVersion(tree) {
93
+ const installedExpoVersion = (0, devkit_1.getDependencyVersionFromPackageJson)(tree, 'expo');
94
+ if (!installedExpoVersion ||
95
+ installedExpoVersion === 'latest' ||
96
+ installedExpoVersion === 'beta') {
97
+ return null;
98
+ }
99
+ return ((0, semver_1.clean)(installedExpoVersion) ?? (0, semver_1.coerce)(installedExpoVersion)?.version ?? null);
100
+ }
101
+ /**
102
+ * Get the installed Expo major version.
103
+ */
104
+ function getInstalledExpoMajorVersion(tree) {
105
+ const installedExpoVersion = getInstalledExpoVersion(tree);
106
+ if (!installedExpoVersion) {
107
+ return undefined;
108
+ }
109
+ const installedMajor = (0, semver_1.major)(installedExpoVersion);
110
+ if (installedMajor !== 53 && installedMajor !== 54) {
111
+ return undefined;
112
+ }
113
+ return installedMajor;
114
+ }
115
+ /**
116
+ * Get the installed Expo version from the project graph.
117
+ */
118
+ async function getInstalledExpoVersionFromGraph() {
119
+ try {
120
+ const graph = await (0, devkit_1.createProjectGraphAsync)();
121
+ const expoDep = graph.externalNodes?.['npm:expo'];
122
+ if (!expoDep) {
123
+ return undefined;
124
+ }
125
+ return (0, semver_1.clean)(expoDep.data.version) ?? (0, semver_1.coerce)(expoDep.data.version)?.version;
126
+ }
127
+ catch {
128
+ return undefined;
129
+ }
130
+ }
@@ -1,21 +1,51 @@
1
1
  export declare const nxVersion: any;
2
- export declare const expoVersion = "~53.0.10";
3
- export declare const expoSplashScreenVersion = "~0.30.9";
4
- export declare const expoStatusBarVersion = "~2.2.3";
5
- export declare const expoSystemUiVersion = "~5.0.8";
6
- export declare const expoCliVersion = "~0.24.14";
7
- export declare const babelPresetExpoVersion = "~13.2.0";
8
- export declare const reactVersion = "^19.0.0";
9
- export declare const reactDomVersion = "^19.0.0";
10
- export declare const typesReactVersion = "~19.0.10";
11
- export declare const reactNativeVersion = "0.79.3";
12
- export declare const reactNativeWebVersion = "~0.20.0";
13
- export declare const expoMetroConfigVersion = "~0.20.14";
14
- export declare const expoMetroRuntimeVersion = "~5.0.4";
15
- export declare const metroVersion = "~0.82.4";
2
+ export declare const expoV54Version = "~54.0.0";
3
+ export declare const expoV54SplashScreenVersion = "~31.0.11";
4
+ export declare const expoV54StatusBarVersion = "~3.0.8";
5
+ export declare const expoV54SystemUiVersion = "~6.0.8";
6
+ export declare const expoV54CliVersion = "~54.0.16";
7
+ export declare const babelPresetExpoV54Version = "~54.0.7";
8
+ export declare const expoV54MetroConfigVersion = "~54.0.9";
9
+ export declare const expoV54MetroRuntimeVersion = "~6.1.2";
10
+ export declare const jestExpoV54Version = "~54.0.13";
11
+ export declare const reactV54Version = "^19.1.0";
12
+ export declare const reactDomV54Version = "^19.1.0";
13
+ export declare const typesReactV54Version = "^19.1.0";
14
+ export declare const reactNativeV54Version = "0.81.5";
15
+ export declare const metroV54Version = "~0.83.0";
16
+ export declare const reactNativeWebV54Version = "~0.21.0";
17
+ export declare const expoV53Version = "~53.0.10";
18
+ export declare const expoV53SplashScreenVersion = "~0.30.9";
19
+ export declare const expoV53StatusBarVersion = "~2.2.3";
20
+ export declare const expoV53SystemUiVersion = "~5.0.8";
21
+ export declare const expoV53CliVersion = "~0.24.14";
22
+ export declare const babelPresetExpoV53Version = "~13.2.0";
23
+ export declare const expoV53MetroConfigVersion = "~0.20.14";
24
+ export declare const expoV53MetroRuntimeVersion = "~5.0.4";
25
+ export declare const jestExpoV53Version = "~53.0.7";
26
+ export declare const reactV53Version = "^19.0.0";
27
+ export declare const reactDomV53Version = "^19.0.0";
28
+ export declare const typesReactV53Version = "~19.0.10";
29
+ export declare const reactNativeV53Version = "0.79.3";
30
+ export declare const metroV53Version = "~0.82.4";
31
+ export declare const reactNativeWebV53Version = "~0.20.0";
32
+ export declare const expoVersion = "~54.0.0";
33
+ export declare const expoSplashScreenVersion = "~31.0.11";
34
+ export declare const expoStatusBarVersion = "~3.0.8";
35
+ export declare const expoSystemUiVersion = "~6.0.8";
36
+ export declare const expoCliVersion = "~54.0.16";
37
+ export declare const babelPresetExpoVersion = "~54.0.7";
38
+ export declare const expoMetroConfigVersion = "~54.0.9";
39
+ export declare const expoMetroRuntimeVersion = "~6.1.2";
40
+ export declare const jestExpoVersion = "~54.0.13";
41
+ export declare const reactVersion = "^19.1.0";
42
+ export declare const reactDomVersion = "^19.1.0";
43
+ export declare const typesReactVersion = "^19.1.0";
44
+ export declare const reactNativeVersion = "0.81.5";
45
+ export declare const metroVersion = "~0.83.0";
46
+ export declare const reactNativeWebVersion = "~0.21.0";
16
47
  export declare const reactNativeSvgTransformerVersion = "~1.5.1";
17
- export declare const reactNativeSvgVersion = "~15.11.2";
48
+ export declare const reactNativeSvgVersion = "15.12.1";
18
49
  export declare const testingLibraryReactNativeVersion = "~13.2.0";
19
- export declare const jestExpoVersion = "~53.0.7";
20
50
  export declare const babelRuntimeVersion = "~7.27.6";
21
51
  //# sourceMappingURL=versions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../../../../packages/expo/src/utils/versions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,KAAwC,CAAC;AAE/D,eAAO,MAAM,WAAW,aAAa,CAAC;AACtC,eAAO,MAAM,uBAAuB,YAAY,CAAC;AACjD,eAAO,MAAM,oBAAoB,WAAW,CAAC;AAC7C,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAC5C,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,sBAAsB,YAAY,CAAC;AAEhD,eAAO,MAAM,YAAY,YAAY,CAAC;AACtC,eAAO,MAAM,eAAe,YAAY,CAAC;AACzC,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAE5C,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAC3C,eAAO,MAAM,qBAAqB,YAAY,CAAC;AAE/C,eAAO,MAAM,sBAAsB,aAAa,CAAC;AACjD,eAAO,MAAM,uBAAuB,WAAW,CAAC;AAEhD,eAAO,MAAM,YAAY,YAAY,CAAC;AAEtC,eAAO,MAAM,gCAAgC,WAAW,CAAC;AACzD,eAAO,MAAM,qBAAqB,aAAa,CAAC;AAEhD,eAAO,MAAM,gCAAgC,YAAY,CAAC;AAC1D,eAAO,MAAM,eAAe,YAAY,CAAC;AAEzC,eAAO,MAAM,mBAAmB,YAAY,CAAC"}
1
+ {"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../../../../packages/expo/src/utils/versions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,KAAwC,CAAC;AAG/D,eAAO,MAAM,cAAc,YAAY,CAAC;AACxC,eAAO,MAAM,0BAA0B,aAAa,CAAC;AACrD,eAAO,MAAM,uBAAuB,WAAW,CAAC;AAChD,eAAO,MAAM,sBAAsB,WAAW,CAAC;AAC/C,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAC5C,eAAO,MAAM,yBAAyB,YAAY,CAAC;AACnD,eAAO,MAAM,yBAAyB,YAAY,CAAC;AACnD,eAAO,MAAM,0BAA0B,WAAW,CAAC;AACnD,eAAO,MAAM,kBAAkB,aAAa,CAAC;AAC7C,eAAO,MAAM,eAAe,YAAY,CAAC;AACzC,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAC5C,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAC9C,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAC9C,eAAO,MAAM,eAAe,YAAY,CAAC;AACzC,eAAO,MAAM,wBAAwB,YAAY,CAAC;AAGlD,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,0BAA0B,YAAY,CAAC;AACpD,eAAO,MAAM,uBAAuB,WAAW,CAAC;AAChD,eAAO,MAAM,sBAAsB,WAAW,CAAC;AAC/C,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAC5C,eAAO,MAAM,yBAAyB,YAAY,CAAC;AACnD,eAAO,MAAM,yBAAyB,aAAa,CAAC;AACpD,eAAO,MAAM,0BAA0B,WAAW,CAAC;AACnD,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAC5C,eAAO,MAAM,eAAe,YAAY,CAAC;AACzC,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAC5C,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAC/C,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAC9C,eAAO,MAAM,eAAe,YAAY,CAAC;AACzC,eAAO,MAAM,wBAAwB,YAAY,CAAC;AAGlD,eAAO,MAAM,WAAW,YAAiB,CAAC;AAC1C,eAAO,MAAM,uBAAuB,aAA6B,CAAC;AAClE,eAAO,MAAM,oBAAoB,WAA0B,CAAC;AAC5D,eAAO,MAAM,mBAAmB,WAAyB,CAAC;AAC1D,eAAO,MAAM,cAAc,aAAoB,CAAC;AAChD,eAAO,MAAM,sBAAsB,YAA4B,CAAC;AAChE,eAAO,MAAM,sBAAsB,YAA4B,CAAC;AAChE,eAAO,MAAM,uBAAuB,WAA6B,CAAC;AAClE,eAAO,MAAM,eAAe,aAAqB,CAAC;AAClD,eAAO,MAAM,YAAY,YAAkB,CAAC;AAC5C,eAAO,MAAM,eAAe,YAAqB,CAAC;AAClD,eAAO,MAAM,iBAAiB,YAAuB,CAAC;AACtD,eAAO,MAAM,kBAAkB,WAAwB,CAAC;AACxD,eAAO,MAAM,YAAY,YAAkB,CAAC;AAC5C,eAAO,MAAM,qBAAqB,YAA2B,CAAC;AAG9D,eAAO,MAAM,gCAAgC,WAAW,CAAC;AACzD,eAAO,MAAM,qBAAqB,YAAY,CAAC;AAC/C,eAAO,MAAM,gCAAgC,YAAY,CAAC;AAC1D,eAAO,MAAM,mBAAmB,YAAY,CAAC"}
@@ -1,23 +1,57 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.babelRuntimeVersion = exports.jestExpoVersion = exports.testingLibraryReactNativeVersion = exports.reactNativeSvgVersion = exports.reactNativeSvgTransformerVersion = exports.metroVersion = exports.expoMetroRuntimeVersion = exports.expoMetroConfigVersion = exports.reactNativeWebVersion = exports.reactNativeVersion = exports.typesReactVersion = exports.reactDomVersion = exports.reactVersion = exports.babelPresetExpoVersion = exports.expoCliVersion = exports.expoSystemUiVersion = exports.expoStatusBarVersion = exports.expoSplashScreenVersion = exports.expoVersion = exports.nxVersion = void 0;
3
+ exports.babelRuntimeVersion = exports.testingLibraryReactNativeVersion = exports.reactNativeSvgVersion = exports.reactNativeSvgTransformerVersion = exports.reactNativeWebVersion = exports.metroVersion = exports.reactNativeVersion = exports.typesReactVersion = exports.reactDomVersion = exports.reactVersion = exports.jestExpoVersion = exports.expoMetroRuntimeVersion = exports.expoMetroConfigVersion = exports.babelPresetExpoVersion = exports.expoCliVersion = exports.expoSystemUiVersion = exports.expoStatusBarVersion = exports.expoSplashScreenVersion = exports.expoVersion = exports.reactNativeWebV53Version = exports.metroV53Version = exports.reactNativeV53Version = exports.typesReactV53Version = exports.reactDomV53Version = exports.reactV53Version = exports.jestExpoV53Version = exports.expoV53MetroRuntimeVersion = exports.expoV53MetroConfigVersion = exports.babelPresetExpoV53Version = exports.expoV53CliVersion = exports.expoV53SystemUiVersion = exports.expoV53StatusBarVersion = exports.expoV53SplashScreenVersion = exports.expoV53Version = exports.reactNativeWebV54Version = exports.metroV54Version = exports.reactNativeV54Version = exports.typesReactV54Version = exports.reactDomV54Version = exports.reactV54Version = exports.jestExpoV54Version = exports.expoV54MetroRuntimeVersion = exports.expoV54MetroConfigVersion = exports.babelPresetExpoV54Version = exports.expoV54CliVersion = exports.expoV54SystemUiVersion = exports.expoV54StatusBarVersion = exports.expoV54SplashScreenVersion = exports.expoV54Version = exports.nxVersion = void 0;
4
4
  exports.nxVersion = require('../../package.json').version;
5
- exports.expoVersion = '~53.0.10';
6
- exports.expoSplashScreenVersion = '~0.30.9';
7
- exports.expoStatusBarVersion = '~2.2.3';
8
- exports.expoSystemUiVersion = '~5.0.8';
9
- exports.expoCliVersion = '~0.24.14'; // @expo/cli
10
- exports.babelPresetExpoVersion = '~13.2.0';
11
- exports.reactVersion = '^19.0.0';
12
- exports.reactDomVersion = '^19.0.0';
13
- exports.typesReactVersion = '~19.0.10';
14
- exports.reactNativeVersion = '0.79.3';
15
- exports.reactNativeWebVersion = '~0.20.0';
16
- exports.expoMetroConfigVersion = '~0.20.14';
17
- exports.expoMetroRuntimeVersion = '~5.0.4';
18
- exports.metroVersion = '~0.82.4';
5
+ // Expo v54 versions (default for new projects)
6
+ exports.expoV54Version = '~54.0.0';
7
+ exports.expoV54SplashScreenVersion = '~31.0.11';
8
+ exports.expoV54StatusBarVersion = '~3.0.8';
9
+ exports.expoV54SystemUiVersion = '~6.0.8';
10
+ exports.expoV54CliVersion = '~54.0.16';
11
+ exports.babelPresetExpoV54Version = '~54.0.7';
12
+ exports.expoV54MetroConfigVersion = '~54.0.9';
13
+ exports.expoV54MetroRuntimeVersion = '~6.1.2';
14
+ exports.jestExpoV54Version = '~54.0.13';
15
+ exports.reactV54Version = '^19.1.0';
16
+ exports.reactDomV54Version = '^19.1.0';
17
+ exports.typesReactV54Version = '^19.1.0';
18
+ exports.reactNativeV54Version = '0.81.5';
19
+ exports.metroV54Version = '~0.83.0';
20
+ exports.reactNativeWebV54Version = '~0.21.0';
21
+ // Expo v53 versions (for existing workspaces)
22
+ exports.expoV53Version = '~53.0.10';
23
+ exports.expoV53SplashScreenVersion = '~0.30.9';
24
+ exports.expoV53StatusBarVersion = '~2.2.3';
25
+ exports.expoV53SystemUiVersion = '~5.0.8';
26
+ exports.expoV53CliVersion = '~0.24.14'; // @expo/cli
27
+ exports.babelPresetExpoV53Version = '~13.2.0';
28
+ exports.expoV53MetroConfigVersion = '~0.20.14';
29
+ exports.expoV53MetroRuntimeVersion = '~5.0.4';
30
+ exports.jestExpoV53Version = '~53.0.7';
31
+ exports.reactV53Version = '^19.0.0';
32
+ exports.reactDomV53Version = '^19.0.0';
33
+ exports.typesReactV53Version = '~19.0.10';
34
+ exports.reactNativeV53Version = '0.79.3';
35
+ exports.metroV53Version = '~0.82.4';
36
+ exports.reactNativeWebV53Version = '~0.20.0';
37
+ // Default exports point to v54 (latest)
38
+ exports.expoVersion = exports.expoV54Version;
39
+ exports.expoSplashScreenVersion = exports.expoV54SplashScreenVersion;
40
+ exports.expoStatusBarVersion = exports.expoV54StatusBarVersion;
41
+ exports.expoSystemUiVersion = exports.expoV54SystemUiVersion;
42
+ exports.expoCliVersion = exports.expoV54CliVersion;
43
+ exports.babelPresetExpoVersion = exports.babelPresetExpoV54Version;
44
+ exports.expoMetroConfigVersion = exports.expoV54MetroConfigVersion;
45
+ exports.expoMetroRuntimeVersion = exports.expoV54MetroRuntimeVersion;
46
+ exports.jestExpoVersion = exports.jestExpoV54Version;
47
+ exports.reactVersion = exports.reactV54Version;
48
+ exports.reactDomVersion = exports.reactDomV54Version;
49
+ exports.typesReactVersion = exports.typesReactV54Version;
50
+ exports.reactNativeVersion = exports.reactNativeV54Version;
51
+ exports.metroVersion = exports.metroV54Version;
52
+ exports.reactNativeWebVersion = exports.reactNativeWebV54Version;
53
+ // Shared versions (version-independent)
19
54
  exports.reactNativeSvgTransformerVersion = '~1.5.1';
20
- exports.reactNativeSvgVersion = '~15.11.2';
55
+ exports.reactNativeSvgVersion = '15.12.1';
21
56
  exports.testingLibraryReactNativeVersion = '~13.2.0';
22
- exports.jestExpoVersion = '~53.0.7';
23
57
  exports.babelRuntimeVersion = '~7.27.6';