Skip to content

Fix main CI dependency resolution#95

Merged
remorses merged 4 commits into
mainfrom
opencode/fix-main-safe-mdx-lock
May 13, 2026
Merged

Fix main CI dependency resolution#95
remorses merged 4 commits into
mainfrom
opencode/fix-main-safe-mdx-lock

Conversation

@remorses
Copy link
Copy Markdown
Owner

Summary

  • Replaces the stale local safe-mdx lockfile link with the published package so GitHub Actions can resolve safe-mdx/parse during pnpm build.
  • Adds a CLI ambient module shim for website/dist/src/server.d.ts because this main-branch build does not emit website declarations.

Validation

  • pnpm install --frozen-lockfile
  • pnpm --dir cli build
  • pnpm build
  • npx lintcn lint in cli

npx lintcn lint in vite still reports pre-existing unrelated issues in src/lib/openapi/* and src/lib/sync.ts; none are in the changed files.

The main branch CI was failing in the Vite package because pnpm-lock.yaml still resolved safe-mdx through a local file link outside the checkout. GitHub Actions installed successfully, but TypeScript could not resolve safe-mdx or safe-mdx/parse during pnpm build.

This updates @holocron.so/vite to use the published safe-mdx package and regenerates the lockfile so CI installs a real package instead of a missing local link.

After that fix, the root build reached the CLI package and exposed the next build-order issue: the CLI imports the built website app type, but this branch does not emit website declaration files. A tiny ambient shim keeps the existing import shape compiling on main without pulling website source internals into the CLI typecheck.

Validation:
- pnpm install --frozen-lockfile
- pnpm --dir cli build
- pnpm build
- npx lintcn lint in cli passed
- npx lintcn lint in vite only reported existing unrelated issues in src/lib/openapi and src/lib/sync.ts

Session: ses_1dedcadcaffenDH5N3W85hpDii
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 02aaf18a97

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread vite/package.json
"remark-gfm": "^4.0.1",
"remark-mdx": "^3.1.1",
"safe-mdx": "^1.3.9",
"safe-mdx": "^1.10.0",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Remove the safe-mdx workspace override too

This manifest change still will not make CI use the published safe-mdx: I checked pnpm-workspace.yaml, which still overrides safe-mdx to link:../safe-mdx, and the committed lockfile still records vite's safe-mdx as link:../../safe-mdx. In a fresh GitHub Actions checkout without that sibling repository, workspace installs/builds continue to depend on the missing local link instead of the new ^1.10.0 package, so the dependency-resolution failure this commit is meant to fix remains until the override is removed and the lockfile is regenerated.

Useful? React with 👍 / 👎.

remorses added 3 commits May 13, 2026 13:56
The first CI fix bumped @holocron.so/vite to a published safe-mdx range, but pnpm-workspace.yaml still forced every safe-mdx dependency to link:../safe-mdx. That works on this machine because a sibling checkout exists, but it fails in GitHub Actions where the sibling package is not present.

This removes the workspace override and regenerates pnpm-lock.yaml so CI installs safe-mdx from the registry. The full root build now succeeds after a frozen install.

Validation:
- pnpm install --frozen-lockfile
- pnpm build

Session: ses_1dedcadcaffenDH5N3W85hpDii
The previous CI fix got the workspace to install safe-mdx from the registry again, which let GitHub Actions progress to the website build. That exposed the existing BetterAuth adapter mismatch: the website imports `@better-auth/drizzle-adapter/relations-v2` because this repo uses `drizzle-orm@1.0.0-beta`, but the lockfile still resolved BetterAuth packages that did not publish the drizzle v1 adapter entrypoint CI needs.

This pins the website BetterAuth runtime and drizzle adapter to the PR #9489 package builds that add drizzle v1 support. The lockfile is regenerated from those package URLs so a frozen CI install gets the same dependency graph that passed locally.

Validation:
- pnpm install --frozen-lockfile
- pnpm build

Session: ses_1dedcadcaffenDH5N3W85hpDii
The safe-mdx update made the realworld Polar fixture expose a stale `.mdx` snippet import. Holocron only supports local JS and TS component imports from MDX, so the import resolver now ignores exact `.mdx` and `.md` component paths instead of handing them to Vite's JS/RSC scanner.

This also refreshes brittle integration assertions that were still pinned to old fixture details: Chromium may serialize `#ff00ff` as `#f0f`, the sidebar width tokens are now 230/396/1200, single-heading pages intentionally do not render an inline TOC, and Polar's real docs headings can include extra page-level sections.

Validation:
- pnpm build (vite)
- pnpm --filter integration-tests test-e2e-start --project=fields
- pnpm --filter integration-tests test-e2e-start --project=realworld-polar
- E2E_PORT_BASE_PATH=61001 ... E2E_PORT_VERSIONS=61020 pnpm --filter integration-tests test-e2e-start
- npx lintcn lint (integration-tests)
- npx lintcn lint (vite; still reports pre-existing sync/openapi lint issues)

Session: ses_1dedcadcaffenDH5N3W85hpDii
@remorses remorses merged commit 177e7bf into main May 13, 2026
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant