Add js-hedgedoc framework-test example (HedgeDoc 1.11.0 + PostgreSQL)#2
Add js-hedgedoc framework-test example (HedgeDoc 1.11.0 + PostgreSQL)#2Arshia001 wants to merge 6 commits into
Conversation
Vendored from the upstream 1.11.0 release tarball (prebuilt frontend under public/build). First app using the harness's ephemeral-database support: routes.json declares a postgres database block; the harness injects CMD_DB_URL and friends. Packaging-level deviations from the tarball are documented in EDGEJS-NOTES.md (pnpm-compatible package.json, passport patch via pnpm patchedDependencies, prebuilt assets un-gitignored). Green on Node baseline, EdgeJS QuickJS native, and QuickJS WASIX. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The framework-test harness's node stage used to delete every GENERATED_FRAMEWORK_PATHS entry unconditionally, which removed the release tarball's prebuilt public/build from the working tree before the original commit was made — so the example landed without its frontend assets (pages still passed because the asserted routes are server-rendered). The harness now preserves git-tracked artifact paths; this restores the assets. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Second DB-backed framework-test app (ECO-355 Phase DB), first to use the harness's MySQL provider and database setup hook. Layout mirrors the upstream production Dockerfile: server/ contents at the root with the Vue client prebuilt at ./dist (served via express.static). Migrations and seeds run through the routes.json database.setup commands (sequelize-cli on host Node); the seeds create the default rssmonster user. Asserted routes: /api/health and / (client shell). Source: upstream master at bbca402 (2026-07-04). Deviations documented in EDGEJS-NOTES.md. Green on Node baseline, EdgeJS QuickJS native, and QuickJS WASIX. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Added js-rssmonster (RSSMonster + MySQL, layout per its production Dockerfile with the Vue client prebuilt at Also restored js-hedgedoc's prebuilt 🤖 Generated with Claude Code |
Third DB-backed framework-test app (ECO-355 Phase DB). Upstream 2.4.0 source plus the official prebuilt frontend for that release (dist/, fetched via the upstream 'npm run download-dist'). Runs in Kuma's mariadb mode against the harness-provisioned MySQL (UPTIME_KUMA_DB_* env via the routes.json database block). Kuma applies its knex migrations automatically at boot — no setup commands — but that migration phase serves a temporary page that 404s API routes, so routes.json raises serverReadyTimeoutMs and relies on the harness's expected-status readiness probe. With a fresh database there is no admin user, so the asserted routes are the unauthenticated surface: /api/entry-page (JSON), /setup, and / (SPA shell). Deviations documented in EDGEJS-NOTES.md (notably: start script flattened to 'node server/server.js' — the upstream 'npm run start-server' indirection cannot resolve npm inside the WASIX guest). Green on Node baseline, EdgeJS QuickJS native, and QuickJS WASIX. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Added js-uptime-kuma (Uptime Kuma 2.4.0 + MySQL, in its 🤖 Generated with Claude Code |
Fourth DB-backed framework-test app (ECO-355 Phase DB). Upstream 1.7.3 release package (prebuilt distribution deployed with 'node production.js'); DB config via the FK_DB_* env vars Firekylin reads natively. Firekylin normally requires a web install wizard on first run; edgejs-install.js (run as a database.setup command on host Node) replaces it deterministically, mirroring src/home/service/install.js: imports firekylin.sql, seeds the installer's options rows and the admin user (phpass hash of md5(salt + password)), and writes the .installed marker. Asserted routes: / (seeded site title), /archives/, /admin. Green on Node baseline and EdgeJS QuickJS native. Skipped on WASIX (edgejs Makefile skip list): ThinkJS always serves through cluster.fork() and the cluster IPC channel is not functional under WASIX today. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Added js-firekylin (Firekylin 1.7.3 + MySQL) — the fourth and final planned DB-backed app. Upstream release package (prebuilt, 🤖 Generated with Claude Code |
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
First DB-backed framework-test app (ECO-355 Phase DB), exercising the new ephemeral-database provisioning in the edgejs harness (see companion edgejs PR).
public/build(un-gitignored on purpose), so there is no webpack build step.routes.jsondeclares adatabaseblock (kind: postgres); the harness provisions an ephemeral PostgreSQL per stage and injectsCMD_DB_URLetc. HedgeDoc runs its migrations automatically on boot, so no seed step is needed./_health,/status,/(bodyContains "HedgeDoc").package.json, passport patch via pnpmpatchedDependencies,CMD_TOOBUSY_LAGraised for JIT-less QuickJS) and documented inEDGEJS-NOTES.md.Green on Node baseline, EdgeJS QuickJS native, and QuickJS WASIX (requires the companion edgejs harness PR).
🤖 Generated with Claude Code