Skip to content

Commit d56b472

Browse files
committed
- update Makefile to include isomorphic src/worker.js in all javascript dist-files
- deprecate dist/worker.sql-xxx.js
1 parent c1bcdef commit d56b472

File tree

2 files changed

+16
-13
lines changed

2 files changed

+16
-13
lines changed

Makefile

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -80,13 +80,13 @@ debug: dist/sql-asm-debug.js dist/sql-wasm-debug.js
8080
dist/sql-asm-debug.js: $(BITCODE_FILES) $(OUTPUT_WRAPPER_FILES) $(SOURCE_API_FILES) $(EXPORTED_METHODS_JSON_FILES)
8181
$(EMCC) $(EMFLAGS) $(EMFLAGS_DEBUG) $(EMFLAGS_ASM) $(BITCODE_FILES) $(EMFLAGS_PRE_JS_FILES) -o $@
8282
mv $@ out/tmp-raw.js
83-
cat src/shell-pre.js out/tmp-raw.js src/shell-post.js > $@
83+
cat src/shell-pre.js out/tmp-raw.js src/shell-post.js src/worker.js > $@
8484
rm out/tmp-raw.js
8585

8686
dist/sql-wasm-debug.js: $(BITCODE_FILES) $(OUTPUT_WRAPPER_FILES) $(SOURCE_API_FILES) $(EXPORTED_METHODS_JSON_FILES)
8787
$(EMCC) $(EMFLAGS) $(EMFLAGS_DEBUG) $(EMFLAGS_WASM) $(BITCODE_FILES) $(EMFLAGS_PRE_JS_FILES) -o $@
8888
mv $@ out/tmp-raw.js
89-
cat src/shell-pre.js out/tmp-raw.js src/shell-post.js > $@
89+
cat src/shell-pre.js out/tmp-raw.js src/shell-post.js src/worker.js > $@
9090
rm out/tmp-raw.js
9191

9292
.PHONY: optimized
@@ -95,13 +95,13 @@ optimized: dist/sql-asm.js dist/sql-wasm.js dist/sql-asm-memory-growth.js
9595
dist/sql-asm.js: $(BITCODE_FILES) $(OUTPUT_WRAPPER_FILES) $(SOURCE_API_FILES) $(EXPORTED_METHODS_JSON_FILES)
9696
$(EMCC) $(EMFLAGS) $(EMFLAGS_OPTIMIZED) $(EMFLAGS_ASM) $(BITCODE_FILES) $(EMFLAGS_PRE_JS_FILES) -o $@
9797
mv $@ out/tmp-raw.js
98-
cat src/shell-pre.js out/tmp-raw.js src/shell-post.js > $@
98+
cat src/shell-pre.js out/tmp-raw.js src/shell-post.js src/worker.js > $@
9999
rm out/tmp-raw.js
100100

101101
dist/sql-wasm.js: $(BITCODE_FILES) $(OUTPUT_WRAPPER_FILES) $(SOURCE_API_FILES) $(EXPORTED_METHODS_JSON_FILES)
102102
$(EMCC) $(EMFLAGS) $(EMFLAGS_OPTIMIZED) $(EMFLAGS_WASM) $(BITCODE_FILES) $(EMFLAGS_PRE_JS_FILES) -o $@
103103
mv $@ out/tmp-raw.js
104-
cat src/shell-pre.js out/tmp-raw.js src/shell-post.js > $@
104+
cat src/shell-pre.js out/tmp-raw.js src/shell-post.js src/worker.js > $@
105105
rm out/tmp-raw.js
106106

107107
dist/sql-asm-memory-growth.js: $(BITCODE_FILES) $(OUTPUT_WRAPPER_FILES) $(SOURCE_API_FILES) $(EXPORTED_METHODS_JSON_FILES)
@@ -110,21 +110,22 @@ dist/sql-asm-memory-growth.js: $(BITCODE_FILES) $(OUTPUT_WRAPPER_FILES) $(SOURCE
110110
cat src/shell-pre.js out/tmp-raw.js src/shell-post.js > $@
111111
rm out/tmp-raw.js
112112

113+
# alias dist/worker.sql-xxx.js to dist/sql-xxx.js for legacy-compatibility
113114
# Web worker API
114115
.PHONY: worker
115116
worker: dist/worker.sql-asm.js dist/worker.sql-asm-debug.js dist/worker.sql-wasm.js dist/worker.sql-wasm-debug.js
116117

117-
dist/worker.sql-asm.js: dist/sql-asm.js src/worker.js
118-
cat $^ > $@
118+
dist/worker.sql-asm.js: dist/sql-asm.js
119+
cp $^ $@
119120

120-
dist/worker.sql-asm-debug.js: dist/sql-asm-debug.js src/worker.js
121-
cat $^ > $@
121+
dist/worker.sql-asm-debug.js: dist/sql-asm-debug.js
122+
cp $^ $@
122123

123-
dist/worker.sql-wasm.js: dist/sql-wasm.js src/worker.js
124-
cat $^ > $@
124+
dist/worker.sql-wasm.js: dist/sql-wasm.js
125+
cp $^ $@
125126

126-
dist/worker.sql-wasm-debug.js: dist/sql-wasm-debug.js src/worker.js
127-
cat $^ > $@
127+
dist/worker.sql-wasm-debug.js: dist/sql-wasm-debug.js
128+
cp $^ $@
128129

129130
# Building it this way gets us a wrapper that _knows_ it's in worker mode, which is nice.
130131
# However, since we can't tell emcc that we don't need the wasm generated, and just want the wrapper, we have to pay to have the .wasm generated

test/test_worker.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@ exports.test = async function test(SQL, assert) {
4141
return;
4242
};
4343
// If we use puppeteer, we need to pass in this new cwd as the root of the file being loaded:
44-
const filename = "../dist/worker." + file + ".js";
44+
const filename = "../dist/" + file + ".js";
45+
// test isomorphism - web-worker code can be safely loaded in nodejs
46+
require(filename);
4547
var worker = await Worker.fromFile(path.join(__dirname, filename));
4648
var data = await worker.postMessage({ id: 1, action: 'open' });
4749
assert.strictEqual(data.id, 1, "Return the given id in the correct format");

0 commit comments

Comments
 (0)