Skip to content

refactor: move to vite-plus workspace and prepare first release#1

Merged
peter-gy merged 14 commits into
mainfrom
ptr/release-prep
Jul 11, 2026
Merged

refactor: move to vite-plus workspace and prepare first release#1
peter-gy merged 14 commits into
mainfrom
ptr/release-prep

Conversation

@peter-gy

@peter-gy peter-gy commented Jul 11, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Prepare to publish @marimo-team/mdx-marimo
  • Support React, Next.js, Docusaurus, Astro, Vue, and Nuxt through focused integration examples.
  • Move authored documentation to top-level docs, with Fumadocs acting as the renderer with tanstack instead of nextjs

Architecture

  • @marimo-team/islands-bridge owns the host-neutral page protocol, custom element, asset loading, navigation, theme bridging, shared styles, and browser lifecycle.
  • @marimo-team/mdx-marimo owns fence parsing, page identity, Node-to-Python compilation, MDX projection, and the React adapter.
  • React remains an optional peer dependency. Framework-neutral hosts register the custom element directly.
  • The private bridge package is bundled into the published mdx-marimo tarball.
MDX page
  -> MarimoPageRequest
  -> Python page compiler
  -> CompiledMarimoPage
  -> static cell output
  -> shared islands-bridge runtime

Tooling and release

  • Adopt Vite+ for workspace checks, tests, builds, and package assembly.
  • Add Node 24 CI, GitHub Pages artifact deployment, and npm trusted publishing for version tags.
  • Add package, architecture, contribution, validation, and release documentation.

peter-gy added 14 commits July 9, 2026 13:24
Move the host-neutral protocol, browser lifecycle, and shared styles into the private islands bridge. Compile every MDX page through one packaged Python boundary, expose the React and custom-element adapters, and use Vite+ for workspace builds and package assembly.
Configure React, Next.js, and Docusaurus through remarkMarimo, mount one shared React runtime per host, and remove checked-in compiler session output from the fixtures.
Configure Astro, Vue, and Nuxt with remarkMarimo and register the framework-neutral custom element once in each browser host.
Point Fumadocs at the repository-level docs directory, preserve the marimo tutorial corpus, and add focused installation, framework, authoring, JavaScript, and styling references.
Render the documentation beneath its Pages base path, keep server-function payloads available in the static build, mount the React island runtime with each docs page, and route the site root directly to the docs.
Lead with the page-level reactive model, add a working editor=true example, and point each supported framework to its integration fixture.
Document package ownership, the page compiler and browser lifecycle, Vite+ development commands, validation boundaries, pull request expectations, and the recurring tagged release process.
Read the runtime from the repository-level node version file, install through the pinned Vite+ setup action, and run checks, tests, and builds for pushes and pull requests.
Build the static documentation with its workspace dependencies, upload the generated site as a Pages artifact, and deploy it in a separate environment-scoped job.
Build and verify one mdx-marimo tarball, pass it between isolated artifact and publish jobs, authenticate npm through OIDC, and update GitHub release notes after publication succeeds.
Use the vp executable installed by setup-vp for checks, tests, and builds. Enable Corepack only where the release workflow needs pnpm to assemble the npm tarball.
@peter-gy
peter-gy merged commit 7aaf897 into main Jul 11, 2026
7 checks passed
@peter-gy
peter-gy deleted the ptr/release-prep branch July 11, 2026 12:44
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