{"_id":"@ducklings/workers-ducklake","_rev":"3-b83a2eef97d888ae7304263b2f7ad491","name":"@ducklings/workers-ducklake","dist-tags":{"latest":"1.5.5","dev":"1.5.3-dev.2"},"versions":{"1.5.3-dev.1":{"name":"@ducklings/workers-ducklake","version":"1.5.3-dev.1","keywords":["duckdb","wasm","webassembly","sql","database","cloudflare-workers","serverless","asyncify","ducklake"],"author":{"name":"tobilg"},"license":"MIT","_id":"@ducklings/workers-ducklake@1.5.3-dev.1","maintainers":[{"name":"tobilg","email":"tobilg@gmail.com"}],"homepage":"https://github.com/tobilg/ducklings#readme","bugs":{"url":"https://github.com/tobilg/ducklings/issues"},"dist":{"shasum":"32da23f04d36e5eb6c85a9f17f63f67e2db9ecb9","tarball":"https://registry.npmjs.org/@ducklings/workers-ducklake/-/workers-ducklake-1.5.3-dev.1.tgz","fileCount":14,"integrity":"sha512-1x9yXg/rQT3NKCayRMFZiJ3vchlZD/Wah2gG6k8qekktB93FApp3pmxW4ZWi+D6AhfC9WOBg7ofT664ZQbZS0g==","signatures":[{"sig":"MEYCIQC18RqzBXtneOguJYU6izlLLMSpFZ/0+4SrlvNYFNxNaQIhAI4GSsQzIZ5KDjpEjURsw/ZaNyb8jBWBu5FiusWUTQlb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42902247},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./wasm":{"types":"./dist/wasm.d.ts","default":"./dist/wasm/duckdb-workers.wasm"},"./wasm/*":"./dist/wasm/*","./vite-plugin":{"types":"./dist/vite-plugin.d.ts","import":"./dist/vite-plugin.js"}},"gitHead":"5b0a6939a7fafea978361539c746f3f1465ac4ab","scripts":{"dev":"tsup --watch","docs":"typedoc","lint":"biome check src","test":"vitest run --reporter=dot","build":"tsup && pnpm postbuild","clean":"rm -rf dist node_modules","format":"biome format --write src","lint:fix":"biome check --write src","postbuild":"mkdir -p dist/wasm && cp ../../dist/duckdb-workers-ducklake.js dist/wasm/duckdb-workers.js && cp ../../dist/duckdb-workers-ducklake.wasm dist/wasm/duckdb-workers.wasm && cp src/wasm.d.ts dist/wasm.d.ts","typecheck":"tsc --noEmit","test:watch":"vitest --reporter=dot","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tobilg","email":"tobilg@gmail.com"},"repository":{"url":"git+https://github.com/tobilg/ducklings.git","type":"git","directory":"packages/ducklings-workers-ducklake"},"_npmVersion":"10.9.8","description":"DuckDB WASM for Cloudflare Workers with httpfs and DuckLake","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@uwdata/flechette":"^2.3.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typedoc":"^0.28.17","typescript":"^5.9.3","@types/node":"^25.4.0","@biomejs/biome":"^2.4.6","@vitest/coverage-v8":"^4.0.18","@cloudflare/workers-types":"^4.20260310.1"},"peerDependencies":{"vite":"^5.0.0 || ^6.0.0 || ^7.0.0"},"peerDependenciesMeta":{"vite":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workers-ducklake_1.5.3-dev.1_1780747150533_0.4807743681931964","host":"s3://npm-registry-packages-npm-production"}},"1.5.3-dev.2":{"name":"@ducklings/workers-ducklake","version":"1.5.3-dev.2","keywords":["duckdb","wasm","webassembly","sql","database","cloudflare-workers","serverless","asyncify","ducklake"],"author":{"name":"tobilg"},"license":"MIT","_id":"@ducklings/workers-ducklake@1.5.3-dev.2","maintainers":[{"name":"tobilg","email":"tobilg@gmail.com"}],"homepage":"https://github.com/tobilg/ducklings#readme","bugs":{"url":"https://github.com/tobilg/ducklings/issues"},"dist":{"shasum":"406b37448dc7041ebcd80a8f8e266764d03ae0c1","tarball":"https://registry.npmjs.org/@ducklings/workers-ducklake/-/workers-ducklake-1.5.3-dev.2.tgz","fileCount":14,"integrity":"sha512-HWJ/voCx07Cd8cDT4vVOqxzLvEzuA4do1sJbnLQfsM5wA9E2jpkNiFRdPlapn4sqQ47if/fPDVCxRGLmL7YVUQ==","signatures":[{"sig":"MEUCIHmJwU+YotkyQbtdCZpqrkf38wbMigW/+X1njYHuZlKAAiEAslGEnCiYWUiaucTNs35kBBl/Thjzv46AA4HlhOD0sjU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43021077},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./wasm":{"types":"./dist/wasm.d.ts","default":"./dist/wasm/duckdb-workers.wasm"},"./wasm/*":"./dist/wasm/*","./vite-plugin":{"types":"./dist/vite-plugin.d.ts","import":"./dist/vite-plugin.js"}},"gitHead":"a7c68f344c43616e335419654b0e4aa9ed5b866f","scripts":{"dev":"tsup --watch","docs":"typedoc","lint":"biome check src","test":"vitest run --reporter=dot","build":"tsup && pnpm postbuild","clean":"rm -rf dist node_modules","format":"biome format --write src","lint:fix":"biome check --write src","postbuild":"mkdir -p dist/wasm && cp ../../dist/duckdb-workers-ducklake.js dist/wasm/duckdb-workers.js && cp ../../dist/duckdb-workers-ducklake.wasm dist/wasm/duckdb-workers.wasm && cp src/wasm.d.ts dist/wasm.d.ts","typecheck":"tsc --noEmit","test:watch":"vitest --reporter=dot","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"tobilg","email":"tobilg@gmail.com"},"repository":{"url":"git+https://github.com/tobilg/ducklings.git","type":"git","directory":"packages/ducklings-workers-ducklake"},"_npmVersion":"10.9.8","description":"DuckDB WASM for Cloudflare Workers with httpfs, client-only Quack, and DuckLake","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@uwdata/flechette":"^2.3.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typedoc":"^0.28.17","typescript":"^5.9.3","@types/node":"^25.4.0","@biomejs/biome":"^2.4.6","@vitest/coverage-v8":"^4.0.18","@cloudflare/workers-types":"^4.20260310.1"},"peerDependencies":{"vite":"^5.0.0 || ^6.0.0 || ^7.0.0"},"peerDependenciesMeta":{"vite":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/workers-ducklake_1.5.3-dev.2_1781099471176_0.01787328227149776","host":"s3://npm-registry-packages-npm-production"}},"1.5.5":{"name":"@ducklings/workers-ducklake","version":"1.5.5","description":"DuckDB WASM for Cloudflare Workers with httpfs, client-only Quack, and DuckLake","type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./wasm":{"types":"./dist/wasm.d.ts","default":"./dist/wasm/duckdb-workers.wasm"},"./wasm/*":"./dist/wasm/*","./vite-plugin":{"types":"./dist/vite-plugin.d.ts","import":"./dist/vite-plugin.js"}},"scripts":{"build":"tsup && pnpm postbuild","postbuild":"mkdir -p dist/wasm && cp ../../dist/duckdb-workers-ducklake.js dist/wasm/duckdb-workers.js && cp ../../dist/duckdb-workers-ducklake.wasm dist/wasm/duckdb-workers.wasm && cp src/wasm.d.ts dist/wasm.d.ts","dev":"tsup --watch","test":"vitest run --reporter=dot","test:watch":"vitest --reporter=dot","test:coverage":"vitest run --coverage","lint":"biome check src","lint:fix":"biome check --write src","format":"biome format --write src","typecheck":"tsc --noEmit","docs":"typedoc","clean":"rm -rf dist node_modules"},"dependencies":{"@uwdata/flechette":"^2.3.0"},"devDependencies":{"@biomejs/biome":"^2.4.6","@cloudflare/workers-types":"^4.20260310.1","@types/node":"^25.4.0","@vitest/coverage-v8":"^4.0.18","tsup":"^8.5.1","typedoc":"^0.28.17","typescript":"^5.9.3","vitest":"^4.0.18"},"peerDependencies":{"vite":"^5.0.0 || ^6.0.0 || ^7.0.0"},"peerDependenciesMeta":{"vite":{"optional":true}},"keywords":["duckdb","wasm","webassembly","sql","database","cloudflare-workers","serverless","asyncify","ducklake"],"author":{"name":"tobilg"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/tobilg/ducklings.git","directory":"packages/ducklings-workers-ducklake"},"bugs":{"url":"https://github.com/tobilg/ducklings/issues"},"homepage":"https://github.com/tobilg/ducklings#readme","engines":{"node":">=22.0.0"},"_id":"@ducklings/workers-ducklake@1.5.5","gitHead":"3ecf106fb696896112e5f80436308e6b8be2ce09","_nodeVersion":"22.23.2","_npmVersion":"10.9.8","dist":{"integrity":"sha512-HvBAr/np5NbSj5iNVBOStQWYO1C7W5jugWWPBPWeij+LvgF0SxvhNy4VXoP34hF+gbM9g/4YbGLUhBk8Trydaw==","shasum":"32580106cc20ff4bff53eeefcd9a2314d44f721b","tarball":"https://registry.npmjs.org/@ducklings/workers-ducklake/-/workers-ducklake-1.5.5.tgz","fileCount":14,"unpackedSize":43343134,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIF8oWUc0FKGaEEbIv8wgiKcixE9yOreHM8QdAm2q0EfuAiEA+yVkxHOx9pTqxF7KJPi3sViavNCB/ZaThQ+20W3xKxY="}]},"_npmUser":{"name":"tobilg","email":"tobilg@gmail.com"},"directories":{},"maintainers":[{"name":"tobilg","email":"tobilg@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/workers-ducklake_1.5.5_1787153682505_0.5596893639525578"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-06T11:59:10.382Z","modified":"2026-08-19T15:34:43.036Z","1.5.3-dev.1":"2026-06-06T11:59:10.803Z","1.5.3-dev.2":"2026-06-10T13:51:11.444Z","1.5.5":"2026-08-19T15:34:42.846Z"},"bugs":{"url":"https://github.com/tobilg/ducklings/issues"},"author":{"name":"tobilg"},"license":"MIT","homepage":"https://github.com/tobilg/ducklings#readme","keywords":["duckdb","wasm","webassembly","sql","database","cloudflare-workers","serverless","asyncify","ducklake"],"repository":{"type":"git","url":"git+https://github.com/tobilg/ducklings.git","directory":"packages/ducklings-workers-ducklake"},"description":"DuckDB WASM for Cloudflare Workers with httpfs, client-only Quack, and DuckLake","maintainers":[{"name":"tobilg","email":"tobilg@gmail.com"}],"readme":"# @ducklings/workers-ducklake\n\nDuckDB WASM for Cloudflare Workers with `httpfs`, client-only `quack`, and `ducklake` statically bundled.\n\n> This package targets Cloudflare Workers and uses Asyncify so DuckDB can perform async `fetch()`-backed I/O from WASM. It requires a Workers paid plan because the final bundle is close to Cloudflare's compressed Worker size limit. Run `wrangler deploy --dry-run --outdir bundled` against your built Worker to verify the final gzip size.\n\n## Installation\n\n```bash\nnpm install @ducklings/workers-ducklake\n```\n\n## Usage\n\n```typescript\nimport { init, DuckDB, AccessMode } from '@ducklings/workers-ducklake';\nimport wasmModule from '@ducklings/workers-ducklake/wasm';\n\nawait init({ wasmModule });\n\nconst db = new DuckDB({\n  accessMode: AccessMode.READ_WRITE,\n  lockConfiguration: true,\n  customConfig: {\n    memory_limit: '100MB',\n    preserve_insertion_order: 'false',\n  },\n});\n\nconst conn = db.connect();\nawait conn.execute(\"ATTACH 'ducklake:metadata.ducklake' AS ducklake (DATA_PATH 's3://my-bucket/ducklake/')\");\nconst result = await conn.query('SELECT * FROM ducklake.some_table LIMIT 10');\n```\n\n## Vite Plugin\n\n```typescript\nimport { defineConfig } from 'vite';\nimport { cloudflare } from '@cloudflare/vite-plugin';\nimport { ducklingsWorkerPlugin } from '@ducklings/workers-ducklake/vite-plugin';\n\nexport default defineConfig({\n  plugins: [ducklingsWorkerPlugin(), cloudflare()],\n});\n```\n\nThe plugin resolves `@ducklings/workers-ducklake/wasm` and copies the bundled WASM into the Cloudflare Worker output directory.\n\n## Extension Set\n\n| Package | Bundled extensions |\n| --- | --- |\n| `@ducklings/workers-ducklake` | `httpfs`, client-only `quack`, `ducklake` |\n| `@ducklings/workers` | `httpfs`, `avro`, `iceberg` |\n\nThe published package does not bundle DuckDB's `json` extension to stay within Cloudflare deployment size limits.\n","readmeFilename":"README.md"}