Commit Graph
112 Commits
Author SHA1 Message Date
Brent Vatne 54b19f421b [experiment] Add NativeEditor 2026-01-28 11:33:25 -08:00
Cedric van Putten 052e06be43 refactor(runtime): upgrade to vendored worklets plugin to [email protected] 2026-01-28 17:45:03 +01:00
Cedric van Putten d9907118ec refactor(runtime): upgrade to [email protected] 2026-01-28 17:45:03 +01:00
Cedric van Putten 28d143c148 fix(runtime): use correct vendored worklets plugin import substitute (#664) 2026-01-29 00:36:40 +08:00
Cedric van Putten 257ee8a351 refactor: switch to new Snack Runtime web host (#663)
* refactor: switch to new Snack Runtime web host

* chore: move staging test URLs to production urls

* chore: drop `SNACK_WEBPLAYER_CDN` from code

* chore: migrate Snack Runtime deployment script
2026-01-28 17:12:48 +01:00
Cedric van Putten a694b8fafd refactor: upgrade Snack to latest SDK 54 (#662)
* refactor: upgrade Snack with Claude

* refactor: upgrade Snack Runtime package with React Native

* chore(runtime): regenerate lockfile

* chore(website): revert snapshot changes

* chore(snack-runtime): regenerate lockfile
2026-01-27 14:49:06 +01:00
Kudo Chien 8c38a47170 chore: remove pubnub (#660)
* chore: remove pubnub

* fix lint errors

* fix ci
2026-01-27 20:58:24 +08:00
Cedric van Putten 7f676fda7a fix(runtime): deduplicate React Navigation for Expo Router (#650) 2025-11-21 21:36:45 +08:00
Cedric van Putten ff42aef45b refactor(runtime): upgrade to latest Expo SDK 54 (#645)
* refactor(runtime): upgrade to latest Expo SDK 54

* refactor(runtime): upgrade the vendored worklets babel plugin

* chore(runtime): bump jest-expo to avoid `expo-modules-core` mocking error
2025-09-26 11:55:50 +02:00
Cedric van Putten b81f186d0f refactor: upgrade to Expo SDK 54 stable (#642)
* refactor(runtime): upgrade to Expo SDK 54 beta

* refactor(runtime): drop `babel.config.js` to use Expo default

* refactor(runtime): add `react-native-worklets` for Reanimated 4

* refactor(runtime): replace vendored reanimated plugin with worklets plugin

* refactor(runtime): update file system caching to new `expo-file-system` API

* refactor(snack-content): upgrade to Expo SDK 54 beta

* refactor(snack-sdk): upgrade to Expo SDK 54 beta

* refactor(website): upgrade to Expo SDK 54 beta

* refactor(website): add new Appetize builds for Expo SDK 54

* refactor(runtime): use fixed Expo SDK beta version to avoid semver weirdness

* refactor(snack-runtime): upgrade to Expo SDK 54 beta

* refactor(snack-runtime): re-apply the same fixes from runtime

* chore: bump all package versions to next published versions for Expo SDK 54

* chore: update lockfiles

* fix(snackager): prefer the `react-native-worklets/plugin` but fallback to `react-native-reanimated/plugin`

* fix: make Appetize button text colors white

* fix(runtime): replace `expo-file-system` usage with `ModuleCache` to support web

* fix(website): drop `SafeAreaView` from default template

* fix(website): import missing `View` component

* refactor(runtime): upgrade to latest Expo SDK 54 beta

* refactor(runtime): upgrade to latest Expo SDK 54 stable

* refactor(snack-content): upgrade to Expo SDK 54 stable

* refactor(snack-sdk): upgrade to Expo SDK 54 stable

* test(snack-sdk): update snapshots
2025-09-10 21:34:01 +02:00
Cedric van Putten 5fb6239cb9 chore(runtime): upgrade to Expo SDK 53 latest (#640) 2025-08-25 09:40:56 +02:00
Cedric van Putten 0798bc55f9 chore(runtime): add new codecademy domain as allowed origin (#637) 2025-08-08 09:52:54 +02:00
Cedric van Putten 4a5bad2e1e refactor: upgrade to Expo SDK 53 (#631)
* refactor(runtime): upgrade to Expo SDK 53

* chore(runtime): update `tsconfig.json` to latest from template

* refactor(runtime): explicitly mark `error` as `any` in `try catch`

* fix(runtime): use proper `ref` function for Error boundary in root

* refactor(snack-content): upgrade to Expo SDK 53

* refactor(snack-sdk): upgrade to Expo SDK 53

* feature(website): add Expo SDK 53 Appetize builds

* chore(ci): upgrade Node to oldest LTS

* fix(website): add Expo SDK 53 to input selector

* refactor(snack-runtime): upgrade to Expo SDK 53

* fix(website): remove unused puppeteer import

* test(snackager): update snapshot for `draftbit-ui` tests

* fix(runtime): use proper `primaryColor` in `app.json`
2025-05-07 12:46:43 +02:00
Cedric van Putten 32cb15d31a refactor: upgrade to Expo SDK 52.0.14 (#620)
* refactor(runtime): upgrade to Expo SDK `52.0.14`

* refactor: upgrade `snack-content` and `snack-sdk` to Expo SDK `52.0.14`

* chore: publish new `snack-content` and `snack-sdk` packages

* chore: ignore scripts in dockerfile before `turbo.json` is available

* docs: update contributing guide with new bootstrap command
2024-12-04 14:23:18 +01:00
Cedric van Putten 3a8f6de35c feature(runtime): allow opening Snacks in read-only mode from Expo Go (#619)
* feature(runtime): add loading Snacks in read-only mode using the API directly

* refactor: use `.env.local` as gitignored envfile to have the basic env config set by default
2024-12-04 12:56:56 +01:00
Cedric van Putten 29ca4125a3 refactor: upgrade to Expo SDK 52 (#614)
* fix(runtime): workaround browserslist db invariant issue when installing

* refactor(runtime): upgrade to Expo SDK `52.0.0-preview.7`

* refactor(sdk): upgrade to Expo SDK `52.0.0-preview.7`

* refactor(website): upgrade to Expo SDK `52.0.0-preview.7`

* chore(snackager): update failing snapshot

* refactor(runtime): upgrade to Expo SDK `52.0.0-preview.12`

* fix(runtime): workaround `snack-content` causing Hermes syntax crashes

* fix(runtime): workaround `expo-updates` crashing on web due to missing `.addListener` method

* fix(runtime): use new `@react-native/assets-registry/registry` for assets

* fix(runtime): swap out `expo-random` for `expo-crypto`

* fix(runtime): inject `__DEV__ = false` when evaluating code only

* fix(runtime): swap out `expo-barcode-scanner` for `expo-camera`

* refactor: upgrade to Expo SDK 52 preview 18

* refactor(runtime): upgrade to Expo SDK `52.0.0-preview.23`

* refactor(snack-sdk): upgrade to Expo SDK `52.0.0-preview.23`

* refactor: upgrade to Expo SDK 52 stable

* refactor: bump `snack-content` and `snack-sdk` by minor version

* refactor: upgrade vendored reanimated plugin and snack babel standalone

* fix(runtime): move off preview versions

* chore(runtime: realign jest types

* chore(runtime): update eslint config universe
2024-11-11 14:39:30 +01:00
Cedric van Putten 30fb80f009 chore: upgrade runtime and packages to latest SDK 51 (#608)
* chore(runtime): upgrade to latest Expo SDK 51

* chore(runtime): upgrade the vendored reanimated plugin to `3.10.1`

* chore: upgrade `snack-content` and `snack-sdk` for latest 51

* chore(snack-sdk): update test and fixtures

* chore: upgrade `snack-content` and `snack-sdk` versions for release

* chore: sync all package versions

* chore(snack-runtime): bump to Expo sDK 51

* chore(runtime-shell): bump to Expo sDK 51

* chore(runtime): eslint to latest
2024-09-20 17:57:07 +02:00
Cedric van Putten 6b9939362f refactor: upgrade to latest [email protected] (#595)
* refactor(runtime): upgrade to Expo SDK `51.0.20`

* refactor(sdk): upgrade to Expo SDK `51.0.20`

* chore(sdk): bump minor versions

* chore(sdk): update test for `50.0.20`

* chore(runtime): update lockfile

* chore(snackager): bump react navigation to latest rc
2024-08-01 14:31:13 +02:00
Cedric van Putten fe414015a9 fix: add additional externals for lottie-react-native (#597)
* test(snackager): add `[email protected]` test

* fix(runtime): add missing alias for lottie

* fix(snackager): add missing external for lottie

* chore(snackager): update failing snapshots
2024-08-01 14:20:56 +02:00
Cedric van Putten 4170f1c37d refactor: upgrade to latest Expo SDK 51 (#586)
* chore(runtime): upgrade to latest Expo SDK 51

* chore(snack-sdk): update bundled native modules fixture
2024-06-01 12:40:31 +02:00
Cedric van Putten f8d48d7e0a chore(runtime): add new codecademy domain as allowed origin (#584)
* chore(runtime): add new codecademy domain as allowed origin

* chore(snack-runtime): add new codecademy domain as allowed origin
2024-05-31 19:17:51 +02:00
Cedric van Putten d73e748670 refactor: upgrade to Expo SDK 51 (#577)
* refactor(runtime): upgrade to Expo SDK `51.0.0-preview.4`

* refactor(runtime): drop root `expo` prefix in `app.json`

* refactor(runtime): update `react-native` patch

* refactor(snack-content): add Expo SDK 51

* refactor(snack-sdk): add Expo SDK 51

* refactor(website): configure new Appetize apps

* refactor(website): configure new Expo SDK

* fix(snack-content): use the proper `expo` version for 51

* refactor(runtime): use `experiments.baseUrl` for web exports instead of workaround

* refactor(runtime): use `appVersion` with major Expo SDK version instead of `sdkVersion`

* feature(snack-content): add support for `appVersion` urls starting from SDK 51

* chore(website): enable SDK 51 in dropdown

* refactor: revert `appVersion` changes to rely on `sdkVersion` for now

* refactor(runtime): upgrade to Expo SDK `51.0.0`

* refactor(snack-content): upgrade to Expo SDK `51.0.0`

* refactor(snack-sdk): upgrade to Expo SDK `51.0.0`

* test(snack-sdk): update snapshot test
2024-05-07 15:15:26 +02:00
Cedric van Putten 4dede9b35b fix: vendor expo-modules-core from Snack Runtime (#578) 2024-04-26 20:17:14 +02:00
Cedric van Putten 35bf417061 refactor(snack-runtime): upgrade custom runtime to Expo SDK 50 (#576)
* refactor(snack-runtime): upgrade to Expo SDK `50.0.17`

* refactor(runtime-shell): upgrade to Expo SDK `50.0.17`

* refactor(runtime-shell): drop `useClassicUpdates: true` from `app.json`

* refactor(runtime-shell): drop `app.config.js` in favor of `.env` files

* refactor(snack-runtime): use new URL handling from `snack-content`

* refactor(snack-runtime): sync aliases and babel config from `runtime`

* refactor(runtime-shell): update to latest `snack-runtime`

* chore(snack-runtime): bump version for release

* docs: fix typo in comment

* refactor(snack-runtime): drop legacy test
2024-04-25 16:48:56 +02:00
Cedric van Putten ba049d8613 refactor: upgrade to Expo SDK 50.0.17 (#575)
* refactor(runtime): upgrade to Expo SDK `50.0.17`

* refactor(snack-content): upgrade to latest Expo SDK `50.0.17`

* refactor(snack-sdk): upgrade to latest Expo SDK `50.0.17`

* test(snackager): update snapshot for `react-native-webview`
2024-04-25 15:26:08 +02:00
Cedric van Putten 74df555ad8 fix: add codegen native component as external (#559)
* fix: add codegen native component as external

* test(snackager): update snapshot for `react-native-webview`
2024-02-21 15:04:46 +01:00
Cedric van Putten f496d87910 refactor: upgrade to latest Expo SDK 50 (#556)
* refactor(runtime): upgrade to Expo SDK 50

* refactor(snack-content): upgrade to latest Expo SDK 50

* refactor(snack-sdk): upgrade to latest Expo SDK 50

* fix(snack-sdk): add missing snackager mock

* test(snackager): update to SDK 50
2024-02-12 18:48:13 +01:00
Cedric van Putten eb6dbee543 fix(snackager): resolve reanimated __reanimatedWorkletInit is not a function (#554)
* chore(snackager): bump react native babel preset and reanmiated babel plugin

* chore(snackager): bust cache for all reanimated libraries

* chore: bump package lockfile

* fix(snackager): add react-native external for `@shopify/react-native-skia`

* fix(snackager): force-bump babel dependencies to latest versions

* fix(snackager): bump jest to latest

* chore(snackager): manually update bundling snapshot to latest

* chore(snackager): update the remaining bundling snapshots

* chore(snackager): update cache busing for final staging test

* fix(snackager): add missing `@babel/runtime`

* chore(snackager): update bundle snapshot for [email protected]

* fix(snackager): add missing babel plugin for reanimated

* fix(runtime): add missing react-native external

* fix(runtime): force-disable `fs` operations for sourcemaps

* chore(runtime): add patch note about disabling sourcemaps in reanimated plugin
2024-02-12 18:09:42 +01:00
Cedric van Putten 7ee565916c fix(runtime): force react-native-screens outside snackager 2024-02-07 21:48:19 +01:00
Cedric van Putten 8abe00764b refactor(babel-standalone): upgrade babel and use new react native preset (#545)
* refactor(babel-standalone): upgrade babel packages and swap to new babel preset

* fix(babel-standalone): add missing babel plugin for webpack build

* fix(runtime): use new babel preset

* refactor: simplify babel preset name

* chore(babel-standalone): bump major version
2024-01-22 16:55:09 +01:00
Cedric van Putten 4ab2dad4fc fix(runtime): use sdkVersion policy for updates 2024-01-20 00:59:48 +01:00
Cedric van Putten 97fe258cfa fix(website): pass runtimeEndpoint to new snack session 2024-01-20 00:41:55 +01:00
Cedric van Putten 721e8c30db fix(website): pass runtimeEndpoint to new snack session 2024-01-20 00:38:29 +01:00
Cedric van Putten bcae577f07 fix(runtime): use production channel name on staging 2024-01-20 00:21:48 +01:00
Cedric van Putten ad80109666 refactor: update snack urls to EAS Update with revised tooling (#543)
* refactor(snack-content): simplify runtime url handling with just EAS Update

* refactor!(snack-sdk): update experience URL to EAS Update

* refactor: always return url to minimize affected areas

* refactor(website): implement `SNACK_RUNTIME_ENDPOINT` for the Snack Runtime

* refactor(runtime): parse urls using new tooling
2024-01-19 23:51:16 +01:00
Cedric van Putten 0016b3b7e1 chore(runtime): update deployment workflow for eas (#542)
* chore(runtime): update deployment workflow for eas

* chore(runtime): update `package.json` deployment scripts
2024-01-19 22:21:46 +01:00
Cedric van Putten e87b1496ac fix(runtime): avoid beta issue with splash screen types 2024-01-19 22:07:21 +01:00
Cedric van Putten a5e6eb3a21 chore(runtime): upgrade vendored react-native-reanimated plugin to 3.6.1 (#541) 2024-01-19 22:01:24 +01:00
Cedric van Putten 755b85a0e4 refactor(runtime): upgrade to Expo SDK 50 (#538)
* refactor(runtime): upgrade to Expo SDK 50

* refactor(runtime): drop extraneous `export-namespace-from` babel plugin

* fix(runtime): resolve typescript errors

* refactor(runtime): update eslint and resolve linting issues

* refactor(runtime): update web deployment patches
2024-01-19 18:53:54 +01:00
Cedric van Putten bfe8a6dffe refactor(runtime): drop legacy webpack configuration 2024-01-19 18:27:24 +01:00
Cedric van Putten 91bf8baff8 chore(runtime): remove deprecated useClassicUpdates property from manifest 2024-01-19 18:26:39 +01:00
Cedric van Putten 5e2fb1cfce chore(runtime): simplify tsconfig 2024-01-19 18:26:11 +01:00
Cedric van Putten 496dab7a67 chore(runtime): simplify entry point 2024-01-19 18:25:13 +01:00
Cedric van Putten 04733e0a8b chore(runtime): use right preset for *.config.js files (#537) 2024-01-19 18:23:37 +01:00
Cedric van Putten 1bda2e6291 refactor(runtime): replace cloudEnv with EXPO_PUBLIC_SNACK_ENV (#536)
* refactor(runtime): replace `cloudEnv` with `EXPO_PUBLIC_SNACK_ENV`

* chore(runtime): add `.env.example` file

* chore(runtime): fix linting issue
2024-01-19 18:21:25 +01:00
Cedric van Putten e46845a11b feature!: move snack runtime URLs to snack-content and add EAS Update URLs (#527)
* feature(snack-content): add snack runtime url helpers in base library

* chore(snack-sdk): re-export snack runtime url helpers from `snack-content`

* feature(snack-content): add `parseSnackRuntimeUrl` helper

* feature!(snack-sdk): use `createSnackRuntimeUrl` when creating device links

* refactor(runtime): use `parseSnackUrl` instead of own url helpers

* fix(website): pass `testTransports` properly for new and old url formats

* chore: bump package lockfile

* fix(runtime): update `testTransport` tests

* chore(snack-content): resolve linting issue

* refactor(snack-content): unify the `parseEASUpdateSnackRuntimeUrl` if statements
2024-01-11 13:31:04 +01:00
dependabot[bot] 69be4ddd39 chore(deps): bump @babel/traverse from 7.14.7 to 7.23.2 in /runtime (#496)
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.14.7 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-19 19:14:34 -07:00
dependabot[bot] 2a9a739c54 chore(deps): bump postcss from 8.4.23 to 8.4.31 in /runtime (#488)
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.23 to 8.4.31.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.23...8.4.31)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-19 19:13:13 -07:00
dependabot[bot] 28d793230c chore(deps): bump word-wrap from 1.2.3 to 1.2.5 in /runtime (#487)
Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.5.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.5)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-19 19:13:05 -07:00
Cedric van Putten e92c8aeee5 refactor(runtime): clean up unused amplitude and analytics code (#492) 2023-10-11 14:57:02 +02:00