@wangeditor-next/editor-for-vue2 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -0
- package/dist/components/Editor.vue.d.ts +9 -0
- package/dist/components/Toolbar.vue.d.ts +5 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.esm.js +2 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/package.json +88 -0
package/README.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# wangEditor for Vue
|
|
2
|
+
|
|
3
|
+
[](https://github.com/facebook/react/blob/main/LICENSE) [](https://www.npmjs.com/package/@wangeditor-next/editor-for-vue/v/next) [](https://github.com//wangEditor-for-vue/actions)
|
|
4
|
+
|
|
5
|
+
[English documentation](./README-en.md)
|
|
6
|
+
|
|
7
|
+
## 介绍
|
|
8
|
+
|
|
9
|
+
基于 [wangEditor](https://www.wangeditor.com/) 封装的开箱即用的 [Vue2 组件](https://www.wangeditor.com/v5/for-frame.html#vue2)
|
|
10
|
+
|
|
11
|
+
## 安装
|
|
12
|
+
|
|
13
|
+
```shell
|
|
14
|
+
yarn add @wangeditor-next/editor
|
|
15
|
+
yarn add @wangeditor-next/editor-for-vue
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## 使用
|
|
19
|
+
|
|
20
|
+
参考[文档](https://www.wangeditor.com/v5/for-frame.html#vue2)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import Vue from 'vue';
|
|
2
|
+
declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, any>, Record<string, any>, never, never, (event: string, ...args: any[]) => Vue<Record<string, any>, Record<string, any>, never, never, any>>, {
|
|
3
|
+
curValue: string;
|
|
4
|
+
editor: null;
|
|
5
|
+
}, {
|
|
6
|
+
setHtml(newHtml: string): void;
|
|
7
|
+
create(): void;
|
|
8
|
+
}, unknown, Record<"defaultContent" | "defaultConfig" | "mode" | "defaultHtml" | "value", any>, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin>;
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import Vue from 'vue';
|
|
2
|
+
declare const _default: import("vue/types/vue").ExtendedVue<Vue<Record<string, any>, Record<string, any>, never, never, (event: string, ...args: any[]) => Vue<Record<string, any>, Record<string, any>, never, never, any>>, unknown, {
|
|
3
|
+
create(editor: any): void;
|
|
4
|
+
}, unknown, Record<"editor" | "defaultConfig" | "mode", any>, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin>;
|
|
5
|
+
export default _default;
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import t from"vue";import{createEditor as e,DomEditor as o,createToolbar as r}from"@wangeditor-next/editor";var n=function(){return n=Object.assign||function(t){for(var e,o=1,r=arguments.length;o<r;o++)for(var n in e=arguments[o])Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t},n.apply(this,arguments)};function i(t){var e="请使用 '@".concat(t,"' 事件,不要放在 props 中");return e+="\nPlease use '@".concat(t,"' event instead of props")}"function"==typeof SuppressedError&&SuppressedError;var a=t.extend({render:function(t){return t("div",{ref:"box"})},name:"Editor",data:function(){return{curValue:"",editor:null}},props:["defaultContent","defaultConfig","mode","defaultHtml","value"],mounted:function(){this.create()},watch:{value:function(t){t===this.curValue||this.setHtml(t)}},methods:{setHtml:function(t){var e=this.editor;null!=e&&e.setHtml(t)},create:function(){var t=this;if(null!=this.$refs.box){var o=this.defaultConfig||{},r=JSON.stringify(Array.isArray(this.defaultContent)?this.defaultContent:[]);e({selector:this.$refs.box,html:this.defaultHtml||this.value||"",config:n(n({},o),{onCreated:function(e){if(t.editor=Object.seal(e),t.$emit("onCreated",e),o.onCreated){var r=i("onCreated");throw new Error(r)}},onChange:function(e){var r=e.getHtml();if(t.curValue=r,t.$emit("input",r),t.$emit("onChange",e),o.onChange){var n=i("onChange");throw new Error(n)}},onDestroyed:function(e){if(t.$emit("onDestroyed",e),o.onDestroyed){var r=i("onDestroyed");throw new Error(r)}},onMaxLength:function(e){if(t.$emit("onMaxLength",e),o.onMaxLength){var r=i("onMaxLength");throw new Error(r)}},onFocus:function(e){if(t.$emit("onFocus",e),o.onFocus){var r=i("onFocus");throw new Error(r)}},onBlur:function(e){if(t.$emit("onBlur",e),o.onBlur){var r=i("onBlur");throw new Error(r)}},customAlert:function(e,r){if(t.$emit("customAlert",e,r),o.customAlert){var n=i("customAlert");throw new Error(n)}},customPaste:function(e,r){if(o.customPaste){var n=i("customPaste");throw new Error(n)}var a;return t.$emit("customPaste",e,r,(function(t){a=t})),a}}),content:JSON.parse(r),mode:this.mode||"default"})}}}}),u=t.extend({name:"Toolbar",render:function(t){return t("div",{ref:"box"})},props:["editor","defaultConfig","mode"],methods:{create:function(t){null!=this.$refs.box&&null!=t&&(o.getToolbar(t)||r({editor:t,selector:this.$refs.box,config:this.defaultConfig||{},mode:this.mode||"default"}))}},watch:{editor:{handler:function(t){null!=t&&this.create(t)},immediate:!0}}});export{a as Editor,u as Toolbar};
|
|
2
|
+
//# sourceMappingURL=index.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/components/Editor.vue","../src/components/Toolbar.vue"],"sourcesContent":["<script lang=\"ts\">\nimport Vue from 'vue';\nimport { createEditor } from '@wangeditor-next/editor';\n\nfunction genErrorInfo(fnName: string) {\n let info = `请使用 '@${fnName}' 事件,不要放在 props 中`;\n info += `\\nPlease use '@${fnName}' event instead of props`;\n return info;\n}\n\nexport default Vue.extend({\n //【注意】单独写 <template>...</template> 时,rollup 打包完浏览器运行时报错,所以先在这里写 template\n render(h) {\n return h('div', { ref: 'box' });\n },\n name: 'Editor',\n data() {\n return {\n curValue: '',\n editor: null,\n };\n },\n props: ['defaultContent', 'defaultConfig', 'mode', 'defaultHtml', 'value'], // value 用于自定义 v-model\n mounted() {\n this.create();\n },\n watch: {\n // 监听 'value' 属性变化 - value 用于自定义 v-model\n value(newVal) {\n const isEqual = newVal === this.curValue;\n if (isEqual) return; // 和当前内容一样,则忽略\n\n // 重置 HTML\n this.setHtml(newVal);\n },\n },\n methods: {\n // 重置 HTML\n setHtml(newHtml: string) {\n const editor = this.editor as any;\n if (editor == null) return;\n editor.setHtml(newHtml);\n },\n\n // 创建 editor\n create() {\n if (this.$refs.box == null) return;\n\n const defaultConfig = this.defaultConfig || {};\n\n const defaultContent = JSON.stringify(\n Array.isArray(this.defaultContent) ? this.defaultContent : []\n );\n\n createEditor({\n selector: this.$refs.box as Element,\n html: this.defaultHtml || this.value || '',\n config: {\n ...defaultConfig,\n onCreated: (editor) => {\n this.editor = Object.seal(editor) as any; // 注意,一定要用 Object.seal() 否则会报错\n\n this.$emit('onCreated', editor);\n if (defaultConfig.onCreated) {\n const info = genErrorInfo('onCreated');\n throw new Error(info);\n }\n },\n onChange: (editor) => {\n const editorHtml = editor.getHtml();\n this.curValue = editorHtml; // 记录当前 html 内容\n this.$emit('input', editorHtml); // 用于自定义 v-model\n\n this.$emit('onChange', editor);\n if (defaultConfig.onChange) {\n const info = genErrorInfo('onChange');\n throw new Error(info);\n }\n },\n onDestroyed: (editor) => {\n this.$emit('onDestroyed', editor);\n if (defaultConfig.onDestroyed) {\n const info = genErrorInfo('onDestroyed');\n throw new Error(info);\n }\n },\n onMaxLength: (editor) => {\n this.$emit('onMaxLength', editor);\n if (defaultConfig.onMaxLength) {\n const info = genErrorInfo('onMaxLength');\n throw new Error(info);\n }\n },\n onFocus: (editor) => {\n this.$emit('onFocus', editor);\n if (defaultConfig.onFocus) {\n const info = genErrorInfo('onFocus');\n throw new Error(info);\n }\n },\n onBlur: (editor) => {\n this.$emit('onBlur', editor);\n if (defaultConfig.onBlur) {\n const info = genErrorInfo('onBlur');\n throw new Error(info);\n }\n },\n customAlert: (info, type) => {\n this.$emit('customAlert', info, type);\n if (defaultConfig.customAlert) {\n const info = genErrorInfo('customAlert');\n throw new Error(info);\n }\n },\n customPaste: (editor, event) => {\n if (defaultConfig.customPaste) {\n const info = genErrorInfo('customPaste');\n throw new Error(info);\n }\n let res;\n this.$emit('customPaste', editor, event, (val: any) => {\n res = val;\n });\n return res;\n },\n },\n content: JSON.parse(defaultContent),\n mode: this.mode || 'default',\n });\n },\n },\n});\n</script>\n","<script lang=\"ts\">\nimport Vue from 'vue';\nimport { createToolbar, DomEditor } from '@wangeditor-next/editor';\n\nexport default Vue.extend({\n name: 'Toolbar',\n render(h) {\n return h('div', { ref: 'box' });\n },\n props: ['editor', 'defaultConfig', 'mode'],\n methods: {\n // 创建 toolbar\n create(editor: any) {\n if (this.$refs.box == null) return;\n if (editor == null) return;\n if (DomEditor.getToolbar(editor)) return // 不重复创建\n\n createToolbar({\n editor,\n selector: this.$refs.box as Element,\n config: this.defaultConfig || {},\n mode: this.mode || 'default',\n });\n },\n },\n watch: {\n editor: {\n handler(e) {\n if (e == null) return;\n this.create(e);\n },\n immediate: true,\n }\n }\n});\n</script>\n"],"names":["genErrorInfo","fnName","info","concat","script$1","Vue","extend","render","h","ref","name","data","curValue","editor","props","mounted","this","create","watch","value","newVal","setHtml","methods","newHtml","_this","$refs","box","defaultConfig","defaultContent","JSON","stringify","Array","isArray","createEditor","selector","html","defaultHtml","config","onCreated","Object","seal","$emit","Error","onChange","editorHtml","getHtml","onDestroyed","onMaxLength","onFocus","onBlur","customAlert","type","info_1","customPaste","event","res","val","content","parse","mode","script","DomEditor","getToolbar","createToolbar","handler","e","immediate"],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue"),require("@wangeditor-next/editor")):"function"==typeof define&&define.amd?define(["exports","vue","@wangeditor-next/editor"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).WangEditorForVue={},e.Vue,e.editor)}(this,(function(e,t,o){"use strict";function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=r(t),i=function(){return i=Object.assign||function(e){for(var t,o=1,r=arguments.length;o<r;o++)for(var n in t=arguments[o])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},i.apply(this,arguments)};function u(e){var t="请使用 '@".concat(e,"' 事件,不要放在 props 中");return t+="\nPlease use '@".concat(e,"' event instead of props")}"function"==typeof SuppressedError&&SuppressedError;var a=n.default.extend({render:function(e){return e("div",{ref:"box"})},name:"Editor",data:function(){return{curValue:"",editor:null}},props:["defaultContent","defaultConfig","mode","defaultHtml","value"],mounted:function(){this.create()},watch:{value:function(e){e===this.curValue||this.setHtml(e)}},methods:{setHtml:function(e){var t=this.editor;null!=t&&t.setHtml(e)},create:function(){var e=this;if(null!=this.$refs.box){var t=this.defaultConfig||{},r=JSON.stringify(Array.isArray(this.defaultContent)?this.defaultContent:[]);o.createEditor({selector:this.$refs.box,html:this.defaultHtml||this.value||"",config:i(i({},t),{onCreated:function(o){if(e.editor=Object.seal(o),e.$emit("onCreated",o),t.onCreated){var r=u("onCreated");throw new Error(r)}},onChange:function(o){var r=o.getHtml();if(e.curValue=r,e.$emit("input",r),e.$emit("onChange",o),t.onChange){var n=u("onChange");throw new Error(n)}},onDestroyed:function(o){if(e.$emit("onDestroyed",o),t.onDestroyed){var r=u("onDestroyed");throw new Error(r)}},onMaxLength:function(o){if(e.$emit("onMaxLength",o),t.onMaxLength){var r=u("onMaxLength");throw new Error(r)}},onFocus:function(o){if(e.$emit("onFocus",o),t.onFocus){var r=u("onFocus");throw new Error(r)}},onBlur:function(o){if(e.$emit("onBlur",o),t.onBlur){var r=u("onBlur");throw new Error(r)}},customAlert:function(o,r){if(e.$emit("customAlert",o,r),t.customAlert){var n=u("customAlert");throw new Error(n)}},customPaste:function(o,r){if(t.customPaste){var n=u("customPaste");throw new Error(n)}var i;return e.$emit("customPaste",o,r,(function(e){i=e})),i}}),content:JSON.parse(r),mode:this.mode||"default"})}}}}),f=n.default.extend({name:"Toolbar",render:function(e){return e("div",{ref:"box"})},props:["editor","defaultConfig","mode"],methods:{create:function(e){null!=this.$refs.box&&null!=e&&(o.DomEditor.getToolbar(e)||o.createToolbar({editor:e,selector:this.$refs.box,config:this.defaultConfig||{},mode:this.mode||"default"}))}},watch:{editor:{handler:function(e){null!=e&&this.create(e)},immediate:!0}}});e.Editor=a,e.Toolbar=f,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/components/Editor.vue","../src/components/Toolbar.vue"],"sourcesContent":["<script lang=\"ts\">\nimport Vue from 'vue';\nimport { createEditor } from '@wangeditor-next/editor';\n\nfunction genErrorInfo(fnName: string) {\n let info = `请使用 '@${fnName}' 事件,不要放在 props 中`;\n info += `\\nPlease use '@${fnName}' event instead of props`;\n return info;\n}\n\nexport default Vue.extend({\n //【注意】单独写 <template>...</template> 时,rollup 打包完浏览器运行时报错,所以先在这里写 template\n render(h) {\n return h('div', { ref: 'box' });\n },\n name: 'Editor',\n data() {\n return {\n curValue: '',\n editor: null,\n };\n },\n props: ['defaultContent', 'defaultConfig', 'mode', 'defaultHtml', 'value'], // value 用于自定义 v-model\n mounted() {\n this.create();\n },\n watch: {\n // 监听 'value' 属性变化 - value 用于自定义 v-model\n value(newVal) {\n const isEqual = newVal === this.curValue;\n if (isEqual) return; // 和当前内容一样,则忽略\n\n // 重置 HTML\n this.setHtml(newVal);\n },\n },\n methods: {\n // 重置 HTML\n setHtml(newHtml: string) {\n const editor = this.editor as any;\n if (editor == null) return;\n editor.setHtml(newHtml);\n },\n\n // 创建 editor\n create() {\n if (this.$refs.box == null) return;\n\n const defaultConfig = this.defaultConfig || {};\n\n const defaultContent = JSON.stringify(\n Array.isArray(this.defaultContent) ? this.defaultContent : []\n );\n\n createEditor({\n selector: this.$refs.box as Element,\n html: this.defaultHtml || this.value || '',\n config: {\n ...defaultConfig,\n onCreated: (editor) => {\n this.editor = Object.seal(editor) as any; // 注意,一定要用 Object.seal() 否则会报错\n\n this.$emit('onCreated', editor);\n if (defaultConfig.onCreated) {\n const info = genErrorInfo('onCreated');\n throw new Error(info);\n }\n },\n onChange: (editor) => {\n const editorHtml = editor.getHtml();\n this.curValue = editorHtml; // 记录当前 html 内容\n this.$emit('input', editorHtml); // 用于自定义 v-model\n\n this.$emit('onChange', editor);\n if (defaultConfig.onChange) {\n const info = genErrorInfo('onChange');\n throw new Error(info);\n }\n },\n onDestroyed: (editor) => {\n this.$emit('onDestroyed', editor);\n if (defaultConfig.onDestroyed) {\n const info = genErrorInfo('onDestroyed');\n throw new Error(info);\n }\n },\n onMaxLength: (editor) => {\n this.$emit('onMaxLength', editor);\n if (defaultConfig.onMaxLength) {\n const info = genErrorInfo('onMaxLength');\n throw new Error(info);\n }\n },\n onFocus: (editor) => {\n this.$emit('onFocus', editor);\n if (defaultConfig.onFocus) {\n const info = genErrorInfo('onFocus');\n throw new Error(info);\n }\n },\n onBlur: (editor) => {\n this.$emit('onBlur', editor);\n if (defaultConfig.onBlur) {\n const info = genErrorInfo('onBlur');\n throw new Error(info);\n }\n },\n customAlert: (info, type) => {\n this.$emit('customAlert', info, type);\n if (defaultConfig.customAlert) {\n const info = genErrorInfo('customAlert');\n throw new Error(info);\n }\n },\n customPaste: (editor, event) => {\n if (defaultConfig.customPaste) {\n const info = genErrorInfo('customPaste');\n throw new Error(info);\n }\n let res;\n this.$emit('customPaste', editor, event, (val: any) => {\n res = val;\n });\n return res;\n },\n },\n content: JSON.parse(defaultContent),\n mode: this.mode || 'default',\n });\n },\n },\n});\n</script>\n","<script lang=\"ts\">\nimport Vue from 'vue';\nimport { createToolbar, DomEditor } from '@wangeditor-next/editor';\n\nexport default Vue.extend({\n name: 'Toolbar',\n render(h) {\n return h('div', { ref: 'box' });\n },\n props: ['editor', 'defaultConfig', 'mode'],\n methods: {\n // 创建 toolbar\n create(editor: any) {\n if (this.$refs.box == null) return;\n if (editor == null) return;\n if (DomEditor.getToolbar(editor)) return // 不重复创建\n\n createToolbar({\n editor,\n selector: this.$refs.box as Element,\n config: this.defaultConfig || {},\n mode: this.mode || 'default',\n });\n },\n },\n watch: {\n editor: {\n handler(e) {\n if (e == null) return;\n this.create(e);\n },\n immediate: true,\n }\n }\n});\n</script>\n"],"names":["genErrorInfo","fnName","info","concat","Vue","extend","render","h","ref","name","data","curValue","editor","props","mounted","this","create","watch","value","newVal","setHtml","methods","newHtml","_this","$refs","box","defaultConfig","defaultContent","JSON","stringify","Array","isArray","createEditor","selector","html","defaultHtml","config","onCreated","Object","seal","$emit","Error","onChange","editorHtml","getHtml","onDestroyed","onMaxLength","onFocus","onBlur","customAlert","type","info_1","customPaste","event","res","val","content","parse","mode","DomEditor","getToolbar","createToolbar","handler","e","immediate"],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@wangeditor-next/editor-for-vue2",
|
|
3
|
+
"version": "1.0.2",
|
|
4
|
+
"description": "wangEditor component for vue2.x",
|
|
5
|
+
"author": "cycleccc <ylf2991205548@qq.com>",
|
|
6
|
+
"contributors": [],
|
|
7
|
+
"homepage": "https://github.com/cycleccc/wangEditor-for-vue2#readme",
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"types": "dist/index.d.ts",
|
|
10
|
+
"main": "dist/index.js",
|
|
11
|
+
"module": "dist/index.esm.js",
|
|
12
|
+
"browser": {
|
|
13
|
+
"./dist/index.js": "./dist/index.js",
|
|
14
|
+
"./dist/index.esm.js": "./dist/index.esm.js"
|
|
15
|
+
},
|
|
16
|
+
"directories": {
|
|
17
|
+
"lib": "dist",
|
|
18
|
+
"test": "__tests__"
|
|
19
|
+
},
|
|
20
|
+
"files": [
|
|
21
|
+
"dist"
|
|
22
|
+
],
|
|
23
|
+
"keywords": [
|
|
24
|
+
"wangEditor",
|
|
25
|
+
"wangEditor-next",
|
|
26
|
+
"富文本编辑器",
|
|
27
|
+
"富文本",
|
|
28
|
+
"vue2"
|
|
29
|
+
],
|
|
30
|
+
"repository": {
|
|
31
|
+
"type": "git",
|
|
32
|
+
"url": "git+https://github.com/cycleccc/wangEditor-for-vue2.git"
|
|
33
|
+
},
|
|
34
|
+
"scripts": {
|
|
35
|
+
"test": "jest",
|
|
36
|
+
"test-c": "jest --coverage",
|
|
37
|
+
"release": "release-it",
|
|
38
|
+
"example": "cross-env NODE_ENV=development:example rollup -c rollup.example.config.js -w",
|
|
39
|
+
"dev": "cross-env NODE_ENV=development rollup -c rollup.config.js",
|
|
40
|
+
"dev-watch": "cross-env NODE_ENV=development rollup -c rollup.config.js -w",
|
|
41
|
+
"build": "cross-env NODE_ENV=production rollup -c rollup.config.js",
|
|
42
|
+
"dev-size-stats": "cross-env NODE_ENV=development:size_stats rollup -c rollup.config.js",
|
|
43
|
+
"size-stats": "cross-env NODE_ENV=production:size_stats rollup -c rollup.config.js"
|
|
44
|
+
},
|
|
45
|
+
"bugs": {
|
|
46
|
+
"url": "https://github.com/cycleccc/wangEditor-for-vue2/issues"
|
|
47
|
+
},
|
|
48
|
+
"peerDependencies": {
|
|
49
|
+
"@wangeditor-next/editor": ">=5.2.5",
|
|
50
|
+
"vue": "^2.7.16"
|
|
51
|
+
},
|
|
52
|
+
"devDependencies": {
|
|
53
|
+
"@babel/core": "^7.16.0",
|
|
54
|
+
"@babel/plugin-transform-runtime": "^7.16.0",
|
|
55
|
+
"@babel/preset-env": "^7.16.0",
|
|
56
|
+
"@rollup/plugin-babel": "^5.3.0",
|
|
57
|
+
"@rollup/plugin-commonjs": "^21.0.1",
|
|
58
|
+
"@rollup/plugin-json": "^4.1.0",
|
|
59
|
+
"@rollup/plugin-node-resolve": "^13.0.6",
|
|
60
|
+
"@rollup/plugin-replace": "^3.0.0",
|
|
61
|
+
"@types/vue": "^2.0.0",
|
|
62
|
+
"@vue/compiler-sfc": "^3.2.21",
|
|
63
|
+
"@wangeditor-next/editor": "^5.2.5",
|
|
64
|
+
"autoprefixer": "^10.4.0",
|
|
65
|
+
"cross-env": "^7.0.3",
|
|
66
|
+
"cssnano": "^5.0.10",
|
|
67
|
+
"jest": "^27.3.1",
|
|
68
|
+
"lodash": "^4.17.21",
|
|
69
|
+
"postcss": "^8.3.11",
|
|
70
|
+
"release-it": "^14.11.6",
|
|
71
|
+
"rollup": "^2.59.0",
|
|
72
|
+
"rollup-plugin-cleanup": "^3.2.1",
|
|
73
|
+
"rollup-plugin-copy": "^3.4.0",
|
|
74
|
+
"rollup-plugin-delete": "^2.0.0",
|
|
75
|
+
"rollup-plugin-generate-html-template": "^1.7.0",
|
|
76
|
+
"rollup-plugin-peer-deps-external": "^2.2.4",
|
|
77
|
+
"rollup-plugin-postcss": "^4.0.1",
|
|
78
|
+
"rollup-plugin-serve": "^1.1.0",
|
|
79
|
+
"rollup-plugin-terser": "^7.0.2",
|
|
80
|
+
"rollup-plugin-typescript2": "^0.31.0",
|
|
81
|
+
"rollup-plugin-visualizer": "^5.5.0",
|
|
82
|
+
"rollup-plugin-vue": "^6.0.0",
|
|
83
|
+
"ts-jest": "^27.0.4",
|
|
84
|
+
"tslib": "^2.3.0",
|
|
85
|
+
"typescript": "^4.4.4",
|
|
86
|
+
"vue-template-compiler": "^2.6.14"
|
|
87
|
+
}
|
|
88
|
+
}
|