From 13b805a992ae7c5e2057bf4c2349c574f5239ffc Mon Sep 17 00:00:00 2001 From: Pekka Enberg Date: Mon, 18 Aug 2025 14:22:00 +0300 Subject: [PATCH 1/2] Move `@tursodatabase/sync` code to `sync/javascript` --- .github/workflows/napi-sync.yml | 22 +++++++++---------- Cargo.toml | 2 +- scripts/update-version.py | 2 +- .../javascript}/.github/renovate.json | 0 .../javascript}/.gitignore | 0 .../javascript}/.yarn/releases/yarn-4.9.2.cjs | 0 .../javascript}/.yarnrc.yml | 0 .../javascript}/Cargo.toml | 0 .../javascript}/README.md | 0 .../javascript}/browser.js | 0 .../javascript}/build.rs | 0 .../javascript}/examples/cloud/example.js | 0 .../examples/cloud/package-lock.json | 0 .../javascript}/examples/cloud/package.json | 0 .../javascript}/index.d.ts | 0 .../javascript}/index.js | 0 .../javascript}/package.json | 0 .../javascript}/src/generator.rs | 0 .../javascript}/src/js_protocol_io.rs | 0 .../javascript}/src/lib.rs | 0 .../javascript}/sync_engine.ts | 0 .../javascript}/tsconfig.json | 0 .../javascript}/turso-sync-js.wasi-browser.js | 0 .../javascript}/turso-sync-js.wasi.cjs | 0 .../javascript}/wasi-worker-browser.mjs | 0 .../javascript}/wasi-worker.mjs | 0 .../javascript}/yarn.lock | 0 27 files changed, 13 insertions(+), 13 deletions(-) rename {packages/turso-sync-js => sync/javascript}/.github/renovate.json (100%) rename {packages/turso-sync-js => sync/javascript}/.gitignore (100%) rename {packages/turso-sync-js => sync/javascript}/.yarn/releases/yarn-4.9.2.cjs (100%) rename {packages/turso-sync-js => sync/javascript}/.yarnrc.yml (100%) rename {packages/turso-sync-js => sync/javascript}/Cargo.toml (100%) rename {packages/turso-sync-js => sync/javascript}/README.md (100%) rename {packages/turso-sync-js => sync/javascript}/browser.js (100%) rename {packages/turso-sync-js => sync/javascript}/build.rs (100%) rename {packages/turso-sync-js => sync/javascript}/examples/cloud/example.js (100%) rename {packages/turso-sync-js => sync/javascript}/examples/cloud/package-lock.json (100%) rename {packages/turso-sync-js => sync/javascript}/examples/cloud/package.json (100%) rename {packages/turso-sync-js => sync/javascript}/index.d.ts (100%) rename {packages/turso-sync-js => sync/javascript}/index.js (100%) rename {packages/turso-sync-js => sync/javascript}/package.json (100%) rename {packages/turso-sync-js => sync/javascript}/src/generator.rs (100%) rename {packages/turso-sync-js => sync/javascript}/src/js_protocol_io.rs (100%) rename {packages/turso-sync-js => sync/javascript}/src/lib.rs (100%) rename {packages/turso-sync-js => sync/javascript}/sync_engine.ts (100%) rename {packages/turso-sync-js => sync/javascript}/tsconfig.json (100%) rename {packages/turso-sync-js => sync/javascript}/turso-sync-js.wasi-browser.js (100%) rename {packages/turso-sync-js => sync/javascript}/turso-sync-js.wasi.cjs (100%) rename {packages/turso-sync-js => sync/javascript}/wasi-worker-browser.mjs (100%) rename {packages/turso-sync-js => sync/javascript}/wasi-worker.mjs (100%) rename {packages/turso-sync-js => sync/javascript}/yarn.lock (100%) diff --git a/.github/workflows/napi-sync.yml b/.github/workflows/napi-sync.yml index e71a3c5cb..8572f131c 100644 --- a/.github/workflows/napi-sync.yml +++ b/.github/workflows/napi-sync.yml @@ -17,7 +17,7 @@ env: defaults: run: - working-directory: packages/turso-sync-js + working-directory: sync/javascript jobs: build: @@ -99,7 +99,7 @@ jobs: if: ${{ matrix.settings.docker }} with: image: ${{ matrix.settings.docker }} - options: "--user 0:0 -v ${{ github.workspace }}/.cargo-cache/git/db:/usr/local/cargo/git/db -v ${{ github.workspace }}/.cargo/registry/cache:/usr/local/cargo/registry/cache -v ${{ github.workspace }}/.cargo/registry/index:/usr/local/cargo/registry/index -v ${{ github.workspace }}:/build -w /build/packages/turso-sync-js" + options: "--user 0:0 -v ${{ github.workspace }}/.cargo-cache/git/db:/usr/local/cargo/git/db -v ${{ github.workspace }}/.cargo/registry/cache:/usr/local/cargo/registry/cache -v ${{ github.workspace }}/.cargo/registry/index:/usr/local/cargo/registry/index -v ${{ github.workspace }}:/build -w /build/sync/javascript" run: ${{ matrix.settings.build }} - name: Build run: ${{ matrix.settings.build }} @@ -110,8 +110,8 @@ jobs: with: name: turso-sync-js-${{ matrix.settings.target }} path: | - packages/turso-sync-js/${{ env.APP_NAME }}.*.node - packages/turso-sync-js/${{ env.APP_NAME }}.*.wasm + sync/javascript/${{ env.APP_NAME }}.*.node + sync/javascript/${{ env.APP_NAME }}.*.wasm if-no-files-found: error test-macOS-windows-binding: name: Test turso-sync-js on ${{ matrix.settings.target }} - node@${{ matrix.node }} @@ -139,7 +139,7 @@ jobs: uses: actions/download-artifact@v4 with: name: turso-sync-js-${{ matrix.settings.target }} - path: packages/turso-sync-js + path: sync/javascript - name: List packages run: ls -R . shell: bash @@ -167,7 +167,7 @@ jobs: uses: actions/download-artifact@v4 with: name: turso-sync-js-x86_64-unknown-linux-gnu - path: packages/turso-sync-js + path: sync/javascript - name: List packages run: ls -R . shell: bash @@ -190,12 +190,12 @@ jobs: uses: actions/download-artifact@v4 with: name: turso-sync-js-x86_64-apple-darwin - path: packages/turso-sync-js + path: sync/javascript - name: Download macOS arm64 artifact uses: actions/download-artifact@v4 with: name: turso-sync-js-aarch64-apple-darwin - path: packages/turso-sync-js + path: sync/javascript - name: List packages run: ls -R . shell: bash @@ -206,8 +206,8 @@ jobs: with: name: turso-sync-js-universal-apple-darwin path: | - packages/turso-sync-js/${{ env.APP_NAME }}.*.node - packages/turso-sync-js${{ env.APP_NAME }}.*.wasm + sync/javascript/${{ env.APP_NAME }}.*.node + sync/javascript${{ env.APP_NAME }}.*.wasm if-no-files-found: error publish: name: Publish @@ -233,7 +233,7 @@ jobs: - name: Download all artifacts uses: actions/download-artifact@v4 with: - path: packages/turso-sync-js/artifacts + path: sync/javascript/artifacts - name: Move artifacts run: yarn artifacts - name: List packages diff --git a/Cargo.toml b/Cargo.toml index 8abc4caaa..6e900696a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -28,7 +28,7 @@ members = [ "vendored/sqlite3-parser/sqlparser_bench", "parser", "packages/turso-sync-engine", - "packages/turso-sync-js", + "sync/javascript", ] exclude = ["perf/latency/limbo"] diff --git a/scripts/update-version.py b/scripts/update-version.py index e882c3e8c..b0c778aee 100755 --- a/scripts/update-version.py +++ b/scripts/update-version.py @@ -21,7 +21,7 @@ NPM_PACKAGES = [ "bindings/javascript/npm/linux-x64-gnu", "bindings/javascript/npm/win32-x64-msvc", "bindings/javascript/npm/wasm32-wasip1-threads", - "packages/turso-sync-js", + "sync/javascript", ] diff --git a/packages/turso-sync-js/.github/renovate.json b/sync/javascript/.github/renovate.json similarity index 100% rename from packages/turso-sync-js/.github/renovate.json rename to sync/javascript/.github/renovate.json diff --git a/packages/turso-sync-js/.gitignore b/sync/javascript/.gitignore similarity index 100% rename from packages/turso-sync-js/.gitignore rename to sync/javascript/.gitignore diff --git a/packages/turso-sync-js/.yarn/releases/yarn-4.9.2.cjs b/sync/javascript/.yarn/releases/yarn-4.9.2.cjs similarity index 100% rename from packages/turso-sync-js/.yarn/releases/yarn-4.9.2.cjs rename to sync/javascript/.yarn/releases/yarn-4.9.2.cjs diff --git a/packages/turso-sync-js/.yarnrc.yml b/sync/javascript/.yarnrc.yml similarity index 100% rename from packages/turso-sync-js/.yarnrc.yml rename to sync/javascript/.yarnrc.yml diff --git a/packages/turso-sync-js/Cargo.toml b/sync/javascript/Cargo.toml similarity index 100% rename from packages/turso-sync-js/Cargo.toml rename to sync/javascript/Cargo.toml diff --git a/packages/turso-sync-js/README.md b/sync/javascript/README.md similarity index 100% rename from packages/turso-sync-js/README.md rename to sync/javascript/README.md diff --git a/packages/turso-sync-js/browser.js b/sync/javascript/browser.js similarity index 100% rename from packages/turso-sync-js/browser.js rename to sync/javascript/browser.js diff --git a/packages/turso-sync-js/build.rs b/sync/javascript/build.rs similarity index 100% rename from packages/turso-sync-js/build.rs rename to sync/javascript/build.rs diff --git a/packages/turso-sync-js/examples/cloud/example.js b/sync/javascript/examples/cloud/example.js similarity index 100% rename from packages/turso-sync-js/examples/cloud/example.js rename to sync/javascript/examples/cloud/example.js diff --git a/packages/turso-sync-js/examples/cloud/package-lock.json b/sync/javascript/examples/cloud/package-lock.json similarity index 100% rename from packages/turso-sync-js/examples/cloud/package-lock.json rename to sync/javascript/examples/cloud/package-lock.json diff --git a/packages/turso-sync-js/examples/cloud/package.json b/sync/javascript/examples/cloud/package.json similarity index 100% rename from packages/turso-sync-js/examples/cloud/package.json rename to sync/javascript/examples/cloud/package.json diff --git a/packages/turso-sync-js/index.d.ts b/sync/javascript/index.d.ts similarity index 100% rename from packages/turso-sync-js/index.d.ts rename to sync/javascript/index.d.ts diff --git a/packages/turso-sync-js/index.js b/sync/javascript/index.js similarity index 100% rename from packages/turso-sync-js/index.js rename to sync/javascript/index.js diff --git a/packages/turso-sync-js/package.json b/sync/javascript/package.json similarity index 100% rename from packages/turso-sync-js/package.json rename to sync/javascript/package.json diff --git a/packages/turso-sync-js/src/generator.rs b/sync/javascript/src/generator.rs similarity index 100% rename from packages/turso-sync-js/src/generator.rs rename to sync/javascript/src/generator.rs diff --git a/packages/turso-sync-js/src/js_protocol_io.rs b/sync/javascript/src/js_protocol_io.rs similarity index 100% rename from packages/turso-sync-js/src/js_protocol_io.rs rename to sync/javascript/src/js_protocol_io.rs diff --git a/packages/turso-sync-js/src/lib.rs b/sync/javascript/src/lib.rs similarity index 100% rename from packages/turso-sync-js/src/lib.rs rename to sync/javascript/src/lib.rs diff --git a/packages/turso-sync-js/sync_engine.ts b/sync/javascript/sync_engine.ts similarity index 100% rename from packages/turso-sync-js/sync_engine.ts rename to sync/javascript/sync_engine.ts diff --git a/packages/turso-sync-js/tsconfig.json b/sync/javascript/tsconfig.json similarity index 100% rename from packages/turso-sync-js/tsconfig.json rename to sync/javascript/tsconfig.json diff --git a/packages/turso-sync-js/turso-sync-js.wasi-browser.js b/sync/javascript/turso-sync-js.wasi-browser.js similarity index 100% rename from packages/turso-sync-js/turso-sync-js.wasi-browser.js rename to sync/javascript/turso-sync-js.wasi-browser.js diff --git a/packages/turso-sync-js/turso-sync-js.wasi.cjs b/sync/javascript/turso-sync-js.wasi.cjs similarity index 100% rename from packages/turso-sync-js/turso-sync-js.wasi.cjs rename to sync/javascript/turso-sync-js.wasi.cjs diff --git a/packages/turso-sync-js/wasi-worker-browser.mjs b/sync/javascript/wasi-worker-browser.mjs similarity index 100% rename from packages/turso-sync-js/wasi-worker-browser.mjs rename to sync/javascript/wasi-worker-browser.mjs diff --git a/packages/turso-sync-js/wasi-worker.mjs b/sync/javascript/wasi-worker.mjs similarity index 100% rename from packages/turso-sync-js/wasi-worker.mjs rename to sync/javascript/wasi-worker.mjs diff --git a/packages/turso-sync-js/yarn.lock b/sync/javascript/yarn.lock similarity index 100% rename from packages/turso-sync-js/yarn.lock rename to sync/javascript/yarn.lock From 69e8f7fa313268c801293360337cb2a43037547f Mon Sep 17 00:00:00 2001 From: Pekka Enberg Date: Mon, 18 Aug 2025 14:23:50 +0300 Subject: [PATCH 2/2] Move sync engine to `sync/engine` --- Cargo.toml | 4 ++-- {packages/turso-sync-engine => sync/engine}/.gitignore | 0 {packages/turso-sync-engine => sync/engine}/Cargo.toml | 0 .../engine}/src/database_replay_generator.rs | 0 .../engine}/src/database_sync_engine.rs | 0 .../engine}/src/database_sync_operations.rs | 0 .../turso-sync-engine => sync/engine}/src/database_tape.rs | 0 {packages/turso-sync-engine => sync/engine}/src/errors.rs | 0 .../turso-sync-engine => sync/engine}/src/io_operations.rs | 0 {packages/turso-sync-engine => sync/engine}/src/lib.rs | 0 .../turso-sync-engine => sync/engine}/src/protocol_io.rs | 0 .../turso-sync-engine => sync/engine}/src/server_proto.rs | 0 {packages/turso-sync-engine => sync/engine}/src/types.rs | 0 .../turso-sync-engine => sync/engine}/src/wal_session.rs | 0 14 files changed, 2 insertions(+), 2 deletions(-) rename {packages/turso-sync-engine => sync/engine}/.gitignore (100%) rename {packages/turso-sync-engine => sync/engine}/Cargo.toml (100%) rename {packages/turso-sync-engine => sync/engine}/src/database_replay_generator.rs (100%) rename {packages/turso-sync-engine => sync/engine}/src/database_sync_engine.rs (100%) rename {packages/turso-sync-engine => sync/engine}/src/database_sync_operations.rs (100%) rename {packages/turso-sync-engine => sync/engine}/src/database_tape.rs (100%) rename {packages/turso-sync-engine => sync/engine}/src/errors.rs (100%) rename {packages/turso-sync-engine => sync/engine}/src/io_operations.rs (100%) rename {packages/turso-sync-engine => sync/engine}/src/lib.rs (100%) rename {packages/turso-sync-engine => sync/engine}/src/protocol_io.rs (100%) rename {packages/turso-sync-engine => sync/engine}/src/server_proto.rs (100%) rename {packages/turso-sync-engine => sync/engine}/src/types.rs (100%) rename {packages/turso-sync-engine => sync/engine}/src/wal_session.rs (100%) diff --git a/Cargo.toml b/Cargo.toml index 6e900696a..208c42a3d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -27,7 +27,7 @@ members = [ "tests", "vendored/sqlite3-parser/sqlparser_bench", "parser", - "packages/turso-sync-engine", + "sync/engine", "sync/javascript", ] exclude = ["perf/latency/limbo"] @@ -44,7 +44,7 @@ turso = { path = "bindings/rust", version = "0.1.4-pre.9" } turso_node = { path = "bindings/javascript", version = "0.1.4-pre.9" } limbo_completion = { path = "extensions/completion", version = "0.1.4-pre.9" } turso_core = { path = "core", version = "0.1.4-pre.9" } -turso_sync_engine = { path = "packages/turso-sync-engine", version = "0.1.4-pre.9" } +turso_sync_engine = { path = "sync/engine", version = "0.1.4-pre.9" } limbo_crypto = { path = "extensions/crypto", version = "0.1.4-pre.9" } limbo_csv = { path = "extensions/csv", version = "0.1.4-pre.9" } turso_ext = { path = "extensions/core", version = "0.1.4-pre.9" } diff --git a/packages/turso-sync-engine/.gitignore b/sync/engine/.gitignore similarity index 100% rename from packages/turso-sync-engine/.gitignore rename to sync/engine/.gitignore diff --git a/packages/turso-sync-engine/Cargo.toml b/sync/engine/Cargo.toml similarity index 100% rename from packages/turso-sync-engine/Cargo.toml rename to sync/engine/Cargo.toml diff --git a/packages/turso-sync-engine/src/database_replay_generator.rs b/sync/engine/src/database_replay_generator.rs similarity index 100% rename from packages/turso-sync-engine/src/database_replay_generator.rs rename to sync/engine/src/database_replay_generator.rs diff --git a/packages/turso-sync-engine/src/database_sync_engine.rs b/sync/engine/src/database_sync_engine.rs similarity index 100% rename from packages/turso-sync-engine/src/database_sync_engine.rs rename to sync/engine/src/database_sync_engine.rs diff --git a/packages/turso-sync-engine/src/database_sync_operations.rs b/sync/engine/src/database_sync_operations.rs similarity index 100% rename from packages/turso-sync-engine/src/database_sync_operations.rs rename to sync/engine/src/database_sync_operations.rs diff --git a/packages/turso-sync-engine/src/database_tape.rs b/sync/engine/src/database_tape.rs similarity index 100% rename from packages/turso-sync-engine/src/database_tape.rs rename to sync/engine/src/database_tape.rs diff --git a/packages/turso-sync-engine/src/errors.rs b/sync/engine/src/errors.rs similarity index 100% rename from packages/turso-sync-engine/src/errors.rs rename to sync/engine/src/errors.rs diff --git a/packages/turso-sync-engine/src/io_operations.rs b/sync/engine/src/io_operations.rs similarity index 100% rename from packages/turso-sync-engine/src/io_operations.rs rename to sync/engine/src/io_operations.rs diff --git a/packages/turso-sync-engine/src/lib.rs b/sync/engine/src/lib.rs similarity index 100% rename from packages/turso-sync-engine/src/lib.rs rename to sync/engine/src/lib.rs diff --git a/packages/turso-sync-engine/src/protocol_io.rs b/sync/engine/src/protocol_io.rs similarity index 100% rename from packages/turso-sync-engine/src/protocol_io.rs rename to sync/engine/src/protocol_io.rs diff --git a/packages/turso-sync-engine/src/server_proto.rs b/sync/engine/src/server_proto.rs similarity index 100% rename from packages/turso-sync-engine/src/server_proto.rs rename to sync/engine/src/server_proto.rs diff --git a/packages/turso-sync-engine/src/types.rs b/sync/engine/src/types.rs similarity index 100% rename from packages/turso-sync-engine/src/types.rs rename to sync/engine/src/types.rs diff --git a/packages/turso-sync-engine/src/wal_session.rs b/sync/engine/src/wal_session.rs similarity index 100% rename from packages/turso-sync-engine/src/wal_session.rs rename to sync/engine/src/wal_session.rs