Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions runtime/.env
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,7 @@ EXPO_PUBLIC_SNACK_ENV=staging

# Open a Snack directly during development
# EXPO_PUBLIC_SNACK_URL=exp://u.expo.dev/933fd9c0-1666-11e7-afca-d980795c5824?runtime-version=exposdk%3A52.0.0&channel-name=production&snack=...

# Env for snack-experimental-runtime Expo Project
# EXPO_PROJECT_ID: 98eba87d-6d91-4756-8699-dd512ce803d3
# EXPO_PUBLIC_SNACK_ENV: production
6 changes: 6 additions & 0 deletions runtime/app.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@ const { major } = require('semver');
* @returns {import('expo/config').ExpoConfig}
*/
module.exports = ({ config }) => {
// This is needed for cannary runtimes to work in development versions of future Expo Go releases.
// E.g. 55.0.0-canary -> sdkVersion: 55.0.0 won't work in Expo Go until 55.0.0 is released.
config.sdkVersion = '54.0.0';
// UNVERSIONED doesn't work with EAS Update, so I force 54 to avoid issue with loading the runtime
// due to version mismatch.

// Set web export prefix major Expo SDK version.
// This is used to properly host the web build on Snack's S3 hosting.
config.experiments ||= {};
Expand Down
4 changes: 2 additions & 2 deletions runtime/app.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
"name": "Snack",
"description": "Write code in Expo's online editor and instantly use it on your phone",
"scheme": "snack",
"owner": "exponent",
"slug": "snack",
"owner": "expo",
"slug": "snack-experimental-runtime",
"version": "1.0.0",
"primaryColor": "#000000",
"icon": "./assets/icon.png",
Expand Down
56 changes: 29 additions & 27 deletions runtime/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,42 +20,44 @@
},
"dependencies": {
"@babel/polyfill": "^7.8.3",
"@expo-google-fonts/material-symbols": "0.4.15",
"@expo/vector-icons": "^15.0.2",
"@react-native-async-storage/async-storage": "2.2.0",
"@react-navigation/drawer": "^7.5.0",
"@react-navigation/native": "^7.1.8",
"@react-navigation/drawer": "7.7.2",
"@react-navigation/native": "7.1.21",
"assert": "^2.1.0",
"await-lock": "^2.2.2",
"canvaskit-wasm": "0.38.0",
"diff": "^5.0.0",
"escape-string-regexp": "^5.0.0",
"expo": "~54.0.10",
"expo-asset": "~12.0.9",
"expo-camera": "~17.0.8",
"expo-constants": "~18.0.9",
"expo-crypto": "~15.0.7",
"expo-file-system": "~19.0.15",
"expo-font": "~14.0.8",
"expo-keep-awake": "~15.0.7",
"expo-linking": "~8.0.8",
"expo-router": "~6.0.8",
"expo-splash-screen": "~31.0.10",
"expo-status-bar": "~3.0.8",
"expo-updates": "~29.0.11",
"expo": "55.0.0-canary-20251205-a1dedc6",
"expo-asset": "12.0.12-canary-20251205-a1dedc6",
"expo-camera": "17.1.0-canary-20251205-a1dedc6",
"expo-constants": "18.1.0-canary-20251205-a1dedc6",
"expo-crypto": "15.0.9-canary-20251205-a1dedc6",
"expo-file-system": "19.0.21-canary-20251205-a1dedc6",
"expo-font": "14.1.0-canary-20251205-a1dedc6",
"expo-keep-awake": "15.0.9-canary-20251205-a1dedc6",
"expo-linking": "8.0.11-canary-20251205-a1dedc6",
"expo-router": "7.0.0-canary-20251205-a1dedc6",
"expo-splash-screen": "31.0.13-canary-20251205-a1dedc6",
"expo-status-bar": "3.0.10-canary-20251205-a1dedc6",
"expo-symbols": "1.1.0-canary-20251205-a1dedc6",
"expo-updates": "29.1.0-canary-20251205-a1dedc6",
"path": "^0.12.7",
"prop-types": "^15.7.2",
"pubnub": "^7.2.0",
"react": "19.1.0",
"react-dom": "19.1.0",
"react-native": "0.81.4",
"react": "19.2.0",
"react-dom": "19.2.0",
"react-native": "0.83.0-rc.3",
"react-native-gesture-handler": "~2.28.0",
"react-native-pager-view": "6.9.1",
"react-native-reanimated": "~4.1.1",
"react-native-reanimated": "4.1.3",
"react-native-safe-area-context": "~5.6.0",
"react-native-screens": "~4.16.0",
"react-native-screens": "4.19.0-nightly-20251203-1746a584e",
"react-native-view-shot": "~4.0.3",
"react-native-web": "^0.21.0",
"react-native-worklets": "~0.5.0",
"react-native-worklets": "0.6.1",
"snack-babel-standalone": "file:../packages/snack-babel-standalone",
"snack-content": "file:../packages/snack-content",
"snack-require-context": "file:../packages/snack-require-context",
Expand All @@ -68,15 +70,15 @@
"@types/diff": "^5.0.0",
"@types/jest": "^29.5.14",
"@types/pubnub": "^7.2.0",
"@types/react": "~19.1.10",
"@types/react-dom": "~19.1.7",
"babel-preset-expo": "~54.0.0",
"@types/react": "~19.2.7",
"@types/react-dom": "~19.2.3",
"babel-preset-expo": "54.1.0-canary-20251205-a1dedc6",
"eslint": "^8.56.0",
"eslint-config-universe": "^15.0.3",
"expo-atlas": "^0.4.0",
"getenv": "^1.0.0",
"jest": "^29.2.1",
"jest-expo": "~54.0.12",
"jest-expo": "55.0.0-canary-20251205-a1dedc6",
"patch-package": "^6.4.7",
"postinstall-postinstall": "^2.1.0",
"prettier": "^3.2.4",
Expand All @@ -86,8 +88,8 @@
"update-browserslist-db": "^1.1.1"
},
"resolutions": {
"@react-navigation/drawer": "^7.5.0",
"@react-navigation/native": "^7.1.8"
"@react-navigation/drawer": "7.7.2",
"@react-navigation/native": "7.1.21"
},
"eslintConfig": {
"extends": "universe/native",
Expand Down
Loading
Loading