theseus/addon-build/docx-editor
Hermes Dev 8a08879c49 test(docx-editor): the end-to-end suite moves into the repo
It lived in scratchpad/, which is untracked, and a tidy-up on 2026-10-22
deleted it — along with the pdf-editor's copy of the same harness. Forty
checks of coverage gone, and nothing in the repo so much as mentioned they
had existed. Anything load-bearing belongs next to the code it tests.

Rebuilt as test/e2e.mjs plus test/e2e-harness.mjs, runnable with
`npm run test:e2e`. It boots a throwaway Theseus, opens documents through
the sidebar panel, clicks the real ribbon, types with real key events, saves
and exports, then reads the result back with the add-on's own reader. The
editor carries no test-only hook, so a pass is a pass for what users get.

This is the only level that catches breakage which exists solely in the
browser — a bundle that will not load as a classic script from file://,
webfonts that register and then never fetch, a ribbon button wired to
nothing, a PDF on the wrong paper. All four have happened.

One trap is recorded in the harness: the throwaway profile must not live
under addon-build/, whose package.json declares "type": "module". Node picks
a file's module kind from the nearest package.json above it, so an add-on
seeded into a profile there is parsed as ESM and dies on its first require()
with "require is not defined in ES module scope" — which reads exactly like
the add-on being broken, and is not.

Run against today's build: 38/38, including the new start-on-first-use
activation.
2026-10-28 22:31:57 +02:00
..
test test(docx-editor): the end-to-end suite moves into the repo 2026-10-28 22:31:57 +02:00
.gitignore test(docx-editor): the end-to-end suite moves into the repo 2026-10-28 22:31:57 +02:00
build.mjs feat(docx-editor): ship it in the build, updated over the first-party channel 2026-09-21 22:47:13 +02:00
fetch-fonts.mjs feat(docx-editor): the page fills the window, and two fonts ship with it 2026-09-22 19:12:56 +02:00
make-icons.mjs feat(docx-editor): ship it in the build, updated over the first-party channel 2026-09-21 22:47:13 +02:00
package-lock.json feat(docx-editor): edit Word documents without quietly eating what Word put in them 2026-09-20 20:46:29 +02:00
package.json test(docx-editor): the end-to-end suite moves into the repo 2026-10-28 22:31:57 +02:00
patches.mjs feat(docx-editor): edit Word documents without quietly eating what Word put in them 2026-09-20 20:46:29 +02:00
vendor-entry.js feat(docx-editor): edit Word documents without quietly eating what Word put in them 2026-09-20 20:46:29 +02:00