From 94110cede72bdbd8270998e41576b692ef9ca0e5 Mon Sep 17 00:00:00 2001 From: Makito Date: Sun, 16 Feb 2025 20:15:57 +0800 Subject: [PATCH 1/4] feat: fs support with drizzle and duckdb-wasm --- cspell.config.yaml | 1 + packages/drizzle-duckdb-wasm/package.json | 8 +- .../playground/src/App.vue | 235 ++++++-- .../src/driver.browser.test.ts | 223 ++++++++ .../drizzle-duckdb-wasm/src/driver.test.ts | 107 ++++ packages/drizzle-duckdb-wasm/src/driver.ts | 110 ++-- packages/drizzle-duckdb-wasm/src/dsn.test.ts | 142 +++++ packages/drizzle-duckdb-wasm/src/dsn.ts | 115 ++++ .../drizzle-duckdb-wasm/src/index.test.ts | 13 - .../drizzle-duckdb-wasm/src/test-utils.ts | 12 + packages/drizzle-duckdb-wasm/tsconfig.json | 4 +- packages/drizzle-duckdb-wasm/vitest.config.ts | 32 ++ packages/duckdb-wasm/package.json | 2 +- packages/duckdb-wasm/src/duckdb.ts | 44 ++ packages/duckdb-wasm/src/index.ts | 1 + packages/duckdb-wasm/src/storage.ts | 37 ++ pnpm-lock.yaml | 539 ++++++++++++++++-- 17 files changed, 1450 insertions(+), 175 deletions(-) create mode 100644 packages/drizzle-duckdb-wasm/src/driver.browser.test.ts create mode 100644 packages/drizzle-duckdb-wasm/src/driver.test.ts create mode 100644 packages/drizzle-duckdb-wasm/src/dsn.test.ts create mode 100644 packages/drizzle-duckdb-wasm/src/dsn.ts delete mode 100644 packages/drizzle-duckdb-wasm/src/index.test.ts create mode 100644 packages/drizzle-duckdb-wasm/src/test-utils.ts create mode 100644 packages/drizzle-duckdb-wasm/vitest.config.ts create mode 100644 packages/duckdb-wasm/src/storage.ts diff --git a/cspell.config.yaml b/cspell.config.yaml index e7a7dcd7..16d8d750 100644 --- a/cspell.config.yaml +++ b/cspell.config.yaml @@ -97,6 +97,7 @@ words: - onnxruntime - openai - openrouter + - OPFS - opusscript - pgvector - picklist diff --git a/packages/drizzle-duckdb-wasm/package.json b/packages/drizzle-duckdb-wasm/package.json index e9dd3f23..eb7bd5ac 100644 --- a/packages/drizzle-duckdb-wasm/package.json +++ b/packages/drizzle-duckdb-wasm/package.json @@ -55,7 +55,9 @@ "play:build": "vite build", "play:preview": "vite preview", "typecheck": "tsc --noEmit", - "db:generate": "drizzle-kit generate" + "db:generate": "drizzle-kit generate", + "test": "vitest", + "test:run": "vitest run" }, "peerDependencies": { "web-worker": "^1.5.0" @@ -67,7 +69,7 @@ }, "dependencies": { "@date-fns/tz": "^1.2.0", - "@duckdb/duckdb-wasm": "^1.29.0", + "@duckdb/duckdb-wasm": "1.29.1-dev68.0", "@proj-airi/duckdb-wasm": "workspace:^", "apache-arrow": "^19.0.1", "date-fns": "^4.1.0", @@ -78,8 +80,10 @@ "devDependencies": { "@unocss/reset": "^66.0.0", "@vitejs/plugin-vue": "^5.2.1", + "@vitest/browser": "^3.0.6", "@vueuse/core": "^12.7.0", "drizzle-kit": "^0.30.4", + "playwright": "^1.50.1", "superjson": "^2.2.2", "vite": "^6.1.1", "vue": "^3.5.13", diff --git a/packages/drizzle-duckdb-wasm/playground/src/App.vue b/packages/drizzle-duckdb-wasm/playground/src/App.vue index 004e6c7c..e506ac30 100644 --- a/packages/drizzle-duckdb-wasm/playground/src/App.vue +++ b/packages/drizzle-duckdb-wasm/playground/src/App.vue @@ -1,11 +1,13 @@