{"_id":"mini-react-repl","_rev":"33-5acca556953e0d0ed5e0b6dc74340762","name":"mini-react-repl","dist-tags":{"latest":"0.26.0"},"versions":{"0.1.0":{"name":"mini-react-repl","version":"0.1.0","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.1.0","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"36440fc6a8ffaf05268754b37da1d6a9f1d44d15","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.1.0.tgz","fileCount":28,"integrity":"sha512-VDvReR1i9IAuB2kH5xW0mIAfvfLikw3sGIjqAWSeUoBgnVbEgaTFG58xeKcWUdUAU9Od+S9N1gKM2DwQ2l3gEg==","signatures":[{"sig":"MEUCIDzwlQLXfaqpCj31hVXLb+wtRNZyZ4wijl+7A0K0N/w2AiEAm9cWhHAQqieDLcVUXE8ftCc7LMNrXSSf9HmeX9PdXXM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4881348},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./theme.css":"./dist/theme.css","./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-builder":{"types":"./dist/vendor-builder/build.d.ts","import":"./dist/vendor-builder/build.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"gitHead":"2430a92d4a76dca3fc79005b62f1276e064707fd","scripts":{"dev":"pnpm --filter demo dev","lint":"oxlint","test":"vitest run","build":"node scripts/build-runtime.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css && node scripts/strip-vendor-sourcemap.mjs","format":"oxfmt","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","typecheck":"tsc --noEmit && tsc --noEmit -p examples/demo","test:watch":"vitest","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"jantimon","email":"j.nicklas@me.com"},"repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.6.2","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@playwright/test":"^1.59.1","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.1.0_1777297725901_0.7406009629134391","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"mini-react-repl","version":"0.1.1","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.1.1","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"502c8a5eda29b96f93773433d1301727da9389c6","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.1.1.tgz","fileCount":28,"integrity":"sha512-y2/MeYquwo/faznxJ9kf7hNczpXKPzLA9QH2m2/UqS9lJ+4749dPOOgtVVuk4JNmGon4R9KGmynJtsseguYERA==","signatures":[{"sig":"MEUCIQDU+CwMFgFVdwh3hqZQB1cHzKg3/vUt7XKXueFbz/m7BAIgeVWDbXxyt6yS3k6NUGE78V9JlmNx/Fnd1UppAVMXrCU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4890940},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./theme.css":"./dist/theme.css","./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-builder":{"types":"./dist/vendor-builder/build.d.ts","import":"./dist/vendor-builder/build.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"gitHead":"69f54fd8213671ce6b69207107f1e5718ade32be","scripts":{"dev":"pnpm --filter demo dev","lint":"oxlint","test":"vitest run","build":"node scripts/build-runtime.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css && node scripts/strip-vendor-sourcemap.mjs","format":"oxfmt","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","typecheck":"tsc --noEmit && tsc --noEmit -p examples/demo","test:watch":"vitest","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"jantimon","email":"j.nicklas@me.com"},"repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.6.2","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@playwright/test":"^1.59.1","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.1.1_1777301056049_0.2068717264309663","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"mini-react-repl","version":"0.1.2","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.1.2","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"9ef11b338e9e3fdf1ea4f15f552e4090d99d1e91","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.1.2.tgz","fileCount":28,"integrity":"sha512-p16FRa+aRfn1/s1Kz9zgD09vYr+3VLoxHOhYV0LIhZlCjbP1Cq44YSftyhg7FyS1Hj/9gTfVGZHweoxhqsSthA==","signatures":[{"sig":"MEUCIQCx3NCU3BWy5cTl7/b9hfD6UKbQjAMTJ4G1q7vV2tIhhwIgKhQwsWzuQz8xE48YSTtRxG4g5XtDmKUUoYy/xKWROig=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4986322},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./theme.css":"./dist/theme.css","./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-builder":{"types":"./dist/vendor-builder/build.d.ts","import":"./dist/vendor-builder/build.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"gitHead":"885c0340ef7953e47233ef79f6aa24712d615374","scripts":{"dev":"pnpm --filter demo dev","lint":"oxlint","test":"vitest run","build":"node scripts/build-runtime.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css && node scripts/strip-vendor-sourcemap.mjs","format":"oxfmt","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","typecheck":"tsc --noEmit && tsc --noEmit -p examples/demo","test:watch":"vitest","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"jantimon","email":"j.nicklas@me.com"},"repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.6.2","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@playwright/test":"^1.59.1","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.1.2_1777309547006_0.14181271577264587","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"mini-react-repl","version":"0.2.0","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.2.0","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"ce803bd2d49c3270f364bf019053330e0590f5e3","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.2.0.tgz","fileCount":31,"integrity":"sha512-5C1FYoDcHXaQulxD/kum3LHYo47ujXDodJ76IvpUqLm/Wl256iDxA/APrR995lfW/a+xkzt2EMrfldymFM5w6Q==","signatures":[{"sig":"MEQCIEv0C1z7ZXp2Tm0y4ExE4ZxuxoLna9UiPsQhCwtrdSUQAiAgm85dCn904fqxwOk7idOgh+dik9h7cVmoQEP0f5SF1g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5029029},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-builder":{"types":"./dist/vendor-builder/build.d.ts","import":"./dist/vendor-builder/build.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"gitHead":"161243e23107efd3a9457ea3deab805282615222","scripts":{"dev":"pnpm --filter demo dev","lint":"oxlint","test":"vitest run","build":"node scripts/build-runtime.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css && node scripts/strip-vendor-sourcemap.mjs","format":"oxfmt","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","typecheck":"tsc --noEmit && tsc --noEmit -p examples/demo && tsc --noEmit -p examples/custom-vendor","test:watch":"vitest","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"jantimon","email":"j.nicklas@me.com"},"repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.6.2","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@playwright/test":"^1.59.1","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.2.0_1777368637472_0.7558415481176648","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"mini-react-repl","version":"0.3.0","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.3.0","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"ecccd99b11e324e4c67cf1525f3b34ad2143e4b4","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.3.0.tgz","fileCount":31,"integrity":"sha512-4xZWXE0v6iZF3YzHA++X7RRtUUgxmphISCDmnLaavVfu22+CUm6/174BoQxYGrblvUldNjpkjqTFwH0mzovVIQ==","signatures":[{"sig":"MEQCIFE1EnyHcQ53WtUB9xQ3aeFnjv4RhBejcNFwrhu/bQmgAiBGMT47ZoZ73fAIgilNiRktH+SCo6ph0cavP9AmjXPzkw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5043511},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-builder":{"types":"./dist/vendor-builder/build.d.ts","import":"./dist/vendor-builder/build.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"gitHead":"876872fdaccd97049553d832f238940664fe1cf3","scripts":{"dev":"pnpm --filter demo dev","lint":"oxlint","test":"vitest run","build":"node scripts/build-runtime.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css && node scripts/strip-vendor-sourcemap.mjs","format":"oxfmt","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","typecheck":"tsc --noEmit && tsc --noEmit -p examples/demo && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules","test:watch":"vitest","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"jantimon","email":"j.nicklas@me.com"},"repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.6.2","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@playwright/test":"^1.59.1","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.3.0_1777379882686_0.3994404911599616","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"mini-react-repl","version":"0.4.0","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.4.0","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"e843b912e12523eaa10bf2101a077345e6f9eec7","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.4.0.tgz","fileCount":31,"integrity":"sha512-GHvBly+4Kqt8o6AjgvFQlxukb6YEB5uANvftwPBgWbgqIKbrLk6uLRDLhCqJ3icdA+DxAmU+qQftC0AqD2VOxQ==","signatures":[{"sig":"MEUCICSJxP574ieMm/7XOl0QMNkpHI23LTn3e++5QegbAUcwAiEAjqMZzPX41EglrcEd4wq0L6gKu0xgR/BS+FVfoAB9t4Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5044102},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-builder":{"types":"./dist/vendor-builder/build.d.ts","import":"./dist/vendor-builder/build.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"gitHead":"876872fdaccd97049553d832f238940664fe1cf3","scripts":{"dev":"pnpm --filter demo dev","lint":"oxlint","test":"vitest run","build":"node scripts/build-runtime.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css && node scripts/strip-vendor-sourcemap.mjs","format":"oxfmt","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","typecheck":"tsc --noEmit && tsc --noEmit -p examples/demo && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules","test:watch":"vitest","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"jantimon","email":"j.nicklas@me.com"},"repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.6.2","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@playwright/test":"^1.59.1","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.4.0_1777387842765_0.5396168496898193","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"mini-react-repl","version":"0.5.0","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.5.0","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"59ac8bac8c20f5f5f4375b2ba1098bd1fa4059cd","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.5.0.tgz","fileCount":31,"integrity":"sha512-6pmCIthjj+OPqpqV+U/QxWwmsjceI0b2g11RdMtqAPPdvbgH3pYF8tQVWniosf5lbO3t6QUyAhg0T3rRlkXtZg==","signatures":[{"sig":"MEUCIDA1TiLbqzUsybWGVV2ZkjnkheqtEoPoTT7Lw5G+MIFbAiEAs15v6Z6CZO88NJSQ1fmAm00oZXky1L6z0ywH7NUhl4U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5063138},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-builder":{"types":"./dist/vendor-builder/build.d.ts","import":"./dist/vendor-builder/build.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"gitHead":"53a0c36595d57ec2f769ae6995e6b214123110f7","scripts":{"dev":"pnpm --filter demo dev","lint":"oxlint","test":"vitest run","build":"node scripts/build-runtime.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css && node scripts/strip-vendor-sourcemap.mjs","format":"oxfmt","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","typecheck":"tsc --noEmit && tsc --noEmit -p examples/demo && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules && tsc --noEmit -p examples/transform","test:watch":"vitest","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"jantimon","email":"j.nicklas@me.com"},"repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.6.2","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@playwright/test":"^1.59.1","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.5.0_1777397365078_0.6877093141830417","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"mini-react-repl","version":"0.6.0","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.6.0","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"6ad60acf8338945ff29d3c7749b17829234a5385","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.6.0.tgz","fileCount":31,"integrity":"sha512-QzqDHwpt5vDqQkjjdZZO0LPB0qd+aSmdPt07Ujc+tyl9GjuKgmAk8Vlp6PSNbFmmNfphu5MCvQ5r2I5bx1hIwQ==","signatures":[{"sig":"MEUCIQDlSZ3CVt3+TfiZ7i/FAwYbQ9ejfkuutXaczzOa0RK8pgIgWdCZBqiAXBfE1FwpRDMR9hM1DCgFQ3MYoWz/9BiILGc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5066558},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-builder":{"types":"./dist/vendor-builder/build.d.ts","import":"./dist/vendor-builder/build.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"gitHead":"61cc6c7d3976e7837bf3c7057e9e7742b3a8306f","scripts":{"dev":"pnpm --filter demo dev","lint":"oxlint","test":"vitest run","build":"node scripts/build-runtime.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css && node scripts/strip-vendor-sourcemap.mjs","format":"oxfmt","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","typecheck":"tsc --noEmit && tsc --noEmit -p examples/demo && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules && tsc --noEmit -p examples/transform","test:watch":"vitest","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"jantimon","email":"j.nicklas@me.com"},"repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.6.2","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@playwright/test":"^1.59.1","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.6.0_1777439965907_0.11716895365680302","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"mini-react-repl","version":"0.7.0","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.7.0","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"020378e17cdd25bbf6adbd1727a848f858ec5b17","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.7.0.tgz","fileCount":31,"integrity":"sha512-Gp1QOZ7Dk5ZxjzNdCg+OEQAO+xCrt8+Gc5nItPjd4ic8XyjJMCkeiCz6DKZ7kuDzvCwj2EDk9yTadHGSn9fBTg==","signatures":[{"sig":"MEQCIE4THRPLXIRGXqrUDGkChHjpXIHQ22RIpYkjnlavtvOMAiAjU3kE3KREYikXUalnRxQg/oQn+TpJVqxzM9nmk+e+tw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5073561},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-builder":{"types":"./dist/vendor-builder/build.d.ts","import":"./dist/vendor-builder/build.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"gitHead":"aacb401a60a3cb1a166f27150390ce2a950c205d","scripts":{"dev":"pnpm --filter demo dev","lint":"oxlint","test":"vitest run","build":"node scripts/build-runtime.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css && node scripts/strip-vendor-sourcemap.mjs","format":"oxfmt","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","typecheck":"tsc --noEmit && tsc --noEmit -p examples/demo && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules && tsc --noEmit -p examples/transform && tsc --noEmit -p examples/shell","test:watch":"vitest","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"jantimon","email":"j.nicklas@me.com"},"repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.6.2","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@playwright/test":"^1.59.1","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.7.0_1777450217844_0.08324097976698219","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"mini-react-repl","version":"0.8.0","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.8.0","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"ec1a0a86b88725fdd5f269d1cae8ef443a04b0fe","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.8.0.tgz","fileCount":31,"integrity":"sha512-k1tKPOe44blByNNMzbV3QsZzmiKcMcsi1eZHNe2oWt01jskG+oj6gVjeKyQJpVH0G3HYOwYeHm6FrmVsA6nguw==","signatures":[{"sig":"MEYCIQCa50yFgtgKTcxczdffyb1z5r/vhB+/TtxGvSTbjdpRswIhALgpShdNRmDZa3RnxnQi5ONW9ehcV472eg4RrW9O8CgC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5075161},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-builder":{"types":"./dist/vendor-builder/build.d.ts","import":"./dist/vendor-builder/build.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"gitHead":"c7631a3211607b4383ef4aab618619d972f71f90","scripts":{"dev":"pnpm --filter demo dev","lint":"oxlint","test":"vitest run","build":"node scripts/build-runtime.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css && node scripts/strip-vendor-sourcemap.mjs","format":"oxfmt","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","typecheck":"tsc --noEmit && tsc --noEmit -p examples/demo && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules && tsc --noEmit -p examples/transform && tsc --noEmit -p examples/shell","test:watch":"vitest","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"jantimon","email":"j.nicklas@me.com"},"repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.6.2","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@playwright/test":"^1.59.1","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.8.0_1777489351094_0.13072974571532825","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"mini-react-repl","version":"0.9.0","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.9.0","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"a67c40991ef0e09d16f5486a354166fb497652f6","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.9.0.tgz","fileCount":31,"integrity":"sha512-6pbomu9qG9oMi0HpA57qHdCuEjHohoflRepikAIXHS+88Qp+VLE5I6ZetOEfCzMaH7pkAnkDxBREc9or6BCT3A==","signatures":[{"sig":"MEUCIE4ilb6M5+8UkgYJo7AUl8/h8jH+OZoclqHtF4u9nuXpAiEAsYPUXLFp6GhE92tqoW61SxF8+VqoieLtTiVmYG+Q6Hg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5104199},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-builder":{"types":"./dist/vendor-builder/build.d.ts","import":"./dist/vendor-builder/build.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"gitHead":"03ae5d4fba29e238e82fc2eb463c374bf5a198b1","scripts":{"dev":"pnpm --filter demo dev","lint":"oxlint","test":"vitest run","build":"node scripts/build-runtime.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css && node scripts/strip-vendor-sourcemap.mjs","format":"oxfmt","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","typecheck":"tsc --noEmit && tsc --noEmit -p examples/demo && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules && tsc --noEmit -p examples/transform && tsc --noEmit -p examples/shell","test:watch":"vitest","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"jantimon","email":"j.nicklas@me.com"},"repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.6.2","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@playwright/test":"^1.59.1","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.9.0_1778360501675_0.07920452690873403","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"mini-react-repl","version":"0.10.0","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.10.0","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"b4cc385fc70b4d13b42107d8ffe17c4a9d7367cb","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.10.0.tgz","fileCount":31,"integrity":"sha512-vucEdXMffsMLQ1IRIC9sk87wnj4GDAIOTbFn3pPjqHGYwmSniCB+FoDj8Cldsvik/PVl4eDg1U4IejtJne2AWg==","signatures":[{"sig":"MEYCIQD6JYr4BSTXa2ZhpCQ52G4LJa5bohRp83H3LZLBfYQCSQIhAPh5SRzmpTwFRep81FG7aifpiuLBLlbHLA0ood/SmAs7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5102728},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-builder":{"types":"./dist/vendor-builder/build.d.ts","import":"./dist/vendor-builder/build.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"gitHead":"fff1717667500180f2bcc4dbfccd3f6cc6ea3bd8","scripts":{"dev":"pnpm --filter demo dev","lint":"oxlint","test":"vitest run","build":"node scripts/build-runtime.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css && node scripts/strip-vendor-sourcemap.mjs","format":"oxfmt","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","typecheck":"tsc --noEmit && tsc --noEmit -p examples/demo && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules && tsc --noEmit -p examples/transform && tsc --noEmit -p examples/shell","test:watch":"vitest","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"jantimon","email":"j.nicklas@me.com"},"repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.6.2","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@playwright/test":"^1.59.1","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.10.0_1778402323433_0.5579066246425128","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"mini-react-repl","version":"0.11.0","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.11.0","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"1c61de8534cf30336e12cea8ad1aa287ce49dd86","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.11.0.tgz","fileCount":42,"integrity":"sha512-rDmdnkViy0WMyvtBSyNi+KuL27p6qDi8MJIaRhFa/hA+OdjWUNKhNRfrS95BvzYEPLQisOFL12dbXU4tK02TmA==","signatures":[{"sig":"MEQCIB1VVYqFudB+FIbMeC5MIwSQhmwprf2xhiefbVpuasSiAiB2iiwv5TN2uKE0J7aOXOqh62JbI0lk3enr6YcIi8chKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4947316},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","import":"./dist/inspect/index.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-builder":{"types":"./dist/vendor-builder/build.d.ts","import":"./dist/vendor-builder/build.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"gitHead":"110dfc68115b82e0637c7e6cd1cf038421810df6","scripts":{"dev":"pnpm --filter e2e-fixture dev","lint":"oxlint","test":"vitest run","build":"node scripts/build-runtime.mjs && node scripts/build-picker.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css && node scripts/strip-vendor-sourcemap.mjs","format":"oxfmt","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","typecheck":"tsc --noEmit && tsc --noEmit -p examples/e2e-fixture && tsc --noEmit -p examples/gh-pages && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules && tsc --noEmit -p examples/transform && tsc --noEmit -p examples/starter","test:watch":"vitest","build:picker":"node scripts/build-picker.mjs","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"jantimon","email":"j.nicklas@me.com"},"repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.6.2","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0","@jridgewell/trace-mapping":"^0.3.31"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@playwright/test":"^1.59.1","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.11.0_1778419350270_0.8117605329637492","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"mini-react-repl","version":"0.12.0","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.12.0","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"3a73ff4c03effbfd5873a3b6bc2818641ba50bdb","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.12.0.tgz","fileCount":42,"integrity":"sha512-WqIUGsxngejCSIYxY5H+JeNeNN4qaDjuCnjsNv5OLFlRYEzncpi58hugyBoYs+cRWjxHcssf75f3rdfncYDc1A==","signatures":[{"sig":"MEYCIQDsyulUyCqxn7BP7PjBWmEmIfw2or89UVJj+Ft+1c+G3gIhANs6tLF2V91WvbmCdoEQDW6loJMggC0yYdtk5WAJy4rl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4948325},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","import":"./dist/inspect/index.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-builder":{"types":"./dist/vendor-builder/build.d.ts","import":"./dist/vendor-builder/build.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"gitHead":"98153506afdc738464420b1d75b0b14be1723639","scripts":{"dev":"pnpm --filter e2e-fixture dev","lint":"oxlint","test":"vitest run","build":"node scripts/build-runtime.mjs && node scripts/build-picker.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css && node scripts/strip-vendor-sourcemap.mjs","format":"oxfmt","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","typecheck":"tsc --noEmit && tsc --noEmit -p examples/e2e-fixture && tsc --noEmit -p examples/gh-pages && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules && tsc --noEmit -p examples/transform && tsc --noEmit -p examples/starter","test:watch":"vitest","build:picker":"node scripts/build-picker.mjs","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"jantimon","email":"j.nicklas@me.com"},"repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.6.2","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0","@jridgewell/trace-mapping":"^0.3.31"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@playwright/test":"^1.59.1","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.12.0_1778430532765_0.10342442968435694","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"mini-react-repl","version":"0.12.1","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.12.1","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"997248c7a31adeb31ac9168c6d757acfb740bfd1","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.12.1.tgz","fileCount":42,"integrity":"sha512-IPmdqdCsPpzriX+0uecqFAT6DmwdwFyX6N1RHrGywu30/v/hSVjh6i7X3TKPSFBI9qarqYzNJkHSAFzcIumP+A==","signatures":[{"sig":"MEUCIQC8czxTi2Vxs9qF2JQEDwiujsvHlfRyWTHI+eI6Jx7AgAIgbxx5MPwrisG+JtItnLdseF2wH//MLOKX0d3nFVbveII=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4949673},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","import":"./dist/inspect/index.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-builder":{"types":"./dist/vendor-builder/build.d.ts","import":"./dist/vendor-builder/build.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"gitHead":"98153506afdc738464420b1d75b0b14be1723639","scripts":{"dev":"pnpm --filter e2e-fixture dev","lint":"oxlint","test":"vitest run","build":"node scripts/build-runtime.mjs && node scripts/build-picker.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css && node scripts/strip-vendor-sourcemap.mjs","format":"oxfmt","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","typecheck":"tsc --noEmit && tsc --noEmit -p examples/e2e-fixture && tsc --noEmit -p examples/gh-pages && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules && tsc --noEmit -p examples/transform && tsc --noEmit -p examples/starter","test:watch":"vitest","build:picker":"node scripts/build-picker.mjs","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"jantimon","email":"j.nicklas@me.com"},"repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.6.2","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0","@jridgewell/trace-mapping":"^0.3.31"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@playwright/test":"^1.59.1","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.12.1_1778622640257_0.45244020981392086","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"mini-react-repl","version":"0.13.0","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.13.0","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"34c7fb2d695b08f14aa0e3ba4ce4630c8c9afca0","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.13.0.tgz","fileCount":42,"integrity":"sha512-QX6xor3GkYnIV2Jpn5BAHZEuS5PNjVnRwaRyvVLOhH2YARlXdZ6bTWGrwoyMwm7nuM/+7oa6+7QS/AxwzPnpyQ==","signatures":[{"sig":"MEUCIQDJL8FwZhl4lpmOFhp7p14jE7R0KzB/1tPAzSDvKDICIgIgdhMkVxmBQ+Nu2nhziHzUi8OHH/Iz6vnurI7613ciGMY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4949510},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","import":"./dist/inspect/index.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-builder":{"types":"./dist/vendor-builder/build.d.ts","import":"./dist/vendor-builder/build.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"gitHead":"63d57d939d8a0834cc78b8dfafcd6186d5d6fde5","scripts":{"dev":"pnpm --filter e2e-fixture dev","lint":"oxlint","test":"vitest run","build":"node scripts/build-runtime.mjs && node scripts/build-picker.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css && node scripts/strip-vendor-sourcemap.mjs","format":"oxfmt","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","typecheck":"tsc --noEmit && tsc --noEmit -p examples/e2e-fixture && tsc --noEmit -p examples/gh-pages && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules && tsc --noEmit -p examples/transform && tsc --noEmit -p examples/starter","test:watch":"vitest","build:picker":"node scripts/build-picker.mjs","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"jantimon","email":"j.nicklas@me.com"},"repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.6.2","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0","@jridgewell/trace-mapping":"^0.3.31"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@playwright/test":"^1.59.1","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.13.0_1778916978341_0.41285975055748136","host":"s3://npm-registry-packages-npm-production"}},"0.13.1":{"name":"mini-react-repl","version":"0.13.1","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.13.1","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"262d215337d390d40b59cec3a6a07a2dd683d8ed","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.13.1.tgz","fileCount":42,"integrity":"sha512-5kEyg2oPmMWpSKgaLnpddvbSC8EdzeQ6Bg+QEi8sp0zjinIH0krqrhrA8vBRc1hCywByUJ7amE+26dHctqDrGQ==","signatures":[{"sig":"MEQCICb9XWKhtpxcdOY5grMDEdVXcAujNqcLMlWDgTmfk7vEAiAlC5usShCZ6PNGHY+PlDbGdDRDjVX6fmqImhFP9t2cMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4950809},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","import":"./dist/inspect/index.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-builder":{"types":"./dist/vendor-builder/build.d.ts","import":"./dist/vendor-builder/build.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"gitHead":"1372eb7f7107683d1a3eaf2aeb0702d7d3fe3a82","scripts":{"dev":"pnpm --filter e2e-fixture dev","lint":"oxlint","test":"vitest run","build":"node scripts/build-runtime.mjs && node scripts/build-picker.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css && node scripts/strip-vendor-sourcemap.mjs","format":"oxfmt","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","typecheck":"tsc --noEmit && tsc --noEmit -p examples/e2e-fixture && tsc --noEmit -p examples/gh-pages && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules && tsc --noEmit -p examples/transform && tsc --noEmit -p examples/starter","test:watch":"vitest","build:picker":"node scripts/build-picker.mjs","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"jantimon","email":"j.nicklas@me.com"},"repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.6.2","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0","@jridgewell/trace-mapping":"^0.3.31"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@playwright/test":"^1.59.1","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.13.1_1779276929394_0.6752992320458144","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"mini-react-repl","version":"0.14.0","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.14.0","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"d498386dbf4d868e612ad1c09febdb47e874763d","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.14.0.tgz","fileCount":44,"integrity":"sha512-TYXX+XCnr5IcZVtTFH/HnjeXxZJQpq/RBDHJSyKMdR0BmbONrwxrJwbxjbNs4WD/VKiUNMCSMABXVl16UDPE4A==","signatures":[{"sig":"MEUCIQCjOni8pab51jW720bcwRSjqQVxlSb304i4r9immkkGFgIgIbbNTGEx6SeWpN2CBqZNeDnua/cwPsLpEQWuXV4PQeQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7191988},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","import":"./dist/inspect/index.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-builder":{"types":"./dist/vendor-builder/build.d.ts","import":"./dist/vendor-builder/build.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"gitHead":"83f8a8283c58b7f03700cc0e5be1718bf582dc1e","scripts":{"dev":"pnpm --filter e2e-fixture dev","lint":"oxlint","test":"vitest run","build":"node scripts/build-runtime.mjs && node scripts/build-picker.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css && node scripts/strip-vendor-sourcemap.mjs","format":"oxfmt","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","typecheck":"tsc --noEmit && tsc --noEmit -p examples/e2e-fixture && tsc --noEmit -p examples/gh-pages && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules && tsc --noEmit -p examples/transform && tsc --noEmit -p examples/starter","test:watch":"vitest","build:picker":"node scripts/build-picker.mjs","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"jantimon","email":"j.nicklas@me.com"},"repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.6.2","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0","@jridgewell/trace-mapping":"^0.3.31"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@playwright/test":"^1.59.1","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.14.0_1779288105217_0.521078794833228","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"mini-react-repl","version":"0.15.0","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.15.0","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"088be8515e98fd42e4ce1828b51fa4a089f63e52","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.15.0.tgz","fileCount":44,"integrity":"sha512-H9aWqFFbpABAsm+ksGpZHWWIu3ZPJliyX+SA4LJxcjOD6mKwG5k8nKGvVspwCDo+R8zuILPinxNNmI3OzN6sbw==","signatures":[{"sig":"MEQCIEW0r3IlE8ozH03W3+jME1k86F/enjQVW/DCrTbeWXrFAiBah2Dqitx1gTNc1XiYAJ+8H3VnX5aItIgZ+0c+BUAoIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7186658},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","import":"./dist/inspect/index.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-builder":{"types":"./dist/vendor-builder/build.d.ts","import":"./dist/vendor-builder/build.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"gitHead":"ebc2af350938b1b7a219e9942bb88b34d37f1771","scripts":{"dev":"pnpm --filter e2e-fixture dev","lint":"oxlint","test":"vitest run","build":"node scripts/build-runtime.mjs && node scripts/build-picker.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css && node scripts/strip-vendor-sourcemap.mjs","format":"oxfmt","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","typecheck":"tsc --noEmit && tsc --noEmit -p examples/e2e-fixture && tsc --noEmit -p examples/gh-pages && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules && tsc --noEmit -p examples/transform && tsc --noEmit -p examples/starter","test:watch":"vitest","build:picker":"node scripts/build-picker.mjs","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"jantimon","email":"j.nicklas@me.com"},"repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.6.2","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0","@jridgewell/trace-mapping":"^0.3.31"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@playwright/test":"^1.59.1","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.15.0_1779818294928_0.5141546025234447","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"mini-react-repl","version":"0.16.0","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.16.0","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"2e75760033efadc445a77ae651754cdaf7c20cba","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.16.0.tgz","fileCount":46,"integrity":"sha512-t6ar8XDhLUkBaQWcD8pNKxl807HfWgZ9kPZSbqGRllbYq0d/UFOGbYZ209HjyYmb6xkhPGWmqv0QXyCmBSBYZQ==","signatures":[{"sig":"MEUCIG4D6gba/ajNP0Vp22CT8yRoqDoxQZf3b6O/vVT25X9AAiEA27tjT2++W05hSxt7UQK2S7+gRLy+bPGWoHWhjUUvXbY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9448696},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","import":"./dist/inspect/index.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-builder":{"types":"./dist/vendor-builder/build.d.ts","import":"./dist/vendor-builder/build.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"gitHead":"97cc776780b31a63272b3c502f84f98408e24e33","scripts":{"dev":"pnpm --filter e2e-fixture dev","lint":"oxlint","test":"vitest run","build":"node scripts/build-runtime.mjs && node scripts/build-picker.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css && node scripts/strip-vendor-sourcemap.mjs","format":"oxfmt","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","typecheck":"tsc --noEmit && tsc --noEmit -p examples/e2e-fixture && tsc --noEmit -p examples/gh-pages && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules && tsc --noEmit -p examples/transform && tsc --noEmit -p examples/starter","test:watch":"vitest","build:picker":"node scripts/build-picker.mjs","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"jantimon","email":"j.nicklas@me.com"},"repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.6.2","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0","@jridgewell/trace-mapping":"^0.3.31"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@playwright/test":"^1.59.1","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.16.0_1779889687305_0.1825483526381817","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"mini-react-repl","version":"0.17.0","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.17.0","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"8e487160b96d972a9d87f19dbbb546c9338daab0","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.17.0.tgz","fileCount":46,"integrity":"sha512-l6tsv0H46wIklsNeIb6eWkEcQdhjA/wqSglDwnzNya/+th3qR7b8mT39g6EzLoc/58pu8/d7Mp1VuFDYhB3QVQ==","signatures":[{"sig":"MEUCIC5mPwek6WQ1JRGAIswvclAeIgryvrVEDR6k36IcL3iRAiEAi+9beFotrU4zIKxAeNZKmGXH6FOeAcA5eX7VNsm2OX0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9484126},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./loader":{"types":"./dist/loader.d.ts","import":"./dist/loader.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","import":"./dist/inspect/index.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"gitHead":"e96629d138a089b041864f0d07542f60150d733c","scripts":{"dev":"pnpm --filter e2e-fixture dev","lint":"oxlint","test":"vitest run","build":"node scripts/build-runtime.mjs && node scripts/build-picker.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css && node scripts/strip-vendor-sourcemap.mjs","format":"oxfmt","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","typecheck":"tsc --noEmit && tsc --noEmit -p examples/e2e-fixture && tsc --noEmit -p examples/gh-pages && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules && tsc --noEmit -p examples/transform && tsc --noEmit -p examples/starter","test:watch":"vitest","build:picker":"node scripts/build-picker.mjs","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"jantimon","email":"j.nicklas@me.com"},"repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.6.2","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0","@jridgewell/trace-mapping":"^0.3.31"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@playwright/test":"^1.59.1","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.17.0_1779905810526_0.49308006076065514","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"mini-react-repl","version":"0.18.0","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.18.0","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"57a1624421671f55916518aa35b8d2b72ad902fd","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.18.0.tgz","fileCount":46,"integrity":"sha512-/cdciHuRFAWKdDCg8VL5DIO+aR4H2YKHL0oN1UrvBaLDZ7PjUzScLG7capKUo7EEplQQto0lrWHpdtsJYNF6ug==","signatures":[{"sig":"MEUCIE/wA/nS2e9cZ/uMRcLGX5JFqFxgqh+ToWfHMrHxvjIEAiEA4ERXondYOThIX5xz5YAxFo3kxd9HtuTrbHTjfoifAVM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9487764},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./loader":{"types":"./dist/loader.d.ts","import":"./dist/loader.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","import":"./dist/inspect/index.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"gitHead":"48246ce362276fc22eb441e3b420e0f968bdc976","scripts":{"dev":"pnpm --filter e2e-fixture dev","lint":"oxlint","test":"vitest run","build":"node scripts/build-runtime.mjs && node scripts/build-picker.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css && node scripts/strip-vendor-sourcemap.mjs","format":"oxfmt","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","typecheck":"tsc --noEmit && tsc --noEmit -p examples/e2e-fixture && tsc --noEmit -p examples/gh-pages && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules && tsc --noEmit -p examples/transform && tsc --noEmit -p examples/starter","test:watch":"vitest","build:picker":"node scripts/build-picker.mjs","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"jantimon","email":"j.nicklas@me.com"},"repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.6.2","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0","@jridgewell/trace-mapping":"^0.3.31"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@playwright/test":"^1.59.1","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.18.0_1779908235592_0.6032538441439415","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"mini-react-repl","version":"0.19.0","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.19.0","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"7a9f223e47e8af14ac0ba2c0a120a21fca2eecd6","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.19.0.tgz","fileCount":44,"integrity":"sha512-5hGwNfiteKNFHL3E49inLoiIpe64NJIvBHVPUCfF9Me6snsk27amFzvrrRdWoQ6uwP5x8fGzKuU5e8vLk0bPVw==","signatures":[{"sig":"MEUCIQDkx0CYYX9Jy6rYgMgjiPD13EYFjTvHwBn7fcAel229UgIgAg7epgfQS/KSMMbg2CkBf0WvgqhOk3dsqJAvhLH1ZEM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4982580},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./loader":{"types":"./dist/loader.d.ts","import":"./dist/loader.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","import":"./dist/inspect/index.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"gitHead":"4770a5fe2341651b45626a06525e3f4a4d1d2f27","scripts":{"dev":"pnpm --filter e2e-fixture dev","lint":"oxlint","test":"vitest run","build":"node scripts/clean-dist.mjs && node scripts/build-runtime.mjs && node scripts/build-picker.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css","format":"oxfmt","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","typecheck":"tsc --noEmit && tsc --noEmit -p examples/e2e-fixture && tsc --noEmit -p examples/gh-pages && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules && tsc --noEmit -p examples/transform && tsc --noEmit -p examples/starter","test:watch":"vitest","build:picker":"node scripts/build-picker.mjs","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"jantimon","email":"j.nicklas@me.com"},"repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.6.2","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0","@jridgewell/trace-mapping":"^0.3.31"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@playwright/test":"^1.59.1","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.19.0_1779952192372_0.717582227781673","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"mini-react-repl","version":"0.20.0","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.20.0","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"8c3d757336e15147b02f3368f36ec3c3fcd425ef","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.20.0.tgz","fileCount":49,"integrity":"sha512-TqtTyML5vuPr+F6VbGqLRGn0cuSZIP1j9wMnL2B8An6fd9ZfyL5eLopAhe2fCEjuJqiyRoYJahCGQVQ9v/CqMw==","signatures":[{"sig":"MEYCIQCKg7YSJtRiAJOocLU5i7p8nlbu/xkxAvO2YNSSRcGMiAIhAI281iG7mRNCQhDvodXTbfzba3N8gR0TsFim2X+8yCbC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5018071},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./loader":{"types":"./dist/loader.d.ts","import":"./dist/loader.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","import":"./dist/inspect/index.js"},"./cdn-esmsh":{"types":"./dist/cdn-esmsh.d.ts","import":"./dist/cdn-esmsh.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"gitHead":"c3181931a14121e7af5f1ed1b74598b2a5786dff","scripts":{"dev":"pnpm --filter e2e-fixture dev","lint":"oxlint","test":"vitest run","build":"node scripts/clean-dist.mjs && node scripts/build-runtime.mjs && node scripts/build-picker.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css","format":"oxfmt","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","typecheck":"tsc --noEmit && tsc --noEmit -p examples/e2e-fixture && tsc --noEmit -p examples/gh-pages && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules && tsc --noEmit -p examples/cdn-esmsh && tsc --noEmit -p examples/transform && tsc --noEmit -p examples/starter","test:watch":"vitest","build:picker":"node scripts/build-picker.mjs","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"jantimon","email":"j.nicklas@me.com"},"repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.6.2","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0","@jridgewell/trace-mapping":"^0.3.31"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@playwright/test":"^1.59.1","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.20.0_1780061696166_0.6772718658533114","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"name":"mini-react-repl","version":"0.21.0","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.21.0","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"f21b7910ff987fecb17eb121e1ab37834dd6236a","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.21.0.tgz","fileCount":49,"integrity":"sha512-WJBYmrW/YflV47YP/wigOOWA6PHcmJJjqLWpV3PALflkjTcsoRxENsWm0jJ9z298yjVGO8ltpS2bnQhwQxfjXg==","signatures":[{"sig":"MEYCIQCVLztJhcuY2FVzWRRS1mnEsVJlL77hBl+Dt+qfTnpc6AIhALQt0UZuy2IukxUBgZM2wkBjmWkNnHOQCXGZmZOqDohv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5019567},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./loader":{"types":"./dist/loader.d.ts","import":"./dist/loader.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","import":"./dist/inspect/index.js"},"./cdn-esmsh":{"types":"./dist/cdn-esmsh.d.ts","import":"./dist/cdn-esmsh.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"gitHead":"fef33e659c86f4835ee71050e08daca53a4a946d","scripts":{"dev":"pnpm --filter e2e-fixture dev","lint":"oxlint","test":"vitest run","build":"node scripts/clean-dist.mjs && node scripts/build-runtime.mjs && node scripts/build-picker.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css","format":"oxfmt","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","typecheck":"tsc --noEmit && tsc --noEmit -p examples/e2e-fixture && tsc --noEmit -p examples/gh-pages && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules && tsc --noEmit -p examples/cdn-esmsh && tsc --noEmit -p examples/transform && tsc --noEmit -p examples/starter","test:watch":"vitest","build:picker":"node scripts/build-picker.mjs","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"jantimon","email":"j.nicklas@me.com"},"repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.6.2","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0","@jridgewell/trace-mapping":"^0.3.31"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@playwright/test":"^1.60.0","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.21.0_1780301770049_0.185583137507072","host":"s3://npm-registry-packages-npm-production"}},"0.22.0":{"name":"mini-react-repl","version":"0.22.0","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.22.0","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"689391a0441c9506ec4388be53eb260bb1c43e60","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.22.0.tgz","fileCount":50,"integrity":"sha512-U3WFLYoHpNrJtJTje4zHCvIVqwpXNUMZ1HaaPxZa2igBID5BGDdfm84Vtu+uONbg3fguId22At1r81yW07IUzg==","signatures":[{"sig":"MEUCIBh2+sgcp72RAJGukEYgUX0pPt/O9lhaPRyAynE5cQHAAiEAnyFpaZjdFMren4CkiO+LXwHuF2W/d/VlBMoyQQMZt+Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5056438},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./loader":{"types":"./dist/loader.d.ts","import":"./dist/loader.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","import":"./dist/inspect/index.js"},"./cdn-esmsh":{"types":"./dist/cdn-esmsh.d.ts","import":"./dist/cdn-esmsh.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"gitHead":"fef33e659c86f4835ee71050e08daca53a4a946d","scripts":{"dev":"pnpm --filter e2e-fixture dev","lint":"oxlint","test":"vitest run","build":"node scripts/clean-dist.mjs && node scripts/build-runtime.mjs && node scripts/build-picker.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css","format":"oxfmt","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","typecheck":"tsc --noEmit && tsc --noEmit -p examples/e2e-fixture && tsc --noEmit -p examples/gh-pages && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules && tsc --noEmit -p examples/cdn-esmsh && tsc --noEmit -p examples/transform && tsc --noEmit -p examples/starter","test:watch":"vitest","build:picker":"node scripts/build-picker.mjs","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"jantimon","email":"j.nicklas@me.com"},"repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.6.2","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0","@jridgewell/trace-mapping":"^0.3.31"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@playwright/test":"^1.60.0","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.22.0_1780303483709_0.35337493338090886","host":"s3://npm-registry-packages-npm-production"}},"0.23.0":{"name":"mini-react-repl","version":"0.23.0","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.23.0","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"aee3a768a842a69fff7bb4dad762bc08a3d8b79d","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.23.0.tgz","fileCount":50,"integrity":"sha512-9j0jJdZjpTtU+uNPvkTbvSuVxdJzeGRnzAojFqW7g6ZKmcpNOCmpsgs5aMTwRryEZT4gEXtfR9dLiPBdpg26PQ==","signatures":[{"sig":"MEYCIQCDtTCn1bmu9ZKJKbUi41eTeAl+qDxszjFFnOhdnhCDUgIhAPUgZ2M5i1cA+z2bwdZ3YYNG+pc/HA+zUWgJEOUpWnPz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3414564},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./loader":{"types":"./dist/loader.d.ts","import":"./dist/loader.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","import":"./dist/inspect/index.js"},"./cdn-esmsh":{"types":"./dist/cdn-esmsh.d.ts","import":"./dist/cdn-esmsh.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"gitHead":"709e307a65ddeb4fcbc26ed6ecc4c96d1a5ba0e1","scripts":{"dev":"pnpm --filter e2e-fixture dev","lint":"oxlint","test":"vitest run","build":"node scripts/clean-dist.mjs && node scripts/build-runtime.mjs && node scripts/build-picker.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css","format":"oxfmt","verify":"pnpm run format:check && pnpm run lint && pnpm run build && pnpm run typecheck && pnpm run test && pnpm run test:e2e","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","typecheck":"tsc --noEmit && tsc --noEmit -p examples/e2e-fixture && tsc --noEmit -p examples/gh-pages && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules && tsc --noEmit -p examples/cdn-esmsh && tsc --noEmit -p examples/transform && tsc --noEmit -p examples/starter","test:watch":"vitest","build:picker":"node scripts/build-picker.mjs","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs","prepublishOnly":"pnpm run verify"},"_npmUser":{"name":"jantimon","email":"j.nicklas@me.com"},"repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.6.2","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0","@jridgewell/trace-mapping":"^0.3.31"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@playwright/test":"^1.60.0","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.23.0_1780304359373_0.3820309787638385","host":"s3://npm-registry-packages-npm-production"}},"0.23.1":{"name":"mini-react-repl","version":"0.23.1","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.23.1","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"ef9b610e8260cfe7930d3c9a594a25a94b9a5d12","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.23.1.tgz","fileCount":56,"integrity":"sha512-hKszqbLpjuEbqPrPM8jDBvUEvYN0oCp9XVd+YkE3JBYZNHnggurEQh9NchW2ZK5GWJBEtlCdQE3MAt8BoRUC0g==","signatures":[{"sig":"MEYCIQD/Hn9bTC/0Ob0hOP0s7H7mRiP/exlqgRStt2N7ed6hngIhAJFkTh3cfcj0AL23Vr1Bt4OC7QZOBTTWcqmGx6tRPY/U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3432656},"type":"module","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./loader":{"types":"./dist/loader.d.ts","import":"./dist/loader.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","import":"./dist/inspect/index.js"},"./cdn-esmsh":{"types":"./dist/cdn-esmsh.d.ts","import":"./dist/cdn-esmsh.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"gitHead":"eea217f47f2ff1842f618f10e8549da133f458f6","imports":{"#create-worker":{"node":"./dist/create-worker.node.js","default":"./dist/create-worker.js"}},"scripts":{"dev":"pnpm --filter e2e-fixture dev","lint":"oxlint","test":"vitest run","build":"node scripts/clean-dist.mjs && node scripts/build-runtime.mjs && node scripts/build-picker.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css","format":"oxfmt","verify":"pnpm run format:check && pnpm run lint && pnpm run build && pnpm run typecheck && pnpm run test && pnpm run test:e2e","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","typecheck":"tsc --noEmit && tsc --noEmit -p examples/e2e-fixture && tsc --noEmit -p examples/gh-pages && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules && tsc --noEmit -p examples/cdn-esmsh && tsc --noEmit -p examples/transform && tsc --noEmit -p examples/starter","test:watch":"vitest","build:picker":"node scripts/build-picker.mjs","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs","prepublishOnly":"pnpm run verify"},"_npmUser":{"name":"jantimon","email":"j.nicklas@me.com"},"repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.6.2","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.13.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0","@jridgewell/trace-mapping":"^0.3.31"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.2","devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@playwright/test":"^1.60.0","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.23.1_1783341012690_0.5249959499254113","host":"s3://npm-registry-packages-npm-production"}},"0.24.0":{"name":"mini-react-repl","version":"0.24.0","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.24.0","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"8b0363464a4c1a8e1d22ae77eb79f047aa39b1e4","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.24.0.tgz","fileCount":56,"integrity":"sha512-C6ODvwn6/PyV9/ahCQgcESSiRejulVt7Paiaf7hMqanslxHLVwAsE4eYtXMw5lGnIESebFkEz5IUFMUE3u2GVw==","signatures":[{"sig":"MEUCIQDkpuUOJQ9GKvcdHuiwclMlcWmk5iN6IBlhKJZhc/jrtwIgT+2zE5dEFuHf/Nk7ggooaLOEEDe+ELUn9TUdmVzqK5A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mini-react-repl@0.24.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3443123},"type":"module","_from":"file:mini-react-repl-0.24.0.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./loader":{"types":"./dist/loader.d.ts","import":"./dist/loader.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","import":"./dist/inspect/index.js"},"./cdn-esmsh":{"types":"./dist/cdn-esmsh.d.ts","import":"./dist/cdn-esmsh.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"imports":{"#create-worker":{"node":"./dist/create-worker.node.js","default":"./dist/create-worker.js"}},"scripts":{"dev":"pnpm --filter e2e-fixture dev","lint":"oxlint","test":"vitest run","build":"node scripts/clean-dist.mjs && node scripts/build-runtime.mjs && node scripts/build-picker.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css","format":"oxfmt","verify":"pnpm run format:check && pnpm run lint && pnpm run build && pnpm run typecheck && pnpm run test && pnpm run test:e2e","release":"pnpm run build && changeset publish","version":"changeset version","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","changeset":"changeset","typecheck":"tsc --noEmit && tsc --noEmit -p examples/e2e-fixture && tsc --noEmit -p examples/gh-pages && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules && tsc --noEmit -p examples/cdn-esmsh && tsc --noEmit -p examples/transform && tsc --noEmit -p examples/starter && tsc --noEmit -p examples/readonly-preview","test:watch":"vitest","build:picker":"node scripts/build-picker.mjs","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:345a0d95-caa6-4b6d-954c-e5e904662ae9"}},"_resolved":"/tmp/469329d312816a04797258ab3c5e62c4/mini-react-repl-0.24.0.tgz","_integrity":"sha512-C6ODvwn6/PyV9/ahCQgcESSiRejulVt7Paiaf7hMqanslxHLVwAsE4eYtXMw5lGnIESebFkEz5IUFMUE3u2GVw==","repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.16.0","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0","@jridgewell/trace-mapping":"^0.3.31"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@changesets/cli":"^2.31.0","@playwright/test":"^1.60.0","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.24.0_1784213242860_0.5824117285890609","host":"s3://npm-registry-packages-npm-production"}},"0.25.0":{"name":"mini-react-repl","version":"0.25.0","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.25.0","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"e3b1cd0a9047a54e3943a6c07296bcd0561011c9","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.25.0.tgz","fileCount":56,"integrity":"sha512-Dqq+DG0NyPGMvVHSLO5ziCCTd6YQVostW/8W1bEwX6WWe3T+p7PtJqhUKrEUhGXmBK0qTkF1IzwVf+BvEHr37Q==","signatures":[{"sig":"MEUCIQCAQDPM3deVpwPFnjERft28Gk2usKiO/IR1ANJpkoBqcAIgShx/t9t8PeAW6jdUSNTPIT03aIwfohRCt6/h/o8rH1U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mini-react-repl@0.25.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3464026},"type":"module","_from":"file:mini-react-repl-0.25.0.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./loader":{"types":"./dist/loader.d.ts","import":"./dist/loader.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","import":"./dist/inspect/index.js"},"./cdn-esmsh":{"types":"./dist/cdn-esmsh.d.ts","import":"./dist/cdn-esmsh.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"imports":{"#create-worker":{"node":"./dist/create-worker.node.js","default":"./dist/create-worker.js"}},"scripts":{"dev":"pnpm --filter e2e-fixture dev","lint":"oxlint","test":"vitest run","build":"node scripts/clean-dist.mjs && node scripts/build-runtime.mjs && node scripts/build-picker.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css","format":"oxfmt","verify":"pnpm run format:check && pnpm run lint && pnpm run build && pnpm run typecheck && pnpm run test && pnpm run test:e2e","release":"pnpm run build && changeset publish","version":"changeset version","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","changeset":"changeset","typecheck":"tsc --noEmit && tsc --noEmit -p examples/e2e-fixture && tsc --noEmit -p examples/gh-pages && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules && tsc --noEmit -p examples/cdn-esmsh && tsc --noEmit -p examples/transform && tsc --noEmit -p examples/starter && tsc --noEmit -p examples/readonly-preview","test:watch":"vitest","build:picker":"node scripts/build-picker.mjs","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:345a0d95-caa6-4b6d-954c-e5e904662ae9"}},"_resolved":"/tmp/ca674943080ccf33d7566020080add91/mini-react-repl-0.25.0.tgz","_integrity":"sha512-Dqq+DG0NyPGMvVHSLO5ziCCTd6YQVostW/8W1bEwX6WWe3T+p7PtJqhUKrEUhGXmBK0qTkF1IzwVf+BvEHr37Q==","repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.16.0","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0","@jridgewell/trace-mapping":"^0.3.31"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@changesets/cli":"^2.31.0","@playwright/test":"^1.60.0","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.25.0_1784289522679_0.020705596419990036","host":"s3://npm-registry-packages-npm-production"}},"0.25.1":{"name":"mini-react-repl","version":"0.25.1","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.25.1","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"132f856b51520b3e3c8c3e13f124785541aa0cb7","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.25.1.tgz","fileCount":56,"integrity":"sha512-8ESbpzzPCAymnHoLsEvySBVybVeB/GqlriAiyA8o1Yi/iOoN9SpfqnMYiVk5JJ6qa3dej3rBy4PqkSFSt2jiug==","signatures":[{"sig":"MEYCIQCyl4wI6w3HdpFQx8/sQyM75uMP/LQ/Yn+fOCtcx3Jb8AIhAOExezk0dJsjfa9gcyVMmBbDgT0PV6M6Mre86OyQXIt8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mini-react-repl@0.25.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3464661},"type":"module","_from":"file:mini-react-repl-0.25.1.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./loader":{"types":"./dist/loader.d.ts","import":"./dist/loader.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","import":"./dist/inspect/index.js"},"./cdn-esmsh":{"types":"./dist/cdn-esmsh.d.ts","import":"./dist/cdn-esmsh.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"imports":{"#create-worker":{"node":"./dist/create-worker.node.js","default":"./dist/create-worker.js"}},"scripts":{"dev":"pnpm --filter e2e-fixture dev","lint":"oxlint","test":"vitest run","build":"node scripts/clean-dist.mjs && node scripts/build-runtime.mjs && node scripts/build-picker.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css","format":"oxfmt","verify":"pnpm run format:check && pnpm run lint && pnpm run build && pnpm run typecheck && pnpm run test && pnpm run test:e2e","release":"pnpm run build && changeset publish","version":"changeset version","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","changeset":"changeset","typecheck":"tsc --noEmit && tsc --noEmit -p examples/e2e-fixture && tsc --noEmit -p examples/gh-pages && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules && tsc --noEmit -p examples/cdn-esmsh && tsc --noEmit -p examples/transform && tsc --noEmit -p examples/starter && tsc --noEmit -p examples/readonly-preview","test:watch":"vitest","build:picker":"node scripts/build-picker.mjs","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:345a0d95-caa6-4b6d-954c-e5e904662ae9"}},"_resolved":"/tmp/4479778bc7280b99d85428df86ee0954/mini-react-repl-0.25.1.tgz","_integrity":"sha512-8ESbpzzPCAymnHoLsEvySBVybVeB/GqlriAiyA8o1Yi/iOoN9SpfqnMYiVk5JJ6qa3dej3rBy4PqkSFSt2jiug==","repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.16.0","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.18.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0","@jridgewell/trace-mapping":"^0.3.31"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@changesets/cli":"^2.31.0","@playwright/test":"^1.60.0","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.25.1_1784293104077_0.32446232749498316","host":"s3://npm-registry-packages-npm-production"}},"0.25.2":{"name":"mini-react-repl","version":"0.25.2","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","_id":"mini-react-repl@0.25.2","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"dist":{"shasum":"b97afa3f7333a128805c2de7df2be886ff40972c","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.25.2.tgz","fileCount":56,"integrity":"sha512-DwY7jUK3IZCwbwnj7VSUtdd97O4vid3rvl/D1k4QHhLPP9K98P3jQOoxSGtfvt829u25SYW6v/yAfmKBumlJNA==","signatures":[{"sig":"MEUCIG3L9kh+cgBAKHhE20WTrsK5hVVBKRaDCwmqD96wX7gSAiEAxFvSTiUN9CCjVkVAOE5UJkPh7N3GulnzybCPCHUsT6E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mini-react-repl@0.25.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3466057},"type":"module","_from":"file:mini-react-repl-0.25.2.tgz","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./loader":{"types":"./dist/loader.d.ts","import":"./dist/loader.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","import":"./dist/inspect/index.js"},"./cdn-esmsh":{"types":"./dist/cdn-esmsh.d.ts","import":"./dist/cdn-esmsh.js"},"./theme.css":"./dist/theme.css","./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./editor-monaco":{"node":"./dist/editor-monaco/index.node.js","types":"./dist/editor-monaco/index.d.ts","default":"./dist/editor-monaco/index.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"}},"imports":{"#create-worker":{"node":"./dist/create-worker.node.js","default":"./dist/create-worker.js"}},"scripts":{"dev":"pnpm --filter e2e-fixture dev","lint":"oxlint","test":"vitest run","build":"node scripts/clean-dist.mjs && node scripts/build-runtime.mjs && node scripts/build-picker.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css","format":"oxfmt","verify":"pnpm run format:check && pnpm run lint && pnpm run build && pnpm run typecheck && pnpm run test && pnpm run test:e2e","release":"pnpm run build && changeset publish","version":"changeset version","lint:fix":"oxlint --fix","test:e2e":"playwright test","build:lib":"tsup","changeset":"changeset","typecheck":"tsc --noEmit && tsc --noEmit -p examples/e2e-fixture && tsc --noEmit -p examples/gh-pages && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules && tsc --noEmit -p examples/cdn-esmsh && tsc --noEmit -p examples/transform && tsc --noEmit -p examples/starter && tsc --noEmit -p examples/readonly-preview","test:watch":"vitest","build:picker":"node scripts/build-picker.mjs","build:vendor":"node scripts/build-default-vendor.mjs","format:check":"oxfmt --check","build:runtime":"node scripts/build-runtime.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:345a0d95-caa6-4b6d-954c-e5e904662ae9"}},"_resolved":"/tmp/dc4db338aa7b233bbfd150eae78170fb/mini-react-repl-0.25.2.tgz","_integrity":"sha512-DwY7jUK3IZCwbwnj7VSUtdd97O4vid3rvl/D1k4QHhLPP9K98P3jQOoxSGtfvt829u25SYW6v/yAfmKBumlJNA==","repository":{"url":"git+https://github.com/jantimon/mini-react-repl.git","type":"git"},"_npmVersion":"11.17.0","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.19.0","dependencies":{"@swc/wasm-web":"^1.15.30","react-refresh":"^0.18.0","es-module-lexer":"^2.1.0","@jridgewell/trace-mapping":"^0.3.31"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","dayjs":"^1.11.20","oxfmt":"^0.46.0","react":"^19.2.5","oxlint":"^1.61.0","vitest":"^4.1.5","esbuild":"^0.28.0","date-fns":"^4.1.0","lodash-es":"^4.18.1","react-dom":"^19.2.5","typescript":"^6.0.3","@types/node":"^25.6.0","@types/react":"^19.2.14","monaco-editor":"^0.55.1","@changesets/cli":"^2.31.0","@playwright/test":"^1.60.0","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1"},"peerDependencies":{"react":">=19","esbuild":">=0.21","react-dom":">=19","monaco-editor":">=0.45"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/mini-react-repl_0.25.2_1786968815366_0.95015566443001","host":"s3://npm-registry-packages-npm-production"}},"0.26.0":{"name":"mini-react-repl","version":"0.26.0","description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"homepage":"https://github.com/jantimon/mini-react-repl#readme","bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"license":"MIT","author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"repository":{"type":"git","url":"git+https://github.com/jantimon/mini-react-repl.git"},"bin":{"repl-vendor-build":"dist/vendor-builder/cli.js"},"type":"module","sideEffects":["**/*.css"],"imports":{"#create-worker":{"node":"./dist/create-worker.node.js","default":"./dist/create-worker.js"}},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./editor-monaco":{"types":"./dist/editor-monaco/index.d.ts","node":"./dist/editor-monaco/index.node.js","default":"./dist/editor-monaco/index.js"},"./inspect":{"types":"./dist/inspect/index.d.ts","import":"./dist/inspect/index.js"},"./cdn-esmsh":{"types":"./dist/cdn-esmsh.d.ts","import":"./dist/cdn-esmsh.js"},"./vendor-default":{"types":"./dist/vendor-default/index.d.ts","import":"./dist/vendor-default/index.js"},"./vendor-base":{"types":"./dist/vendor-base.d.ts","import":"./dist/vendor-base.js"},"./preview-html":{"types":"./dist/preview-html.d.ts","import":"./dist/preview-html.js"},"./loader":{"types":"./dist/loader.d.ts","import":"./dist/loader.js"},"./theme.css":"./dist/theme.css"},"dependencies":{"@jridgewell/trace-mapping":"^0.3.31","@swc/wasm-web":"^1.15.30","es-module-lexer":"^2.1.0","react-refresh":"^0.18.0"},"devDependencies":{"@changesets/cli":"^2.31.0","@playwright/test":"^1.60.0","@types/lodash-es":"^4.17.12","@types/node":"^25.6.0","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@typescript/native-preview":"7.0.0-dev.20260426.1","date-fns":"^4.1.0","dayjs":"^1.11.20","esbuild":"^0.28.0","lodash-es":"^4.18.1","monaco-editor":"^0.56.0","oxfmt":"^0.46.0","oxlint":"^1.61.0","react":"^19.2.5","react-dom":"^19.2.5","tsup":"^8.5.1","typescript":"^6.0.3","vitest":"^4.1.5"},"peerDependencies":{"esbuild":">=0.21","monaco-editor":">=0.56.0","react":">=19","react-dom":">=19"},"peerDependenciesMeta":{"esbuild":{"optional":true},"monaco-editor":{"optional":true}},"engines":{"node":">=20"},"scripts":{"build":"node scripts/clean-dist.mjs && node scripts/build-runtime.mjs && node scripts/build-picker.mjs && node scripts/build-default-vendor.mjs && tsup && cp src/theme.css dist/theme.css","build:lib":"tsup","build:runtime":"node scripts/build-runtime.mjs","build:picker":"node scripts/build-picker.mjs","build:vendor":"node scripts/build-default-vendor.mjs","dev":"pnpm --filter e2e-fixture dev","test":"vitest run","test:watch":"vitest","test:e2e":"playwright test","typecheck":"tsc --noEmit && tsc --noEmit -p examples/e2e-fixture && tsc --noEmit -p examples/gh-pages && tsc --noEmit -p examples/custom-vendor && tsc --noEmit -p examples/virtual-modules && tsc --noEmit -p examples/cdn-esmsh && tsc --noEmit -p examples/transform && tsc --noEmit -p examples/starter && tsc --noEmit -p examples/readonly-preview","lint":"oxlint","lint:fix":"oxlint --fix","format":"oxfmt","format:check":"oxfmt --check","verify":"pnpm run format:check && pnpm run lint && pnpm run build && pnpm run typecheck && pnpm run test && pnpm run test:e2e","changeset":"changeset","version":"changeset version","release":"pnpm run build && changeset publish"},"_id":"mini-react-repl@0.26.0","_integrity":"sha512-iv8vJeAhqIUDF9tgsodtsVycw+F4Wb6WIrAszUxNVQ0xHFX+jHFRhO6oOK5Dn6mmuzoJi07WAJ56c1ODL6J3kw==","_resolved":"/tmp/79689e8c9ea192af8ef84274b9d6b6df/mini-react-repl-0.26.0.tgz","_from":"file:mini-react-repl-0.26.0.tgz","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-iv8vJeAhqIUDF9tgsodtsVycw+F4Wb6WIrAszUxNVQ0xHFX+jHFRhO6oOK5Dn6mmuzoJi07WAJ56c1ODL6J3kw==","shasum":"8df157cd50f7be2686338bbca5a920307364e25d","tarball":"https://registry.npmjs.org/mini-react-repl/-/mini-react-repl-0.26.0.tgz","fileCount":56,"unpackedSize":3469809,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/mini-react-repl@0.26.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDKzNXfs3lThkKz778qZeGlLU/GWAEjy6+MTR3R8PSSLwIhALw2KPzUMdNUlAdHUnbm60MI1BBZjx4Leo35modNYY0h"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:345a0d95-caa6-4b6d-954c-e5e904662ae9"}},"directories":{},"maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mini-react-repl_0.26.0_1787744088007_0.12019161872012529"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-27T13:48:45.900Z","modified":"2026-08-26T11:34:48.473Z","0.1.0":"2026-04-27T13:48:46.169Z","0.1.1":"2026-04-27T14:44:16.244Z","0.1.2":"2026-04-27T17:05:47.193Z","0.2.0":"2026-04-28T09:30:37.672Z","0.3.0":"2026-04-28T12:38:02.912Z","0.4.0":"2026-04-28T14:50:43.005Z","0.5.0":"2026-04-28T17:29:25.270Z","0.6.0":"2026-04-29T05:19:26.068Z","0.7.0":"2026-04-29T08:10:18.084Z","0.8.0":"2026-04-29T19:02:31.338Z","0.9.0":"2026-05-09T21:01:41.895Z","0.10.0":"2026-05-10T08:38:43.588Z","0.11.0":"2026-05-10T13:22:30.447Z","0.12.0":"2026-05-10T16:28:53.004Z","0.12.1":"2026-05-12T21:50:40.518Z","0.13.0":"2026-05-16T07:36:18.558Z","0.13.1":"2026-05-20T11:35:29.581Z","0.14.0":"2026-05-20T14:41:45.476Z","0.15.0":"2026-05-26T17:58:15.217Z","0.16.0":"2026-05-27T13:48:07.503Z","0.17.0":"2026-05-27T18:16:50.749Z","0.18.0":"2026-05-27T18:57:15.767Z","0.19.0":"2026-05-28T07:09:52.651Z","0.20.0":"2026-05-29T13:34:56.422Z","0.21.0":"2026-06-01T08:16:10.250Z","0.22.0":"2026-06-01T08:44:43.898Z","0.23.0":"2026-06-01T08:59:19.563Z","0.23.1":"2026-07-06T12:30:12.880Z","0.24.0":"2026-07-16T14:47:23.063Z","0.25.0":"2026-07-17T11:58:42.870Z","0.25.1":"2026-07-17T12:58:24.261Z","0.25.2":"2026-08-17T12:13:35.545Z","0.26.0":"2026-08-26T11:34:48.189Z"},"bugs":{"url":"https://github.com/jantimon/mini-react-repl/issues"},"author":{"name":"Jan Nicklas","email":"j.nicklas@me.com"},"license":"MIT","homepage":"https://github.com/jantimon/mini-react-repl#readme","keywords":["fast-refresh","import-map","mini-repl","monaco","playground","react","react-playground","react-repl","repl","sandbox","swc","tsx"],"repository":{"type":"git","url":"git+https://github.com/jantimon/mini-react-repl.git"},"description":"Browser-only React TSX REPL — multi-file editor, live preview, real Fast Refresh, no backend.","maintainers":[{"name":"jantimon","email":"j.nicklas@me.com"}],"readme":"# mini-react-repl\n\n[![npm](https://img.shields.io/npm/v/mini-react-repl)](https://www.npmjs.com/package/mini-react-repl)\n[![types](https://img.shields.io/npm/types/mini-react-repl)](https://www.npmjs.com/package/mini-react-repl)\n[![license](https://img.shields.io/npm/l/mini-react-repl)](./LICENSE)\n[![CI](https://github.com/jantimon/mini-react-repl/actions/workflows/ci.yml/badge.svg)](https://github.com/jantimon/mini-react-repl/actions/workflows/ci.yml)\n[![demo](https://img.shields.io/badge/demo-live-brightgreen)](https://jantimon.github.io/mini-react-repl/)\n\nA multi-file React + TSX REPL that runs entirely in the browser. Edit, see the\nresult live, ship the whole thing as static files\n\n![preview](https://github.com/user-attachments/assets/923e87c3-9499-48ee-95b1-c946ad38f714)\n\n```sh\nnpm i mini-react-repl monaco-editor react react-dom\n```\n\n```tsx\nimport { useState } from 'react';\nimport { Repl } from 'mini-react-repl';\nimport { defaultVendor } from 'mini-react-repl/vendor-default';\nimport { MonacoReplEditor } from 'mini-react-repl/editor-monaco';\nimport 'mini-react-repl/theme.css';\n\nexport default function Playground() {\n  const [files, setFiles] = useState({\n    'App.tsx': 'export default () => <h1>hi</h1>',\n  });\n  return (\n    <Repl editor={MonacoReplEditor} vendor={defaultVendor} files={files} onFilesChange={setFiles} />\n  );\n}\n```\n\nThat's the whole thing. Editor + sandboxed live preview, multi-file, real React Fast\nRefresh, no backend, no SSR, no server-side bundling.\n\n---\n\n## What you get\n\n- multi-file TSX/TS/CSS, with imports across files\n- bare specifier imports (`import dayjs from 'dayjs'`) for a curated\n  vendor set, swappable for your own\n- React Fast Refresh — component state survives edits\n- inline source maps so stack traces point at your `.tsx`, not transpiled JS\n- Monaco gets pre-configured (automatic JSX, ES2022, bundler resolution) and\n  pre-baked `.d.ts` for the curated vendor set — real squiggles + hover for\n  `react`, `react-dom`, `dayjs` out of the box\n- strictly controlled state. you own the file table. persistence, sharing,\n  undo, multi-tab sync — all yours to wire up however\n\n## What it doesn't do, and won't pretend to\n\n- **arbitrary npm at runtime, by default.** the vendor set is fixed at build\n  time and there's a builder if you want a different set. an opt-in `cdn` prop\n  lazy-loads anything outside that set from esm.sh on demand — off unless you\n  pass it, so the default stays \"no surprise network calls\". see\n  [Lazy npm via esm.sh](#lazy-npm-via-esmsh).\n- **type errors as a build gate.** swc strips types, the iframe runs. Monaco\n  shows red squiggles (user files + vendor packages, via the pre-baked\n  `.d.ts`), but a type error never blocks the run. like Vite dev:\n  diagnostics are advisory.\n- **folders.** flat file list. `./Counter`, not `./components/Counter`.\n- **CJS.** ESM-only. modern browsers only — Chrome 109+, FF 108+, Safari 16.4+.\n- **persistence, sharing, templates, console capture.** open DevTools for the\n  console. write to IDB if you want to persist. the API gives you `files` and\n  `onFilesChange`, the rest is on you. this is a feature.\n\nIf those are dealbreakers look at [Sandpack](https://sandpack.codesandbox.io/) (unmaintained)\nor [StackBlitz WebContainers](https://webcontainers.io/) (monthly subscription) instead — they make different trade-offs and they're great at them\n\n---\n\n## API\n\n```ts\nimport {\n  Repl, // convenience: tabs + editor + preview\n  ReplProvider, // headless: just the engine + context\n  ReplFileTabs, // headless: tabs UI\n  ReplPreview, // headless: the iframe + error overlay\n  ReplErrorOverlay, // standalone overlay component\n  useRepl, // hook: files + crud actions\n} from 'mini-react-repl';\n```\n\n### `<Repl/>` props\n\n| prop                      | type                                              | required | default                       |                                                                                                  |\n| ------------------------- | ------------------------------------------------- | -------- | ----------------------------- | ------------------------------------------------------------------------------------------------ |\n| `files`                   | `Record<string, string>`                          | yes      | —                             | flat path → source map                                                                           |\n| `onFilesChange`           | `(next) => void`                                  | yes      | —                             | called on every set/remove/rename                                                                |\n| `vendor`                  | `VendorBundle \\| Promise<{ default }>`            | yes      | —                             | `{ importMap, types? }`; promise/thunk forms code-split it                                       |\n| `editor`                  | `React.FC<ReplEditorProps>`                       | yes      | —                             | adapter component                                                                                |\n| `entry`                   | `string`                                          | no       | `'App.tsx'`                   | the logical entry path                                                                           |\n| `transformDebounceMs`     | `number`                                          | no       | `150`                         |                                                                                                  |\n| `sandbox`                 | `string`                                          | no       | `'allow-scripts allow-forms'` | iframe `sandbox` tokens; pass extras to extend                                                   |\n| `unsafeDropSandbox`       | `true`                                            | no       | —                             | drop the `sandbox` attribute entirely (only for fully trusted code)                              |\n| `virtualModules`          | `Record<string, string>`                          | no       | —                             | inline modules user code can import; see [Virtual modules](#virtual-modules)                     |\n| `baseHref`                | `string \\| null`                                  | no       | `window.location.origin`      | `<base href>` for root-relative URLs in user code; `null` omits it                               |\n| `headHtml`                | `string`                                          | no       | `''`                          | injected into iframe `<head>`                                                                    |\n| `bodyHtml`                | `string`                                          | no       | `''`                          | injected into iframe `<body>`                                                                    |\n| `showPreviewErrorOverlay` | `boolean`                                         | no       | `true`                        | toggle built-in overlay                                                                          |\n| `onPreviewError`          | `(err: ReplError) => void`                        | no       | —                             | transform + runtime errors                                                                       |\n| `onMounted`               | `() => void`                                      | no       | —                             | fires when the iframe runtime mounts the entry module                                            |\n| `iframeRef`               | `Ref<HTMLIFrameElement>`                          | no       | —                             | forwarded to the underlying `<iframe>`; `postMessage` host data in                               |\n| `onAddFile`               | `() => MaybePromise<string \\| null \\| undefined>` | no       | —                             | custom add-file dialog; return the new path, or nullish to cancel                                |\n| `onDeleteFile`            | `(path) => MaybePromise<boolean \\| void>`         | no       | —                             | confirm/cancel deletion; return `false` to cancel                                                |\n| `swcWasmUrl`              | `string`                                          | no       | jsdelivr CDN                  | self-host this for offline / CI                                                                  |\n| `hmr`                     | `boolean`                                         | no       | `true`                        | `false` drops Fast Refresh for read-only previews; see [Read-only previews](#read-only-previews) |\n| `loader`                  | `ReplLoader`                                      | no       | —                             | per-file pre-processor; see [Custom file types](#custom-file-types)                              |\n| `cdn`                     | `ReplCdnResolver`                                 | no       | —                             | lazy-load bare specifiers off a CDN; see [Lazy npm via esm.sh](#lazy-npm-via-esmsh)              |\n\n### `useRepl()`\n\n```ts\nconst { files, setFile, removeFile, renameFile, activePath, setActivePath, reloadPreview } =\n  useRepl();\n```\n\nThat's it. No `errors`, no `forceRefresh`, no `getPreviewIframe`. By design —\nerrors come through `onPreviewError`. `reloadPreview()` is the recovery hatch\nwhen user code crashes past what Fast Refresh can handle (empty entry file,\ntop-level throw): it remounts the iframe and re-runs every transform.\n\n### Headless layout\n\n```tsx\n<ReplProvider files={files} onFilesChange={setFiles} vendor={defaultVendor}>\n  <Sidebar>\n    <ReplFileTabs />\n  </Sidebar>\n  <Main>\n    <Top>\n      <MyEditor />\n    </Top>\n    <Bottom>\n      <ReplPreview\n        headHtml={`<script src=\"https://cdn.tailwindcss.com\"></script>`}\n        onPreviewError={(e) => toast(e.message)}\n      />\n    </Bottom>\n  </Main>\n</ReplProvider>\n```\n\n`ReplProvider` is just context + the engine. lay it out however.\n\n### Read-only previews\n\nFast Refresh is on by default. If the preview renders a fixed set of files that\nnever change after boot — an embedded docs example, a published snapshot — pass\n`hmr={false}`:\n\n```tsx\n<Repl files={files} onFilesChange={setFiles} vendor={vendor} editor={MyEditor} hmr={false} />\n```\n\nswc then emits no Refresh signatures, the preamble script is dropped, and\nmodules are wrapped without the Refresh prologue. What's left in each compiled\nmodule is your code — no `$RefreshReg$`/`$RefreshSig$` registrations, no\nprologue aliasing them, and no Refresh work on every module commit. Step\nthrough a module in devtools and that's what you read.\n\nIt won't change your stack traces: Refresh registrations run at module scope,\nso they're never on the stack when something throws. This is about the artifact,\nnot the error report.\n\nEditing still works — but every change costs a full re-boot of the preview, so\ncomponent state is lost. Fast Refresh is what makes a cheaper update possible;\nwithout it a per-module patch can't be correct anyway, since a rebuilt module's\nimporters still hold the old blob URL. Leave `hmr` alone for anything users type\ninto.\n\nElement inspection is unaffected. `hmr` is boot-time only — remount the provider\nwith a different `key` to change it.\n\nSee `examples/readonly-preview` for a docs-style embedded example: no editor at\nall, just `ReplProvider` + `ReplPreview`, with a tab bar that swaps `files`\nbetween prepared snippets.\n\n---\n\n## Vendor\n\nThe vendor bundle is what lets `import dayjs from 'dayjs'` work. it's\na curated, prebuilt set of ESM modules + an import map.\n\n### Default\n\n```tsx\nimport { defaultVendor } from 'mini-react-repl/vendor-default'\n\n<Repl vendor={defaultVendor} ... />\n```\n\nincludes: `react@19`, `react-dom@19`, `react/jsx-runtime`,\n`react/jsx-dev-runtime`, `dayjs@1`. inlined as\nbase64 data URLs so it works under srcdoc with zero hosting setup. ~200 kB\ngzipped JS (most of it the development build of `react-dom`, which Fast\nRefresh needs), plus pre-baked `.d.ts` (`vendor.types`) so Monaco shows real\nred squiggles + hover signatures for the same packages.\n\n`date-fns` and `lodash-es` were dropped from the default set in 0.23.0 — modern\nbrowsers cover most of what they did, and the `cdn` prop lazy-loads them (or\nanything else) from esm.sh when you actually need them. see\n[Lazy npm via esm.sh](#lazy-npm-via-esmsh).\n\nthe import map and the `.d.ts` payload are both code-split. the import-map\nchunk loads when `<Repl/>` mounts; the types chunk loads when an editor\nmounts. preview-only or non-Monaco consumers never download types; routes\nthat never mount `<Repl/>` ship neither. need to warm a chunk earlier\n(prefetch on hover, idle, etc.)? call `defaultVendor.importMap()` or\n`defaultVendor.types()` directly — both return the same promise the\nlibrary awaits on mount, so the chunks land in cache before they're needed.\n\nif your demo needs literally only those libs, stop reading.\n\n### Custom\n\nYou're going to outgrow the default. when that happens, write a\n`vendor.entry.ts` that declares the bundle shape via standard ESM\nimports/exports:\n\n```ts\n// src/sandbox/vendor.entry.ts\n// Re-exports the iframe-runtime required core (react, react-dom,\n// react-dom/client, react/jsx-runtime, react/jsx-dev-runtime,\n// react-refresh/runtime). Skip this and the build errors loudly.\nexport * from 'mini-react-repl/vendor-base';\n\nimport * as zod from 'zod';\nimport * as framer from 'framer-motion';\nimport * as lodash from 'lodash-es'; // alias source: iframe imports 'lodash'\n\nexport { zod, framer as 'framer-motion', lodash };\n```\n\nthen build it:\n\n```sh\n# repl-vendor-build needs esbuild; it's an optional peer dep, install once:\nnpm i -D esbuild\n\nnpx repl-vendor-build src/sandbox/vendor.entry.ts\n# → src/sandbox/vendor.generated/index.ts          (exports customVendor)\n# → src/sandbox/vendor.generated/import-map.json   ({ imports: { ... } })\n# → src/sandbox/vendor.generated/types.json        (.d.ts payload)\n```\n\nThe output folder name (`<basename-without-.entry.ext>.generated`) is\nmatched by most default ignore globs (Prettier, oxlint, Knip) and is meant\nto be gitignored as a unit. Pass `--out <dir>` to override.\n\nDrop it into `<Repl>`:\n\n```tsx\nimport { customVendor } from './sandbox/vendor.generated';\n\n<Repl vendor={customVendor} ... />\n```\n\nBoth the import-map and types are code-split. Routes that never mount\n`<Repl/>` ship neither; preview-only consumers never download types.\nSSR-safe. The generated `index.ts` has a loading-sequence diagram in\nits header comment if you want the details.\n\nThe CLI is the only supported entry point — there is no public Node API.\nWire it into your build via an npm script (`\"build:vendor\":\n\"repl-vendor-build src/vendor.entry.ts\"`) or a pre-build hook.\n\n### Mix\n\nTo put back libraries that aren't in the default set (e.g. `date-fns` and\n`lodash-es`, dropped in 0.23.0) alongside your own additions, declare them\nall in one `vendor.entry.ts`:\n\n```ts\n// src/sandbox/vendor.entry.ts\nexport * from 'mini-react-repl/vendor-base';\n\nimport * as dateFns from 'date-fns';\nimport * as dayjs from 'dayjs';\nimport * as lodash from 'lodash-es';\nimport * as zod from 'zod'; // your additions\n\nexport { dateFns as 'date-fns', dayjs, lodash as 'lodash-es', zod };\n```\n\nOne import map, one types chunk, no runtime composition. Runtime composition\nisn't supported anyway — `defaultVendor.importMap` / `customVendor.importMap`\nare lazy thunks now, not plain objects.\n\n### Virtual modules\n\nFor ad-hoc helpers you don't want to ship as a vendor chunk — small\nutilities, theming primitives, mock APIs — pass them inline:\n\n```tsx\nconst VIRTUAL_MODULES = {\n  '@app/util': `export const greet = (name: string) => 'hello ' + name`,\n} as const;\n\n<Repl files={files} virtualModules={VIRTUAL_MODULES} ... />\n```\n\nUser code in the REPL can `import { greet } from '@app/util'` — the iframe\nruntime executes it; Monaco autocompletes against the source. No bundling,\nno hosting, no import-map entry. Virtuals can import each other and any\nvendor package (`react`, `dayjs`, …) — the iframe's existing dep\nsubstitution and the import map handle both.\n\n**Boot-time only.** Snapshotted on first mount, identical to `vendor`.\nHoist to a top-level `as const` so the reference stays stable. Collisions\nwith `vendor.importMap.imports` keys resolve in favor of the virtual.\nCSS aliases are not yet supported.\n\nSee `examples/virtual-modules/` for a working setup with cross-virtual imports.\n\n### Lazy npm via esm.sh\n\nThe vendor set is curated and fixed at build time. To reach for a package\nthat isn't in it without rebuilding, pass the opt-in `cdn` prop — bare\nspecifiers the vendor import map doesn't cover are lazy-loaded from a CDN on\ndemand, at the moment user code imports them:\n\n```tsx\nimport { createEsmShCdnHandler } from 'mini-react-repl/cdn-esmsh';\n\n// Build it ONCE at module scope — a stable reference. Pin versions for\n// anything you ship publicly so the lazy import is reproducible.\nconst cdn = createEsmShCdnHandler({ versions: { 'canvas-confetti': '1.9.3' } });\n\n<Repl files={files} vendor={defaultVendor} cdn={cdn} ... />\n```\n\n```tsx\n// …then user code can just import it:\nimport confetti from 'canvas-confetti'; // resolved from esm.sh on demand\n```\n\nIt's **layered behind** the vendor map, never instead of it: vendor\nspecifiers always win, so the React singleton, offline support, and Monaco\ntypes stay intact for the curated set. esm.sh resolves the long tail. Each\nemitted URL carries `?external=<vendor keys>` so a lazy package reuses the\nvendor's React (and every other vendor singleton) instead of bundling its\nown — without that, two Reacts means \"Invalid hook call\".\n\n`createEsmShCdnHandler` takes `versions` (pin for reproducibility), `allow`\n(an allowlist gate), `origin` (a self-hosted mirror), and `query` (extra\nesm.sh flags, e.g. `{ bundle: true }` to flatten a deep dep tree into one\nrequest). `cdn` is any `(specifier, sharedDependencies, fromPath) => string |\nnull` though, so jsDelivr `+esm` or your own resolver work too. Lazy modules\nhave no `.d.ts`, so they show as Monaco squiggles even though they run fine.\n\n**Caveats:** it makes user code call a third-party CDN — leaving `cdn`\nunset keeps the static-deploy, no-surprise-calls default. If you set a CSP,\nallow `script-src https://esm.sh` (module fetches, static and dynamic, are\ngoverned by `script-src`). **Boot-time only**, like `vendor`.\n\nSee `examples/cdn-esmsh/` for a working setup (and the React-singleton proof).\n\n---\n\n## Editor\n\nYou bring your own. the library doesn't bundle one by default. there's an\nadapter contract:\n\n```ts\ntype ReplEditorProps = {\n  path: string;\n  value: string;\n  onChange: (next: string) => void;\n  language: 'typescript' | 'javascript' | 'css';\n  types?: TypeBundle; // forwarded from vendor.types; ignore if you don't care\n};\n```\n\nwrite a component matching this shape, pass it as `editor={...}`. that's the\nwhole interface.\n\n### The Monaco one\n\nMost people are going to want Monaco. shipped under a separate import path so\nits weight is opt-in:\n\n```tsx\nimport { MonacoReplEditor } from 'mini-react-repl/editor-monaco';\n```\n\n`monaco-editor` is an _optional_ peer dep — only the people who import this\npath install it. you'll still need a Monaco worker setup for your bundler\n([vite-plugin-monaco-editor](https://github.com/vdesjs/vite-plugin-monaco-editor)\nor [monaco-editor-webpack-plugin](https://github.com/microsoft/monaco-editor-webpack-plugin)),\nwhich Monaco needs whether or not you're using this library.\n\n**Requires `monaco-editor` >=0.56.0.** 0.56.0 changed the package's `exports`\nmap in a way that's incompatible with the worker specifiers this adapter\nused to construct for older versions, and no single specifier works under\nboth — see\n[microsoft/monaco-editor#5405](https://github.com/microsoft/monaco-editor/issues/5405).\nIf you're stuck on an older `monaco-editor`, pin an earlier `mini-react-repl`\nrelease.\n\n#### type-checking config\n\n`MonacoReplEditor` configures Monaco's TS service on mount with compiler\noptions matching the runtime transform: automatic JSX, ES2022, bundler\nresolution, strict, etc. Without this Monaco's defaults reject every `.tsx`\nfile with TS17004 (`--jsx not provided`) and every bare specifier with\nTS2792 (module not found). If you want to override:\n\n```tsx\n<MonacoReplEditor compilerOptions={{ strict: false }} />\n```\n\nSame for `diagnosticsOptions`. Both are passthroughs to\n`monaco.languages.typescript.typescriptDefaults`.\n\nIf `vendor.types` is set (the default vendor pre-bakes it; the builder\nemits `types.json` alongside `import-map.json` in the generated folder),\n`MonacoReplEditor` registers each `.d.ts` via `addExtraLib` so users get\nreal diagnostics + hover signatures for vendor packages. `vendor.types`\nalso accepts a `Promise<TypeBundle>` or a thunk so the types chunk loads\nin parallel to the rest of the app — and can be skipped entirely on\nroutes that never mount an editor.\n\nMonaco's theme defaults to `'auto'`, which wires up a tiny watcher that\nfollows the host page's `prefers-color-scheme`. Pass any registered\ntheme name (`'vs-dark'`, your own, …) to pin it and skip the watcher.\n\n### CodeMirror? plain textarea?\n\nSure. write the adapter:\n\n```tsx\nconst TextAreaEditor: React.FC<ReplEditorProps> = ({ value, onChange }) => (\n  <textarea value={value} onChange={(e) => onChange(e.target.value)} />\n);\n```\n\ndoesn't get more \"bring your own\" than that.\n\n---\n\n## Custom file types\n\nEvery file flows through a loader. The default handles `.css` (injected as\n`<style>`) and `.tsx` / `.ts` / `.jsx` / `.js` (swc-compiled). Anything else\nis ignored.\n\nPass `loader` to claim more extensions. The function runs once per file (on\nfirst load and on every change) and gets the file's `source` plus a\n`transform` function — the same swc-wasm pipeline the default loader uses —\nso you can keep delegating TS/JSX compilation. Return a `ReplLoaderResult`\nto claim the file, or `null` / `undefined` to fall through:\n\n```tsx\nimport { defaultLoader, type ReplLoader } from 'mini-react-repl/loader';\n\nconst loader: ReplLoader = async (input) => {\n  if (input.path.endsWith('.sqlite')) {\n    // emit plain JS — no swc needed\n    return {\n      kind: 'module',\n      code: `export default ${JSON.stringify(parseSqlite(input.source))};`,\n    };\n  }\n  if (input.path.endsWith('.md')) {\n    // generate TSX, then run it through the same swc pass `.tsx` files use\n    const tsxSource = mdxToTsx(input.source);\n    return { kind: 'module', code: await input.transform(tsxSource, { tsx: true }) };\n  }\n  return defaultLoader(input);\n};\n\n<Repl\n  files={files}\n  onFilesChange={setFiles}\n  vendor={defaultVendor}\n  editor={MonacoReplEditor}\n  loader={loader}\n/>;\n```\n\n`ReplLoaderResult` is a discriminated union:\n\n| variant                            | meaning                                                                                                             |\n| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------- |\n| `{ kind: 'css', source: string }`  | inject `source` as a `<style>` tag                                                                                  |\n| `{ kind: 'module', code: string }` | `code` is already-compiled JS; the engine runs `rewriteImports` on it so relative specifiers resolve to other files |\n| `null` / `undefined`               | skip the file                                                                                                       |\n\nA user file can `import data from './data.sqlite'` once the loader claims it\n— relative imports resolve against the `files` map by literal name first, so\nnon-standard extensions just work as long as you write them out.\n\nThe `loader` prop is boot-time only (like `vendor` / `entry`); to swap, remount\nthe provider with a different `key`.\n\n---\n\n## Styling\n\nunstyled by default. components emit stable class names + data attributes:\n\n```html\n<div class=\"repl-tabs\">\n  <button class=\"repl-tab\" data-active=\"true\">App.tsx</button>\n</div>\n<div class=\"repl-preview\"><iframe class=\"repl-iframe\"></iframe></div>\n<div class=\"repl-error-overlay\">…</div>\n```\n\nthree options:\n\n```ts\nimport 'mini-react-repl/theme.css'; // sane defaults, light + dark\n```\n\n…or write your own CSS targeting `.repl-*` and `[data-active]`.\n\n…or wrap each component, every one accepts `className` and `style`.\n\nno Tailwind dep, no CSS-in-JS, no global pollution beyond the class names.\n\n---\n\n## Iframe extras\n\nThe preview is a srcdoc. you can inject into it:\n\n```tsx\n<ReplPreview\n  headHtml={`\n    <script src=\"https://cdn.tailwindcss.com\"></script>\n    <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css2?family=Inter\">\n    <script>window.MY_API_KEY = 'demo-key'</script>\n  `}\n  bodyHtml={`<div id=\"my-extra-portal\"></div>`}\n/>\n```\n\n`headHtml` runs **before** the import map and runtime, so don't try to use\nthe registry from there. `bodyHtml` is appended after `#root`, run anything\nthat should run after the React root mounts.\n\nThe preview document is loaded from a sandboxed `blob:` URL, so root-relative\nURLs in user code (e.g. `<img src=\"/img/yak-jumping.png\">`) would resolve\nagainst the opaque `blob:` origin — which has no server behind it — and fail.\nA `<base href>` is emitted as the first element in `<head>` to re-point those\nURLs at a real origin. It defaults to the embedder's `window.location.origin`;\noverride it for a different asset host, or pass `baseHref={null}` to drop the\ntag entirely.\n\n```tsx\n<ReplPreview baseHref=\"https://cdn.example.com/\" />\n```\n\nif you want Tailwind in your previews this is where it goes. the library\ndoesn't bundle it.\n\n---\n\n## Element inspection\n\nOptional subpath that ships an in-iframe element picker. Click an element in\nthe live preview, get back the JSX call site that produced it with file, line,\ncolumn, component name making use of the source-maps automatically\n\n```tsx\nimport { Repl } from 'mini-react-repl';\nimport { InspectMode } from 'mini-react-repl/inspect';\n\nconst [picking, setPicking] = useState(false);\n\n<>\n  <button onClick={() => setPicking(true)}>Inspect</button>\n  <Repl files={files} onFilesChange={setFiles} vendor={vendor} editor={MonacoReplEditor}>\n    <InspectMode\n      active={picking}\n      onElementPicked={(pick) => {\n        setPicking(false);\n        // pick.dom.tag    → 'h1'\n        // pick.dom.text   → 'Today is Monday'\n        // pick.stack[0]   → { fileName: 'App.tsx', lineNumber: 7, columnNumber: 7, componentName: 'App' }\n      }}\n      onCancel={() => setPicking(false)}\n    />\n  </Repl>\n</>;\n```\n\n`<InspectMode/>` must live inside the surrounding `<ReplProvider/>` (or\n`<Repl>`, which renders one) — it discovers the live iframe through provider\ncontext, no ref plumbing required.\n\nThe picker is **lazy-injected** into the iframe on first activation —\nconsumers who never import `mini-react-repl/inspect` don't pay any byte for\nthe inspection feature\n\n### Pick shape\n\n```ts\ntype ElementPick = {\n  dom: { tag: string; text: string | null; boundingRect: DOMRectReadOnly };\n  stack: StackFrame[];\n};\n\ntype StackFrame = {\n  fileName: string;\n  lineNumber: number;\n  columnNumber: number;\n  componentName: string | null;\n};\n```\n\nThe stack is ordered top-down: index 0 is the JSX call closest to the clicked\nDOM node; later frames walk up the React `_debugOwner` chain. Every position\nis in **source space**, ready to hand straight to an \"open in editor\" link\n\n---\n\n## Errors\n\n```tsx\n<Repl\n  showPreviewErrorOverlay={true} // default\n  onPreviewError={(err) => {\n    if (err.kind === 'runtime') sentry.captureException(err);\n    setLastError(err);\n  }}\n/>\n```\n\n```ts\ntype ReplError =\n  | { kind: 'transform'; path: string; message: string; loc?: { line: number; column: number } }\n  | { kind: 'runtime'; message: string; stack: string }\n  | { kind: 'resolve'; path: string; specifier: string };\n```\n\nboth transform and runtime errors flow through the same callback. line/col is\nmapped to original `.tsx` via inline source maps.\n\nwhen transform fails, **the previous render stays mounted**. you don't lose\nyour DOM because you forgot a `}`. this is intentional and the thing that\nmakes it feel like Vite dev rather than a \"syntax error → blank page\" REPL.\n\nset `showPreviewErrorOverlay={false}` if you want to render the error\nyourself.\n\n---\n\n## How it actually works\n\nThe interesting part, and the part that took the longest to get right.\n\n1. you change a file. `<ReplProvider/>` debounces 150ms.\n2. the changed file is shipped to a Web Worker running `swc-wasm`. swc\n   strips types, transforms JSX (automatic runtime), and injects React\n   Refresh signatures.\n3. main thread takes the JS back, runs an import-rewrite pass:\n   - bare specifiers (`'react'`, `'dayjs'`) are left alone — the iframe\n     has a native `<script type=\"importmap\">` that resolves them\n   - relative specifiers (`'./Counter'`) get rewritten to the current blob\n     URL of that logical path\n4. wrapped code becomes a `Blob`, becomes a `URL.createObjectURL`, gets\n   `postMessage`d to the iframe.\n5. the iframe imports the blob URL. on top-level execution, the module\n   `commit()`s itself into a global registry keyed by **logical path**, not\n   blob URL. React Refresh sees stable IDs, patches components in place,\n   state survives.\n\nThe iframe itself is a srcdoc — generated once, never recomputed on file\nedits. blobs come and go through postMessage. errors come back the same way.\n\nThat's the whole pipeline. ~30KB of glue around swc-wasm and react-refresh.\n\n---\n\n## Caveats\n\nthings that will bite you. read this part.\n\n- **bundler-native worker imports.** the library does\n  `new Worker(new URL('./worker.js', import.meta.url), { type: 'module' })`.\n  works in Vite, Rollup 4+, Webpack 5+, esbuild bundle, Parcel 2. doesn't\n  work in pure-CDN no-bundler setups. there's a `/standalone` entry planned\n  for v2 with the inline-Blob-worker trick.\n- **srcdoc origin.** stack traces show `about:srcdoc:42` for the iframe HTML\n  itself. blob: URLs for transformed user code. inline source maps map back\n  to original `.tsx`. DevTools \"Sources\" works. but if you grep frames for a\n  pretty path you'll see srcdoc.\n- **swc-wasm fetches at runtime.** by default from jsdelivr. self-host it for\n  offline / CI / strict CSP:\n  ```tsx\n  <Repl swcWasmUrl=\"/swc.wasm\" />\n  ```\n- **`cdn` (esm.sh) is off by default.** the engine itself makes no\n  third-party calls; only a `cdn`-resolved lazy import reaches out. with a\n  CSP, allow `script-src https://esm.sh`. see\n  [Lazy npm via esm.sh](#lazy-npm-via-esmsh).\n- **Monaco workers are not our problem.** if Monaco is your editor, you have\n  to configure its workers in your bundler. there's no way around this and\n  every Monaco-based library has the same constraint.\n- **CSS files.** alphabetical concat across files. one `<style>` per file.\n  `@import` doesn't resolve (browsers will try and fail).\n- **rename/delete breaks importers.** no auto-fix. importing files will fail\n  to transform, the overlay shows `Module not found`, last-good render stays.\n  fix the import yourself. (consider this a feature: predictable, no magic.)\n- **default sandbox is `allow-scripts allow-forms`.** the iframe runs with\n  a unique opaque origin, so user code can't reach `window.parent`,\n  `localStorage`, or cookies of your app. `unsafeDropSandbox` drops the\n  attribute entirely — only do that for fully trusted code. for hostile\n  inputs, additionally serve the host page from a separate origin so the\n  sandbox can't be undone by a host-side XSS.\n- **strictly controlled state means re-renders are yours to manage.** if you\n  do `onFilesChange={files => setHeavyState(files)}` and `setHeavyState` is\n  expensive, that's on you. the library debounces _transformation_ (150ms)\n  but not your `setState`.\n\n---\n\n## Compared to\n\n|                    | this                                                    | Sandpack                          | StackBlitz WebContainers                            |\n| ------------------ | ------------------------------------------------------- | --------------------------------- | --------------------------------------------------- |\n| how it transforms  | swc-wasm in a worker, browser only                      | bundler in a worker, browser only | full Node in WASM, real npm                         |\n| arbitrary npm      | curated set; opt-in esm.sh for the long tail (`cdn`)    | yes, via esm.sh                   | yes, real npm install                               |\n| static deploy      | yes, no backend at all                                  | yes                               | no, needs CSP/COOP/COEP headers from special origin |\n| backend, ssr, etc. | no                                                      | no                                | yes, runs Node                                      |\n| bundle size        | small (engine ~30KB + swc 3MB wasm + your vendor)       | medium                            | enormous, but you get a whole VM                    |\n| works offline      | yes (with self-hosted swc.wasm + inline default vendor) | partly                            | no                                                  |\n\nif you need real npm, real Node, you want WebContainers. if you need\narbitrary client-side npm with a CDN runtime, Sandpack. if you want a fast,\nboring, static-deployable React playground with a known set of libs, this.\n\n---\n\n## FAQ\n\n**how do I add a library?**\nwrite a `vendor.ts` (re-export `mini-react-repl/vendor-base` plus your own\ndeps), run `npx repl-vendor-build vendor.ts`, pass the result.\nsee [Vendor](#vendor).\n\n**can I use this for tutorials / blog post embeds?**\nyes — that's the main use case. srcdoc preview means it works inside an\niframe-in-an-iframe just fine. ship the demo as a static page, embed\nanywhere.\n\n**why not just use Vite?**\nVite needs a dev server. this doesn't. drop the build output on a static host\nand you're done.\n\n**why no Service Worker for module resolution?**\nconsidered it. SW gives stable URLs (good for Refresh) but adds lifecycle\ncomplexity, scope rules, registration timing. blob URLs + a logical-path\nregistry get the same Refresh behavior with no SW required. trade-off\nfavored simplicity.\n\n**HMR for non-component edits?**\nReact Refresh handles it. utility/hook edits invalidate up to the nearest\ncomponent boundary, which gets re-rendered. cascade is usually 1–2 modules\ndeep. you don't have to think about it.\n\n**can I get TypeScript red squiggles for the vendor libs?**\nyes — the default vendor pre-bakes `.d.ts` for `react`, `react-dom`,\n`dayjs`, and `MonacoReplEditor` registers them with\nMonaco's TS service via `addExtraLib`. for custom vendors, `repl-vendor-build`\nemits a `types.json` next to `import-map.json` in the generated folder. swc\nstill strips types at runtime — diagnostics are editor-side only and don't\ngate the transform.\n\n**does it work in Storybook / Docusaurus / Notion-like embeds?**\nyes — srcdoc preview means it doesn't care what frame it's rendered in.\n\n**why ESM-only? no CJS?**\nit's 2026. our minimum browser is Safari 16.4. node 20 understands ESM. CJS\nis a tax we don't want to pay.\n\n---\n\n## Dev\n\n```sh\ngit clone https://github.com/jantimon/mini-react-repl\ncd mini-react-repl\npnpm install\npnpm dev          # runs examples/e2e-fixture (the Playwright target)\npnpm test         # vitest\npnpm test:e2e     # playwright (chromium only for now)\npnpm build        # tsup, library only\n```\n\nE2E tests run against `examples/e2e-fixture` on chromium only for v1. firefox + webkit\nare deferred until the chromium suite is stable. see [SPEC.md](./SPEC.md) §17.\n\nPRs welcome. small ones land fast. for anything architectural, open an issue\nfirst — there's a decision log in [SPEC.md](./SPEC.md) §20 covering the\ntradeoffs already made, please skim before proposing reverts.\n\n---\n\n## License\n\nMIT\n","readmeFilename":"README.md"}