[codex] Split playground into workspace packages#1278
Merged
jderochervlk merged 18 commits intomasterfrom Apr 28, 2026
Merged
Conversation
…ng.org into vlk/monorepo-foundation
Move shared editor/compiler helpers into @rescript-lang/shared and the playground implementation into @rescript-lang/playground. Wire the docs app to consume both workspace packages and keep playground browser storage access safe during prerendering.
cb52ca9 to
9788098
Compare
d5b8df0 to
103ada5
Compare
…age-split # Conflicts: # .gitignore # apps/docs/__tests__/LandingPage_.test.res # apps/docs/app/routes/LandingPage.res # apps/docs/package.json # apps/docs/plugins/cm6-reason-mode.js # apps/docs/rescript.json # apps/docs/src/bindings/Babel.res # apps/docs/src/bindings/RescriptCompilerApi.res # apps/docs/src/bindings/RescriptCompilerApi.resi # apps/docs/src/common/Ansi.res # apps/docs/src/common/Ansi.resi # apps/docs/src/common/HighlightJs.res # apps/docs/src/common/HighlightJs.resi # apps/docs/src/common/ScrollLockContext.res # apps/docs/src/common/Semver.res # apps/docs/src/common/Semver.resi # apps/docs/src/common/WarningFlagDescription.res # apps/docs/src/common/WarningFlagDescription.resi # apps/docs/src/components/AnsiPre.res # apps/docs/src/components/AnsiPre.resi # apps/docs/src/components/CodeMirror.res # apps/docs/src/components/CodeMirror.resi # apps/docs/src/components/Icon.res # apps/docs/src/components/Icon.resi # apps/docs/src/components/Text.res # apps/docs/src/components/Text.resi # apps/docs/src/components/ToggleButton.res # apps/docs/src/ffi/loadScript.js # apps/docs/src/playground/CompilerManagerHook.res # apps/docs/src/playground/CompilerManagerHook.resi # apps/docs/src/playground/ConsolePanel.res # apps/docs/src/playground/EvalIFrame.res # apps/docs/src/playground/LzString.res # apps/docs/src/playground/OutputPanel.res # apps/docs/src/playground/Playground.res # apps/docs/src/playground/Playground.resi # apps/docs/src/playground/PlaygroundLazy.res # apps/docs/src/playground/RenderPanel.res # apps/docs/src/playground/RenderPanel.resi # apps/docs/vitest.setup.mjs # packages/playground/ffi/loadScript.js # packages/playground/src/CompilerManagerHook.res # packages/playground/src/CompilerManagerHook.resi # packages/playground/src/ConsolePanel.res # packages/playground/src/EvalIFrame.res # packages/playground/src/LzString.res # packages/playground/src/OutputPanel.res # packages/playground/src/Playground.res # packages/playground/src/Playground.resi # packages/playground/src/PlaygroundLazy.res # packages/playground/src/RenderPanel.res # packages/playground/src/RenderPanel.resi # packages/playground/src/ToggleButton.res # packages/shared/plugins/cm6-reason-mode.js # packages/shared/src/Ansi.res # packages/shared/src/Ansi.resi # packages/shared/src/AnsiPre.res # packages/shared/src/AnsiPre.resi # packages/shared/src/Babel.res # packages/shared/src/CodeMirror.res # packages/shared/src/CodeMirror.resi # packages/shared/src/HighlightJs.res # packages/shared/src/HighlightJs.resi # packages/shared/src/Icon.res # packages/shared/src/Icon.resi # packages/shared/src/RescriptCompilerApi.res # packages/shared/src/RescriptCompilerApi.resi # packages/shared/src/ScrollLockContext.res # packages/shared/src/Semver.res # packages/shared/src/Semver.resi # packages/shared/src/Text.res # packages/shared/src/Text.resi # packages/shared/src/WarningFlagDescription.res # packages/shared/src/WarningFlagDescription.resi # plugins/cm6-reason-mode.js # rescript.json # src/bindings/Babel.res # src/bindings/RescriptCompilerApi.res # src/bindings/RescriptCompilerApi.resi # src/common/Ansi.res # src/common/Ansi.resi # src/common/HighlightJs.res # src/common/HighlightJs.resi # src/common/ScrollLockContext.res # src/common/Semver.res # src/common/Semver.resi # src/common/WarningFlagDescription.res # src/common/WarningFlagDescription.resi # src/components/AnsiPre.res # src/components/AnsiPre.resi # src/components/CodeMirror.res # src/components/CodeMirror.resi # src/components/Icon.res # src/components/Icon.resi # src/components/Text.res # src/components/Text.resi # src/components/ToggleButton.res # src/ffi/loadScript.js # src/playground/CompilerManagerHook.res # src/playground/CompilerManagerHook.resi # src/playground/ConsolePanel.res # src/playground/EvalIFrame.res # src/playground/LzString.res # src/playground/OutputPanel.res # src/playground/Playground.res # src/playground/Playground.resi # src/playground/PlaygroundLazy.res # src/playground/RenderPanel.res # src/playground/RenderPanel.resi # yarn.lock
Cloudflare deploymentDeployement ID: a2124899-1a59-4ce3-be4c-106a589ffe2a ⛅️ wrangler 4.85.0 ✨ Uploading _redirects |
fhammerschmidt
approved these changes
Apr 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Context
This is stacked on top of
vlk/monorepo-foundationand prepares the docs/playground split needed forguide.rescript-lang.org.Summary
packages/sharedfor reusable editor/compiler helpers such as CodeMirror, HighlightJs, Semver, icons, text components, and compiler API bindings.packages/playgroundfor the current playground implementation and its direct runtime/editor dependencies.apps/docsto depend on@rescript-lang/sharedand@rescript-lang/playgroundthrough the workspace graph./trydoes not accesswindowat build time.workspace:*dependencies.Verification
yarn build:resyarn build:scriptsyarn build:update-indexyarn build:viteyarn ci:formatyarn vitest --browser.headless --runyarn testoutside the sandboxFormat,Site_Checks,Vitest,Deploy,E2E Tests