├── examples
├── public
│ ├── CNAME
│ ├── favicon.png
│ ├── github.png
│ ├── index.html
│ ├── build
│ │ ├── examples
│ │ │ └── public
│ │ │ │ └── build
│ │ │ │ ├── bundle.css
│ │ │ │ └── bundle.css.map
│ │ ├── bundle.css
│ │ └── bundle.css.map
│ └── global.css
└── src
│ ├── components
│ ├── SvelteLogo.svelte
│ ├── ProsemirrorLogo.svelte
│ ├── PlainTextEditor.svelte
│ ├── RichTextEditor_101.svelte
│ ├── RIchTextEditor_104.svelte
│ ├── RichTextEditor_105.svelte
│ ├── RichTextEditor_103.svelte
│ └── RichTextEditor_102.svelte
│ ├── main.js
│ └── App.svelte
├── helpers
├── index.js
├── plugins.js
├── parsing.js
└── keymap.js
├── .gitignore
├── state
├── index.js
├── schemas.js
├── serialize.js
├── create.js
└── transform.js
├── LICENSE
├── package.json
├── rollup.config.js
├── ProsemirrorEditor.svelte
├── README.md
└── yarn.lock
/examples/public/CNAME:
--------------------------------------------------------------------------------
1 | prosemirror-svelte.surge.sh
2 |
--------------------------------------------------------------------------------
/helpers/index.js:
--------------------------------------------------------------------------------
1 | export * from './plugins';
2 | export * from './parsing';
3 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /node_modules/
2 | .DS_Store
3 | .idea
4 | yarn-error.log
5 | package-lock.json
6 |
--------------------------------------------------------------------------------
/examples/public/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/christianheine/prosemirror-svelte/HEAD/examples/public/favicon.png
--------------------------------------------------------------------------------
/examples/public/github.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/christianheine/prosemirror-svelte/HEAD/examples/public/github.png
--------------------------------------------------------------------------------
/examples/src/components/SvelteLogo.svelte:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/state/index.js:
--------------------------------------------------------------------------------
1 | export * from './create.js';
2 | export * from './serialize.js';
3 | export * from './transform.js';
4 | export * from './schemas.js';
5 |
--------------------------------------------------------------------------------
/examples/src/main.js:
--------------------------------------------------------------------------------
1 | import App from './App.svelte';
2 |
3 | const root = document.querySelector("#root");
4 |
5 | const app = new App({
6 | target: root,
7 | props: {}
8 | });
9 |
10 | export default app;
11 |
--------------------------------------------------------------------------------
/helpers/plugins.js:
--------------------------------------------------------------------------------
1 | import { keymap } from "prosemirror-keymap";
2 | import { baseKeymap } from "prosemirror-commands";
3 | import { history, redo, undo } from "prosemirror-history";
4 | import { dropCursor } from "prosemirror-dropcursor"
5 | import { gapCursor } from "prosemirror-gapcursor"
6 |
7 | import { richTextKeyMapPlugin } from "./keymap";
8 |
9 | export { dropCursor, gapCursor, richTextKeyMapPlugin };
10 |
11 | /**
12 | * Core plugins which will be passed by default to each editor state instance
13 | * @type {*[]}
14 | */
15 | export const corePlugins = [
16 | history(),
17 | keymap({"Mod-z": undo, "Mod-y": redo, "Mod-Shift-z": redo}),
18 | keymap(baseKeymap),
19 | ];
20 |
21 | export const richTextPlugins = [
22 | dropCursor(),
23 | gapCursor(),
24 | richTextKeyMapPlugin
25 | ];
26 |
--------------------------------------------------------------------------------
/examples/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
23 |
24 |
67 | {pasteData || 'Nothing pasted yet'}
68 |
69 |
70 | Total pastes: {numberOfPastes}
71 | 72 | 77 | -------------------------------------------------------------------------------- /state/serialize.js: -------------------------------------------------------------------------------- 1 | import { EditorState } from "prosemirror-state"; 2 | import { DOMSerializer } from "prosemirror-model"; 3 | import { corePlugins } from "../helpers"; 4 | import { multiLineSchema } from "./schemas"; 5 | 6 | /** 7 | * Deserialize an editor state from a JSON object 8 | * @param json JSON representation of the editor state 9 | * @param schema Related schema (defaults to multiline) 10 | * @param plugins Additional plugins 11 | * @returns {instance|EditorState} 12 | */ 13 | export const fromJSON = (json, schema = multiLineSchema, plugins = []) => { 14 | return EditorState.fromJSON({ 15 | schema, plugins: [ 16 | ...corePlugins, 17 | ...plugins 18 | ] 19 | }, json); 20 | } 21 | 22 | /** 23 | * Serialize an editor state to JSON 24 | * @param editorState {EditorState} 25 | * @returns Object 26 | */ 27 | export const toJSON = (editorState) => { 28 | return editorState ? editorState.toJSON() : null; 29 | } 30 | 31 | /** 32 | * Converts editor state to an HTML string 33 | * @param editorState {EditorState} 34 | * @returns {string} 35 | */ 36 | export const toHTML = (editorState) => { 37 | const serializer = DOMSerializer.fromSchema(editorState.schema); 38 | const fragment = serializer.serializeFragment(editorState.doc.content); 39 | const node = document.createElement('div'); 40 | node.append(fragment); 41 | return node.innerHTML; 42 | } 43 | 44 | /** 45 | * Converts the editor state to plain text 46 | * @param editorState {EditorState} 47 | * @return {string} 48 | */ 49 | export const toPlainText = editorState => { 50 | if (editorState.doc.childCount === 0) { 51 | return ''; 52 | } else if (editorState.doc.childCount === 1) { 53 | return editorState.doc.textContent; 54 | } else { 55 | let paragraphs = []; 56 | for (let i = 0; i < editorState.doc.childCount; i++) { 57 | paragraphs.push(editorState.doc.child(i).textContent); 58 | } 59 | return paragraphs.join('\n'); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /examples/src/components/RichTextEditor_105.svelte: -------------------------------------------------------------------------------- 1 | 42 | 43 |114 | 117 |
118 | 119 |{JSON.stringify(toJSON(editorState), null, 2)}
123 | {/if}
124 |
125 |
--------------------------------------------------------------------------------
/helpers/keymap.js:
--------------------------------------------------------------------------------
1 | import {
2 | wrapIn, setBlockType, chainCommands, toggleMark, exitCode,
3 | joinUp, joinDown, lift, selectParentNode
4 | } from "prosemirror-commands";
5 | import { wrapInList, splitListItem, liftListItem, sinkListItem } from "prosemirror-schema-list";
6 | import { undo, redo } from "prosemirror-history";
7 | import { undoInputRule } from "prosemirror-inputrules";
8 | import { richTextSchema } from "../state/schemas"
9 | import { keymap } from "prosemirror-keymap"
10 |
11 | const mac = typeof navigator != "undefined" ? /Mac/.test(navigator.platform) : false;
12 |
13 | const addKey = (keyMap, name, combo, command) => {
14 | if (!keyMap[name]) keyMap[name] = [];
15 | keyMap[name].push({combo, command});
16 | }
17 |
18 | const createKeyMapConfiguration = (schema) => {
19 | let config = {}
20 |
21 | addKey(config, 'undo', "Mod-z", undo)
22 |
23 | addKey(config, "redo", "Shift-Mod-z", redo);
24 | addKey(config, "undoInputRule", "Backspace", undoInputRule);
25 |
26 | if (!mac) addKey(config, "redo", "Mod-y", redo);
27 |
28 | addKey(config, "joinUp", "Alt-ArrowUp", joinUp);
29 | addKey(config, "joinDown", "Alt-ArrowDown", joinDown);
30 | addKey(config, "lift", "Mod-BracketLeft", lift);
31 | addKey(config, "selectParentNode", "Escape", selectParentNode);
32 |
33 | if (!!schema.marks.strong) {
34 | addKey(config, "toggleMarkStrong", "Mod-b", toggleMark(schema.marks.strong));
35 | addKey(config, "toggleMarkStrong", "Mod-B", toggleMark(schema.marks.strong));
36 | }
37 |
38 | if (!!schema.marks.em) {
39 | addKey(config, "toggleMarkEm", "Mod-i", toggleMark(schema.marks.em));
40 | addKey(config, "toggleMarkEm", "Mod-I", toggleMark(schema.marks.em));
41 | }
42 | if (!!schema.marks.code)
43 | addKey(config, "toggleMarkCode", "Mod-`", toggleMark(schema.marks.code));
44 |
45 | if (!!schema.nodes.bullet_list)
46 | addKey(config, "wrapInListUnordered", "Shift-Ctrl-8", wrapInList(schema.nodes.bullet_list));
47 |
48 | if (!!schema.nodes.ordered_list)
49 | addKey(config, "wrapInListOrdered", "Shift-Ctrl-9", wrapInList(schema.nodes.ordered_list));
50 |
51 | if (!!schema.nodes.blockquote)
52 | addKey(config, "wrapInBlockquote", "Ctrl->", wrapIn(schema.nodes.blockquote));
53 |
54 | if (!!schema.nodes.hard_break) {
55 | let br = schema.nodes.hard_break
56 | const cmd = chainCommands(exitCode, (state, dispatch) => {
57 | dispatch(state.tr.replaceSelectionWith(br.create()).scrollIntoView())
58 | return true
59 | })
60 |
61 | addKey(config, "hardBreak", "Mod-Enter", cmd);
62 | addKey(config, "hardBreak", "Shift-Enter", cmd);
63 | if (mac) addKey(config, "hardBreak", "Ctrl-Enter", cmd);
64 | }
65 |
66 | if (!!schema.nodes.list_item) {
67 | addKey(config, "splitListItem", "Enter", splitListItem(schema.nodes.list_item));
68 | addKey(config, "liftListItem", "Mod-[", liftListItem(schema.nodes.list_item));
69 | addKey(config, "sinkListItem", "Mod-]", sinkListItem(schema.nodes.list_item));
70 | }
71 | if (!!schema.nodes.paragraph)
72 | addKey(config, "setBlockTypeParagraph", "Shift-Ctrl-0", setBlockType(schema.nodes.paragraph));
73 |
74 | if (!!schema.nodes.code_block)
75 | addKey(config, "setBlockTypeCode", "Shift-Ctrl-\\", setBlockType(schema.nodes.code_block));
76 |
77 | if (!!schema.nodes.heading)
78 | for (let i = 1; i <= 6; i++) {
79 | addKey(config, `setHeading${i}`, `Shift-Ctrl-${i}`, setBlockType(schema.nodes.heading, {level: i}));
80 | }
81 |
82 | if (!!schema.nodes.horizontal_rule) {
83 | addKey(config, "insertHorizontalRuler", "Mod-_", (state, dispatch) => {
84 | let hr = schema.nodes.horizontal_rule;
85 | dispatch(state.tr.replaceSelectionWith(hr.create()).scrollIntoView());
86 | return true;
87 | })
88 | }
89 |
90 | return config
91 | }
92 |
93 | const getKeyMapFromConfig = (config) => {
94 | const keys = Object.keys(config);
95 | let bindings = {};
96 | keys.forEach(key => {
97 | config[key].forEach(entry => {
98 | bindings[entry.combo] = entry.command;
99 | })
100 | })
101 | return keymap(bindings);
102 | }
103 |
104 | const richTextKeyMapConfiguration = createKeyMapConfiguration(richTextSchema);
105 | export const richTextKeyMapPlugin = getKeyMapFromConfig(richTextKeyMapConfiguration);
106 |
--------------------------------------------------------------------------------
/state/transform.js:
--------------------------------------------------------------------------------
1 | import {EditorState, TextSelection, AllSelection} from "prosemirror-state";
2 | import * as commands from "prosemirror-commands";
3 |
4 | /**
5 | * Basic implementation to split the editor state at the current selection
6 | * @param editorState
7 | * @return {EditorState}
8 | */
9 | export const split = editorState => {
10 | const transaction = editorState.tr;
11 |
12 | transaction.split(editorState.selection.from);
13 |
14 | // if text is selected split before and after the text
15 | if (!editorState.selection.empty) {
16 | transaction.split(transaction.mapping.map(editorState.selection.to));
17 | }
18 |
19 | return editorState.apply(transaction);
20 | };
21 |
22 | /**
23 | * Apply a selection to the editor state
24 | * @param editorState {EditorState}
25 | * @param from {number}
26 | * @param to {number}
27 | */
28 | export const selectText = (editorState, from, to) => {
29 | const selection = TextSelection.create(editorState.doc, from, to);
30 | const transaction = editorState.tr;
31 | transaction.setSelection(selection);
32 | return editorState.apply(transaction);
33 | };
34 |
35 | /**
36 | * Clear the given editor state (keeping the history)
37 | * @param editorState
38 | * @returns {EditorState}
39 | */
40 | export const clear = (editorState) => {
41 | const selection = new AllSelection(editorState.doc);
42 | const transaction = editorState.tr;
43 | transaction.setSelection(selection);
44 | transaction.deleteSelection().scrollIntoView();
45 | return editorState.apply(transaction);
46 | };
47 |
48 | /**
49 | * Select all content of the given editor state
50 | * @param editorState
51 | * @returns {EditorState}
52 | */
53 | export const selectAll = (editorState) => {
54 | const selection = new AllSelection(editorState.doc);
55 | const transaction = editorState.tr;
56 | transaction.setSelection(selection);
57 | return editorState.apply(transaction);
58 | };
59 |
60 | /**
61 | * Delete the current selection
62 | * @param editorState
63 | * @returns {EditorState}
64 | */
65 | export const deleteSelection = (editorState) => {
66 | if (editorState.selection.empty) return editorState;
67 | const transaction = editorState.tr;
68 | transaction.deleteSelection().scrollIntoView();
69 | return editorState.apply(transaction);
70 | };
71 |
72 | /**
73 | * Replace text at the given positions with a new text
74 | * @param editorState {EditorState} The current editor state
75 | * @param from {number} Start position for replacing the text
76 | * @param to {number} End position for replacing the text
77 | * @param newText {string} New text to insert
78 | * @param setSelection {boolean} Update the selection to select the changed content
79 | * @return {EditorState}
80 | */
81 | export const replaceTextAtPosition = (editorState, from, to, newText, setSelection = false) => {
82 | const transaction = editorState.tr;
83 |
84 | transaction.replaceWith(from, to, editorState.schema.text(newText));
85 |
86 | if (setSelection) {
87 | const selection = TextSelection.create(transaction.doc, from, from + newText.length);
88 | transaction.setSelection(selection);
89 | }
90 |
91 | return editorState.apply(transaction);
92 | };
93 |
94 | /**
95 | * Toggle the Mark for the given editor state
96 | * @param editorState {EditorState}
97 | * @param type {String}
98 | * @param attrs {Object}
99 | * @returns {EditorState}
100 | */
101 | export const toggleMark = (editorState, type, attrs = null) => {
102 | let newEditorState;
103 |
104 | const markType = editorState.schema.marks[type];
105 | const dispatch = tr => newEditorState = editorState.apply(tr);
106 |
107 | if (commands.toggleMark(markType, attrs)(editorState, dispatch)) return newEditorState;
108 | else return editorState;
109 | };
110 |
111 | /**
112 | * Toggle the bold (strong) Mark for the given editor state
113 | * @param editorState {EditorState}
114 | * @returns {EditorState}
115 | */
116 | export const toggleBold = (editorState) => {
117 | return toggleMark(editorState, "strong", null);
118 | };
119 |
120 | /**
121 | * Toggle the italic (em) Mark for the given editor state
122 | * @param editorState {EditorState}
123 | * @returns {EditorState}
124 | */
125 | export const toggleItalic = (editorState) => {
126 | return toggleMark(editorState, "em", null);
127 | };
128 |
129 | /**
130 | * Set the block type for the given editor state
131 | * @param editorState {EditorState}
132 | * @param type {String}
133 | * @param attrs {Object}
134 | * @returns {EditorState}
135 | */
136 | export const setBlockType = (editorState, type, attrs) => {
137 | let newEditorState;
138 |
139 | const nodeType = editorState.schema.nodes[type];
140 | const dispatch = tr => newEditorState = editorState.apply(tr);
141 |
142 | if (commands.setBlockType(nodeType, attrs)(editorState, dispatch)) return newEditorState;
143 | else return editorState;
144 | };
145 |
146 | /**
147 | *
148 | * @param editorState {EditorState}
149 | * @param attrs {Object}
150 | * @param from {number|null}
151 | * @param to {number|null}
152 | * @returns {EditorState}
153 | */
154 | export const insertImage = (editorState, attrs, from = null, to = null) => {
155 |
156 | if (from === null) from = editorState.selection.anchor;
157 | if (to === null) to = editorState.selection.head;
158 |
159 | const imageNode = editorState.schema.nodes.image.create(attrs);
160 |
161 | const transaction = editorState.tr;
162 | transaction.replaceWith(from, to, imageNode);
163 |
164 | return editorState.apply(transaction);
165 | };
166 |
--------------------------------------------------------------------------------
/ProsemirrorEditor.svelte:
--------------------------------------------------------------------------------
1 |
107 |
108 |
118 |
119 |
195 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Prosemirror Svelte
2 | [Svelte](https://svelte.dev) bindings for the [Prosemirror editor](https://prosemirror.net/).
3 |
4 | The key motivation of this component is to provide a gentle wrapper around prosemirror - while trying to embrace its
5 | core concept (such as the EditorState and Transactions).
6 |
7 | If you only need a basic editor you can use the included helpers to create your editor state (see below). They will get you started with a working single-line or multi-line editor.
8 | If you are in need of rich-text editing, I strongly recommend to implement you custom schema. You may
9 | also use the schema provided by prosemirror-basic-schema, of course. In case you are just getting started with Prosemirror and want to see a working implementation, have a look at the [examples](examples).
10 |
11 | Note: Before the release of version 1.0, the API (especially of the helpers) will be undergoing changes. The same applies to this documentation.
12 |
13 | ## Installation
14 |
15 | ```bash
16 | yarn add prosemirror-svelte
17 | ```
18 |
19 | or
20 | ```bash
21 | npm install --save prosemirror-svelte
22 | ```
23 |
24 | ## Essential usage
25 |
26 | ```html
27 |
46 |
47 | \n {pasteData || 'Nothing pasted yet'}\n\n\nTotal pastes: {numberOfPastes}
\n\n\n", 14 | "\n\n\n {pasteData || 'Nothing pasted yet'}\n\n\nTotal pastes: {numberOfPastes}
\n\n\n", 14 | "\n\n\n\n\n" 15 | ], 16 | "names": [], 17 | "mappings": "AAyFE,OAAO,cAAC,CAAC,AACP,OAAO,CAAE,IAAI,CACb,cAAc,CAAE,GAAG,CACnB,WAAW,CAAE,MAAM,CACnB,eAAe,CAAE,aAAa,CAC9B,SAAS,CAAE,IAAI,CACf,aAAa,CAAE,GAAG,AACpB,CAAC,AAED,UAAU,cAAC,CAAC,AACV,OAAO,CAAE,IAAI,CACb,cAAc,CAAE,GAAG,CACnB,WAAW,CAAE,MAAM,CACnB,SAAS,CAAE,MAAM,AACnB,CAAC,AAED,eAAe,cAAC,CAAC,AACf,OAAO,CAAE,IAAI,CACb,cAAc,CAAE,GAAG,CACnB,WAAW,CAAE,MAAM,CACnB,eAAe,CAAE,aAAa,AAChC,CAAC,AAED,IAAI,cAAC,CAAC,AACJ,OAAO,CAAE,GAAG,CACZ,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,CAAC,CAAC,IAAI,AAChB,CAAC,AAMD,EAAE,cAAC,CAAC,AACF,aAAa,CAAE,GAAG,AACpB,CAAC,AAED,KAAK,cAAC,CAAC,AACL,MAAM,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,AACnB,CAAC;ACrED,oBAAM,CAAE,KAAK,cAAC,CAAC,AACb,MAAM,CAAE,IAAI,AACd,CAAC,AAED,KAAK,cAAC,CAAC,AACL,OAAO,CAAE,IAAI,AACf,CAAC,AAEO,cAAc,AAAE,CAAC,AACvB,SAAS,CAAE,KAAK,AAClB,CAAC;ACGD,GAAG,eAAC,CAAC,AACH,OAAO,CAAE,IAAI,AACf,CAAC;AC0CO,IAAI,AAAE,CAAC,AACb,sBAAsB,CAAE,OAAO,AACjC,CAAC,AAEO,YAAY,AAAE,CAAC,AACrB,QAAQ,CAAE,QAAQ,AACpB,CAAC,AAEO,YAAY,AAAE,CAAC,AACrB,SAAS,CAAE,UAAU,CACrB,WAAW,CAAE,QAAQ,CACrB,8BAA8B,CAAE,IAAI,CACpC,sBAAsB,CAAE,IAAI,AAC9B,CAAC,AAEO,YAAY,AAAC,CAAC,GAAG,AAAC,CAAC,AACzB,WAAW,CAAE,QAAQ,AACvB,CAAC,AAEO,YAAY,AAAC,CAAC,EAAE,AAAC,CAAC,AACxB,QAAQ,CAAE,QAAQ,AACpB,CAAC,AAEO,uCAAuC,AAAE,CAAC,AAChD,UAAU,CAAE,WAAW,AACzB,CAAC,AAEO,4CAA4C,AAAE,CAAC,AACrD,UAAU,CAAE,WAAW,AACzB,CAAC,AAEO,0BAA0B,AAAE,CAAC,AACnC,WAAW,CAAE,WAAW,AAC1B,CAAC,AAEO,yBAAyB,AAAE,CAAC,AAClC,OAAO,CAAE,GAAG,CAAC,KAAK,CAAC,IAAI,AACzB,CAAC,AAIO,2BAA2B,AAAE,CAAC,AACpC,OAAO,CAAE,IAAI,AACf,CAAC,AAEO,iCAAiC,AAAE,CAAC,AAC1C,OAAO,CAAE,EAAE,CACX,QAAQ,CAAE,QAAQ,CAClB,IAAI,CAAE,KAAK,CACX,KAAK,CAAE,IAAI,CACX,GAAG,CAAE,IAAI,CACT,MAAM,CAAE,IAAI,CACZ,MAAM,CAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CACtB,cAAc,CAAE,IAAI,AACtB,CAAC,AAEO,gCAAgC,AAAE,CAAC,AACzC,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,AACd,CAAC,AAEO,sCAAsC,AAAE,CAAC,AAC/C,KAAK,CAAE,IAAI,AACb,CAAC,AAEO,iCAAiC,AAAE,CAAC,AAC1C,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,KAAK,gBAAgB,CAAC,CAC/B,cAAc,CAAE,IAAI,CACpB,KAAK,CAAE,IAAI,sBAAsB,CAAC,AACpC,CAAC" 18 | } -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.5.5": 6 | version "7.14.5" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" 8 | integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== 9 | dependencies: 10 | "@babel/highlight" "^7.14.5" 11 | 12 | "@babel/helper-validator-identifier@^7.14.5": 13 | version "7.15.7" 14 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" 15 | integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== 16 | 17 | "@babel/highlight@^7.14.5": 18 | version "7.14.5" 19 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" 20 | integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== 21 | dependencies: 22 | "@babel/helper-validator-identifier" "^7.14.5" 23 | chalk "^2.0.0" 24 | js-tokens "^4.0.0" 25 | 26 | "@polka/url@^0.5.0": 27 | version "0.5.0" 28 | resolved "https://registry.yarnpkg.com/@polka/url/-/url-0.5.0.tgz#b21510597fd601e5d7c95008b76bf0d254ebfd31" 29 | integrity sha512-oZLYFEAzUKyi3SKnXvj32ZCEGH6RDnao7COuCVhDydMS9NrCSVXhM79VaKyP5+Zc33m0QXEd2DN3UkU7OsHcfw== 30 | 31 | "@rollup/plugin-commonjs@^11.0.0": 32 | version "11.1.0" 33 | resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz#60636c7a722f54b41e419e1709df05c7234557ef" 34 | integrity sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA== 35 | dependencies: 36 | "@rollup/pluginutils" "^3.0.8" 37 | commondir "^1.0.1" 38 | estree-walker "^1.0.1" 39 | glob "^7.1.2" 40 | is-reference "^1.1.2" 41 | magic-string "^0.25.2" 42 | resolve "^1.11.0" 43 | 44 | "@rollup/plugin-node-resolve@^6.0.0": 45 | version "6.1.0" 46 | resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-6.1.0.tgz#0d2909f4bf606ae34d43a9bc8be06a9b0c850cf0" 47 | integrity sha512-Cv7PDIvxdE40SWilY5WgZpqfIUEaDxFxs89zCAHjqyRwlTSuql4M5hjIuc5QYJkOH0/vyiyNXKD72O+LhRipGA== 48 | dependencies: 49 | "@rollup/pluginutils" "^3.0.0" 50 | "@types/resolve" "0.0.8" 51 | builtin-modules "^3.1.0" 52 | is-module "^1.0.0" 53 | resolve "^1.11.1" 54 | 55 | "@rollup/pluginutils@^3.0.0", "@rollup/pluginutils@^3.0.8": 56 | version "3.1.0" 57 | resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" 58 | integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== 59 | dependencies: 60 | "@types/estree" "0.0.39" 61 | estree-walker "^1.0.1" 62 | picomatch "^2.2.2" 63 | 64 | "@types/estree@*": 65 | version "0.0.50" 66 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" 67 | integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== 68 | 69 | "@types/estree@0.0.39": 70 | version "0.0.39" 71 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" 72 | integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== 73 | 74 | "@types/node@*": 75 | version "16.10.2" 76 | resolved "https://registry.yarnpkg.com/@types/node/-/node-16.10.2.tgz#5764ca9aa94470adb4e1185fe2e9f19458992b2e" 77 | integrity sha512-zCclL4/rx+W5SQTzFs9wyvvyCwoK9QtBpratqz2IYJ3O8Umrn0m3nsTv0wQBk9sRGpvUe9CwPDrQFB10f1FIjQ== 78 | 79 | "@types/resolve@0.0.8": 80 | version "0.0.8" 81 | resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194" 82 | integrity sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ== 83 | dependencies: 84 | "@types/node" "*" 85 | 86 | acorn@^7.1.0: 87 | version "7.4.1" 88 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" 89 | integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== 90 | 91 | ansi-styles@^3.2.1: 92 | version "3.2.1" 93 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 94 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 95 | dependencies: 96 | color-convert "^1.9.0" 97 | 98 | anymatch@~3.1.2: 99 | version "3.1.2" 100 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" 101 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 102 | dependencies: 103 | normalize-path "^3.0.0" 104 | picomatch "^2.0.4" 105 | 106 | at-least-node@^1.0.0: 107 | version "1.0.0" 108 | resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" 109 | integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== 110 | 111 | balanced-match@^1.0.0: 112 | version "1.0.2" 113 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 114 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 115 | 116 | binary-extensions@^2.0.0: 117 | version "2.2.0" 118 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 119 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 120 | 121 | brace-expansion@^1.1.7: 122 | version "1.1.11" 123 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 124 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 125 | dependencies: 126 | balanced-match "^1.0.0" 127 | concat-map "0.0.1" 128 | 129 | braces@~3.0.2: 130 | version "3.0.2" 131 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 132 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 133 | dependencies: 134 | fill-range "^7.0.1" 135 | 136 | buffer-from@^1.0.0: 137 | version "1.1.2" 138 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" 139 | integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== 140 | 141 | builtin-modules@^3.1.0: 142 | version "3.2.0" 143 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" 144 | integrity sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== 145 | 146 | chalk@^2.0.0: 147 | version "2.4.2" 148 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 149 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 150 | dependencies: 151 | ansi-styles "^3.2.1" 152 | escape-string-regexp "^1.0.5" 153 | supports-color "^5.3.0" 154 | 155 | chokidar@^3.5.0: 156 | version "3.5.2" 157 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" 158 | integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== 159 | dependencies: 160 | anymatch "~3.1.2" 161 | braces "~3.0.2" 162 | glob-parent "~5.1.2" 163 | is-binary-path "~2.1.0" 164 | is-glob "~4.0.1" 165 | normalize-path "~3.0.0" 166 | readdirp "~3.6.0" 167 | optionalDependencies: 168 | fsevents "~2.3.2" 169 | 170 | color-convert@^1.9.0: 171 | version "1.9.3" 172 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 173 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 174 | dependencies: 175 | color-name "1.1.3" 176 | 177 | color-name@1.1.3: 178 | version "1.1.3" 179 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 180 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 181 | 182 | commander@^2.20.0: 183 | version "2.20.3" 184 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" 185 | integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== 186 | 187 | commondir@^1.0.1: 188 | version "1.0.1" 189 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 190 | integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= 191 | 192 | concat-map@0.0.1: 193 | version "0.0.1" 194 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 195 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 196 | 197 | console-clear@^1.1.0: 198 | version "1.1.1" 199 | resolved "https://registry.yarnpkg.com/console-clear/-/console-clear-1.1.1.tgz#995e20cbfbf14dd792b672cde387bd128d674bf7" 200 | integrity sha512-pMD+MVR538ipqkG5JXeOEbKWS5um1H4LUUccUQG68qpeqBYbzYy79Gh55jkd2TtPdRfUaLWdv6LPP//5Zt0aPQ== 201 | 202 | crelt@^1.0.0: 203 | version "1.0.5" 204 | resolved "https://registry.yarnpkg.com/crelt/-/crelt-1.0.5.tgz#57c0d52af8c859e354bace1883eb2e1eb182bb94" 205 | integrity sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA== 206 | 207 | escape-string-regexp@^1.0.5: 208 | version "1.0.5" 209 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 210 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 211 | 212 | estree-walker@^0.6.1: 213 | version "0.6.1" 214 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" 215 | integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== 216 | 217 | estree-walker@^1.0.1: 218 | version "1.0.1" 219 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" 220 | integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== 221 | 222 | fill-range@^7.0.1: 223 | version "7.0.1" 224 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 225 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 226 | dependencies: 227 | to-regex-range "^5.0.1" 228 | 229 | fs-extra@^9.0.0: 230 | version "9.1.0" 231 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" 232 | integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== 233 | dependencies: 234 | at-least-node "^1.0.0" 235 | graceful-fs "^4.2.0" 236 | jsonfile "^6.0.1" 237 | universalify "^2.0.0" 238 | 239 | fs.realpath@^1.0.0: 240 | version "1.0.0" 241 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 242 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 243 | 244 | fsevents@~2.3.2: 245 | version "2.3.2" 246 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 247 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 248 | 249 | function-bind@^1.1.1: 250 | version "1.1.1" 251 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 252 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 253 | 254 | get-port@^3.2.0: 255 | version "3.2.0" 256 | resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" 257 | integrity sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw= 258 | 259 | glob-parent@~5.1.2: 260 | version "5.1.2" 261 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 262 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 263 | dependencies: 264 | is-glob "^4.0.1" 265 | 266 | glob@^7.1.2: 267 | version "7.2.0" 268 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" 269 | integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== 270 | dependencies: 271 | fs.realpath "^1.0.0" 272 | inflight "^1.0.4" 273 | inherits "2" 274 | minimatch "^3.0.4" 275 | once "^1.3.0" 276 | path-is-absolute "^1.0.0" 277 | 278 | graceful-fs@^4.1.6, graceful-fs@^4.2.0: 279 | version "4.2.8" 280 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" 281 | integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== 282 | 283 | has-flag@^3.0.0: 284 | version "3.0.0" 285 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 286 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 287 | 288 | has@^1.0.3: 289 | version "1.0.3" 290 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 291 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 292 | dependencies: 293 | function-bind "^1.1.1" 294 | 295 | inflight@^1.0.4: 296 | version "1.0.6" 297 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 298 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 299 | dependencies: 300 | once "^1.3.0" 301 | wrappy "1" 302 | 303 | inherits@2: 304 | version "2.0.4" 305 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 306 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 307 | 308 | is-binary-path@~2.1.0: 309 | version "2.1.0" 310 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 311 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 312 | dependencies: 313 | binary-extensions "^2.0.0" 314 | 315 | is-core-module@^2.2.0: 316 | version "2.7.0" 317 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.7.0.tgz#3c0ef7d31b4acfc574f80c58409d568a836848e3" 318 | integrity sha512-ByY+tjCciCr+9nLryBYcSD50EOGWt95c7tIsKTG1J2ixKKXPvF7Ej3AVd+UfDydAJom3biBGDBALaO79ktwgEQ== 319 | dependencies: 320 | has "^1.0.3" 321 | 322 | is-extglob@^2.1.1: 323 | version "2.1.1" 324 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 325 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 326 | 327 | is-glob@^4.0.1, is-glob@~4.0.1: 328 | version "4.0.3" 329 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 330 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 331 | dependencies: 332 | is-extglob "^2.1.1" 333 | 334 | is-module@^1.0.0: 335 | version "1.0.0" 336 | resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" 337 | integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= 338 | 339 | is-number@^7.0.0: 340 | version "7.0.0" 341 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 342 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 343 | 344 | is-reference@^1.1.2: 345 | version "1.2.1" 346 | resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" 347 | integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== 348 | dependencies: 349 | "@types/estree" "*" 350 | 351 | jest-worker@^24.9.0: 352 | version "24.9.0" 353 | resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" 354 | integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== 355 | dependencies: 356 | merge-stream "^2.0.0" 357 | supports-color "^6.1.0" 358 | 359 | js-tokens@^4.0.0: 360 | version "4.0.0" 361 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 362 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 363 | 364 | jsonfile@^6.0.1: 365 | version "6.1.0" 366 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" 367 | integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== 368 | dependencies: 369 | universalify "^2.0.0" 370 | optionalDependencies: 371 | graceful-fs "^4.1.6" 372 | 373 | kleur@^3.0.0: 374 | version "3.0.3" 375 | resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" 376 | integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== 377 | 378 | livereload-js@^3.3.1: 379 | version "3.3.2" 380 | resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-3.3.2.tgz#c88b009c6e466b15b91faa26fd7c99d620e12651" 381 | integrity sha512-w677WnINxFkuixAoUEXOStewzLYGI76XVag+0JWMMEyjJQKs0ibWZMxkTlB96Lm3EjZ7IeOxVziBEbtxVQqQZA== 382 | 383 | livereload@^0.9.1: 384 | version "0.9.3" 385 | resolved "https://registry.yarnpkg.com/livereload/-/livereload-0.9.3.tgz#a714816375ed52471408bede8b49b2ee6a0c55b1" 386 | integrity sha512-q7Z71n3i4X0R9xthAryBdNGVGAO2R5X+/xXpmKeuPMrteg+W2U8VusTKV3YiJbXZwKsOlFlHe+go6uSNjfxrZw== 387 | dependencies: 388 | chokidar "^3.5.0" 389 | livereload-js "^3.3.1" 390 | opts ">= 1.2.0" 391 | ws "^7.4.3" 392 | 393 | local-access@^1.0.1: 394 | version "1.1.0" 395 | resolved "https://registry.yarnpkg.com/local-access/-/local-access-1.1.0.tgz#e007c76ba2ca83d5877ba1a125fc8dfe23ba4798" 396 | integrity sha512-XfegD5pyTAfb+GY6chk283Ox5z8WexG56OvM06RWLpAc/UHozO8X6xAxEkIitZOtsSMM1Yr3DkHgW5W+onLhCw== 397 | 398 | magic-string@^0.25.2: 399 | version "0.25.7" 400 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" 401 | integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== 402 | dependencies: 403 | sourcemap-codec "^1.4.4" 404 | 405 | merge-stream@^2.0.0: 406 | version "2.0.0" 407 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 408 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 409 | 410 | mime@^2.3.1: 411 | version "2.5.2" 412 | resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" 413 | integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== 414 | 415 | minimatch@^3.0.4: 416 | version "3.0.4" 417 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 418 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 419 | dependencies: 420 | brace-expansion "^1.1.7" 421 | 422 | mri@^1.1.0: 423 | version "1.2.0" 424 | resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" 425 | integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== 426 | 427 | normalize-path@^3.0.0, normalize-path@~3.0.0: 428 | version "3.0.0" 429 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 430 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 431 | 432 | once@^1.3.0: 433 | version "1.4.0" 434 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 435 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 436 | dependencies: 437 | wrappy "1" 438 | 439 | "opts@>= 1.2.0": 440 | version "2.0.2" 441 | resolved "https://registry.yarnpkg.com/opts/-/opts-2.0.2.tgz#a17e189fbbfee171da559edd8a42423bc5993ce1" 442 | integrity sha512-k41FwbcLnlgnFh69f4qdUfvDQ+5vaSDnVPFI/y5XuhKRq97EnVVneO9F1ESVCdiVu4fCS2L8usX3mU331hB7pg== 443 | 444 | orderedmap@^1.1.0: 445 | version "1.1.1" 446 | resolved "https://registry.yarnpkg.com/orderedmap/-/orderedmap-1.1.1.tgz#c618e77611b3b21d0fe3edc92586265e0059c789" 447 | integrity sha512-3Ux8um0zXbVacKUkcytc0u3HgC0b0bBLT+I60r2J/En72cI0nZffqrA7Xtf2Hqs27j1g82llR5Mhbd0Z1XW4AQ== 448 | 449 | path-is-absolute@^1.0.0: 450 | version "1.0.1" 451 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 452 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 453 | 454 | path-parse@^1.0.6: 455 | version "1.0.7" 456 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 457 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 458 | 459 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2: 460 | version "2.3.0" 461 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" 462 | integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== 463 | 464 | prosemirror-commands@^1.0.0, prosemirror-commands@^1.1.2: 465 | version "1.1.10" 466 | resolved "https://registry.yarnpkg.com/prosemirror-commands/-/prosemirror-commands-1.1.10.tgz#406a6589966e6cd80809cea2d801fb998639b37d" 467 | integrity sha512-IWyBBXNAd44RM6NnBPljwq+/CM2oYCQJkF+YhKEAZNwzW0uFdGf4qComhjbKZzqFdu6Iub2ZhNsXgwPibA0lCQ== 468 | dependencies: 469 | prosemirror-model "^1.0.0" 470 | prosemirror-state "^1.0.0" 471 | prosemirror-transform "^1.0.0" 472 | 473 | prosemirror-dropcursor@^1.0.0, prosemirror-dropcursor@^1.3.2: 474 | version "1.3.5" 475 | resolved "https://registry.yarnpkg.com/prosemirror-dropcursor/-/prosemirror-dropcursor-1.3.5.tgz#d2808c17089df0e441ad66016aecc2b6457c8a1f" 476 | integrity sha512-tNUwcF2lPAkwKBZPZRtbxpwljnODRNZ3eiYloN1DSUqDjMT1nBZm0nejaEMS1TvNQ+3amibUSAiV4hX+jpASFA== 477 | dependencies: 478 | prosemirror-state "^1.0.0" 479 | prosemirror-transform "^1.1.0" 480 | prosemirror-view "^1.1.0" 481 | 482 | prosemirror-example-setup@^1.1.2: 483 | version "1.1.2" 484 | resolved "https://registry.yarnpkg.com/prosemirror-example-setup/-/prosemirror-example-setup-1.1.2.tgz#0df63d14a26b174933345814cb6503ad72a4ccdb" 485 | integrity sha512-MTpIMyqk08jFnzxeRMCinCEMtVSTUtxKgQBGxfCbVe9C6zIOqp9qZZJz5Ojaad1GETySyuj8+OIHHvQsIaaaGQ== 486 | dependencies: 487 | prosemirror-commands "^1.0.0" 488 | prosemirror-dropcursor "^1.0.0" 489 | prosemirror-gapcursor "^1.0.0" 490 | prosemirror-history "^1.0.0" 491 | prosemirror-inputrules "^1.0.0" 492 | prosemirror-keymap "^1.0.0" 493 | prosemirror-menu "^1.0.0" 494 | prosemirror-schema-list "^1.0.0" 495 | prosemirror-state "^1.0.0" 496 | 497 | prosemirror-gapcursor@^1.0.0, prosemirror-gapcursor@^1.1.2: 498 | version "1.2.0" 499 | resolved "https://registry.yarnpkg.com/prosemirror-gapcursor/-/prosemirror-gapcursor-1.2.0.tgz#28fb60bf3d9baf1f920907d2c3e613137204e8f3" 500 | integrity sha512-yCLy5+0rVqLir/KcHFathQj4Rf8aRHi80FmEfKtM0JmyzvwdomslLzDZ/pX4oFhFKDgjl/WBBBFNqDyNifWg7g== 501 | dependencies: 502 | prosemirror-keymap "^1.0.0" 503 | prosemirror-model "^1.0.0" 504 | prosemirror-state "^1.0.0" 505 | prosemirror-view "^1.0.0" 506 | 507 | prosemirror-history@^1.0.0, prosemirror-history@^1.1.3: 508 | version "1.2.0" 509 | resolved "https://registry.yarnpkg.com/prosemirror-history/-/prosemirror-history-1.2.0.tgz#04cc4df8d2f7b2a46651a2780de191ada6d465ea" 510 | integrity sha512-B9v9xtf4fYbKxQwIr+3wtTDNLDZcmMMmGiI3TAPShnUzvo+Rmv1GiUrsQChY1meetHl7rhML2cppF3FTs7f7UQ== 511 | dependencies: 512 | prosemirror-state "^1.2.2" 513 | prosemirror-transform "^1.0.0" 514 | rope-sequence "^1.3.0" 515 | 516 | prosemirror-inputrules@^1.0.0, prosemirror-inputrules@^1.1.2: 517 | version "1.1.3" 518 | resolved "https://registry.yarnpkg.com/prosemirror-inputrules/-/prosemirror-inputrules-1.1.3.tgz#93f9199ca02473259c30d7e352e4c14022d54638" 519 | integrity sha512-ZaHCLyBtvbyIHv0f5p6boQTIJjlD6o2NPZiEaZWT2DA+j591zS29QQEMT4lBqwcLW3qRSf7ZvoKNbf05YrsStw== 520 | dependencies: 521 | prosemirror-state "^1.0.0" 522 | prosemirror-transform "^1.0.0" 523 | 524 | prosemirror-keymap@^1.0.0, prosemirror-keymap@^1.1.3: 525 | version "1.1.4" 526 | resolved "https://registry.yarnpkg.com/prosemirror-keymap/-/prosemirror-keymap-1.1.4.tgz#8b481bf8389a5ac40d38dbd67ec3da2c7eac6a6d" 527 | integrity sha512-Al8cVUOnDFL4gcI5IDlG6xbZ0aOD/i3B17VT+1JbHWDguCgt/lBHVTHUBcKvvbSg6+q/W4Nj1Fu6bwZSca3xjg== 528 | dependencies: 529 | prosemirror-state "^1.0.0" 530 | w3c-keyname "^2.2.0" 531 | 532 | prosemirror-menu@^1.0.0: 533 | version "1.1.4" 534 | resolved "https://registry.yarnpkg.com/prosemirror-menu/-/prosemirror-menu-1.1.4.tgz#a845ae0e14ce1f92dd39d7f23caa6063265cd98c" 535 | integrity sha512-2ROsji/X9ciDnVSRvSTqFygI34GEdHfQSsK4zBKjPxSEroeiHHcdRMS1ofNIf2zM0Vpp5/YqfpxynElymQkqzg== 536 | dependencies: 537 | crelt "^1.0.0" 538 | prosemirror-commands "^1.0.0" 539 | prosemirror-history "^1.0.0" 540 | prosemirror-state "^1.0.0" 541 | 542 | prosemirror-model@^1.0.0, prosemirror-model@^1.14.3, prosemirror-model@^1.2.0, prosemirror-model@^1.8.2: 543 | version "1.14.3" 544 | resolved "https://registry.yarnpkg.com/prosemirror-model/-/prosemirror-model-1.14.3.tgz#a9c250d3c4023ddf10ecb41a0a7a130e9741d37e" 545 | integrity sha512-yzZlBaSxfUPIIP6U5Edh5zKxJPZ5f7bwZRhiCuH3UYkWhj+P3d8swHsbuAMOu/iDatDc5J/Qs5Mb3++mZf+CvQ== 546 | dependencies: 547 | orderedmap "^1.1.0" 548 | 549 | prosemirror-schema-basic@^1.1.2: 550 | version "1.1.2" 551 | resolved "https://registry.yarnpkg.com/prosemirror-schema-basic/-/prosemirror-schema-basic-1.1.2.tgz#4bde5c339c845e0d08ec8fe473064e372ca51ae3" 552 | integrity sha512-G4q8WflNsR1Q33QAV4MQO0xWrHLOJ+BQcKswGXMy626wlQj6c/1n1v4eC9ns+h2y1r/fJHZEgSZnsNhm9lbrDw== 553 | dependencies: 554 | prosemirror-model "^1.2.0" 555 | 556 | prosemirror-schema-list@^1.0.0, prosemirror-schema-list@^1.1.2: 557 | version "1.1.6" 558 | resolved "https://registry.yarnpkg.com/prosemirror-schema-list/-/prosemirror-schema-list-1.1.6.tgz#c3e13fe2f74750e4a53ff88d798dc0c4ccca6707" 559 | integrity sha512-aFGEdaCWmJzouZ8DwedmvSsL50JpRkqhQ6tcpThwJONVVmCgI36LJHtoQ4VGZbusMavaBhXXr33zyD2IVsTlkw== 560 | dependencies: 561 | prosemirror-model "^1.0.0" 562 | prosemirror-transform "^1.0.0" 563 | 564 | prosemirror-state@^1.0.0, prosemirror-state@^1.2.2, prosemirror-state@^1.3.2: 565 | version "1.3.4" 566 | resolved "https://registry.yarnpkg.com/prosemirror-state/-/prosemirror-state-1.3.4.tgz#4c6b52628216e753fc901c6d2bfd84ce109e8952" 567 | integrity sha512-Xkkrpd1y/TQ6HKzN3agsQIGRcLckUMA9u3j207L04mt8ToRgpGeyhbVv0HI7omDORIBHjR29b7AwlATFFf2GLA== 568 | dependencies: 569 | prosemirror-model "^1.0.0" 570 | prosemirror-transform "^1.0.0" 571 | 572 | prosemirror-transform@^1.0.0, prosemirror-transform@^1.1.0: 573 | version "1.3.3" 574 | resolved "https://registry.yarnpkg.com/prosemirror-transform/-/prosemirror-transform-1.3.3.tgz#5f6712b0577a119cc418686fe7588b6dd9b7464d" 575 | integrity sha512-9NLVXy1Sfa2G6qPqhWMkEvwQQMTw7OyTqOZbJaGQWsCeH3hH5Cw+c5eNaLM1Uu75EyKLsEZhJ93XpHJBa6RX8A== 576 | dependencies: 577 | prosemirror-model "^1.0.0" 578 | 579 | prosemirror-view@^1.0.0, prosemirror-view@^1.1.0, prosemirror-view@^1.13.7: 580 | version "1.20.1" 581 | resolved "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.20.1.tgz#174ba8ca358c73cc05e9a92a3d252bcf181ea337" 582 | integrity sha512-djWORhy3a706mUH4A2dgEEV0IPZqQd1tFyz/ZVHJNoqhSgq82FwG6dq7uqHeUB2KdVSNfI2yc3rwfqlC/ll2pA== 583 | dependencies: 584 | prosemirror-model "^1.14.3" 585 | prosemirror-state "^1.0.0" 586 | prosemirror-transform "^1.1.0" 587 | 588 | randombytes@^2.1.0: 589 | version "2.1.0" 590 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" 591 | integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== 592 | dependencies: 593 | safe-buffer "^5.1.0" 594 | 595 | readdirp@~3.6.0: 596 | version "3.6.0" 597 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 598 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 599 | dependencies: 600 | picomatch "^2.2.1" 601 | 602 | require-relative@^0.8.7: 603 | version "0.8.7" 604 | resolved "https://registry.yarnpkg.com/require-relative/-/require-relative-0.8.7.tgz#7999539fc9e047a37928fa196f8e1563dabd36de" 605 | integrity sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4= 606 | 607 | resolve@^1.11.0, resolve@^1.11.1: 608 | version "1.20.0" 609 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" 610 | integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== 611 | dependencies: 612 | is-core-module "^2.2.0" 613 | path-parse "^1.0.6" 614 | 615 | rollup-plugin-css-only@^2.0.0: 616 | version "2.1.0" 617 | resolved "https://registry.yarnpkg.com/rollup-plugin-css-only/-/rollup-plugin-css-only-2.1.0.tgz#b9e8505eb01c5257b5eab65bd51eec9050bed9a3" 618 | integrity sha512-pfdcqAWEmRMFy+ABXAQPA/DKyPqLuBTOf+lWSOgtrVs1v/q7DSXzYa9QZg4myd8/1F7NHcdvPkWnfWqMxq9vrw== 619 | dependencies: 620 | "@rollup/pluginutils" "^3.0.0" 621 | fs-extra "^9.0.0" 622 | 623 | rollup-plugin-livereload@^1.0.0: 624 | version "1.3.0" 625 | resolved "https://registry.yarnpkg.com/rollup-plugin-livereload/-/rollup-plugin-livereload-1.3.0.tgz#8da90df13df6502b9d982997d6ac871092f15fdd" 626 | integrity sha512-abyqXaB21+nFHo+vJULBqfzNx6zXABC19UyvqgDfdoxR/8pFAd041GO+GIUe8ZYC2DbuMUmioh1Lvbk14YLZgw== 627 | dependencies: 628 | livereload "^0.9.1" 629 | 630 | rollup-plugin-svelte@^6.0.3: 631 | version "6.1.1" 632 | resolved "https://registry.yarnpkg.com/rollup-plugin-svelte/-/rollup-plugin-svelte-6.1.1.tgz#66362cf0500fb7a848283ebcf19d289a60ef0871" 633 | integrity sha512-ijnm0pH1ScrY4uxwaNXBpNVejVzpL2769hIEbAlnqNUWZrffLspu5/k9/l/Wsj3NrEHLQ6wCKGagVJonyfN7ow== 634 | dependencies: 635 | require-relative "^0.8.7" 636 | rollup-pluginutils "^2.8.2" 637 | sourcemap-codec "^1.4.8" 638 | 639 | rollup-plugin-terser@^5.1.2: 640 | version "5.3.1" 641 | resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz#8c650062c22a8426c64268548957463bf981b413" 642 | integrity sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w== 643 | dependencies: 644 | "@babel/code-frame" "^7.5.5" 645 | jest-worker "^24.9.0" 646 | rollup-pluginutils "^2.8.2" 647 | serialize-javascript "^4.0.0" 648 | terser "^4.6.2" 649 | 650 | rollup-pluginutils@^2.8.2: 651 | version "2.8.2" 652 | resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" 653 | integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== 654 | dependencies: 655 | estree-walker "^0.6.1" 656 | 657 | rollup@^1.20.0: 658 | version "1.32.1" 659 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.32.1.tgz#4480e52d9d9e2ae4b46ba0d9ddeaf3163940f9c4" 660 | integrity sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A== 661 | dependencies: 662 | "@types/estree" "*" 663 | "@types/node" "*" 664 | acorn "^7.1.0" 665 | 666 | rope-sequence@^1.3.0: 667 | version "1.3.2" 668 | resolved "https://registry.yarnpkg.com/rope-sequence/-/rope-sequence-1.3.2.tgz#a19e02d72991ca71feb6b5f8a91154e48e3c098b" 669 | integrity sha512-ku6MFrwEVSVmXLvy3dYph3LAMNS0890K7fabn+0YIRQ2T96T9F4gkFf0vf0WW0JUraNWwGRtInEpH7yO4tbQZg== 670 | 671 | sade@^1.4.0: 672 | version "1.7.4" 673 | resolved "https://registry.yarnpkg.com/sade/-/sade-1.7.4.tgz#ea681e0c65d248d2095c90578c03ca0bb1b54691" 674 | integrity sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA== 675 | dependencies: 676 | mri "^1.1.0" 677 | 678 | safe-buffer@^5.1.0: 679 | version "5.2.1" 680 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 681 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 682 | 683 | serialize-javascript@^4.0.0: 684 | version "4.0.0" 685 | resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" 686 | integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== 687 | dependencies: 688 | randombytes "^2.1.0" 689 | 690 | sirv-cli@^0.4.4: 691 | version "0.4.6" 692 | resolved "https://registry.yarnpkg.com/sirv-cli/-/sirv-cli-0.4.6.tgz#c28ab20deb3b34637f5a60863dc350f055abca04" 693 | integrity sha512-/Vj85/kBvPL+n9ibgX6FicLE8VjidC1BhlX67PYPBfbBAphzR6i0k0HtU5c2arejfU3uzq8l3SYPCwl1x7z6Ww== 694 | dependencies: 695 | console-clear "^1.1.0" 696 | get-port "^3.2.0" 697 | kleur "^3.0.0" 698 | local-access "^1.0.1" 699 | sade "^1.4.0" 700 | sirv "^0.4.6" 701 | tinydate "^1.0.0" 702 | 703 | sirv@^0.4.6: 704 | version "0.4.6" 705 | resolved "https://registry.yarnpkg.com/sirv/-/sirv-0.4.6.tgz#185e44eb93d24009dd183b7494285c5180b81f22" 706 | integrity sha512-rYpOXlNbpHiY4nVXxuDf4mXPvKz1reZGap/LkWp9TvcZ84qD/nPBjjH/6GZsgIjVMbOslnY8YYULAyP8jMn1GQ== 707 | dependencies: 708 | "@polka/url" "^0.5.0" 709 | mime "^2.3.1" 710 | 711 | source-map-support@~0.5.12: 712 | version "0.5.20" 713 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9" 714 | integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw== 715 | dependencies: 716 | buffer-from "^1.0.0" 717 | source-map "^0.6.0" 718 | 719 | source-map@^0.6.0, source-map@~0.6.1: 720 | version "0.6.1" 721 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 722 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 723 | 724 | sourcemap-codec@^1.4.4, sourcemap-codec@^1.4.8: 725 | version "1.4.8" 726 | resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" 727 | integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== 728 | 729 | supports-color@^5.3.0: 730 | version "5.5.0" 731 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 732 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 733 | dependencies: 734 | has-flag "^3.0.0" 735 | 736 | supports-color@^6.1.0: 737 | version "6.1.0" 738 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" 739 | integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== 740 | dependencies: 741 | has-flag "^3.0.0" 742 | 743 | svelte@^3.0.0: 744 | version "3.43.0" 745 | resolved "https://registry.yarnpkg.com/svelte/-/svelte-3.43.0.tgz#d28d06ec523bf0cea3de15558a3241c339a85762" 746 | integrity sha512-T2pMPHrxXp+SM8pLLUXLQgkdo+JhTls7aqj9cD7z8wT2ccP+OrCAmtQS7h6pvMjitaZhXFNnCK582NxDpy8HSw== 747 | 748 | terser@^4.6.2: 749 | version "4.8.0" 750 | resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" 751 | integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== 752 | dependencies: 753 | commander "^2.20.0" 754 | source-map "~0.6.1" 755 | source-map-support "~0.5.12" 756 | 757 | tinydate@^1.0.0: 758 | version "1.3.0" 759 | resolved "https://registry.yarnpkg.com/tinydate/-/tinydate-1.3.0.tgz#e6ca8e5a22b51bb4ea1c3a2a4fd1352dbd4c57fb" 760 | integrity sha512-7cR8rLy2QhYHpsBDBVYnnWXm8uRTr38RoZakFSW7Bs7PzfMPNZthuMLkwqZv7MTu8lhQ91cOFYS5a7iFj2oR3w== 761 | 762 | to-regex-range@^5.0.1: 763 | version "5.0.1" 764 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 765 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 766 | dependencies: 767 | is-number "^7.0.0" 768 | 769 | universalify@^2.0.0: 770 | version "2.0.0" 771 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" 772 | integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== 773 | 774 | w3c-keyname@^2.2.0: 775 | version "2.2.4" 776 | resolved "https://registry.yarnpkg.com/w3c-keyname/-/w3c-keyname-2.2.4.tgz#4ade6916f6290224cdbd1db8ac49eab03d0eef6b" 777 | integrity sha512-tOhfEwEzFLJzf6d1ZPkYfGj+FWhIpBux9ppoP3rlclw3Z0BZv3N7b7030Z1kYth+6rDuAsXUFr+d0VE6Ed1ikw== 778 | 779 | wrappy@1: 780 | version "1.0.2" 781 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 782 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 783 | 784 | ws@^7.4.3: 785 | version "7.5.5" 786 | resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.5.tgz#8b4bc4af518cfabd0473ae4f99144287b33eb881" 787 | integrity sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w== 788 | --------------------------------------------------------------------------------