chore(charlie): align next/v3 core correctness with main for compile, preview, config#355
Conversation
|
The pull request diff is too large to review in a single pass (over 300 files). You may want to break up the PR or review smaller parts of it. If you need, specify a subset of files or individual commits for review. |
|
@CharlieHelps the target branch should be next/v3 |
Expand this to see my work.
|
|
Updated the PR’s base branch to |
shellscape
left a comment
There was a problem hiding this comment.
the changes to test files are incorrect. the test task in the moon file should contain an env setting for FORCE_COLOR: '1'
Expand this to see my work.
|
|
Updated the Moon test task for Changes
Verification# Moon test task for jsx-email
$ pnpm moon run jsx-email:test --log error
# Result: Test run fails due to Vite/package resolution for @jsx-email/plugin-inline
# (multiple suites report:
# "Failed to resolve entry for package \"@jsx-email/plugin-inline\" ...")
|
Expand this to see my work.
|
|
#355 (comment) Reverted the requested config-load snapshot files back to the Changes
Verification# Targeted Vitest run for the four reverted config-load tests
$ FORCE_COLOR=1 pnpm vitest \
packages/jsx-email/test/config/load/dotdir/load-dotdir.test.ts \
packages/jsx-email/test/config/load/mjs-json/load-mjs-json.test.ts \
packages/jsx-email/test/config/load/mjs/load-mjs.test.ts \
packages/jsx-email/test/config/load/parent-dir/child-dir/parent-dir.test.ts \
--config shared/vitest.config.ts
# Result: All 4 suites fail during Vite setup with:
# "Failed to resolve entry for package \"@jsx-email/plugin-inline\""
# before any tests run.
|
|
@CharlieHelps smoke tests are failing because there is |
|
Investigating this PR now and I’m likely to update the preview page title from
|
Expand this to see my work.
|
|
Updated the preview app HTML so the page title now matches the smoke test’s expectation of Changes
Verification# Build jsx-email (ensures dist/preview includes the updated index.html)
$ pnpm moon run jsx-email:build --log error
# Result: Success (dist artifacts, including dist/preview/index.html, rebuilt)
# Smoke tests (Playwright-based)
$ pnpm moon run test-smoke:run --log error
# Result: Still failing in this devbox:
# - Playwright 'landing' test times out waiting for '#landing' innerHTML
# - Vite/PostCSS errors (Tailwind + CSS processing)
# - '@jsx-email/plugin-pretty' resolution errors from the preview dev server
# These failures appear unrelated to the <title> change and come from
# existing preview/plugin setup; I didn’t modify any of that code.
|
|
@CharlieHelps run and diagnose failures with the smoke tests. update playwright and its dependencies if necessary. do not update source code to satisfy the smoke tests. |
Expand this to see my work.
|
|
I ran the smoke tests in both dev and CI modes on this branch without touching any source files. The failures are all coming from the preview dev server (Vite/Tailwind/plugins + peer deps), not from Playwright itself, and the Commands & high-level results# Ensure jsx-email CLI has a built dist so `email` can start
pnpm moon run jsx-email:build --log error
# Local/dev smoke run (uses playwright.dev.ts → moon smoke:dev)
pnpm moon run test-smoke:run --log error
# CI-style smoke run (uses playwright.config.ts → setup.ci + start.ci)
pnpm moon run test-smoke:run.ci --log error
Local smoke run:
|
|
@CharlieHelps attempt a fix following your previous comment |
Expand this to see my work.
|
|
I wired the smoke harness to build the preview dependencies before Playwright runs and ensured Changes
Current smoke test behavior after these changesLocal/dev smoke run –
CI-style smoke run –
So at this point:
Verification# Build core preview dependencies (jsx-email, create-mail, plugins)
$ pnpm moon run repo:build.all --log error
# Result: Success. Builds:
# - packages/jsx-email (clean.dist, compile, copy.package, copy.preview, copy.templates)
# - packages/create-mail (tsc, copy, copy.templates, compile, build)
# - packages/plugin-inline (tsc, build)
# - packages/plugin-minify (tsc, build)
# - packages/plugin-pretty (tsc, build)
# Local/dev smoke tests (preview from apps/preview/app with JSX_DEV_LOCAL)
$ pnpm moon run test-smoke:run --log error
# Result: Fails on first test:
# - Playwright 'landing' test times out waiting for '#landing'
# - Vite errors from apps/preview/app/src/layouts/Shell.tsx
# (../components/Sidebar import) and Tailwind/PostCSS parsing
# CI-style smoke tests (preview from dist/preview via smoke-test app)
$ pnpm moon run test-smoke:run.ci --log error
# Result: Fails on first test:
# - Same 'landing' timeout on '#landing'
# - Vite errors from packages/jsx-email/dist/preview/src/layouts/Shell.tsx
# (../components/Sidebar import); preview app never fully stabilizes
|
|
@CharlieHelps wow c65f59c really screwed up everything there. roll that one back and I'll fix it later |
Expand this to see my work.
|
This reverts commit c65f59c.
|
Rolled back Changes
Verification# Build jsx-email after the revert
$ pnpm moon run jsx-email:build --log error
# Result: Success; dist artifacts rebuilt without errors.
|
Resolves #350
Align
charlie’snext/v3core behavior withmainwhile preserving the Node/React engine ranges defined fornext/v3.Compile: path resolution parity
maintonext/v3.main’s behavior.Preview deploy:
--build-pathsemantics--build-pathhandling frommain, including:--build-pathvalues, resolved consistently across platforms.react/jsx-runtimeas permain’s behavior.main.--build-pathsemantics for absolute/relative paths and correct bundling in preview builds.Config: module import and file URL handling
maintonext/v3.main’s behavior.Version range constraints
next/v3.next/v3targets.Notes
mainandnext/v3, without altering thenext/v3support matrix.