From f7d98ac7649f6b0ad5cd0597e02e0fd96df437dc Mon Sep 17 00:00:00 2001 From: stephan Date: Sat, 19 Nov 2022 02:51:41 +0000 Subject: [PATCH] More work towards creation of a ES6 JS module. FossilOrigin-Name: 6b826e700f6849eebfbba38e5948b96be245994e3e03ea30743114d3f5689c42 --- ext/wasm/GNUmakefile | 14 ++++++++------ ext/wasm/api/extern-post-js.js | 9 +++++++++ manifest | 14 +++++++------- manifest.uuid | 2 +- 4 files changed, 25 insertions(+), 14 deletions(-) diff --git a/ext/wasm/GNUmakefile b/ext/wasm/GNUmakefile index bd30d306ea..1b85fa5e08 100644 --- a/ext/wasm/GNUmakefile +++ b/ext/wasm/GNUmakefile @@ -225,13 +225,13 @@ sqlite3-api.jses += $(dir.api)/sqlite3-api-cleanup.js SOAP.js := $(dir.api)/sqlite3-opfs-async-proxy.js sqlite3-worker1.js := $(dir.api)/sqlite3-worker1.js sqlite3-worker1-promiser.js := $(dir.api)/sqlite3-worker1-promiser.js -define CP_XAPI +define COPY_XAPI sqlite3-api.ext.jses += $$(dir.dout)/$$(notdir $(1)) $$(dir.dout)/$$(notdir $(1)): $(1) $$(MAKEFILE) cp $$< $$@ endef $(foreach X,$(SOAP.js) $(sqlite3-worker1.js) $(sqlite3-worker1-promiser.js),\ - $(eval $(call CP_XAPI,$(X)))) + $(eval $(call COPY_XAPI,$(X)))) all: $(sqlite3-api.ext.jses) sqlite3-api.js := $(dir.tmp)/sqlite3-api.js @@ -270,7 +270,8 @@ $(post-js.js): $(post-jses) $(MAKEFILE) cat $$i; \ echo "/* END FILE: $$i */"; \ done > $@ -extern-post-js.js := $(dir.api)/extern-post-js.js +extern-post-js.js.in := $(dir.api)/extern-post-js.js +extern-post-js.js := $(dir.tmp)/extern-post-js.js extern-pre-js.js := $(dir.api)/extern-pre-js.js pre-post-common.flags := \ --post-js=$(post-js.js) \ @@ -322,15 +323,16 @@ esm: $(filter-out esm,$(MAKECMDGOALS)) else js.cpp.defines ?= endif -define C-PP_JS +define C-PP.JS # $1 = X.js. $2 = output file to generate by filtering $(1) through # $(bin.cpp) -E -CC. $(2): $(1) $$(MAKEFILE) $$(bin.c-pp) $$(bin.c-pp) $(js.cpp.defines) -f $(1) -o $$@ CLEAN_FILES += $(2) endef -$(eval $(call C-PP_JS,$(dir.tmp)/sqlite3-api.c-pp.js,$(dir.tmp)/sqlite3-api.js)) -$(eval $(call C-PP_JS,$(dir.api)/pre-js.js,$(dir.tmp)/pre-js.js)) +$(eval $(call C-PP.JS,$(dir.tmp)/sqlite3-api.c-pp.js,$(sqlite3-api.js))) +$(eval $(call C-PP.JS,$(dir.api)/pre-js.js,$(dir.tmp)/pre-js.js)) +$(eval $(call C-PP.JS,$(extern-post-js.js.in),$(extern-post-js.js))) # /end CPP-of-JS bits ######################################################################## diff --git a/ext/wasm/api/extern-post-js.js b/ext/wasm/api/extern-post-js.js index d933a36265..fe9e4392be 100644 --- a/ext/wasm/api/extern-post-js.js +++ b/ext/wasm/api/extern-post-js.js @@ -4,6 +4,9 @@ most of the associated JS code, runs outside of the Emscripten-generated module init scope, in the current global scope. */ +//#if SQLITE_JS_ESM +const toexport = +//#endif (function(){ /** In order to hide the sqlite3InitModule()'s resulting Emscripten @@ -103,4 +106,10 @@ exports["sqlite3InitModule"] = sqlite3InitModule; /* AMD modules get injected in a way we cannot override, so we can't handle those here. */ +//#if SQLITE_JS_ESM + return self.sqlite3InitModule; +//#endif })(); +//#if SQLITE_JS_ESM +export default toexport; +//#endif diff --git a/manifest b/manifest index 8b2b8bd429..c7e27a945f 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Replace\suse\sof\scpp\swith\sthe\sfit-to-purpose\sc-pp\sto\savoid\scpp's\sC-centric/JS-unfriendly\squirks. -D 2022-11-18T02:29:59.533 +C More\swork\stowards\screation\sof\sa\sES6\sJS\smodule. +D 2022-11-19T02:51:41.611 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -488,13 +488,13 @@ F ext/userauth/sqlite3userauth.h 7f3ea8c4686db8e40b0a0e7a8e0b00fac13aa7a3 F ext/userauth/user-auth.txt e6641021a9210364665fe625d067617d03f27b04 F ext/userauth/userauth.c 7f00cded7dcaa5d47f54539b290a43d2e59f4b1eb5f447545fa865f002fc80cb F ext/wasm/EXPORTED_FUNCTIONS.fiddle.in 27450c8b8c70875a260aca55435ec927068b34cef801a96205adb81bdcefc65c -F ext/wasm/GNUmakefile 3c97824ce76c7678344844e581a07ba75901a06def4d0046a2a410d9dd635a83 +F ext/wasm/GNUmakefile 6a0d03e8d0b52b6851a364c1faaa0df8a07be1e8eb8aa9f87432aad74005a04e F ext/wasm/README-dist.txt 2d670b426fc7c613b90a7d2f2b05b433088fe65181abead970980f0a4a75ea20 F ext/wasm/README.md ef39861aa21632fdbca0bdd469f78f0096f6449a720f3f39642594af503030e9 F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-api 9120c2f8f51fa85f46dcf4dcb6b12f4a807d428f6089b99cdb08d8ddfcfd88b2 F ext/wasm/api/EXPORTED_RUNTIME_METHODS.sqlite3-api 1ec3c73e7d66e95529c3c64ac3de2470b0e9e7fbf7a5b41261c367cf4f1b7287 F ext/wasm/api/README.md 1350088aee90e959ad9a94fab1bb6bcb5e99d4d27f976db389050f54f2640c78 -F ext/wasm/api/extern-post-js.js c197b7567496fc27766842f8c4f4963054bf8c667926ab3df4c91aa548939ce6 +F ext/wasm/api/extern-post-js.js 824f37f1957e15b150bb36e98621b3bf91b55f6af7055cedc831331129b4883d F ext/wasm/api/extern-pre-js.js cc61c09c7a24a07dbecb4c352453c3985170cec12b4e7e7e7a4d11d43c5c8f41 F ext/wasm/api/post-js-footer.js cd0a8ec768501d9bd45d325ab0442037fb0e33d1f3b4f08902f15c34720ee4a1 F ext/wasm/api/post-js-header.js d6ab3dfef4a06960d28a7eaa338d4e2a1a5981e9b38718168bbde8fdb2a439b8 @@ -2056,8 +2056,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P e047b33d1fb7d6a32e967f03f9952249cd2da4d21dc301fe92bd7baa0da5d6a9 -R f08c58c3d67343dbb1484f5dc6d0d557 +P 49d70f071e918d5d095c807575bb7ce2b287a123261e789e938521b3b409429a +R bb5a2de30f99128427e97b8a82e5762a U stephan -Z df00239aed9bf555d5579b7e3a06d443 +Z e18a8c88533141f60b929eb3534d76f0 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index bef9d42ccd..50b9b44af1 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -49d70f071e918d5d095c807575bb7ce2b287a123261e789e938521b3b409429a \ No newline at end of file +6b826e700f6849eebfbba38e5948b96be245994e3e03ea30743114d3f5689c42 \ No newline at end of file -- 2.39.5