UNPKG

mohai

Version:

Mohai Editor is open-source document editor based on Vue3 and Tiptap. Mohai Editor provides comprehensive document editing capabilities and AI creation features, supports pagination, supports Markdown syntax, offers basic rich text editing functions, allo

220 lines 7.68 kB
{ "name": "mohai", "version": "1.1.3", "type": "module", "description": "Mohai Editor is open-source document editor based on Vue3 and Tiptap. Mohai Editor provides comprehensive document editing capabilities and AI creation features, supports pagination, supports Markdown syntax, offers basic rich text editing functions, allows for the insertion of various node types in multiple formats, provides a variety of practical tools, and supports setting page styles. It also supports exporting in various formats, printing and print preview, block-level document editing, adding custom extensions, multi-language settings, and a dark theme.", "keywords": [ "Mohai Editor", "umodoc editor", "document editor", "docs editor", "word editor", "office edtior", "web editor", "richtext editor", "wysiwyg editor", "vue editor", "vue3 editor", "ai editor", "editor", "web office", "online office", "tiptap" ], "author": { "name": "tdh" }, "files": [ "dist", "types/index.d.ts" ], "exports": { ".": { "import": "./dist/umo-editor.js" }, "./style": { "import": "./dist/style.css" } }, "types": "./types/index.d.ts", "scripts": { "dev": "vite --port 9000 --open --force", "build": "vue-tsc --noEmit && vite build", "build:demo": "vue-tsc --noEmit && cross-env TARGET=DEMO vite build", "format": "prettier --write .", "check:code": "eslint --cache src", "check:style": "stylelint src/**/*.{css,less,vue}", "check:types": "vue-tsc --noEmit", "lint:code": "eslint --cache --fix src", "lint:style": "stylelint --fix src/**/*.{css,less,vue}", "test": "NODE_NO_WARNINGS=1 vitest", "test:coverage": "npm run test --coverage", "test:watch": "npm run test --watch --coverage", "prepare": "husky", "prepublishOnly": "npm run build" }, "dependencies": { "@eslint/object-schema": "^2.1.4", "@heroicons/vue": "^2.2.0", "@hocuspocus/provider": "^2.15.2", "@imgly/background-removal": "1.5.5", "@tiptap-extend/columns": "^2.1.6", "@tiptap/core": "2.11.5", "@tiptap/extension-bold": "2.11.5", "@tiptap/extension-bullet-list": "2.11.5", "@tiptap/extension-character-count": "2.11.5", "@tiptap/extension-code-block": "^2.11.7", "@tiptap/extension-code-block-lowlight": "^2.11.7", "@tiptap/extension-collaboration": "^2.11.5", "@tiptap/extension-collaboration-cursor": "^2.11.7", "@tiptap/extension-color": "2.11.5", "@tiptap/extension-document": "2.11.5", "@tiptap/extension-dropcursor": "2.11.5", "@tiptap/extension-focus": "2.11.5", "@tiptap/extension-font-family": "2.11.5", "@tiptap/extension-heading": "2.11.5", "@tiptap/extension-highlight": "2.11.5", "@tiptap/extension-horizontal-rule": "2.11.5", "@tiptap/extension-image": "2.11.5", "@tiptap/extension-link": "2.11.5", "@tiptap/extension-mention": "2.11.5", "@tiptap/extension-ordered-list": "2.11.5", "@tiptap/extension-placeholder": "2.11.5", "@tiptap/extension-subscript": "2.11.5", "@tiptap/extension-superscript": "2.11.5", "@tiptap/extension-table": "2.11.5", "@tiptap/extension-table-cell": "2.11.5", "@tiptap/extension-table-header": "2.11.5", "@tiptap/extension-table-row": "2.11.5", "@tiptap/extension-task-item": "2.11.5", "@tiptap/extension-task-list": "2.11.5", "@tiptap/extension-text-align": "2.11.5", "@tiptap/extension-text-style": "2.11.5", "@tiptap/extension-typography": "2.11.5", "@tiptap/extension-underline": "2.11.5", "@tiptap/html": "^2.11.7", "@tiptap/pm": "2.11.5", "@tiptap/starter-kit": "2.11.5", "@tiptap/suggestion": "2.11.5", "@tiptap/vue-3": "2.11.5", "@tool-belt/type-predicates": "^1.3.0", "@types/svg64": "^1.1.2", "@vue-monaco/editor": "^0.0.6", "@vueuse/core": "^11.0.3", "buffer-image-size": "^0.6.4", "dom-to-image-more": "^3.4.3", "es-drager": "1.2.11", "fetch-event-stream": "^0.1.5", "file-saver": "^2.0.5", "file64": "^1.0.4", "highlight.js": "^11.11.1", "hotkeys-js": "^3.13.7", "joplin-turndown-plugin-gfm": "^1.0.12", "jsbarcode": "^3.11.6", "katex": "^0.16.11", "lodash.merge": "^4.6.2", "lowlight": "^3.3.0", "markdown-it": "^14.1.0", "markdown-it-container": "^4.0.0", "markdown-it-task-lists": "^2.1.1", "mermaid": "^11.2.0", "mitt": "^3.0.1", "nzh": "^1.0.13", "plyr": "^3.7.8", "pretty-bytes": "^6.1.1", "prism-code-editor": "^3.4.0", "prosemirror-docx": "^0.4.1", "prosemirror-model": "^1.25.0", "prosemirror-state": "^1.4.3", "prosemirror-transform": "^1.10.0", "qr-code-styling": "^1.9.2", "qrcode-svg": "^1.1.0", "sign-canvas-plus": "^2.0.3", "smooth-signature": "^1.0.15", "svg64": "^2.0.0", "tippy.js": "^6.3.7", "tiptap-markdown": "^0.8.10", "turndown": "^7.2.0", "uuid": "^11.1.0", "vue-i18n": "^10.0.0", "y-prosemirror": "^1.2.15", "y-protocols": "^1.0.6", "yjs": "^13.6.24" }, "devDependencies": { "@eslint/eslintrc": "^3.1.0", "@eslint/js": "^9.10.0", "@intlify/unplugin-vue-i18n": "^5.0.0", "@sereneinserenade/tiptap-search-and-replace": "^0.1.1", "@testing-library/vue": "^8.1.0", "@tiptap-pro/extension-drag-handle": "2.17.5", "@tiptap-pro/extension-invisible-characters": "2.17.5", "@tiptap-pro/extension-mathematics": "2.17.5", "@tiptap-pro/extension-node-range": "2.17.5", "@tiptap-pro/extension-table-of-contents": "2.17.5", "@types/dom-to-image": "^2.6.7", "@types/eslint-config-prettier": "^6.11.3", "@types/file-saver": "^2.0.7", "@types/lodash.merge": "^4.6.9", "@types/markdown-it": "^14.1.2", "@types/markdown-it-container": "^2.0.10", "@types/node": "^22.5.4", "@types/qrcode-svg": "^1.1.5", "@typescript-eslint/eslint-plugin": "^8.5.0", "@typescript-eslint/parser": "^8.5.0", "@vitejs/plugin-vue": "^4.6.2", "@vue-macros/reactivity-transform": "^1.0.4", "@vue-macros/volar": "^0.29.1", "@vue/eslint-config-prettier": "^9.0.0", "cross-env": "^7.0.3", "eslint": "^9.21.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-functional": "^5.0.8", "eslint-plugin-simple-import-sort": "^12.1.1", "eslint-plugin-unused-imports": "^4.1.3", "eslint-plugin-vue": "^9.28.0", "globals": "^15.9.0", "husky": "^9.1.5", "jiti": "^2.4.2", "jsdom": "^25.0.0", "less": "^4.2.0", "less-loader": "^12.2.0", "lint-staged": "^15.2.10", "postcss": "^8.3.3", "postcss-html": "^1.7.0", "prettier": "^3.3.3", "stylelint": "^16.9.0", "stylelint-config-recommended-less": "^3.0.1", "stylelint-config-recommended-vue": "^1.5.0", "stylelint-less": "^3.0.1", "tailwindcss": "^4.1.4", "tdesign-vue-next": "1.9.8", "typescript": "5.5.4", "typescript-eslint": "^8.5.0", "unplugin-auto-import": "^0.18.2", "unplugin-vue": "^5.1.5", "unplugin-vue-components": "^0.27.4", "unplugin-vue-macros": "^2.11.11", "vite": "^4.5.3", "vite-plugin-inspect": "^0.8.7", "vite-plugin-svg-icons": "^2.0.1", "vite-tsconfig-paths": "^5.0.1", "vitest": "^2.0.5", "vue": "^3.0.11", "vue-tsc": "^2.1.6" }, "engines": { "node": ">=18.0.0" }, "lint-staged": { "*.{js,jsx,mjs,cjs,ts,tsx,mts,cts,vue,less,css,yml,yaml,json,md,html}": [ "prettier --write src" ], "*.{css,less,vue}": [ "stylelint --write src/**/*.{css,less,vue}" ], "*.{js,jsx,mjs,cjs,ts,tsx,mts,cts,vue}": [ "eslint --fix src" ] } }