Skip to content

Conversation

@GordonSmith
Copy link
Member

No description provided.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR upgrades DuckDB from v1.4.0 to v1.4.3 and replaces the dependency on @duckdb/duckdb-wasm with custom C++ bindings compiled via vcpkg. The change provides more direct control over DuckDB's WASM compilation, enables statically linked extensions (json, core-functions), and simplifies the API to use synchronous calls instead of async Workers.

Key changes:

  • Custom C++ Embind wrappers expose DuckDB's C++ API directly to JavaScript
  • vcpkg overlay configuration for building DuckDB with specific extensions
  • Simplified synchronous API replacing the previous async Worker-based approach

Reviewed changes

Copilot reviewed 24 out of 26 changed files in this pull request and generated 15 comments.

Show a summary per file
File Description
vcpkg.json Adds DuckDB as a vcpkg dependency with json and core-functions extensions
vcpkg-overlays/duckdb/* Custom vcpkg port configuration for building DuckDB v1.4.3 with patches
packages/duckdb/src-cpp/* New C++ Embind bindings providing JavaScript API for DuckDB
packages/duckdb/src/duckdb.ts Refactored to use custom wrappers instead of @duckdb/duckdb-wasm
packages/duckdb/src/wasm-library.ts Base class for WASM memory management utilities
packages/duckdb/tests/duckdb.spec.ts Updated tests for new synchronous API
packages/duckdb/tests/duckdb.browser.spec.ts Removed browser-specific tests (merged into main test suite)
packages/duckdb/package.json Removed @duckdb/duckdb-wasm dependency, updated build scripts
packages/duckdb/esbuild.js Changed from browserTpl to neutralTpl for platform-agnostic bundling
tests/bundlers/src/browser-test-utils.js Updated DuckDB test to use new synchronous API
scripts/cpp-install-emsdk.sh Installs npm dev dependencies in Emscripten for node binary support
packages/tsconfig.json Added ES2020.BigInt library for BigInt support
CMakeLists.txt Added duckdb package to build targets
README.md Updated DuckDB version from v1.4.0 to v1.4.3
.github/copilot-instructions.md Added CMake and Embind development guidelines
.vscode/settings.json Cleaned up AI assistant configuration
.gitignore Added screenshots/ directory
package.json, package-lock.json Minor dependency version updates (@eslint/js, @types/node)

@GordonSmith GordonSmith merged commit 53a950d into hpcc-systems:trunk Dec 18, 2025
8 checks passed
@GordonSmith GordonSmith deleted the MY_DUCKDB branch December 18, 2025 09:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant