diff --git a/babel.config.json b/babel.config.json index dc67840e..133bed84 100644 --- a/babel.config.json +++ b/babel.config.json @@ -4,7 +4,7 @@ "@babel/env", { "useBuiltIns": "entry", - "corejs": "3.24" + "corejs": "3.26" } ] ] diff --git a/coverage/coverage-summary.json b/coverage/coverage-summary.json index d95b2612..63f4be07 100644 --- a/coverage/coverage-summary.json +++ b/coverage/coverage-summary.json @@ -1,41 +1,9 @@ -{"total": {"lines":{"total":12960,"covered":4269,"skipped":0,"pct":32.94},"statements":{"total":13559,"covered":4352,"skipped":0,"pct":32.1},"functions":{"total":1694,"covered":543,"skipped":0,"pct":32.05},"branches":{"total":6340,"covered":1198,"skipped":0,"pct":18.9}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/blur-event.js": {"lines":{"total":62,"covered":6,"skipped":0,"pct":9.68},"functions":{"total":5,"covered":1,"skipped":0,"pct":20},"statements":{"total":62,"covered":6,"skipped":0,"pct":9.68},"branches":{"total":20,"covered":0,"skipped":0,"pct":0}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/clear.js": {"lines":{"total":21,"covered":21,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":22,"covered":22,"skipped":0,"pct":100},"branches":{"total":2,"covered":1,"skipped":0,"pct":50}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/coords.js": {"lines":{"total":159,"covered":52,"skipped":0,"pct":32.7},"functions":{"total":11,"covered":7,"skipped":0,"pct":63.64},"statements":{"total":166,"covered":57,"skipped":0,"pct":34.34},"branches":{"total":75,"covered":19,"skipped":0,"pct":25.33}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/copy-elem.js": {"lines":{"total":22,"covered":1,"skipped":0,"pct":4.55},"functions":{"total":3,"covered":0,"skipped":0,"pct":0},"statements":{"total":22,"covered":1,"skipped":0,"pct":4.55},"branches":{"total":9,"covered":0,"skipped":0,"pct":0}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/dataStorage.js": {"lines":{"total":10,"covered":5,"skipped":0,"pct":50},"functions":{"total":4,"covered":2,"skipped":0,"pct":50},"statements":{"total":10,"covered":5,"skipped":0,"pct":50},"branches":{"total":6,"covered":3,"skipped":0,"pct":50}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/draw.js": {"lines":{"total":347,"covered":103,"skipped":0,"pct":29.68},"functions":{"total":55,"covered":19,"skipped":0,"pct":34.55},"statements":{"total":360,"covered":105,"skipped":0,"pct":29.17},"branches":{"total":170,"covered":49,"skipped":0,"pct":28.82}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/elem-get-set.js": {"lines":{"total":490,"covered":124,"skipped":0,"pct":25.31},"functions":{"total":51,"covered":6,"skipped":0,"pct":11.76},"statements":{"total":503,"covered":124,"skipped":0,"pct":24.65},"branches":{"total":253,"covered":14,"skipped":0,"pct":5.53}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/event.js": {"lines":{"total":660,"covered":152,"skipped":0,"pct":23.03},"functions":{"total":14,"covered":7,"skipped":0,"pct":50},"statements":{"total":676,"covered":154,"skipped":0,"pct":22.78},"branches":{"total":348,"covered":56,"skipped":0,"pct":16.09}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/history.js": {"lines":{"total":166,"covered":37,"skipped":0,"pct":22.29},"functions":{"total":48,"covered":10,"skipped":0,"pct":20.83},"statements":{"total":173,"covered":37,"skipped":0,"pct":21.39},"branches":{"total":88,"covered":11,"skipped":0,"pct":12.5}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/historyrecording.js": {"lines":{"total":33,"covered":24,"skipped":0,"pct":72.73},"functions":{"total":8,"covered":5,"skipped":0,"pct":62.5},"statements":{"total":40,"covered":24,"skipped":0,"pct":60},"branches":{"total":20,"covered":8,"skipped":0,"pct":40}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/json.js": {"lines":{"total":34,"covered":23,"skipped":0,"pct":67.65},"functions":{"total":4,"covered":2,"skipped":0,"pct":50},"statements":{"total":38,"covered":23,"skipped":0,"pct":60.53},"branches":{"total":20,"covered":13,"skipped":0,"pct":65}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/layer.js": {"lines":{"total":61,"covered":25,"skipped":0,"pct":40.98},"functions":{"total":16,"covered":8,"skipped":0,"pct":50},"statements":{"total":63,"covered":25,"skipped":0,"pct":39.68},"branches":{"total":36,"covered":14,"skipped":0,"pct":38.89}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/math.js": {"lines":{"total":59,"covered":45,"skipped":0,"pct":76.27},"functions":{"total":10,"covered":6,"skipped":0,"pct":60},"statements":{"total":71,"covered":53,"skipped":0,"pct":74.65},"branches":{"total":40,"covered":20,"skipped":0,"pct":50}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/namespaces.js": {"lines":{"total":6,"covered":6,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":6,"covered":6,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/paint.js": {"lines":{"total":39,"covered":12,"skipped":0,"pct":30.77},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":39,"covered":12,"skipped":0,"pct":30.77},"branches":{"total":20,"covered":9,"skipped":0,"pct":45}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/paste-elem.js": {"lines":{"total":49,"covered":5,"skipped":0,"pct":10.2},"functions":{"total":9,"covered":1,"skipped":0,"pct":11.11},"statements":{"total":57,"covered":5,"skipped":0,"pct":8.77},"branches":{"total":22,"covered":0,"skipped":0,"pct":0}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/path-actions.js": {"lines":{"total":579,"covered":17,"skipped":0,"pct":2.94},"functions":{"total":31,"covered":4,"skipped":0,"pct":12.9},"statements":{"total":620,"covered":17,"skipped":0,"pct":2.74},"branches":{"total":266,"covered":4,"skipped":0,"pct":1.5}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/path-method.js": {"lines":{"total":410,"covered":14,"skipped":0,"pct":3.41},"functions":{"total":50,"covered":1,"skipped":0,"pct":2},"statements":{"total":426,"covered":14,"skipped":0,"pct":3.29},"branches":{"total":163,"covered":0,"skipped":0,"pct":0}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/path.js": {"lines":{"total":264,"covered":56,"skipped":0,"pct":21.21},"functions":{"total":20,"covered":3,"skipped":0,"pct":15},"statements":{"total":295,"covered":56,"skipped":0,"pct":18.98},"branches":{"total":111,"covered":0,"skipped":0,"pct":0}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/recalculate.js": {"lines":{"total":401,"covered":67,"skipped":0,"pct":16.71},"functions":{"total":4,"covered":2,"skipped":0,"pct":50},"statements":{"total":412,"covered":67,"skipped":0,"pct":16.26},"branches":{"total":250,"covered":47,"skipped":0,"pct":18.8}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/sanitize.js": {"lines":{"total":78,"covered":42,"skipped":0,"pct":53.85},"functions":{"total":6,"covered":4,"skipped":0,"pct":66.67},"statements":{"total":81,"covered":44,"skipped":0,"pct":54.32},"branches":{"total":55,"covered":22,"skipped":0,"pct":40}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/select.js": {"lines":{"total":171,"covered":125,"skipped":0,"pct":73.1},"functions":{"total":15,"covered":14,"skipped":0,"pct":93.33},"statements":{"total":181,"covered":131,"skipped":0,"pct":72.38},"branches":{"total":50,"covered":24,"skipped":0,"pct":48}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/selected-elem.js": {"lines":{"total":579,"covered":49,"skipped":0,"pct":8.46},"functions":{"total":44,"covered":2,"skipped":0,"pct":4.55},"statements":{"total":615,"covered":49,"skipped":0,"pct":7.97},"branches":{"total":261,"covered":1,"skipped":0,"pct":0.38}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/selection.js": {"lines":{"total":191,"covered":72,"skipped":0,"pct":37.7},"functions":{"total":18,"covered":6,"skipped":0,"pct":33.33},"statements":{"total":192,"covered":72,"skipped":0,"pct":37.5},"branches":{"total":95,"covered":27,"skipped":0,"pct":28.42}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/svg-exec.js": {"lines":{"total":546,"covered":206,"skipped":0,"pct":37.73},"functions":{"total":46,"covered":13,"skipped":0,"pct":28.26},"statements":{"total":554,"covered":212,"skipped":0,"pct":38.27},"branches":{"total":259,"covered":74,"skipped":0,"pct":28.57}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/svgcanvas.js": {"lines":{"total":440,"covered":267,"skipped":0,"pct":60.68},"functions":{"total":164,"covered":59,"skipped":0,"pct":35.98},"statements":{"total":444,"covered":268,"skipped":0,"pct":60.36},"branches":{"total":60,"covered":11,"skipped":0,"pct":18.33}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/svgroot.js": {"lines":{"total":2,"covered":2,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":2,"covered":2,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/text-actions.js": {"lines":{"total":180,"covered":9,"skipped":0,"pct":5},"functions":{"total":24,"covered":5,"skipped":0,"pct":20.83},"statements":{"total":187,"covered":10,"skipped":0,"pct":5.35},"branches":{"total":71,"covered":2,"skipped":0,"pct":2.82}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/touch.js": {"lines":{"total":19,"covered":6,"skipped":0,"pct":31.58},"functions":{"total":2,"covered":1,"skipped":0,"pct":50},"statements":{"total":22,"covered":6,"skipped":0,"pct":27.27},"branches":{"total":6,"covered":0,"skipped":0,"pct":0}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/undo.js": {"lines":{"total":128,"covered":10,"skipped":0,"pct":7.81},"functions":{"total":7,"covered":2,"skipped":0,"pct":28.57},"statements":{"total":133,"covered":10,"skipped":0,"pct":7.52},"branches":{"total":108,"covered":0,"skipped":0,"pct":0}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/units.js": {"lines":{"total":72,"covered":28,"skipped":0,"pct":38.89},"functions":{"total":10,"covered":3,"skipped":0,"pct":30},"statements":{"total":74,"covered":29,"skipped":0,"pct":39.19},"branches":{"total":28,"covered":1,"skipped":0,"pct":3.57}} -,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/utilities.js": {"lines":{"total":422,"covered":148,"skipped":0,"pct":35.07},"functions":{"total":60,"covered":28,"skipped":0,"pct":46.67},"statements":{"total":443,"covered":152,"skipped":0,"pct":34.31},"branches":{"total":205,"covered":45,"skipped":0,"pct":21.95}} -,"/Users/jfhenon/Work/svgedit/src/common/browser.js": {"lines":{"total":25,"covered":24,"skipped":0,"pct":96},"functions":{"total":6,"covered":2,"skipped":0,"pct":33.33},"statements":{"total":30,"covered":25,"skipped":0,"pct":83.33},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/Users/jfhenon/Work/svgedit/src/common/util.js": {"lines":{"total":90,"covered":0,"skipped":0,"pct":0},"functions":{"total":7,"covered":0,"skipped":0,"pct":0},"statements":{"total":92,"covered":0,"skipped":0,"pct":0},"branches":{"total":98,"covered":0,"skipped":0,"pct":0}} +{"total": {"lines":{"total":6260,"covered":2460,"skipped":0,"pct":39.3},"statements":{"total":6571,"covered":2506,"skipped":0,"pct":38.14},"functions":{"total":949,"covered":323,"skipped":0,"pct":34.04},"branches":{"total":3223,"covered":727,"skipped":0,"pct":22.56}} +,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/common/browser.js": {"lines":{"total":25,"covered":24,"skipped":0,"pct":96},"functions":{"total":6,"covered":2,"skipped":0,"pct":33.33},"statements":{"total":30,"covered":25,"skipped":0,"pct":83.33},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/Users/jfhenon/Work/svgedit/packages/svgcanvas/common/util.js": {"lines":{"total":90,"covered":0,"skipped":0,"pct":0},"functions":{"total":7,"covered":0,"skipped":0,"pct":0},"statements":{"total":92,"covered":0,"skipped":0,"pct":0},"branches":{"total":98,"covered":0,"skipped":0,"pct":0}} ,"/Users/jfhenon/Work/svgedit/src/editor/ConfigObj.js": {"lines":{"total":101,"covered":40,"skipped":0,"pct":39.6},"functions":{"total":14,"covered":10,"skipped":0,"pct":71.43},"statements":{"total":102,"covered":40,"skipped":0,"pct":39.22},"branches":{"total":96,"covered":25,"skipped":0,"pct":26.04}} -,"/Users/jfhenon/Work/svgedit/src/editor/Editor.js": {"lines":{"total":410,"covered":167,"skipped":0,"pct":40.73},"functions":{"total":102,"covered":26,"skipped":0,"pct":25.49},"statements":{"total":417,"covered":168,"skipped":0,"pct":40.29},"branches":{"total":213,"covered":55,"skipped":0,"pct":25.82}} -,"/Users/jfhenon/Work/svgedit/src/editor/EditorStartup.js": {"lines":{"total":346,"covered":195,"skipped":0,"pct":56.36},"functions":{"total":51,"covered":23,"skipped":0,"pct":45.1},"statements":{"total":357,"covered":203,"skipped":0,"pct":56.86},"branches":{"total":122,"covered":29,"skipped":0,"pct":23.77}} +,"/Users/jfhenon/Work/svgedit/src/editor/Editor.js": {"lines":{"total":410,"covered":154,"skipped":0,"pct":37.56},"functions":{"total":102,"covered":22,"skipped":0,"pct":21.57},"statements":{"total":417,"covered":155,"skipped":0,"pct":37.17},"branches":{"total":213,"covered":56,"skipped":0,"pct":26.29}} +,"/Users/jfhenon/Work/svgedit/src/editor/EditorStartup.js": {"lines":{"total":346,"covered":197,"skipped":0,"pct":56.94},"functions":{"total":51,"covered":23,"skipped":0,"pct":45.1},"statements":{"total":357,"covered":205,"skipped":0,"pct":57.42},"branches":{"total":122,"covered":32,"skipped":0,"pct":26.23}} ,"/Users/jfhenon/Work/svgedit/src/editor/MainMenu.js": {"lines":{"total":111,"covered":14,"skipped":0,"pct":12.61},"functions":{"total":14,"covered":2,"skipped":0,"pct":14.29},"statements":{"total":111,"covered":14,"skipped":0,"pct":12.61},"branches":{"total":48,"covered":0,"skipped":0,"pct":0}} ,"/Users/jfhenon/Work/svgedit/src/editor/Rulers.js": {"lines":{"total":119,"covered":93,"skipped":0,"pct":78.15},"functions":{"total":6,"covered":5,"skipped":0,"pct":83.33},"statements":{"total":124,"covered":96,"skipped":0,"pct":77.42},"branches":{"total":43,"covered":30,"skipped":0,"pct":69.77}} ,"/Users/jfhenon/Work/svgedit/src/editor/browser-not-supported.js": {"lines":{"total":4,"covered":3,"skipped":0,"pct":75},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":4,"covered":3,"skipped":0,"pct":75},"branches":{"total":4,"covered":3,"skipped":0,"pct":75}} @@ -45,7 +13,7 @@ ,"/Users/jfhenon/Work/svgedit/src/editor/components/index.js": {"lines":{"total":0,"covered":0,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":0,"covered":0,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} ,"/Users/jfhenon/Work/svgedit/src/editor/components/seButton.js": {"lines":{"total":57,"covered":40,"skipped":0,"pct":70.18},"functions":{"total":15,"covered":7,"skipped":0,"pct":46.67},"statements":{"total":60,"covered":42,"skipped":0,"pct":70},"branches":{"total":33,"covered":23,"skipped":0,"pct":69.7}} ,"/Users/jfhenon/Work/svgedit/src/editor/components/seColorPicker.js": {"lines":{"total":50,"covered":33,"skipped":0,"pct":66},"functions":{"total":16,"covered":8,"skipped":0,"pct":50},"statements":{"total":51,"covered":33,"skipped":0,"pct":64.71},"branches":{"total":11,"covered":8,"skipped":0,"pct":72.73}} -,"/Users/jfhenon/Work/svgedit/src/editor/components/seExplorerButton.js": {"lines":{"total":95,"covered":72,"skipped":0,"pct":75.79},"functions":{"total":17,"covered":10,"skipped":0,"pct":58.82},"statements":{"total":98,"covered":72,"skipped":0,"pct":73.47},"branches":{"total":30,"covered":17,"skipped":0,"pct":56.67}} +,"/Users/jfhenon/Work/svgedit/src/editor/components/seExplorerButton.js": {"lines":{"total":95,"covered":52,"skipped":0,"pct":54.74},"functions":{"total":17,"covered":8,"skipped":0,"pct":47.06},"statements":{"total":98,"covered":52,"skipped":0,"pct":53.06},"branches":{"total":30,"covered":10,"skipped":0,"pct":33.33}} ,"/Users/jfhenon/Work/svgedit/src/editor/components/seFlyingButton.js": {"lines":{"total":74,"covered":28,"skipped":0,"pct":37.84},"functions":{"total":14,"covered":6,"skipped":0,"pct":42.86},"statements":{"total":75,"covered":28,"skipped":0,"pct":37.33},"branches":{"total":29,"covered":4,"skipped":0,"pct":13.79}} ,"/Users/jfhenon/Work/svgedit/src/editor/components/seInput.js": {"lines":{"total":46,"covered":24,"skipped":0,"pct":52.17},"functions":{"total":16,"covered":5,"skipped":0,"pct":31.25},"statements":{"total":47,"covered":24,"skipped":0,"pct":51.06},"branches":{"total":8,"covered":4,"skipped":0,"pct":50}} ,"/Users/jfhenon/Work/svgedit/src/editor/components/seList.js": {"lines":{"total":87,"covered":50,"skipped":0,"pct":57.47},"functions":{"total":21,"covered":7,"skipped":0,"pct":33.33},"statements":{"total":89,"covered":51,"skipped":0,"pct":57.3},"branches":{"total":22,"covered":10,"skipped":0,"pct":45.45}} @@ -58,7 +26,7 @@ ,"/Users/jfhenon/Work/svgedit/src/editor/components/seSelect.js": {"lines":{"total":56,"covered":41,"skipped":0,"pct":73.21},"functions":{"total":17,"covered":8,"skipped":0,"pct":47.06},"statements":{"total":59,"covered":43,"skipped":0,"pct":72.88},"branches":{"total":16,"covered":14,"skipped":0,"pct":87.5}} ,"/Users/jfhenon/Work/svgedit/src/editor/components/seSpinInput.js": {"lines":{"total":65,"covered":44,"skipped":0,"pct":67.69},"functions":{"total":18,"covered":6,"skipped":0,"pct":33.33},"statements":{"total":66,"covered":44,"skipped":0,"pct":66.67},"branches":{"total":17,"covered":12,"skipped":0,"pct":70.59}} ,"/Users/jfhenon/Work/svgedit/src/editor/components/seText.js": {"lines":{"total":28,"covered":18,"skipped":0,"pct":64.29},"functions":{"total":10,"covered":4,"skipped":0,"pct":40},"statements":{"total":29,"covered":18,"skipped":0,"pct":62.07},"branches":{"total":8,"covered":5,"skipped":0,"pct":62.5}} -,"/Users/jfhenon/Work/svgedit/src/editor/components/seZoom.js": {"lines":{"total":99,"covered":62,"skipped":0,"pct":62.63},"functions":{"total":28,"covered":9,"skipped":0,"pct":32.14},"statements":{"total":104,"covered":63,"skipped":0,"pct":60.58},"branches":{"total":36,"covered":7,"skipped":0,"pct":19.44}} +,"/Users/jfhenon/Work/svgedit/src/editor/components/seZoom.js": {"lines":{"total":99,"covered":90,"skipped":0,"pct":90.91},"functions":{"total":28,"covered":24,"skipped":0,"pct":85.71},"statements":{"total":104,"covered":94,"skipped":0,"pct":90.38},"branches":{"total":36,"covered":22,"skipped":0,"pct":61.11}} ,"/Users/jfhenon/Work/svgedit/src/editor/components/jgraduate/ColorValuePicker.js": {"lines":{"total":231,"covered":0,"skipped":0,"pct":0},"functions":{"total":9,"covered":0,"skipped":0,"pct":0},"statements":{"total":249,"covered":0,"skipped":0,"pct":0},"branches":{"total":157,"covered":0,"skipped":0,"pct":0}} ,"/Users/jfhenon/Work/svgedit/src/editor/components/jgraduate/Slider.js": {"lines":{"total":156,"covered":1,"skipped":0,"pct":0.64},"functions":{"total":17,"covered":0,"skipped":0,"pct":0},"statements":{"total":176,"covered":1,"skipped":0,"pct":0.57},"branches":{"total":186,"covered":0,"skipped":0,"pct":0}} ,"/Users/jfhenon/Work/svgedit/src/editor/components/jgraduate/jQuery.jGraduate.js": {"lines":{"total":580,"covered":5,"skipped":0,"pct":0.86},"functions":{"total":44,"covered":0,"skipped":0,"pct":0},"statements":{"total":602,"covered":5,"skipped":0,"pct":0.83},"branches":{"total":278,"covered":1,"skipped":0,"pct":0.36}} @@ -74,28 +42,28 @@ ,"/Users/jfhenon/Work/svgedit/src/editor/dialogs/seConfirmDialog.js": {"lines":{"total":8,"covered":2,"skipped":0,"pct":25},"functions":{"total":1,"covered":0,"skipped":0,"pct":0},"statements":{"total":8,"covered":2,"skipped":0,"pct":25},"branches":{"total":2,"covered":0,"skipped":0,"pct":0}} ,"/Users/jfhenon/Work/svgedit/src/editor/dialogs/sePromptDialog.js": {"lines":{"total":24,"covered":5,"skipped":0,"pct":20.83},"functions":{"total":7,"covered":2,"skipped":0,"pct":28.57},"statements":{"total":24,"covered":5,"skipped":0,"pct":20.83},"branches":{"total":9,"covered":0,"skipped":0,"pct":0}} ,"/Users/jfhenon/Work/svgedit/src/editor/dialogs/seSelectDialog.js": {"lines":{"total":8,"covered":2,"skipped":0,"pct":25},"functions":{"total":1,"covered":0,"skipped":0,"pct":0},"statements":{"total":8,"covered":2,"skipped":0,"pct":25},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/Users/jfhenon/Work/svgedit/src/editor/dialogs/svgSourceDialog.js": {"lines":{"total":74,"covered":56,"skipped":0,"pct":75.68},"functions":{"total":17,"covered":6,"skipped":0,"pct":35.29},"statements":{"total":75,"covered":56,"skipped":0,"pct":74.67},"branches":{"total":17,"covered":13,"skipped":0,"pct":76.47}} +,"/Users/jfhenon/Work/svgedit/src/editor/dialogs/svgSourceDialog.js": {"lines":{"total":74,"covered":40,"skipped":0,"pct":54.05},"functions":{"total":17,"covered":5,"skipped":0,"pct":29.41},"statements":{"total":75,"covered":40,"skipped":0,"pct":53.33},"branches":{"total":17,"covered":5,"skipped":0,"pct":29.41}} ,"/Users/jfhenon/Work/svgedit/src/editor/dialogs/se-elix/define/NumberSpinBox.js": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} ,"/Users/jfhenon/Work/svgedit/src/editor/dialogs/se-elix/src/base/NumberSpinBox.js": {"lines":{"total":54,"covered":32,"skipped":0,"pct":59.26},"functions":{"total":13,"covered":6,"skipped":0,"pct":46.15},"statements":{"total":54,"covered":32,"skipped":0,"pct":59.26},"branches":{"total":53,"covered":36,"skipped":0,"pct":67.92}} ,"/Users/jfhenon/Work/svgedit/src/editor/dialogs/se-elix/src/plain/PlainNumberSpinBox.js": {"lines":{"total":0,"covered":0,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":0,"covered":0,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} ,"/Users/jfhenon/Work/svgedit/src/editor/extensions/ext-eyedropper/ext-eyedropper.js": {"lines":{"total":60,"covered":39,"skipped":0,"pct":65},"functions":{"total":8,"covered":5,"skipped":0,"pct":62.5},"statements":{"total":71,"covered":39,"skipped":0,"pct":54.93},"branches":{"total":39,"covered":14,"skipped":0,"pct":35.9}} ,"/Users/jfhenon/Work/svgedit/src/editor/extensions/ext-eyedropper/locale/en.js": {"lines":{"total":0,"covered":0,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":0,"covered":0,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/Users/jfhenon/Work/svgedit/src/editor/extensions/ext-grid/ext-grid.js": {"lines":{"total":88,"covered":43,"skipped":0,"pct":48.86},"functions":{"total":8,"covered":4,"skipped":0,"pct":50},"statements":{"total":90,"covered":43,"skipped":0,"pct":47.78},"branches":{"total":10,"covered":4,"skipped":0,"pct":40}} +,"/Users/jfhenon/Work/svgedit/src/editor/extensions/ext-grid/ext-grid.js": {"lines":{"total":88,"covered":42,"skipped":0,"pct":47.73},"functions":{"total":8,"covered":3,"skipped":0,"pct":37.5},"statements":{"total":90,"covered":42,"skipped":0,"pct":46.67},"branches":{"total":10,"covered":3,"skipped":0,"pct":30}} ,"/Users/jfhenon/Work/svgedit/src/editor/extensions/ext-grid/locale/en.js": {"lines":{"total":0,"covered":0,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":0,"covered":0,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/Users/jfhenon/Work/svgedit/src/editor/extensions/ext-markers/ext-markers.js": {"lines":{"total":149,"covered":45,"skipped":0,"pct":30.2},"functions":{"total":21,"covered":12,"skipped":0,"pct":57.14},"statements":{"total":164,"covered":47,"skipped":0,"pct":28.66},"branches":{"total":80,"covered":21,"skipped":0,"pct":26.25}} -,"/Users/jfhenon/Work/svgedit/src/editor/extensions/ext-opensave/ext-opensave.js": {"lines":{"total":136,"covered":36,"skipped":0,"pct":26.47},"functions":{"total":13,"covered":3,"skipped":0,"pct":23.08},"statements":{"total":140,"covered":36,"skipped":0,"pct":25.71},"branches":{"total":32,"covered":0,"skipped":0,"pct":0}} +,"/Users/jfhenon/Work/svgedit/src/editor/extensions/ext-markers/ext-markers.js": {"lines":{"total":149,"covered":46,"skipped":0,"pct":30.87},"functions":{"total":21,"covered":12,"skipped":0,"pct":57.14},"statements":{"total":164,"covered":48,"skipped":0,"pct":29.27},"branches":{"total":80,"covered":22,"skipped":0,"pct":27.5}} +,"/Users/jfhenon/Work/svgedit/src/editor/extensions/ext-opensave/ext-opensave.js": {"lines":{"total":136,"covered":36,"skipped":0,"pct":26.47},"functions":{"total":13,"covered":3,"skipped":0,"pct":23.08},"statements":{"total":141,"covered":36,"skipped":0,"pct":25.53},"branches":{"total":32,"covered":0,"skipped":0,"pct":0}} ,"/Users/jfhenon/Work/svgedit/src/editor/extensions/ext-opensave/locale/en.js": {"lines":{"total":0,"covered":0,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":0,"covered":0,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} ,"/Users/jfhenon/Work/svgedit/src/editor/extensions/ext-panning/ext-panning.js": {"lines":{"total":30,"covered":22,"skipped":0,"pct":73.33},"functions":{"total":7,"covered":6,"skipped":0,"pct":85.71},"statements":{"total":30,"covered":22,"skipped":0,"pct":73.33},"branches":{"total":6,"covered":2,"skipped":0,"pct":33.33}} ,"/Users/jfhenon/Work/svgedit/src/editor/extensions/ext-panning/locale/en.js": {"lines":{"total":0,"covered":0,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":0,"covered":0,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} ,"/Users/jfhenon/Work/svgedit/src/editor/extensions/ext-polystar/ext-polystar.js": {"lines":{"total":247,"covered":63,"skipped":0,"pct":25.51},"functions":{"total":18,"covered":8,"skipped":0,"pct":44.44},"statements":{"total":256,"covered":63,"skipped":0,"pct":24.61},"branches":{"total":62,"covered":10,"skipped":0,"pct":16.13}} ,"/Users/jfhenon/Work/svgedit/src/editor/extensions/ext-polystar/locale/en.js": {"lines":{"total":0,"covered":0,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":0,"covered":0,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/Users/jfhenon/Work/svgedit/src/editor/extensions/ext-shapes/ext-shapes.js": {"lines":{"total":76,"covered":74,"skipped":0,"pct":97.37},"functions":{"total":7,"covered":7,"skipped":0,"pct":100},"statements":{"total":80,"covered":78,"skipped":0,"pct":97.5},"branches":{"total":26,"covered":17,"skipped":0,"pct":65.38}} +,"/Users/jfhenon/Work/svgedit/src/editor/extensions/ext-shapes/ext-shapes.js": {"lines":{"total":76,"covered":26,"skipped":0,"pct":34.21},"functions":{"total":7,"covered":6,"skipped":0,"pct":85.71},"statements":{"total":80,"covered":29,"skipped":0,"pct":36.25},"branches":{"total":26,"covered":4,"skipped":0,"pct":15.38}} ,"/Users/jfhenon/Work/svgedit/src/editor/extensions/ext-shapes/locale/en.js": {"lines":{"total":0,"covered":0,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":0,"covered":0,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/Users/jfhenon/Work/svgedit/src/editor/extensions/ext-storage/ext-storage.js": {"lines":{"total":91,"covered":35,"skipped":0,"pct":38.46},"functions":{"total":12,"covered":4,"skipped":0,"pct":33.33},"statements":{"total":91,"covered":35,"skipped":0,"pct":38.46},"branches":{"total":68,"covered":15,"skipped":0,"pct":22.06}} +,"/Users/jfhenon/Work/svgedit/src/editor/extensions/ext-storage/ext-storage.js": {"lines":{"total":91,"covered":37,"skipped":0,"pct":40.66},"functions":{"total":12,"covered":5,"skipped":0,"pct":41.67},"statements":{"total":91,"covered":37,"skipped":0,"pct":40.66},"branches":{"total":68,"covered":16,"skipped":0,"pct":23.53}} ,"/Users/jfhenon/Work/svgedit/src/editor/extensions/ext-storage/storageDialog.js": {"lines":{"total":60,"covered":56,"skipped":0,"pct":93.33},"functions":{"total":10,"covered":7,"skipped":0,"pct":70},"statements":{"total":62,"covered":57,"skipped":0,"pct":91.94},"branches":{"total":15,"covered":13,"skipped":0,"pct":86.67}} ,"/Users/jfhenon/Work/svgedit/src/editor/locale/lang.en.js": {"lines":{"total":0,"covered":0,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":0,"covered":0,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} -,"/Users/jfhenon/Work/svgedit/src/editor/panels/BottomPanel.js": {"lines":{"total":71,"covered":39,"skipped":0,"pct":54.93},"functions":{"total":22,"covered":8,"skipped":0,"pct":36.36},"statements":{"total":77,"covered":40,"skipped":0,"pct":51.95},"branches":{"total":30,"covered":5,"skipped":0,"pct":16.67}} +,"/Users/jfhenon/Work/svgedit/src/editor/panels/BottomPanel.js": {"lines":{"total":71,"covered":41,"skipped":0,"pct":57.75},"functions":{"total":22,"covered":8,"skipped":0,"pct":36.36},"statements":{"total":77,"covered":42,"skipped":0,"pct":54.55},"branches":{"total":30,"covered":9,"skipped":0,"pct":30}} ,"/Users/jfhenon/Work/svgedit/src/editor/panels/LayersPanel.js": {"lines":{"total":157,"covered":70,"skipped":0,"pct":44.59},"functions":{"total":27,"covered":6,"skipped":0,"pct":22.22},"statements":{"total":163,"covered":71,"skipped":0,"pct":43.56},"branches":{"total":46,"covered":6,"skipped":0,"pct":13.04}} ,"/Users/jfhenon/Work/svgedit/src/editor/panels/LeftPanel.js": {"lines":{"total":58,"covered":29,"skipped":0,"pct":50},"functions":{"total":20,"covered":6,"skipped":0,"pct":30},"statements":{"total":59,"covered":29,"skipped":0,"pct":49.15},"branches":{"total":32,"covered":3,"skipped":0,"pct":9.38}} -,"/Users/jfhenon/Work/svgedit/src/editor/panels/TopPanel.js": {"lines":{"total":391,"covered":180,"skipped":0,"pct":46.04},"functions":{"total":73,"covered":19,"skipped":0,"pct":26.03},"statements":{"total":411,"covered":182,"skipped":0,"pct":44.28},"branches":{"total":207,"covered":58,"skipped":0,"pct":28.02}} +,"/Users/jfhenon/Work/svgedit/src/editor/panels/TopPanel.js": {"lines":{"total":391,"covered":193,"skipped":0,"pct":49.36},"functions":{"total":73,"covered":19,"skipped":0,"pct":26.03},"statements":{"total":411,"covered":195,"skipped":0,"pct":47.45},"branches":{"total":207,"covered":66,"skipped":0,"pct":31.88}} } diff --git a/cypress.config.js b/cypress.config.js deleted file mode 100644 index ae3a1044..00000000 --- a/cypress.config.js +++ /dev/null @@ -1,18 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - video: false, - defaultCommandTimeout: 10000, - pageLoadTimeout: 120000, - includeShadowDom: true, - scrollBehavior: false, - e2e: { - // We've imported your old cypress plugins here. - // You may want to clean this up later by importing these. - setupNodeEvents (on, config) { - return require('./cypress/plugins/index.js')(on, config) - }, - baseUrl: 'http://localhost:8000', - excludeSpecPattern: ['**/__snapshots__/*', '**/__image_snapshots__/*'] - } -}) diff --git a/cypress.config.mjs b/cypress.config.mjs new file mode 100644 index 00000000..61ea9900 --- /dev/null +++ b/cypress.config.mjs @@ -0,0 +1,45 @@ +import { defineConfig } from 'cypress' + +import fs from 'fs' +import codeCoverageTask from '@cypress/code-coverage/task.js' + +export default defineConfig({ + video: false, + defaultCommandTimeout: 10000, + pageLoadTimeout: 120000, + includeShadowDom: true, + scrollBehavior: false, + e2e: { + // We've imported your old cypress plugins here. + // You may want to clean this up later by importing these. + setupNodeEvents (on, config) { + // `on` is used to hook into various events Cypress emits + // `config` is the resolved Cypress config + + // `on` is used to hook into various events Cypress emits + // `config` is the resolved Cypress config + + // https://docs.cypress.io/guides/tooling/code-coverage.html#Install-the-plugin + codeCoverageTask(on, config) + + on('task', { + readFileMaybe (filename) { + if (fs.existsSync(filename)) { + return fs.readFileSync(filename, 'utf8') + } + + return null + } + }) + + return config + }, + env: { + codeCoverage: { + exclude: 'cypress/**/*.*' + } + }, + baseUrl: 'http://localhost:8000', + excludeSpecPattern: ['**/__snapshots__/*', '**/__image_snapshots__/*'] + } +}) diff --git a/cypress/e2e/unit/contextmenu.cy.js b/cypress/e2e/unit/contextmenu.cy.js index 6bc728fb..056d6d79 100644 --- a/cypress/e2e/unit/contextmenu.cy.js +++ b/cypress/e2e/unit/contextmenu.cy.js @@ -1,4 +1,4 @@ -import * as contextmenu from '../../../instrumented/editor/contextmenu.js' +import * as contextmenu from '../../../src/editor/contextmenu.js' describe('contextmenu', function () { /** diff --git a/cypress/e2e/unit/coords.cy.js b/cypress/e2e/unit/coords.cy.js index 8b99e700..2a8f7fc0 100644 --- a/cypress/e2e/unit/coords.cy.js +++ b/cypress/e2e/unit/coords.cy.js @@ -1,6 +1,6 @@ -import { NS } from '../../../instrumented/svgcanvas/namespaces.js' -import * as utilities from '../../../instrumented/svgcanvas/utilities.js' -import * as coords from '../../../instrumented/svgcanvas/coords.js' +import { NS } from '../../../packages/svgcanvas/core/namespaces.js' +import * as utilities from '../../../packages/svgcanvas/core/utilities.js' +import * as coords from '../../../packages/svgcanvas/core/coords.js' describe('coords', function () { let elemId = 1 diff --git a/cypress/e2e/unit/draw.cy.js b/cypress/e2e/unit/draw.cy.js index f88ae3dc..af49b76e 100644 --- a/cypress/e2e/unit/draw.cy.js +++ b/cypress/e2e/unit/draw.cy.js @@ -1,7 +1,7 @@ import 'pathseg' -import { NS } from '../../../instrumented/svgcanvas/namespaces.js' -import * as draw from '../../../instrumented/svgcanvas/draw.js' -import * as units from '../../../instrumented/svgcanvas/units.js' +import { NS } from '../../../packages/svgcanvas/core/namespaces.js' +import * as draw from '../../../packages/svgcanvas/core/draw.js' +import * as units from '../../../packages/svgcanvas/core/units.js' describe('draw.Drawing', function () { const addOwnSpies = (obj) => { diff --git a/cypress/e2e/unit/history.cy.js b/cypress/e2e/unit/history.cy.js index 0c2f943d..bbbad8ba 100644 --- a/cypress/e2e/unit/history.cy.js +++ b/cypress/e2e/unit/history.cy.js @@ -1,6 +1,6 @@ -import { NS } from '../../../instrumented/svgcanvas/namespaces.js' -import * as utilities from '../../../instrumented/svgcanvas/utilities.js' -import * as history from '../../../instrumented/svgcanvas/history.js' +import { NS } from '../../../packages/svgcanvas/core/namespaces.js' +import * as utilities from '../../../packages/svgcanvas/core/utilities.js' +import * as history from '../../../packages/svgcanvas/core/history.js' describe('history', function () { // TODO(codedread): Write tests for handling history events. diff --git a/cypress/e2e/unit/math.cy.js b/cypress/e2e/unit/math.cy.js index a0de7a97..a3a4ebc3 100644 --- a/cypress/e2e/unit/math.cy.js +++ b/cypress/e2e/unit/math.cy.js @@ -1,5 +1,5 @@ -import { NS } from '../../../instrumented/svgcanvas/namespaces.js' -import * as math from '../../../instrumented/svgcanvas/math.js' +import { NS } from '../../../packages/svgcanvas/core/namespaces.js' +import * as math from '../../../packages/svgcanvas/core/math.js' describe('math', function () { const svg = document.createElementNS(NS.SVG, 'svg') diff --git a/cypress/e2e/unit/path.cy.js b/cypress/e2e/unit/path.cy.js index 5bd58c5d..201063dd 100644 --- a/cypress/e2e/unit/path.cy.js +++ b/cypress/e2e/unit/path.cy.js @@ -1,10 +1,10 @@ /* globals SVGPathSeg */ import 'pathseg' -import { NS } from '../../../instrumented/svgcanvas/namespaces.js' -import * as utilities from '../../../instrumented/svgcanvas/utilities.js' -import * as pathModule from '../../../instrumented/svgcanvas/path.js' -import { Path, Segment } from '../../../instrumented/svgcanvas/path-method.js' -import { init as unitsInit } from '../../../instrumented/svgcanvas/units.js' +import { NS } from '../../../packages/svgcanvas/core/namespaces.js' +import * as utilities from '../../../packages/svgcanvas/core/utilities.js' +import * as pathModule from '../../../packages/svgcanvas/core/path.js' +import { Path, Segment } from '../../../packages/svgcanvas/core/path-method.js' +import { init as unitsInit } from '../../../packages/svgcanvas/core/units.js' describe('path', function () { /** diff --git a/cypress/e2e/unit/recalculate.cy.js b/cypress/e2e/unit/recalculate.cy.js index c646bb58..dab7f0bf 100644 --- a/cypress/e2e/unit/recalculate.cy.js +++ b/cypress/e2e/unit/recalculate.cy.js @@ -1,7 +1,7 @@ -import { NS } from '../../../instrumented/svgcanvas/namespaces.js' -import * as utilities from '../../../instrumented/svgcanvas/utilities.js' -import * as coords from '../../../instrumented/svgcanvas/coords.js' -import * as recalculate from '../../../instrumented/svgcanvas/recalculate.js' +import { NS } from '../../../packages/svgcanvas/core/namespaces.js' +import * as utilities from '../../../packages/svgcanvas/core/utilities.js' +import * as coords from '../../../packages/svgcanvas/core/coords.js' +import * as recalculate from '../../../packages/svgcanvas/core/recalculate.js' describe('recalculate', function () { const root = document.createElement('div') diff --git a/cypress/e2e/unit/sanitize.cy.js b/cypress/e2e/unit/sanitize.cy.js index bb028a2d..cf7b2814 100644 --- a/cypress/e2e/unit/sanitize.cy.js +++ b/cypress/e2e/unit/sanitize.cy.js @@ -1,5 +1,5 @@ -import { NS } from '../../../instrumented/svgcanvas/namespaces.js' -import * as sanitize from '../../../instrumented/svgcanvas/sanitize.js' +import { NS } from '../../../packages/svgcanvas/core/namespaces.js' +import * as sanitize from '../../../packages/svgcanvas/core/sanitize.js' describe('sanitize', function () { const svg = document.createElementNS(NS.SVG, 'svg') diff --git a/cypress/e2e/unit/select.cy.js b/cypress/e2e/unit/select.cy.js index 71e88f5c..59ca9064 100644 --- a/cypress/e2e/unit/select.cy.js +++ b/cypress/e2e/unit/select.cy.js @@ -1,5 +1,5 @@ -import * as select from '../../../instrumented/svgcanvas/select.js' -import { NS } from '../../../instrumented/svgcanvas/namespaces.js' +import * as select from '../../../packages/svgcanvas/core/select.js' +import { NS } from '../../../packages/svgcanvas/core/namespaces.js' describe('select', function () { const sandbox = document.createElement('div') diff --git a/cypress/e2e/unit/test1.cy.js b/cypress/e2e/unit/test1.cy.js index 60f866cd..11ec9d0a 100644 --- a/cypress/e2e/unit/test1.cy.js +++ b/cypress/e2e/unit/test1.cy.js @@ -1,5 +1,5 @@ /* eslint-disable max-len, no-console */ -import SvgCanvas from '../../../instrumented/svgcanvas/svgcanvas.js' +import SvgCanvas from '../../../packages/svgcanvas/svgcanvas.js' describe('Basic Module', function () { // helper functions @@ -148,7 +148,7 @@ describe('Basic Module', function () { it('Test importing/exporting namespaced attributes', function () { /* const setStr = */ svgCanvas.setSvgString( '' + - '' + + '' + '' + '' ) diff --git a/cypress/e2e/unit/units.cy.js b/cypress/e2e/unit/units.cy.js index 818d714d..9b01c3a3 100644 --- a/cypress/e2e/unit/units.cy.js +++ b/cypress/e2e/unit/units.cy.js @@ -1,4 +1,4 @@ -import * as units from '../../../instrumented/svgcanvas/units.js' +import * as units from '.../../../packages/svgcanvas/core/units.js' describe('units', function () { /** diff --git a/cypress/e2e/unit/utilities-bbox.cy.js b/cypress/e2e/unit/utilities-bbox.cy.js index b76310c3..9e5913d8 100644 --- a/cypress/e2e/unit/utilities-bbox.cy.js +++ b/cypress/e2e/unit/utilities-bbox.cy.js @@ -1,9 +1,9 @@ import 'pathseg' -import { NS } from '../../../instrumented/svgcanvas/namespaces.js' -import * as utilities from '../../../instrumented/svgcanvas/utilities.js' -import * as math from '../../../instrumented/svgcanvas/math.js' -import * as path from '../../../instrumented/svgcanvas/path.js' +import { NS } from '../../../packages/svgcanvas/core/namespaces.js' +import * as utilities from '../../../packages/svgcanvas/core/utilities.js' +import * as math from '../../../packages/svgcanvas/core/math.js' +import * as path from '../../../packages/svgcanvas/core/path.js' import setAssertionMethods from '../../support/assert-close.js' // eslint-disable-next-line diff --git a/cypress/e2e/unit/utilities-performance.cy.js b/cypress/e2e/unit/utilities-performance.cy.js index 49536cc7..72a3c10f 100644 --- a/cypress/e2e/unit/utilities-performance.cy.js +++ b/cypress/e2e/unit/utilities-performance.cy.js @@ -1,9 +1,9 @@ /* eslint-disable max-len, no-console */ import 'pathseg' -import { NS } from '../../../instrumented/svgcanvas/namespaces.js' -import * as utilities from '../../../instrumented/svgcanvas/utilities.js' -import * as math from '../../../instrumented/svgcanvas/math.js' +import { NS } from '../../../packages/svgcanvas/core/namespaces.js' +import * as utilities from '../../../packages/svgcanvas/core/utilities.js' +import * as math from '../../../packages/svgcanvas/core/math.js' describe('utilities performance', function () { let currentLayer; let groupWithMatrixTransform; let textWithMatrixTransform diff --git a/cypress/e2e/unit/utilities.cy.js b/cypress/e2e/unit/utilities.cy.js index 4ae3a675..f73e3f76 100644 --- a/cypress/e2e/unit/utilities.cy.js +++ b/cypress/e2e/unit/utilities.cy.js @@ -1,5 +1,5 @@ -import * as utilities from '../../../instrumented/svgcanvas/utilities.js' -import { NS } from '../../../instrumented/svgcanvas/namespaces.js' +import * as utilities from '../../../packages/svgcanvas/core/utilities.js' +import { NS } from '../../../packages/svgcanvas/core/namespaces.js' describe('utilities', function () { /** diff --git a/cypress/plugins/index.js b/cypress/plugins/index.js index e4ddb633..28e7dca3 100644 --- a/cypress/plugins/index.js +++ b/cypress/plugins/index.js @@ -10,7 +10,4 @@ // https://on.cypress.io/plugins-guide // *********************************************************** -require('@babel/register')({ - plugins: ['@babel/plugin-transform-modules-commonjs'] -}) module.exports = require('./main.js').default diff --git a/cypress/replace-in-file.config.js b/cypress/replace-in-file.config.js deleted file mode 100644 index c8b3808e..00000000 --- a/cypress/replace-in-file.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const options = { - files: 'instrumented/**', - from: "import SvgCanvas from '@svgedit/svgcanvas';", - to: "import SvgCanvas from '/instrumented/svgcanvas/svgcanvas.js'" -} - -module.exports = options diff --git a/cypress/support/ui-test-helper.js b/cypress/support/ui-test-helper.js index 1b36b603..03814743 100644 --- a/cypress/support/ui-test-helper.js +++ b/cypress/support/ui-test-helper.js @@ -1,5 +1,5 @@ export const visitAndApproveStorage = () => { - cy.visit('/instrumented/editor/index.html') + cy.visit('/src/editor/index.html') cy.get('#storage_ok').click() } diff --git a/nyc.config.js b/nyc.config.js index 61519584..1fc63fff 100644 --- a/nyc.config.js +++ b/nyc.config.js @@ -4,13 +4,17 @@ module.exports = { branches: 34, lines: 46, functions: 45, - // "excludeNodeModules": false, + excludeNodeModules: true, extension: ['.js', '.html', '.json', '.css', '.svg', '.png', '.gif'], exclude: [ 'editor/jquery.min.js', 'editor/jgraduate/**', 'editor/react-extensions/react-test' ], + include: [ + 'src/**', + 'packages/svgcanvas/**' + ], reporter: [ 'json-summary', 'text', diff --git a/package-lock.json b/package-lock.json index 30644fea..0fd6c9a9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,50 +1,52 @@ { "name": "svgedit", - "version": "7.2.0", + "version": "7.3.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "svgedit", - "version": "7.2.0", + "version": "7.3.0", "license": "(MIT AND Apache-2.0 AND ISC AND LGPL-3.0-or-later AND X11)", "workspaces": [ "packages/svgcanvas" ], "dependencies": { - "@svgedit/svgcanvas": "7.1.6", + "@svgedit/svgcanvas": "7.2.0", "browser-fs-access": "0.31.1", - "core-js": "3.25.5", + "core-js": "3.26.1", "elix": "15.0.1", "html2canvas": "1.4.1", - "i18next": "21.10.0", + "i18next": "22.0.6", "jspdf": "2.5.1", "pathseg": "1.2.1", - "regenerator-runtime": "0.13.10", + "regenerator-runtime": "0.13.11", "replace-in-file": "^6.3.5", "svg2pdf.js": "2.2.1" }, "devDependencies": { - "@babel/core": "7.19.3", - "@babel/preset-env": "7.19.4", + "@babel/core": "7.20.2", + "@babel/preset-env": "7.20.2", "@babel/register": "7.18.9", - "@babel/runtime-corejs3": "7.19.4", + "@babel/runtime-corejs3": "7.20.1", "@cypress/code-coverage": "3.10.0", - "@rollup/plugin-babel": "6.0.0", - "@rollup/plugin-commonjs": "^21", - "@rollup/plugin-dynamic-import-vars": "2.0.0", - "@rollup/plugin-node-resolve": "15.0.0", - "@rollup/plugin-replace": "5.0.0", - "@rollup/plugin-url": "8.0.0", - "@web/dev-server": "0.1.34", + "@rollup/plugin-babel": "^6.0.3", + "@rollup/plugin-commonjs": "^23", + "@rollup/plugin-dynamic-import-vars": "2.0.1", + "@rollup/plugin-node-resolve": "15.0.1", + "@rollup/plugin-replace": "5.0.1", + "@rollup/plugin-url": "8.0.1", + "@web/dev-server": "0.1.35", + "@web/dev-server-esbuild": "^0.3.3", "@web/dev-server-rollup": "0.3.19", + "babel-plugin-istanbul": "^6.1.1", "babel-plugin-transform-object-rest-spread": "7.0.0-beta.3", - "core-js-bundle": "3.25.5", + "core-js-bundle": "3.26.1", "cp-cli": "2.0.0", - "cypress": "10.10.0", + "cypress": "11.2.0", "cypress-multi-reporters": "1.6.1", "jamilih": "0.54.0", - "jsdoc": "3.6.11", + "jsdoc": "4.0.0", "node-static": "0.7.11", "npm-run-all": "4.1.5", "nyc": "15.1.0", @@ -55,7 +57,7 @@ "remark-cli": "11.0.0", "remark-lint-ordered-list-marker-value": "3.1.1", "rimraf": "3.0.2", - "rollup": "^2", + "rollup": "3.5.0", "rollup-plugin-copy": "3.4.0", "rollup-plugin-filesize": "9.1.2", "rollup-plugin-html": "0.2.1", @@ -95,30 +97,30 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.4.tgz", - "integrity": "sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw==", + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.1.tgz", + "integrity": "sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", - "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.2.tgz", + "integrity": "sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.3", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-module-transforms": "^7.19.0", - "@babel/helpers": "^7.19.0", - "@babel/parser": "^7.19.3", + "@babel/generator": "^7.20.2", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-module-transforms": "^7.20.2", + "@babel/helpers": "^7.20.1", + "@babel/parser": "^7.20.2", "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.3", - "@babel/types": "^7.19.3", + "@babel/traverse": "^7.20.1", + "@babel/types": "^7.20.2", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -169,12 +171,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.19.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.5.tgz", - "integrity": "sha512-DxbNz9Lz4aMZ99qPpO1raTbcrI1ZeYh+9NR9qhfkQIbFtVEqotHojEBxHzmxhVONkGt6VyrqVQcgpefMy9pqcg==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.2.tgz", + "integrity": "sha512-SD75PMIK6i9H8G/tfGvB4KKl4Nw6Ssos9nGgYwxbgyTP0iX/Z55DveoH86rmUB/YHTQQ+ZC0F7xxaY8l2OF44Q==", "dev": true, "dependencies": { - "@babel/types": "^7.19.4", + "@babel/types": "^7.20.2", "@jridgewell/gen-mapping": "^0.3.2", "jsesc": "^2.5.1" }, @@ -210,12 +212,12 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz", - "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", + "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.19.3", + "@babel/compat-data": "^7.20.0", "@babel/helper-validator-option": "^7.18.6", "browserslist": "^4.21.3", "semver": "^6.3.0" @@ -400,19 +402,19 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", - "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", + "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" + "@babel/traverse": "^7.20.1", + "@babel/types": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -432,9 +434,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", - "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", "dev": true, "engines": { "node": ">=6.9.0" @@ -460,30 +462,28 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz", - "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", + "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-member-expression-to-functions": "^7.18.9", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/traverse": "^7.19.1", + "@babel/types": "^7.19.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -560,14 +560,14 @@ } }, "node_modules/@babel/helpers": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", - "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.1.tgz", + "integrity": "sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==", "dev": true, "dependencies": { "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" + "@babel/traverse": "^7.20.1", + "@babel/types": "^7.20.0" }, "engines": { "node": ">=6.9.0" @@ -589,9 +589,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.4.tgz", - "integrity": "sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.2.tgz", + "integrity": "sha512-afk318kh2uKbo7BEj2QtEi8HVCGrwHUffrYDy7dgVcSa2j9lY3LDjPzcyGdpX7xgm35aWqvciZJ4WKmdF/SxYg==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -635,9 +635,9 @@ } }, "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz", - "integrity": "sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q==", + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz", + "integrity": "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.18.9", @@ -790,16 +790,16 @@ } }, "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.19.4.tgz", - "integrity": "sha512-wHmj6LDxVDnL+3WhXteUBaoM1aVILZODAUjg11kHqG4cOlfgMQGxw6aCgvrXrmaJR3Bn14oZhImyCPZzRpC93Q==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.2.tgz", + "integrity": "sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.19.4", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-plugin-utils": "^7.19.0", + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.18.8" + "@babel/plugin-transform-parameters": "^7.20.1" }, "engines": { "node": ">=6.9.0" @@ -964,13 +964,12 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", - "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -1152,12 +1151,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.19.4.tgz", - "integrity": "sha512-934S2VLLlt2hRJwPf4MczaOr4hYF0z+VKPwqTNxyKX7NthTiPfhuKFWQZHXRM0vh/wo/VyXB3s4bZUNA08l+tQ==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.2.tgz", + "integrity": "sha512-y5V15+04ry69OV2wULmwhEA6jwSWXO1TwAtIwiPXcvHcoOQUqpyMVd2bDsQJMW8AurjulIyUV8kDqtjSwHy1uQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" + "@babel/helper-plugin-utils": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -1167,18 +1166,18 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz", - "integrity": "sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz", + "integrity": "sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.19.0", + "@babel/helper-compilation-targets": "^7.20.0", "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-function-name": "^7.19.0", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.19.1", "@babel/helper-split-export-declaration": "^7.18.6", "globals": "^11.1.0" }, @@ -1206,12 +1205,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.19.4.tgz", - "integrity": "sha512-t0j0Hgidqf0aM86dF8U+vXYReUgJnlv4bZLsyoPnwZNrGY+7/38o8YjaELrvHeVfTZao15kjR0PVv0nju2iduA==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz", + "integrity": "sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" + "@babel/helper-plugin-utils": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -1337,15 +1336,13 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", - "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz", + "integrity": "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -1355,16 +1352,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", - "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz", + "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-simple-access": "^7.19.4" }, "engines": { "node": ">=6.9.0" @@ -1374,16 +1369,15 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz", - "integrity": "sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A==", + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz", + "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==", "dev": true, "dependencies": { "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.19.0", + "@babel/helper-module-transforms": "^7.19.6", "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-validator-identifier": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-validator-identifier": "^7.19.1" }, "engines": { "node": ">=6.9.0" @@ -1459,12 +1453,12 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", - "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.1.tgz", + "integrity": "sha512-nDvKLrAvl+kf6BOy1UJ3MGwzzfTMgppxwiD2Jb4LO3xjYyZq30oQzDNJbCQpMdG9+j2IXHoiMrw5Cm/L6ZoxXQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -1636,18 +1630,18 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.4.tgz", - "integrity": "sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.19.4", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-plugin-utils": "^7.19.0", + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/helper-validator-option": "^7.18.6", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.19.1", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-class-static-block": "^7.18.6", "@babel/plugin-proposal-dynamic-import": "^7.18.6", @@ -1656,7 +1650,7 @@ "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.19.4", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", "@babel/plugin-proposal-optional-chaining": "^7.18.9", "@babel/plugin-proposal-private-methods": "^7.18.6", @@ -1667,7 +1661,7 @@ "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.18.6", + "@babel/plugin-syntax-import-assertions": "^7.20.0", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", @@ -1680,10 +1674,10 @@ "@babel/plugin-transform-arrow-functions": "^7.18.6", "@babel/plugin-transform-async-to-generator": "^7.18.6", "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.19.4", - "@babel/plugin-transform-classes": "^7.19.0", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.19.4", + "@babel/plugin-transform-destructuring": "^7.20.2", "@babel/plugin-transform-dotall-regex": "^7.18.6", "@babel/plugin-transform-duplicate-keys": "^7.18.9", "@babel/plugin-transform-exponentiation-operator": "^7.18.6", @@ -1691,14 +1685,14 @@ "@babel/plugin-transform-function-name": "^7.18.9", "@babel/plugin-transform-literals": "^7.18.9", "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.18.6", - "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@babel/plugin-transform-modules-systemjs": "^7.19.0", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", "@babel/plugin-transform-modules-umd": "^7.18.6", "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", "@babel/plugin-transform-new-target": "^7.18.6", "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.18.8", + "@babel/plugin-transform-parameters": "^7.20.1", "@babel/plugin-transform-property-literals": "^7.18.6", "@babel/plugin-transform-regenerator": "^7.18.6", "@babel/plugin-transform-reserved-words": "^7.18.6", @@ -1710,7 +1704,7 @@ "@babel/plugin-transform-unicode-escapes": "^7.18.10", "@babel/plugin-transform-unicode-regex": "^7.18.6", "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.19.4", + "@babel/types": "^7.20.2", "babel-plugin-polyfill-corejs2": "^0.3.3", "babel-plugin-polyfill-corejs3": "^0.6.0", "babel-plugin-polyfill-regenerator": "^0.4.1", @@ -1784,13 +1778,13 @@ } }, "node_modules/@babel/runtime-corejs3": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.19.4.tgz", - "integrity": "sha512-HzjQ8+dzdx7dmZy4DQ8KV8aHi/74AjEbBGTFutBmg/pd3dY5/q1sfuOGPTFGEytlQhWoeVXqcK5BwMgIkRkNDQ==", + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.20.1.tgz", + "integrity": "sha512-CGulbEDcg/ND1Im7fUNRZdGXmX2MTWVVZacQi/6DiKE5HNwZ3aVTm5PV4lO8HHz0B2h8WQyvKKjbX5XgTtydsg==", "dev": true, "dependencies": { "core-js-pure": "^3.25.1", - "regenerator-runtime": "^0.13.4" + "regenerator-runtime": "^0.13.10" }, "engines": { "node": ">=6.9.0" @@ -1812,19 +1806,19 @@ } }, "node_modules/@babel/traverse": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.4.tgz", - "integrity": "sha512-w3K1i+V5u2aJUOXBFFC5pveFLmtq1s3qcdDNC2qRI6WPBQIDaKFqXxDEqDO/h1dQ3HjsZoZMyIy6jGLq0xtw+g==", + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.1.tgz", + "integrity": "sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==", "dev": true, "dependencies": { "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.4", + "@babel/generator": "^7.20.1", "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-function-name": "^7.19.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.19.4", - "@babel/types": "^7.19.4", + "@babel/parser": "^7.20.1", + "@babel/types": "^7.20.0", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -1850,9 +1844,9 @@ "license": "MIT" }, "node_modules/@babel/types": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.4.tgz", - "integrity": "sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz", + "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==", "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.19.4", @@ -2179,6 +2173,22 @@ "dev": true, "license": "MIT" }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz", + "integrity": "sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@eslint/eslintrc": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.3.tgz", @@ -2481,6 +2491,24 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, + "node_modules/@jsdoc/salty": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.1.tgz", + "integrity": "sha512-JXwylDNSHa549N9uceDYu8D4GMXwSo3H8CCPYEQqxhhHpxD28+lRl2b3bS/caaPj5w1YD3SWtrficJNTnUjGpg==", + "dev": true, + "dependencies": { + "lodash": "^4.17.21" + }, + "engines": { + "node": ">=v12.0.0" + } + }, + "node_modules/@mdn/browser-compat-data": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-4.2.1.tgz", + "integrity": "sha512-EWUguj2kd7ldmrF9F+vI5hUOralPd+sdsUnYbRy33vZTuZkduC1shE9TtEMEjAQwyfyMb4ole5KtjF8MsnQOlA==", + "dev": true + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", @@ -2778,13 +2806,13 @@ } }, "node_modules/@rollup/plugin-babel": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-6.0.0.tgz", - "integrity": "sha512-qM8YIt/2fVxw5O0wUgAeglyC+qx9mg3UtCCLoSqetmQOKipmnQ/X3I0L2sjjb6BswaYpv2tun25lHViU7JPxLQ==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-6.0.3.tgz", + "integrity": "sha512-fKImZKppa1A/gX73eg4JGo+8kQr/q1HBQaCGKECZ0v4YBBv3lFqi14+7xyApECzvkLTHCifx+7ntcrvtBIRcpg==", "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.18.6", - "@rollup/pluginutils": "^4.2.1" + "@rollup/pluginutils": "^5.0.1" }, "engines": { "node": ">=14.0.0" @@ -2804,65 +2832,77 @@ } }, "node_modules/@rollup/plugin-commonjs": { - "version": "21.1.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-21.1.0.tgz", - "integrity": "sha512-6ZtHx3VHIp2ReNNDxHjuUml6ur+WcQ28N1yHgCQwsbNkQg2suhxGMDQGJOn/KuDxKtd1xuZP5xSTwBA4GQ8hbA==", + "version": "23.0.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-23.0.2.tgz", + "integrity": "sha512-e9ThuiRf93YlVxc4qNIurvv+Hp9dnD+4PjOqQs5vAYfcZ3+AXSrcdzXnVjWxcGQOa6KGJFcRZyUI3ktWLavFjg==", "dev": true, "dependencies": { - "@rollup/pluginutils": "^3.1.0", + "@rollup/pluginutils": "^5.0.1", "commondir": "^1.0.1", - "estree-walker": "^2.0.1", - "glob": "^7.1.6", - "is-reference": "^1.2.1", - "magic-string": "^0.25.7", - "resolve": "^1.17.0" + "estree-walker": "^2.0.2", + "glob": "^8.0.3", + "is-reference": "1.2.1", + "magic-string": "^0.26.4" }, "engines": { - "node": ">= 8.0.0" + "node": ">=14.0.0" }, "peerDependencies": { - "rollup": "^2.38.3" + "rollup": "^2.68.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/@rollup/plugin-commonjs/node_modules/@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "node_modules/@rollup/plugin-commonjs/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "dependencies": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" + "balanced-match": "^1.0.0" + } + }, + "node_modules/@rollup/plugin-commonjs/node_modules/glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": ">= 8.0.0" + "node": ">=12" }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@rollup/plugin-commonjs/node_modules/@rollup/pluginutils/node_modules/estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true - }, - "node_modules/@rollup/plugin-commonjs/node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "node_modules/@rollup/plugin-commonjs/node_modules/minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", "dev": true, "dependencies": { - "sourcemap-codec": "^1.4.8" + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" } }, "node_modules/@rollup/plugin-dynamic-import-vars": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-dynamic-import-vars/-/plugin-dynamic-import-vars-2.0.0.tgz", - "integrity": "sha512-aLYVrwiqshtMtZ+48TaNI3JUPonU0RSXPQXaQVtoei2tPsdg/HOd+OXzJUNqvw7amavPflhbqHbebSNiTyOjZA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-dynamic-import-vars/-/plugin-dynamic-import-vars-2.0.1.tgz", + "integrity": "sha512-//rFVnJhZqR1Bje7n9ZMlmX9M62AExcLVXmbTcq80CqFx97C6CXaghLYsPzcZ7w8JhbVdjBIRADyLNel0HHorg==", "dev": true, "dependencies": { - "@rollup/pluginutils": "^4.2.1", + "@rollup/pluginutils": "^5.0.1", "estree-walker": "^2.0.2", "fast-glob": "^3.2.12", "magic-string": "^0.26.4" @@ -2880,12 +2920,12 @@ } }, "node_modules/@rollup/plugin-node-resolve": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.0.tgz", - "integrity": "sha512-iwJbzfTzlzDDQcGmkS7EkCKwe2kSkdBrjX87Fy/KrNjr6UNnLpod0t6X66e502LRe5JJCA4FFqrEscWPnZAkig==", + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.1.tgz", + "integrity": "sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg==", "dev": true, "dependencies": { - "@rollup/pluginutils": "^4.2.1", + "@rollup/pluginutils": "^5.0.1", "@types/resolve": "1.20.2", "deepmerge": "^4.2.2", "is-builtin-module": "^3.2.0", @@ -2911,12 +2951,12 @@ "dev": true }, "node_modules/@rollup/plugin-replace": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-5.0.0.tgz", - "integrity": "sha512-TiPmjMuBjQM+KLWK16O5TAM/eW4yXBYyQ17FbfeNzBC1t2kzX2aXoa8AlS9XTSmg6/2TNvkER1lMEEeN4Lhavw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-5.0.1.tgz", + "integrity": "sha512-Z3MfsJ4CK17BfGrZgvrcp/l6WXoKb0kokULO+zt/7bmcyayokDaQ2K3eDJcRLCTAlp5FPI4/gz9MHAsosz4Rag==", "dev": true, "dependencies": { - "@rollup/pluginutils": "^4.2.1", + "@rollup/pluginutils": "^5.0.1", "magic-string": "^0.26.4" }, "engines": { @@ -2932,12 +2972,12 @@ } }, "node_modules/@rollup/plugin-url": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-url/-/plugin-url-8.0.0.tgz", - "integrity": "sha512-lqTTmhJi3t96J1H7/ILJfCFIODWcAMO70DvshzZQ6HIFNZNU+3atusIcX1Lk52DoTwzFFLXLLASm4sCMyjbMpA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-url/-/plugin-url-8.0.1.tgz", + "integrity": "sha512-8ajztphXb5e19dk3Iwjtm2eSYJR8jFQubZ8pJ1GG2MBMM7/qUedLnZAN+Vt4jqbcT/m27jfjIBocvrzV0giNRw==", "dev": true, "dependencies": { - "@rollup/pluginutils": "^4.2.1", + "@rollup/pluginutils": "^5.0.1", "make-dir": "^3.1.0", "mime": "^3.0.0" }, @@ -2980,18 +3020,33 @@ } }, "node_modules/@rollup/pluginutils": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", - "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", + "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", "dev": true, "dependencies": { - "estree-walker": "^2.0.1", - "picomatch": "^2.2.2" + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": ">= 8.0.0" + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, + "node_modules/@rollup/pluginutils/node_modules/@types/estree": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", + "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", + "dev": true + }, "node_modules/@sideway/address": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.2.tgz", @@ -3468,9 +3523,9 @@ } }, "node_modules/@web/dev-server": { - "version": "0.1.34", - "resolved": "https://registry.npmjs.org/@web/dev-server/-/dev-server-0.1.34.tgz", - "integrity": "sha512-+te6iwxAQign1KyhHpkR/a3+5qw/Obg/XWCES2So6G5LcZ86zIKXbUpWAJuNOqiBV6eGwqEB1AozKr2Jj7gj/Q==", + "version": "0.1.35", + "resolved": "https://registry.npmjs.org/@web/dev-server/-/dev-server-0.1.35.tgz", + "integrity": "sha512-E7TSTSFdGPzhkiE3kIVt8i49gsiAYpJIZHzs1vJmVfdt8U4rsmhE+5roezxZo0hkEw4mNsqj9zCc4Dzqy/IFHg==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.11", @@ -3486,7 +3541,7 @@ "ip": "^1.1.5", "nanocolors": "^0.2.1", "open": "^8.0.2", - "portfinder": "^1.0.28" + "portfinder": "^1.0.32" }, "bin": { "wds": "dist/bin.js", @@ -3649,12 +3704,6 @@ "node": ">=0.12.0" } }, - "node_modules/@web/dev-server-core/node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, "node_modules/@web/dev-server-core/node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -3679,6 +3728,22 @@ "node": ">=8.0" } }, + "node_modules/@web/dev-server-esbuild": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@web/dev-server-esbuild/-/dev-server-esbuild-0.3.3.tgz", + "integrity": "sha512-hB9C8X9NsFWUG2XKT3W+Xcw3IZ/VObf4LNbK14BTjApnNyZfV6hVhSlJfvhgOoJ4DxsImfhIB5+gMRKOG9NmBw==", + "dev": true, + "dependencies": { + "@mdn/browser-compat-data": "^4.0.0", + "@web/dev-server-core": "^0.3.19", + "esbuild": "^0.12 || ^0.13 || ^0.14", + "parse5": "^6.0.1", + "ua-parser-js": "^1.0.2" + }, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/@web/dev-server-rollup": { "version": "0.3.19", "resolved": "https://registry.npmjs.org/@web/dev-server-rollup/-/dev-server-rollup-0.3.19.tgz", @@ -3739,12 +3804,6 @@ "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", "dev": true }, - "node_modules/@web/dev-server-rollup/node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, "node_modules/@web/dev-server-rollup/node_modules/punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -3754,6 +3813,21 @@ "node": ">=6" } }, + "node_modules/@web/dev-server-rollup/node_modules/rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, "node_modules/@web/dev-server-rollup/node_modules/tr46": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", @@ -3865,12 +3939,6 @@ "node": ">=10.0.0" } }, - "node_modules/@web/parse5-utils/node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, "node_modules/@webassemblyjs/ast": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", @@ -4540,11 +4608,10 @@ } }, "node_modules/async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", "dev": true, - "license": "MIT", "dependencies": { "lodash": "^4.17.14" } @@ -4741,14 +4808,54 @@ "semver": "bin/semver.js" } }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, - "license": "MIT", "dependencies": { - "object.assign": "^4.1.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" } }, "node_modules/babel-plugin-polyfill-corejs2": { @@ -5201,9 +5308,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001412", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001412.tgz", - "integrity": "sha512-+TeEIee1gS5bYOiuf+PS/kp2mrXic37Hl66VY6EAfxasIk5fELTktK2oOezYed12H8w7jt3s512PpulQidPjwA==", + "version": "1.0.30001434", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001434.tgz", + "integrity": "sha512-aOBHrLmTQw//WFa2rcF1If9fa3ypkC1wzqqiKHgfdrXTWcU8C4gKVZT77eQAPWN1APys3+uQ0Df07rKauXGEYA==", "dev": true, "funding": [ { @@ -5607,9 +5714,9 @@ } }, "node_modules/core-js": { - "version": "3.25.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.5.tgz", - "integrity": "sha512-nbm6eZSjm+ZuBQxCUPQKQCoUEfFOXjUZ8dTTyikyKaWrTYmAVbykQfwsKE5dBK88u3QCkCrzsx/PPlKfhsvgpw==", + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.26.1.tgz", + "integrity": "sha512-21491RRQVzUn0GGM9Z1Jrpr6PNPxPi+Za8OM9q4tksTSnlbXXGKK1nXNg/QvwFYettXvSX6zWKCtHHfjN4puyA==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -5617,9 +5724,9 @@ } }, "node_modules/core-js-bundle": { - "version": "3.25.5", - "resolved": "https://registry.npmjs.org/core-js-bundle/-/core-js-bundle-3.25.5.tgz", - "integrity": "sha512-34AwTkRnui3nT/DD3Mm+8VHBGlPRRTOiijyujYD552kDTb2b8XcmdBsDhDX+ftMs+qfCQAYE52KPFom5mtZtXQ==", + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js-bundle/-/core-js-bundle-3.26.1.tgz", + "integrity": "sha512-adXG+epLYMa2CdG4VewSXXiHAFQYxcYgJblKV0AeCGnnF51VzL50Fw6xJYoCHGcKwkzinPZfys0SDX5B/wRSww==", "dev": true, "hasInstallScript": true, "funding": { @@ -5941,9 +6048,9 @@ } }, "node_modules/cypress": { - "version": "10.10.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-10.10.0.tgz", - "integrity": "sha512-bU8r44x1NIYAUNNXt3CwJpLOVth7HUv2hUhYCxZmgZ1IugowDvuHNpevnoZRQx1KKOEisLvIJW+Xen5Pjn41pg==", + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-11.2.0.tgz", + "integrity": "sha512-u61UGwtu7lpsNWLUma/FKNOsrjcI6wleNmda/TyKHe0dOBcVjbCPlp1N6uwFZ0doXev7f/91YDpU9bqDCFeBLA==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -6724,6 +6831,362 @@ "dev": true, "license": "MIT" }, + "node_modules/esbuild": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.54.tgz", + "integrity": "sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/linux-loong64": "0.14.54", + "esbuild-android-64": "0.14.54", + "esbuild-android-arm64": "0.14.54", + "esbuild-darwin-64": "0.14.54", + "esbuild-darwin-arm64": "0.14.54", + "esbuild-freebsd-64": "0.14.54", + "esbuild-freebsd-arm64": "0.14.54", + "esbuild-linux-32": "0.14.54", + "esbuild-linux-64": "0.14.54", + "esbuild-linux-arm": "0.14.54", + "esbuild-linux-arm64": "0.14.54", + "esbuild-linux-mips64le": "0.14.54", + "esbuild-linux-ppc64le": "0.14.54", + "esbuild-linux-riscv64": "0.14.54", + "esbuild-linux-s390x": "0.14.54", + "esbuild-netbsd-64": "0.14.54", + "esbuild-openbsd-64": "0.14.54", + "esbuild-sunos-64": "0.14.54", + "esbuild-windows-32": "0.14.54", + "esbuild-windows-64": "0.14.54", + "esbuild-windows-arm64": "0.14.54" + } + }, + "node_modules/esbuild-android-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz", + "integrity": "sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-android-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz", + "integrity": "sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz", + "integrity": "sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz", + "integrity": "sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz", + "integrity": "sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz", + "integrity": "sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-32": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz", + "integrity": "sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz", + "integrity": "sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz", + "integrity": "sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz", + "integrity": "sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-mips64le": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz", + "integrity": "sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-ppc64le": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz", + "integrity": "sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-riscv64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz", + "integrity": "sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-s390x": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz", + "integrity": "sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-netbsd-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz", + "integrity": "sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-openbsd-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz", + "integrity": "sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-sunos-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz", + "integrity": "sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-32": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz", + "integrity": "sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz", + "integrity": "sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz", + "integrity": "sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -8882,9 +9345,9 @@ } }, "node_modules/i18next": { - "version": "21.10.0", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-21.10.0.tgz", - "integrity": "sha512-YeuIBmFsGjUfO3qBmMOc0rQaun4mIpGKET5WDwvu8lU7gvwpcariZLNtL0Fzj+zazcHUrlXHiptcFhBMFaxzfg==", + "version": "22.0.6", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-22.0.6.tgz", + "integrity": "sha512-RlreNGoPIdDP4QG+qSA9PxZKGwlzmcozbI9ObI6+OyUa/Rp0EjZZA9ubyBjw887zVNZsC+7FI3sXX8oiTzAfig==", "funding": [ { "type": "individual", @@ -9790,13 +10253,13 @@ "license": "MIT" }, "node_modules/jsdoc": { - "version": "3.6.11", - "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.11.tgz", - "integrity": "sha512-8UCU0TYeIYD9KeLzEcAu2q8N/mx9O3phAGl32nmHlE0LpaJL71mMkP4d+QE5zWfNt50qheHtOZ0qoxVrsX5TUg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.0.tgz", + "integrity": "sha512-tzTgkklbWKrlaQL2+e3NNgLcZu3NaK2vsHRx7tyHQ+H5jcB9Gx0txSd2eJWlMC/xU1+7LQu4s58Ry0RkuaEQVg==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@babel/parser": "^7.9.4", + "@jsdoc/salty": "^0.2.1", "@types/markdown-it": "^12.2.3", "bluebird": "^3.7.2", "catharsis": "^0.9.0", @@ -9809,7 +10272,6 @@ "mkdirp": "^1.0.4", "requizzle": "^0.2.3", "strip-json-comments": "^3.1.0", - "taffydb": "2.6.2", "underscore": "~1.13.2" }, "bin": { @@ -11795,13 +12257,12 @@ } }, "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, - "license": "MIT", "dependencies": { - "minimist": "^1.2.5" + "minimist": "^1.2.6" }, "bin": { "mkdirp": "bin/cmd.js" @@ -13514,6 +13975,12 @@ "node": ">=4" } }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -13622,11 +14089,10 @@ "dev": true }, "node_modules/picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8.6" }, @@ -13732,15 +14198,14 @@ } }, "node_modules/portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "version": "1.0.32", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", + "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", "dev": true, - "license": "MIT", "dependencies": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" + "async": "^2.6.4", + "debug": "^3.2.7", + "mkdirp": "^0.5.6" }, "engines": { "node": ">= 0.12.0" @@ -13751,7 +14216,6 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "license": "MIT", "dependencies": { "ms": "^2.1.1" } @@ -13760,8 +14224,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/proc-log": { "version": "2.0.1", @@ -14288,9 +14751,9 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.13.10", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", - "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==" + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" }, "node_modules/regenerator-transform": { "version": "0.15.0", @@ -15479,15 +15942,16 @@ } }, "node_modules/rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.5.0.tgz", + "integrity": "sha512-TYu2L+TGhmNsXCtByont89u+ATQLcDy6A+++PwLXYunRtOm7XnaD+65s1pvewaOxMYR0eOkMXn9/i0saBxxpnQ==", "dev": true, "bin": { "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=10.0.0" + "node": ">=14.18.0", + "npm": ">=8.0.0" }, "optionalDependencies": { "fsevents": "~2.3.2" @@ -16751,12 +17215,6 @@ "node": ">=8" } }, - "node_modules/taffydb": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", - "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=", - "dev": true - }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -17376,6 +17834,25 @@ "node": ">=8" } }, + "node_modules/ua-parser-js": { + "version": "1.0.32", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.32.tgz", + "integrity": "sha512-dXVsz3M4j+5tTiovFVyVqssXBu5HM47//YSOeZ9fQkdDKkfzv2v3PP1jmH6FUyPW+yCSn7aBVK1fGGKNhowdDA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], + "engines": { + "node": "*" + } + }, "node_modules/uc.micro": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", @@ -19187,7 +19664,7 @@ }, "packages/svgcanvas": { "name": "@svgedit/svgcanvas", - "version": "7.1.6", + "version": "7.2.0", "license": "MIT" } }, @@ -19211,27 +19688,27 @@ } }, "@babel/compat-data": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.4.tgz", - "integrity": "sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw==", + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.1.tgz", + "integrity": "sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==", "dev": true }, "@babel/core": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", - "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.2.tgz", + "integrity": "sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g==", "dev": true, "requires": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.3", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-module-transforms": "^7.19.0", - "@babel/helpers": "^7.19.0", - "@babel/parser": "^7.19.3", + "@babel/generator": "^7.20.2", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-module-transforms": "^7.20.2", + "@babel/helpers": "^7.20.1", + "@babel/parser": "^7.20.2", "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.3", - "@babel/types": "^7.19.3", + "@babel/traverse": "^7.20.1", + "@babel/types": "^7.20.2", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -19263,12 +19740,12 @@ } }, "@babel/generator": { - "version": "7.19.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.5.tgz", - "integrity": "sha512-DxbNz9Lz4aMZ99qPpO1raTbcrI1ZeYh+9NR9qhfkQIbFtVEqotHojEBxHzmxhVONkGt6VyrqVQcgpefMy9pqcg==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.2.tgz", + "integrity": "sha512-SD75PMIK6i9H8G/tfGvB4KKl4Nw6Ssos9nGgYwxbgyTP0iX/Z55DveoH86rmUB/YHTQQ+ZC0F7xxaY8l2OF44Q==", "dev": true, "requires": { - "@babel/types": "^7.19.4", + "@babel/types": "^7.20.2", "@jridgewell/gen-mapping": "^0.3.2", "jsesc": "^2.5.1" } @@ -19293,12 +19770,12 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz", - "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", + "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", "dev": true, "requires": { - "@babel/compat-data": "^7.19.3", + "@babel/compat-data": "^7.20.0", "@babel/helper-validator-option": "^7.18.6", "browserslist": "^4.21.3", "semver": "^6.3.0" @@ -19427,19 +19904,19 @@ } }, "@babel/helper-module-transforms": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", - "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", + "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" + "@babel/traverse": "^7.20.1", + "@babel/types": "^7.20.2" } }, "@babel/helper-optimise-call-expression": { @@ -19452,9 +19929,9 @@ } }, "@babel/helper-plugin-utils": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", - "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", "dev": true }, "@babel/helper-remap-async-to-generator": { @@ -19470,25 +19947,25 @@ } }, "@babel/helper-replace-supers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz", - "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", + "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-member-expression-to-functions": "^7.18.9", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/traverse": "^7.19.1", + "@babel/types": "^7.19.0" } }, "@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", "dev": true, "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.20.2" } }, "@babel/helper-skip-transparent-expression-wrappers": { @@ -19540,14 +20017,14 @@ } }, "@babel/helpers": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", - "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.1.tgz", + "integrity": "sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==", "dev": true, "requires": { "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" + "@babel/traverse": "^7.20.1", + "@babel/types": "^7.20.0" } }, "@babel/highlight": { @@ -19562,9 +20039,9 @@ } }, "@babel/parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.4.tgz", - "integrity": "sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.2.tgz", + "integrity": "sha512-afk318kh2uKbo7BEj2QtEi8HVCGrwHUffrYDy7dgVcSa2j9lY3LDjPzcyGdpX7xgm35aWqvciZJ4WKmdF/SxYg==", "dev": true }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { @@ -19588,9 +20065,9 @@ } }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz", - "integrity": "sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q==", + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz", + "integrity": "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==", "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.18.9", @@ -19681,16 +20158,16 @@ } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.19.4.tgz", - "integrity": "sha512-wHmj6LDxVDnL+3WhXteUBaoM1aVILZODAUjg11kHqG4cOlfgMQGxw6aCgvrXrmaJR3Bn14oZhImyCPZzRpC93Q==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.2.tgz", + "integrity": "sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==", "dev": true, "requires": { - "@babel/compat-data": "^7.19.4", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-plugin-utils": "^7.19.0", + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.18.8" + "@babel/plugin-transform-parameters": "^7.20.1" } }, "@babel/plugin-proposal-optional-catch-binding": { @@ -19792,12 +20269,12 @@ } }, "@babel/plugin-syntax-import-assertions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", - "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.19.0" } }, "@babel/plugin-syntax-json-strings": { @@ -19911,27 +20388,27 @@ } }, "@babel/plugin-transform-block-scoping": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.19.4.tgz", - "integrity": "sha512-934S2VLLlt2hRJwPf4MczaOr4hYF0z+VKPwqTNxyKX7NthTiPfhuKFWQZHXRM0vh/wo/VyXB3s4bZUNA08l+tQ==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.2.tgz", + "integrity": "sha512-y5V15+04ry69OV2wULmwhEA6jwSWXO1TwAtIwiPXcvHcoOQUqpyMVd2bDsQJMW8AurjulIyUV8kDqtjSwHy1uQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.19.0" + "@babel/helper-plugin-utils": "^7.20.2" } }, "@babel/plugin-transform-classes": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz", - "integrity": "sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz", + "integrity": "sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.19.0", + "@babel/helper-compilation-targets": "^7.20.0", "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-function-name": "^7.19.0", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.19.1", "@babel/helper-split-export-declaration": "^7.18.6", "globals": "^11.1.0" } @@ -19946,12 +20423,12 @@ } }, "@babel/plugin-transform-destructuring": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.19.4.tgz", - "integrity": "sha512-t0j0Hgidqf0aM86dF8U+vXYReUgJnlv4bZLsyoPnwZNrGY+7/38o8YjaELrvHeVfTZao15kjR0PVv0nju2iduA==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz", + "integrity": "sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.19.0" + "@babel/helper-plugin-utils": "^7.20.2" } }, "@babel/plugin-transform-dotall-regex": { @@ -20022,39 +20499,36 @@ } }, "@babel/plugin-transform-modules-amd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", - "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz", + "integrity": "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", - "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz", + "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-simple-access": "^7.19.4" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz", - "integrity": "sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A==", + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz", + "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==", "dev": true, "requires": { "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.19.0", + "@babel/helper-module-transforms": "^7.19.6", "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-validator-identifier": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-validator-identifier": "^7.19.1" } }, "@babel/plugin-transform-modules-umd": { @@ -20097,12 +20571,12 @@ } }, "@babel/plugin-transform-parameters": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", - "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.1.tgz", + "integrity": "sha512-nDvKLrAvl+kf6BOy1UJ3MGwzzfTMgppxwiD2Jb4LO3xjYyZq30oQzDNJbCQpMdG9+j2IXHoiMrw5Cm/L6ZoxXQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.19.0" } }, "@babel/plugin-transform-property-literals": { @@ -20199,18 +20673,18 @@ } }, "@babel/preset-env": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.4.tgz", - "integrity": "sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", "dev": true, "requires": { - "@babel/compat-data": "^7.19.4", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-plugin-utils": "^7.19.0", + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/helper-validator-option": "^7.18.6", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.19.1", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-class-static-block": "^7.18.6", "@babel/plugin-proposal-dynamic-import": "^7.18.6", @@ -20219,7 +20693,7 @@ "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.19.4", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", "@babel/plugin-proposal-optional-chaining": "^7.18.9", "@babel/plugin-proposal-private-methods": "^7.18.6", @@ -20230,7 +20704,7 @@ "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.18.6", + "@babel/plugin-syntax-import-assertions": "^7.20.0", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", @@ -20243,10 +20717,10 @@ "@babel/plugin-transform-arrow-functions": "^7.18.6", "@babel/plugin-transform-async-to-generator": "^7.18.6", "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.19.4", - "@babel/plugin-transform-classes": "^7.19.0", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.19.4", + "@babel/plugin-transform-destructuring": "^7.20.2", "@babel/plugin-transform-dotall-regex": "^7.18.6", "@babel/plugin-transform-duplicate-keys": "^7.18.9", "@babel/plugin-transform-exponentiation-operator": "^7.18.6", @@ -20254,14 +20728,14 @@ "@babel/plugin-transform-function-name": "^7.18.9", "@babel/plugin-transform-literals": "^7.18.9", "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.18.6", - "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@babel/plugin-transform-modules-systemjs": "^7.19.0", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", "@babel/plugin-transform-modules-umd": "^7.18.6", "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", "@babel/plugin-transform-new-target": "^7.18.6", "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.18.8", + "@babel/plugin-transform-parameters": "^7.20.1", "@babel/plugin-transform-property-literals": "^7.18.6", "@babel/plugin-transform-regenerator": "^7.18.6", "@babel/plugin-transform-reserved-words": "^7.18.6", @@ -20273,7 +20747,7 @@ "@babel/plugin-transform-unicode-escapes": "^7.18.10", "@babel/plugin-transform-unicode-regex": "^7.18.6", "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.19.4", + "@babel/types": "^7.20.2", "babel-plugin-polyfill-corejs2": "^0.3.3", "babel-plugin-polyfill-corejs3": "^0.6.0", "babel-plugin-polyfill-regenerator": "^0.4.1", @@ -20324,13 +20798,13 @@ } }, "@babel/runtime-corejs3": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.19.4.tgz", - "integrity": "sha512-HzjQ8+dzdx7dmZy4DQ8KV8aHi/74AjEbBGTFutBmg/pd3dY5/q1sfuOGPTFGEytlQhWoeVXqcK5BwMgIkRkNDQ==", + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.20.1.tgz", + "integrity": "sha512-CGulbEDcg/ND1Im7fUNRZdGXmX2MTWVVZacQi/6DiKE5HNwZ3aVTm5PV4lO8HHz0B2h8WQyvKKjbX5XgTtydsg==", "dev": true, "requires": { "core-js-pure": "^3.25.1", - "regenerator-runtime": "^0.13.4" + "regenerator-runtime": "^0.13.10" } }, "@babel/template": { @@ -20345,19 +20819,19 @@ } }, "@babel/traverse": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.4.tgz", - "integrity": "sha512-w3K1i+V5u2aJUOXBFFC5pveFLmtq1s3qcdDNC2qRI6WPBQIDaKFqXxDEqDO/h1dQ3HjsZoZMyIy6jGLq0xtw+g==", + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.1.tgz", + "integrity": "sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==", "dev": true, "requires": { "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.4", + "@babel/generator": "^7.20.1", "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-function-name": "^7.19.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.19.4", - "@babel/types": "^7.19.4", + "@babel/parser": "^7.20.1", + "@babel/types": "^7.20.0", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -20380,9 +20854,9 @@ } }, "@babel/types": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.4.tgz", - "integrity": "sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz", + "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==", "dev": true, "requires": { "@babel/helper-string-parser": "^7.19.4", @@ -20623,6 +21097,13 @@ } } }, + "@esbuild/linux-loong64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz", + "integrity": "sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==", + "dev": true, + "optional": true + }, "@eslint/eslintrc": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.3.tgz", @@ -20839,6 +21320,21 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, + "@jsdoc/salty": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.1.tgz", + "integrity": "sha512-JXwylDNSHa549N9uceDYu8D4GMXwSo3H8CCPYEQqxhhHpxD28+lRl2b3bS/caaPj5w1YD3SWtrficJNTnUjGpg==", + "dev": true, + "requires": { + "lodash": "^4.17.21" + } + }, + "@mdn/browser-compat-data": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-4.2.1.tgz", + "integrity": "sha512-EWUguj2kd7ldmrF9F+vI5hUOralPd+sdsUnYbRy33vZTuZkduC1shE9TtEMEjAQwyfyMb4ole5KtjF8MsnQOlA==", + "dev": true + }, "@nodelib/fs.scandir": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", @@ -21056,79 +21552,81 @@ "dev": true }, "@rollup/plugin-babel": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-6.0.0.tgz", - "integrity": "sha512-qM8YIt/2fVxw5O0wUgAeglyC+qx9mg3UtCCLoSqetmQOKipmnQ/X3I0L2sjjb6BswaYpv2tun25lHViU7JPxLQ==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-6.0.3.tgz", + "integrity": "sha512-fKImZKppa1A/gX73eg4JGo+8kQr/q1HBQaCGKECZ0v4YBBv3lFqi14+7xyApECzvkLTHCifx+7ntcrvtBIRcpg==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.18.6", - "@rollup/pluginutils": "^4.2.1" + "@rollup/pluginutils": "^5.0.1" } }, "@rollup/plugin-commonjs": { - "version": "21.1.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-21.1.0.tgz", - "integrity": "sha512-6ZtHx3VHIp2ReNNDxHjuUml6ur+WcQ28N1yHgCQwsbNkQg2suhxGMDQGJOn/KuDxKtd1xuZP5xSTwBA4GQ8hbA==", + "version": "23.0.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-23.0.2.tgz", + "integrity": "sha512-e9ThuiRf93YlVxc4qNIurvv+Hp9dnD+4PjOqQs5vAYfcZ3+AXSrcdzXnVjWxcGQOa6KGJFcRZyUI3ktWLavFjg==", "dev": true, "requires": { - "@rollup/pluginutils": "^3.1.0", + "@rollup/pluginutils": "^5.0.1", "commondir": "^1.0.1", - "estree-walker": "^2.0.1", - "glob": "^7.1.6", - "is-reference": "^1.2.1", - "magic-string": "^0.25.7", - "resolve": "^1.17.0" + "estree-walker": "^2.0.2", + "glob": "^8.0.3", + "is-reference": "1.2.1", + "magic-string": "^0.26.4" }, "dependencies": { - "@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "requires": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "dependencies": { - "estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true - } + "balanced-match": "^1.0.0" } }, - "magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", "dev": true, "requires": { - "sourcemap-codec": "^1.4.8" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + }, + "minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" } } } }, "@rollup/plugin-dynamic-import-vars": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-dynamic-import-vars/-/plugin-dynamic-import-vars-2.0.0.tgz", - "integrity": "sha512-aLYVrwiqshtMtZ+48TaNI3JUPonU0RSXPQXaQVtoei2tPsdg/HOd+OXzJUNqvw7amavPflhbqHbebSNiTyOjZA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-dynamic-import-vars/-/plugin-dynamic-import-vars-2.0.1.tgz", + "integrity": "sha512-//rFVnJhZqR1Bje7n9ZMlmX9M62AExcLVXmbTcq80CqFx97C6CXaghLYsPzcZ7w8JhbVdjBIRADyLNel0HHorg==", "dev": true, "requires": { - "@rollup/pluginutils": "^4.2.1", + "@rollup/pluginutils": "^5.0.1", "estree-walker": "^2.0.2", "fast-glob": "^3.2.12", "magic-string": "^0.26.4" } }, "@rollup/plugin-node-resolve": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.0.tgz", - "integrity": "sha512-iwJbzfTzlzDDQcGmkS7EkCKwe2kSkdBrjX87Fy/KrNjr6UNnLpod0t6X66e502LRe5JJCA4FFqrEscWPnZAkig==", + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.1.tgz", + "integrity": "sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg==", "dev": true, "requires": { - "@rollup/pluginutils": "^4.2.1", + "@rollup/pluginutils": "^5.0.1", "@types/resolve": "1.20.2", "deepmerge": "^4.2.2", "is-builtin-module": "^3.2.0", @@ -21145,22 +21643,22 @@ } }, "@rollup/plugin-replace": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-5.0.0.tgz", - "integrity": "sha512-TiPmjMuBjQM+KLWK16O5TAM/eW4yXBYyQ17FbfeNzBC1t2kzX2aXoa8AlS9XTSmg6/2TNvkER1lMEEeN4Lhavw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-5.0.1.tgz", + "integrity": "sha512-Z3MfsJ4CK17BfGrZgvrcp/l6WXoKb0kokULO+zt/7bmcyayokDaQ2K3eDJcRLCTAlp5FPI4/gz9MHAsosz4Rag==", "dev": true, "requires": { - "@rollup/pluginutils": "^4.2.1", + "@rollup/pluginutils": "^5.0.1", "magic-string": "^0.26.4" } }, "@rollup/plugin-url": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-url/-/plugin-url-8.0.0.tgz", - "integrity": "sha512-lqTTmhJi3t96J1H7/ILJfCFIODWcAMO70DvshzZQ6HIFNZNU+3atusIcX1Lk52DoTwzFFLXLLASm4sCMyjbMpA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-url/-/plugin-url-8.0.1.tgz", + "integrity": "sha512-8ajztphXb5e19dk3Iwjtm2eSYJR8jFQubZ8pJ1GG2MBMM7/qUedLnZAN+Vt4jqbcT/m27jfjIBocvrzV0giNRw==", "dev": true, "requires": { - "@rollup/pluginutils": "^4.2.1", + "@rollup/pluginutils": "^5.0.1", "make-dir": "^3.1.0", "mime": "^3.0.0" }, @@ -21183,13 +21681,22 @@ } }, "@rollup/pluginutils": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", - "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", + "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", "dev": true, "requires": { - "estree-walker": "^2.0.1", - "picomatch": "^2.2.2" + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "dependencies": { + "@types/estree": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", + "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", + "dev": true + } } }, "@sideway/address": { @@ -21623,9 +22130,9 @@ } }, "@web/dev-server": { - "version": "0.1.34", - "resolved": "https://registry.npmjs.org/@web/dev-server/-/dev-server-0.1.34.tgz", - "integrity": "sha512-+te6iwxAQign1KyhHpkR/a3+5qw/Obg/XWCES2So6G5LcZ86zIKXbUpWAJuNOqiBV6eGwqEB1AozKr2Jj7gj/Q==", + "version": "0.1.35", + "resolved": "https://registry.npmjs.org/@web/dev-server/-/dev-server-0.1.35.tgz", + "integrity": "sha512-E7TSTSFdGPzhkiE3kIVt8i49gsiAYpJIZHzs1vJmVfdt8U4rsmhE+5roezxZo0hkEw4mNsqj9zCc4Dzqy/IFHg==", "dev": true, "requires": { "@babel/code-frame": "^7.12.11", @@ -21641,7 +22148,7 @@ "ip": "^1.1.5", "nanocolors": "^0.2.1", "open": "^8.0.2", - "portfinder": "^1.0.28" + "portfinder": "^1.0.32" }, "dependencies": { "array-back": { @@ -21801,12 +22308,6 @@ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, "readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -21827,6 +22328,19 @@ } } }, + "@web/dev-server-esbuild": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@web/dev-server-esbuild/-/dev-server-esbuild-0.3.3.tgz", + "integrity": "sha512-hB9C8X9NsFWUG2XKT3W+Xcw3IZ/VObf4LNbK14BTjApnNyZfV6hVhSlJfvhgOoJ4DxsImfhIB5+gMRKOG9NmBw==", + "dev": true, + "requires": { + "@mdn/browser-compat-data": "^4.0.0", + "@web/dev-server-core": "^0.3.19", + "esbuild": "^0.12 || ^0.13 || ^0.14", + "parse5": "^6.0.1", + "ua-parser-js": "^1.0.2" + } + }, "@web/dev-server-rollup": { "version": "0.3.19", "resolved": "https://registry.npmjs.org/@web/dev-server-rollup/-/dev-server-rollup-0.3.19.tgz", @@ -21872,18 +22386,21 @@ "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", "dev": true }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, + "rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, "tr46": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", @@ -21919,14 +22436,6 @@ "requires": { "@types/parse5": "^6.0.1", "parse5": "^6.0.1" - }, - "dependencies": { - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - } } }, "@webassemblyjs/ast": { @@ -22427,9 +22936,9 @@ "dev": true }, "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", "dev": true, "requires": { "lodash": "^4.17.14" @@ -22565,13 +23074,44 @@ } } }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, "requires": { - "object.assign": "^4.1.0" + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "dependencies": { + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "babel-plugin-polyfill-corejs2": { @@ -22892,9 +23432,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001412", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001412.tgz", - "integrity": "sha512-+TeEIee1gS5bYOiuf+PS/kp2mrXic37Hl66VY6EAfxasIk5fELTktK2oOezYed12H8w7jt3s512PpulQidPjwA==", + "version": "1.0.30001434", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001434.tgz", + "integrity": "sha512-aOBHrLmTQw//WFa2rcF1If9fa3ypkC1wzqqiKHgfdrXTWcU8C4gKVZT77eQAPWN1APys3+uQ0Df07rKauXGEYA==", "dev": true }, "caseless": { @@ -23168,14 +23708,14 @@ } }, "core-js": { - "version": "3.25.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.5.tgz", - "integrity": "sha512-nbm6eZSjm+ZuBQxCUPQKQCoUEfFOXjUZ8dTTyikyKaWrTYmAVbykQfwsKE5dBK88u3QCkCrzsx/PPlKfhsvgpw==" + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.26.1.tgz", + "integrity": "sha512-21491RRQVzUn0GGM9Z1Jrpr6PNPxPi+Za8OM9q4tksTSnlbXXGKK1nXNg/QvwFYettXvSX6zWKCtHHfjN4puyA==" }, "core-js-bundle": { - "version": "3.25.5", - "resolved": "https://registry.npmjs.org/core-js-bundle/-/core-js-bundle-3.25.5.tgz", - "integrity": "sha512-34AwTkRnui3nT/DD3Mm+8VHBGlPRRTOiijyujYD552kDTb2b8XcmdBsDhDX+ftMs+qfCQAYE52KPFom5mtZtXQ==", + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js-bundle/-/core-js-bundle-3.26.1.tgz", + "integrity": "sha512-adXG+epLYMa2CdG4VewSXXiHAFQYxcYgJblKV0AeCGnnF51VzL50Fw6xJYoCHGcKwkzinPZfys0SDX5B/wRSww==", "dev": true }, "core-js-compat": { @@ -23410,9 +23950,9 @@ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" }, "cypress": { - "version": "10.10.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-10.10.0.tgz", - "integrity": "sha512-bU8r44x1NIYAUNNXt3CwJpLOVth7HUv2hUhYCxZmgZ1IugowDvuHNpevnoZRQx1KKOEisLvIJW+Xen5Pjn41pg==", + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-11.2.0.tgz", + "integrity": "sha512-u61UGwtu7lpsNWLUma/FKNOsrjcI6wleNmda/TyKHe0dOBcVjbCPlp1N6uwFZ0doXev7f/91YDpU9bqDCFeBLA==", "dev": true, "requires": { "@cypress/request": "^2.88.10", @@ -23986,6 +24526,175 @@ "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", "dev": true }, + "esbuild": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.54.tgz", + "integrity": "sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==", + "dev": true, + "requires": { + "@esbuild/linux-loong64": "0.14.54", + "esbuild-android-64": "0.14.54", + "esbuild-android-arm64": "0.14.54", + "esbuild-darwin-64": "0.14.54", + "esbuild-darwin-arm64": "0.14.54", + "esbuild-freebsd-64": "0.14.54", + "esbuild-freebsd-arm64": "0.14.54", + "esbuild-linux-32": "0.14.54", + "esbuild-linux-64": "0.14.54", + "esbuild-linux-arm": "0.14.54", + "esbuild-linux-arm64": "0.14.54", + "esbuild-linux-mips64le": "0.14.54", + "esbuild-linux-ppc64le": "0.14.54", + "esbuild-linux-riscv64": "0.14.54", + "esbuild-linux-s390x": "0.14.54", + "esbuild-netbsd-64": "0.14.54", + "esbuild-openbsd-64": "0.14.54", + "esbuild-sunos-64": "0.14.54", + "esbuild-windows-32": "0.14.54", + "esbuild-windows-64": "0.14.54", + "esbuild-windows-arm64": "0.14.54" + } + }, + "esbuild-android-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz", + "integrity": "sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==", + "dev": true, + "optional": true + }, + "esbuild-android-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz", + "integrity": "sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==", + "dev": true, + "optional": true + }, + "esbuild-darwin-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz", + "integrity": "sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==", + "dev": true, + "optional": true + }, + "esbuild-darwin-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz", + "integrity": "sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==", + "dev": true, + "optional": true + }, + "esbuild-freebsd-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz", + "integrity": "sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==", + "dev": true, + "optional": true + }, + "esbuild-freebsd-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz", + "integrity": "sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==", + "dev": true, + "optional": true + }, + "esbuild-linux-32": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz", + "integrity": "sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==", + "dev": true, + "optional": true + }, + "esbuild-linux-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz", + "integrity": "sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==", + "dev": true, + "optional": true + }, + "esbuild-linux-arm": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz", + "integrity": "sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==", + "dev": true, + "optional": true + }, + "esbuild-linux-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz", + "integrity": "sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==", + "dev": true, + "optional": true + }, + "esbuild-linux-mips64le": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz", + "integrity": "sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==", + "dev": true, + "optional": true + }, + "esbuild-linux-ppc64le": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz", + "integrity": "sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==", + "dev": true, + "optional": true + }, + "esbuild-linux-riscv64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz", + "integrity": "sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==", + "dev": true, + "optional": true + }, + "esbuild-linux-s390x": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz", + "integrity": "sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==", + "dev": true, + "optional": true + }, + "esbuild-netbsd-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz", + "integrity": "sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==", + "dev": true, + "optional": true + }, + "esbuild-openbsd-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz", + "integrity": "sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==", + "dev": true, + "optional": true + }, + "esbuild-sunos-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz", + "integrity": "sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==", + "dev": true, + "optional": true + }, + "esbuild-windows-32": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz", + "integrity": "sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==", + "dev": true, + "optional": true + }, + "esbuild-windows-64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz", + "integrity": "sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==", + "dev": true, + "optional": true + }, + "esbuild-windows-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz", + "integrity": "sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==", + "dev": true, + "optional": true + }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -25469,9 +26178,9 @@ } }, "i18next": { - "version": "21.10.0", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-21.10.0.tgz", - "integrity": "sha512-YeuIBmFsGjUfO3qBmMOc0rQaun4mIpGKET5WDwvu8lU7gvwpcariZLNtL0Fzj+zazcHUrlXHiptcFhBMFaxzfg==", + "version": "22.0.6", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-22.0.6.tgz", + "integrity": "sha512-RlreNGoPIdDP4QG+qSA9PxZKGwlzmcozbI9ObI6+OyUa/Rp0EjZZA9ubyBjw887zVNZsC+7FI3sXX8oiTzAfig==", "requires": { "@babel/runtime": "^7.17.2" } @@ -26072,12 +26781,13 @@ "dev": true }, "jsdoc": { - "version": "3.6.11", - "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.11.tgz", - "integrity": "sha512-8UCU0TYeIYD9KeLzEcAu2q8N/mx9O3phAGl32nmHlE0LpaJL71mMkP4d+QE5zWfNt50qheHtOZ0qoxVrsX5TUg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.0.tgz", + "integrity": "sha512-tzTgkklbWKrlaQL2+e3NNgLcZu3NaK2vsHRx7tyHQ+H5jcB9Gx0txSd2eJWlMC/xU1+7LQu4s58Ry0RkuaEQVg==", "dev": true, "requires": { "@babel/parser": "^7.9.4", + "@jsdoc/salty": "^0.2.1", "@types/markdown-it": "^12.2.3", "bluebird": "^3.7.2", "catharsis": "^0.9.0", @@ -26090,7 +26800,6 @@ "mkdirp": "^1.0.4", "requizzle": "^0.2.3", "strip-json-comments": "^3.1.0", - "taffydb": "2.6.2", "underscore": "~1.13.2" }, "dependencies": { @@ -27410,12 +28119,12 @@ } }, "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, "requires": { - "minimist": "^1.2.5" + "minimist": "^1.2.6" } }, "mkdirp-infer-owner": { @@ -28622,6 +29331,12 @@ "json-parse-better-errors": "^1.0.1" } }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -28696,9 +29411,9 @@ "dev": true }, "picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, "pidtree": { @@ -28766,14 +29481,14 @@ } }, "portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "version": "1.0.32", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", + "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", "dev": true, "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" + "async": "^2.6.4", + "debug": "^3.2.7", + "mkdirp": "^0.5.6" }, "dependencies": { "debug": { @@ -29167,9 +29882,9 @@ } }, "regenerator-runtime": { - "version": "0.13.10", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", - "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==" + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" }, "regenerator-transform": { "version": "0.15.0", @@ -29953,9 +30668,9 @@ } }, "rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.5.0.tgz", + "integrity": "sha512-TYu2L+TGhmNsXCtByont89u+ATQLcDy6A+++PwLXYunRtOm7XnaD+65s1pvewaOxMYR0eOkMXn9/i0saBxxpnQ==", "dev": true, "requires": { "fsevents": "~2.3.2" @@ -30840,12 +31555,6 @@ } } }, - "taffydb": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", - "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=", - "dev": true - }, "tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -31264,6 +31973,12 @@ "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", "dev": true }, + "ua-parser-js": { + "version": "1.0.32", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.32.tgz", + "integrity": "sha512-dXVsz3M4j+5tTiovFVyVqssXBu5HM47//YSOeZ9fQkdDKkfzv2v3PP1jmH6FUyPW+yCSn7aBVK1fGGKNhowdDA==", + "dev": true + }, "uc.micro": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", diff --git a/package.json b/package.json index 86250777..72aae0c6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "svgedit", - "version": "7.2.0", + "version": "7.3.0", "description": "Powerful SVG-Editor for your browser ", "main": "dist/Editor.js", "module": "dist/Editor.js", @@ -17,14 +17,13 @@ ], "scripts": { "lint": "standard .", - "test": "run-s cypress:instrument cypress:test", + "test": "NODE_ENV=test start-server-and-test start http://localhost:8000/src/editor/index.html cypress:run", "build": "rollup -c", "build:watch": "rollup -c --watch", "start": "web-dev-server --app-index src/editor/index.html --node-resolve", "start:iife": "web-dev-server --app-index dist/editor/iife-index.html --esbuild-target auto --open", - "cypress:run": "rimraf \".nyc_output/*\" && cypress run -q && nyc report --reporter text-summary --reporter json-summary", - "cypress:instrument": "nyc instrument --delete --compact=false src instrumented && nyc instrument --compact=false packages instrumented && replace-in-file --configFile=cypress/replace-in-file.config.js", - "cypress:test": "start-server-and-test start http://localhost:8000/instrumented/editor/index.html cypress:run", + "cypress:run": "rimraf \".nyc_output/*\" && cypress run -q --headless && nyc report --reporter text-summary --reporter json-summary", + "cypress:open": "NODE_ENV=test start-server-and-test start http://localhost:8000/src/editor/index.html 'cypress open'", "open-docs-no-start": "open-cli http://localhost:8000/docs/jsdoc/", "open-docs": "run-p start open-docs-no-start", "build-docs-remove": "rimraf \"docs/jsdoc/*\"", @@ -81,39 +80,41 @@ ] }, "dependencies": { - "@svgedit/svgcanvas": "7.1.6", + "@svgedit/svgcanvas": "7.2.0", "browser-fs-access": "0.31.1", - "core-js": "3.25.5", + "core-js": "3.26.1", "elix": "15.0.1", "html2canvas": "1.4.1", - "i18next": "21.10.0", + "i18next": "22.0.6", "jspdf": "2.5.1", "pathseg": "1.2.1", - "regenerator-runtime": "0.13.10", + "regenerator-runtime": "0.13.11", "replace-in-file": "^6.3.5", "svg2pdf.js": "2.2.1" }, "devDependencies": { - "@babel/core": "7.19.3", - "@babel/preset-env": "7.19.4", + "@babel/core": "7.20.2", + "@babel/preset-env": "7.20.2", "@babel/register": "7.18.9", - "@babel/runtime-corejs3": "7.19.4", + "@babel/runtime-corejs3": "7.20.1", "@cypress/code-coverage": "3.10.0", - "@rollup/plugin-babel": "6.0.0", - "@rollup/plugin-commonjs": "^21", - "@rollup/plugin-dynamic-import-vars": "2.0.0", - "@rollup/plugin-node-resolve": "15.0.0", - "@rollup/plugin-replace": "5.0.0", - "@rollup/plugin-url": "8.0.0", - "@web/dev-server": "0.1.34", + "@rollup/plugin-babel": "^6.0.3", + "@rollup/plugin-commonjs": "^23", + "@rollup/plugin-dynamic-import-vars": "2.0.1", + "@rollup/plugin-node-resolve": "15.0.1", + "@rollup/plugin-replace": "5.0.1", + "@rollup/plugin-url": "8.0.1", + "@web/dev-server": "0.1.35", + "@web/dev-server-esbuild": "^0.3.3", "@web/dev-server-rollup": "0.3.19", + "babel-plugin-istanbul": "^6.1.1", "babel-plugin-transform-object-rest-spread": "7.0.0-beta.3", - "core-js-bundle": "3.25.5", + "core-js-bundle": "3.26.1", "cp-cli": "2.0.0", - "cypress": "10.10.0", + "cypress": "11.2.0", "cypress-multi-reporters": "1.6.1", "jamilih": "0.54.0", - "jsdoc": "3.6.11", + "jsdoc": "4.0.0", "node-static": "0.7.11", "npm-run-all": "4.1.5", "nyc": "15.1.0", @@ -124,7 +125,7 @@ "remark-cli": "11.0.0", "remark-lint-ordered-list-marker-value": "3.1.1", "rimraf": "3.0.2", - "rollup": "^2", + "rollup": "3.5.0", "rollup-plugin-copy": "3.4.0", "rollup-plugin-filesize": "9.1.2", "rollup-plugin-html": "0.2.1", diff --git a/src/common/browser.js b/packages/svgcanvas/common/browser.js similarity index 100% rename from src/common/browser.js rename to packages/svgcanvas/common/browser.js diff --git a/src/common/util.js b/packages/svgcanvas/common/util.js similarity index 100% rename from src/common/util.js rename to packages/svgcanvas/common/util.js diff --git a/packages/svgcanvas/blur-event.js b/packages/svgcanvas/core/blur-event.js similarity index 100% rename from packages/svgcanvas/blur-event.js rename to packages/svgcanvas/core/blur-event.js diff --git a/packages/svgcanvas/clear.js b/packages/svgcanvas/core/clear.js similarity index 100% rename from packages/svgcanvas/clear.js rename to packages/svgcanvas/core/clear.js diff --git a/packages/svgcanvas/coords.js b/packages/svgcanvas/core/coords.js similarity index 100% rename from packages/svgcanvas/coords.js rename to packages/svgcanvas/core/coords.js diff --git a/packages/svgcanvas/copy-elem.js b/packages/svgcanvas/core/copy-elem.js similarity index 100% rename from packages/svgcanvas/copy-elem.js rename to packages/svgcanvas/core/copy-elem.js diff --git a/packages/svgcanvas/dataStorage.js b/packages/svgcanvas/core/dataStorage.js similarity index 100% rename from packages/svgcanvas/dataStorage.js rename to packages/svgcanvas/core/dataStorage.js diff --git a/packages/svgcanvas/draw.js b/packages/svgcanvas/core/draw.js similarity index 99% rename from packages/svgcanvas/draw.js rename to packages/svgcanvas/core/draw.js index 2eee3251..b3fbae27 100644 --- a/packages/svgcanvas/draw.js +++ b/packages/svgcanvas/core/draw.js @@ -15,7 +15,7 @@ import { import { copyElem as utilCopyElem } from './copy-elem.js' -import { getParentsUntil } from '../../src/common/util.js' +import { getParentsUntil } from '../common/util.js' const visElems = 'a,circle,ellipse,foreignObject,g,image,line,path,polygon,polyline,rect,svg,text,tspan,use'.split(',') diff --git a/packages/svgcanvas/elem-get-set.js b/packages/svgcanvas/core/elem-get-set.js similarity index 99% rename from packages/svgcanvas/elem-get-set.js rename to packages/svgcanvas/core/elem-get-set.js index 96c1c82a..0570029a 100644 --- a/packages/svgcanvas/elem-get-set.js +++ b/packages/svgcanvas/core/elem-get-set.js @@ -13,7 +13,7 @@ import { import { convertToNum } from './units.js' -import { getParents } from '../../src/common/util.js' +import { getParents } from '../common/util.js' let svgCanvas = null diff --git a/packages/svgcanvas/event.js b/packages/svgcanvas/core/event.js similarity index 99% rename from packages/svgcanvas/event.js rename to packages/svgcanvas/core/event.js index 3d3043c7..4cc2215d 100644 --- a/packages/svgcanvas/event.js +++ b/packages/svgcanvas/core/event.js @@ -17,7 +17,7 @@ import { import * as draw from './draw.js' import * as pathModule from './path.js' import * as hstry from './history.js' -import { findPos } from '../../src/common/util.js' +import { findPos } from '../../svgcanvas/common/util.js' const { InsertElementCommand diff --git a/packages/svgcanvas/history.js b/packages/svgcanvas/core/history.js similarity index 100% rename from packages/svgcanvas/history.js rename to packages/svgcanvas/core/history.js diff --git a/packages/svgcanvas/historyrecording.js b/packages/svgcanvas/core/historyrecording.js similarity index 100% rename from packages/svgcanvas/historyrecording.js rename to packages/svgcanvas/core/historyrecording.js diff --git a/packages/svgcanvas/json.js b/packages/svgcanvas/core/json.js similarity index 100% rename from packages/svgcanvas/json.js rename to packages/svgcanvas/core/json.js diff --git a/packages/svgcanvas/layer.js b/packages/svgcanvas/core/layer.js similarity index 100% rename from packages/svgcanvas/layer.js rename to packages/svgcanvas/core/layer.js diff --git a/packages/svgcanvas/math.js b/packages/svgcanvas/core/math.js similarity index 100% rename from packages/svgcanvas/math.js rename to packages/svgcanvas/core/math.js diff --git a/packages/svgcanvas/namespaces.js b/packages/svgcanvas/core/namespaces.js similarity index 100% rename from packages/svgcanvas/namespaces.js rename to packages/svgcanvas/core/namespaces.js diff --git a/packages/svgcanvas/paint.js b/packages/svgcanvas/core/paint.js similarity index 100% rename from packages/svgcanvas/paint.js rename to packages/svgcanvas/core/paint.js diff --git a/packages/svgcanvas/paste-elem.js b/packages/svgcanvas/core/paste-elem.js similarity index 100% rename from packages/svgcanvas/paste-elem.js rename to packages/svgcanvas/core/paste-elem.js diff --git a/packages/svgcanvas/path-actions.js b/packages/svgcanvas/core/path-actions.js similarity index 100% rename from packages/svgcanvas/path-actions.js rename to packages/svgcanvas/core/path-actions.js diff --git a/packages/svgcanvas/path-method.js b/packages/svgcanvas/core/path-method.js similarity index 100% rename from packages/svgcanvas/path-method.js rename to packages/svgcanvas/core/path-method.js diff --git a/packages/svgcanvas/path.js b/packages/svgcanvas/core/path.js similarity index 100% rename from packages/svgcanvas/path.js rename to packages/svgcanvas/core/path.js diff --git a/packages/svgcanvas/recalculate.js b/packages/svgcanvas/core/recalculate.js similarity index 99% rename from packages/svgcanvas/recalculate.js rename to packages/svgcanvas/core/recalculate.js index 32612c9b..a1e3ef1d 100644 --- a/packages/svgcanvas/recalculate.js +++ b/packages/svgcanvas/core/recalculate.js @@ -15,7 +15,7 @@ import { } from './math.js' import { mergeDeep -} from '../../src/common/util.js' +} from '../common/util.js' let svgCanvas diff --git a/packages/svgcanvas/sanitize.js b/packages/svgcanvas/core/sanitize.js similarity index 100% rename from packages/svgcanvas/sanitize.js rename to packages/svgcanvas/core/sanitize.js diff --git a/packages/svgcanvas/select.js b/packages/svgcanvas/core/select.js similarity index 99% rename from packages/svgcanvas/select.js rename to packages/svgcanvas/core/select.js index 1cfee97b..8fa6a3d1 100644 --- a/packages/svgcanvas/select.js +++ b/packages/svgcanvas/core/select.js @@ -6,7 +6,7 @@ * @copyright 2010 Alexis Deveria, 2010 Jeff Schiller */ -import { isWebkit } from '../../src/common/browser.js' +import { isWebkit } from '../common/browser.js' import { getRotationAngle, getBBox, getStrokedBBox } from './utilities.js' import { transformListToTransform, transformBox, transformPoint, matrixMultiply } from './math.js' import { NS } from './namespaces' diff --git a/packages/svgcanvas/selected-elem.js b/packages/svgcanvas/core/selected-elem.js similarity index 99% rename from packages/svgcanvas/selected-elem.js rename to packages/svgcanvas/core/selected-elem.js index aabf9de2..a4112cc8 100644 --- a/packages/svgcanvas/selected-elem.js +++ b/packages/svgcanvas/core/selected-elem.js @@ -29,8 +29,8 @@ import { transformListToTransform } from './math.js' import { recalculateDimensions } from './recalculate.js' -import { isGecko } from '../../src/common/browser.js' -import { getParents } from '../../src/common/util.js' +import { isGecko } from '../common/browser.js' +import { getParents } from '../common/util.js' const { MoveElementCommand, diff --git a/packages/svgcanvas/selection.js b/packages/svgcanvas/core/selection.js similarity index 99% rename from packages/svgcanvas/selection.js rename to packages/svgcanvas/core/selection.js index 81966d3b..6e2c7ef7 100644 --- a/packages/svgcanvas/selection.js +++ b/packages/svgcanvas/core/selection.js @@ -16,7 +16,7 @@ import { rectsIntersect } from './math.js' import * as hstry from './history.js' -import { getClosest } from '../../src/common/util.js' +import { getClosest } from '../common/util.js' const { BatchCommand } = hstry let svgCanvas = null diff --git a/packages/svgcanvas/svg-exec.js b/packages/svgcanvas/core/svg-exec.js similarity index 99% rename from packages/svgcanvas/svg-exec.js rename to packages/svgcanvas/core/svg-exec.js index cb8156e5..317600ce 100644 --- a/packages/svgcanvas/svg-exec.js +++ b/packages/svgcanvas/core/svg-exec.js @@ -25,12 +25,12 @@ import { } from './utilities.js' import { transformPoint, transformListToTransform } from './math.js' import { convertUnit, shortFloat, convertToNum } from './units.js' -import { isGecko, isChrome, isWebkit } from '../../src/common/browser.js' +import { isGecko, isChrome, isWebkit } from '../common/browser.js' import * as pathModule from './path.js' import { NS } from './namespaces.js' import * as draw from './draw.js' import { recalculateDimensions } from './recalculate.js' -import { getParents, getClosest } from '../../src/common/util.js' +import { getParents, getClosest } from '../common/util.js' const { InsertElementCommand, diff --git a/packages/svgcanvas/svgroot.js b/packages/svgcanvas/core/svgroot.js similarity index 100% rename from packages/svgcanvas/svgroot.js rename to packages/svgcanvas/core/svgroot.js diff --git a/packages/svgcanvas/text-actions.js b/packages/svgcanvas/core/text-actions.js similarity index 99% rename from packages/svgcanvas/text-actions.js rename to packages/svgcanvas/core/text-actions.js index af4d2090..9832324a 100644 --- a/packages/svgcanvas/text-actions.js +++ b/packages/svgcanvas/core/text-actions.js @@ -14,7 +14,7 @@ import { } from './utilities.js' import { supportsGoodTextCharPos -} from '../../src/common/browser.js' +} from '../common/browser.js' let svgCanvas = null diff --git a/packages/svgcanvas/touch.js b/packages/svgcanvas/core/touch.js similarity index 100% rename from packages/svgcanvas/touch.js rename to packages/svgcanvas/core/touch.js diff --git a/packages/svgcanvas/undo.js b/packages/svgcanvas/core/undo.js similarity index 99% rename from packages/svgcanvas/undo.js rename to packages/svgcanvas/core/undo.js index d42cdc88..29961ea0 100644 --- a/packages/svgcanvas/undo.js +++ b/packages/svgcanvas/core/undo.js @@ -11,7 +11,7 @@ import { } from './utilities.js' import { isGecko -} from '../../src/common/browser.js' +} from '../common/browser.js' import { transformPoint, transformListToTransform } from './math.js' diff --git a/packages/svgcanvas/units.js b/packages/svgcanvas/core/units.js similarity index 100% rename from packages/svgcanvas/units.js rename to packages/svgcanvas/core/units.js diff --git a/packages/svgcanvas/utilities.js b/packages/svgcanvas/core/utilities.js similarity index 99% rename from packages/svgcanvas/utilities.js rename to packages/svgcanvas/core/utilities.js index bc36281f..93a11d33 100644 --- a/packages/svgcanvas/utilities.js +++ b/packages/svgcanvas/core/utilities.js @@ -11,7 +11,7 @@ import { setUnitAttr, getTypeMap } from './units.js' import { hasMatrixTransform, transformListToTransform, transformBox } from './math.js' -import { getClosest, mergeDeep } from '../../src/common/util.js' +import { getClosest, mergeDeep } from '../common/util.js' // Much faster than running getBBox() every time const visElems = 'a,circle,ellipse,foreignObject,g,image,line,path,polygon,polyline,rect,svg,text,tspan,use,clipPath' diff --git a/packages/svgcanvas/package.json b/packages/svgcanvas/package.json index e9db2d27..0c8aa2ae 100644 --- a/packages/svgcanvas/package.json +++ b/packages/svgcanvas/package.json @@ -1,6 +1,6 @@ { "name": "@svgedit/svgcanvas", - "version": "7.1.6", + "version": "7.2.0", "description": "SVG Canvas", "main": "dist/svgcanvas.js", "author": "Narendra Sisodiya", diff --git a/packages/svgcanvas/rollup.config.js b/packages/svgcanvas/rollup.config.mjs similarity index 100% rename from packages/svgcanvas/rollup.config.js rename to packages/svgcanvas/rollup.config.mjs diff --git a/packages/svgcanvas/svgcanvas.js b/packages/svgcanvas/svgcanvas.js index 010d1f15..17be102b 100644 --- a/packages/svgcanvas/svgcanvas.js +++ b/packages/svgcanvas/svgcanvas.js @@ -9,36 +9,36 @@ */ import 'pathseg' // SVGPathSeg Polyfill (see https://github.com/progers/pathseg) -import Paint from './paint.js' -import * as pathModule from './path.js' -import * as history from './history.js' -import * as draw from './draw.js' -import { init as pasteInit, pasteElementsMethod } from './paste-elem.js' -import { init as touchInit } from './touch.js' -import { svgRootElement } from './svgroot.js' +import Paint from './core/paint.js' +import * as pathModule from './core/path.js' +import * as history from './core/history.js' +import * as draw from './core/draw.js' +import { init as pasteInit, pasteElementsMethod } from './core/paste-elem.js' +import { init as touchInit } from './core/touch.js' +import { svgRootElement } from './core/svgroot.js' import { init as undoInit, changeSelectedAttributeNoUndoMethod, changeSelectedAttributeMethod -} from './undo.js' -import { init as selectionInit } from './selection.js' -import { init as textActionsInit, textActionsMethod } from './text-actions.js' -import { init as eventInit } from './event.js' +} from './core/undo.js' +import { init as selectionInit } from './core/selection.js' +import { init as textActionsInit, textActionsMethod } from './core/text-actions.js' +import { init as eventInit } from './core/event.js' import { init as jsonInit, getJsonFromSvgElements, addSVGElementsFromJson -} from './json.js' -import * as elemGetSet from './elem-get-set.js' -import { init as selectedElemInit } from './selected-elem.js' +} from './core/json.js' +import * as elemGetSet from './core/elem-get-set.js' +import { init as selectedElemInit } from './core/selected-elem.js' import { init as blurInit, setBlurNoUndo, setBlurOffsets, setBlur -} from './blur-event.js' -import { sanitizeSvg } from './sanitize.js' -import { getReverseNS, NS } from './namespaces.js' +} from './core/blur-event.js' +import { sanitizeSvg } from './core/sanitize.js' +import { getReverseNS, NS } from './core/namespaces.js' import { assignAttributes, cleanupElement, @@ -65,28 +65,28 @@ import { getFeGaussianBlur, stringToHTML, insertChildAtIndex -} from './utilities.js' +} from './core/utilities.js' import { matrixMultiply, hasMatrixTransform, transformListToTransform -} from './math.js' -import { convertToNum, init as unitsInit, getTypeMap, isValidUnit, convertUnit } from './units.js' -import { init as svgInit } from './svg-exec.js' -import { remapElement, init as coordsInit } from './coords.js' +} from './core/math.js' +import { convertToNum, init as unitsInit, getTypeMap, isValidUnit, convertUnit } from './core/units.js' +import { init as svgInit } from './core/svg-exec.js' +import { remapElement, init as coordsInit } from './core/coords.js' import { recalculateDimensions, init as recalculateInit -} from './recalculate.js' -import { getSelectorManager, Selector, init as selectInit } from './select.js' -import { clearSvgContentElementInit, init as clearInit } from './clear.js' +} from './core/recalculate.js' +import { getSelectorManager, Selector, init as selectInit } from './core/select.js' +import { clearSvgContentElementInit, init as clearInit } from './core/clear.js' import { getClosest, getParents, mergeDeep -} from '../../src/common/util.js' +} from './common/util.js' -import dataStorage from './dataStorage.js' +import dataStorage from './core/dataStorage.js' const visElems = 'a,circle,ellipse,foreignObject,g,image,line,path,polygon,polyline,rect,svg,text,tspan,use' diff --git a/rollup.config.js b/rollup.config.mjs similarity index 100% rename from rollup.config.js rename to rollup.config.mjs diff --git a/src/editor/ConfigObj.js b/src/editor/ConfigObj.js index 0f72ee0a..1d9b4a0b 100644 --- a/src/editor/ConfigObj.js +++ b/src/editor/ConfigObj.js @@ -1,4 +1,4 @@ -import { mergeDeep } from '../common/util.js' +import { mergeDeep } from '@svgedit/svgcanvas/common/util.js' /** * Escapes special characters in a regular expression. diff --git a/src/editor/Editor.js b/src/editor/Editor.js index 41d199ff..6caaa8de 100644 --- a/src/editor/Editor.js +++ b/src/editor/Editor.js @@ -16,7 +16,7 @@ import './components/index.js' import './dialogs/index.js' -import { isMac } from '../common/browser.js' +import { isMac } from '@svgedit/svgcanvas/common/browser' import SvgCanvas from '@svgedit/svgcanvas' import ConfigObj from './ConfigObj.js' @@ -26,7 +26,7 @@ import TopPanel from './panels/TopPanel.js' import BottomPanel from './panels/BottomPanel.js' import LayersPanel from './panels/LayersPanel.js' import MainMenu from './MainMenu.js' -import { getParentsUntil } from '../common/util.js' +import { getParentsUntil } from '@svgedit/svgcanvas/common/util.js' const { $id, $click, decode64, blankPageObjectURL } = SvgCanvas diff --git a/src/editor/MainMenu.js b/src/editor/MainMenu.js index d29a83c8..91ab09f7 100644 --- a/src/editor/MainMenu.js +++ b/src/editor/MainMenu.js @@ -1,6 +1,6 @@ /* globals seAlert */ import SvgCanvas from '@svgedit/svgcanvas' -import { isChrome } from '../common/browser.js' +import { isChrome } from '@svgedit/svgcanvas/common/browser.js' const { $id, $click, convertUnit, isValidUnit } = SvgCanvas const homePage = 'https://github.com/SVG-Edit/svgedit' diff --git a/src/editor/components/jgraduate/Slider.js b/src/editor/components/jgraduate/Slider.js index 60802d5e..909a6dac 100644 --- a/src/editor/components/jgraduate/Slider.js +++ b/src/editor/components/jgraduate/Slider.js @@ -1,4 +1,4 @@ -import { findPos } from '../../../common/util.js' +import { findPos } from '@svgedit/svgcanvas/common/util.js' /** * Whether a value is `null` or `undefined`. * @param {any} val diff --git a/src/editor/components/jgraduate/jQuery.jGraduate.js b/src/editor/components/jgraduate/jQuery.jGraduate.js index f0acb035..80e2f276 100644 --- a/src/editor/components/jgraduate/jQuery.jGraduate.js +++ b/src/editor/components/jgraduate/jQuery.jGraduate.js @@ -20,7 +20,7 @@ */ import SvgCanvas from '@svgedit/svgcanvas' import { jPickerDefaults, jPickerMethod } from './jQuery.jPicker.js' -import { findPos } from '../../../common/util.js' +import { findPos } from '@svgedit/svgcanvas/common/util.js' /** * @todo JFH: This jQuery plugin was adapted to work within a Web Component. diff --git a/src/editor/components/jgraduate/jQuery.jPicker.js b/src/editor/components/jgraduate/jQuery.jPicker.js index fe95e497..f6780096 100755 --- a/src/editor/components/jgraduate/jQuery.jPicker.js +++ b/src/editor/components/jgraduate/jQuery.jPicker.js @@ -18,7 +18,7 @@ /* eslint-disable max-len */ import ColorValuePicker from './ColorValuePicker.js' import Slider from './Slider.js' -import { findPos, mergeDeep } from '../../../common/util.js' +import { findPos, mergeDeep } from '@svgedit/svgcanvas/common/util.js' /** * @external Math diff --git a/web-dev-server.config.mjs b/web-dev-server.config.mjs index 3c015b6f..2c738e59 100644 --- a/web-dev-server.config.mjs +++ b/web-dev-server.config.mjs @@ -1,9 +1,9 @@ import { fromRollup } from '@web/dev-server-rollup' -import rollupCommonjs from '@rollup/plugin-commonjs' +import rollupBabel from '@rollup/plugin-babel' import rollupHtml from 'rollup-plugin-html' -const commonjs = fromRollup(rollupCommonjs) const html = fromRollup(rollupHtml) +const babel = fromRollup(rollupBabel) export default { mimeTypes: { @@ -11,11 +11,7 @@ export default { 'src/editor/panels/*.html': 'js', 'src/editor/templates/*.html': 'js', 'src/editor/dialogs/*.html': 'js', - 'src/editor/extensions/*/*.html': 'js', - 'instrumented/editor/panels/*.html': 'js', - 'instrumented/editor/templates/*.html': 'js', - 'instrumented/editor/dialogs/*.html': 'js', - 'instrumented/editor/extensions/*/*.html': 'js' + 'src/editor/extensions/*/*.html': 'js' }, plugins: [ html({ @@ -23,24 +19,30 @@ export default { 'src/editor/panels/*.html', 'src/editor/templates/*.html', 'src/editor/dialogs/*.html', - 'src/editor/extensions/*/*.html', - 'instrumented/editor/panels/*.html', - 'instrumented/editor/templates/*.html', - 'instrumented/editor/dialogs/*.html', - 'instrumented/editor/extensions/*/*.html' + 'src/editor/extensions/*/*.html' ] }), - commonjs({ - // explicitely list packages to increase performance - include: [ - '**/node_modules/rgbcolor/**/*', - '**/node_modules/raf/**/*', - '**/node_modules/font-family-papandreou/**/*', - '**/node_modules/svgpath/**/*', - '**/node_modules/cssesc/**/*', - '**/node_modules/core-js/**/*', - '**/node_modules/performance-now/**/*' - ] + babel({ + babelHelpers: 'bundled', + env: { + test: { + compact: false, + plugins: [ + ['istanbul', { + exclude: [ + 'editor/jquery.min.js', + 'editor/jgraduate/**', + 'editor/react-extensions/react-test' + ], + include: [ + 'src/**', + 'packages/svgcanvas/core/**', + 'packages/svgcanvas/common/**' + ] + }] + ] + } + } }) ] }