Skip to content

Commit 147ff8b

Browse files
miccysteidaCopilot
authored
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

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/copilot-instructions.md

Lines changed: 61 additions & 408 deletions
Large diffs are not rendered by default.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,4 @@ test-identicons
1919
coverage
2020
tmp
2121
__screenshots__
22+
*.tsBuildInfo

.vscode/settings.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,5 +44,11 @@
4444
"**/coverage": true,
4545
"**/out": true
4646
},
47-
"vitest.disableWorkspaceWarning": true
47+
"vitest.disableWorkspaceWarning": true,
48+
"json.schemas": [
49+
{
50+
"fileMatch": ["turbo.json"],
51+
"url": "https://turborepo.dev/schema.json"
52+
}
53+
]
4854
}

0 commit comments

Comments
 (0)