{"_id":"@aperi21/host-tiptap-bundle","name":"@aperi21/host-tiptap-bundle","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@aperi21/host-tiptap-bundle","version":"0.1.0","type":"module","description":"Self-contained ESM bundle of @aperi21/host-tiptap + sim-* + plugin-*. 외부 호스트 앱(예: 노트 에디터)이 단일 의존으로 소비하는 Tiptap 확장.","license":"MIT","author":{"name":"Mintae Kim","email":"ibare77@gmail.com"},"homepage":"https://github.com/ibare/aperi21/tree/main/packages/host-tiptap-bundle#readme","repository":{"type":"git","url":"git+https://github.com/ibare/aperi21.git","directory":"packages/host-tiptap-bundle"},"bugs":{"url":"https://github.com/ibare/aperi21/issues"},"keywords":["tiptap","tiptap-extension","prosemirror","interactive","visualization","simulation","physics","aperi21","esm"],"sideEffects":false,"main":"./dist/host-tiptap-bundle.js","module":"./dist/host-tiptap-bundle.js","types":"./dist/host-tiptap-bundle.d.ts","exports":{".":{"types":"./dist/host-tiptap-bundle.d.ts","import":"./dist/host-tiptap-bundle.js"},"./package.json":"./package.json"},"engines":{"node":">=20"},"publishConfig":{"access":"public"},"peerDependencies":{"@tiptap/core":"^3.0.0","@tiptap/pm":"^3.0.0"},"devDependencies":{"@rollup/plugin-node-resolve":"^15.3.0","@tiptap/core":"^3.22.3","@tiptap/pm":"^3.22.3","rollup":"^4.28.0","rollup-plugin-dts":"^6.1.1","rollup-plugin-esbuild":"^6.1.1","rollup-plugin-visualizer":"^5.12.0","typescript":"^5.6.3","@aperi21/bootstrap":"0.0.0","@aperi21/schema":"0.0.0","@aperi21/host":"0.0.0","@aperi21/host-tiptap":"0.0.0"},"scripts":{"build":"pnpm clean && rollup -c rollup.config.mjs","build:analyze":"pnpm clean && VISUALIZE=1 rollup -c rollup.config.mjs","typecheck":"tsc --noEmit","clean":"rm -rf dist","pack":"pnpm pack","build:pack":"pnpm clean && pnpm build && pnpm pack"},"_id":"@aperi21/host-tiptap-bundle@0.1.0","_integrity":"sha512-TPv96KdBc58q5xdJZz0FzBoATWpUNkQT4xBGw0cTb5uPZsMZ8DSzr6DSbiN/x6P9FaGGjwImpILmt1O+b/tdsw==","_resolved":"/private/var/folders/jf/fd6cgd7d2j15wv7qsnn_0jbc0000gn/T/005d8d3b5db7bff6f5f745d1e507e849/aperi21-host-tiptap-bundle-0.1.0.tgz","_from":"file:aperi21-host-tiptap-bundle-0.1.0.tgz","_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-TPv96KdBc58q5xdJZz0FzBoATWpUNkQT4xBGw0cTb5uPZsMZ8DSzr6DSbiN/x6P9FaGGjwImpILmt1O+b/tdsw==","shasum":"df9aa2acd7d4965049d7c8e57ce8c2d41825212f","tarball":"https://registry.npmjs.org/@aperi21/host-tiptap-bundle/-/host-tiptap-bundle-0.1.0.tgz","fileCount":20,"unpackedSize":836154,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCVeXRwF7vUEIqis0u2HLaTF6ML+s0HqJu9Qk4hql831gIhAMztEIvqonYp5LAMDnikF0xMEj0XNS1vtY9PdOR5lmJE"}]},"_npmUser":{"name":"ibare","email":"ibare77@gmail.com"},"directories":{},"maintainers":[{"name":"ibare","email":"ibare77@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/host-tiptap-bundle_0.1.0_1781604690657_0.6973425525844084"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-16T10:11:30.480Z","0.1.0":"2026-06-16T10:11:30.832Z","modified":"2026-06-16T10:11:31.086Z"},"maintainers":[{"name":"ibare","email":"ibare77@gmail.com"}],"description":"Self-contained ESM bundle of @aperi21/host-tiptap + sim-* + plugin-*. 외부 호스트 앱(예: 노트 에디터)이 단일 의존으로 소비하는 Tiptap 확장.","homepage":"https://github.com/ibare/aperi21/tree/main/packages/host-tiptap-bundle#readme","keywords":["tiptap","tiptap-extension","prosemirror","interactive","visualization","simulation","physics","aperi21","esm"],"repository":{"type":"git","url":"git+https://github.com/ibare/aperi21.git","directory":"packages/host-tiptap-bundle"},"author":{"name":"Mintae Kim","email":"ibare77@gmail.com"},"bugs":{"url":"https://github.com/ibare/aperi21/issues"},"license":"MIT","readme":"# @aperi21/host-tiptap-bundle\n\n외부 호스트 앱(예: 노트 에디터)이 **단일 의존**으로 소비하는 self-contained ESM 번들이다.\n[Tiptap](https://tiptap.dev) 확장 하나로, LLM이 생성한 설명문 안에 `{aperi21:<id>}` 토큰으로\n끼어드는 인터랙티브 시각화(물리·전자·광학 sim)를 에디터에 렌더링한다.\n\n`@aperi21/host-tiptap` + `@aperi21/bootstrap` + 모든 `sim-*` / `plugin-*`을 하나의 번들로\n묶었으며, sim과 plugin은 동적 import 청크로 분리되어 **사용하는 시각화만 lazy 로드**된다.\n\n## 설치\n\n```bash\nnpm install @aperi21/host-tiptap-bundle\n# 또는\npnpm add @aperi21/host-tiptap-bundle\n```\n\n### peerDependencies\n\n호스트의 Tiptap 인스턴스를 단일하게 유지하기 위해 아래는 호스트가 직접 설치한다.\n\n```bash\nnpm install @tiptap/core@^3 @tiptap/pm@^3\n```\n\n## 사용법\n\n권장 진입점은 `createAperi21Extension` 한 줄이다. 호출마다 host가 격리되므로 한 콘텐츠에\n에디터/번들이 여럿 떠도 서로 간섭하지 않는다.\n\n```ts\nimport { Editor } from '@tiptap/core';\nimport StarterKit from '@tiptap/starter-kit';\nimport { createAperi21Extension } from '@aperi21/host-tiptap-bundle';\n\nnew Editor({\n  extensions: [\n    StarterKit,\n    createAperi21Extension({ locale: 'ko', theme: 'light' }),\n  ],\n  // {aperi21:<id>} 토큰을 호스트 마크다운이 span 으로 변환한 HTML\n  content: html,\n});\n```\n\n### 옵션\n\n| 옵션      | 타입                  | 설명                                     |\n| --------- | --------------------- | ---------------------------------------- |\n| `locale`  | `string`              | `runBundle` 및 host의 언어 (예: `'ko'`). |\n| `theme`   | `'light' \\| 'dark'`   | 시각화 테마.                             |\n\n## 카탈로그\n\n시각화 모듈을 로드하지 않고 \"추가 가능한 시각화 목록\"을 검색·삽입 UI로 그릴 수 있는\n경량 메타데이터를 제공한다.\n\n```ts\nimport { getAperi21Catalog } from '@aperi21/host-tiptap-bundle';\n\nconst entries = getAperi21Catalog(); // [{ id, title, description?, domain }, ...]\n```\n\n## 고급 API\n\n자기 `Host` 인스턴스를 만들어 plugin/번들 설치를 직접 통제하려는 호스트를 위해 코어\n진입점도 재노출한다.\n\n```ts\nimport {\n  createHost,\n  runBundle,\n  bootstrapAperi21,\n  BundleExtension,\n  parseBundleRaw,\n  renderBundleMarkdown,\n} from '@aperi21/host-tiptap-bundle';\n```\n\n## 라이선스\n\n[MIT](./LICENSE) © Mintae Kim\n","readmeFilename":"README.md","_rev":"1-708ea3f80fd1d31e1ee694509a3ce685"}