Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add an interactive playground to the documentation site #216

Merged
merged 8 commits into from
Jan 5, 2025

Conversation

mnahkies
Copy link
Owner

@mnahkies mnahkies commented Jun 2, 2024

Oh boy was this more of a pain than I expected.

Creates an interactive playground similar to the typespec or typescript ones, based on https://github.com/microsoft/monaco-editor

The actual code generation is off-loaded to a web worker, which actually made the react side of things much simpler and easier to reason about, and reduces blocking on the UI thread/main event loop.

Prettier is used instead of Biome due to difficulties getting the WASM to load correctly in the browser / with nextjs. Unfortunately Prettier hits a maximum recursion limit when formatting some of the larger files (in firefox at least), so it would be good to revisit this and try and get Biome working.

When loading the larger files, the performance of the editor gets a bit shaky. I'm unsure if there is a way to offload more of the editor to web workers to reduce strain on the UI thread.

Demo Video
https://github.com/user-attachments/assets/5b34f63e-9eaf-4e27-88e9-5a6a0bf5b9fe

@mnahkies mnahkies force-pushed the mn/feat/playground branch from 66b7c29 to 6d16802 Compare June 21, 2024 09:56
@mnahkies mnahkies force-pushed the mn/feat/playground branch 3 times, most recently from 7143634 to 513b30c Compare December 27, 2024 12:01
@mnahkies mnahkies force-pushed the mn/feat/playground branch from 43f9be0 to d0fd8f1 Compare January 5, 2025 14:09
@mnahkies mnahkies force-pushed the mn/feat/playground branch from d0fd8f1 to 8eac716 Compare January 5, 2025 14:42
@mnahkies mnahkies marked this pull request as ready for review January 5, 2025 14:43
@mnahkies mnahkies enabled auto-merge (squash) January 5, 2025 14:43
@mnahkies mnahkies disabled auto-merge January 5, 2025 14:46
@mnahkies mnahkies enabled auto-merge (squash) January 5, 2025 14:49
@mnahkies mnahkies merged commit d0d73fa into main Jan 5, 2025
4 checks passed
@mnahkies mnahkies deleted the mn/feat/playground branch January 5, 2025 15:02
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