diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index f376ce3..9344fc5 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -14,26 +14,35 @@ repos:
- id: mixed-line-ending
- id: trailing-whitespace
- repo: https://github.com/adamchainz/django-upgrade
- rev: 1.18.0
+ rev: 1.21.0
hooks:
- id: django-upgrade
args: [--target-version, "3.2"]
- repo: https://github.com/astral-sh/ruff-pre-commit
- rev: "v0.4.9"
+ rev: "v0.6.4"
hooks:
- id: ruff
- id: ruff-format
- - repo: https://github.com/biomejs/pre-commit
- rev: "v0.4.0"
- hooks:
- - id: biome-check
- additional_dependencies: ["@biomejs/biome@1.8.1"]
- args: [--unsafe]
- repo: https://github.com/tox-dev/pyproject-fmt
- rev: 2.1.3
+ rev: 2.2.3
hooks:
- id: pyproject-fmt
- repo: https://github.com/abravalheri/validate-pyproject
- rev: v0.18
+ rev: v0.19
hooks:
- id: validate-pyproject
+ - repo: local
+ hooks:
+ - id: prettier
+ name: prettier
+ entry: npx prettier@3.3.3 --no-semi --write
+ language: system
+ types_or: [css, scss]
+ require_serial: true
+ - id: eslint
+ name: eslint
+ entry: yarn eslint
+ language: system
+ types_or: [javascript]
+ require_serial: true
+ verbose: true
diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index 5294d06..fb7cf5d 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -5,6 +5,8 @@ Next version
~~~~~~~~~~~~
- Updated the ProseMirror dependencies.
+- Switched back to ESLint and prettier. Somehow biome didn't warn when
+ variables were unused or undefined.
0.8 (2024-08-26)
diff --git a/biome.json b/biome.json
deleted file mode 100644
index 46a123b..0000000
--- a/biome.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "$schema": "https://biomejs.dev/schemas/1.8.1/schema.json",
- "organizeImports": {
- "enabled": false
- },
- "formatter": {
- "enabled": true,
- "indentStyle": "space",
- "indentWidth": 2
- },
- "javascript": {
- "formatter": {
- "semicolons": "asNeeded"
- }
- },
- "css": {
- "formatter": {
- "enabled": true,
- "indentStyle": "space",
- "indentWidth": 2
- },
- "linter": {
- "enabled": true
- }
- },
- "linter": {
- "enabled": true,
- "rules": {
- "complexity": {
- "noForEach": "off",
- "useOptionalChain": "off"
- },
- "style": {
- "noParameterAssign": "off"
- },
- "suspicious": {
- "noAssignInExpressions": "off"
- }
- }
- }
-}
diff --git a/django_prose_editor/static/django_prose_editor/editor.js b/django_prose_editor/static/django_prose_editor/editor.js
index 6c7fdac..3bd2879 100644
--- a/django_prose_editor/static/django_prose_editor/editor.js
+++ b/django_prose_editor/static/django_prose_editor/editor.js
@@ -24,4 +24,4 @@ var DjangoProseEditor=(()=>{var Bt=Object.defineProperty;var _s=Object.getOwnPro
- `,document.body.append(r);let i=r.querySelector("dialog"),o=r.querySelector("form");o.html.value=n,i.querySelector("button[value=cancel]").addEventListener("click",()=>{i.close()}),i.addEventListener("close",()=>{r.remove(),t(null)}),r.querySelector("button[type=submit]").addEventListener("click",s=>{s.preventDefault(),o.reportValidity()&&(r.remove(),t(o.html.value))}),i.showModal()})},Ts=(n,e)=>(e&&Yf(Os(n)).then(t=>{if(t){let r=On(n.schema,t);e(n.tr.replaceWith(0,n.tr.doc.content.size,r))}}),!0),Es=(n,e)=>(e&&e(n.tr.replaceSelectionWith(n.schema.nodes.horizontal_rule.create())),!0);var As=typeof navigator!="undefined"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):!1,Is=n=>(e,t)=>{n[e]=t};function Rs(n){let e={},t,r=Is(e);if(r("Mod-z",At),r("Shift-Mod-z",it),r("Backspace",us),As||r("Mod-y",it),t=n.nodes.hard_break){let i=t,o=kt(Hn,(s,l)=>(l&&l(s.tr.replaceSelectionWith(i.create()).scrollIntoView()),!0));r("Mod-Enter",o),r("Shift-Enter",o),As&&r("Ctrl-Enter",o)}return(t=n.nodes.bullet_list)&&r("Shift-Ctrl-8",ot(t)),(t=n.nodes.ordered_list)&&r("Shift-Ctrl-9",ot(t)),(t=n.nodes.blockquote)&&r("Ctrl->",nn(t)),(t=n.nodes.list_item)&&(r("Enter",as(t)),r("Mod-[",cs(t)),r("Mod-]",fs(t))),e}function vs(n){let e={},t,r=Is(e);return(t=n.marks.strong)&&(r("Mod-b",Z(t)),r("Mod-B",Z(t))),(t=n.marks.em)&&(r("Mod-i",Z(t)),r("Mod-I",Z(t))),(t=n.marks.underline)&&(r("Mod-Shift-u",Z(t)),r("Mod-Shift-U",Z(t))),(t=n.marks.strikethrough)&&(r("Mod-Shift-s",Z(t)),r("Mod-Shift-S",Z(t))),(t=n.marks.link)&&(r("Mod-k",Pt),r("Mod-K",Pt)),e}function Ps(n){return new z({view(e){let t=new Fr(e,n);return e.dom.parentNode.insertBefore(t.dom,e.dom),t}})}function Xf(n){let e=ne("span",{className:"prose-menubar__button prose-menubar__button--heading"});return e.append(ne("span",{className:"material-icons",textContent:"title",title:`heading ${n}`}),ne("span",{className:"level",textContent:`${n}`})),e}function re(n,e){return ne("span",{className:"prose-menubar__button material-icons",textContent:n,title:e})}function zs(n,e){if(!n.nodes.heading)return[];let t=i=>({command:jn(n.nodes.heading,{level:i}),dom:Xf(i),active(o){return o.selection.$from.parent.hasMarkup(n.nodes.heading,{level:i})}});return[...(e||[1,2,3,4,5]).map(t),{command:jn(n.nodes.paragraph),dom:re("notes","paragraph"),active(i){return i.selection.$from.parent.hasMarkup(n.nodes.paragraph)}}]}function Bs(n){let e=[],t;return(t=n.nodes.bullet_list)&&e.push({command:ot(t),dom:re("format_list_bulleted","unordered list"),active(r){return!1}}),(t=n.nodes.ordered_list)&&e.push({command:ot(t),dom:re("format_list_numbered","ordered list"),active(r){return!1}}),(t=n.nodes.blockquote)&&e.push({command:nn(t),dom:re("format_quote","blockquote"),active(r){return!1}}),(t=n.nodes.horizontal_rule)&&e.push({command:Es,dom:re("horizontal_rule","horizontal rule"),active(r){return!1}}),e}function Fs(n){let e=(t,r,i)=>t?{command:Z(t),dom:re(r,i),active:o=>Br(o,t)}:null;return[e(n.marks.strong,"format_bold","bold"),e(n.marks.em,"format_italic","italic"),e(n.marks.underline,"format_underline","underline"),e(n.marks.strikethrough,"format_strikethrough","strikethrough"),e(n.marks.sub,"subscript","subscript"),e(n.marks.sup,"superscript","superscript")].filter(Boolean)}function Vs(n){let e=n.marks.link;return e?[{command:Pt,dom:re("insert_link","insert link"),active:t=>Br(t,e)},{command:Ds,dom:re("link_off","remove link"),active(){return!1}}]:[]}function Ls(){return[{command:At,dom:re("undo","undo"),active(n){return!1}},{command:it,dom:re("redo","redo"),active(n){return!1}}]}function Js(){return[{command:Ts,dom:re("code","edit HTML"),active:()=>!1}]}var Fr=class{constructor(e,t){this.items=t.flat(),this.editorView=e,this.dom=ne("div",{className:"prose-menubar"}),t.filter(r=>r.length).forEach(r=>{let i=ne("div",{className:"prose-menubar__group"});this.dom.append(i),r.forEach(({dom:o})=>i.append(o))}),this.update(),this.dom.addEventListener("mousedown",r=>{r.preventDefault(),e.focus(),this.items.forEach(({command:i,dom:o})=>{o.contains(r.target)&&i(e.state,e.dispatch,e)})})}update(){this.items.forEach(({command:e,dom:t,active:r})=>{let i=e(this.editorView.state,null,this.editorView);t.classList.toggle("disabled",!i),t.classList.toggle("active",r(this.editorView.state)||!1)})}destroy(){this.dom.remove()}};function Ws(){return new z({view(n){return new Vr(n)}})}var Vr=class{constructor(e){this.editorView=e,this.editorView.dom.setAttribute("spellcheck","false")}update(){}destroy(){this.editorView.dom.removeAttribute("spellcheck")}};function qs(n,e,t,r){let i=n.childCount,o=e.childCount;e:for(let s=0,l=0;s{let t=[];if(n.text)for(let r of n.text.matchAll(/(\u00A0|\u00AD)/g)){let i=Array.from(r),o=e+(r.index||0);t.push(X.inline(o,o+1,{class:Qf[r[1]]}))}return t},Zf=n=>{let e=[];return n.descendants((t,r)=>{e.push($s(t,r))}),V.create(n,e.flat())},Lr=new z({state:{init(n,{doc:e}){return Zf(e)},apply(n,e,t){let r=e.map(n.mapping,n.doc);return qs(t.doc,n.doc,0,(i,o)=>{r=r.remove(r.find(o,o+i.content.size)),r=r.add(n.doc,$s(i,o))}),r}},props:{decorations(n){return Lr.getState(n)}}});var eu=["u",0],tu=["s",0],nu=["sub",0],ru=["sup",0],iu=(n,e=null)=>{if(!e)return n;let t=["doc","paragraph","text",...e],r={},i={};return n.spec.nodes.forEach((o,s)=>{t.includes(o)&&(r[o]=s)}),n.spec.marks.forEach((o,s)=>{t.includes(o)&&(i[o]=s)}),new xe({nodes:r,marks:i})};function ou(n,e){let t={nodes:{doc:ye.doc,paragraph:ye.paragraph,heading:ye.heading,blockquote:ye.blockquote,horizontal_rule:ye.horizontal_rule,text:ye.text,hard_break:ye.hard_break},marks:{link:It.link,strong:It.strong,em:It.em,underline:{parseDOM:[{tag:"u"},{style:"text-decoration:underline"}],toDOM(){return eu}},strikethrough:{parseDOM:[{tag:"s"},{style:"text-decoration:line-through"}],toDOM(){return tu}},sub:{parseDOM:[{tag:"sub"}],toDOM(){return nu}},sup:{parseDOM:[{tag:"sup"}],toDOM(){return ru}}}},r=new xe(t);r=new xe({nodes:ls(r.spec.nodes,"paragraph block*","block"),marks:r.spec.marks}),r=iu(r,e.types);let i=wn(wn({},Rs(r)),vs(r)),o=[Yn(i),Yn(Wi),qi(),ts(),ss(),Ps([zs(r,e.headingLevels),Bs(r),Vs(r),Fs(r),e.history?Ls():null,e.html?Js():null].filter(Boolean)),Ws(),e.typographic?Lr:null].filter(Boolean),s=ne("div",{className:"prose-editor"});n.before(s),s.append(n);let l=new mn(s,{state:tn.create({doc:On(r,n.value),plugins:o}),dispatchTransaction:c=>{l.updateState(l.state.apply(c)),a()}}),a=ws(r,l,n);return()=>{s.before(n);try{l.destroy()}catch(c){}s.remove()}}return Ys(su);})();
+ `,document.body.append(r);let i=r.querySelector("dialog"),o=r.querySelector("form");o.html.value=n,i.querySelector("button[value=cancel]").addEventListener("click",()=>{i.close()}),i.addEventListener("close",()=>{r.remove(),t(null)}),r.querySelector("button[type=submit]").addEventListener("click",s=>{s.preventDefault(),o.reportValidity()&&(r.remove(),t(o.html.value))}),i.showModal()})},Ts=(n,e)=>(e&&Yf(Os(n)).then(t=>{if(t){let r=On(n.schema,t);e(n.tr.replaceWith(0,n.tr.doc.content.size,r))}}),!0),Es=(n,e)=>(e&&e(n.tr.replaceSelectionWith(n.schema.nodes.horizontal_rule.create())),!0);var As=typeof navigator!="undefined"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):!1,Is=n=>(e,t)=>{n[e]=t};function Rs(n){let e={},t,r=Is(e);if(r("Mod-z",At),r("Shift-Mod-z",it),r("Backspace",us),As||r("Mod-y",it),t=n.nodes.hard_break){let i=t,o=kt(Hn,(s,l)=>(l&&l(s.tr.replaceSelectionWith(i.create()).scrollIntoView()),!0));r("Mod-Enter",o),r("Shift-Enter",o),As&&r("Ctrl-Enter",o)}return(t=n.nodes.bullet_list)&&r("Shift-Ctrl-8",ot(t)),(t=n.nodes.ordered_list)&&r("Shift-Ctrl-9",ot(t)),(t=n.nodes.blockquote)&&r("Ctrl->",nn(t)),(t=n.nodes.list_item)&&(r("Enter",as(t)),r("Mod-[",cs(t)),r("Mod-]",fs(t))),e}function vs(n){let e={},t,r=Is(e);return(t=n.marks.strong)&&(r("Mod-b",Z(t)),r("Mod-B",Z(t))),(t=n.marks.em)&&(r("Mod-i",Z(t)),r("Mod-I",Z(t))),(t=n.marks.underline)&&(r("Mod-Shift-u",Z(t)),r("Mod-Shift-U",Z(t))),(t=n.marks.strikethrough)&&(r("Mod-Shift-s",Z(t)),r("Mod-Shift-S",Z(t))),(t=n.marks.link)&&(r("Mod-k",Pt),r("Mod-K",Pt)),e}function Ps(n){return new z({view(e){let t=new Fr(e,n);return e.dom.parentNode.insertBefore(t.dom,e.dom),t}})}function Xf(n){let e=ne("span",{className:"prose-menubar__button prose-menubar__button--heading"});return e.append(ne("span",{className:"material-icons",textContent:"title",title:`heading ${n}`}),ne("span",{className:"level",textContent:`${n}`})),e}function re(n,e){return ne("span",{className:"prose-menubar__button material-icons",textContent:n,title:e})}function zs(n,e){if(!n.nodes.heading)return[];let t=i=>({command:jn(n.nodes.heading,{level:i}),dom:Xf(i),active(o){return o.selection.$from.parent.hasMarkup(n.nodes.heading,{level:i})}});return[...(e||[1,2,3,4,5]).map(t),{command:jn(n.nodes.paragraph),dom:re("notes","paragraph"),active(i){return i.selection.$from.parent.hasMarkup(n.nodes.paragraph)}}]}function Bs(n){let e=[],t;return(t=n.nodes.bullet_list)&&e.push({command:ot(t),dom:re("format_list_bulleted","unordered list"),active(r){return!1}}),(t=n.nodes.ordered_list)&&e.push({command:ot(t),dom:re("format_list_numbered","ordered list"),active(r){return!1}}),(t=n.nodes.blockquote)&&e.push({command:nn(t),dom:re("format_quote","blockquote"),active(r){return!1}}),(t=n.nodes.horizontal_rule)&&e.push({command:Es,dom:re("horizontal_rule","horizontal rule"),active(r){return!1}}),e}function Fs(n){let e=(t,r,i)=>t?{command:Z(t),dom:re(r,i),active:o=>Br(o,t)}:null;return[e(n.marks.strong,"format_bold","bold"),e(n.marks.em,"format_italic","italic"),e(n.marks.underline,"format_underline","underline"),e(n.marks.strikethrough,"format_strikethrough","strikethrough"),e(n.marks.sub,"subscript","subscript"),e(n.marks.sup,"superscript","superscript")].filter(Boolean)}function Vs(n){let e=n.marks.link;return e?[{command:Pt,dom:re("insert_link","insert link"),active:t=>Br(t,e)},{command:Ds,dom:re("link_off","remove link"),active(){return!1}}]:[]}function Ls(){return[{command:At,dom:re("undo","undo"),active(n){return!1}},{command:it,dom:re("redo","redo"),active(n){return!1}}]}function Js(){return[{command:Ts,dom:re("code","edit HTML"),active:()=>!1}]}var Fr=class{constructor(e,t){this.items=t.flat(),this.editorView=e,this.dom=ne("div",{className:"prose-menubar"}),t.filter(r=>r.length).forEach(r=>{let i=ne("div",{className:"prose-menubar__group"});this.dom.append(i),r.forEach(({dom:o})=>i.append(o))}),this.update(),this.dom.addEventListener("mousedown",r=>{r.preventDefault(),e.focus(),this.items.forEach(({command:i,dom:o})=>{o.contains(r.target)&&i(e.state,e.dispatch,e)})})}update(){this.items.forEach(({command:e,dom:t,active:r})=>{let i=e(this.editorView.state,null,this.editorView);t.classList.toggle("disabled",!i),t.classList.toggle("active",r(this.editorView.state)||!1)})}destroy(){this.dom.remove()}};function Ws(){return new z({view(n){return new Vr(n)}})}var Vr=class{constructor(e){this.editorView=e,this.editorView.dom.setAttribute("spellcheck","false")}update(){}destroy(){this.editorView.dom.removeAttribute("spellcheck")}};function qs(n,e,t,r){let i=n.childCount,o=e.childCount;e:for(let s=0,l=0;s{let t=[];if(n.text)for(let r of n.text.matchAll(/(\u00A0|\u00AD)/g)){let i=e+(r.index||0);t.push(X.inline(i,i+1,{class:Qf[r[1]]}))}return t},Zf=n=>{let e=[];return n.descendants((t,r)=>{e.push($s(t,r))}),V.create(n,e.flat())},Lr=new z({state:{init(n,{doc:e}){return Zf(e)},apply(n,e,t){let r=e.map(n.mapping,n.doc);return qs(t.doc,n.doc,0,(i,o)=>{r=r.remove(r.find(o,o+i.content.size)),r=r.add(n.doc,$s(i,o))}),r}},props:{decorations(n){return Lr.getState(n)}}});var eu=["u",0],tu=["s",0],nu=["sub",0],ru=["sup",0],iu=(n,e=null)=>{if(!e)return n;let t=["doc","paragraph","text",...e],r={},i={};return n.spec.nodes.forEach((o,s)=>{t.includes(o)&&(r[o]=s)}),n.spec.marks.forEach((o,s)=>{t.includes(o)&&(i[o]=s)}),new xe({nodes:r,marks:i})};function ou(n,e){let t={nodes:{doc:ye.doc,paragraph:ye.paragraph,heading:ye.heading,blockquote:ye.blockquote,horizontal_rule:ye.horizontal_rule,text:ye.text,hard_break:ye.hard_break},marks:{link:It.link,strong:It.strong,em:It.em,underline:{parseDOM:[{tag:"u"},{style:"text-decoration:underline"}],toDOM(){return eu}},strikethrough:{parseDOM:[{tag:"s"},{style:"text-decoration:line-through"}],toDOM(){return tu}},sub:{parseDOM:[{tag:"sub"}],toDOM(){return nu}},sup:{parseDOM:[{tag:"sup"}],toDOM(){return ru}}}},r=new xe(t);r=new xe({nodes:ls(r.spec.nodes,"paragraph block*","block"),marks:r.spec.marks}),r=iu(r,e.types);let i=wn(wn({},Rs(r)),vs(r)),o=[Yn(i),Yn(Wi),qi(),ts(),ss(),Ps([zs(r,e.headingLevels),Bs(r),Vs(r),Fs(r),e.history?Ls():null,e.html?Js():null].filter(Boolean)),Ws(),e.typographic?Lr:null].filter(Boolean),s=ne("div",{className:"prose-editor"});n.before(s),s.append(n);let l=new mn(s,{state:tn.create({doc:On(r,n.value),plugins:o}),dispatchTransaction:c=>{l.updateState(l.state.apply(c)),a()}}),a=ws(r,l,n);return()=>{s.before(n);try{l.destroy()}finally{}s.remove()}}return Ys(su);})();
diff --git a/esbuild.mjs b/esbuild.mjs
index 8350f02..a5d8e95 100644
--- a/esbuild.mjs
+++ b/esbuild.mjs
@@ -1,9 +1,10 @@
+/* globals process */
import * as esbuild from "esbuild"
import postcss from "esbuild-postcss"
const devMode = process.argv.includes("watch")
const ctx = await esbuild.context({
- entryPoints: ["./src/overrides.css", "./src/editor.js"],
+ entryPoints: ["./src/overrides.css", "./src/editor.mjs"],
minify: true,
bundle: true,
target: "es6",
diff --git a/eslint.config.mjs b/eslint.config.mjs
new file mode 100644
index 0000000..5b0c2b8
--- /dev/null
+++ b/eslint.config.mjs
@@ -0,0 +1,17 @@
+import globals from "globals";
+import pluginJs from "@eslint/js";
+
+
+export default [
+ {files: ["**/*.js"], languageOptions: {sourceType: "script"}},
+ {languageOptions: { globals: globals.browser }},
+ pluginJs.configs.recommended,
+ {
+ rules: {
+ "no-unused-vars": [
+ "error",
+ {argsIgnorePattern: "^_", varsIgnorePattern: "^_"}
+ ]
+ },
+ },
+];
diff --git a/package.json b/package.json
index 929c84c..dfcce4f 100644
--- a/package.json
+++ b/package.json
@@ -21,7 +21,10 @@
"prosemirror-schema-list": "^1.4.1",
"prosemirror-state": "^1.4.3",
"prosemirror-transform": "^1.10.0",
- "prosemirror-view": "^1.34.2"
+ "prosemirror-view": "^1.34.2",
+ "@eslint/js": "^9.10.0",
+ "eslint": "^9.10.0",
+ "globals": "^15.9.0"
},
"scripts": {
"dev": "node esbuild.mjs watch",
diff --git a/postcss.config.js b/postcss.config.cjs
similarity index 100%
rename from postcss.config.js
rename to postcss.config.cjs
diff --git a/src/commands.js b/src/commands.mjs
similarity index 98%
rename from src/commands.js
rename to src/commands.mjs
index 7bc7d71..a87ba8e 100644
--- a/src/commands.js
+++ b/src/commands.mjs
@@ -1,5 +1,5 @@
-import { getMarkRange } from "./extendMarkRange.js"
-import { getHTML, parseHTML, trimmedRangeFromSelection } from "./utils.js"
+import { getMarkRange } from "./extendMarkRange.mjs"
+import { getHTML, parseHTML, trimmedRangeFromSelection } from "./utils.mjs"
const linkDialog = (attrs) => {
const { messages } = window.DjangoProseEditor
diff --git a/src/editor.css b/src/editor.css
index 572b112..a54c3ab 100644
--- a/src/editor.css
+++ b/src/editor.css
@@ -141,10 +141,14 @@ label:empty:has(+ .prose-editor) {
.prose-editor-nbsp {
background: var(--_t);
- box-shadow: 0 2px 0 0 var(--_t), 0 -2px 0 0 var(--_t);
+ box-shadow:
+ 0 2px 0 0 var(--_t),
+ 0 -2px 0 0 var(--_t);
}
.prose-editor-shy {
background: var(--_t);
- box-shadow: 0 2px 0 1px var(--_t), 0 -2px 0 1px var(--_t);
+ box-shadow:
+ 0 2px 0 1px var(--_t),
+ 0 -2px 0 1px var(--_t);
}
diff --git a/src/editor.js b/src/editor.mjs
similarity index 94%
rename from src/editor.js
rename to src/editor.mjs
index 0208d5e..eb7a65e 100644
--- a/src/editor.js
+++ b/src/editor.mjs
@@ -13,7 +13,7 @@ import { addListNodes } from "prosemirror-schema-list"
import { EditorState } from "prosemirror-state"
import { EditorView } from "prosemirror-view"
-import { buildKeymap, applyMarksKeymap } from "./keymap.js"
+import { buildKeymap, applyMarksKeymap } from "./keymap.mjs"
import {
menuPlugin,
blockTypeMenuItems,
@@ -22,10 +22,10 @@ import {
historyMenuItems,
markMenuItems,
htmlMenuItem,
-} from "./menu.js"
-import { noSpellCheck } from "./nospellcheck.js"
-import { typographicPlugin } from "./typographic.js"
-import { crel, createDebouncedBackWriter, parseHTML } from "./utils.js"
+} from "./menu.mjs"
+import { noSpellCheck } from "./nospellcheck.mjs"
+import { typographicPlugin } from "./typographic.mjs"
+import { crel, createDebouncedBackWriter, parseHTML } from "./utils.mjs"
const underlineDOM = ["u", 0]
const strikethroughDOM = ["s", 0]
@@ -146,7 +146,7 @@ export function createEditor(textarea, config) {
editor.before(textarea)
try {
editorViewInstance.destroy()
- } catch (_err) {
+ } finally {
/* Intentionally left empty */
}
editor.remove()
diff --git a/src/extendMarkRange.js b/src/extendMarkRange.mjs
similarity index 100%
rename from src/extendMarkRange.js
rename to src/extendMarkRange.mjs
diff --git a/src/keymap.js b/src/keymap.mjs
similarity index 98%
rename from src/keymap.js
rename to src/keymap.mjs
index 60283fc..f8c381e 100644
--- a/src/keymap.js
+++ b/src/keymap.mjs
@@ -13,7 +13,7 @@ import {
sinkListItem,
} from "prosemirror-schema-list"
-import { addLink } from "./commands.js"
+import { addLink } from "./commands.mjs"
const mac =
typeof navigator !== "undefined"
diff --git a/src/menu.js b/src/menu.mjs
similarity index 98%
rename from src/menu.js
rename to src/menu.mjs
index 2fb2807..9fd4464 100644
--- a/src/menu.js
+++ b/src/menu.mjs
@@ -8,8 +8,8 @@ import {
removeLink,
updateHTML,
insertHorizontalRule,
-} from "./commands.js"
-import { crel, markActive } from "./utils.js"
+} from "./commands.mjs"
+import { crel, markActive } from "./utils.mjs"
export function menuPlugin(items) {
return new Plugin({
diff --git a/src/nospellcheck.js b/src/nospellcheck.mjs
similarity index 100%
rename from src/nospellcheck.js
rename to src/nospellcheck.mjs
diff --git a/src/typographic.js b/src/typographic.mjs
similarity index 98%
rename from src/typographic.js
rename to src/typographic.mjs
index 0b99de5..ed18d16 100644
--- a/src/typographic.js
+++ b/src/typographic.mjs
@@ -36,7 +36,6 @@ const typographicDecorationsForNode = (node, position) => {
const decorations = []
if (node.text) {
for (const match of node.text.matchAll(/(\u00A0|\u00AD)/g)) {
- const array = Array.from(match)
const from = position + (match.index || 0)
decorations.push(
Decoration.inline(from, from + 1, {
diff --git a/src/utils.js b/src/utils.mjs
similarity index 100%
rename from src/utils.js
rename to src/utils.mjs
diff --git a/yarn.lock b/yarn.lock
index 7e3a9a5..9490119 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -122,6 +122,127 @@
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.23.1.tgz#81fd50d11e2c32b2d6241470e3185b70c7b30699"
integrity sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==
+"@eslint-community/eslint-utils@^4.2.0":
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
+ integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==
+ dependencies:
+ eslint-visitor-keys "^3.3.0"
+
+"@eslint-community/regexpp@^4.11.0":
+ version "4.11.0"
+ resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.0.tgz#b0ffd0312b4a3fd2d6f77237e7248a5ad3a680ae"
+ integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==
+
+"@eslint/config-array@^0.18.0":
+ version "0.18.0"
+ resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.18.0.tgz#37d8fe656e0d5e3dbaea7758ea56540867fd074d"
+ integrity sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==
+ dependencies:
+ "@eslint/object-schema" "^2.1.4"
+ debug "^4.3.1"
+ minimatch "^3.1.2"
+
+"@eslint/eslintrc@^3.1.0":
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.1.0.tgz#dbd3482bfd91efa663cbe7aa1f506839868207b6"
+ integrity sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==
+ dependencies:
+ ajv "^6.12.4"
+ debug "^4.3.2"
+ espree "^10.0.1"
+ globals "^14.0.0"
+ ignore "^5.2.0"
+ import-fresh "^3.2.1"
+ js-yaml "^4.1.0"
+ minimatch "^3.1.2"
+ strip-json-comments "^3.1.1"
+
+"@eslint/js@9.10.0", "@eslint/js@^9.10.0":
+ version "9.10.0"
+ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.10.0.tgz#eaa3cb0baec497970bb29e43a153d0d5650143c6"
+ integrity sha512-fuXtbiP5GWIn8Fz+LWoOMVf/Jxm+aajZYkhi6CuEm4SxymFM+eUWzbO9qXT+L0iCkL5+KGYMCSGxo686H19S1g==
+
+"@eslint/object-schema@^2.1.4":
+ version "2.1.4"
+ resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.4.tgz#9e69f8bb4031e11df79e03db09f9dbbae1740843"
+ integrity sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==
+
+"@eslint/plugin-kit@^0.1.0":
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.1.0.tgz#809b95a0227ee79c3195adfb562eb94352e77974"
+ integrity sha512-autAXT203ixhqei9xt+qkYOvY8l6LAFIdT2UXc/RPNeUVfqRF1BV94GTJyVPFKT8nFM6MyVJhjLj9E8JWvf5zQ==
+ dependencies:
+ levn "^0.4.1"
+
+"@humanwhocodes/module-importer@^1.0.1":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c"
+ integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
+
+"@humanwhocodes/retry@^0.3.0":
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.3.0.tgz#6d86b8cb322660f03d3f0aa94b99bdd8e172d570"
+ integrity sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==
+
+"@nodelib/fs.scandir@2.1.5":
+ version "2.1.5"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
+ integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
+ dependencies:
+ "@nodelib/fs.stat" "2.0.5"
+ run-parallel "^1.1.9"
+
+"@nodelib/fs.stat@2.0.5":
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
+ integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
+
+"@nodelib/fs.walk@^1.2.8":
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
+ integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
+ dependencies:
+ "@nodelib/fs.scandir" "2.1.5"
+ fastq "^1.6.0"
+
+acorn-jsx@^5.3.2:
+ version "5.3.2"
+ resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
+ integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
+
+acorn@^8.12.0:
+ version "8.12.1"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248"
+ integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==
+
+ajv@^6.12.4:
+ version "6.12.6"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
+ integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
+ dependencies:
+ fast-deep-equal "^3.1.1"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.2"
+
+ansi-regex@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
+ integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
+
+ansi-styles@^4.1.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
+ integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
+ dependencies:
+ color-convert "^2.0.1"
+
+argparse@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
+ integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
+
autoprefixer@^10.4.20:
version "10.4.20"
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.20.tgz#5caec14d43976ef42e32dcb4bd62878e96be5b3b"
@@ -134,6 +255,19 @@ autoprefixer@^10.4.20:
picocolors "^1.0.1"
postcss-value-parser "^4.2.0"
+balanced-match@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
+ integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+
+brace-expansion@^1.1.7:
+ version "1.1.11"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
+ integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
+ dependencies:
+ balanced-match "^1.0.0"
+ concat-map "0.0.1"
+
browserslist@^4.23.3:
version "4.23.3"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.3.tgz#debb029d3c93ebc97ffbc8d9cbb03403e227c800"
@@ -144,20 +278,71 @@ browserslist@^4.23.3:
node-releases "^2.0.18"
update-browserslist-db "^1.1.0"
+callsites@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
+ integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
+
caniuse-lite@^1.0.30001646:
version "1.0.30001660"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001660.tgz#31218de3463fabb44d0b7607b652e56edf2e2355"
integrity sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg==
+chalk@^4.0.0:
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
+ integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
+color-convert@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
+ integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+ dependencies:
+ color-name "~1.1.4"
+
+color-name@~1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
+ integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
+concat-map@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+ integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
+
crelt@^1.0.0:
version "1.0.6"
resolved "https://registry.yarnpkg.com/crelt/-/crelt-1.0.6.tgz#7cc898ea74e190fb6ef9dae57f8f81cf7302df72"
integrity sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==
+cross-spawn@^7.0.2:
+ version "7.0.3"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
+ integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
+ dependencies:
+ path-key "^3.1.0"
+ shebang-command "^2.0.0"
+ which "^2.0.1"
+
+debug@^4.3.1, debug@^4.3.2:
+ version "4.3.7"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52"
+ integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==
+ dependencies:
+ ms "^2.1.3"
+
+deep-is@^0.1.3:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
+ integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
+
electron-to-chromium@^1.5.4:
- version "1.5.19"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.19.tgz#aeaa0a076f3f0f0e8db2c57fd10158508f00725a"
- integrity sha512-kpLJJi3zxTR1U828P+LIUDZ5ohixyo68/IcYOHLqnbTPr/wdgn4i1ECvmALN9E16JPA6cvCG5UG79gVwVdEK5w==
+ version "1.5.20"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.20.tgz#2914e42cfc5cc992cbee5538b500ddaf7c2c7091"
+ integrity sha512-74mdl6Fs1HHzK9SUX4CKFxAtAe3nUns48y79TskHNAG6fGOlLfyKA4j855x+0b5u8rWJIrlaG9tcTPstMlwjIw==
esbuild-postcss@^0.0.4:
version "0.0.4"
@@ -201,26 +386,300 @@ escalade@^3.1.2:
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5"
integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==
+escape-string-regexp@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
+ integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
+
+eslint-scope@^8.0.2:
+ version "8.0.2"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.0.2.tgz#5cbb33d4384c9136083a71190d548158fe128f94"
+ integrity sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==
+ dependencies:
+ esrecurse "^4.3.0"
+ estraverse "^5.2.0"
+
+eslint-visitor-keys@^3.3.0:
+ version "3.4.3"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800"
+ integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
+
+eslint-visitor-keys@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz#e3adc021aa038a2a8e0b2f8b0ce8f66b9483b1fb"
+ integrity sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==
+
+eslint@^9.10.0:
+ version "9.10.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.10.0.tgz#0bd74d7fe4db77565d0e7f57c7df6d2b04756806"
+ integrity sha512-Y4D0IgtBZfOcOUAIQTSXBKoNGfY0REGqHJG6+Q81vNippW5YlKjHFj4soMxamKK1NXHUWuBZTLdU3Km+L/pcHw==
+ dependencies:
+ "@eslint-community/eslint-utils" "^4.2.0"
+ "@eslint-community/regexpp" "^4.11.0"
+ "@eslint/config-array" "^0.18.0"
+ "@eslint/eslintrc" "^3.1.0"
+ "@eslint/js" "9.10.0"
+ "@eslint/plugin-kit" "^0.1.0"
+ "@humanwhocodes/module-importer" "^1.0.1"
+ "@humanwhocodes/retry" "^0.3.0"
+ "@nodelib/fs.walk" "^1.2.8"
+ ajv "^6.12.4"
+ chalk "^4.0.0"
+ cross-spawn "^7.0.2"
+ debug "^4.3.2"
+ escape-string-regexp "^4.0.0"
+ eslint-scope "^8.0.2"
+ eslint-visitor-keys "^4.0.0"
+ espree "^10.1.0"
+ esquery "^1.5.0"
+ esutils "^2.0.2"
+ fast-deep-equal "^3.1.3"
+ file-entry-cache "^8.0.0"
+ find-up "^5.0.0"
+ glob-parent "^6.0.2"
+ ignore "^5.2.0"
+ imurmurhash "^0.1.4"
+ is-glob "^4.0.0"
+ is-path-inside "^3.0.3"
+ json-stable-stringify-without-jsonify "^1.0.1"
+ lodash.merge "^4.6.2"
+ minimatch "^3.1.2"
+ natural-compare "^1.4.0"
+ optionator "^0.9.3"
+ strip-ansi "^6.0.1"
+ text-table "^0.2.0"
+
+espree@^10.0.1, espree@^10.1.0:
+ version "10.1.0"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-10.1.0.tgz#8788dae611574c0f070691f522e4116c5a11fc56"
+ integrity sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==
+ dependencies:
+ acorn "^8.12.0"
+ acorn-jsx "^5.3.2"
+ eslint-visitor-keys "^4.0.0"
+
+esquery@^1.5.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7"
+ integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==
+ dependencies:
+ estraverse "^5.1.0"
+
+esrecurse@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
+ integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
+ dependencies:
+ estraverse "^5.2.0"
+
+estraverse@^5.1.0, estraverse@^5.2.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
+ integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
+
+esutils@^2.0.2:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
+ integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
+
+fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
+ integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
+
+fast-json-stable-stringify@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
+ integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
+
+fast-levenshtein@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
+ integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
+
+fastq@^1.6.0:
+ version "1.17.1"
+ resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47"
+ integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==
+ dependencies:
+ reusify "^1.0.4"
+
+file-entry-cache@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f"
+ integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==
+ dependencies:
+ flat-cache "^4.0.0"
+
+find-up@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
+ integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
+ dependencies:
+ locate-path "^6.0.0"
+ path-exists "^4.0.0"
+
+flat-cache@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c"
+ integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==
+ dependencies:
+ flatted "^3.2.9"
+ keyv "^4.5.4"
+
+flatted@^3.2.9:
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a"
+ integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==
+
fraction.js@^4.3.7:
version "4.3.7"
resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7"
integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==
+glob-parent@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
+ integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
+ dependencies:
+ is-glob "^4.0.3"
+
+globals@^14.0.0:
+ version "14.0.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e"
+ integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==
+
+globals@^15.9.0:
+ version "15.9.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-15.9.0.tgz#e9de01771091ffbc37db5714dab484f9f69ff399"
+ integrity sha512-SmSKyLLKFbSr6rptvP8izbyxJL4ILwqO9Jg23UA0sDlGlu58V59D1//I3vlc0KJphVdUR7vMjHIplYnzBxorQA==
+
+has-flag@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
+ integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+
+ignore@^5.2.0:
+ version "5.3.2"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5"
+ integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==
+
+import-fresh@^3.2.1:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
+ integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
+ dependencies:
+ parent-module "^1.0.0"
+ resolve-from "^4.0.0"
+
+imurmurhash@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+ integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
+
+is-extglob@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+ integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
+
+is-glob@^4.0.0, is-glob@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
+ integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
+ dependencies:
+ is-extglob "^2.1.1"
+
+is-path-inside@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
+ integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
+
+isexe@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+ integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
+
+js-yaml@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
+ integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
+ dependencies:
+ argparse "^2.0.1"
+
+json-buffer@3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13"
+ integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
+
+json-schema-traverse@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
+ integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
+
+json-stable-stringify-without-jsonify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
+ integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
+
+keyv@^4.5.4:
+ version "4.5.4"
+ resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93"
+ integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==
+ dependencies:
+ json-buffer "3.0.1"
+
+levn@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
+ integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
+ dependencies:
+ prelude-ls "^1.2.1"
+ type-check "~0.4.0"
+
lilconfig@^2.0.5:
version "2.1.0"
resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52"
integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==
+locate-path@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
+ integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
+ dependencies:
+ p-locate "^5.0.0"
+
lodash-es@^4.17.21:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee"
integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==
+lodash.merge@^4.6.2:
+ version "4.6.2"
+ resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
+ integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
+
+minimatch@^3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
+ integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
+ dependencies:
+ brace-expansion "^1.1.7"
+
+ms@^2.1.3:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
+ integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+
nanoid@^3.3.7:
version "3.3.7"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
+natural-compare@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
+ integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
+
node-releases@^2.0.18:
version "2.0.18"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f"
@@ -231,11 +690,54 @@ normalize-range@^0.1.2:
resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==
+optionator@^0.9.3:
+ version "0.9.4"
+ resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734"
+ integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==
+ dependencies:
+ deep-is "^0.1.3"
+ fast-levenshtein "^2.0.6"
+ levn "^0.4.1"
+ prelude-ls "^1.2.1"
+ type-check "^0.4.0"
+ word-wrap "^1.2.5"
+
orderedmap@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/orderedmap/-/orderedmap-2.1.1.tgz#61481269c44031c449915497bf5a4ad273c512d2"
integrity sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==
+p-limit@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
+ integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
+ dependencies:
+ yocto-queue "^0.1.0"
+
+p-locate@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
+ integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
+ dependencies:
+ p-limit "^3.0.2"
+
+parent-module@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
+ integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
+ dependencies:
+ callsites "^3.0.0"
+
+path-exists@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
+ integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
+
+path-key@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
+ integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
+
picocolors@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59"
@@ -263,6 +765,11 @@ postcss@^8.4.45:
picocolors "^1.0.1"
source-map-js "^1.2.0"
+prelude-ls@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
+ integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
+
prosemirror-commands@^1.0.0, prosemirror-commands@^1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/prosemirror-commands/-/prosemirror-commands-1.6.0.tgz#b79f034ed371576e7bf83ddd4ede689c8ccbd9ab"
@@ -375,16 +882,86 @@ prosemirror-view@^1.0.0, prosemirror-view@^1.1.0, prosemirror-view@^1.27.0, pros
prosemirror-state "^1.0.0"
prosemirror-transform "^1.1.0"
+punycode@^2.1.0:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
+ integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
+
+queue-microtask@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
+ integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
+
+resolve-from@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
+ integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
+
+reusify@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
+ integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
+
rope-sequence@^1.3.0:
version "1.3.4"
resolved "https://registry.yarnpkg.com/rope-sequence/-/rope-sequence-1.3.4.tgz#df85711aaecd32f1e756f76e43a415171235d425"
integrity sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==
+run-parallel@^1.1.9:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
+ integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
+ dependencies:
+ queue-microtask "^1.2.2"
+
+shebang-command@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
+ integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
+ dependencies:
+ shebang-regex "^3.0.0"
+
+shebang-regex@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
+ integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
+
source-map-js@^1.2.0:
version "1.2.1"
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46"
integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
+strip-ansi@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
+ integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
+ dependencies:
+ ansi-regex "^5.0.1"
+
+strip-json-comments@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
+ integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
+
+supports-color@^7.1.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
+ integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
+ dependencies:
+ has-flag "^4.0.0"
+
+text-table@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
+ integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
+
+type-check@^0.4.0, type-check@~0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
+ integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
+ dependencies:
+ prelude-ls "^1.2.1"
+
update-browserslist-db@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz#7ca61c0d8650766090728046e416a8cde682859e"
@@ -393,12 +970,36 @@ update-browserslist-db@^1.1.0:
escalade "^3.1.2"
picocolors "^1.0.1"
+uri-js@^4.2.2:
+ version "4.4.1"
+ resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
+ integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
+ dependencies:
+ punycode "^2.1.0"
+
w3c-keyname@^2.2.0:
version "2.2.8"
resolved "https://registry.yarnpkg.com/w3c-keyname/-/w3c-keyname-2.2.8.tgz#7b17c8c6883d4e8b86ac8aba79d39e880f8869c5"
integrity sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==
+which@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
+ integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
+ dependencies:
+ isexe "^2.0.0"
+
+word-wrap@^1.2.5:
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34"
+ integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==
+
yaml@^1.10.2:
version "1.10.2"
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
+
+yocto-queue@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
+ integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==