Application source and build instructions — website 0.4.1

Connected experience — website 0.4.1 and backend 0.4.0 source

The application source archive includes the editable WordPress and server code, Swiss Ephemeris source and licence notices. This page documents the ESM bundles used for the dashboard deployment format.

Download application source and licences

Source archive SHA256: f1fce9bdaaf9ac34b2b56903971760dba12a142f5417ec528be9c83ef27ed26c.

Bundler: esbuild 0.28.2, macOS ARM binary SHA256 10b6243df618d374bb2d5c9cfbe7052e1405f6aa4e53a6164f11a91b9f2e1384. No plugin or external dependency resolution is used by these commands.

Prepare the source layout

Use /private/tmp/mtc-esbuild040-run-20261001 as the recorded build root. Create its input/ and out/ directories, place the pinned esbuild executable at bin/esbuild, and put the four staging folders under input/. From mtc-source/supabase-project/supabase/functions/ in the archive, prepare those folders: mtc-api, mtc-monthly-worker, mtc-monthly-unsubscribe and mtc-mail-worker. Copy each index.ts, replace its import prefix ../_shared/mtc/ with ./mtc/, and copy _shared/mtc/ into the local mtc/ folder. For the receipt-worker entry, normalize { createEdgeRouter } to {createEdgeRouter} to reproduce the recorded input bytes. These are path and whitespace adjustments only.

Run all four commands from the recorded build root as shown by the cd command. Both staging paths and the current working directory affect generated comments and metadata names. The recorded commands use the original temporary build path. Adjust filesystem paths for your environment; generated comments and metadata may differ if the path layout changes. The API embeds the pinned WASM bytes locally; no remote engine download is needed.

Build commands

cd /private/tmp/mtc-esbuild040-run-20261001

/private/tmp/mtc-esbuild040-run-20261001/bin/esbuild /private/tmp/mtc-esbuild040-run-20261001/input/mtc-api/index.ts --bundle --platform=neutral --format=esm --target=es2022 --tree-shaking=false '--tsconfig-raw={}' --legal-comments=inline --charset=utf8 --log-level=warning --log-limit=10 --color=false --outfile=/private/tmp/mtc-esbuild040-run-20261001/out/mtc-api.js --metafile=/private/tmp/mtc-esbuild040-run-20261001/out/mtc-api.meta.json
/private/tmp/mtc-esbuild040-run-20261001/bin/esbuild /private/tmp/mtc-esbuild040-run-20261001/input/mtc-monthly-worker/index.ts --bundle --platform=neutral --format=esm --target=es2022 --tree-shaking=false '--tsconfig-raw={}' --legal-comments=inline --charset=utf8 --log-level=warning --log-limit=10 --color=false --outfile=/private/tmp/mtc-esbuild040-run-20261001/out/mtc-monthly-worker.js --metafile=/private/tmp/mtc-esbuild040-run-20261001/out/mtc-monthly-worker.meta.json
/private/tmp/mtc-esbuild040-run-20261001/bin/esbuild /private/tmp/mtc-esbuild040-run-20261001/input/mtc-monthly-unsubscribe/index.ts --bundle --platform=neutral --format=esm --target=es2022 --tree-shaking=false '--tsconfig-raw={}' --legal-comments=inline --charset=utf8 --log-level=warning --log-limit=10 --color=false --outfile=/private/tmp/mtc-esbuild040-run-20261001/out/mtc-monthly-unsubscribe.js --metafile=/private/tmp/mtc-esbuild040-run-20261001/out/mtc-monthly-unsubscribe.meta.json
/private/tmp/mtc-esbuild040-run-20261001/bin/esbuild /private/tmp/mtc-esbuild040-run-20261001/input/mtc-mail-worker/index.ts --bundle --platform=neutral --format=esm --target=es2022 --tree-shaking=false '--tsconfig-raw={}' --legal-comments=inline --charset=utf8 --log-level=warning --log-limit=10 --color=false --outfile=/private/tmp/mtc-esbuild040-run-20261001/out/mtc-mail-worker.js --metafile=/private/tmp/mtc-esbuild040-run-20261001/out/mtc-mail-worker.meta.json

Recorded build outputs

FileBytesSHA256
mtc-api.js807409169c194a40294714741b67a53404406ec58f66856dde007f90f7fbe44e1aca37
mtc-api.meta.json9932f9755a745c646a7f9122c7d70e4cb439f170037c4eff57088b5048cd6cbf78e4
mtc-mail-worker.js134816715d6291a8a7e7434d528c8e640edb85830085932580577a9be6d9803863cb47
mtc-mail-worker.meta.json77946b3d1e16e646fce64907311c52d1ef4897337cdad91dd058ed732c08b05a2f93
mtc-monthly-unsubscribe.js134957cdeb1d1d5388cf5654db443d2219f7321b2b13db705e53178dd906e382b6e1be
mtc-monthly-unsubscribe.meta.json82183f7293449267f41494ed8737ad7f6643db3375568d3b556697610833bf6c3433
mtc-monthly-worker.js134872be99c811ec6ccf1e41a19f0d655063f49148485c406bbcb5492605a9c9694c88
mtc-monthly-worker.meta.json7953dbfd88b9bd2d2c7124e20a5e65baf373eff97ab9786a0b04ddecb6151e4d0996

These hashes identify the local build outputs before any dashboard editor newline normalization. Four disabled-configuration startup smoke tests passed on 1 October 2026; they checked handler startup and fail-closed configuration without network or engine execution. That test does not establish enabled provider delivery or numerical accuracy. Retain all licence notices when redistributing source or bundles.