mirror of
https://github.com/pezkuwichain/pwap.git
synced 2026-06-13 15:51:02 +00:00
fix: Resolve mobile app crash with import.meta and babel config
- Add guard for import.meta in endpoints.ts for React Native compatibility - Add jsEngine: jsc to app.json to match gradle.properties - Add @babel/plugin-transform-class-static-block for @pezkuwi/types-codec
This commit is contained in:
+2
-1
@@ -6,7 +6,8 @@
|
|||||||
"orientation": "portrait",
|
"orientation": "portrait",
|
||||||
"icon": "./assets/icon.png",
|
"icon": "./assets/icon.png",
|
||||||
"userInterfaceStyle": "light",
|
"userInterfaceStyle": "light",
|
||||||
"newArchEnabled": true,
|
"newArchEnabled": false,
|
||||||
|
"jsEngine": "jsc",
|
||||||
"splash": {
|
"splash": {
|
||||||
"image": "./assets/splash-icon.png",
|
"image": "./assets/splash-icon.png",
|
||||||
"resizeMode": "contain",
|
"resizeMode": "contain",
|
||||||
|
|||||||
@@ -9,5 +9,8 @@ module.exports = function (api) {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
|
plugins: [
|
||||||
|
'@babel/plugin-transform-class-static-block',
|
||||||
|
],
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -10,8 +10,16 @@ const config = getDefaultConfig(__dirname);
|
|||||||
// ============================================
|
// ============================================
|
||||||
|
|
||||||
const projectRoot = __dirname;
|
const projectRoot = __dirname;
|
||||||
|
const workspaceRoot = path.resolve(projectRoot, '..');
|
||||||
|
|
||||||
// Use default watchFolders (no custom configuration)
|
// Watch folders - include shared directory for cross-project imports
|
||||||
|
config.watchFolders = [workspaceRoot];
|
||||||
|
|
||||||
|
// Tell Metro where to resolve packages (both project and workspace node_modules)
|
||||||
|
config.resolver.nodeModulesPaths = [
|
||||||
|
path.resolve(projectRoot, 'node_modules'),
|
||||||
|
path.resolve(workspaceRoot, 'node_modules'),
|
||||||
|
];
|
||||||
|
|
||||||
// ============================================
|
// ============================================
|
||||||
// CUSTOM MODULE RESOLUTION
|
// CUSTOM MODULE RESOLUTION
|
||||||
|
|||||||
Generated
+1448
-47
File diff suppressed because it is too large
Load Diff
+6
-2
@@ -44,7 +44,7 @@
|
|||||||
"@pezkuwi/util": "^14.0.11",
|
"@pezkuwi/util": "^14.0.11",
|
||||||
"@pezkuwi/util-crypto": "^14.0.11",
|
"@pezkuwi/util-crypto": "^14.0.11",
|
||||||
"@react-native-async-storage/async-storage": "^2.2.0",
|
"@react-native-async-storage/async-storage": "^2.2.0",
|
||||||
"@react-native-picker/picker": "2.11.1",
|
"@react-native-picker/picker": "^2.11.4",
|
||||||
"@react-navigation/bottom-tabs": "^7.8.5",
|
"@react-navigation/bottom-tabs": "^7.8.5",
|
||||||
"@react-navigation/native": "^7.1.20",
|
"@react-navigation/native": "^7.1.20",
|
||||||
"@react-navigation/stack": "^7.6.4",
|
"@react-navigation/stack": "^7.6.4",
|
||||||
@@ -64,12 +64,13 @@
|
|||||||
"react": "19.1.0",
|
"react": "19.1.0",
|
||||||
"react-dom": "19.1.0",
|
"react-dom": "19.1.0",
|
||||||
"react-i18next": "^16.3.3",
|
"react-i18next": "^16.3.3",
|
||||||
|
"react-native": "0.81.5",
|
||||||
"react-native-gesture-handler": "~2.28.0",
|
"react-native-gesture-handler": "~2.28.0",
|
||||||
"react-native-get-random-values": "~1.11.0",
|
"react-native-get-random-values": "~1.11.0",
|
||||||
"react-native-qrcode-svg": "^6.3.11",
|
"react-native-qrcode-svg": "^6.3.11",
|
||||||
"react-native-safe-area-context": "^5.6.2",
|
"react-native-safe-area-context": "^5.6.2",
|
||||||
"react-native-screens": "~4.16.0",
|
"react-native-screens": "~4.16.0",
|
||||||
"react-native-svg": "15.12.1",
|
"react-native-svg": "^15.15.1",
|
||||||
"react-native-url-polyfill": "^3.0.0",
|
"react-native-url-polyfill": "^3.0.0",
|
||||||
"react-native-vector-icons": "^10.3.0",
|
"react-native-vector-icons": "^10.3.0",
|
||||||
"react-native-web": "^0.21.0",
|
"react-native-web": "^0.21.0",
|
||||||
@@ -96,9 +97,12 @@
|
|||||||
"@pezkuwi/util-crypto": "^14.0.11"
|
"@pezkuwi/util-crypto": "^14.0.11"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@babel/plugin-transform-class-static-block": "^7.28.6",
|
||||||
"@expo/ngrok": "^4.1.0",
|
"@expo/ngrok": "^4.1.0",
|
||||||
"@pezkuwi/extension-dapp": "^0.62.20",
|
"@pezkuwi/extension-dapp": "^0.62.20",
|
||||||
"@pezkuwi/extension-inject": "^0.62.20",
|
"@pezkuwi/extension-inject": "^0.62.20",
|
||||||
|
"@react-native-community/cli": "^20.1.0",
|
||||||
|
"@react-native/metro-config": "^0.83.1",
|
||||||
"@testing-library/jest-native": "^5.4.3",
|
"@testing-library/jest-native": "^5.4.3",
|
||||||
"@testing-library/react-native": "^13.3.3",
|
"@testing-library/react-native": "^13.3.3",
|
||||||
"@types/invariant": "^2",
|
"@types/invariant": "^2",
|
||||||
|
|||||||
@@ -122,7 +122,15 @@ export function getAllNetworks(): NetworkConfig[] {
|
|||||||
* @returns {NetworkConfig} The active network configuration.
|
* @returns {NetworkConfig} The active network configuration.
|
||||||
*/
|
*/
|
||||||
export const getCurrentNetworkConfig = (): NetworkConfig => {
|
export const getCurrentNetworkConfig = (): NetworkConfig => {
|
||||||
const networkName = (import.meta.env.VITE_NETWORK || 'local').toUpperCase();
|
let networkName = 'LOCAL';
|
||||||
|
|
||||||
|
// Support both Vite (web) and React Native environments
|
||||||
|
if (typeof process !== 'undefined' && process.env?.EXPO_PUBLIC_NETWORK) {
|
||||||
|
networkName = process.env.EXPO_PUBLIC_NETWORK.toUpperCase();
|
||||||
|
} else if (typeof import.meta !== 'undefined' && (import.meta as any).env?.VITE_NETWORK) {
|
||||||
|
networkName = ((import.meta as any).env.VITE_NETWORK || 'local').toUpperCase();
|
||||||
|
}
|
||||||
|
|
||||||
const validNetworkKeys = Object.keys(NETWORK_ENDPOINTS);
|
const validNetworkKeys = Object.keys(NETWORK_ENDPOINTS);
|
||||||
|
|
||||||
if (validNetworkKeys.includes(networkName)) {
|
if (validNetworkKeys.includes(networkName)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user