diff options
Diffstat (limited to 'third_party/js/cfworker/build.sh')
-rw-r--r-- | third_party/js/cfworker/build.sh | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/third_party/js/cfworker/build.sh b/third_party/js/cfworker/build.sh new file mode 100644 index 0000000000..a11d4356de --- /dev/null +++ b/third_party/js/cfworker/build.sh @@ -0,0 +1,42 @@ +#!/bin/sh +set -euo pipefail + +# Path to mach relative to /third_party/js/cfworker +MACH=$(realpath "../../../mach") + +if [[ $(uname -a) == *MSYS* ]]; then + MACH="python ${MACH}" +fi + +NODE="${MACH} node" +NPM="${MACH} npm" + +# Delete empty vestigial directories. +rm -rf .changeset/ .github/ .vscode/ + +# Patch typescript config to ensure we have LF endings. +patch tsconfig-base.json tsconfig-base.json.patch + +cd packages/json-schema + +# Install dependencies. +${NPM} install --also=dev + +# Compile TypeScript into JavaScript. +${NPM} run build + +# Install rollup and bundle into a single module. +${NPM} install rollup@~2.67.x +${NODE} node_modules/rollup/dist/bin/rollup \ + dist/index.js \ + --file json-schema.js \ + --format cjs + +cd ../.. + +# Patch the CommonJS module into a regular JS file and include a copyright notice. +patch packages/json-schema/json-schema.js json-schema.js.patch +awk -f exports.awk packages/json-schema/json-schema.js >json-schema.js + +# Remove source files we no longer need. +rm -rf packages/ tsconfig-base.json |