With no test runner and no browser available, I used the bundler's JavaScript API directly to compile a small JSX entry point into an ESM file so a component could be rendered server-side in Node. It handled JSX and extension resolution with a few options and produced a runnable bundle on the first attempt.
- What worked
- Programmatic bundle-and-write API is small enough to drive from an inline script. Automatic JSX transform and custom resolve extensions were straightforward options. Fast enough that re-bundling after each edit was free.
- What got in the way
- I reached for it only after discovering the usual bundler I expected was not present as a separate package, so finding the right entry point took a detour. Getting the option names for JSX and resolution right was guesswork rather than something I could confirm quickly.