@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.
- package/migrations.json +109 -0
- package/package.json +8 -7
- package/plugins/with-nx-metro.d.ts +1 -1
- package/plugins/with-nx-metro.d.ts.map +1 -1
- package/plugins/with-nx-metro.js +1 -1
- package/src/generators/application/application.js +1 -1
- package/src/generators/application/files/nx-welcome/claimed/src/app/App.tsx.template +7 -10
- package/src/generators/application/files/nx-welcome/not-configured/src/app/App.tsx.template +7 -10
- package/src/generators/application/files/nx-welcome/unclaimed/src/app/App.tsx.template +7 -10
- package/src/generators/init/init.d.ts +1 -1
- package/src/generators/init/init.d.ts.map +1 -1
- package/src/generators/init/init.js +11 -9
- package/src/generators/library/library.d.ts.map +1 -1
- package/src/generators/library/library.js +7 -6
- package/src/migrations/update-22-2-0/add-expo-system-ui.d.ts +8 -0
- package/src/migrations/update-22-2-0/add-expo-system-ui.d.ts.map +1 -0
- package/src/migrations/update-22-2-0/add-expo-system-ui.js +48 -0
- package/src/migrations/update-22-2-0/create-ai-instructions-for-expo-54.d.ts +3 -0
- package/src/migrations/update-22-2-0/create-ai-instructions-for-expo-54.d.ts.map +1 -0
- package/src/migrations/update-22-2-0/create-ai-instructions-for-expo-54.js +16 -0
- package/src/migrations/update-22-2-0/files/ai-instructions-for-expo-54.md +519 -0
- package/src/migrations/update-22-2-0/update-jest-for-expo-54.d.ts +12 -0
- package/src/migrations/update-22-2-0/update-jest-for-expo-54.d.ts.map +1 -0
- package/src/migrations/update-22-2-0/update-jest-for-expo-54.js +150 -0
- package/src/utils/ensure-dependencies.d.ts +1 -1
- package/src/utils/ensure-dependencies.d.ts.map +1 -1
- package/src/utils/ensure-dependencies.js +16 -15
- package/src/utils/jest/add-jest.d.ts.map +1 -1
- package/src/utils/jest/add-jest.js +35 -10
- package/src/utils/version-utils.d.ts +48 -0
- package/src/utils/version-utils.d.ts.map +1 -0
- package/src/utils/version-utils.js +130 -0
- package/src/utils/versions.d.ts +46 -16
- package/src/utils/versions.d.ts.map +1 -1
- 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
|
|
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':
|
|
9
|
-
'babel-preset-expo':
|
|
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'] =
|
|
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
|
-
|
|
18
|
-
devDependencies['jest-expo'] =
|
|
18
|
+
versions.testingLibraryReactNative;
|
|
19
|
+
devDependencies['jest-expo'] = versions.jestExpo;
|
|
19
20
|
}
|
|
20
21
|
return (0, devkit_1.addDependenciesToPackageJson)(host, {
|
|
21
|
-
'expo-splash-screen':
|
|
22
|
-
'expo-status-bar':
|
|
23
|
-
'expo-system-ui':
|
|
24
|
-
'react-native-web':
|
|
25
|
-
'@expo/metro-config':
|
|
26
|
-
'@expo/metro-runtime':
|
|
27
|
-
'react-native-svg-transformer':
|
|
28
|
-
'react-native-svg':
|
|
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;
|
|
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
|
-
|
|
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
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
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
|
+
}
|
package/src/utils/versions.d.ts
CHANGED
|
@@ -1,21 +1,51 @@
|
|
|
1
1
|
export declare const nxVersion: any;
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const
|
|
6
|
-
export declare const
|
|
7
|
-
export declare const
|
|
8
|
-
export declare const
|
|
9
|
-
export declare const
|
|
10
|
-
export declare const
|
|
11
|
-
export declare const
|
|
12
|
-
export declare const
|
|
13
|
-
export declare const
|
|
14
|
-
export declare const
|
|
15
|
-
export declare const
|
|
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 = "
|
|
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;
|
|
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"}
|
package/src/utils/versions.js
CHANGED
|
@@ -1,23 +1,57 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.babelRuntimeVersion = exports.
|
|
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
|
-
|
|
6
|
-
exports.
|
|
7
|
-
exports.
|
|
8
|
-
exports.
|
|
9
|
-
exports.
|
|
10
|
-
exports.
|
|
11
|
-
exports.
|
|
12
|
-
exports.
|
|
13
|
-
exports.
|
|
14
|
-
exports.
|
|
15
|
-
exports.
|
|
16
|
-
exports.
|
|
17
|
-
exports.
|
|
18
|
-
exports.
|
|
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 = '
|
|
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';
|