Skip to content

Conversation

@purefunctor
Copy link
Owner

No description provided.

purefunctor and others added 5 commits January 19, 2026 00:39
Introduces the ability to load PureScript packages from the registry
into the playground. Packages are fetched, decompressed, and registered
with the WASM engine to enable type checking against library code.

- Add Get Started panel with example code snippets
- Add Packages panel with dependency resolution and progress tracking
- Implement package fetching with pako decompression
- Add cache layer for package set and loaded packages
- Extend WASM engine with register_module and clear_packages

Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add reusable Workspace component with integrated editor state hooks
- Add useEditorState hook for managing editor state
- Reorganize package loading and Get Started panel

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Replace timing/pendingNavigation return values with onTimingChange and
onNavigate callbacks. This eliminates two useEffect patterns in Workspace
that were syncing derived state, making the flow more predictable by
calling callbacks at the point of action.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Previously, navigating back to the Get Started tab would reset the editor
to the default source because the URL change effect dispatched URL_LOADED
whenever exampleId changed. Now we only update the source when navigating
TO an example, not when leaving one.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@purefunctor purefunctor added the claude Drafted with Claude label Jan 19, 2026
The previous approach used a fragile regex to extract module names JS-side
before registration. This refactors to pass the tar path and source to WASM,
where the actual PureScript parser extracts the module name robustly.

- Add RawModule type (path + source before parsing)
- Add path field to PackageModule as stable identifier
- Replace register_module with register_source in WASM
- register_source returns parsed module name or None on failure

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

claude Drafted with Claude

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants