From 1ce00ea433dd46d951568b35ca3af5eba96293f9 Mon Sep 17 00:00:00 2001 From: Jake Teton-Landis Date: Mon, 25 Dec 2023 07:46:45 -0800 Subject: [PATCH] try to sync makefiles --- .../README.md | 1 - .../README.md | 1 - .../README.md | 1 - .../README.md | 10 +-- .../README.md | 1 - .../README.md | 2 +- .../README.md | 1 - .../README.md | 10 +-- generate.ts | 24 ++++++- package.json | 5 -- packages/quickjs-ffi-types/package.json | 3 + .../Makefile | 10 ++- .../package.json | 1 - .../Makefile | 10 ++- .../Makefile | 10 ++- .../package.json | 1 - .../Makefile | 10 ++- .../Makefile | 11 ++-- .../README.md | 1 - .../package.json | 1 - .../Makefile | 11 ++-- .../README.md | 1 - .../Makefile | 11 ++-- .../README.md | 1 - .../package.json | 1 - .../Makefile | 11 ++-- .../README.md | 10 +-- .../Makefile | 10 ++- .../Makefile | 10 ++- .../Makefile | 11 ++-- .../README.md | 1 - .../Makefile | 11 ++-- .../README.md | 2 +- .../Makefile | 10 ++- .../Makefile | 10 ++- .../Makefile | 11 ++-- .../README.md | 1 - .../Makefile | 11 ++-- .../README.md | 10 +-- prepareVariants.ts | 7 +- scripts/check-packages-built.ts | 65 ++++++++++++++++++- scripts/helpers.ts | 5 +- templates/Variant.mk | 10 ++- variants.json | 4 -- 44 files changed, 220 insertions(+), 129 deletions(-) diff --git a/doc/@jitl/quickjs-browser-release-asyncify-singlefile/README.md b/doc/@jitl/quickjs-browser-release-asyncify-singlefile/README.md index b28bcb5b..8516b042 100644 --- a/doc/@jitl/quickjs-browser-release-asyncify-singlefile/README.md +++ b/doc/@jitl/quickjs-browser-release-asyncify-singlefile/README.md @@ -75,7 +75,6 @@ Variant-specific Emscripten build flags: "-lasync.js", "-Oz", "-flto", - "-s SINGLE_FILE=1", "--closure 1", "-s FILESYSTEM=0", "-s SINGLE_FILE=1", diff --git a/doc/@jitl/quickjs-browser-release-asyncify-wasm/README.md b/doc/@jitl/quickjs-browser-release-asyncify-wasm/README.md index f118afd8..38242b58 100644 --- a/doc/@jitl/quickjs-browser-release-asyncify-wasm/README.md +++ b/doc/@jitl/quickjs-browser-release-asyncify-wasm/README.md @@ -75,7 +75,6 @@ Variant-specific Emscripten build flags: "-lasync.js", "-Oz", "-flto", - "-s SINGLE_FILE=1", "--closure 1", "-s FILESYSTEM=0", "-s EXPORT_ES6=1", diff --git a/doc/@jitl/quickjs-browser-release-sync-singlefile/README.md b/doc/@jitl/quickjs-browser-release-sync-singlefile/README.md index e95b5637..de28a685 100644 --- a/doc/@jitl/quickjs-browser-release-sync-singlefile/README.md +++ b/doc/@jitl/quickjs-browser-release-sync-singlefile/README.md @@ -68,7 +68,6 @@ Variant-specific Emscripten build flags: [ "-Oz", "-flto", - "-s SINGLE_FILE=1", "--closure 1", "-s FILESYSTEM=0", "-s SINGLE_FILE=1", diff --git a/doc/@jitl/quickjs-browser-release-sync-wasm/README.md b/doc/@jitl/quickjs-browser-release-sync-wasm/README.md index df1fdeb1..25e95394 100644 --- a/doc/@jitl/quickjs-browser-release-sync-wasm/README.md +++ b/doc/@jitl/quickjs-browser-release-sync-wasm/README.md @@ -65,15 +65,7 @@ Full variant JSON description: Variant-specific Emscripten build flags: ```json -[ - "-Oz", - "-flto", - "-s SINGLE_FILE=1", - "--closure 1", - "-s FILESYSTEM=0", - "-s EXPORT_ES6=1", - "-s ENVIRONMENT=web,worker" -] +["-Oz", "-flto", "--closure 1", "-s FILESYSTEM=0", "-s EXPORT_ES6=1", "-s ENVIRONMENT=web,worker"] ``` *** diff --git a/doc/@jitl/quickjs-node-cjs-release-asyncify-wasm/README.md b/doc/@jitl/quickjs-node-cjs-release-asyncify-wasm/README.md index f264e1ea..c74c17a4 100644 --- a/doc/@jitl/quickjs-node-cjs-release-asyncify-wasm/README.md +++ b/doc/@jitl/quickjs-node-cjs-release-asyncify-wasm/README.md @@ -75,7 +75,6 @@ Variant-specific Emscripten build flags: "-lasync.js", "-Oz", "-flto", - "-s SINGLE_FILE=1", "--closure 1", "-s FILESYSTEM=0", "-s ENVIRONMENT=node" diff --git a/doc/@jitl/quickjs-node-cjs-release-sync-wasm/README.md b/doc/@jitl/quickjs-node-cjs-release-sync-wasm/README.md index d1099757..65b65120 100644 --- a/doc/@jitl/quickjs-node-cjs-release-sync-wasm/README.md +++ b/doc/@jitl/quickjs-node-cjs-release-sync-wasm/README.md @@ -65,7 +65,7 @@ Full variant JSON description: Variant-specific Emscripten build flags: ```json -["-Oz", "-flto", "-s SINGLE_FILE=1", "--closure 1", "-s FILESYSTEM=0", "-s ENVIRONMENT=node"] +["-Oz", "-flto", "--closure 1", "-s FILESYSTEM=0", "-s ENVIRONMENT=node"] ``` *** diff --git a/doc/@jitl/quickjs-node-esm-release-asyncify-wasm/README.md b/doc/@jitl/quickjs-node-esm-release-asyncify-wasm/README.md index fecc8826..e4f47295 100644 --- a/doc/@jitl/quickjs-node-esm-release-asyncify-wasm/README.md +++ b/doc/@jitl/quickjs-node-esm-release-asyncify-wasm/README.md @@ -75,7 +75,6 @@ Variant-specific Emscripten build flags: "-lasync.js", "-Oz", "-flto", - "-s SINGLE_FILE=1", "--closure 1", "-s FILESYSTEM=0", "-s EXPORT_ES6=1", diff --git a/doc/@jitl/quickjs-node-esm-release-sync-wasm/README.md b/doc/@jitl/quickjs-node-esm-release-sync-wasm/README.md index 8d63dff1..fb26cc17 100644 --- a/doc/@jitl/quickjs-node-esm-release-sync-wasm/README.md +++ b/doc/@jitl/quickjs-node-esm-release-sync-wasm/README.md @@ -65,15 +65,7 @@ Full variant JSON description: Variant-specific Emscripten build flags: ```json -[ - "-Oz", - "-flto", - "-s SINGLE_FILE=1", - "--closure 1", - "-s FILESYSTEM=0", - "-s EXPORT_ES6=1", - "-s ENVIRONMENT=node" -] +["-Oz", "-flto", "--closure 1", "-s FILESYSTEM=0", "-s EXPORT_ES6=1", "-s ENVIRONMENT=node"] ``` *** diff --git a/generate.ts b/generate.ts index c972e165..21e96ba1 100644 --- a/generate.ts +++ b/generate.ts @@ -2,7 +2,10 @@ // Generate header file import * as fs from "fs-extra" import * as pathlib from "path" -const USAGE = "Usage: generate.ts [symbols | header | ffi] WRITE_PATH" +import * as crypto from "crypto" +const USAGE = + "Usage: generate.ts [symbols | header | ffi] WRITE_PATH" + + "\ngenerate.ts hash READ_PATH WRITE_PATH" const rooted = (path: string) => pathlib.join(__dirname, path) @@ -47,7 +50,7 @@ export function getMatches(context: Context) { } function main() { - const [, , command, destination] = process.argv + const [, , command, destination, hashDestination] = process.argv const context = new Context() if (!command || !destination) { @@ -97,6 +100,11 @@ function main() { return } + if (command === "hash") { + updateHashFile(destination, hashDestination) + return + } + throw new Error(`Bad command "${command}". ${USAGE}`) } @@ -373,6 +381,18 @@ export function replaceAll( return result } +function updateHashFile(src: string, dest: string) { + const bytes = fs.readFileSync(src) + const hash = crypto.createHash("md5").update(bytes).digest("hex") + "\n" + try { + const existing = fs.readFileSync(dest, "utf-8") + if (existing === hash) { + return + } + } catch (e) {} + fs.writeFileSync(dest, hash) +} + if (require.main === module) { main() } diff --git a/package.json b/package.json index 6a2b830b..f33cb54b 100644 --- a/package.json +++ b/package.json @@ -9,11 +9,6 @@ "type": "git", "url": "https://github.com/justjake/quickjs-emscripten" }, - "files": [ - "README.md", - "LICENSE", - "variants.json" - ], "scripts": { "prepack": "yarn build && yarn check:package", "tarball": "rm -rf $PWD/build/tar && mkdir -p $PWD/build/tar && yarn for-each-package-cmd pack --out $PWD/build/tar/%s.tgz", diff --git a/packages/quickjs-ffi-types/package.json b/packages/quickjs-ffi-types/package.json index 38dd2e98..8152febe 100644 --- a/packages/quickjs-ffi-types/package.json +++ b/packages/quickjs-ffi-types/package.json @@ -17,6 +17,9 @@ "files": [ "dist/**/*" ], + "types": "dist/index.d.ts", + "main": "dist/index.js", + "module": "dist/index.mjs", "exports": { "./package.json": "./package.json", ".": { diff --git a/packages/variant-quickjs-browser-debug-asyncify-singlefile/Makefile b/packages/variant-quickjs-browser-debug-asyncify-singlefile/Makefile index 0d3bf8fe..664c3053 100644 --- a/packages/variant-quickjs-browser-debug-asyncify-singlefile/Makefile +++ b/packages/variant-quickjs-browser-debug-asyncify-singlefile/Makefile @@ -104,7 +104,7 @@ clean: WASM: $(DIST)/emscripten-module.js $(DIST)/emscripten-module.d.ts WASM_SYMBOLS=$(BUILD_WRAPPER)/symbols.json $(BUILD_WRAPPER)/asyncify-remove.json $(BUILD_WRAPPER)/asyncify-imports.json -$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) +$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(WRAPPER_DEFINES) $(EMCC_EXPORTED_FUNCS) -o $@ $< $(VARIANT_QUICKJS_OBJS) @@ -112,11 +112,11 @@ $(DIST)/emscripten-module.d.ts: $(TEMPLATES)/emscripten-module.$(SYNC).d.ts echo '// Generated from $<' > $@ cat $< >> $@ -$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) (BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(CFLAGS_SORTED_FUNCS) $(WRAPPER_DEFINES) -c -o $@ $< -$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(EMCC_EXPORTED_FUNCS) $(QUICKJS_DEFINES) -c -o $@ $< @@ -131,3 +131,7 @@ $(BUILD_WRAPPER)/asyncify-remove.json: $(BUILD_WRAPPER)/asyncify-imports.json: $(MKDIRP) $(GENERATE_TS) async-callback-symbols $@ + +$(BUILD_WRAPPER)/Makefile.changed: Makefile + $(MKDIRP) + $(GENERATE_TS) hash $< $@ diff --git a/packages/variant-quickjs-browser-debug-asyncify-singlefile/package.json b/packages/variant-quickjs-browser-debug-asyncify-singlefile/package.json index 8a3b3878..4b1604e4 100644 --- a/packages/variant-quickjs-browser-debug-asyncify-singlefile/package.json +++ b/packages/variant-quickjs-browser-debug-asyncify-singlefile/package.json @@ -40,7 +40,6 @@ "import": "./dist/ffi.js", "require": "./dist/ffi.js" }, - "./wasm": "./dist/emscripten-module.wasm", "./emscripten": { "types": "./dist/emscripten-module.d.ts", "import": "./dist/emscripten-module.js", diff --git a/packages/variant-quickjs-browser-debug-asyncify-wasm/Makefile b/packages/variant-quickjs-browser-debug-asyncify-wasm/Makefile index c6b2cd81..ccef9e01 100644 --- a/packages/variant-quickjs-browser-debug-asyncify-wasm/Makefile +++ b/packages/variant-quickjs-browser-debug-asyncify-wasm/Makefile @@ -103,7 +103,7 @@ clean: WASM: $(DIST)/emscripten-module.js $(DIST)/emscripten-module.d.ts WASM_SYMBOLS=$(BUILD_WRAPPER)/symbols.json $(BUILD_WRAPPER)/asyncify-remove.json $(BUILD_WRAPPER)/asyncify-imports.json -$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) +$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(WRAPPER_DEFINES) $(EMCC_EXPORTED_FUNCS) -o $@ $< $(VARIANT_QUICKJS_OBJS) @@ -111,11 +111,11 @@ $(DIST)/emscripten-module.d.ts: $(TEMPLATES)/emscripten-module.$(SYNC).d.ts echo '// Generated from $<' > $@ cat $< >> $@ -$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) (BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(CFLAGS_SORTED_FUNCS) $(WRAPPER_DEFINES) -c -o $@ $< -$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(EMCC_EXPORTED_FUNCS) $(QUICKJS_DEFINES) -c -o $@ $< @@ -130,3 +130,7 @@ $(BUILD_WRAPPER)/asyncify-remove.json: $(BUILD_WRAPPER)/asyncify-imports.json: $(MKDIRP) $(GENERATE_TS) async-callback-symbols $@ + +$(BUILD_WRAPPER)/Makefile.changed: Makefile + $(MKDIRP) + $(GENERATE_TS) hash $< $@ diff --git a/packages/variant-quickjs-browser-debug-sync-singlefile/Makefile b/packages/variant-quickjs-browser-debug-sync-singlefile/Makefile index ff77a69c..019b1bb9 100644 --- a/packages/variant-quickjs-browser-debug-sync-singlefile/Makefile +++ b/packages/variant-quickjs-browser-debug-sync-singlefile/Makefile @@ -99,7 +99,7 @@ clean: WASM: $(DIST)/emscripten-module.js $(DIST)/emscripten-module.d.ts WASM_SYMBOLS=$(BUILD_WRAPPER)/symbols.json $(BUILD_WRAPPER)/asyncify-remove.json $(BUILD_WRAPPER)/asyncify-imports.json -$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) +$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(WRAPPER_DEFINES) $(EMCC_EXPORTED_FUNCS) -o $@ $< $(VARIANT_QUICKJS_OBJS) @@ -107,11 +107,11 @@ $(DIST)/emscripten-module.d.ts: $(TEMPLATES)/emscripten-module.$(SYNC).d.ts echo '// Generated from $<' > $@ cat $< >> $@ -$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) (BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(CFLAGS_SORTED_FUNCS) $(WRAPPER_DEFINES) -c -o $@ $< -$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(EMCC_EXPORTED_FUNCS) $(QUICKJS_DEFINES) -c -o $@ $< @@ -126,3 +126,7 @@ $(BUILD_WRAPPER)/asyncify-remove.json: $(BUILD_WRAPPER)/asyncify-imports.json: $(MKDIRP) $(GENERATE_TS) async-callback-symbols $@ + +$(BUILD_WRAPPER)/Makefile.changed: Makefile + $(MKDIRP) + $(GENERATE_TS) hash $< $@ diff --git a/packages/variant-quickjs-browser-debug-sync-singlefile/package.json b/packages/variant-quickjs-browser-debug-sync-singlefile/package.json index ff838c86..491a8904 100644 --- a/packages/variant-quickjs-browser-debug-sync-singlefile/package.json +++ b/packages/variant-quickjs-browser-debug-sync-singlefile/package.json @@ -40,7 +40,6 @@ "import": "./dist/ffi.js", "require": "./dist/ffi.js" }, - "./wasm": "./dist/emscripten-module.wasm", "./emscripten": { "types": "./dist/emscripten-module.d.ts", "import": "./dist/emscripten-module.js", diff --git a/packages/variant-quickjs-browser-debug-sync-wasm/Makefile b/packages/variant-quickjs-browser-debug-sync-wasm/Makefile index d2b41592..a1279945 100644 --- a/packages/variant-quickjs-browser-debug-sync-wasm/Makefile +++ b/packages/variant-quickjs-browser-debug-sync-wasm/Makefile @@ -98,7 +98,7 @@ clean: WASM: $(DIST)/emscripten-module.js $(DIST)/emscripten-module.d.ts WASM_SYMBOLS=$(BUILD_WRAPPER)/symbols.json $(BUILD_WRAPPER)/asyncify-remove.json $(BUILD_WRAPPER)/asyncify-imports.json -$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) +$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(WRAPPER_DEFINES) $(EMCC_EXPORTED_FUNCS) -o $@ $< $(VARIANT_QUICKJS_OBJS) @@ -106,11 +106,11 @@ $(DIST)/emscripten-module.d.ts: $(TEMPLATES)/emscripten-module.$(SYNC).d.ts echo '// Generated from $<' > $@ cat $< >> $@ -$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) (BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(CFLAGS_SORTED_FUNCS) $(WRAPPER_DEFINES) -c -o $@ $< -$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(EMCC_EXPORTED_FUNCS) $(QUICKJS_DEFINES) -c -o $@ $< @@ -125,3 +125,7 @@ $(BUILD_WRAPPER)/asyncify-remove.json: $(BUILD_WRAPPER)/asyncify-imports.json: $(MKDIRP) $(GENERATE_TS) async-callback-symbols $@ + +$(BUILD_WRAPPER)/Makefile.changed: Makefile + $(MKDIRP) + $(GENERATE_TS) hash $< $@ diff --git a/packages/variant-quickjs-browser-release-asyncify-singlefile/Makefile b/packages/variant-quickjs-browser-release-asyncify-singlefile/Makefile index e4186499..adf71a6c 100644 --- a/packages/variant-quickjs-browser-release-asyncify-singlefile/Makefile +++ b/packages/variant-quickjs-browser-release-asyncify-singlefile/Makefile @@ -74,7 +74,6 @@ CFLAGS_WASM+=-s ASYNCIFY_IMPORTS=@$(BUILD_WRAPPER)/asyncify-imports.json CFLAGS_WASM+=-lasync.js CFLAGS_WASM+=-Oz CFLAGS_WASM+=-flto -CFLAGS_WASM+=-s SINGLE_FILE=1 CFLAGS_WASM+=--closure 1 CFLAGS_WASM+=-s FILESYSTEM=0 CFLAGS_WASM+=-s SINGLE_FILE=1 @@ -102,7 +101,7 @@ clean: WASM: $(DIST)/emscripten-module.js $(DIST)/emscripten-module.d.ts WASM_SYMBOLS=$(BUILD_WRAPPER)/symbols.json $(BUILD_WRAPPER)/asyncify-remove.json $(BUILD_WRAPPER)/asyncify-imports.json -$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) +$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(WRAPPER_DEFINES) $(EMCC_EXPORTED_FUNCS) -o $@ $< $(VARIANT_QUICKJS_OBJS) @@ -110,11 +109,11 @@ $(DIST)/emscripten-module.d.ts: $(TEMPLATES)/emscripten-module.$(SYNC).d.ts echo '// Generated from $<' > $@ cat $< >> $@ -$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) (BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(CFLAGS_SORTED_FUNCS) $(WRAPPER_DEFINES) -c -o $@ $< -$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(EMCC_EXPORTED_FUNCS) $(QUICKJS_DEFINES) -c -o $@ $< @@ -129,3 +128,7 @@ $(BUILD_WRAPPER)/asyncify-remove.json: $(BUILD_WRAPPER)/asyncify-imports.json: $(MKDIRP) $(GENERATE_TS) async-callback-symbols $@ + +$(BUILD_WRAPPER)/Makefile.changed: Makefile + $(MKDIRP) + $(GENERATE_TS) hash $< $@ diff --git a/packages/variant-quickjs-browser-release-asyncify-singlefile/README.md b/packages/variant-quickjs-browser-release-asyncify-singlefile/README.md index c2f1b344..a3be2fc2 100644 --- a/packages/variant-quickjs-browser-release-asyncify-singlefile/README.md +++ b/packages/variant-quickjs-browser-release-asyncify-singlefile/README.md @@ -62,7 +62,6 @@ Variant-specific Emscripten build flags: "-lasync.js", "-Oz", "-flto", - "-s SINGLE_FILE=1", "--closure 1", "-s FILESYSTEM=0", "-s SINGLE_FILE=1", diff --git a/packages/variant-quickjs-browser-release-asyncify-singlefile/package.json b/packages/variant-quickjs-browser-release-asyncify-singlefile/package.json index 6a78e39d..dba59a31 100644 --- a/packages/variant-quickjs-browser-release-asyncify-singlefile/package.json +++ b/packages/variant-quickjs-browser-release-asyncify-singlefile/package.json @@ -40,7 +40,6 @@ "import": "./dist/ffi.js", "require": "./dist/ffi.js" }, - "./wasm": "./dist/emscripten-module.wasm", "./emscripten": { "types": "./dist/emscripten-module.d.ts", "import": "./dist/emscripten-module.js", diff --git a/packages/variant-quickjs-browser-release-asyncify-wasm/Makefile b/packages/variant-quickjs-browser-release-asyncify-wasm/Makefile index 31ba24eb..90516985 100644 --- a/packages/variant-quickjs-browser-release-asyncify-wasm/Makefile +++ b/packages/variant-quickjs-browser-release-asyncify-wasm/Makefile @@ -74,7 +74,6 @@ CFLAGS_WASM+=-s ASYNCIFY_IMPORTS=@$(BUILD_WRAPPER)/asyncify-imports.json CFLAGS_WASM+=-lasync.js CFLAGS_WASM+=-Oz CFLAGS_WASM+=-flto -CFLAGS_WASM+=-s SINGLE_FILE=1 CFLAGS_WASM+=--closure 1 CFLAGS_WASM+=-s FILESYSTEM=0 CFLAGS_WASM+=-s EXPORT_ES6=1 @@ -101,7 +100,7 @@ clean: WASM: $(DIST)/emscripten-module.js $(DIST)/emscripten-module.d.ts WASM_SYMBOLS=$(BUILD_WRAPPER)/symbols.json $(BUILD_WRAPPER)/asyncify-remove.json $(BUILD_WRAPPER)/asyncify-imports.json -$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) +$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(WRAPPER_DEFINES) $(EMCC_EXPORTED_FUNCS) -o $@ $< $(VARIANT_QUICKJS_OBJS) @@ -109,11 +108,11 @@ $(DIST)/emscripten-module.d.ts: $(TEMPLATES)/emscripten-module.$(SYNC).d.ts echo '// Generated from $<' > $@ cat $< >> $@ -$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) (BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(CFLAGS_SORTED_FUNCS) $(WRAPPER_DEFINES) -c -o $@ $< -$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(EMCC_EXPORTED_FUNCS) $(QUICKJS_DEFINES) -c -o $@ $< @@ -128,3 +127,7 @@ $(BUILD_WRAPPER)/asyncify-remove.json: $(BUILD_WRAPPER)/asyncify-imports.json: $(MKDIRP) $(GENERATE_TS) async-callback-symbols $@ + +$(BUILD_WRAPPER)/Makefile.changed: Makefile + $(MKDIRP) + $(GENERATE_TS) hash $< $@ diff --git a/packages/variant-quickjs-browser-release-asyncify-wasm/README.md b/packages/variant-quickjs-browser-release-asyncify-wasm/README.md index 8e018700..4e4c76d3 100644 --- a/packages/variant-quickjs-browser-release-asyncify-wasm/README.md +++ b/packages/variant-quickjs-browser-release-asyncify-wasm/README.md @@ -62,7 +62,6 @@ Variant-specific Emscripten build flags: "-lasync.js", "-Oz", "-flto", - "-s SINGLE_FILE=1", "--closure 1", "-s FILESYSTEM=0", "-s EXPORT_ES6=1", diff --git a/packages/variant-quickjs-browser-release-sync-singlefile/Makefile b/packages/variant-quickjs-browser-release-sync-singlefile/Makefile index 5bac99a9..051a54d0 100644 --- a/packages/variant-quickjs-browser-release-sync-singlefile/Makefile +++ b/packages/variant-quickjs-browser-release-sync-singlefile/Makefile @@ -67,7 +67,6 @@ SYNC=SYNC # Emscripten options - variant specific CFLAGS_WASM+=-Oz CFLAGS_WASM+=-flto -CFLAGS_WASM+=-s SINGLE_FILE=1 CFLAGS_WASM+=--closure 1 CFLAGS_WASM+=-s FILESYSTEM=0 CFLAGS_WASM+=-s SINGLE_FILE=1 @@ -95,7 +94,7 @@ clean: WASM: $(DIST)/emscripten-module.js $(DIST)/emscripten-module.d.ts WASM_SYMBOLS=$(BUILD_WRAPPER)/symbols.json $(BUILD_WRAPPER)/asyncify-remove.json $(BUILD_WRAPPER)/asyncify-imports.json -$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) +$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(WRAPPER_DEFINES) $(EMCC_EXPORTED_FUNCS) -o $@ $< $(VARIANT_QUICKJS_OBJS) @@ -103,11 +102,11 @@ $(DIST)/emscripten-module.d.ts: $(TEMPLATES)/emscripten-module.$(SYNC).d.ts echo '// Generated from $<' > $@ cat $< >> $@ -$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) (BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(CFLAGS_SORTED_FUNCS) $(WRAPPER_DEFINES) -c -o $@ $< -$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(EMCC_EXPORTED_FUNCS) $(QUICKJS_DEFINES) -c -o $@ $< @@ -122,3 +121,7 @@ $(BUILD_WRAPPER)/asyncify-remove.json: $(BUILD_WRAPPER)/asyncify-imports.json: $(MKDIRP) $(GENERATE_TS) async-callback-symbols $@ + +$(BUILD_WRAPPER)/Makefile.changed: Makefile + $(MKDIRP) + $(GENERATE_TS) hash $< $@ diff --git a/packages/variant-quickjs-browser-release-sync-singlefile/README.md b/packages/variant-quickjs-browser-release-sync-singlefile/README.md index b479cafe..403513b5 100644 --- a/packages/variant-quickjs-browser-release-sync-singlefile/README.md +++ b/packages/variant-quickjs-browser-release-sync-singlefile/README.md @@ -55,7 +55,6 @@ Variant-specific Emscripten build flags: [ "-Oz", "-flto", - "-s SINGLE_FILE=1", "--closure 1", "-s FILESYSTEM=0", "-s SINGLE_FILE=1", diff --git a/packages/variant-quickjs-browser-release-sync-singlefile/package.json b/packages/variant-quickjs-browser-release-sync-singlefile/package.json index 10ef5101..5831698f 100644 --- a/packages/variant-quickjs-browser-release-sync-singlefile/package.json +++ b/packages/variant-quickjs-browser-release-sync-singlefile/package.json @@ -40,7 +40,6 @@ "import": "./dist/ffi.js", "require": "./dist/ffi.js" }, - "./wasm": "./dist/emscripten-module.wasm", "./emscripten": { "types": "./dist/emscripten-module.d.ts", "import": "./dist/emscripten-module.js", diff --git a/packages/variant-quickjs-browser-release-sync-wasm/Makefile b/packages/variant-quickjs-browser-release-sync-wasm/Makefile index 9771667f..d4a1150d 100644 --- a/packages/variant-quickjs-browser-release-sync-wasm/Makefile +++ b/packages/variant-quickjs-browser-release-sync-wasm/Makefile @@ -67,7 +67,6 @@ SYNC=SYNC # Emscripten options - variant specific CFLAGS_WASM+=-Oz CFLAGS_WASM+=-flto -CFLAGS_WASM+=-s SINGLE_FILE=1 CFLAGS_WASM+=--closure 1 CFLAGS_WASM+=-s FILESYSTEM=0 CFLAGS_WASM+=-s EXPORT_ES6=1 @@ -94,7 +93,7 @@ clean: WASM: $(DIST)/emscripten-module.js $(DIST)/emscripten-module.d.ts WASM_SYMBOLS=$(BUILD_WRAPPER)/symbols.json $(BUILD_WRAPPER)/asyncify-remove.json $(BUILD_WRAPPER)/asyncify-imports.json -$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) +$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(WRAPPER_DEFINES) $(EMCC_EXPORTED_FUNCS) -o $@ $< $(VARIANT_QUICKJS_OBJS) @@ -102,11 +101,11 @@ $(DIST)/emscripten-module.d.ts: $(TEMPLATES)/emscripten-module.$(SYNC).d.ts echo '// Generated from $<' > $@ cat $< >> $@ -$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) (BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(CFLAGS_SORTED_FUNCS) $(WRAPPER_DEFINES) -c -o $@ $< -$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(EMCC_EXPORTED_FUNCS) $(QUICKJS_DEFINES) -c -o $@ $< @@ -121,3 +120,7 @@ $(BUILD_WRAPPER)/asyncify-remove.json: $(BUILD_WRAPPER)/asyncify-imports.json: $(MKDIRP) $(GENERATE_TS) async-callback-symbols $@ + +$(BUILD_WRAPPER)/Makefile.changed: Makefile + $(MKDIRP) + $(GENERATE_TS) hash $< $@ diff --git a/packages/variant-quickjs-browser-release-sync-wasm/README.md b/packages/variant-quickjs-browser-release-sync-wasm/README.md index f2464f0a..cdeb029b 100644 --- a/packages/variant-quickjs-browser-release-sync-wasm/README.md +++ b/packages/variant-quickjs-browser-release-sync-wasm/README.md @@ -52,13 +52,5 @@ Full variant JSON description: Variant-specific Emscripten build flags: ```json -[ - "-Oz", - "-flto", - "-s SINGLE_FILE=1", - "--closure 1", - "-s FILESYSTEM=0", - "-s EXPORT_ES6=1", - "-s ENVIRONMENT=web,worker" -] +["-Oz", "-flto", "--closure 1", "-s FILESYSTEM=0", "-s EXPORT_ES6=1", "-s ENVIRONMENT=web,worker"] ``` diff --git a/packages/variant-quickjs-node-cjs-debug-asyncify-wasm/Makefile b/packages/variant-quickjs-node-cjs-debug-asyncify-wasm/Makefile index 8982186a..7e0a09db 100644 --- a/packages/variant-quickjs-node-cjs-debug-asyncify-wasm/Makefile +++ b/packages/variant-quickjs-node-cjs-debug-asyncify-wasm/Makefile @@ -102,7 +102,7 @@ clean: WASM: $(DIST)/emscripten-module.js $(DIST)/emscripten-module.d.ts WASM_SYMBOLS=$(BUILD_WRAPPER)/symbols.json $(BUILD_WRAPPER)/asyncify-remove.json $(BUILD_WRAPPER)/asyncify-imports.json -$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) +$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(WRAPPER_DEFINES) $(EMCC_EXPORTED_FUNCS) -o $@ $< $(VARIANT_QUICKJS_OBJS) @@ -110,11 +110,11 @@ $(DIST)/emscripten-module.d.ts: $(TEMPLATES)/emscripten-module.$(SYNC).d.ts echo '// Generated from $<' > $@ cat $< >> $@ -$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) (BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(CFLAGS_SORTED_FUNCS) $(WRAPPER_DEFINES) -c -o $@ $< -$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(EMCC_EXPORTED_FUNCS) $(QUICKJS_DEFINES) -c -o $@ $< @@ -129,3 +129,7 @@ $(BUILD_WRAPPER)/asyncify-remove.json: $(BUILD_WRAPPER)/asyncify-imports.json: $(MKDIRP) $(GENERATE_TS) async-callback-symbols $@ + +$(BUILD_WRAPPER)/Makefile.changed: Makefile + $(MKDIRP) + $(GENERATE_TS) hash $< $@ diff --git a/packages/variant-quickjs-node-cjs-debug-sync-wasm/Makefile b/packages/variant-quickjs-node-cjs-debug-sync-wasm/Makefile index 4478e590..47ca04e2 100644 --- a/packages/variant-quickjs-node-cjs-debug-sync-wasm/Makefile +++ b/packages/variant-quickjs-node-cjs-debug-sync-wasm/Makefile @@ -97,7 +97,7 @@ clean: WASM: $(DIST)/emscripten-module.js $(DIST)/emscripten-module.d.ts WASM_SYMBOLS=$(BUILD_WRAPPER)/symbols.json $(BUILD_WRAPPER)/asyncify-remove.json $(BUILD_WRAPPER)/asyncify-imports.json -$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) +$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(WRAPPER_DEFINES) $(EMCC_EXPORTED_FUNCS) -o $@ $< $(VARIANT_QUICKJS_OBJS) @@ -105,11 +105,11 @@ $(DIST)/emscripten-module.d.ts: $(TEMPLATES)/emscripten-module.$(SYNC).d.ts echo '// Generated from $<' > $@ cat $< >> $@ -$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) (BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(CFLAGS_SORTED_FUNCS) $(WRAPPER_DEFINES) -c -o $@ $< -$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(EMCC_EXPORTED_FUNCS) $(QUICKJS_DEFINES) -c -o $@ $< @@ -124,3 +124,7 @@ $(BUILD_WRAPPER)/asyncify-remove.json: $(BUILD_WRAPPER)/asyncify-imports.json: $(MKDIRP) $(GENERATE_TS) async-callback-symbols $@ + +$(BUILD_WRAPPER)/Makefile.changed: Makefile + $(MKDIRP) + $(GENERATE_TS) hash $< $@ diff --git a/packages/variant-quickjs-node-cjs-release-asyncify-wasm/Makefile b/packages/variant-quickjs-node-cjs-release-asyncify-wasm/Makefile index 8912b634..e15dfaa4 100644 --- a/packages/variant-quickjs-node-cjs-release-asyncify-wasm/Makefile +++ b/packages/variant-quickjs-node-cjs-release-asyncify-wasm/Makefile @@ -74,7 +74,6 @@ CFLAGS_WASM+=-s ASYNCIFY_IMPORTS=@$(BUILD_WRAPPER)/asyncify-imports.json CFLAGS_WASM+=-lasync.js CFLAGS_WASM+=-Oz CFLAGS_WASM+=-flto -CFLAGS_WASM+=-s SINGLE_FILE=1 CFLAGS_WASM+=--closure 1 CFLAGS_WASM+=-s FILESYSTEM=0 CFLAGS_WASM+=-s ENVIRONMENT=node @@ -100,7 +99,7 @@ clean: WASM: $(DIST)/emscripten-module.js $(DIST)/emscripten-module.d.ts WASM_SYMBOLS=$(BUILD_WRAPPER)/symbols.json $(BUILD_WRAPPER)/asyncify-remove.json $(BUILD_WRAPPER)/asyncify-imports.json -$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) +$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(WRAPPER_DEFINES) $(EMCC_EXPORTED_FUNCS) -o $@ $< $(VARIANT_QUICKJS_OBJS) @@ -108,11 +107,11 @@ $(DIST)/emscripten-module.d.ts: $(TEMPLATES)/emscripten-module.$(SYNC).d.ts echo '// Generated from $<' > $@ cat $< >> $@ -$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) (BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(CFLAGS_SORTED_FUNCS) $(WRAPPER_DEFINES) -c -o $@ $< -$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(EMCC_EXPORTED_FUNCS) $(QUICKJS_DEFINES) -c -o $@ $< @@ -127,3 +126,7 @@ $(BUILD_WRAPPER)/asyncify-remove.json: $(BUILD_WRAPPER)/asyncify-imports.json: $(MKDIRP) $(GENERATE_TS) async-callback-symbols $@ + +$(BUILD_WRAPPER)/Makefile.changed: Makefile + $(MKDIRP) + $(GENERATE_TS) hash $< $@ diff --git a/packages/variant-quickjs-node-cjs-release-asyncify-wasm/README.md b/packages/variant-quickjs-node-cjs-release-asyncify-wasm/README.md index 26194486..c71ba9e2 100644 --- a/packages/variant-quickjs-node-cjs-release-asyncify-wasm/README.md +++ b/packages/variant-quickjs-node-cjs-release-asyncify-wasm/README.md @@ -62,7 +62,6 @@ Variant-specific Emscripten build flags: "-lasync.js", "-Oz", "-flto", - "-s SINGLE_FILE=1", "--closure 1", "-s FILESYSTEM=0", "-s ENVIRONMENT=node" diff --git a/packages/variant-quickjs-node-cjs-release-sync-wasm/Makefile b/packages/variant-quickjs-node-cjs-release-sync-wasm/Makefile index 85db9709..ad39377c 100644 --- a/packages/variant-quickjs-node-cjs-release-sync-wasm/Makefile +++ b/packages/variant-quickjs-node-cjs-release-sync-wasm/Makefile @@ -67,7 +67,6 @@ SYNC=SYNC # Emscripten options - variant specific CFLAGS_WASM+=-Oz CFLAGS_WASM+=-flto -CFLAGS_WASM+=-s SINGLE_FILE=1 CFLAGS_WASM+=--closure 1 CFLAGS_WASM+=-s FILESYSTEM=0 CFLAGS_WASM+=-s ENVIRONMENT=node @@ -93,7 +92,7 @@ clean: WASM: $(DIST)/emscripten-module.js $(DIST)/emscripten-module.d.ts WASM_SYMBOLS=$(BUILD_WRAPPER)/symbols.json $(BUILD_WRAPPER)/asyncify-remove.json $(BUILD_WRAPPER)/asyncify-imports.json -$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) +$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(WRAPPER_DEFINES) $(EMCC_EXPORTED_FUNCS) -o $@ $< $(VARIANT_QUICKJS_OBJS) @@ -101,11 +100,11 @@ $(DIST)/emscripten-module.d.ts: $(TEMPLATES)/emscripten-module.$(SYNC).d.ts echo '// Generated from $<' > $@ cat $< >> $@ -$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) (BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(CFLAGS_SORTED_FUNCS) $(WRAPPER_DEFINES) -c -o $@ $< -$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(EMCC_EXPORTED_FUNCS) $(QUICKJS_DEFINES) -c -o $@ $< @@ -120,3 +119,7 @@ $(BUILD_WRAPPER)/asyncify-remove.json: $(BUILD_WRAPPER)/asyncify-imports.json: $(MKDIRP) $(GENERATE_TS) async-callback-symbols $@ + +$(BUILD_WRAPPER)/Makefile.changed: Makefile + $(MKDIRP) + $(GENERATE_TS) hash $< $@ diff --git a/packages/variant-quickjs-node-cjs-release-sync-wasm/README.md b/packages/variant-quickjs-node-cjs-release-sync-wasm/README.md index 819827f0..801c6de6 100644 --- a/packages/variant-quickjs-node-cjs-release-sync-wasm/README.md +++ b/packages/variant-quickjs-node-cjs-release-sync-wasm/README.md @@ -52,5 +52,5 @@ Full variant JSON description: Variant-specific Emscripten build flags: ```json -["-Oz", "-flto", "-s SINGLE_FILE=1", "--closure 1", "-s FILESYSTEM=0", "-s ENVIRONMENT=node"] +["-Oz", "-flto", "--closure 1", "-s FILESYSTEM=0", "-s ENVIRONMENT=node"] ``` diff --git a/packages/variant-quickjs-node-esm-debug-asyncify-wasm/Makefile b/packages/variant-quickjs-node-esm-debug-asyncify-wasm/Makefile index d725909e..7f258d5e 100644 --- a/packages/variant-quickjs-node-esm-debug-asyncify-wasm/Makefile +++ b/packages/variant-quickjs-node-esm-debug-asyncify-wasm/Makefile @@ -103,7 +103,7 @@ clean: WASM: $(DIST)/emscripten-module.js $(DIST)/emscripten-module.d.ts WASM_SYMBOLS=$(BUILD_WRAPPER)/symbols.json $(BUILD_WRAPPER)/asyncify-remove.json $(BUILD_WRAPPER)/asyncify-imports.json -$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) +$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(WRAPPER_DEFINES) $(EMCC_EXPORTED_FUNCS) -o $@ $< $(VARIANT_QUICKJS_OBJS) @@ -111,11 +111,11 @@ $(DIST)/emscripten-module.d.ts: $(TEMPLATES)/emscripten-module.$(SYNC).d.ts echo '// Generated from $<' > $@ cat $< >> $@ -$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) (BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(CFLAGS_SORTED_FUNCS) $(WRAPPER_DEFINES) -c -o $@ $< -$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(EMCC_EXPORTED_FUNCS) $(QUICKJS_DEFINES) -c -o $@ $< @@ -130,3 +130,7 @@ $(BUILD_WRAPPER)/asyncify-remove.json: $(BUILD_WRAPPER)/asyncify-imports.json: $(MKDIRP) $(GENERATE_TS) async-callback-symbols $@ + +$(BUILD_WRAPPER)/Makefile.changed: Makefile + $(MKDIRP) + $(GENERATE_TS) hash $< $@ diff --git a/packages/variant-quickjs-node-esm-debug-sync-wasm/Makefile b/packages/variant-quickjs-node-esm-debug-sync-wasm/Makefile index d179f563..128684ac 100644 --- a/packages/variant-quickjs-node-esm-debug-sync-wasm/Makefile +++ b/packages/variant-quickjs-node-esm-debug-sync-wasm/Makefile @@ -98,7 +98,7 @@ clean: WASM: $(DIST)/emscripten-module.js $(DIST)/emscripten-module.d.ts WASM_SYMBOLS=$(BUILD_WRAPPER)/symbols.json $(BUILD_WRAPPER)/asyncify-remove.json $(BUILD_WRAPPER)/asyncify-imports.json -$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) +$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(WRAPPER_DEFINES) $(EMCC_EXPORTED_FUNCS) -o $@ $< $(VARIANT_QUICKJS_OBJS) @@ -106,11 +106,11 @@ $(DIST)/emscripten-module.d.ts: $(TEMPLATES)/emscripten-module.$(SYNC).d.ts echo '// Generated from $<' > $@ cat $< >> $@ -$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) (BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(CFLAGS_SORTED_FUNCS) $(WRAPPER_DEFINES) -c -o $@ $< -$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(EMCC_EXPORTED_FUNCS) $(QUICKJS_DEFINES) -c -o $@ $< @@ -125,3 +125,7 @@ $(BUILD_WRAPPER)/asyncify-remove.json: $(BUILD_WRAPPER)/asyncify-imports.json: $(MKDIRP) $(GENERATE_TS) async-callback-symbols $@ + +$(BUILD_WRAPPER)/Makefile.changed: Makefile + $(MKDIRP) + $(GENERATE_TS) hash $< $@ diff --git a/packages/variant-quickjs-node-esm-release-asyncify-wasm/Makefile b/packages/variant-quickjs-node-esm-release-asyncify-wasm/Makefile index 9d5a917b..89ffdfb4 100644 --- a/packages/variant-quickjs-node-esm-release-asyncify-wasm/Makefile +++ b/packages/variant-quickjs-node-esm-release-asyncify-wasm/Makefile @@ -74,7 +74,6 @@ CFLAGS_WASM+=-s ASYNCIFY_IMPORTS=@$(BUILD_WRAPPER)/asyncify-imports.json CFLAGS_WASM+=-lasync.js CFLAGS_WASM+=-Oz CFLAGS_WASM+=-flto -CFLAGS_WASM+=-s SINGLE_FILE=1 CFLAGS_WASM+=--closure 1 CFLAGS_WASM+=-s FILESYSTEM=0 CFLAGS_WASM+=-s EXPORT_ES6=1 @@ -101,7 +100,7 @@ clean: WASM: $(DIST)/emscripten-module.js $(DIST)/emscripten-module.d.ts WASM_SYMBOLS=$(BUILD_WRAPPER)/symbols.json $(BUILD_WRAPPER)/asyncify-remove.json $(BUILD_WRAPPER)/asyncify-imports.json -$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) +$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(WRAPPER_DEFINES) $(EMCC_EXPORTED_FUNCS) -o $@ $< $(VARIANT_QUICKJS_OBJS) @@ -109,11 +108,11 @@ $(DIST)/emscripten-module.d.ts: $(TEMPLATES)/emscripten-module.$(SYNC).d.ts echo '// Generated from $<' > $@ cat $< >> $@ -$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) (BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(CFLAGS_SORTED_FUNCS) $(WRAPPER_DEFINES) -c -o $@ $< -$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(EMCC_EXPORTED_FUNCS) $(QUICKJS_DEFINES) -c -o $@ $< @@ -128,3 +127,7 @@ $(BUILD_WRAPPER)/asyncify-remove.json: $(BUILD_WRAPPER)/asyncify-imports.json: $(MKDIRP) $(GENERATE_TS) async-callback-symbols $@ + +$(BUILD_WRAPPER)/Makefile.changed: Makefile + $(MKDIRP) + $(GENERATE_TS) hash $< $@ diff --git a/packages/variant-quickjs-node-esm-release-asyncify-wasm/README.md b/packages/variant-quickjs-node-esm-release-asyncify-wasm/README.md index 596ad8cf..47feb3bc 100644 --- a/packages/variant-quickjs-node-esm-release-asyncify-wasm/README.md +++ b/packages/variant-quickjs-node-esm-release-asyncify-wasm/README.md @@ -62,7 +62,6 @@ Variant-specific Emscripten build flags: "-lasync.js", "-Oz", "-flto", - "-s SINGLE_FILE=1", "--closure 1", "-s FILESYSTEM=0", "-s EXPORT_ES6=1", diff --git a/packages/variant-quickjs-node-esm-release-sync-wasm/Makefile b/packages/variant-quickjs-node-esm-release-sync-wasm/Makefile index 514386a8..26d5a470 100644 --- a/packages/variant-quickjs-node-esm-release-sync-wasm/Makefile +++ b/packages/variant-quickjs-node-esm-release-sync-wasm/Makefile @@ -67,7 +67,6 @@ SYNC=SYNC # Emscripten options - variant specific CFLAGS_WASM+=-Oz CFLAGS_WASM+=-flto -CFLAGS_WASM+=-s SINGLE_FILE=1 CFLAGS_WASM+=--closure 1 CFLAGS_WASM+=-s FILESYSTEM=0 CFLAGS_WASM+=-s EXPORT_ES6=1 @@ -94,7 +93,7 @@ clean: WASM: $(DIST)/emscripten-module.js $(DIST)/emscripten-module.d.ts WASM_SYMBOLS=$(BUILD_WRAPPER)/symbols.json $(BUILD_WRAPPER)/asyncify-remove.json $(BUILD_WRAPPER)/asyncify-imports.json -$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) +$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(WRAPPER_DEFINES) $(EMCC_EXPORTED_FUNCS) -o $@ $< $(VARIANT_QUICKJS_OBJS) @@ -102,11 +101,11 @@ $(DIST)/emscripten-module.d.ts: $(TEMPLATES)/emscripten-module.$(SYNC).d.ts echo '// Generated from $<' > $@ cat $< >> $@ -$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) (BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(CFLAGS_SORTED_FUNCS) $(WRAPPER_DEFINES) -c -o $@ $< -$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(EMCC_EXPORTED_FUNCS) $(QUICKJS_DEFINES) -c -o $@ $< @@ -121,3 +120,7 @@ $(BUILD_WRAPPER)/asyncify-remove.json: $(BUILD_WRAPPER)/asyncify-imports.json: $(MKDIRP) $(GENERATE_TS) async-callback-symbols $@ + +$(BUILD_WRAPPER)/Makefile.changed: Makefile + $(MKDIRP) + $(GENERATE_TS) hash $< $@ diff --git a/packages/variant-quickjs-node-esm-release-sync-wasm/README.md b/packages/variant-quickjs-node-esm-release-sync-wasm/README.md index ade54f5f..cfa2c5d1 100644 --- a/packages/variant-quickjs-node-esm-release-sync-wasm/README.md +++ b/packages/variant-quickjs-node-esm-release-sync-wasm/README.md @@ -52,13 +52,5 @@ Full variant JSON description: Variant-specific Emscripten build flags: ```json -[ - "-Oz", - "-flto", - "-s SINGLE_FILE=1", - "--closure 1", - "-s FILESYSTEM=0", - "-s EXPORT_ES6=1", - "-s ENVIRONMENT=node" -] +["-Oz", "-flto", "--closure 1", "-s FILESYSTEM=0", "-s EXPORT_ES6=1", "-s ENVIRONMENT=node"] ``` diff --git a/prepareVariants.ts b/prepareVariants.ts index 8d31d015..603d38a5 100755 --- a/prepareVariants.ts +++ b/prepareVariants.ts @@ -134,7 +134,7 @@ const SyncModeFlags = { } const ReleaseModeFlags = { - [ReleaseMode.Release]: [`-Oz`, `-flto`, `-s SINGLE_FILE=1`, `--closure 1`, `-s FILESYSTEM=0`], + [ReleaseMode.Release]: [`-Oz`, `-flto`, `--closure 1`, `-s FILESYSTEM=0`], [ReleaseMode.Debug]: [`-O0`, "-DQTS_DEBUG_MODE", `-gsource-map`, `-s ASSERTIONS=1`], } @@ -297,7 +297,10 @@ async function main() { import: "./dist/ffi.js", require: "./dist/ffi.js", }, - "./wasm": "./dist/emscripten-module.wasm", + "./wasm": + variant.emscriptenInclusion === EmscriptenInclusion.Separate + ? "./dist/emscripten-module.wasm" + : undefined, "./emscripten": { types: "./dist/emscripten-module.d.ts", import: "./dist/emscripten-module.js", diff --git a/scripts/check-packages-built.ts b/scripts/check-packages-built.ts index 34e985a8..9d301108 100755 --- a/scripts/check-packages-built.ts +++ b/scripts/check-packages-built.ts @@ -7,10 +7,16 @@ function hasMagic(str: string) { return glob.hasMagic(str) || str.includes("!") } -for (const pkg of sh.getYarnWorkspaces()) { - const packageJson: Partial = sh.readJson(sh.resolve(pkg.location, "package.json")) +function checkFiles(pkg: sh.WorkspaceJson, packageJson: sh.PackageJson) { + const mustExist = (fileName: string, msg: string) => { + const abs = fileName.startsWith(pkg.location) ? fileName : sh.resolve(pkg.location, fileName) + if (!fs.existsSync(abs)) { + throw new Error(`${msg}: ${abs}`) + } + } + const globs = packageJson.files?.map((file) => sh.resolve(pkg.location, file)) - if (!globs) continue + if (!globs) return const noMagic = globs.filter((str) => !hasMagic(str)) for (const mustExist of noMagic) { @@ -27,7 +33,60 @@ for (const pkg of sh.getYarnWorkspaces()) { } } + for (const [exportName, exportConditions] of Object.entries(packageJson.exports ?? {})) { + if (typeof exportConditions === "string") { + mustExist(exportConditions, `export ${exportName} file does not exist`) + } else { + for (const [condition, exportFile] of Object.entries(exportConditions)) { + mustExist(exportFile, `export ${exportName} condition ${condition} file does not exist`) + } + } + } + + packageJson.main && mustExist(packageJson.main, `package.json main file does not exist`) + packageJson.module && mustExist(packageJson.module, `package.json module file does not exist`) + packageJson.types && mustExist(packageJson.types, `package.json types file does not exist`) +} + +function checkReadme(pkg: sh.WorkspaceJson, packageJson: sh.PackageJson) { if (!fs.existsSync(sh.resolve(pkg.location, "README.md"))) { throw new Error(`package.json files entry must include README.md`) } } + +function checkProperties(pkg: sh.WorkspaceJson, packageJson: sh.PackageJson) { + if (!packageJson.name) { + throw new Error(`package.json must include name`) + } + if (!packageJson.version) { + throw new Error(`package.json must include name`) + } + + if (packageJson.files || packageJson.exports) { + if (!packageJson.main) { + throw new Error(`package.json must include main`) + } + + if (packageJson.main) { + if (!packageJson.types) { + throw new Error(`package.json must include types`) + } + } + } +} + +for (const pkg of sh.getYarnWorkspaces()) { + const packageJson: sh.PackageJson = sh.readJson(sh.resolve(pkg.location, "package.json")) + if (packageJson.private) { + continue + } + + try { + checkFiles(pkg, packageJson) + checkReadme(pkg, packageJson) + checkProperties(pkg, packageJson) + } catch (error) { + error.message = `${pkg.location}: ${error.message}` + throw error + } +} diff --git a/scripts/helpers.ts b/scripts/helpers.ts index 9f4cf9c9..fbf9070f 100644 --- a/scripts/helpers.ts +++ b/scripts/helpers.ts @@ -76,7 +76,7 @@ export async function writePretty(filePath: string, text: string) { fs.writeFileSync(filePath, output) } -interface WorkspaceJson { +export interface WorkspaceJson { location: string name: string } @@ -104,6 +104,7 @@ export function tryReadJson(filepath: string): T | undefined { export interface PackageJson { name: string type?: "module" + private?: boolean version: string description: string sideEffects: false @@ -115,7 +116,7 @@ export interface PackageJson { files: string[] dependencies: Record devDependencies?: Record - exports: Record + exports: Record types?: string main?: string module?: string diff --git a/templates/Variant.mk b/templates/Variant.mk index 90bbe1a3..0d226650 100644 --- a/templates/Variant.mk +++ b/templates/Variant.mk @@ -88,7 +88,7 @@ clean: WASM: $(DIST)/emscripten-module.js $(DIST)/emscripten-module.d.ts WASM_SYMBOLS=$(BUILD_WRAPPER)/symbols.json $(BUILD_WRAPPER)/asyncify-remove.json $(BUILD_WRAPPER)/asyncify-imports.json -$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) +$(DIST)/emscripten-module.js: $(BUILD_WRAPPER)/interface.o $(VARIANT_QUICKJS_OBJS) $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(WRAPPER_DEFINES) $(EMCC_EXPORTED_FUNCS) -o $@ $< $(VARIANT_QUICKJS_OBJS) @@ -96,11 +96,11 @@ $(DIST)/emscripten-module.d.ts: $(TEMPLATES)/emscripten-module.$(SYNC).d.ts echo '// Generated from $<' > $@ cat $< >> $@ -$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_WRAPPER)/%.o: $(WRAPPER_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) (BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(CFLAGS_SORTED_FUNCS) $(WRAPPER_DEFINES) -c -o $@ $< -$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) +$(BUILD_QUICKJS)/%.o: $(QUICKJS_ROOT)/%.c $(WASM_SYMBOLS) | $(EMCC_SRC) $(BUILD_WRAPPER)/Makefile.changed $(MKDIRP) $(EMCC) $(CFLAGS_WASM) $(EMCC_EXPORTED_FUNCS) $(QUICKJS_DEFINES) -c -o $@ $< @@ -115,3 +115,7 @@ $(BUILD_WRAPPER)/asyncify-remove.json: $(BUILD_WRAPPER)/asyncify-imports.json: $(MKDIRP) $(GENERATE_TS) async-callback-symbols $@ + +$(BUILD_WRAPPER)/Makefile.changed: Makefile + $(MKDIRP) + $(GENERATE_TS) hash $< $@ diff --git a/variants.json b/variants.json index 35ec1488..bf6a8afd 100644 --- a/variants.json +++ b/variants.json @@ -470,7 +470,6 @@ "import": "./dist/ffi.js", "require": "./dist/ffi.js" }, - "./wasm": "./dist/emscripten-module.wasm", "./emscripten": { "types": "./dist/emscripten-module.d.ts", "import": "./dist/emscripten-module.js", @@ -580,7 +579,6 @@ "import": "./dist/ffi.js", "require": "./dist/ffi.js" }, - "./wasm": "./dist/emscripten-module.wasm", "./emscripten": { "types": "./dist/emscripten-module.d.ts", "import": "./dist/emscripten-module.js", @@ -690,7 +688,6 @@ "import": "./dist/ffi.js", "require": "./dist/ffi.js" }, - "./wasm": "./dist/emscripten-module.wasm", "./emscripten": { "types": "./dist/emscripten-module.d.ts", "import": "./dist/emscripten-module.js", @@ -800,7 +797,6 @@ "import": "./dist/ffi.js", "require": "./dist/ffi.js" }, - "./wasm": "./dist/emscripten-module.wasm", "./emscripten": { "types": "./dist/emscripten-module.d.ts", "import": "./dist/emscripten-module.js",