Commit 147ff8b
PR: Sync with Evolu upstream/common-v8 07-02-2026 (#28)
* Add build/test docs and architecture overview
(cherry picked from commit 4a67e14)
* Rename test app owners
(cherry picked from commit 82c941a)
* chore(sync): apply Biome import ordering after cherry-pick 82c941a
* Add incremental TS builds and workspace references
- Enabled composite mode in base tsconfig with incremental builds
- Added references between packages matching their dependency graph
- Changed build scripts from tsc to tsc --build
- Removed dev scripts from library packages (no longer needed)
- Simplified pnpm dev to only start relay and web servers
- Added pnpm relay for mobile development workflow
- Updated turbo.json schema URL and removed ^dev dependency
- Added .tsBuildInfo to gitignore
After pnpm build, the IDE has full cross-package types without
needing a background watcher. This reduces CPU/memory usage and
eliminates delays waiting for Turbo to rebuild on changes.
(cherry picked from commit f79f9f8)
* fix(sync): keep build green after f79f9f8 integration
* Enable ESLint cache and remove monorepo note
(cherry picked from commit 585a79a)
* Update pnpm-lock.yaml
(cherry picked from commit cadf5c0)
# Conflicts:
# pnpm-lock.yaml
* Cleaned up tsconfig files across packages
Removed allowJs (not needed since all source is TypeScript), removed
moduleResolution: "node" from base tsconfig, removed redundant
exclude: ["node_modules"] from base, fixed rootDir from "src" to
"." where needed, and added test + vitest config to include arrays
(cherry picked from commit 6cf8870)
* fix(sync): keep package build outputs stable after 6cf8870
* Fixed package.json export paths to include src directory
Updated types, exports, and files fields from dist/ to dist/src/ to
match the new rootDir: "." tsconfig layout
(cherry picked from commit bba6488)
* fix(sync): keep package export targets at dist root
* Added build dependency to turbo dev task
Added dependsOn: ["^build"] so dependent packages are built before
starting dev servers
(cherry picked from commit 9950864)
* Improved createRun JSDoc across platforms
Consistent wording pattern "Creates Run for X with Y" and expanded
descriptions for Node.js, web, and React Native createRun functions.
Removed redundant JSDoc from CreateRun interface
(cherry picked from commit 0618f54)
* Sorted imports in Task.test.ts
(cherry picked from commit 30ee124)
# Conflicts:
# packages/common/test/Task.test.ts
* Rewrote Evolu as Task-based createEvolu
Replaced class-style creation with Task-based createEvolu returning
Task<Evolu<S>, never, EvoluPlatformDeps>. Simplified Evolu interface:
made AsyncDisposable, changed appOwner from Promise to direct value,
renamed externalAppOwner config to appOwner, commented out mutations
and error store pending reimplementation. Added tests for new API
(cherry picked from commit eff36aa)
* fix(sync): add compatibility shims for task-based Evolu transition
* Simplified platform Evolu deps for web, React Native, and React Web
Simplified createEvoluDeps across platforms to pass through ReloadAppDep
directly. Commented out SharedWorker, MessageChannel, and localAuth code
pending redesign. Added createEvoluDeps to React Web with flushSync.
Updated React Native shared module and Expo entry points
(cherry picked from commit 26bc572)
* Restructured React hooks into local-first directory
Moved hooks from src/ to src/local-first/ to mirror common package
structure. Replaced EvoluProvider/useEvolu/createUseEvolu pattern with
createEvoluContext using React use() and Context. Added createRunContext
for typed Run context. Removed useEvoluError (error store redesign).
Updated index exports
(cherry picked from commit ccf4da1)
* fix(sync): bridge Run naming and apply React hook formatting
* Updated Svelte appOwnerState for synchronous appOwner
Changed appOwnerState to use evolu.appOwner directly instead of
awaiting a promise
(cherry picked from commit 83f6d3d)
# Conflicts:
# packages/svelte/src/lib/index.svelte.ts
* Removed useEvoluError from Vue and sorted exports
Deleted useEvoluError (error store being redesigned) and alphabetically
sorted exports in index.ts
(cherry picked from commit 304da2d)
* Update tsconfig.json
(cherry picked from commit 6c793b2)
* Update tsconfig.json
(cherry picked from commit 6d98bd2)
* Update index.tsx
(cherry picked from commit 1563099)
* Stub EvoluFullExample; comment out implementation
(cherry picked from commit 5b7f2f9)
* Update EvoluMinimalExample.tsx
(cherry picked from commit 84f907e)
* Shorten Console note in DI docs
Refactor the note in the dependency-injection docs to a single concise sentence. Removed the clause suggesting Console likely replaces a Logger and reflowed the text for clarity.
(cherry picked from commit cdf7f89)
* chore(web): sort React imports in minimal playground
* Update Copilot instructions and streamline guidelines
(cherry picked from commit 53c2ce9)
* Initial plan
* Fix PR review comments: context providers, exports, and examples
Co-authored-by: miccy <9729864+miccy@users.noreply.github.com>
* Remove stale biome_errors.txt and fix remaining linting issues (#30)
* feat: Add typed `insert`, `update`, and `upsert` mutation APIs, and introduce `encryptionKey` to Evolu config.
* refactor(evolu): WIP stub with interface preparation for Worker integration
- Uncommented Evolu interface methods: insert/update/upsert/resetAppOwner/reloadApp/exportDatabase
- Changed appOwner to Promise<AppOwner> for async resolution
- Added createLoadingPromises, createErrorStore helpers
- Refactored react-expo components to top-level with prop drilling
- Fixed Biome linting: import organization, unused variables
Worker integration still TODO - mutations validate but don't persist
* feat(tsconfig): add react-native.json and expo.json configs
- New packages/tsconfig/react-native.json for bare RN projects
- New packages/tsconfig/expo.json extending react-native config
- Update examples/react-expo to use our expo.json instead of expo/tsconfig.base
- Self-contained configs without erasableSyntaxOnly for better IDE compatibility
- Fix Biome import ordering in index.tsx
* chore: Delete `CODE_REVIEW_SUMMARY.md` and modify `tsconfig.json` for the React Expo example.
* chore: Update `svelte`, `motion`, and `react-native-screens` dependencies across various packages and examples.
---------
Co-authored-by: Daniel Steigerwald <daniel@steigerwald.cz>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>1 parent 93500d7 commit 147ff8b
76 files changed
Lines changed: 1458 additions & 2134 deletions
File tree
- .github
- .vscode
- apps
- relay
- web
- src/app/(docs)/docs/dependency-injection
- examples
- angular-vite-pwa
- react-electron
- react-expo
- app
- react-nextjs
- react-vite-pwa
- svelte-vite-pwa
- packages
- common
- src
- local-first
- test
- local-first
- nodejs
- src
- react-native
- src
- exports
- react-web
- src/local-first
- react
- src
- local-first
- svelte
- src/lib
- tsconfig
- vue
- web
- src
- local-first
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
47 | | - | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
48 | 54 | | |
0 commit comments