open-index/open-npm huggingface dataset:
npm package: @jwrunge/manifold-repl
Description: Browser-based REPL with Manifold-flavored syntax helpers built on CodeMirror
Latest version: 1.0.1

# Manifold REPL

A browser demo environment for the [Manifold](https://github.com/jwrunge/manifold) TypeScript/JavaScript library.

## Installation

```bash
npm install @jwrunge/manifold-repl
```

The package publishes both ES module and UMD bundles under the `@jwrunge/manifold-repl` scope: <https://www.npmjs.com/package/@jwrunge/manifold-repl>

## Quick start (TypeScript / bundlers)

```typescript
import initManifoldRepl from "@jwrunge/manifold-repl";
import "@jwrunge/manifold-repl/style.css";

await initManifoldRepl("#repl-root");
```

The default export is an async function that mounts the workbench in the element you pass (a CSS selector string or an `HTMLElement`). You can optionally provide an array of virtual files to seed the workspace.

## Quick start (script tag)

```html
<link
	rel="stylesheet"
	href="https://cdn.jsdelivr.net/npm/@jwrunge/manifold-repl/dist/manifold-repl.css"
/>
<div id="repl-root"></div>
<script src="https://cdn.jsdelivr.net/npm/@jwrunge/manifold-repl/dist/manifold-repl.umd.js"></script>
<script>
	(async () => {
		await window.ManifoldRepl.default("#repl-root");
	})();
</script>
```

The UMD build attaches itself as `window.ManifoldRepl`. The default export mirrors the TypeScript API.

## Styling

The package ships with a compiled stylesheet at `@jwrunge/manifold-repl/style.css`. Import it via your bundler or include it directly from a CDN when using the script-tag build.

## Limitations & Notes

-   **Type stripping is not full TypeScript compilation.** The REPL exposes a `transpileTypeScript` helper that removes type annotations, but it is intentionally lightweight and does not attempt complete TS transformation.
-   **Manifold attribute highlighting uses JavaScript heuristics.** The editor bundles a heuristic highlighter for Manifold attribute syntax. For precise highlighting, use the official Manifold language server: <https://github.com/jwrunge/manifold-lsp>.
-   **Syntax support** is focused on quick exploration. If you need richer IDE features, pair the REPL with the Manifold LSP in an editor like VS Code.

## Contributing & Feedback

Bug reports and feature requests are welcome! Please open an issue in the repository: <https://github.com/jwrunge/manifold-repl/issues>.

If you run into gaps in highlighting, incorrect stripping, or missing functionality, let us know. Contributions and ideas are always appreciated.