#!/usr/bin/make -f # -*- makefile -*- #export DH_VERBOSE=1 # Compile the helper scripts (and their src/ deps) as a CommonJS bundle so # Node.js can run them without ts-node ESM (broken with module:nodenext). TSC_SCRIPTS = tsc --ignoreConfig --ignoreDeprecations 6.0 \ --module commonjs --moduleResolution node \ --target es2020 --esModuleInterop \ --resolveJsonModule --skipLibCheck --types node \ --rootDir . --outDir build-scripts %: dh $@ generated: src/generated/decode-data-html.ts src/generated/encode-html.ts override_dh_auto_build: generated # 1. ESM build (the upstream tsconfig) tsc # 2. Extra CommonJS build so consumers that still use require("entities") # (e.g. node-jsdom 20 → node-parse5) keep working. # The CJS build's `exports` aliasing is wired in via # debian/patches/package-json-cjs-exports.patch. tsc --ignoreConfig \ --module commonjs --moduleResolution bundler \ --target es2020 --esModuleInterop \ --resolveJsonModule --skipLibCheck --types node \ --rootDir src --outDir dist/cjs \ src/index.ts src/decode.ts src/escape.ts echo '{"type":"commonjs"}' > dist/cjs/package.json build-scripts/scripts/write-decode-map.js: $(TSC_SCRIPTS) scripts/write-decode-map.ts echo '{"type":"commonjs"}' > build-scripts/package.json build-scripts/scripts/write-encode-map.js: $(TSC_SCRIPTS) scripts/write-encode-map.ts echo '{"type":"commonjs"}' > build-scripts/package.json src/generated/decode-data-html.ts: build-scripts/scripts/write-decode-map.js node build-scripts/scripts/write-decode-map.js src/generated/encode-html.ts: build-scripts/scripts/write-encode-map.js node build-scripts/scripts/write-encode-map.js .PHONY: generated