{"_id":"@calenderjs/monaco-event-dsl","_rev":"4-dba63ba0b819061b7c04106c3a5412ab","name":"@calenderjs/monaco-event-dsl","dist-tags":{"latest":"0.3.1"},"versions":{"0.0.1":{"name":"@calenderjs/monaco-event-dsl","version":"0.0.1","_id":"@calenderjs/monaco-event-dsl@0.0.1","maintainers":[{"name":"systembug","email":"albert_lee@hotmail.com"}],"dist":{"shasum":"b63a224e6ea736deef53ec82d9038ca17fbaf028","tarball":"https://registry.npmjs.org/@calenderjs/monaco-event-dsl/-/monaco-event-dsl-0.0.1.tgz","fileCount":12,"integrity":"sha512-ohNx30hLwaSyqVqKsiUKIU0IvQaUVaX9i6TirnxVioez4X3FZh8GuSiehg+gz91U3E1d5TouLPAlQuo4Hu87Rw==","signatures":[{"sig":"MEQCIHeZFjEkZNgUhk4b+C1oiow+uyWSaShKPk79bzhJCGSpAiAbS+lrXZ8OYCdw03RFnsNWskvYIIJ7NNvVu4xPNiuGTA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52175},"main":"./dist/index.cjs","type":"module","_from":"file:calenderjs-monaco-event-dsl-0.0.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"scripts":{"dev":"vite build --watch","lint":"eslint src","test":"vitest run","build":"vite build","clean":"rm -rf dist coverage","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"systembug","email":"albert_lee@hotmail.com"},"_resolved":"/private/var/folders/y8/p936_fp95g73q47fqdw8glkh0000gn/T/fe6ad8a61248cae2d9437f2d7db4ddad/calenderjs-monaco-event-dsl-0.0.1.tgz","_integrity":"sha512-ohNx30hLwaSyqVqKsiUKIU0IvQaUVaX9i6TirnxVioez4X3FZh8GuSiehg+gz91U3E1d5TouLPAlQuo4Hu87Rw==","_npmVersion":"11.6.2","description":"Monaco Editor 语言支持包 - 为 Event DSL 提供语法高亮和自动完成","directories":{},"_nodeVersion":"24.12.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.0","vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^20.19.27","monaco-editor":"^0.55.1","vite-plugin-dts":"^4.5.4","@vitest/coverage-v8":"^2.1.9"},"peerDependencies":{"monaco-editor":"^0.55.1"},"_npmOperationalInternal":{"tmp":"tmp/monaco-event-dsl_0.0.1_1768786711048_0.16285468498436106","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@calenderjs/monaco-event-dsl","version":"0.0.2","_id":"@calenderjs/monaco-event-dsl@0.0.2","maintainers":[{"name":"systembug","email":"albert_lee@hotmail.com"}],"dist":{"shasum":"485e62090667afaa321ee9c01e652318a4156642","tarball":"https://registry.npmjs.org/@calenderjs/monaco-event-dsl/-/monaco-event-dsl-0.0.2.tgz","fileCount":12,"integrity":"sha512-Hc2wQrV4uvnlNGWtnWnRUTa77Yerj02sJ1l59CanRcLMlSX3Toosly5u5iQt4L9t+6E9fJzBP6OUGjzot+CPDg==","signatures":[{"sig":"MEUCICG3svVbo1nVhxfBqpKCnPkvuJaOxuSEYaOudvLy0X29AiEA2EnxRSWgcS1tv+fwHihr75ZrhXUofzCfk/lAUNGUxsQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52175},"main":"./dist/index.cjs","type":"module","_from":"file:calenderjs-monaco-event-dsl-0.0.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"scripts":{"dev":"vite build --watch","lint":"eslint src","test":"vitest run","build":"vite build","clean":"rm -rf dist coverage","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"systembug","email":"albert_lee@hotmail.com"},"_resolved":"/private/var/folders/y8/p936_fp95g73q47fqdw8glkh0000gn/T/f04557a1c3cdbba4205be60ee97c1b6c/calenderjs-monaco-event-dsl-0.0.2.tgz","_integrity":"sha512-Hc2wQrV4uvnlNGWtnWnRUTa77Yerj02sJ1l59CanRcLMlSX3Toosly5u5iQt4L9t+6E9fJzBP6OUGjzot+CPDg==","_npmVersion":"11.6.2","description":"Monaco Editor 语言支持包 - 为 Event DSL 提供语法高亮和自动完成","directories":{},"_nodeVersion":"24.12.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.0","vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^20.19.27","monaco-editor":"^0.55.1","vite-plugin-dts":"^4.5.4","@vitest/coverage-v8":"^2.1.9"},"peerDependencies":{"monaco-editor":"^0.55.1"},"_npmOperationalInternal":{"tmp":"tmp/monaco-event-dsl_0.0.2_1768800036618_0.4014103869365484","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@calenderjs/monaco-event-dsl","version":"0.3.0","_id":"@calenderjs/monaco-event-dsl@0.3.0","maintainers":[{"name":"systembug","email":"albert_lee@hotmail.com"}],"dist":{"shasum":"4cd29d15c9707cf666c0a4f1baedfd2f318b7320","tarball":"https://registry.npmjs.org/@calenderjs/monaco-event-dsl/-/monaco-event-dsl-0.3.0.tgz","fileCount":12,"integrity":"sha512-8mhxTY5okGnHacrQtJqstebP8u8TzwXJYcsW6roHKQ8qpmNHpZ0vFJcpSUvP+vC107EPu9DlykC1eZG+36Y8Hw==","signatures":[{"sig":"MEUCIQCytB74QcqOGqy6iUucE9VqX6JrDP/A+XY4STU5p4k/CwIgFmzKpyKW4nlccGgniK9O+zeMlr19CF83oeW1FhQx1cM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47469},"main":"./dist/index.cjs","type":"module","_from":"file:calenderjs-monaco-event-dsl-0.3.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"scripts":{"dev":"vite build --watch","lint":"eslint src","test":"vitest run","build":"vite build","clean":"rm -rf dist coverage","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"systembug","email":"albert_lee@hotmail.com"},"_resolved":"/private/var/folders/y8/p936_fp95g73q47fqdw8glkh0000gn/T/760ab3e9362d79b5a4d1bee694c09de0/calenderjs-monaco-event-dsl-0.3.0.tgz","_integrity":"sha512-8mhxTY5okGnHacrQtJqstebP8u8TzwXJYcsW6roHKQ8qpmNHpZ0vFJcpSUvP+vC107EPu9DlykC1eZG+36Y8Hw==","_npmVersion":"11.6.2","description":"Monaco Editor 语言支持包 - 为 Event DSL 提供语法高亮和自动完成","directories":{},"_nodeVersion":"24.12.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.0","vitest":"^2.1.9","typescript":"^5.9.3","@types/node":"^20.19.27","monaco-editor":"^0.55.1","vite-plugin-dts":"^4.5.4","@vitest/coverage-v8":"^2.1.9"},"peerDependencies":{"monaco-editor":"^0.55.1"},"_npmOperationalInternal":{"tmp":"tmp/monaco-event-dsl_0.3.0_1786902953442_0.32660770215618595","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@calenderjs/monaco-event-dsl","version":"0.3.1","description":"Monaco Editor 语言支持包 - 为 Event DSL 提供语法高亮和自动完成","type":"module","main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}}},"publishConfig":{"access":"public"},"dependencies":{},"devDependencies":{"@types/node":"^20.19.27","@vitest/coverage-v8":"^2.1.9","monaco-editor":"^0.55.1","typescript":"^5.9.3","vite":"^7.3.0","vite-plugin-dts":"^4.5.4","vitest":"^2.1.9"},"peerDependencies":{"monaco-editor":"^0.55.1"},"scripts":{"dev":"vite build --watch","build":"vite build","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","lint":"eslint src","typecheck":"tsc --noEmit","clean":"rm -rf dist coverage"},"_id":"@calenderjs/monaco-event-dsl@0.3.1","_integrity":"sha512-aTS1muQQ81khuwoLE7VKL/l0E9rAb7COsDMkWSHt4otMRKPRel0lkcjWn5XvmQFDuTVnSOUoq/uZqKemUo2dRQ==","_resolved":"/private/var/folders/y8/p936_fp95g73q47fqdw8glkh0000gn/T/67a972e79ec4e788aae994e32d388f8c/calenderjs-monaco-event-dsl-0.3.1.tgz","_from":"file:calenderjs-monaco-event-dsl-0.3.1.tgz","_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-aTS1muQQ81khuwoLE7VKL/l0E9rAb7COsDMkWSHt4otMRKPRel0lkcjWn5XvmQFDuTVnSOUoq/uZqKemUo2dRQ==","shasum":"53589d8856561261637e2d4bb85351709c268e3a","tarball":"https://registry.npmjs.org/@calenderjs/monaco-event-dsl/-/monaco-event-dsl-0.3.1.tgz","fileCount":12,"unpackedSize":47469,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCijfhNMeV/Mb2VUlH/xl9mcoKydosh5mgW68GjlfHeiQIgOZRM8owvY4sCitMxVFWbwnM15IY/m4YlySU3DVoe8ks="}]},"_npmUser":{"name":"systembug","email":"albert_lee@hotmail.com"},"directories":{},"maintainers":[{"name":"systembug","email":"albert_lee@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/monaco-event-dsl_0.3.1_1786924558113_0.7556019536087359"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-19T01:38:30.979Z","modified":"2026-08-16T23:55:58.404Z","0.0.1":"2026-01-19T01:38:31.193Z","0.0.2":"2026-01-19T05:20:36.751Z","0.3.0":"2026-08-16T17:55:53.615Z","0.3.1":"2026-08-16T23:55:58.254Z"},"description":"Monaco Editor 语言支持包 - 为 Event DSL 提供语法高亮和自动完成","maintainers":[{"name":"systembug","email":"albert_lee@hotmail.com"}],"readme":"# @calenderjs/monaco-event-dsl\n\nMonaco Editor 语言支持包 - 为 Event DSL 提供语法高亮和自动完成\n\n## 功能特性\n\n- ✅ Event DSL 语法高亮\n- ✅ 智能自动完成建议\n- ✅ 代码片段支持（Snippets）\n- ✅ 浅色和暗色主题\n- ✅ TypeScript 类型定义\n- ✅ 零运行时依赖（仅类型依赖）\n- ✅ 不包含 Monaco Editor 本身（作为 peer dependency）\n\n## 安装\n\n```bash\npnpm add @calenderjs/monaco-event-dsl monaco-editor\n```\n\n**注意**: `monaco-editor` 是 peer dependency，需要单独安装。这个包只提供语言支持，不包含编辑器本身。\n\n## 使用\n\n### 基础用法\n\n```typescript\nimport { registerEventDSL } from \"@calenderjs/monaco-event-dsl\";\nimport { Editor } from \"@monaco-editor/react\";\n\nfunction EventDSLEditor() {\n    return (\n        <Editor\n            language=\"event-dsl\"\n            theme=\"event-dsl-theme\"\n            onMount={(editor, monaco) => {\n                // 注册 Event DSL 语言\n                registerEventDSL(monaco);\n            }}\n        />\n    );\n}\n```\n\n### 支持暗色模式\n\n```typescript\nimport { registerEventDSL } from \"@calenderjs/monaco-event-dsl\";\nimport { Editor } from \"@monaco-editor/react\";\nimport { useState } from \"react\";\n\nfunction EventDSLEditor() {\n    const [isDarkMode, setIsDarkMode] = useState(false);\n\n    return (\n        <Editor\n            language=\"event-dsl\"\n            theme={isDarkMode ? \"event-dsl-theme-dark\" : \"event-dsl-theme\"}\n            onMount={(editor, monaco) => {\n                registerEventDSL(monaco);\n            }}\n        />\n    );\n}\n```\n\n### 使用原生 Monaco Editor\n\n```typescript\nimport * as monaco from \"monaco-editor\";\nimport { registerEventDSL } from \"@calenderjs/monaco-event-dsl\";\n\n// 注册语言\nregisterEventDSL(monaco);\n\n// 创建编辑器\nconst editor = monaco.editor.create(document.getElementById(\"container\"), {\n  value: 'type: meeting\\nname: \"团队会议\"',\n  language: \"event-dsl\",\n  theme: \"event-dsl-theme\",\n});\n```\n\n## API\n\n### `registerEventDSL(monaco: MonacoInstance): void`\n\n注册 Event DSL 语言到 Monaco Editor。此函数会：\n\n1. 注册 `event-dsl` 语言 ID\n2. 配置语法高亮规则（Monarch Tokenizer）\n3. 注册自动完成提供者\n4. 定义浅色和暗色主题（`event-dsl-theme` 和 `event-dsl-theme-dark`）\n\n**参数：**\n\n- `monaco`: Monaco Editor 实例，包含 `editor` 和 `languages` 对象\n\n**注意：**\n\n- 此函数是幂等的，多次调用只会注册一次\n- 此包不包含 Monaco Editor 本身，需要单独安装 `monaco-editor`\n- 可以在任何使用 Monaco Editor 的项目中使用（React、Vue、原生 JS 等）\n\n## 支持的语言特性\n\n### 语法高亮\n\n- **关键字**: `type`, `name`, `description`, `fields`, `validate`, `display`, `behavior` 等\n- **类型**: `string`, `number`, `boolean`, `email`, `list` 等\n- **操作符**: `>=`, `<=`, `>`, `<`, `between` 等\n- **字符串**: 双引号和单引号字符串\n- **数字**: 整数和布尔值\n- **颜色值**: 十六进制颜色代码（如 `#4285f4`）\n- **字段访问**: 如 `attendees.count`, `startTime.hour`\n- **注释**: 以 `#` 开头的注释\n\n### 自动完成\n\n提供以下自动完成建议：\n\n- 关键字：`type`, `name`, `description`, `fields`, `validate`, `display`, `behavior`\n- 类型：`string`, `number`, `boolean`, `email`, `list of`\n- 操作符：`>=`, `<=`, `between`\n\n所有建议都支持代码片段，可以快速生成模板代码。\n\n## 主题\n\n包提供了两个预定义主题：\n\n- `event-dsl-theme`: 浅色主题\n- `event-dsl-theme-dark`: 暗色主题\n\n## 类型定义\n\n```typescript\nimport type { MonacoInstance } from \"@calenderjs/monaco-event-dsl\";\n\nfunction setupEditor(monaco: MonacoInstance) {\n  registerEventDSL(monaco);\n}\n```\n\n## 许可证\n\nMIT\n","readmeFilename":"README.md"}