@zipify/wysiwyg 2.0.0-1 → 2.0.0-11
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/config/build/cli.config.js +8 -2
- package/dist/cli.js +3 -3
- package/dist/wysiwyg.css +41 -31
- package/dist/wysiwyg.mjs +2015 -1359
- package/example/ExampleApp.vue +10 -1
- package/lib/Wysiwyg.vue +3 -2
- package/lib/__tests__/utils/buildTestExtensions.js +2 -1
- package/lib/assets/icons/indicator.svg +4 -0
- package/lib/cli/commands/Command.js +39 -0
- package/lib/cli/commands/ToJsonCommand.js +55 -0
- package/lib/cli/commands/VersionCommand.js +11 -0
- package/lib/cli/commands/index.js +2 -0
- package/lib/cli/index.js +1 -0
- package/lib/components/base/Button.vue +6 -0
- package/lib/components/base/dropdown/Dropdown.vue +7 -1
- package/lib/components/base/dropdown/DropdownActivator.vue +25 -4
- package/lib/components/base/dropdown/__tests__/DropdownActivator.test.js +23 -1
- package/lib/components/toolbar/controls/AlignmentControl.vue +12 -1
- package/lib/components/toolbar/controls/FontColorControl.vue +14 -0
- package/lib/components/toolbar/controls/FontFamilyControl.vue +4 -0
- package/lib/components/toolbar/controls/FontSizeControl.vue +6 -1
- package/lib/components/toolbar/controls/FontWeightControl.vue +12 -0
- package/lib/components/toolbar/controls/ItalicControl.vue +14 -0
- package/lib/components/toolbar/controls/LineHeightControl.vue +15 -0
- package/lib/components/toolbar/controls/UnderlineControl.vue +13 -0
- package/lib/components/toolbar/controls/__tests__/AlignmentControl.test.js +72 -5
- package/lib/components/toolbar/controls/__tests__/FontColorControl.test.js +22 -1
- package/lib/components/toolbar/controls/__tests__/FontFamilyControl.test.js +1 -0
- package/lib/components/toolbar/controls/__tests__/FontSizeControl.test.js +1 -0
- package/lib/components/toolbar/controls/__tests__/FontWeightControl.test.js +1 -0
- package/lib/components/toolbar/controls/__tests__/ItalicControl.test.js +23 -1
- package/lib/components/toolbar/controls/__tests__/LineHeightControl.test.js +23 -1
- package/lib/components/toolbar/controls/__tests__/StylePresetControl.test.js +4 -4
- package/lib/components/toolbar/controls/__tests__/UnderlineControl.test.js +25 -1
- package/lib/composables/__tests__/useEditor.test.js +1 -1
- package/lib/composables/useEditor.js +9 -8
- package/lib/directives/__tests__/tooltip.test.js +22 -4
- package/lib/directives/tooltip.js +4 -1
- package/lib/entry-cli.js +7 -20
- package/lib/entry-lib.js +1 -1
- package/lib/enums/MarkGroups.js +4 -0
- package/lib/enums/TextSettings.js +1 -1
- package/lib/enums/index.js +1 -0
- package/lib/extensions/BackgroundColor.js +0 -1
- package/lib/extensions/FontColor.js +2 -2
- package/lib/extensions/FontFamily.js +3 -3
- package/lib/extensions/FontSize.js +2 -2
- package/lib/extensions/FontStyle.js +2 -2
- package/lib/extensions/FontWeight.js +2 -2
- package/lib/extensions/StylePreset.js +9 -2
- package/lib/extensions/Superscript.js +5 -2
- package/lib/extensions/TextDecoration.js +7 -0
- package/lib/extensions/__tests__/Alignment.test.js +2 -2
- package/lib/extensions/__tests__/BackgroundColor.test.js +4 -3
- package/lib/extensions/__tests__/FontColor.test.js +4 -3
- package/lib/extensions/__tests__/FontFamily.test.js +6 -6
- package/lib/extensions/__tests__/FontSize.test.js +9 -8
- package/lib/extensions/__tests__/FontStyle.test.js +6 -5
- package/lib/extensions/__tests__/LineHeight.test.js +2 -1
- package/lib/extensions/__tests__/StylePreset.test.js +51 -0
- package/lib/extensions/__tests__/Superscript.test.js +102 -0
- package/lib/extensions/__tests__/TextDecoration.test.js +20 -0
- package/lib/extensions/__tests__/__snapshots__/BackgroundColor.test.js.snap +25 -25
- package/lib/extensions/__tests__/__snapshots__/Superscript.test.js.snap +107 -0
- package/lib/extensions/core/Document.js +2 -1
- package/lib/extensions/core/Heading.js +2 -1
- package/lib/extensions/core/NodeProcessor.js +42 -21
- package/lib/extensions/core/Paragraph.js +2 -1
- package/lib/extensions/core/__tests__/NodeProcessor.test.js +309 -11
- package/lib/extensions/core/__tests__/TextProcessor.test.js +1 -1
- package/lib/extensions/core/__tests__/__snapshots__/NodeProcessor.test.js.snap +249 -0
- package/lib/extensions/core/steps/AddNodeMarkStep.js +6 -0
- package/lib/extensions/core/steps/AttrStep.js +6 -0
- package/lib/extensions/core/steps/RemoveNodeMarkStep.js +6 -0
- package/lib/extensions/list/List.js +70 -9
- package/lib/extensions/list/ListItem.js +27 -5
- package/lib/extensions/list/__tests__/List.test.js +26 -17
- package/lib/extensions/list/__tests__/__snapshots__/List.test.js.snap +36 -36
- package/lib/services/NodeFactory.js +69 -3
- package/lib/services/__tests__/NodeFactory.test.js +124 -0
- package/lib/services/__tests__/__snapshots__/NodeFactory.test.js.snap +326 -0
- package/lib/services/normalizer/HtmlNormalizer.js +54 -2
- package/lib/services/normalizer/JsonNormalizer.js +6 -5
- package/lib/services/normalizer/__tests__/HtmlNormalizer.test.js +14 -0
- package/lib/services/normalizer/__tests__/JsonNormalizer.test.js +20 -3
- package/lib/services/normalizer/__tests__/__snapshots__/JsonNormalizer.test.js.snap +37 -0
- package/lib/utils/__tests__/findMarkByType.test.js +17 -0
- package/lib/utils/__tests__/isMarkAppliedToParent.test.js +53 -0
- package/lib/utils/__tests__/isNodeFullySelected.test.js +44 -0
- package/lib/utils/__tests__/resolveTextPosition.test.js +39 -0
- package/lib/utils/copyMark.js +5 -0
- package/lib/utils/index.js +1 -1
- package/lib/utils/isMarkAppliedToParent.js +1 -1
- package/lib/utils/isNodeFullySelected.js +4 -7
- package/lib/utils/resolveTextPosition.js +4 -6
- package/package.json +37 -27
- package/lib/utils/resolveNodePosition.js +0 -6
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
import { ContentNormalizer } from '../ContentNormalizer';
|
|
2
2
|
|
|
3
3
|
describe('normalize text content', () => {
|
|
4
|
+
test('should wrap root nodes in paragraphs', () => {
|
|
5
|
+
const input = '<strong>lorem</strong>ipsum';
|
|
6
|
+
const output = '<p><strong>lorem</strong>ipsum</p>';
|
|
7
|
+
|
|
8
|
+
expect(ContentNormalizer.normalize(input)).toBe(output);
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
test('should not wrap paragraph', () => {
|
|
12
|
+
const input = 'lorem<p>ipsum</p>hello';
|
|
13
|
+
const output = '<p>lorem</p><p>ipsum</p><p>hello</p>';
|
|
14
|
+
|
|
15
|
+
expect(ContentNormalizer.normalize(input)).toBe(output);
|
|
16
|
+
});
|
|
17
|
+
|
|
4
18
|
test('should wrap list content in paragraph', () => {
|
|
5
19
|
const input = '<ul><li style="line-height: 2;">lorem impsum</li></ul>';
|
|
6
20
|
const output = '<ul><li><p style="line-height: 2;">lorem impsum</p></li></ul>';
|
|
@@ -34,9 +34,11 @@ describe('normalize json content', () => {
|
|
|
34
34
|
test('should bubble mark from text to list item', () => {
|
|
35
35
|
const input = NodeFactory.doc([
|
|
36
36
|
NodeFactory.list(ListTypes.DISC, [
|
|
37
|
-
NodeFactory.paragraph(
|
|
38
|
-
NodeFactory.
|
|
39
|
-
|
|
37
|
+
NodeFactory.paragraph([
|
|
38
|
+
NodeFactory.text('lorem ipsum', [
|
|
39
|
+
NodeFactory.mark(TextSettings.FONT_WEIGHT, { value: '700' })
|
|
40
|
+
])
|
|
41
|
+
])
|
|
40
42
|
])
|
|
41
43
|
]);
|
|
42
44
|
|
|
@@ -67,4 +69,19 @@ describe('normalize json content', () => {
|
|
|
67
69
|
|
|
68
70
|
expect(ContentNormalizer.normalize(input)).toMatchSnapshot();
|
|
69
71
|
});
|
|
72
|
+
|
|
73
|
+
test('should not marge mark with same type', () => {
|
|
74
|
+
const input = NodeFactory.doc([
|
|
75
|
+
NodeFactory.paragraph([
|
|
76
|
+
NodeFactory.text('lorem', [
|
|
77
|
+
NodeFactory.mark(TextSettings.FONT_WEIGHT, { value: '700' })
|
|
78
|
+
]),
|
|
79
|
+
NodeFactory.text(' ipsum', [
|
|
80
|
+
NodeFactory.mark(TextSettings.FONT_WEIGHT, { value: '400' })
|
|
81
|
+
])
|
|
82
|
+
])
|
|
83
|
+
]);
|
|
84
|
+
|
|
85
|
+
expect(ContentNormalizer.normalize(input)).toMatchSnapshot();
|
|
86
|
+
});
|
|
70
87
|
});
|
|
@@ -157,3 +157,40 @@ Object {
|
|
|
157
157
|
"type": "doc",
|
|
158
158
|
}
|
|
159
159
|
`;
|
|
160
|
+
|
|
161
|
+
exports[`normalize json content should not marge mark with same type 1`] = `
|
|
162
|
+
Object {
|
|
163
|
+
"content": Array [
|
|
164
|
+
Object {
|
|
165
|
+
"content": Array [
|
|
166
|
+
Object {
|
|
167
|
+
"marks": Array [
|
|
168
|
+
Object {
|
|
169
|
+
"attrs": Object {
|
|
170
|
+
"value": "700",
|
|
171
|
+
},
|
|
172
|
+
"type": "font_weight",
|
|
173
|
+
},
|
|
174
|
+
],
|
|
175
|
+
"text": "lorem",
|
|
176
|
+
"type": "text",
|
|
177
|
+
},
|
|
178
|
+
Object {
|
|
179
|
+
"marks": Array [
|
|
180
|
+
Object {
|
|
181
|
+
"attrs": Object {
|
|
182
|
+
"value": "400",
|
|
183
|
+
},
|
|
184
|
+
"type": "font_weight",
|
|
185
|
+
},
|
|
186
|
+
],
|
|
187
|
+
"text": " ipsum",
|
|
188
|
+
"type": "text",
|
|
189
|
+
},
|
|
190
|
+
],
|
|
191
|
+
"type": "paragraph",
|
|
192
|
+
},
|
|
193
|
+
],
|
|
194
|
+
"type": "doc",
|
|
195
|
+
}
|
|
196
|
+
`;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { findMarkByType } from '../findMarkByType';
|
|
2
|
+
|
|
3
|
+
describe('find mark by type', () => {
|
|
4
|
+
test('should find mark by type name', () => {
|
|
5
|
+
const searchingMark = { type: { name: 'font_weight' } };
|
|
6
|
+
const marks = [{ type: { name: 'font_size' } }, searchingMark];
|
|
7
|
+
|
|
8
|
+
expect(findMarkByType(marks, 'font_weight')).toBe(searchingMark);
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
test('should find mark by type object', () => {
|
|
12
|
+
const searchingMark = { type: { name: 'font_weight' } };
|
|
13
|
+
const marks = [{ type: { name: 'font_size' } }, searchingMark];
|
|
14
|
+
|
|
15
|
+
expect(findMarkByType(marks, { name: 'font_weight' })).toBe(searchingMark);
|
|
16
|
+
});
|
|
17
|
+
});
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { isMarkAppliedToParent } from '../isMarkAppliedToParent';
|
|
2
|
+
|
|
3
|
+
const createMark = (attrs = {}) => ({
|
|
4
|
+
isInSet(set) {
|
|
5
|
+
return set.includes(this);
|
|
6
|
+
},
|
|
7
|
+
...attrs
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
const createNode = (attrs = {}) => ({
|
|
11
|
+
resolve: jest.fn(),
|
|
12
|
+
path: [],
|
|
13
|
+
marks: [],
|
|
14
|
+
...attrs
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
describe('is mark applied to parent', () => {
|
|
18
|
+
test('should return true if applied to parent', () => {
|
|
19
|
+
const checkingMark = createMark();
|
|
20
|
+
const doc = createNode();
|
|
21
|
+
|
|
22
|
+
doc.resolve.mockReturnValue({
|
|
23
|
+
path: [
|
|
24
|
+
createNode({ marks: [checkingMark] }),
|
|
25
|
+
0,
|
|
26
|
+
0,
|
|
27
|
+
createNode({ marks: [createMark()] }),
|
|
28
|
+
0,
|
|
29
|
+
1
|
|
30
|
+
]
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
expect(isMarkAppliedToParent(doc, 0, checkingMark)).toBe(true);
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
test('should return false if not applied to parent', () => {
|
|
37
|
+
const checkingMark = createMark();
|
|
38
|
+
const doc = createNode();
|
|
39
|
+
|
|
40
|
+
doc.resolve.mockReturnValue({
|
|
41
|
+
path: [
|
|
42
|
+
createNode({ marks: [createMark()] }),
|
|
43
|
+
0,
|
|
44
|
+
0,
|
|
45
|
+
createNode({ marks: [createMark()] }),
|
|
46
|
+
0,
|
|
47
|
+
1
|
|
48
|
+
]
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
expect(isMarkAppliedToParent(doc, 0, checkingMark)).toBe(false);
|
|
52
|
+
});
|
|
53
|
+
});
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { isNodeFullySelected } from '../isNodeFullySelected';
|
|
2
|
+
|
|
3
|
+
const createResolvedPosition = (attrs = {}) => ({ ...attrs });
|
|
4
|
+
const createSelection = (from, to) => ({ from, to });
|
|
5
|
+
|
|
6
|
+
const createNode = (attrs = {}) => ({
|
|
7
|
+
resolve: jest.fn(() => 0),
|
|
8
|
+
...attrs
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
describe('is node fully selected', () => {
|
|
12
|
+
test('should return false if selected part of text node', () => {
|
|
13
|
+
const doc = createNode();
|
|
14
|
+
const paragraph = createNode({ nodeSize: 245 });
|
|
15
|
+
|
|
16
|
+
doc.resolve.mockReturnValue(createResolvedPosition({ depth: 0 }));
|
|
17
|
+
|
|
18
|
+
const isSelected = isNodeFullySelected(doc, createSelection(7, 12), paragraph, 0);
|
|
19
|
+
|
|
20
|
+
expect(isSelected).toBe(false);
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
test('should return true if selected paragraph node', () => {
|
|
24
|
+
const doc = createNode();
|
|
25
|
+
const paragraph = createNode({ nodeSize: 245 });
|
|
26
|
+
|
|
27
|
+
doc.resolve.mockReturnValue(createResolvedPosition({ depth: 0 }));
|
|
28
|
+
|
|
29
|
+
const isSelected = isNodeFullySelected(doc, createSelection(1, 244), paragraph, 0);
|
|
30
|
+
|
|
31
|
+
expect(isSelected).toBe(true);
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
test('should return true if selected list item node', () => {
|
|
35
|
+
const doc = createNode();
|
|
36
|
+
const listItem = createNode({ nodeSize: 247 });
|
|
37
|
+
|
|
38
|
+
doc.resolve.mockReturnValue(createResolvedPosition({ depth: 2 }));
|
|
39
|
+
|
|
40
|
+
const isSelected = isNodeFullySelected(doc, createSelection(3, 246), listItem, 1);
|
|
41
|
+
|
|
42
|
+
expect(isSelected).toBe(true);
|
|
43
|
+
});
|
|
44
|
+
});
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { resolveTextPosition } from '../resolveTextPosition';
|
|
2
|
+
|
|
3
|
+
const createPosition = (pos) => ({ pos });
|
|
4
|
+
const createNode = (attrs) => ({ nodeSize: 0, ...attrs });
|
|
5
|
+
|
|
6
|
+
describe('resolve text position', () => {
|
|
7
|
+
test('should resolve position in node range', () => {
|
|
8
|
+
const position = resolveTextPosition(
|
|
9
|
+
createPosition(2),
|
|
10
|
+
createPosition(5),
|
|
11
|
+
createNode({ nodeSize: 10 }),
|
|
12
|
+
1
|
|
13
|
+
);
|
|
14
|
+
|
|
15
|
+
expect(position).toEqual({ from: 2, to: 5 });
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
test('should limit start value by node start position', () => {
|
|
19
|
+
const position = resolveTextPosition(
|
|
20
|
+
createPosition(2),
|
|
21
|
+
createPosition(5),
|
|
22
|
+
createNode({ nodeSize: 10 }),
|
|
23
|
+
3
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
expect(position).toEqual({ from: 3, to: 5 });
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
test('should limit start value by node end position', () => {
|
|
30
|
+
const position = resolveTextPosition(
|
|
31
|
+
createPosition(2),
|
|
32
|
+
createPosition(15),
|
|
33
|
+
createNode({ nodeSize: 10 }),
|
|
34
|
+
1
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
expect(position).toEqual({ from: 2, to: 11 });
|
|
38
|
+
});
|
|
39
|
+
});
|
package/lib/utils/index.js
CHANGED
|
@@ -8,8 +8,8 @@ export { convertFontSize } from './convertFontSize';
|
|
|
8
8
|
export { convertAlignment } from './convertAlignment';
|
|
9
9
|
export { importIcon } from './importIcon';
|
|
10
10
|
export { isWysiwygContent, markWysiwygContent, unmarkWysiwygContent } from './isWysiwygContent';
|
|
11
|
-
export { resolveNodePosition } from './resolveNodePosition';
|
|
12
11
|
export { resolveTextPosition } from './resolveTextPosition';
|
|
13
12
|
export { isNodeFullySelected } from './isNodeFullySelected';
|
|
14
13
|
export { isMarkAppliedToParent } from './isMarkAppliedToParent';
|
|
15
14
|
export { findMarkByType } from './findMarkByType';
|
|
15
|
+
export { copyMark } from './copyMark';
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const toPosition = resolveNodePosition($to, node, 1);
|
|
6
|
-
const isFromMatch = fromPosition <= position;
|
|
7
|
-
const isToMatch = toPosition >= node.nodeSize + position;
|
|
1
|
+
export function isNodeFullySelected(doc, selection, node, position) {
|
|
2
|
+
const offset = doc.resolve(position).depth + 1;
|
|
3
|
+
const isFromMatch = selection.from - offset <= position;
|
|
4
|
+
const isToMatch = selection.to + offset >= node.nodeSize + position;
|
|
8
5
|
|
|
9
6
|
return isFromMatch && isToMatch;
|
|
10
7
|
}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
};
|
|
6
|
-
}
|
|
1
|
+
export const resolveTextPosition = ($from, $to, node, position) => ({
|
|
2
|
+
from: Math.max(position, $from.pos),
|
|
3
|
+
to: Math.min(position + node.nodeSize, $to.pos)
|
|
4
|
+
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zipify/wysiwyg",
|
|
3
|
-
"version": "2.0.0-
|
|
3
|
+
"version": "2.0.0-11",
|
|
4
4
|
"description": "Zipify modification of TipTap text editor",
|
|
5
5
|
"main": "dist/wysiwyg.mjs",
|
|
6
6
|
"bin": {
|
|
@@ -20,7 +20,8 @@
|
|
|
20
20
|
"lib:build": "vite build --config config/build/lib.config.js",
|
|
21
21
|
"lib:pre-release": "run-s lint:js lint:css test:unit",
|
|
22
22
|
"lib:release": "export $(cat ./.env | xargs) && run-s lib:pre-release lib:build cli:build && release-it",
|
|
23
|
-
"cli:build": "rollup --config config/build/cli.config.js",
|
|
23
|
+
"cli:build": "NODE_ENV=production rollup --config config/build/cli.config.js",
|
|
24
|
+
"cli:dev": "NODE_ENV=development rollup --config config/build/cli.config.js --watch",
|
|
24
25
|
"example:start": "NODE_ENV=development vite serve --config config/build/example.config.js",
|
|
25
26
|
"example:build": "NODE_ENV=production vite build --config config/build/example.config.js",
|
|
26
27
|
"test:unit": "jest .",
|
|
@@ -32,17 +33,18 @@
|
|
|
32
33
|
},
|
|
33
34
|
"dependencies": {
|
|
34
35
|
"@popperjs/core": "^2.11.6",
|
|
35
|
-
"@
|
|
36
|
-
"@tiptap/
|
|
37
|
-
"@tiptap/extension-
|
|
38
|
-
"@tiptap/extension-
|
|
39
|
-
"@tiptap/extension-
|
|
40
|
-
"@tiptap/extension-
|
|
41
|
-
"@tiptap/extension-
|
|
42
|
-
"@tiptap/extension-
|
|
43
|
-
"@tiptap/extension-
|
|
44
|
-
"@tiptap/extension-
|
|
45
|
-
"@tiptap/
|
|
36
|
+
"@rollup/plugin-json": "^4.1.0",
|
|
37
|
+
"@tiptap/core": "^2.0.0-beta.195",
|
|
38
|
+
"@tiptap/extension-document": "^2.0.0-beta.195",
|
|
39
|
+
"@tiptap/extension-heading": "^2.0.0-beta.195",
|
|
40
|
+
"@tiptap/extension-history": "^2.0.0-beta.195",
|
|
41
|
+
"@tiptap/extension-link": "^2.0.0-beta.195",
|
|
42
|
+
"@tiptap/extension-list-item": "^2.0.0-beta.195",
|
|
43
|
+
"@tiptap/extension-paragraph": "^2.0.0-beta.195",
|
|
44
|
+
"@tiptap/extension-placeholder": "^2.0.0-beta.195",
|
|
45
|
+
"@tiptap/extension-superscript": "^2.0.0-beta.195",
|
|
46
|
+
"@tiptap/extension-text": "^2.0.0-beta.195",
|
|
47
|
+
"@tiptap/vue-2": "^2.0.0-beta.195",
|
|
46
48
|
"commander": "^9.4.0",
|
|
47
49
|
"jsdom": "^20.0.0",
|
|
48
50
|
"lodash": "^4.17.21",
|
|
@@ -52,37 +54,45 @@
|
|
|
52
54
|
"@zipify/colorpicker": "^2.2",
|
|
53
55
|
"vue": "^2.7"
|
|
54
56
|
},
|
|
57
|
+
"peerDependenciesMeta": {
|
|
58
|
+
"@zipify/colorpicker": {
|
|
59
|
+
"optional": true
|
|
60
|
+
},
|
|
61
|
+
"vue": {
|
|
62
|
+
"optional": true
|
|
63
|
+
}
|
|
64
|
+
},
|
|
55
65
|
"devDependencies": {
|
|
56
|
-
"@babel/core": "^7.19.
|
|
57
|
-
"@babel/eslint-parser": "^7.
|
|
58
|
-
"@babel/plugin-transform-runtime": "^7.
|
|
59
|
-
"@babel/preset-env": "^7.19.
|
|
66
|
+
"@babel/core": "^7.19.1",
|
|
67
|
+
"@babel/eslint-parser": "^7.19.1",
|
|
68
|
+
"@babel/plugin-transform-runtime": "^7.19.1",
|
|
69
|
+
"@babel/preset-env": "^7.19.1",
|
|
60
70
|
"@babel/runtime": "^7.19.0",
|
|
61
71
|
"@optimize-lodash/rollup-plugin": "^3.0.0",
|
|
62
72
|
"@rollup/plugin-babel": "^5.3.1",
|
|
63
73
|
"@rollup/plugin-commonjs": "^22.0.2",
|
|
64
|
-
"@rollup/plugin-node-resolve": "^14.
|
|
74
|
+
"@rollup/plugin-node-resolve": "^14.1.0",
|
|
65
75
|
"@rollup/plugin-replace": "^4.0.0",
|
|
66
76
|
"@vue/test-utils": "^1.3.0",
|
|
67
|
-
"@vue/vue2-jest": "^29.
|
|
77
|
+
"@vue/vue2-jest": "^29.1.0",
|
|
68
78
|
"@zipify/colorpicker": "^2.2.1",
|
|
69
|
-
"babel-jest": "^29.0.
|
|
70
|
-
"eslint": "8.
|
|
79
|
+
"babel-jest": "^29.0.3",
|
|
80
|
+
"eslint": "8.23.1",
|
|
71
81
|
"eslint-plugin-import": "^2.26.0",
|
|
72
|
-
"eslint-plugin-vue": "^9.
|
|
82
|
+
"eslint-plugin-vue": "^9.5.1",
|
|
73
83
|
"gzipper": "^7.1.0",
|
|
74
84
|
"husky": "^8.0.1",
|
|
75
|
-
"jest": "^29.0.
|
|
76
|
-
"jest-environment-jsdom": "^29.0.
|
|
85
|
+
"jest": "^29.0.3",
|
|
86
|
+
"jest-environment-jsdom": "^29.0.3",
|
|
77
87
|
"lint-staged": "^13.0.3",
|
|
78
88
|
"npm-run-all": "^4.1.5",
|
|
79
89
|
"postcss-html": "^1.5.0",
|
|
80
|
-
"release-it": "^15.4.
|
|
90
|
+
"release-it": "^15.4.2",
|
|
81
91
|
"rollup": "^2.79.0",
|
|
82
92
|
"rollup-plugin-terser": "^7.0.2",
|
|
83
|
-
"stylelint": "^14.
|
|
93
|
+
"stylelint": "^14.12.0",
|
|
84
94
|
"svgo": "^2.8.0",
|
|
85
|
-
"vite": "^3.1.
|
|
95
|
+
"vite": "^3.1.2",
|
|
86
96
|
"vite-plugin-vue2": "^2.0.2",
|
|
87
97
|
"vue": "^2.7.10",
|
|
88
98
|
"vue-template-compiler": "^2.7.10"
|