From f6d2ab5f42808f283c64498098fc938999c10693 Mon Sep 17 00:00:00 2001 From: Carlo Piovesan Date: Wed, 28 Aug 2024 12:53:28 +0200 Subject: [PATCH 1/3] Revert "No npm_measure_lib" This reverts commit fa1e39b08756a334c8de1432934ba7e76a8a4690. --- .github/workflows/main.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5108f374c..ba2a6f3e9 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1068,6 +1068,10 @@ jobs: name: duckdb-wasm-packages-loadable path: duckdb-wasm-packages.zip + - name: Measure NPM stats + run: | + ./scripts/npm_measure_lib.sh + - name: Publish to NPM env: NODE_AUTH_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }} From 0245fd9d9ac6b22cb30546c5f8ac469e519166fa Mon Sep 17 00:00:00 2001 From: Carlo Piovesan Date: Wed, 18 Sep 2024 10:51:10 +0200 Subject: [PATCH 2/3] Avoid failing when size is too big, for now --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ba2a6f3e9..9f786af61 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1070,7 +1070,7 @@ jobs: - name: Measure NPM stats run: | - ./scripts/npm_measure_lib.sh + ./scripts/npm_measure_lib.sh || true - name: Publish to NPM env: From cbac44c5e9151730024f3304556b3b30f026fa7a Mon Sep 17 00:00:00 2001 From: Carlo Piovesan Date: Fri, 20 Sep 2024 09:29:30 +0200 Subject: [PATCH 3/3] Avoid bundling any parquet/json or fts code when building for loadable extensions --- lib/CMakeLists.txt | 48 +++++++++++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 2e24d4eb8..b42cb25a0 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -236,31 +236,39 @@ add_library( ${CMAKE_SOURCE_DIR}/src/webdb.cc ${CMAKE_SOURCE_DIR}/src/webdb_api.cc) -add_library( - duckdb_web_fts - ${CMAKE_SOURCE_DIR}/src/extensions/fts_extension.cc) +if (DUCKDB_WASM_LOADABLE_EXTENSIONS) + set(EXTENSION_CACHE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../.ccache/extension") + set(JSON_EXTENSION_CACHE_FILE "${EXTENSION_CACHE_DIR}/json") + set(DUCKDB_WEB_JSON "") -add_library( - duckdb_web_parquet - ${CMAKE_SOURCE_DIR}/src/extensions/parquet_extension.cc) + target_link_libraries(duckdb_web duckdb arrow rapidjson ${THREAD_LIBS}) +else() + add_library( + duckdb_web_fts + ${CMAKE_SOURCE_DIR}/src/extensions/fts_extension.cc) -add_library( - duckdb_web_json - ${CMAKE_SOURCE_DIR}/src/extensions/json_extension.cc) + add_library( + duckdb_web_parquet + ${CMAKE_SOURCE_DIR}/src/extensions/parquet_extension.cc) -set(EXTENSION_CACHE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../.ccache/extension") -set(JSON_EXTENSION_CACHE_FILE "${EXTENSION_CACHE_DIR}/json") + add_library( + duckdb_web_json + ${CMAKE_SOURCE_DIR}/src/extensions/json_extension.cc) -set(DUCKDB_WEB_JSON "") -if(EXISTS "${JSON_EXTENSION_CACHE_FILE}") - set(DUCKDB_WEB_JSON "duckdb_web_json") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDUCKDB_JSON_EXTENSION") -endif() + set(EXTENSION_CACHE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../.ccache/extension") + set(JSON_EXTENSION_CACHE_FILE "${EXTENSION_CACHE_DIR}/json") + + set(DUCKDB_WEB_JSON "") + if(EXISTS "${JSON_EXTENSION_CACHE_FILE}") + set(DUCKDB_WEB_JSON "duckdb_web_json") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDUCKDB_JSON_EXTENSION") + endif() -target_link_libraries(duckdb_web duckdb duckdb_web_fts duckdb_web_parquet ${DUCKDB_WEB_JSON} arrow rapidjson ${THREAD_LIBS}) -target_link_libraries(duckdb_web_fts duckdb duckdb_fts) -target_link_libraries(duckdb_web_parquet duckdb duckdb_parquet) -target_link_libraries(duckdb_web_json duckdb duckdb_json) + target_link_libraries(duckdb_web duckdb duckdb_web_fts duckdb_web_parquet ${DUCKDB_WEB_JSON} arrow rapidjson ${THREAD_LIBS}) + target_link_libraries(duckdb_web_fts duckdb duckdb_fts) + target_link_libraries(duckdb_web_parquet duckdb duckdb_parquet) + target_link_libraries(duckdb_web_json duckdb duckdb_json) +endif() # --------------------------------------------------------------------------- # Emscripten