diff --git a/packages/joint-core/demo/archive/basic.html b/packages/joint-core/demo/archive/basic.html index 25e079d0c3..e28dc3dcaa 100644 --- a/packages/joint-core/demo/archive/basic.html +++ b/packages/joint-core/demo/archive/basic.html @@ -45,12 +45,7 @@
- - - - - diff --git a/packages/joint-core/demo/archive/basic.js b/packages/joint-core/demo/archive/basic.js index 9aeaae8e3d..c2ebe5275c 100644 --- a/packages/joint-core/demo/archive/basic.js +++ b/packages/joint-core/demo/archive/basic.js @@ -3,7 +3,7 @@ var graph = new joint.dia.Graph; var paper = new joint.dia.Paper({ - el: $('#paper'), + el: document.getElementById('paper'), width: 650, height: 400, gridSize: 20, diff --git a/packages/joint-core/demo/archive/clipping.html b/packages/joint-core/demo/archive/clipping.html index 1b1c76892f..eebdca63c3 100644 --- a/packages/joint-core/demo/archive/clipping.html +++ b/packages/joint-core/demo/archive/clipping.html @@ -19,10 +19,6 @@
- - - - diff --git a/packages/joint-core/demo/archive/links.html b/packages/joint-core/demo/archive/links.html index fb411df11b..4fb1dc72d7 100644 --- a/packages/joint-core/demo/archive/links.html +++ b/packages/joint-core/demo/archive/links.html @@ -19,10 +19,6 @@
- - - - diff --git a/packages/joint-core/demo/archive/links.js b/packages/joint-core/demo/archive/links.js index e8d5d41131..2b9d8708b3 100644 --- a/packages/joint-core/demo/archive/links.js +++ b/packages/joint-core/demo/archive/links.js @@ -42,8 +42,8 @@ paper.on('link:connect', function(linkView, evt, connectedToView, magnetElement, console.log('link:connect', type, connectedToView, magnetElement); }); -$('#perpendicularLinks').on('change', function() { - paper.options.perpendicularLinks = $(this).is(':checked') ? true : false; +document.getElementById('perpendicularLinks').addEventListener('change', function(evt) { + paper.options.perpendicularLinks = evt.target.checked ? true : false; }); // custom link definition diff --git a/packages/joint-core/demo/bandwidth/index.html b/packages/joint-core/demo/bandwidth/index.html index 22c0fdaf4a..4000789b48 100644 --- a/packages/joint-core/demo/bandwidth/index.html +++ b/packages/joint-core/demo/bandwidth/index.html @@ -13,9 +13,6 @@
- - - diff --git a/packages/joint-core/demo/bus/index.html b/packages/joint-core/demo/bus/index.html index ccd66a4e24..252e26f49e 100644 --- a/packages/joint-core/demo/bus/index.html +++ b/packages/joint-core/demo/bus/index.html @@ -14,10 +14,6 @@
- - - - diff --git a/packages/joint-core/demo/chess/index.html b/packages/joint-core/demo/chess/index.html index 64c803e099..6f828c600b 100644 --- a/packages/joint-core/demo/chess/index.html +++ b/packages/joint-core/demo/chess/index.html @@ -16,9 +16,6 @@
- - - diff --git a/packages/joint-core/demo/container/index.html b/packages/joint-core/demo/container/index.html index aec1b9de75..5ee9dcf088 100644 --- a/packages/joint-core/demo/container/index.html +++ b/packages/joint-core/demo/container/index.html @@ -15,7 +15,6 @@
- diff --git a/packages/joint-core/demo/curves/index.html b/packages/joint-core/demo/curves/index.html index fb1c5186cb..160b1c5bcf 100644 --- a/packages/joint-core/demo/curves/index.html +++ b/packages/joint-core/demo/curves/index.html @@ -10,8 +10,6 @@
- - diff --git a/packages/joint-core/demo/devs/index.html b/packages/joint-core/demo/devs/index.html index 83dfaa8f4e..1b4e45d951 100644 --- a/packages/joint-core/demo/devs/index.html +++ b/packages/joint-core/demo/devs/index.html @@ -17,9 +17,6 @@
- - - diff --git a/packages/joint-core/demo/dgl/package.json b/packages/joint-core/demo/dgl/package.json index 355437e01d..47251c4d42 100644 --- a/packages/joint-core/demo/dgl/package.json +++ b/packages/joint-core/demo/dgl/package.json @@ -15,10 +15,6 @@ "build": "webpack --config webpack.config.js", "start": "webpack serve --config webpack.config.js" }, - "dependencies": { - "jquery": "~3.5.1", - "lodash": "~4.17.20" - }, "devDependencies": { "@babel/core": "7.10.4", "@babel/preset-env": "7.10.4", @@ -26,7 +22,6 @@ "copy-webpack-plugin": "5.1.1", "core-js": "3.6.1", "css-loader": "3.5.3", - "elkjs": "0.6.2", "file-loader": "6.0.0", "regenerator-runtime": "0.13.5", "sass": "1.26.8", diff --git a/packages/joint-core/demo/dgl/src/directed-graph.mjs b/packages/joint-core/demo/dgl/src/directed-graph.mjs index 35bed64df5..a315d50156 100644 --- a/packages/joint-core/demo/dgl/src/directed-graph.mjs +++ b/packages/joint-core/demo/dgl/src/directed-graph.mjs @@ -1,6 +1,15 @@ import * as dagre from 'dagre'; import * as joint from '../../../joint.mjs'; +function val(view, selector, val) { + var el = view.el.querySelector(selector); + if (!el) return null; + if (val === undefined) { + return el.value; + } + el.value = val; +} + var Shape = joint.dia.Element.define('demo.Shape', { z: 2, size: { @@ -180,12 +189,12 @@ var LayoutControls = joint.mvc.View.extend({ graphlib: dagre.graphlib, setVertices: true, setLabels: true, - ranker: this.$('#ranker').val(), - rankDir: this.$('#rankdir').val(), - align: this.$('#align').val(), - rankSep: parseInt(this.$('#ranksep').val(), 10), - edgeSep: parseInt(this.$('#edgesep').val(), 10), - nodeSep: parseInt(this.$('#nodesep').val(), 10) + ranker: val(this, '#ranker'), + rankDir: val(this, '#rankdir'), + align: val(this, '#align'), + rankSep: parseInt(val(this, '#ranksep'), 10), + edgeSep: parseInt(val(this, '#edgesep'), 10), + nodeSep: parseInt(val(this, '#nodesep'), 10) }; }, @@ -254,18 +263,18 @@ var LinkControls = joint.mvc.View.extend({ var link = this.options.cellView.model; - this.$('#labelpos').val(link.get('labelPosition')); - this.$('#labeloffset').val(link.get('labelOffset')); - this.$('#minlen').val(link.get('minLen')); - this.$('#weight').val(link.get('weight')); + val(this, '#labelpos', link.get('labelPosition')); + val(this, '#labeloffset', link.get('labelOffset')); + val(this, '#minlen', link.get('minLen')); + val(this, '#weight', link.get('weight')); }, getModelAttributes: function() { return { - minLen: parseInt(this.$('#minlen').val(), 10), - weight: parseInt(this.$('#weight').val(), 10), - labelPosition: this.$('#labelpos').val(), - labelOffset: parseInt(this.$('#labeloffset').val(), 10) + minLen: parseInt(val(this, '#minlen'), 10), + weight: parseInt(val(this, '#weight'), 10), + labelPosition: val(this, '#labelpos'), + labelOffset: parseInt(val(this, '#labeloffset'), 10) }; }, @@ -289,7 +298,7 @@ var LinkControls = joint.mvc.View.extend({ el: this.template.cloneNode(true), cellView: linkView }); - this.instance.$el.insertAfter('#layout-controls'); + document.getElementById('layout-controls').after(this.instance.el); }, remove: function() { diff --git a/packages/joint-core/demo/dgl/yarn.lock b/packages/joint-core/demo/dgl/yarn.lock index da3170562f..b3ec66619c 100644 --- a/packages/joint-core/demo/dgl/yarn.lock +++ b/packages/joint-core/demo/dgl/yarn.lock @@ -5,19 +5,20 @@ __metadata: version: 6 cacheKey: 8 -"@babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/code-frame@npm:7.22.5" +"@babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.22.13, @babel/code-frame@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/code-frame@npm:7.23.5" dependencies: - "@babel/highlight": ^7.22.5 - checksum: cfe804f518f53faaf9a1d3e0f9f74127ab9a004912c3a16fda07fb6a633393ecb9918a053cb71804204c1b7ec3d49e1699604715e2cfb0c9f7bc4933d324ebb6 + "@babel/highlight": ^7.23.4 + chalk: ^2.4.2 + checksum: d90981fdf56a2824a9b14d19a4c0e8db93633fd488c772624b4e83e0ceac6039a27cd298a247c3214faa952bf803ba23696172ae7e7235f3b97f43ba278c569a languageName: node linkType: hard "@babel/compat-data@npm:^7.10.4, @babel/compat-data@npm:^7.20.5, @babel/compat-data@npm:^7.22.9": - version: 7.22.9 - resolution: "@babel/compat-data@npm:7.22.9" - checksum: bed77d9044ce948b4327b30dd0de0779fa9f3a7ed1f2d31638714ed00229fa71fc4d1617ae0eb1fad419338d3658d0e9a5a083297451e09e73e078d0347ff808 + version: 7.23.5 + resolution: "@babel/compat-data@npm:7.23.5" + checksum: 06ce244cda5763295a0ea924728c09bae57d35713b675175227278896946f922a63edf803c322f855a3878323d48d0255a2a3023409d2a123483c8a69ebb4744 languageName: node linkType: hard @@ -45,15 +46,15 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.10.4, @babel/generator@npm:^7.22.7": - version: 7.22.9 - resolution: "@babel/generator@npm:7.22.9" +"@babel/generator@npm:^7.10.4, @babel/generator@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/generator@npm:7.23.5" dependencies: - "@babel/types": ^7.22.5 + "@babel/types": ^7.23.5 "@jridgewell/gen-mapping": ^0.3.2 "@jridgewell/trace-mapping": ^0.3.17 jsesc: ^2.5.1 - checksum: 7c9d2c58b8d5ac5e047421a6ab03ec2ff5d9a5ff2c2212130a0055e063ac349e0b19d435537d6886c999771aef394832e4f54cd9fc810100a7f23d982f6af06b + checksum: 845ddda7cf38a3edf4be221cc8a439dee9ea6031355146a1a74047aa8007bc030305b27d8c68ec9e311722c910610bde38c0e13a9ce55225251e7cb7e7f3edc8 languageName: node linkType: hard @@ -66,76 +67,74 @@ __metadata: languageName: node linkType: hard -"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.22.5" +"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.22.15" dependencies: - "@babel/types": ^7.22.5 - checksum: d753acac62399fc6dd354cf1b9441bde0c331c2fe792a4c14904c5e5eafc3cac79478f6aa038e8a51c1148b0af6710a2e619855e4b5d54497ac972eaffed5884 + "@babel/types": ^7.22.15 + checksum: 639c697a1c729f9fafa2dd4c9af2e18568190299b5907bd4c2d0bc818fcbd1e83ffeecc2af24327a7faa7ac4c34edd9d7940510a5e66296c19bad17001cf5c7a languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.10.4, @babel/helper-compilation-targets@npm:^7.20.7, @babel/helper-compilation-targets@npm:^7.22.5, @babel/helper-compilation-targets@npm:^7.22.6": - version: 7.22.9 - resolution: "@babel/helper-compilation-targets@npm:7.22.9" +"@babel/helper-compilation-targets@npm:^7.10.4, @babel/helper-compilation-targets@npm:^7.20.7, @babel/helper-compilation-targets@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/helper-compilation-targets@npm:7.22.15" dependencies: "@babel/compat-data": ^7.22.9 - "@babel/helper-validator-option": ^7.22.5 + "@babel/helper-validator-option": ^7.22.15 browserslist: ^4.21.9 lru-cache: ^5.1.1 semver: ^6.3.1 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: ea0006c6a93759025f4a35a25228ae260538c9f15023e8aac2a6d45ca68aef4cf86cfc429b19af9a402cbdd54d5de74ad3fbcf6baa7e48184dc079f1a791e178 + checksum: ce85196769e091ae54dd39e4a80c2a9df1793da8588e335c383d536d54f06baf648d0a08fc873044f226398c4ded15c4ae9120ee18e7dfd7c639a68e3cdc9980 languageName: node linkType: hard "@babel/helper-create-class-features-plugin@npm:^7.18.6": - version: 7.22.9 - resolution: "@babel/helper-create-class-features-plugin@npm:7.22.9" + version: 7.23.5 + resolution: "@babel/helper-create-class-features-plugin@npm:7.23.5" dependencies: "@babel/helper-annotate-as-pure": ^7.22.5 - "@babel/helper-environment-visitor": ^7.22.5 - "@babel/helper-function-name": ^7.22.5 - "@babel/helper-member-expression-to-functions": ^7.22.5 + "@babel/helper-environment-visitor": ^7.22.20 + "@babel/helper-function-name": ^7.23.0 + "@babel/helper-member-expression-to-functions": ^7.23.0 "@babel/helper-optimise-call-expression": ^7.22.5 - "@babel/helper-replace-supers": ^7.22.9 + "@babel/helper-replace-supers": ^7.22.20 "@babel/helper-skip-transparent-expression-wrappers": ^7.22.5 "@babel/helper-split-export-declaration": ^7.22.6 semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: 6c2436d1a5a3f1ff24628d78fa8c6d3120c40285aa3eda7815b1adbf8c5951e0dd73d368cf845825888fa3dc2f207dadce53309825598d7c67953e5ed9dd51d2 + checksum: fe7c6c0baca1838bba76ac1330df47b661d932354115ea9e2ea65b179f80b717987d3c3da7e1525fd648e5f2d86c620efc959cabda4d7562b125a27c3ac780d0 languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.22.5": - version: 7.22.9 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.22.9" +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.22.15, @babel/helper-create-regexp-features-plugin@npm:^7.22.5": + version: 7.22.15 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.22.15" dependencies: "@babel/helper-annotate-as-pure": ^7.22.5 regexpu-core: ^5.3.1 semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: 87cb48a7ee898ab205374274364c3adc70b87b08c7bd07f51019ae4562c0170d7148e654d591f825dee14b5fe11666a0e7966872dfdbfa0d1b94b861ecf0e4e1 + checksum: 0243b8d4854f1dc8861b1029a46d3f6393ad72f366a5a08e36a4648aa682044f06da4c6e87a456260e1e1b33c999f898ba591a0760842c1387bcc93fbf2151a6 languageName: node linkType: hard -"@babel/helper-environment-visitor@npm:^7.18.9, @babel/helper-environment-visitor@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-environment-visitor@npm:7.22.5" - checksum: 248532077d732a34cd0844eb7b078ff917c3a8ec81a7f133593f71a860a582f05b60f818dc5049c2212e5baa12289c27889a4b81d56ef409b4863db49646c4b1 +"@babel/helper-environment-visitor@npm:^7.18.9, @babel/helper-environment-visitor@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-environment-visitor@npm:7.22.20" + checksum: d80ee98ff66f41e233f36ca1921774c37e88a803b2f7dca3db7c057a5fea0473804db9fb6729e5dbfd07f4bed722d60f7852035c2c739382e84c335661590b69 languageName: node linkType: hard -"@babel/helper-function-name@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-function-name@npm:7.22.5" +"@babel/helper-function-name@npm:^7.22.5, @babel/helper-function-name@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/helper-function-name@npm:7.23.0" dependencies: - "@babel/template": ^7.22.5 - "@babel/types": ^7.22.5 - checksum: 6b1f6ce1b1f4e513bf2c8385a557ea0dd7fa37971b9002ad19268ca4384bbe90c09681fe4c076013f33deabc63a53b341ed91e792de741b4b35e01c00238177a + "@babel/template": ^7.22.15 + "@babel/types": ^7.23.0 + checksum: e44542257b2d4634a1f979244eb2a4ad8e6d75eb6761b4cfceb56b562f7db150d134bc538c8e6adca3783e3bc31be949071527aa8e3aab7867d1ad2d84a26e10 languageName: node linkType: hard @@ -148,36 +147,36 @@ __metadata: languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-member-expression-to-functions@npm:7.22.5" +"@babel/helper-member-expression-to-functions@npm:^7.22.15, @babel/helper-member-expression-to-functions@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/helper-member-expression-to-functions@npm:7.23.0" dependencies: - "@babel/types": ^7.22.5 - checksum: 4bd5791529c280c00743e8bdc669ef0d4cd1620d6e3d35e0d42b862f8262bc2364973e5968007f960780344c539a4b9cf92ab41f5b4f94560a9620f536de2a39 + "@babel/types": ^7.23.0 + checksum: 494659361370c979ada711ca685e2efe9460683c36db1b283b446122596602c901e291e09f2f980ecedfe6e0f2bd5386cb59768285446530df10c14df1024e75 languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.10.4, @babel/helper-module-imports@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-module-imports@npm:7.22.5" +"@babel/helper-module-imports@npm:^7.10.4, @babel/helper-module-imports@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/helper-module-imports@npm:7.22.15" dependencies: - "@babel/types": ^7.22.5 - checksum: 9ac2b0404fa38b80bdf2653fbeaf8e8a43ccb41bd505f9741d820ed95d3c4e037c62a1bcdcb6c9527d7798d2e595924c4d025daed73283badc180ada2c9c49ad + "@babel/types": ^7.22.15 + checksum: ecd7e457df0a46f889228f943ef9b4a47d485d82e030676767e6a2fdcbdaa63594d8124d4b55fd160b41c201025aec01fc27580352b1c87a37c9c6f33d116702 languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.10.4, @babel/helper-module-transforms@npm:^7.22.5": - version: 7.22.9 - resolution: "@babel/helper-module-transforms@npm:7.22.9" +"@babel/helper-module-transforms@npm:^7.10.4, @babel/helper-module-transforms@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/helper-module-transforms@npm:7.23.3" dependencies: - "@babel/helper-environment-visitor": ^7.22.5 - "@babel/helper-module-imports": ^7.22.5 + "@babel/helper-environment-visitor": ^7.22.20 + "@babel/helper-module-imports": ^7.22.15 "@babel/helper-simple-access": ^7.22.5 "@babel/helper-split-export-declaration": ^7.22.6 - "@babel/helper-validator-identifier": ^7.22.5 + "@babel/helper-validator-identifier": ^7.22.20 peerDependencies: "@babel/core": ^7.0.0 - checksum: 2751f77660518cf4ff027514d6f4794f04598c6393be7b04b8e46c6e21606e11c19f3f57ab6129a9c21bacdf8b3ffe3af87bb401d972f34af2d0ffde02ac3001 + checksum: 5d0895cfba0e16ae16f3aa92fee108517023ad89a855289c4eb1d46f7aef4519adf8e6f971e1d55ac20c5461610e17213f1144097a8f932e768a9132e2278d71 languageName: node linkType: hard @@ -197,29 +196,29 @@ __metadata: languageName: node linkType: hard -"@babel/helper-remap-async-to-generator@npm:^7.18.9, @babel/helper-remap-async-to-generator@npm:^7.22.5": - version: 7.22.9 - resolution: "@babel/helper-remap-async-to-generator@npm:7.22.9" +"@babel/helper-remap-async-to-generator@npm:^7.18.9, @babel/helper-remap-async-to-generator@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-remap-async-to-generator@npm:7.22.20" dependencies: "@babel/helper-annotate-as-pure": ^7.22.5 - "@babel/helper-environment-visitor": ^7.22.5 - "@babel/helper-wrap-function": ^7.22.9 + "@babel/helper-environment-visitor": ^7.22.20 + "@babel/helper-wrap-function": ^7.22.20 peerDependencies: "@babel/core": ^7.0.0 - checksum: 05538079447829b13512157491cc77f9cf1ea7e1680e15cff0682c3ed9ee162de0c4862ece20a6d6b2df28177a1520bcfe45993fbeccf2747a81795a7c3f6290 + checksum: 2fe6300a6f1b58211dffa0aed1b45d4958506d096543663dba83bd9251fe8d670fa909143a65b45e72acb49e7e20fbdb73eae315d9ddaced467948c3329986e7 languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.22.5, @babel/helper-replace-supers@npm:^7.22.9": - version: 7.22.9 - resolution: "@babel/helper-replace-supers@npm:7.22.9" +"@babel/helper-replace-supers@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-replace-supers@npm:7.22.20" dependencies: - "@babel/helper-environment-visitor": ^7.22.5 - "@babel/helper-member-expression-to-functions": ^7.22.5 + "@babel/helper-environment-visitor": ^7.22.20 + "@babel/helper-member-expression-to-functions": ^7.22.15 "@babel/helper-optimise-call-expression": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0 - checksum: d41471f56ff2616459d35a5df1900d5f0756ae78b1027040365325ef332d66e08e3be02a9489756d870887585ff222403a228546e93dd7019e19e59c0c0fe586 + checksum: a0008332e24daedea2e9498733e3c39b389d6d4512637e000f96f62b797e702ee24a407ccbcd7a236a551590a38f31282829a8ef35c50a3c0457d88218cae639 languageName: node linkType: hard @@ -250,66 +249,66 @@ __metadata: languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-string-parser@npm:7.22.5" - checksum: 836851ca5ec813077bbb303acc992d75a360267aa3b5de7134d220411c852a6f17de7c0d0b8c8dcc0f567f67874c00f4528672b2a4f1bc978a3ada64c8c78467 +"@babel/helper-string-parser@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/helper-string-parser@npm:7.23.4" + checksum: c0641144cf1a7e7dc93f3d5f16d5327465b6cf5d036b48be61ecba41e1eece161b48f46b7f960951b67f8c3533ce506b16dece576baef4d8b3b49f8c65410f90 languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-validator-identifier@npm:7.22.5" - checksum: 7f0f30113474a28298c12161763b49de5018732290ca4de13cdaefd4fd0d635a6fe3f6686c37a02905fb1e64f21a5ee2b55140cf7b070e729f1bd66866506aea +"@babel/helper-validator-identifier@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-validator-identifier@npm:7.22.20" + checksum: 136412784d9428266bcdd4d91c32bcf9ff0e8d25534a9d94b044f77fe76bc50f941a90319b05aafd1ec04f7d127cd57a179a3716009ff7f3412ef835ada95bdc languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-validator-option@npm:7.22.5" - checksum: bbeca8a85ee86990215c0424997438b388b8d642d69b9f86c375a174d3cdeb270efafd1ff128bc7a1d370923d13b6e45829ba8581c027620e83e3a80c5c414b3 +"@babel/helper-validator-option@npm:^7.22.15": + version: 7.23.5 + resolution: "@babel/helper-validator-option@npm:7.23.5" + checksum: 537cde2330a8aede223552510e8a13e9c1c8798afee3757995a7d4acae564124fe2bf7e7c3d90d62d3657434a74340a274b3b3b1c6f17e9a2be1f48af29cb09e languageName: node linkType: hard -"@babel/helper-wrap-function@npm:^7.22.9": - version: 7.22.9 - resolution: "@babel/helper-wrap-function@npm:7.22.9" +"@babel/helper-wrap-function@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-wrap-function@npm:7.22.20" dependencies: "@babel/helper-function-name": ^7.22.5 - "@babel/template": ^7.22.5 - "@babel/types": ^7.22.5 - checksum: 037317dc06dac6593e388738ae1d3e43193bc1d31698f067c0ef3d4dc6f074dbed860ed42aa137b48a67aa7cb87336826c4bdc13189260481bcf67eb7256c789 + "@babel/template": ^7.22.15 + "@babel/types": ^7.22.19 + checksum: 221ed9b5572612aeb571e4ce6a256f2dee85b3c9536f1dd5e611b0255e5f59a3d0ec392d8d46d4152149156a8109f92f20379b1d6d36abb613176e0e33f05fca languageName: node linkType: hard "@babel/helpers@npm:^7.10.4": - version: 7.22.6 - resolution: "@babel/helpers@npm:7.22.6" + version: 7.23.5 + resolution: "@babel/helpers@npm:7.23.5" dependencies: - "@babel/template": ^7.22.5 - "@babel/traverse": ^7.22.6 - "@babel/types": ^7.22.5 - checksum: 5c1f33241fe7bf7709868c2105134a0a86dca26a0fbd508af10a89312b1f77ca38ebae43e50be3b208613c5eacca1559618af4ca236f0abc55d294800faeff30 + "@babel/template": ^7.22.15 + "@babel/traverse": ^7.23.5 + "@babel/types": ^7.23.5 + checksum: c16dc8a3bb3d0e02c7ee1222d9d0865ed4b92de44fb8db43ff5afd37a0fc9ea5e2906efa31542c95b30c1a3a9540d66314663c9a23b5bb9b5ec76e8ebc896064 languageName: node linkType: hard -"@babel/highlight@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/highlight@npm:7.22.5" +"@babel/highlight@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/highlight@npm:7.23.4" dependencies: - "@babel/helper-validator-identifier": ^7.22.5 - chalk: ^2.0.0 + "@babel/helper-validator-identifier": ^7.22.20 + chalk: ^2.4.2 js-tokens: ^4.0.0 - checksum: f61ae6de6ee0ea8d9b5bcf2a532faec5ab0a1dc0f7c640e5047fc61630a0edb88b18d8c92eb06566d30da7a27db841aca11820ecd3ebe9ce514c9350fbed39c4 + checksum: 643acecdc235f87d925979a979b539a5d7d1f31ae7db8d89047269082694122d11aa85351304c9c978ceeb6d250591ccadb06c366f358ccee08bb9c122476b89 languageName: node linkType: hard -"@babel/parser@npm:^7.10.4, @babel/parser@npm:^7.22.5, @babel/parser@npm:^7.22.7": - version: 7.22.7 - resolution: "@babel/parser@npm:7.22.7" +"@babel/parser@npm:^7.10.4, @babel/parser@npm:^7.22.15, @babel/parser@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/parser@npm:7.23.5" bin: parser: ./bin/babel-parser.js - checksum: 02209ddbd445831ee8bf966fdf7c29d189ed4b14343a68eb2479d940e7e3846340d7cc6bd654a5f3d87d19dc84f49f50a58cf9363bee249dc5409ff3ba3dab54 + checksum: ea763629310f71580c4a3ea9d3705195b7ba994ada2cc98f9a584ebfdacf54e92b2735d351672824c2c2b03c7f19206899f4d95650d85ce514a822b19a8734c7 languageName: node linkType: hard @@ -562,222 +561,222 @@ __metadata: linkType: hard "@babel/plugin-transform-arrow-functions@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 35abb6c57062802c7ce8bd96b2ef2883e3124370c688bbd67609f7d2453802fb73944df8808f893b6c67de978eb2bcf87bbfe325e46d6f39b5fcb09ece11d01a + checksum: 1e99118176e5366c2636064d09477016ab5272b2a92e78b8edb571d20bc3eaa881789a905b20042942c3c2d04efc530726cf703f937226db5ebc495f5d067e66 languageName: node linkType: hard "@babel/plugin-transform-async-to-generator@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.23.3" dependencies: - "@babel/helper-module-imports": ^7.22.5 + "@babel/helper-module-imports": ^7.22.15 "@babel/helper-plugin-utils": ^7.22.5 - "@babel/helper-remap-async-to-generator": ^7.22.5 + "@babel/helper-remap-async-to-generator": ^7.22.20 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b95f23f99dcb379a9f0a1c2a3bbea3f8dc0e1b16dc1ac8b484fe378370169290a7a63d520959a9ba1232837cf74a80e23f6facbe14fd42a3cda6d3c2d7168e62 + checksum: 2e9d9795d4b3b3d8090332104e37061c677f29a1ce65bcbda4099a32d243e5d9520270a44bbabf0fb1fb40d463bd937685b1a1042e646979086c546d55319c3c languageName: node linkType: hard "@babel/plugin-transform-block-scoped-functions@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 416b1341858e8ca4e524dee66044735956ced5f478b2c3b9bc11ec2285b0c25d7dbb96d79887169eb938084c95d0a89338c8b2fe70d473bd9dc92e5d9db1732c + checksum: e63b16d94ee5f4d917e669da3db5ea53d1e7e79141a2ec873c1e644678cdafe98daa556d0d359963c827863d6b3665d23d4938a94a4c5053a1619c4ebd01d020 languageName: node linkType: hard "@babel/plugin-transform-block-scoping@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-block-scoping@npm:7.22.5" + version: 7.23.4 + resolution: "@babel/plugin-transform-block-scoping@npm:7.23.4" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 26987002cfe6e24544e60fa35f07052b6557f590c1a1cc5cf35d6dc341d7fea163c1222a2d70d5d2692f0b9860d942fd3ba979848b2995d4debffa387b9b19ae + checksum: fc4b2100dd9f2c47d694b4b35ae8153214ccb4e24ef545c259a9db17211b18b6a430f22799b56db8f6844deaeaa201af45a03331d0c80cc28b0c4e3c814570e4 languageName: node linkType: hard "@babel/plugin-transform-classes@npm:^7.10.4": - version: 7.22.6 - resolution: "@babel/plugin-transform-classes@npm:7.22.6" + version: 7.23.5 + resolution: "@babel/plugin-transform-classes@npm:7.23.5" dependencies: "@babel/helper-annotate-as-pure": ^7.22.5 - "@babel/helper-compilation-targets": ^7.22.6 - "@babel/helper-environment-visitor": ^7.22.5 - "@babel/helper-function-name": ^7.22.5 + "@babel/helper-compilation-targets": ^7.22.15 + "@babel/helper-environment-visitor": ^7.22.20 + "@babel/helper-function-name": ^7.23.0 "@babel/helper-optimise-call-expression": ^7.22.5 "@babel/helper-plugin-utils": ^7.22.5 - "@babel/helper-replace-supers": ^7.22.5 + "@babel/helper-replace-supers": ^7.22.20 "@babel/helper-split-export-declaration": ^7.22.6 globals: ^11.1.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 8380e855c01033dbc7460d9acfbc1fc37c880350fa798c2de8c594ef818ade0e4c96173ec72f05f2a4549d8d37135e18cb62548352d51557b45a0fb4388d2f3f + checksum: 6d0dd3b0828e84a139a51b368f33f315edee5688ef72c68ba25e0175c68ea7357f9c8810b3f61713e368a3063cdcec94f3a2db952e453b0b14ef428a34aa8169 languageName: node linkType: hard "@babel/plugin-transform-computed-properties@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-computed-properties@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-computed-properties@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 - "@babel/template": ^7.22.5 + "@babel/template": ^7.22.15 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: c2a77a0f94ec71efbc569109ec14ea2aa925b333289272ced8b33c6108bdbb02caf01830ffc7e49486b62dec51911924d13f3a76f1149f40daace1898009e131 + checksum: 80452661dc25a0956f89fe98cb562e8637a9556fb6c00d312c57653ce7df8798f58d138603c7e1aad96614ee9ccd10c47e50ab9ded6b6eded5adeb230d2a982e languageName: node linkType: hard "@babel/plugin-transform-destructuring@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-destructuring@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-destructuring@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 76f6ea2aee1fcfa1c3791eb7a5b89703c6472650b993e8666fff0f1d6e9d737a84134edf89f63c92297f3e75064c1263219463b02dd9bc7434b6e5b9935e3f20 + checksum: 9e015099877272501162419bfe781689aec5c462cd2aec752ee22288f209eec65969ff11b8fdadca2eaddea71d705d3bba5b9c60752fcc1be67874fcec687105 languageName: node linkType: hard "@babel/plugin-transform-dotall-regex@npm:^7.10.4, @babel/plugin-transform-dotall-regex@npm:^7.4.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-dotall-regex@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.23.3" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.22.5 + "@babel/helper-create-regexp-features-plugin": ^7.22.15 "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 409b658d11e3082c8f69e9cdef2d96e4d6d11256f005772425fb230cc48fd05945edbfbcb709dab293a1a2f01f9c8a5bb7b4131e632b23264039d9f95864b453 + checksum: a2dbbf7f1ea16a97948c37df925cb364337668c41a3948b8d91453f140507bd8a3429030c7ce66d09c299987b27746c19a2dd18b6f17dcb474854b14fd9159a3 languageName: node linkType: hard "@babel/plugin-transform-duplicate-keys@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-duplicate-keys@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: bb1280fbabaab6fab2ede585df34900712698210a3bd413f4df5bae6d8c24be36b496c92722ae676a7a67d060a4624f4d6c23b923485f906bfba8773c69f55b4 + checksum: c2a21c34dc0839590cd945192cbc46fde541a27e140c48fe1808315934664cdbf18db64889e23c4eeb6bad9d3e049482efdca91d29de5734ffc887c4fbabaa16 languageName: node linkType: hard "@babel/plugin-transform-exponentiation-operator@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.23.3" dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor": ^7.22.5 + "@babel/helper-builder-binary-assignment-operator-visitor": ^7.22.15 "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: f2d660c1b1d51ad5fec1cd5ad426a52187204068c4158f8c4aa977b31535c61b66898d532603eef21c15756827be8277f724c869b888d560f26d7fe848bb5eae + checksum: 00d05ab14ad0f299160fcf9d8f55a1cc1b740e012ab0b5ce30207d2365f091665115557af7d989cd6260d075a252d9e4283de5f2b247dfbbe0e42ae586e6bf66 languageName: node linkType: hard "@babel/plugin-transform-for-of@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-for-of@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-for-of@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: d7b8d4db010bce7273674caa95c4e6abd909362866ce297e86a2ecaa9ae636e05d525415811db9b3c942155df7f3651d19b91dd6c41f142f7308a97c7cb06023 + checksum: a6288122a5091d96c744b9eb23dc1b2d4cce25f109ac1e26a0ea03c4ea60330e6f3cc58530b33ba7369fa07163b71001399a145238b7e92bff6270ef3b9c32a0 languageName: node linkType: hard "@babel/plugin-transform-function-name@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-function-name@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-function-name@npm:7.23.3" dependencies: - "@babel/helper-compilation-targets": ^7.22.5 - "@babel/helper-function-name": ^7.22.5 + "@babel/helper-compilation-targets": ^7.22.15 + "@babel/helper-function-name": ^7.23.0 "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: cff3b876357999cb8ae30e439c3ec6b0491a53b0aa6f722920a4675a6dd5b53af97a833051df4b34791fe5b3dd326ccf769d5c8e45b322aa50ee11a660b17845 + checksum: 355c6dbe07c919575ad42b2f7e020f320866d72f8b79181a16f8e0cd424a2c761d979f03f47d583d9471b55dcd68a8a9d829b58e1eebcd572145b934b48975a6 languageName: node linkType: hard "@babel/plugin-transform-literals@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-literals@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-literals@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: ec37cc2ffb32667af935ab32fe28f00920ec8a1eb999aa6dc6602f2bebd8ba205a558aeedcdccdebf334381d5c57106c61f52332045730393e73410892a9735b + checksum: 519a544cd58586b9001c4c9b18da25a62f17d23c48600ff7a685d75ca9eb18d2c5e8f5476f067f0a8f1fea2a31107eff950b9864833061e6076dcc4bdc3e71ed languageName: node linkType: hard "@babel/plugin-transform-member-expression-literals@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-member-expression-literals@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: ec4b0e07915ddd4fda0142fd104ee61015c208608a84cfa13643a95d18760b1dc1ceb6c6e0548898b8c49e5959a994e46367260176dbabc4467f729b21868504 + checksum: 95cec13c36d447c5aa6b8e4c778b897eeba66dcb675edef01e0d2afcec9e8cb9726baf4f81b4bbae7a782595aed72e6a0d44ffb773272c3ca180fada99bf92db languageName: node linkType: hard "@babel/plugin-transform-modules-amd@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-modules-amd@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-modules-amd@npm:7.23.3" dependencies: - "@babel/helper-module-transforms": ^7.22.5 + "@babel/helper-module-transforms": ^7.23.3 "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 7da4c4ebbbcf7d182abb59b2046b22d86eee340caf8a22a39ef6a727da2d8acfec1f714fcdcd5054110b280e4934f735e80a6848d192b6834c5d4459a014f04d + checksum: d163737b6a3d67ea579c9aa3b83d4df4b5c34d9dcdf25f415f027c0aa8cded7bac2750d2de5464081f67a042ad9e1c03930c2fab42acd79f9e57c00cf969ddff languageName: node linkType: hard "@babel/plugin-transform-modules-commonjs@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.23.3" dependencies: - "@babel/helper-module-transforms": ^7.22.5 + "@babel/helper-module-transforms": ^7.23.3 "@babel/helper-plugin-utils": ^7.22.5 "@babel/helper-simple-access": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 2067aca8f6454d54ffcce69b02c457cfa61428e11372f6a1d99ff4fcfbb55c396ed2ca6ca886bf06c852e38c1a205b8095921b2364fd0243f3e66bc1dda61caa + checksum: 720a231ceade4ae4d2632478db4e7fecf21987d444942b72d523487ac8d715ca97de6c8f415c71e939595e1a4776403e7dc24ed68fe9125ad4acf57753c9bff7 languageName: node linkType: hard "@babel/plugin-transform-modules-systemjs@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.23.3" dependencies: "@babel/helper-hoist-variables": ^7.22.5 - "@babel/helper-module-transforms": ^7.22.5 + "@babel/helper-module-transforms": ^7.23.3 "@babel/helper-plugin-utils": ^7.22.5 - "@babel/helper-validator-identifier": ^7.22.5 + "@babel/helper-validator-identifier": ^7.22.20 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 04f4178589543396b3c24330a67a59c5e69af5e96119c9adda730c0f20122deaff54671ebbc72ad2df6495a5db8a758bd96942de95fba7ad427de9c80b1b38c8 + checksum: 0d2fdd993c785aecac9e0850cd5ed7f7d448f0fbb42992a950cc0590167144df25d82af5aac9a5c99ef913d2286782afa44e577af30c10901c5ee8984910fa1f languageName: node linkType: hard "@babel/plugin-transform-modules-umd@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-modules-umd@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-modules-umd@npm:7.23.3" dependencies: - "@babel/helper-module-transforms": ^7.22.5 + "@babel/helper-module-transforms": ^7.23.3 "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 46622834c54c551b231963b867adbc80854881b3e516ff29984a8da989bd81665bd70e8cba6710345248e97166689310f544aee1a5773e262845a8f1b3e5b8b4 + checksum: 586a7a2241e8b4e753a37af9466a9ffa8a67b4ba9aa756ad7500712c05d8fa9a8c1ed4f7bd25fae2a8265e6cf8fe781ec85a8ee885dd34cf50d8955ee65f12dc languageName: node linkType: hard @@ -794,149 +793,149 @@ __metadata: linkType: hard "@babel/plugin-transform-new-target@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-new-target@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-new-target@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 6b72112773487a881a1d6ffa680afde08bad699252020e86122180ee7a88854d5da3f15d9bca3331cf2e025df045604494a8208a2e63b486266b07c14e2ffbf3 + checksum: e5053389316fce73ad5201b7777437164f333e24787fbcda4ae489cd2580dbbbdfb5694a7237bad91fabb46b591d771975d69beb1c740b82cb4761625379f00b languageName: node linkType: hard "@babel/plugin-transform-object-super@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-object-super@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-object-super@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 - "@babel/helper-replace-supers": ^7.22.5 + "@babel/helper-replace-supers": ^7.22.20 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b71887877d74cb64dbccb5c0324fa67e31171e6a5311991f626650e44a4083e5436a1eaa89da78c0474fb095d4ec322d63ee778b202d33aa2e4194e1ed8e62d7 + checksum: e495497186f621fa79026e183b4f1fbb172fd9df812cbd2d7f02c05b08adbe58012b1a6eb6dd58d11a30343f6ec80d0f4074f9b501d70aa1c94df76d59164c53 languageName: node linkType: hard "@babel/plugin-transform-parameters@npm:^7.10.4, @babel/plugin-transform-parameters@npm:^7.20.7": - version: 7.22.5 - resolution: "@babel/plugin-transform-parameters@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-parameters@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b44f89cf97daf23903776ba27c2ab13b439d80d8c8a95be5c476ab65023b1e0c0e94c28d3745f3b60a58edc4e590fa0cd4287a0293e51401ca7d29a2ddb13b8e + checksum: a735b3e85316d17ec102e3d3d1b6993b429bdb3b494651c9d754e3b7d270462ee1f1a126ccd5e3d871af5e683727e9ef98c9d34d4a42204fffaabff91052ed16 languageName: node linkType: hard "@babel/plugin-transform-property-literals@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-property-literals@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-property-literals@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 796176a3176106f77fcb8cd04eb34a8475ce82d6d03a88db089531b8f0453a2fb8b0c6ec9a52c27948bc0ea478becec449893741fc546dfc3930ab927e3f9f2e + checksum: 16b048c8e87f25095f6d53634ab7912992f78e6997a6ff549edc3cf519db4fca01c7b4e0798530d7f6a05228ceee479251245cdd850a5531c6e6f404104d6cc9 languageName: node linkType: hard "@babel/plugin-transform-regenerator@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-regenerator@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-regenerator@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 - regenerator-transform: ^0.15.1 + regenerator-transform: ^0.15.2 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: f7c5ca5151321963df777cc02725d10d1ccc3b3b8323da0423aecd9ac6144cbdd2274af5281a5580db2fc2f8b234e318517b5d76b85669118906533a559f2b6a + checksum: 7fdacc7b40008883871b519c9e5cdea493f75495118ccc56ac104b874983569a24edd024f0f5894ba1875c54ee2b442f295d6241c3280e61c725d0dd3317c8e6 languageName: node linkType: hard "@babel/plugin-transform-reserved-words@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-reserved-words@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-reserved-words@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 3ffd7dbc425fe8132bfec118b9817572799cab1473113a635d25ab606c1f5a2341a636c04cf6b22df3813320365ed5a965b5eeb3192320a10e4cc2c137bd8bfc + checksum: 298c4440ddc136784ff920127cea137168e068404e635dc946ddb5d7b2a27b66f1dd4c4acb01f7184478ff7d5c3e7177a127279479926519042948fb7fa0fa48 languageName: node linkType: hard "@babel/plugin-transform-shorthand-properties@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-shorthand-properties@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: a5ac902c56ea8effa99f681340ee61bac21094588f7aef0bc01dff98246651702e677552fa6d10e548c4ac22a3ffad047dd2f8c8f0540b68316c2c203e56818b + checksum: 5d677a03676f9fff969b0246c423d64d77502e90a832665dc872a5a5e05e5708161ce1effd56bb3c0f2c20a1112fca874be57c8a759d8b08152755519281f326 languageName: node linkType: hard "@babel/plugin-transform-spread@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-spread@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-spread@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 "@babel/helper-skip-transparent-expression-wrappers": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 5587f0deb60b3dfc9b274e269031cc45ec75facccf1933ea2ea71ced9fd3ce98ed91bb36d6cd26817c14474b90ed998c5078415f0eab531caf301496ce24c95c + checksum: 8fd5cac201e77a0b4825745f4e07a25f923842f282f006b3a79223c00f61075c8868d12eafec86b2642cd0b32077cdd32314e27bcb75ee5e6a68c0144140dcf2 languageName: node linkType: hard "@babel/plugin-transform-sticky-regex@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-sticky-regex@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 63b2c575e3e7f96c32d52ed45ee098fb7d354b35c2223b8c8e76840b32cc529ee0c0ceb5742fd082e56e91e3d82842a367ce177e82b05039af3d602c9627a729 + checksum: 53e55eb2575b7abfdb4af7e503a2bf7ef5faf8bf6b92d2cd2de0700bdd19e934e5517b23e6dfed94ba50ae516b62f3f916773ef7d9bc81f01503f585051e2949 languageName: node linkType: hard "@babel/plugin-transform-template-literals@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-template-literals@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-template-literals@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 27e9bb030654cb425381c69754be4abe6a7c75b45cd7f962cd8d604b841b2f0fb7b024f2efc1c25cc53f5b16d79d5e8cfc47cacbdaa983895b3aeefa3e7e24ff + checksum: b16c5cb0b8796be0118e9c144d15bdc0d20a7f3f59009c6303a6e9a8b74c146eceb3f05186f5b97afcba7cfa87e34c1585a22186e3d5b22f2fd3d27d959d92b2 languageName: node linkType: hard "@babel/plugin-transform-typeof-symbol@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 82a53a63ffc3010b689ca9a54e5f53b2718b9f4b4a9818f36f9b7dba234f38a01876680553d2716a645a61920b5e6e4aaf8d4a0064add379b27ca0b403049512 + checksum: 0af7184379d43afac7614fc89b1bdecce4e174d52f4efaeee8ec1a4f2c764356c6dba3525c0685231f1cbf435b6dd4ee9e738d7417f3b10ce8bbe869c32f4384 languageName: node linkType: hard "@babel/plugin-transform-unicode-escapes@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-unicode-escapes@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: da5e85ab3bb33a75cbf6181bfd236b208dc934702fd304db127232f17b4e0f42c6d3f238de8589470b4190906967eea8ca27adf3ae9d8ee4de2a2eae906ed186 + checksum: 561c429183a54b9e4751519a3dfba6014431e9cdc1484fad03bdaf96582dfc72c76a4f8661df2aeeae7c34efd0fa4d02d3b83a2f63763ecf71ecc925f9cc1f60 languageName: node linkType: hard "@babel/plugin-transform-unicode-regex@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-unicode-regex@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.23.3" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.22.5 + "@babel/helper-create-regexp-features-plugin": ^7.22.15 "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 6b5d1404c8c623b0ec9bd436c00d885a17d6a34f3f2597996343ddb9d94f6379705b21582dfd4cec2c47fd34068872e74ab6b9580116c0566b3f9447e2a7fa06 + checksum: c5f835d17483ba899787f92e313dfa5b0055e3deab332f1d254078a2bba27ede47574b6599fcf34d3763f0c048ae0779dc21d2d8db09295edb4057478dc80a9a languageName: node linkType: hard @@ -1015,8 +1014,8 @@ __metadata: linkType: hard "@babel/preset-modules@npm:^0.1.3": - version: 0.1.5 - resolution: "@babel/preset-modules@npm:0.1.5" + version: 0.1.6 + resolution: "@babel/preset-modules@npm:0.1.6" dependencies: "@babel/helper-plugin-utils": ^7.0.0 "@babel/plugin-proposal-unicode-property-regex": ^7.4.4 @@ -1024,8 +1023,8 @@ __metadata: "@babel/types": ^7.4.4 esutils: ^2.0.2 peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 8430e0e9e9d520b53e22e8c4c6a5a080a12b63af6eabe559c2310b187bd62ae113f3da82ba33e9d1d0f3230930ca702843aae9dd226dec51f7d7114dc1f51c10 + "@babel/core": ^7.0.0-0 || ^8.0.0-0 <8.0.0 + checksum: 9700992d2b9526e703ab49eb8c4cd0b26bec93594d57c6b808967619df1a387565e0e58829b65b5bd6d41049071ea0152c9195b39599515fddb3e52b09a55ff0 languageName: node linkType: hard @@ -1037,51 +1036,51 @@ __metadata: linkType: hard "@babel/runtime@npm:^7.8.4": - version: 7.22.6 - resolution: "@babel/runtime@npm:7.22.6" + version: 7.23.5 + resolution: "@babel/runtime@npm:7.23.5" dependencies: - regenerator-runtime: ^0.13.11 - checksum: e585338287c4514a713babf4fdb8fc2a67adcebab3e7723a739fc62c79cfda875b314c90fd25f827afb150d781af97bc16c85bfdbfa2889f06053879a1ddb597 + regenerator-runtime: ^0.14.0 + checksum: 164d9802424f06908e62d29b8fd3a87db55accf82f46f964ac481dcead11ff7df8391e3696e5fa91a8ca10ea8845bf650acd730fa88cf13f8026cd8d5eec6936 languageName: node linkType: hard -"@babel/template@npm:^7.10.4, @babel/template@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/template@npm:7.22.5" +"@babel/template@npm:^7.10.4, @babel/template@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/template@npm:7.22.15" dependencies: - "@babel/code-frame": ^7.22.5 - "@babel/parser": ^7.22.5 - "@babel/types": ^7.22.5 - checksum: c5746410164039aca61829cdb42e9a55410f43cace6f51ca443313f3d0bdfa9a5a330d0b0df73dc17ef885c72104234ae05efede37c1cc8a72dc9f93425977a3 + "@babel/code-frame": ^7.22.13 + "@babel/parser": ^7.22.15 + "@babel/types": ^7.22.15 + checksum: 1f3e7dcd6c44f5904c184b3f7fe280394b191f2fed819919ffa1e529c259d5b197da8981b6ca491c235aee8dbad4a50b7e31304aa531271cb823a4a24a0dd8fd languageName: node linkType: hard -"@babel/traverse@npm:^7.10.4, @babel/traverse@npm:^7.22.6": - version: 7.22.8 - resolution: "@babel/traverse@npm:7.22.8" +"@babel/traverse@npm:^7.10.4, @babel/traverse@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/traverse@npm:7.23.5" dependencies: - "@babel/code-frame": ^7.22.5 - "@babel/generator": ^7.22.7 - "@babel/helper-environment-visitor": ^7.22.5 - "@babel/helper-function-name": ^7.22.5 + "@babel/code-frame": ^7.23.5 + "@babel/generator": ^7.23.5 + "@babel/helper-environment-visitor": ^7.22.20 + "@babel/helper-function-name": ^7.23.0 "@babel/helper-hoist-variables": ^7.22.5 "@babel/helper-split-export-declaration": ^7.22.6 - "@babel/parser": ^7.22.7 - "@babel/types": ^7.22.5 + "@babel/parser": ^7.23.5 + "@babel/types": ^7.23.5 debug: ^4.1.0 globals: ^11.1.0 - checksum: a381369bc3eedfd13ed5fef7b884657f1c29024ea7388198149f0edc34bd69ce3966e9f40188d15f56490a5e12ba250ccc485f2882b53d41b054fccefb233e33 + checksum: 0558b05360850c3ad6384e85bd55092126a8d5f93e29a8e227dd58fa1f9e1a4c25fd337c07c7ae509f0983e7a2b1e761ffdcfaa77a1e1bedbc867058e1de5a7d languageName: node linkType: hard -"@babel/types@npm:^7.10.4, @babel/types@npm:^7.22.5, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": - version: 7.22.5 - resolution: "@babel/types@npm:7.22.5" +"@babel/types@npm:^7.10.4, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.5, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": + version: 7.23.5 + resolution: "@babel/types@npm:7.23.5" dependencies: - "@babel/helper-string-parser": ^7.22.5 - "@babel/helper-validator-identifier": ^7.22.5 + "@babel/helper-string-parser": ^7.23.4 + "@babel/helper-validator-identifier": ^7.22.20 to-fast-properties: ^2.0.0 - checksum: c13a9c1dc7d2d1a241a2f8363540cb9af1d66e978e8984b400a20c4f38ba38ca29f06e26a0f2d49a70bad9e57615dac09c35accfddf1bb90d23cd3e0a0bab892 + checksum: 3d21774480a459ef13b41c2e32700d927af649e04b70c5d164814d8e04ab584af66a93330602c2925e1a6925c2b829cc153418a613a4e7d79d011be1f29ad4b2 languageName: node linkType: hard @@ -1092,10 +1091,17 @@ __metadata: languageName: node linkType: hard -"@gar/promisify@npm:^1.1.3": - version: 1.1.3 - resolution: "@gar/promisify@npm:1.1.3" - checksum: 4059f790e2d07bf3c3ff3e0fec0daa8144fe35c1f6e0111c9921bd32106adaa97a4ab096ad7dab1e28ee6a9060083c4d1a4ada42a7f5f3f7a96b8812e2b757c1 +"@isaacs/cliui@npm:^8.0.2": + version: 8.0.2 + resolution: "@isaacs/cliui@npm:8.0.2" + dependencies: + string-width: ^5.1.2 + string-width-cjs: "npm:string-width@^4.2.0" + strip-ansi: ^7.0.1 + strip-ansi-cjs: "npm:strip-ansi@^6.0.1" + wrap-ansi: ^8.1.0 + wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" + checksum: 4a473b9b32a7d4d3cfb7a614226e555091ff0c5a29a1734c28c72a182c2f6699b26fc6b5c2131dfd841e86b185aea714c72201d7c98c2fba5f17709333a67aeb languageName: node linkType: hard @@ -1109,10 +1115,7 @@ __metadata: copy-webpack-plugin: 5.1.1 core-js: 3.6.1 css-loader: 3.5.3 - elkjs: 0.6.2 file-loader: 6.0.0 - jquery: ~3.5.1 - lodash: ~4.17.20 regenerator-runtime: 0.13.5 sass: 1.26.8 sass-loader: 8.0.2 @@ -1136,10 +1139,10 @@ __metadata: languageName: node linkType: hard -"@jridgewell/resolve-uri@npm:3.1.0": - version: 3.1.0 - resolution: "@jridgewell/resolve-uri@npm:3.1.0" - checksum: b5ceaaf9a110fcb2780d1d8f8d4a0bfd216702f31c988d8042e5f8fbe353c55d9b0f55a1733afdc64806f8e79c485d2464680ac48a0d9fcadb9548ee6b81d267 +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.1 + resolution: "@jridgewell/resolve-uri@npm:3.1.1" + checksum: f5b441fe7900eab4f9155b3b93f9800a916257f4e8563afbcd3b5a5337b55e52bd8ae6735453b1b745457d9f6cdb16d74cd6220bbdd98cf153239e13f6cbb653 languageName: node linkType: hard @@ -1160,14 +1163,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:1.4.14": - version: 1.4.14 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.14" - checksum: 61100637b6d173d3ba786a5dff019e1a74b1f394f323c1fee337ff390239f053b87266c7a948777f4b1ee68c01a8ad0ab61e5ff4abb5a012a0b091bec391ab97 - languageName: node - linkType: hard - -"@jridgewell/sourcemap-codec@npm:^1.4.10": +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14": version: 1.4.15 resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" checksum: b881c7e503db3fc7f3c1f35a1dd2655a188cc51a3612d76efc8a6eb74728bef5606e6758ee77423e564092b4a518aba569bbb21c9bac5ab7a35b0c6ae7e344c8 @@ -1175,12 +1171,12 @@ __metadata: linkType: hard "@jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.9": - version: 0.3.18 - resolution: "@jridgewell/trace-mapping@npm:0.3.18" + version: 0.3.20 + resolution: "@jridgewell/trace-mapping@npm:0.3.20" dependencies: - "@jridgewell/resolve-uri": 3.1.0 - "@jridgewell/sourcemap-codec": 1.4.14 - checksum: 0572669f855260808c16fe8f78f5f1b4356463b11d3f2c7c0b5580c8ba1cbf4ae53efe9f627595830856e57dbac2325ac17eb0c3dd0ec42102e6f227cc289c02 + "@jridgewell/resolve-uri": ^3.1.0 + "@jridgewell/sourcemap-codec": ^1.4.14 + checksum: cd1a7353135f385909468ff0cf20bdd37e59f2ee49a13a966dedf921943e222082c583ade2b579ff6cd0d8faafcb5461f253e1bf2a9f48fec439211fdbe788f5 languageName: node linkType: hard @@ -1191,102 +1187,104 @@ __metadata: languageName: node linkType: hard -"@npmcli/fs@npm:^2.1.0": - version: 2.1.2 - resolution: "@npmcli/fs@npm:2.1.2" +"@npmcli/agent@npm:^2.0.0": + version: 2.2.0 + resolution: "@npmcli/agent@npm:2.2.0" dependencies: - "@gar/promisify": ^1.1.3 - semver: ^7.3.5 - checksum: 405074965e72d4c9d728931b64d2d38e6ea12066d4fad651ac253d175e413c06fe4350970c783db0d749181da8fe49c42d3880bd1cbc12cd68e3a7964d820225 + agent-base: ^7.1.0 + http-proxy-agent: ^7.0.0 + https-proxy-agent: ^7.0.1 + lru-cache: ^10.0.1 + socks-proxy-agent: ^8.0.1 + checksum: 3b25312edbdfaa4089af28e2d423b6f19838b945e47765b0c8174c1395c79d43c3ad6d23cb364b43f59fd3acb02c93e3b493f72ddbe3dfea04c86843a7311fc4 languageName: node linkType: hard -"@npmcli/move-file@npm:^2.0.0": - version: 2.0.1 - resolution: "@npmcli/move-file@npm:2.0.1" +"@npmcli/fs@npm:^3.1.0": + version: 3.1.0 + resolution: "@npmcli/fs@npm:3.1.0" dependencies: - mkdirp: ^1.0.4 - rimraf: ^3.0.2 - checksum: 52dc02259d98da517fae4cb3a0a3850227bdae4939dda1980b788a7670636ca2b4a01b58df03dd5f65c1e3cb70c50fa8ce5762b582b3f499ec30ee5ce1fd9380 + semver: ^7.3.5 + checksum: a50a6818de5fc557d0b0e6f50ec780a7a02ab8ad07e5ac8b16bf519e0ad60a144ac64f97d05c443c3367235d337182e1d012bbac0eb8dbae8dc7b40b193efd0e languageName: node linkType: hard -"@polka/url@npm:^1.0.0-next.20": - version: 1.0.0-next.21 - resolution: "@polka/url@npm:1.0.0-next.21" - checksum: c7654046d38984257dd639eab3dc770d1b0340916097b2fac03ce5d23506ada684e05574a69b255c32ea6a144a957c8cd84264159b545fca031c772289d88788 +"@pkgjs/parseargs@npm:^0.11.0": + version: 0.11.0 + resolution: "@pkgjs/parseargs@npm:0.11.0" + checksum: 6ad6a00fc4f2f2cfc6bff76fb1d88b8ee20bc0601e18ebb01b6d4be583733a860239a521a7fbca73b612e66705078809483549d2b18f370eb346c5155c8e4a0f languageName: node linkType: hard -"@tootallnate/once@npm:2": - version: 2.0.0 - resolution: "@tootallnate/once@npm:2.0.0" - checksum: ad87447820dd3f24825d2d947ebc03072b20a42bfc96cbafec16bff8bbda6c1a81fcb0be56d5b21968560c5359a0af4038a68ba150c3e1694fe4c109a063bed8 +"@polka/url@npm:^1.0.0-next.20": + version: 1.0.0-next.23 + resolution: "@polka/url@npm:1.0.0-next.23" + checksum: 4b0330de1ceecd1002c7e7449094d0c41f2ed0e21765f4835ccc7b003f2f024ac557d503b9ffdf0918cf50b80d5b8c99dfc5a91927e7b3c468b09c6bb42a3c41 languageName: node linkType: hard "@types/body-parser@npm:*": - version: 1.19.2 - resolution: "@types/body-parser@npm:1.19.2" + version: 1.19.5 + resolution: "@types/body-parser@npm:1.19.5" dependencies: "@types/connect": "*" "@types/node": "*" - checksum: e17840c7d747a549f00aebe72c89313d09fbc4b632b949b2470c5cb3b1cb73863901ae84d9335b567a79ec5efcfb8a28ff8e3f36bc8748a9686756b6d5681f40 + checksum: 1e251118c4b2f61029cc43b0dc028495f2d1957fe8ee49a707fb940f86a9bd2f9754230805598278fe99958b49e9b7e66eec8ef6a50ab5c1f6b93e1ba2aaba82 languageName: node linkType: hard "@types/bonjour@npm:^3.5.9": - version: 3.5.10 - resolution: "@types/bonjour@npm:3.5.10" + version: 3.5.13 + resolution: "@types/bonjour@npm:3.5.13" dependencies: "@types/node": "*" - checksum: bfcadb042a41b124c4e3de4925e3be6d35b78f93f27c4535d5ff86980dc0f8bc407ed99b9b54528952dc62834d5a779392f7a12c2947dd19330eb05a6bcae15a + checksum: e827570e097bd7d625a673c9c208af2d1a22fa3885c0a1646533cf24394c839c3e5f60ac1bc60c0ddcc69c0615078c9fb2c01b42596c7c582d895d974f2409ee languageName: node linkType: hard "@types/connect-history-api-fallback@npm:^1.3.5": - version: 1.5.0 - resolution: "@types/connect-history-api-fallback@npm:1.5.0" + version: 1.5.4 + resolution: "@types/connect-history-api-fallback@npm:1.5.4" dependencies: "@types/express-serve-static-core": "*" "@types/node": "*" - checksum: f180e7c540728d6dd3a1eb2376e445fe7f9de4ee8a5b460d5ad80062cdb6de6efc91c6851f39e9d5933b3dcd5cd370673c52343a959aa091238b6f863ea4447c + checksum: e1dee43b8570ffac02d2d47a2b4ba80d3ca0dd1840632dafb221da199e59dbe3778d3d7303c9e23c6b401f37c076935a5bc2aeae1c4e5feaefe1c371fe2073fd languageName: node linkType: hard "@types/connect@npm:*": - version: 3.4.35 - resolution: "@types/connect@npm:3.4.35" + version: 3.4.38 + resolution: "@types/connect@npm:3.4.38" dependencies: "@types/node": "*" - checksum: fe81351470f2d3165e8b12ce33542eef89ea893e36dd62e8f7d72566dfb7e448376ae962f9f3ea888547ce8b55a40020ca0e01d637fab5d99567673084542641 + checksum: 7eb1bc5342a9604facd57598a6c62621e244822442976c443efb84ff745246b10d06e8b309b6e80130026a396f19bf6793b7cecd7380169f369dac3bfc46fb99 languageName: node linkType: hard "@types/eslint-scope@npm:^3.7.0": - version: 3.7.4 - resolution: "@types/eslint-scope@npm:3.7.4" + version: 3.7.7 + resolution: "@types/eslint-scope@npm:3.7.7" dependencies: "@types/eslint": "*" "@types/estree": "*" - checksum: ea6a9363e92f301cd3888194469f9ec9d0021fe0a397a97a6dd689e7545c75de0bd2153dfb13d3ab532853a278b6572c6f678ce846980669e41029d205653460 + checksum: e2889a124aaab0b89af1bab5959847c5bec09809209255de0e63b9f54c629a94781daa04adb66bffcdd742f5e25a17614fb933965093c0eea64aacda4309380e languageName: node linkType: hard "@types/eslint@npm:*": - version: 8.44.0 - resolution: "@types/eslint@npm:8.44.0" + version: 8.44.8 + resolution: "@types/eslint@npm:8.44.8" dependencies: "@types/estree": "*" "@types/json-schema": "*" - checksum: 2655f409a4ecdd64bb9dd9eb6715e7a2ac30c0e7f902b414e10dbe9d6d497baa5a0f13105e1f7bd5ad7a913338e2ab4bed1faf192a7a0d27d1acd45ba79d3f69 + checksum: c3bc70166075e6e9f7fb43978882b9ac0b22596b519900b08dc8a1d761bbbddec4c48a60cc4eb674601266223c6f11db30f3fb6ceaae96c23c54b35ad88022bc languageName: node linkType: hard "@types/estree@npm:*": - version: 1.0.0 - resolution: "@types/estree@npm:1.0.0" - checksum: 910d97fb7092c6738d30a7430ae4786a38542023c6302b95d46f49420b797f21619cdde11fa92b338366268795884111c2eb10356e4bd2c8ad5b92941e9e6443 + version: 1.0.5 + resolution: "@types/estree@npm:1.0.5" + checksum: dd8b5bed28e6213b7acd0fb665a84e693554d850b0df423ac8076cc3ad5823a6bc26b0251d080bdc545af83179ede51dd3f6fa78cad2c46ed1f29624ddf3e41a languageName: node linkType: hard @@ -1298,91 +1296,95 @@ __metadata: linkType: hard "@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:^4.17.33": - version: 4.17.35 - resolution: "@types/express-serve-static-core@npm:4.17.35" + version: 4.17.41 + resolution: "@types/express-serve-static-core@npm:4.17.41" dependencies: "@types/node": "*" "@types/qs": "*" "@types/range-parser": "*" "@types/send": "*" - checksum: cc8995d10c6feda475ec1b3a0e69eb0f35f21ab6b49129ad5c6f279e0bc5de8175bc04ec51304cb79a43eec3ed2f5a1e01472eb6d5f827b8c35c6ca8ad24eb6e + checksum: 12750f6511dd870bbaccfb8208ad1e79361cf197b147f62a3bedc19ec642f3a0f9926ace96705f4bc88ec2ae56f61f7ca8c2438e6b22f5540842b5569c28a121 languageName: node linkType: hard "@types/express@npm:*, @types/express@npm:^4.17.13": - version: 4.17.17 - resolution: "@types/express@npm:4.17.17" + version: 4.17.21 + resolution: "@types/express@npm:4.17.21" dependencies: "@types/body-parser": "*" "@types/express-serve-static-core": ^4.17.33 "@types/qs": "*" "@types/serve-static": "*" - checksum: 0196dacc275ac3ce89d7364885cb08e7fb61f53ca101f65886dbf1daf9b7eb05c0943e2e4bbd01b0cc5e50f37e0eea7e4cbe97d0304094411ac73e1b7998f4da + checksum: fb238298630370a7392c7abdc80f495ae6c716723e114705d7e3fb67e3850b3859bbfd29391463a3fb8c0b32051847935933d99e719c0478710f8098ee7091c5 languageName: node linkType: hard "@types/http-errors@npm:*": - version: 2.0.1 - resolution: "@types/http-errors@npm:2.0.1" - checksum: 3bb0c50b0a652e679a84c30cd0340d696c32ef6558518268c238840346c077f899315daaf1c26c09c57ddd5dc80510f2a7f46acd52bf949e339e35ed3ee9654f + version: 2.0.4 + resolution: "@types/http-errors@npm:2.0.4" + checksum: 1f3d7c3b32c7524811a45690881736b3ef741bf9849ae03d32ad1ab7062608454b150a4e7f1351f83d26a418b2d65af9bdc06198f1c079d75578282884c4e8e3 languageName: node linkType: hard "@types/http-proxy@npm:^1.17.8": - version: 1.17.11 - resolution: "@types/http-proxy@npm:1.17.11" + version: 1.17.14 + resolution: "@types/http-proxy@npm:1.17.14" dependencies: "@types/node": "*" - checksum: 38ef4f8c91c7a5b664cf6dd4d90de7863f88549a9f8ef997f2f1184e4f8cf2e7b9b63c04f0b7b962f34a09983073a31a9856de5aae5159b2ddbb905a4c44dc9f + checksum: 491320bce3565bbb6c7d39d25b54bce626237cfb6b09e60ee7f77b56ae7c6cbad76f08d47fe01eaa706781124ee3dfad9bb737049254491efd98ed1f014c4e83 languageName: node linkType: hard -"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.8": - version: 7.0.12 - resolution: "@types/json-schema@npm:7.0.12" - checksum: 00239e97234eeb5ceefb0c1875d98ade6e922bfec39dd365ec6bd360b5c2f825e612ac4f6e5f1d13601b8b30f378f15e6faa805a3a732f4a1bbe61915163d293 +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 97ed0cb44d4070aecea772b7b2e2ed971e10c81ec87dd4ecc160322ffa55ff330dace1793489540e3e318d90942064bb697cc0f8989391797792d919737b3b98 languageName: node linkType: hard -"@types/json-schema@npm:^7.0.9": - version: 7.0.11 - resolution: "@types/json-schema@npm:7.0.11" - checksum: 527bddfe62db9012fccd7627794bd4c71beb77601861055d87e3ee464f2217c85fca7a4b56ae677478367bbd248dbde13553312b7d4dbc702a2f2bbf60c4018d +"@types/mime@npm:*": + version: 3.0.4 + resolution: "@types/mime@npm:3.0.4" + checksum: a6139c8e1f705ef2b064d072f6edc01f3c099023ad7c4fce2afc6c2bf0231888202adadbdb48643e8e20da0ce409481a49922e737eca52871b3dc08017455843 languageName: node linkType: hard -"@types/mime@npm:*": - version: 3.0.1 - resolution: "@types/mime@npm:3.0.1" - checksum: 4040fac73fd0cea2460e29b348c1a6173da747f3a87da0dbce80dd7a9355a3d0e51d6d9a401654f3e5550620e3718b5a899b2ec1debf18424e298a2c605346e7 +"@types/mime@npm:^1": + version: 1.3.5 + resolution: "@types/mime@npm:1.3.5" + checksum: e29a5f9c4776f5229d84e525b7cd7dd960b51c30a0fb9a028c0821790b82fca9f672dab56561e2acd9e8eed51d431bde52eafdfef30f643586c4162f1aecfc78 languageName: node linkType: hard -"@types/mime@npm:^1": - version: 1.3.2 - resolution: "@types/mime@npm:1.3.2" - checksum: 0493368244cced1a69cb791b485a260a422e6fcc857782e1178d1e6f219f1b161793e9f87f5fae1b219af0f50bee24fcbe733a18b4be8fdd07a38a8fb91146fd +"@types/node-forge@npm:^1.3.0": + version: 1.3.10 + resolution: "@types/node-forge@npm:1.3.10" + dependencies: + "@types/node": "*" + checksum: 363af42c83956c7e2483a71e398a02101ef6a55b4d86386c276315ca98bad02d6050b99fdbe13debcd1bcda250086b4a5b5c15a6fb2953d32420d269865ca7f8 languageName: node linkType: hard "@types/node@npm:*": - version: 18.15.0 - resolution: "@types/node@npm:18.15.0" - checksum: d81372276dd5053b1743338b61a2178ff9722dc609189d01fc7d1c2acd539414039e0e4780678730514390dad3f29c366a28c29e8dbd5b0025651181f6dd6669 + version: 20.10.2 + resolution: "@types/node@npm:20.10.2" + dependencies: + undici-types: ~5.26.4 + checksum: c0c84e8270cdf7a47a18c0230c0321537cc59506adb0e3cba51949b6f1ad4879f2e2ec3a29161f2f5321ebb6415460712d9f0a25ac5c02be0f5435464fe77c23 languageName: node linkType: hard "@types/qs@npm:*": - version: 6.9.7 - resolution: "@types/qs@npm:6.9.7" - checksum: 7fd6f9c25053e9b5bb6bc9f9f76c1d89e6c04f7707a7ba0e44cc01f17ef5284adb82f230f542c2d5557d69407c9a40f0f3515e8319afd14e1e16b5543ac6cdba + version: 6.9.10 + resolution: "@types/qs@npm:6.9.10" + checksum: 3e479ee056bd2b60894baa119d12ecd33f20a25231b836af04654e784c886f28a356477630430152a86fba253da65d7ecd18acffbc2a8877a336e75aa0272c67 languageName: node linkType: hard "@types/range-parser@npm:*": - version: 1.2.4 - resolution: "@types/range-parser@npm:1.2.4" - checksum: b7c0dfd5080a989d6c8bb0b6750fc0933d9acabeb476da6fe71d8bdf1ab65e37c136169d84148034802f48378ab94e3c37bb4ef7656b2bec2cb9c0f8d4146a95 + version: 1.2.7 + resolution: "@types/range-parser@npm:1.2.7" + checksum: 95640233b689dfbd85b8c6ee268812a732cf36d5affead89e806fe30da9a430767af8ef2cd661024fd97e19d61f3dec75af2df5e80ec3bea000019ab7028629a languageName: node linkType: hard @@ -1394,50 +1396,50 @@ __metadata: linkType: hard "@types/send@npm:*": - version: 0.17.1 - resolution: "@types/send@npm:0.17.1" + version: 0.17.4 + resolution: "@types/send@npm:0.17.4" dependencies: "@types/mime": ^1 "@types/node": "*" - checksum: 10b620a5960058ef009afbc17686f680d6486277c62f640845381ec4baa0ea683fdd77c3afea4803daf5fcddd3fb2972c8aa32e078939f1d4e96f83195c89793 + checksum: cf4db48251bbb03cd6452b4de6e8e09e2d75390a92fd798eca4a803df06444adc94ed050246c94c7ed46fb97be1f63607f0e1f13c3ce83d71788b3e08640e5e0 languageName: node linkType: hard "@types/serve-index@npm:^1.9.1": - version: 1.9.1 - resolution: "@types/serve-index@npm:1.9.1" + version: 1.9.4 + resolution: "@types/serve-index@npm:1.9.4" dependencies: "@types/express": "*" - checksum: 026f3995fb500f6df7c3fe5009e53bad6d739e20b84089f58ebfafb2f404bbbb6162bbe33f72d2f2af32d5b8d3799c8e179793f90d9ed5871fb8591190bb6056 + checksum: 72727c88d54da5b13275ebfb75dcdc4aa12417bbe9da1939e017c4c5f0c906fae843aa4e0fbfe360e7ee9df2f3d388c21abfc488f77ce58693fb57809f8ded92 languageName: node linkType: hard "@types/serve-static@npm:*, @types/serve-static@npm:^1.13.10": - version: 1.15.2 - resolution: "@types/serve-static@npm:1.15.2" + version: 1.15.5 + resolution: "@types/serve-static@npm:1.15.5" dependencies: "@types/http-errors": "*" "@types/mime": "*" "@types/node": "*" - checksum: 15c261dbfc57890f7cc17c04d5b22b418dfa0330c912b46c5d8ae2064da5d6f844ef7f41b63c7f4bbf07675e97ebe6ac804b032635ec742ae45d6f1274259b3e + checksum: 0ff4b3703cf20ba89c9f9e345bc38417860a88e85863c8d6fe274a543220ab7f5f647d307c60a71bb57dc9559f0890a661e8dc771a6ec5ef195d91c8afc4a893 languageName: node linkType: hard "@types/sockjs@npm:^0.3.33": - version: 0.3.33 - resolution: "@types/sockjs@npm:0.3.33" + version: 0.3.36 + resolution: "@types/sockjs@npm:0.3.36" dependencies: "@types/node": "*" - checksum: b9bbb2b5c5ead2fb884bb019f61a014e37410bddd295de28184e1b2e71ee6b04120c5ba7b9954617f0bdf962c13d06249ce65004490889c747c80d3f628ea842 + checksum: b4b5381122465d80ea8b158537c00bc82317222d3fb31fd7229ff25b31fa89134abfbab969118da55622236bf3d8fee75759f3959908b5688991f492008f29bc languageName: node linkType: hard "@types/ws@npm:^8.5.1": - version: 8.5.5 - resolution: "@types/ws@npm:8.5.5" + version: 8.5.10 + resolution: "@types/ws@npm:8.5.10" dependencies: "@types/node": "*" - checksum: d00bf8070e6938e3ccf933010921c6ce78ac3606696ce37a393b27a9a603f7bd93ea64f3c5fa295a2f743575ba9c9a9fdb904af0f5fe2229bf2adf0630386e4a + checksum: 3ec416ea2be24042ebd677932a462cf16d2080393d8d7d0b1b3f5d6eaa4a7387aaf0eefb99193c0bfd29444857cf2e0c3ac89899e130550dc6c14ada8a46d25e languageName: node linkType: hard @@ -1639,10 +1641,10 @@ __metadata: languageName: node linkType: hard -"abbrev@npm:^1.0.0": - version: 1.1.1 - resolution: "abbrev@npm:1.1.1" - checksum: a4a97ec07d7ea112c517036882b2ac22f3109b7b19077dc656316d07d308438aac28e4d9746dc4d84bf6b1e75b4a7b0a5f3cb30592419f128ca9a8cee3bcfa17 +"abbrev@npm:^2.0.0": + version: 2.0.0 + resolution: "abbrev@npm:2.0.0" + checksum: 0e994ad2aa6575f94670d8a2149afe94465de9cedaaaac364e7fb43a40c3691c980ff74899f682f4ca58fa96b4cbd7421a015d3a6defe43a442117d7821a2f36 languageName: node linkType: hard @@ -1666,22 +1668,13 @@ __metadata: linkType: hard "acorn-walk@npm:^8.0.0": - version: 8.2.0 - resolution: "acorn-walk@npm:8.2.0" - checksum: 1715e76c01dd7b2d4ca472f9c58968516a4899378a63ad5b6c2d668bba8da21a71976c14ec5f5b75f887b6317c4ae0b897ab141c831d741dc76024d8745f1ad1 + version: 8.3.0 + resolution: "acorn-walk@npm:8.3.0" + checksum: 15ea56ab6529135be05e7d018f935ca80a572355dd3f6d3cd717e36df3346e0f635a93ae781b1c7942607693e2e5f3ef81af5c6fc697bbadcc377ebda7b7f5f6 languageName: node linkType: hard -"acorn@npm:^8.0.4, acorn@npm:^8.8.2": - version: 8.10.0 - resolution: "acorn@npm:8.10.0" - bin: - acorn: bin/acorn - checksum: 538ba38af0cc9e5ef983aee196c4b8b4d87c0c94532334fa7e065b2c8a1f85863467bb774231aae91613fcda5e68740c15d97b1967ae3394d20faddddd8af61d - languageName: node - linkType: hard - -"acorn@npm:^8.4.1": +"acorn@npm:^8.0.4, acorn@npm:^8.4.1, acorn@npm:^8.8.2": version: 8.11.2 resolution: "acorn@npm:8.11.2" bin: @@ -1690,23 +1683,12 @@ __metadata: languageName: node linkType: hard -"agent-base@npm:6, agent-base@npm:^6.0.2": - version: 6.0.2 - resolution: "agent-base@npm:6.0.2" +"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0": + version: 7.1.0 + resolution: "agent-base@npm:7.1.0" dependencies: - debug: 4 - checksum: f52b6872cc96fd5f622071b71ef200e01c7c4c454ee68bc9accca90c98cfb39f2810e3e9aa330435835eedc8c23f4f8a15267f67c6e245d2b33757575bdac49d - languageName: node - linkType: hard - -"agentkeepalive@npm:^4.2.1": - version: 4.3.0 - resolution: "agentkeepalive@npm:4.3.0" - dependencies: - debug: ^4.1.0 - depd: ^2.0.0 - humanize-ms: ^1.2.1 - checksum: 982453aa44c11a06826c836025e5162c846e1200adb56f2d075400da7d32d87021b3b0a58768d949d824811f5654223d5a8a3dad120921a2439625eb847c6260 + debug: ^4.3.4 + checksum: f7828f991470a0cc22cb579c86a18cbae83d8a3cbed39992ab34fc7217c4d126017f1c74d0ab66be87f71455318a8ea3e757d6a37881b8d0f2a2c6aa55e5418f languageName: node linkType: hard @@ -1810,6 +1792,13 @@ __metadata: languageName: node linkType: hard +"ansi-regex@npm:^6.0.1": + version: 6.0.1 + resolution: "ansi-regex@npm:6.0.1" + checksum: 1ff8b7667cded1de4fa2c9ae283e979fc87036864317da86a2e546725f96406746411d0d85e87a2d12fa5abd715d90006de7fa4fa0477c92321ad3b4c7d4e169 + languageName: node + linkType: hard + "ansi-styles@npm:^3.2.1": version: 3.2.1 resolution: "ansi-styles@npm:3.2.1" @@ -1819,7 +1808,7 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^4.1.0": +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": version: 4.3.0 resolution: "ansi-styles@npm:4.3.0" dependencies: @@ -1828,6 +1817,13 @@ __metadata: languageName: node linkType: hard +"ansi-styles@npm:^6.1.0": + version: 6.2.1 + resolution: "ansi-styles@npm:6.2.1" + checksum: ef940f2f0ced1a6347398da88a91da7930c33ecac3c77b72c5905f8b8fe402c52e6fde304ff5347f616e27a742da3f1dc76de98f6866c69251ad0b07a66776d9 + languageName: node + linkType: hard + "anymatch@npm:~3.1.2": version: 3.1.3 resolution: "anymatch@npm:3.1.3" @@ -1838,13 +1834,6 @@ __metadata: languageName: node linkType: hard -"aproba@npm:^1.0.3 || ^2.0.0": - version: 2.0.0 - resolution: "aproba@npm:2.0.0" - checksum: 5615cadcfb45289eea63f8afd064ab656006361020e1735112e346593856f87435e02d8dcc7ff0d11928bc7d425f27bc7c2a84f6c0b35ab0ff659c814c138a24 - languageName: node - linkType: hard - "aproba@npm:^1.1.1": version: 1.2.0 resolution: "aproba@npm:1.2.0" @@ -1852,16 +1841,6 @@ __metadata: languageName: node linkType: hard -"are-we-there-yet@npm:^3.0.0": - version: 3.0.1 - resolution: "are-we-there-yet@npm:3.0.1" - dependencies: - delegates: ^1.0.0 - readable-stream: ^3.6.0 - checksum: 52590c24860fa7173bedeb69a4c05fb573473e860197f618b9a28432ee4379049336727ae3a1f9c4cb083114601c1140cee578376164d0e651217a9843f9fe83 - languageName: node - linkType: hard - "array-flatten@npm:1.1.1": version: 1.1.1 resolution: "array-flatten@npm:1.1.1" @@ -2003,17 +1982,17 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.12.0, browserslist@npm:^4.14.5, browserslist@npm:^4.21.9": - version: 4.21.9 - resolution: "browserslist@npm:4.21.9" +"browserslist@npm:^4.12.0, browserslist@npm:^4.14.5, browserslist@npm:^4.21.9, browserslist@npm:^4.22.1": + version: 4.22.1 + resolution: "browserslist@npm:4.22.1" dependencies: - caniuse-lite: ^1.0.30001503 - electron-to-chromium: ^1.4.431 - node-releases: ^2.0.12 - update-browserslist-db: ^1.0.11 + caniuse-lite: ^1.0.30001541 + electron-to-chromium: ^1.4.535 + node-releases: ^2.0.13 + update-browserslist-db: ^1.0.13 bin: browserslist: cli.js - checksum: 80d3820584e211484ad1b1a5cfdeca1dd00442f47be87e117e1dda34b628c87e18b81ae7986fa5977b3e6a03154f6d13cd763baa6b8bf5dd9dd19f4926603698 + checksum: 7e6b10c53f7dd5d83fd2b95b00518889096382539fed6403829d447e05df4744088de46a571071afb447046abc3c66ad06fbc790e70234ec2517452e32ffd862 languageName: node linkType: hard @@ -2061,39 +2040,34 @@ __metadata: languageName: node linkType: hard -"cacache@npm:^16.1.0": - version: 16.1.3 - resolution: "cacache@npm:16.1.3" +"cacache@npm:^18.0.0": + version: 18.0.1 + resolution: "cacache@npm:18.0.1" dependencies: - "@npmcli/fs": ^2.1.0 - "@npmcli/move-file": ^2.0.0 - chownr: ^2.0.0 - fs-minipass: ^2.1.0 - glob: ^8.0.1 - infer-owner: ^1.0.4 - lru-cache: ^7.7.1 - minipass: ^3.1.6 - minipass-collect: ^1.0.2 + "@npmcli/fs": ^3.1.0 + fs-minipass: ^3.0.0 + glob: ^10.2.2 + lru-cache: ^10.0.1 + minipass: ^7.0.3 + minipass-collect: ^2.0.1 minipass-flush: ^1.0.5 minipass-pipeline: ^1.2.4 - mkdirp: ^1.0.4 p-map: ^4.0.0 - promise-inflight: ^1.0.1 - rimraf: ^3.0.2 - ssri: ^9.0.0 + ssri: ^10.0.0 tar: ^6.1.11 - unique-filename: ^2.0.0 - checksum: d91409e6e57d7d9a3a25e5dcc589c84e75b178ae8ea7de05cbf6b783f77a5fae938f6e8fda6f5257ed70000be27a681e1e44829251bfffe4c10216002f8f14e6 + unique-filename: ^3.0.0 + checksum: 5a0b3b2ea451a0379814dc1d3c81af48c7c6db15cd8f7d72e028501ae0036a599a99bbac9687bfec307afb2760808d1c7708e9477c8c70d2b166e7d80b162a23 languageName: node linkType: hard "call-bind@npm:^1.0.0": - version: 1.0.2 - resolution: "call-bind@npm:1.0.2" + version: 1.0.5 + resolution: "call-bind@npm:1.0.5" dependencies: - function-bind: ^1.1.1 - get-intrinsic: ^1.0.2 - checksum: f8e31de9d19988a4b80f3e704788c4a2d6b6f3d17cfec4f57dc29ced450c53a49270dc66bf0fbd693329ee948dd33e6c90a329519aef17474a4d961e8d6426b0 + function-bind: ^1.1.2 + get-intrinsic: ^1.2.1 + set-function-length: ^1.1.1 + checksum: 449e83ecbd4ba48e7eaac5af26fea3b50f8f6072202c2dd7c5a6e7a6308f2421abe5e13a3bbd55221087f76320c5e09f25a8fdad1bab2b77c68ae74d92234ea5 languageName: node linkType: hard @@ -2104,14 +2078,14 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001503": - version: 1.0.30001516 - resolution: "caniuse-lite@npm:1.0.30001516" - checksum: 044adf3493b734a356a2922445a30095a0f6de6b9194695cdf74deafe7bef658e85858a31177762c2813f6e1ed2722d832d59eee0ecb2151e93a611ee18cb21f +"caniuse-lite@npm:^1.0.30001541": + version: 1.0.30001565 + resolution: "caniuse-lite@npm:1.0.30001565" + checksum: 7621f358d0e1158557430a111ca5506008ae0b2c796039ef53aeebf4e2ba15e5241cb89def21ea3a633b6a609273085835b44a522165d871fa44067cdf29cccd languageName: node linkType: hard -"chalk@npm:^2.0.0": +"chalk@npm:^2.4.2": version: 2.4.2 resolution: "chalk@npm:2.4.2" dependencies: @@ -2222,15 +2196,6 @@ __metadata: languageName: node linkType: hard -"color-support@npm:^1.1.3": - version: 1.1.3 - resolution: "color-support@npm:1.1.3" - bin: - color-support: bin.js - checksum: 9b7356817670b9a13a26ca5af1c21615463b500783b739b7634a0c2047c16cef4b2865d7576875c31c3cddf9dd621fa19285e628f20198b233a5cfdda6d0793b - languageName: node - linkType: hard - "colorette@npm:^2.0.10, colorette@npm:^2.0.14": version: 2.0.20 resolution: "colorette@npm:2.0.20" @@ -2309,13 +2274,6 @@ __metadata: languageName: node linkType: hard -"console-control-strings@npm:^1.1.0": - version: 1.1.0 - resolution: "console-control-strings@npm:1.1.0" - checksum: 8755d76787f94e6cf79ce4666f0c5519906d7f5b02d4b884cf41e11dcd759ed69c57da0670afd9236d229a46e0f9cf519db0cd829c6dca820bb5a5c3def584ed - languageName: node - linkType: hard - "content-disposition@npm:0.5.4": version: 0.5.4 resolution: "content-disposition@npm:0.5.4" @@ -2390,11 +2348,11 @@ __metadata: linkType: hard "core-js-compat@npm:^3.6.2": - version: 3.31.1 - resolution: "core-js-compat@npm:3.31.1" + version: 3.33.3 + resolution: "core-js-compat@npm:3.33.3" dependencies: - browserslist: ^4.21.9 - checksum: 9a16d6992621f4e099169297381a28d5712cdef7df1fa85352a7c285a5885d5d7a117ec2eae9ad715ed88c7cc774787a22cdb8aceababf6775fbc8b0cbeccdb7 + browserslist: ^4.22.1 + checksum: cb121e83f0f5f18b2b75428cdfb19524936a18459f1e0358f9124c8ff8b75d6a5901495cb996560cfde3a416103973f78eb5947777bb8b2fd877cdf84471465d languageName: node linkType: hard @@ -2412,7 +2370,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.3": +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.3": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" dependencies: @@ -2471,7 +2429,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.3.3": +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.3.4": version: 4.3.4 resolution: "debug@npm:4.3.4" dependencies: @@ -2492,6 +2450,17 @@ __metadata: languageName: node linkType: hard +"define-data-property@npm:^1.1.1": + version: 1.1.1 + resolution: "define-data-property@npm:1.1.1" + dependencies: + get-intrinsic: ^1.2.1 + gopd: ^1.0.1 + has-property-descriptors: ^1.0.0 + checksum: a29855ad3f0630ea82e3c5012c812efa6ca3078d5c2aa8df06b5f597c1cde6f7254692df41945851d903e05a1668607b6d34e778f402b9ff9ffb38111f1a3f0d + languageName: node + linkType: hard + "define-lazy-prop@npm:^2.0.0": version: 2.0.0 resolution: "define-lazy-prop@npm:2.0.0" @@ -2499,14 +2468,7 @@ __metadata: languageName: node linkType: hard -"delegates@npm:^1.0.0": - version: 1.0.0 - resolution: "delegates@npm:1.0.0" - checksum: a51744d9b53c164ba9c0492471a1a2ffa0b6727451bdc89e31627fdf4adda9d51277cfcbfb20f0a6f08ccb3c436f341df3e92631a3440226d93a8971724771fd - languageName: node - linkType: hard - -"depd@npm:2.0.0, depd@npm:^2.0.0": +"depd@npm:2.0.0": version: 2.0.0 resolution: "depd@npm:2.0.0" checksum: abbe19c768c97ee2eed6282d8ce3031126662252c58d711f646921c9623f9052e3e1906443066beec1095832f534e57c523b7333f8e7e0d93051ab6baef5ab3a @@ -2551,11 +2513,11 @@ __metadata: linkType: hard "dns-packet@npm:^5.2.2": - version: 5.6.0 - resolution: "dns-packet@npm:5.6.0" + version: 5.6.1 + resolution: "dns-packet@npm:5.6.1" dependencies: "@leichtgewicht/ip-codec": ^2.0.1 - checksum: 1b643814e5947a87620f8a906287079347492282964ce1c236d52c414e3e3941126b96581376b180ba6e66899e70b86b587bc1aa23e3acd9957765be952d83fc + checksum: 64c06457f0c6e143f7a0946e0aeb8de1c5f752217cfa143ef527467c00a6d78db1835cfdb6bb68333d9f9a4963cf23f410439b5262a8935cce1236f45e344b81 languageName: node linkType: hard @@ -2578,6 +2540,13 @@ __metadata: languageName: node linkType: hard +"eastasianwidth@npm:^0.2.0": + version: 0.2.0 + resolution: "eastasianwidth@npm:0.2.0" + checksum: 7d00d7cd8e49b9afa762a813faac332dee781932d6f2c848dc348939c4253f1d4564341b7af1d041853bc3f32c2ef141b58e0a4d9862c17a7f08f68df1e0f1ed + languageName: node + linkType: hard + "ee-first@npm:1.1.1": version: 1.1.1 resolution: "ee-first@npm:1.1.1" @@ -2585,17 +2554,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.431": - version: 1.4.463 - resolution: "electron-to-chromium@npm:1.4.463" - checksum: 0f8d9b7ac7bcd48ae1963827a752d8c1d1f36d84e778e818a8027ea708f81b58faa0b599c964777e8245277f06ac45828515975fc7e1e08ed20e360571600c2c - languageName: node - linkType: hard - -"elkjs@npm:0.6.2": - version: 0.6.2 - resolution: "elkjs@npm:0.6.2" - checksum: da992bf84bc24c42cd60737bcdfe16a9b2670c09ba17fe3e899a3ae59ebb9fc5371a167545b01c2aa1bde1338122e4b2e5bb6b3a75154404fd15ba3dcdff168b +"electron-to-chromium@npm:^1.4.535": + version: 1.4.601 + resolution: "electron-to-chromium@npm:1.4.601" + checksum: 6c6d090afaab83f49fe413c2558a3294e7dfce6a9d8afda3496a80ba59377901279ea7903122558399d5f5dbbdcca8562e3e826b7b78e7ec0b561fcc02c45f73 languageName: node linkType: hard @@ -2606,6 +2568,13 @@ __metadata: languageName: node linkType: hard +"emoji-regex@npm:^9.2.2": + version: 9.2.2 + resolution: "emoji-regex@npm:9.2.2" + checksum: 8487182da74aabd810ac6d6f1994111dfc0e331b01271ae01ec1eb0ad7b5ecc2bbbbd2f053c05cb55a1ac30449527d819bbfbf0e3de1023db308cbcb47f86601 + languageName: node + linkType: hard + "emojis-list@npm:^3.0.0": version: 3.0.0 resolution: "emojis-list@npm:3.0.0" @@ -2656,11 +2625,11 @@ __metadata: linkType: hard "envinfo@npm:^7.7.3": - version: 7.10.0 - resolution: "envinfo@npm:7.10.0" + version: 7.11.0 + resolution: "envinfo@npm:7.11.0" bin: envinfo: dist/cli.js - checksum: 05e81a5768c42cbd5c580dc3f274db3401facadd53e9bd52e2aa49dfbb5d8b26f6181c25a6652d79618a6994185bd2b1c137673101690b147f758e4e71d42f7d + checksum: c45a7d20409d5f4cda72483b150d3816b15b434f2944d72c1495d8838bd7c4e7b2f32c12128ffb9b92b5f66f436237b8a525eb3a9a5da2d20013bc4effa28aef languageName: node linkType: hard @@ -2777,6 +2746,13 @@ __metadata: languageName: node linkType: hard +"exponential-backoff@npm:^3.1.1": + version: 3.1.1 + resolution: "exponential-backoff@npm:3.1.1" + checksum: 3d21519a4f8207c99f7457287291316306255a328770d320b401114ec8481986e4e467e854cb9914dd965e0a1ca810a23ccb559c642c88f4c7f55c55778a9b48 + languageName: node + linkType: hard + "express@npm:^4.17.3": version: 4.18.2 resolution: "express@npm:4.18.2" @@ -2919,6 +2895,15 @@ __metadata: languageName: node linkType: hard +"flat@npm:^5.0.2": + version: 5.0.2 + resolution: "flat@npm:5.0.2" + bin: + flat: cli.js + checksum: 12a1536ac746db74881316a181499a78ef953632ddd28050b7a3a43c62ef5462e3357c8c29d76072bb635f147f7a9a1f0c02efef6b4be28f8db62ceb3d5c7f5d + languageName: node + linkType: hard + "flush-write-stream@npm:^1.0.0": version: 1.1.1 resolution: "flush-write-stream@npm:1.1.1" @@ -2930,12 +2915,22 @@ __metadata: linkType: hard "follow-redirects@npm:^1.0.0": - version: 1.15.2 - resolution: "follow-redirects@npm:1.15.2" + version: 1.15.3 + resolution: "follow-redirects@npm:1.15.3" peerDependenciesMeta: debug: optional: true - checksum: faa66059b66358ba65c234c2f2a37fcec029dc22775f35d9ad6abac56003268baf41e55f9ee645957b32c7d9f62baf1f0b906e68267276f54ec4b4c597c2b190 + checksum: 584da22ec5420c837bd096559ebfb8fe69d82512d5585004e36a3b4a6ef6d5905780e0c74508c7b72f907d1fa2b7bd339e613859e9c304d0dc96af2027fd0231 + languageName: node + linkType: hard + +"foreground-child@npm:^3.1.0": + version: 3.1.1 + resolution: "foreground-child@npm:3.1.1" + dependencies: + cross-spawn: ^7.0.0 + signal-exit: ^4.0.1 + checksum: 139d270bc82dc9e6f8bc045fe2aae4001dc2472157044fdfad376d0a3457f77857fa883c1c8b21b491c6caade9a926a4bed3d3d2e8d3c9202b151a4cbbd0bcd5 languageName: node linkType: hard @@ -2963,7 +2958,7 @@ __metadata: languageName: node linkType: hard -"fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0": +"fs-minipass@npm:^2.0.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" dependencies: @@ -2972,10 +2967,19 @@ __metadata: languageName: node linkType: hard +"fs-minipass@npm:^3.0.0": + version: 3.0.3 + resolution: "fs-minipass@npm:3.0.3" + dependencies: + minipass: ^7.0.3 + checksum: 8722a41109130851d979222d3ec88aabaceeaaf8f57b2a8f744ef8bd2d1ce95453b04a61daa0078822bc5cd21e008814f06fe6586f56fef511e71b8d2394d802 + languageName: node + linkType: hard + "fs-monkey@npm:^1.0.4": - version: 1.0.4 - resolution: "fs-monkey@npm:1.0.4" - checksum: 8b254c982905c0b7e028eab22b410dc35a5c0019c1c860456f5f54ae6a61666e1cb8c6b700d6c88cc873694c00953c935847b9959cc4dcf274aacb8673c1e8bf + version: 1.0.5 + resolution: "fs-monkey@npm:1.0.5" + checksum: 424b67f65b37fe66117ae2bb061f790fe6d4b609e1d160487c74b3d69fbf42f262c665ccfba32e8b5f113f96f92e9a58fcdebe42d5f6649bdfc72918093a3119 languageName: node linkType: hard @@ -2999,44 +3003,28 @@ __metadata: linkType: hard "fsevents@npm:~2.3.2": - version: 2.3.2 - resolution: "fsevents@npm:2.3.2" + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" dependencies: node-gyp: latest - checksum: 97ade64e75091afee5265e6956cb72ba34db7819b4c3e94c431d4be2b19b8bb7a2d4116da417950c3425f17c8fe693d25e20212cac583ac1521ad066b77ae31f + checksum: 11e6ea6fea15e42461fc55b4b0e4a0a3c654faa567f1877dbd353f39156f69def97a69936d1746619d656c4b93de2238bf731f6085a03a50cabf287c9d024317 conditions: os=darwin languageName: node linkType: hard "fsevents@patch:fsevents@~2.3.2#~builtin": - version: 2.3.2 - resolution: "fsevents@patch:fsevents@npm%3A2.3.2#~builtin::version=2.3.2&hash=df0bf1" + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#~builtin::version=2.3.3&hash=df0bf1" dependencies: node-gyp: latest conditions: os=darwin languageName: node linkType: hard -"function-bind@npm:^1.1.1": - version: 1.1.1 - resolution: "function-bind@npm:1.1.1" - checksum: b32fbaebb3f8ec4969f033073b43f5c8befbb58f1a79e12f1d7490358150359ebd92f49e72ff0144f65f2c48ea2a605bff2d07965f548f6474fd8efd95bf361a - languageName: node - linkType: hard - -"gauge@npm:^4.0.3": - version: 4.0.4 - resolution: "gauge@npm:4.0.4" - dependencies: - aproba: ^1.0.3 || ^2.0.0 - color-support: ^1.1.3 - console-control-strings: ^1.1.0 - has-unicode: ^2.0.1 - signal-exit: ^3.0.7 - string-width: ^4.2.3 - strip-ansi: ^6.0.1 - wide-align: ^1.1.5 - checksum: 788b6bfe52f1dd8e263cda800c26ac0ca2ff6de0b6eee2fe0d9e3abf15e149b651bd27bf5226be10e6e3edb5c4e5d5985a5a1a98137e7a892f75eff76467ad2d +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 2b0ff4ce708d99715ad14a6d1f894e2a83242e4a52ccfcefaee5e40050562e5f6dafc1adbb4ce2d4ab47279a45dc736ab91ea5042d843c3c092820dfe032efb1 languageName: node linkType: hard @@ -3047,14 +3035,15 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.0.2": - version: 1.2.0 - resolution: "get-intrinsic@npm:1.2.0" +"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.2": + version: 1.2.2 + resolution: "get-intrinsic@npm:1.2.2" dependencies: - function-bind: ^1.1.1 - has: ^1.0.3 + function-bind: ^1.1.2 + has-proto: ^1.0.1 has-symbols: ^1.0.3 - checksum: 78fc0487b783f5c58cf2dccafc3ae656ee8d2d8062a8831ce4a95e7057af4587a1d4882246c033aca0a7b4965276f4802b45cc300338d1b77a73d3e3e3f4877d + hasown: ^2.0.0 + checksum: 447ff0724df26829908dc033b62732359596fcf66027bc131ab37984afb33842d9cd458fd6cecadfe7eac22fd8a54b349799ed334cf2726025c921c7250e7417 languageName: node linkType: hard @@ -3091,6 +3080,21 @@ __metadata: languageName: node linkType: hard +"glob@npm:^10.2.2, glob@npm:^10.3.10": + version: 10.3.10 + resolution: "glob@npm:10.3.10" + dependencies: + foreground-child: ^3.1.0 + jackspeak: ^2.3.5 + minimatch: ^9.0.1 + minipass: ^5.0.0 || ^6.0.2 || ^7.0.0 + path-scurry: ^1.10.1 + bin: + glob: dist/esm/bin.mjs + checksum: 4f2fe2511e157b5a3f525a54092169a5f92405f24d2aed3142f4411df328baca13059f4182f1db1bf933e2c69c0bd89e57ae87edd8950cba8c7ccbe84f721cf3 + languageName: node + linkType: hard + "glob@npm:^7.0.0, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4": version: 7.2.3 resolution: "glob@npm:7.2.3" @@ -3105,19 +3109,6 @@ __metadata: languageName: node linkType: hard -"glob@npm:^8.0.1": - version: 8.1.0 - resolution: "glob@npm:8.1.0" - dependencies: - fs.realpath: ^1.0.0 - inflight: ^1.0.4 - inherits: 2 - minimatch: ^5.0.1 - once: ^1.3.0 - checksum: 92fbea3221a7d12075f26f0227abac435de868dd0736a17170663783296d0dd8d3d532a5672b4488a439bf5d7fb85cdd07c11185d6cd39184f0385cbdfb86a47 - languageName: node - linkType: hard - "globals@npm:^11.1.0": version: 11.12.0 resolution: "globals@npm:11.12.0" @@ -3139,17 +3130,19 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.2.4": - version: 4.2.11 - resolution: "graceful-fs@npm:4.2.11" - checksum: ac85f94da92d8eb6b7f5a8b20ce65e43d66761c55ce85ac96df6865308390da45a8d3f0296dd3a663de65d30ba497bd46c696cc1e248c72b13d6d567138a4fc7 +"gopd@npm:^1.0.1": + version: 1.0.1 + resolution: "gopd@npm:1.0.1" + dependencies: + get-intrinsic: ^1.1.3 + checksum: a5ccfb8806e0917a94e0b3de2af2ea4979c1da920bc381667c260e00e7cafdbe844e2cb9c5bcfef4e5412e8bf73bab837285bc35c7ba73aaaf0134d4583393a6 languageName: node linkType: hard -"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.2.6": - version: 4.2.10 - resolution: "graceful-fs@npm:4.2.10" - checksum: 3f109d70ae123951905d85032ebeae3c2a5a7a997430df00ea30df0e3a6c60cf6689b109654d6fdacd28810a053348c4d14642da1d075049e6be1ba5216218da +"graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: ac85f94da92d8eb6b7f5a8b20ce65e43d66761c55ce85ac96df6865308390da45a8d3f0296dd3a663de65d30ba497bd46c696cc1e248c72b13d6d567138a4fc7 languageName: node linkType: hard @@ -3183,26 +3176,35 @@ __metadata: languageName: node linkType: hard -"has-symbols@npm:^1.0.3": - version: 1.0.3 - resolution: "has-symbols@npm:1.0.3" - checksum: a054c40c631c0d5741a8285010a0777ea0c068f99ed43e5d6eb12972da223f8af553a455132fdb0801bdcfa0e0f443c0c03a68d8555aa529b3144b446c3f2410 +"has-property-descriptors@npm:^1.0.0": + version: 1.0.1 + resolution: "has-property-descriptors@npm:1.0.1" + dependencies: + get-intrinsic: ^1.2.2 + checksum: 2bcc6bf6ec6af375add4e4b4ef586e43674850a91ad4d46666d0b28ba8e1fd69e424c7677d24d60f69470ad0afaa2f3197f508b20b0bb7dd99a8ab77ffc4b7c4 languageName: node linkType: hard -"has-unicode@npm:^2.0.1": - version: 2.0.1 - resolution: "has-unicode@npm:2.0.1" - checksum: 1eab07a7436512db0be40a710b29b5dc21fa04880b7f63c9980b706683127e3c1b57cb80ea96d47991bdae2dfe479604f6a1ba410106ee1046a41d1bd0814400 +"has-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "has-proto@npm:1.0.1" + checksum: febc5b5b531de8022806ad7407935e2135f1cc9e64636c3916c6842bd7995994ca3b29871ecd7954bd35f9e2986c17b3b227880484d22259e2f8e6ce63fd383e languageName: node linkType: hard -"has@npm:^1.0.3": +"has-symbols@npm:^1.0.3": version: 1.0.3 - resolution: "has@npm:1.0.3" + resolution: "has-symbols@npm:1.0.3" + checksum: a054c40c631c0d5741a8285010a0777ea0c068f99ed43e5d6eb12972da223f8af553a455132fdb0801bdcfa0e0f443c0c03a68d8555aa529b3144b446c3f2410 + languageName: node + linkType: hard + +"hasown@npm:^2.0.0": + version: 2.0.0 + resolution: "hasown@npm:2.0.0" dependencies: - function-bind: ^1.1.1 - checksum: b9ad53d53be4af90ce5d1c38331e712522417d017d5ef1ebd0507e07c2fbad8686fffb8e12ddecd4c39ca9b9b47431afbb975b8abf7f3c3b82c98e9aad052792 + function-bind: ^1.1.2 + checksum: 6151c75ca12554565098641c98a40f4cc86b85b0fd5b6fe92360967e4605a4f9610f7757260b4e8098dd1c2ce7f4b095f2006fe72a570e3b6d2d28de0298c176 languageName: node linkType: hard @@ -3225,7 +3227,7 @@ __metadata: languageName: node linkType: hard -"http-cache-semantics@npm:^4.1.0": +"http-cache-semantics@npm:^4.1.1": version: 4.1.1 resolution: "http-cache-semantics@npm:4.1.1" checksum: 83ac0bc60b17a3a36f9953e7be55e5c8f41acc61b22583060e8dedc9dd5e3607c823a88d0926f9150e571f90946835c7fe150732801010845c72cd8bbff1a236 @@ -3271,14 +3273,13 @@ __metadata: languageName: node linkType: hard -"http-proxy-agent@npm:^5.0.0": - version: 5.0.0 - resolution: "http-proxy-agent@npm:5.0.0" +"http-proxy-agent@npm:^7.0.0": + version: 7.0.0 + resolution: "http-proxy-agent@npm:7.0.0" dependencies: - "@tootallnate/once": 2 - agent-base: 6 - debug: 4 - checksum: e2ee1ff1656a131953839b2a19cd1f3a52d97c25ba87bd2559af6ae87114abf60971e498021f9b73f9fd78aea8876d1fb0d4656aac8a03c6caa9fc175f22b786 + agent-base: ^7.1.0 + debug: ^4.3.4 + checksum: 48d4fac997917e15f45094852b63b62a46d0c8a4f0b9c6c23ca26d27b8df8d178bed88389e604745e748bd9a01f5023e25093722777f0593c3f052009ff438b6 languageName: node linkType: hard @@ -3311,13 +3312,13 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:^5.0.0": - version: 5.0.1 - resolution: "https-proxy-agent@npm:5.0.1" +"https-proxy-agent@npm:^7.0.1": + version: 7.0.2 + resolution: "https-proxy-agent@npm:7.0.2" dependencies: - agent-base: 6 + agent-base: ^7.0.2 debug: 4 - checksum: 571fccdf38184f05943e12d37d6ce38197becdd69e58d03f43637f7fa1269cf303a7d228aa27e5b27bbd3af8f09fd938e1c91dcfefff2df7ba77c20ed8dfc765 + checksum: 088969a0dd476ea7a0ed0a2cf1283013682b08f874c3bc6696c83fa061d2c157d29ef0ad3eb70a2046010bb7665573b2388d10fdcb3e410a66995e5248444292 languageName: node linkType: hard @@ -3328,15 +3329,6 @@ __metadata: languageName: node linkType: hard -"humanize-ms@npm:^1.2.1": - version: 1.2.1 - resolution: "humanize-ms@npm:1.2.1" - dependencies: - ms: ^2.0.0 - checksum: 9c7a74a2827f9294c009266c82031030eae811ca87b0da3dceb8d6071b9bde22c9f3daef0469c3c533cc67a97d8a167cd9fc0389350e5f415f61a79b171ded16 - languageName: node - linkType: hard - "iconv-lite@npm:0.4.24": version: 0.4.24 resolution: "iconv-lite@npm:0.4.24" @@ -3404,7 +3396,7 @@ __metadata: languageName: node linkType: hard -"infer-owner@npm:^1.0.3, infer-owner@npm:^1.0.4": +"infer-owner@npm:^1.0.3": version: 1.0.4 resolution: "infer-owner@npm:1.0.4" checksum: 181e732764e4a0611576466b4b87dac338972b839920b2a8cde43642e4ed6bd54dc1fb0b40874728f2a2df9a1b097b8ff83b56d5f8f8e3927f837fdcb47d8a89 @@ -3488,21 +3480,12 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.12.0": - version: 2.12.1 - resolution: "is-core-module@npm:2.12.1" +"is-core-module@npm:^2.13.0": + version: 2.13.1 + resolution: "is-core-module@npm:2.13.1" dependencies: - has: ^1.0.3 - checksum: f04ea30533b5e62764e7b2e049d3157dc0abd95ef44275b32489ea2081176ac9746ffb1cdb107445cf1ff0e0dfcad522726ca27c27ece64dadf3795428b8e468 - languageName: node - linkType: hard - -"is-core-module@npm:^2.9.0": - version: 2.11.0 - resolution: "is-core-module@npm:2.11.0" - dependencies: - has: ^1.0.3 - checksum: f96fd490c6b48eb4f6d10ba815c6ef13f410b0ba6f7eb8577af51697de523e5f2cd9de1c441b51d27251bf0e4aebc936545e33a5d26d5d51f28d25698d4a8bab + hasown: ^2.0.0 + checksum: 256559ee8a9488af90e4bad16f5583c6d59e92f0742e9e8bb4331e758521ee86b810b93bae44f390766ffbc518a0488b18d9dab7da9a5ff997d499efc9403f7c languageName: node linkType: hard @@ -3607,6 +3590,13 @@ __metadata: languageName: node linkType: hard +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 7fe1931ee4e88eb5aa524cd3ceb8c882537bc3a81b02e438b240e47012eef49c86904d0f0e593ea7c3a9996d18d0f1f3be8d3eaa92333977b0c3a9d353d5563e + languageName: node + linkType: hard + "isobject@npm:^3.0.1": version: 3.0.1 resolution: "isobject@npm:3.0.1" @@ -3614,6 +3604,19 @@ __metadata: languageName: node linkType: hard +"jackspeak@npm:^2.3.5": + version: 2.3.6 + resolution: "jackspeak@npm:2.3.6" + dependencies: + "@isaacs/cliui": ^8.0.2 + "@pkgjs/parseargs": ^0.11.0 + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 57d43ad11eadc98cdfe7496612f6bbb5255ea69fe51ea431162db302c2a11011642f50cfad57288bd0aea78384a0612b16e131944ad8ecd09d619041c8531b54 + languageName: node + linkType: hard + "jest-worker@npm:^27.4.5": version: 27.5.1 resolution: "jest-worker@npm:27.5.1" @@ -3625,13 +3628,6 @@ __metadata: languageName: node linkType: hard -"jquery@npm:~3.5.1": - version: 3.5.1 - resolution: "jquery@npm:3.5.1" - checksum: 813047b852511ca1ecfaa7b2568aba1d7270a92e5c74962b308792a401adf041869a3b2a6858b0b7a02f6684947fb93171e40cbb4460831977a937b40b0e15ce - languageName: node - linkType: hard - "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -3769,7 +3765,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:^4.17.13, lodash@npm:^4.17.20, lodash@npm:~4.17.20": +"lodash@npm:^4.17.13, lodash@npm:^4.17.20": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -3787,6 +3783,13 @@ __metadata: languageName: node linkType: hard +"lru-cache@npm:^10.0.1, lru-cache@npm:^9.1.1 || ^10.0.0": + version: 10.1.0 + resolution: "lru-cache@npm:10.1.0" + checksum: 58056d33e2500fbedce92f8c542e7c11b50d7d086578f14b7074d8c241422004af0718e08a6eaae8705cee09c77e39a61c1c79e9370ba689b7010c152e6a76ab + languageName: node + linkType: hard + "lru-cache@npm:^5.1.1": version: 5.1.1 resolution: "lru-cache@npm:5.1.1" @@ -3805,13 +3808,6 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^7.7.1": - version: 7.18.3 - resolution: "lru-cache@npm:7.18.3" - checksum: e550d772384709deea3f141af34b6d4fa392e2e418c1498c078de0ee63670f1f46f5eee746e8ef7e69e1c895af0d4224e62ee33e66a543a14763b0f2e74c1356 - languageName: node - linkType: hard - "make-dir@npm:^2.0.0": version: 2.1.0 resolution: "make-dir@npm:2.1.0" @@ -3822,27 +3818,22 @@ __metadata: languageName: node linkType: hard -"make-fetch-happen@npm:^10.0.3": - version: 10.2.1 - resolution: "make-fetch-happen@npm:10.2.1" +"make-fetch-happen@npm:^13.0.0": + version: 13.0.0 + resolution: "make-fetch-happen@npm:13.0.0" dependencies: - agentkeepalive: ^4.2.1 - cacache: ^16.1.0 - http-cache-semantics: ^4.1.0 - http-proxy-agent: ^5.0.0 - https-proxy-agent: ^5.0.0 + "@npmcli/agent": ^2.0.0 + cacache: ^18.0.0 + http-cache-semantics: ^4.1.1 is-lambda: ^1.0.1 - lru-cache: ^7.7.1 - minipass: ^3.1.6 - minipass-collect: ^1.0.2 - minipass-fetch: ^2.0.3 + minipass: ^7.0.2 + minipass-fetch: ^3.0.0 minipass-flush: ^1.0.5 minipass-pipeline: ^1.2.4 negotiator: ^0.6.3 promise-retry: ^2.0.1 - socks-proxy-agent: ^7.0.0 - ssri: ^9.0.0 - checksum: 2332eb9a8ec96f1ffeeea56ccefabcb4193693597b132cd110734d50f2928842e22b84cfa1508e921b8385cdfd06dda9ad68645fed62b50fff629a580f5fb72c + ssri: ^10.0.0 + checksum: 7c7a6d381ce919dd83af398b66459a10e2fe8f4504f340d1d090d3fa3d1b0c93750220e1d898114c64467223504bd258612ba83efbc16f31b075cd56de24b4af languageName: node linkType: hard @@ -3941,12 +3932,12 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^5.0.1": - version: 5.1.6 - resolution: "minimatch@npm:5.1.6" +"minimatch@npm:^9.0.1": + version: 9.0.3 + resolution: "minimatch@npm:9.0.3" dependencies: brace-expansion: ^2.0.1 - checksum: 7564208ef81d7065a370f788d337cd80a689e981042cb9a1d0e6580b6c6a8c9279eba80010516e258835a988363f99f54a6f711a315089b8b42694f5da9d0d77 + checksum: 253487976bf485b612f16bf57463520a14f512662e592e95c571afdab1442a6a6864b6c88f248ce6fc4ff0b6de04ac7aa6c8bb51e868e99d1d65eb0658a708b5 languageName: node linkType: hard @@ -3957,27 +3948,27 @@ __metadata: languageName: node linkType: hard -"minipass-collect@npm:^1.0.2": - version: 1.0.2 - resolution: "minipass-collect@npm:1.0.2" +"minipass-collect@npm:^2.0.1": + version: 2.0.1 + resolution: "minipass-collect@npm:2.0.1" dependencies: - minipass: ^3.0.0 - checksum: 14df761028f3e47293aee72888f2657695ec66bd7d09cae7ad558da30415fdc4752bbfee66287dcc6fd5e6a2fa3466d6c484dc1cbd986525d9393b9523d97f10 + minipass: ^7.0.3 + checksum: b251bceea62090f67a6cced7a446a36f4cd61ee2d5cea9aee7fff79ba8030e416327a1c5aa2908dc22629d06214b46d88fdab8c51ac76bacbf5703851b5ad342 languageName: node linkType: hard -"minipass-fetch@npm:^2.0.3": - version: 2.1.2 - resolution: "minipass-fetch@npm:2.1.2" +"minipass-fetch@npm:^3.0.0": + version: 3.0.4 + resolution: "minipass-fetch@npm:3.0.4" dependencies: encoding: ^0.1.13 - minipass: ^3.1.6 + minipass: ^7.0.3 minipass-sized: ^1.0.3 minizlib: ^2.1.2 dependenciesMeta: encoding: optional: true - checksum: 3f216be79164e915fc91210cea1850e488793c740534985da017a4cbc7a5ff50506956d0f73bb0cb60e4fe91be08b6b61ef35101706d3ef5da2c8709b5f08f91 + checksum: af7aad15d5c128ab1ebe52e043bdf7d62c3c6f0cecb9285b40d7b395e1375b45dcdfd40e63e93d26a0e8249c9efd5c325c65575aceee192883970ff8cb11364a languageName: node linkType: hard @@ -4008,7 +3999,7 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^3.0.0, minipass@npm:^3.1.1, minipass@npm:^3.1.6": +"minipass@npm:^3.0.0": version: 3.3.6 resolution: "minipass@npm:3.3.6" dependencies: @@ -4017,10 +4008,17 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^4.0.0": - version: 4.2.4 - resolution: "minipass@npm:4.2.4" - checksum: c664f2ae4401408d1e7a6e4f50aca45f87b1b0634bc9261136df5c378e313e77355765f73f59c4a5abcadcdf43d83fcd3eb14e4a7cdcce8e36508e2290345753 +"minipass@npm:^5.0.0": + version: 5.0.0 + resolution: "minipass@npm:5.0.0" + checksum: 425dab288738853fded43da3314a0b5c035844d6f3097a8e3b5b29b328da8f3c1af6fc70618b32c29ff906284cf6406b6841376f21caaadd0793c1d5a6a620ea + languageName: node + linkType: hard + +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3": + version: 7.0.4 + resolution: "minipass@npm:7.0.4" + checksum: 87585e258b9488caf2e7acea242fd7856bbe9a2c84a7807643513a338d66f368c7d518200ad7b70a508664d408aa000517647b2930c259a8b1f9f0984f344a21 languageName: node linkType: hard @@ -4063,7 +4061,7 @@ __metadata: languageName: node linkType: hard -"mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": +"mkdirp@npm:^1.0.3": version: 1.0.4 resolution: "mkdirp@npm:1.0.4" bin: @@ -4107,7 +4105,7 @@ __metadata: languageName: node linkType: hard -"ms@npm:2.1.3, ms@npm:^2.0.0": +"ms@npm:2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d @@ -4148,40 +4146,40 @@ __metadata: linkType: hard "node-gyp@npm:latest": - version: 9.3.1 - resolution: "node-gyp@npm:9.3.1" + version: 10.0.1 + resolution: "node-gyp@npm:10.0.1" dependencies: env-paths: ^2.2.0 - glob: ^7.1.4 + exponential-backoff: ^3.1.1 + glob: ^10.3.10 graceful-fs: ^4.2.6 - make-fetch-happen: ^10.0.3 - nopt: ^6.0.0 - npmlog: ^6.0.0 - rimraf: ^3.0.2 + make-fetch-happen: ^13.0.0 + nopt: ^7.0.0 + proc-log: ^3.0.0 semver: ^7.3.5 tar: ^6.1.2 - which: ^2.0.2 + which: ^4.0.0 bin: node-gyp: bin/node-gyp.js - checksum: b860e9976fa645ca0789c69e25387401b4396b93c8375489b5151a6c55cf2640a3b6183c212b38625ef7c508994930b72198338e3d09b9d7ade5acc4aaf51ea7 + checksum: 60a74e66d364903ce02049966303a57f898521d139860ac82744a5fdd9f7b7b3b61f75f284f3bfe6e6add3b8f1871ce305a1d41f775c7482de837b50c792223f languageName: node linkType: hard -"node-releases@npm:^2.0.12": - version: 2.0.13 - resolution: "node-releases@npm:2.0.13" - checksum: 17ec8f315dba62710cae71a8dad3cd0288ba943d2ece43504b3b1aa8625bf138637798ab470b1d9035b0545996f63000a8a926e0f6d35d0996424f8b6d36dda3 +"node-releases@npm:^2.0.13": + version: 2.0.14 + resolution: "node-releases@npm:2.0.14" + checksum: 59443a2f77acac854c42d321bf1b43dea0aef55cd544c6a686e9816a697300458d4e82239e2d794ea05f7bbbc8a94500332e2d3ac3f11f52e4b16cbe638b3c41 languageName: node linkType: hard -"nopt@npm:^6.0.0": - version: 6.0.0 - resolution: "nopt@npm:6.0.0" +"nopt@npm:^7.0.0": + version: 7.2.0 + resolution: "nopt@npm:7.2.0" dependencies: - abbrev: ^1.0.0 + abbrev: ^2.0.0 bin: nopt: bin/nopt.js - checksum: 82149371f8be0c4b9ec2f863cc6509a7fd0fa729929c009f3a58e4eb0c9e4cae9920e8f1f8eb46e7d032fec8fb01bede7f0f41a67eb3553b7b8e14fa53de1dac + checksum: a9c0f57fb8cb9cc82ae47192ca2b7ef00e199b9480eed202482c962d61b59a7fbe7541920b2a5839a97b42ee39e288c0aed770e38057a608d7f579389dfde410 languageName: node linkType: hard @@ -4201,22 +4199,10 @@ __metadata: languageName: node linkType: hard -"npmlog@npm:^6.0.0": - version: 6.0.2 - resolution: "npmlog@npm:6.0.2" - dependencies: - are-we-there-yet: ^3.0.0 - console-control-strings: ^1.1.0 - gauge: ^4.0.3 - set-blocking: ^2.0.0 - checksum: ae238cd264a1c3f22091cdd9e2b106f684297d3c184f1146984ecbe18aaa86343953f26b9520dedd1b1372bc0316905b736c1932d778dbeb1fcf5a1001390e2a - languageName: node - linkType: hard - "object-inspect@npm:^1.9.0": - version: 1.12.3 - resolution: "object-inspect@npm:1.12.3" - checksum: dabfd824d97a5f407e6d5d24810d888859f6be394d8b733a77442b277e0808860555176719c5905e765e3743a7cada6b8b0a3b85e5331c530fd418cc8ae991db + version: 1.13.1 + resolution: "object-inspect@npm:1.13.1" + checksum: 7d9fa9221de3311dcb5c7c307ee5dc011cdd31dc43624b7c184b3840514e118e05ef0002be5388304c416c0eb592feb46e983db12577fc47e47d5752fbbfb61f languageName: node linkType: hard @@ -4394,6 +4380,16 @@ __metadata: languageName: node linkType: hard +"path-scurry@npm:^1.10.1": + version: 1.10.1 + resolution: "path-scurry@npm:1.10.1" + dependencies: + lru-cache: ^9.1.1 || ^10.0.0 + minipass: ^5.0.0 || ^6.0.2 || ^7.0.0 + checksum: e2557cff3a8fb8bc07afdd6ab163a92587884f9969b05bbbaf6fe7379348bfb09af9ed292af12ed32398b15fb443e81692047b786d1eeb6d898a51eb17ed7d90 + languageName: node + linkType: hard + "path-to-regexp@npm:0.1.7": version: 0.1.7 resolution: "path-to-regexp@npm:0.1.7" @@ -4531,6 +4527,13 @@ __metadata: languageName: node linkType: hard +"proc-log@npm:^3.0.0": + version: 3.0.0 + resolution: "proc-log@npm:3.0.0" + checksum: 02b64e1b3919e63df06f836b98d3af002b5cd92655cab18b5746e37374bfb73e03b84fe305454614b34c25b485cc687a9eebdccf0242cda8fda2475dd2c97e02 + languageName: node + linkType: hard + "process-nextick-args@npm:~2.0.0": version: 2.0.1 resolution: "process-nextick-args@npm:2.0.1" @@ -4597,9 +4600,9 @@ __metadata: linkType: hard "punycode@npm:^2.1.0": - version: 2.3.0 - resolution: "punycode@npm:2.3.0" - checksum: 39f760e09a2a3bbfe8f5287cf733ecdad69d6af2fe6f97ca95f24b8921858b91e9ea3c9eeec6e08cede96181b3bb33f95c6ffd8c77e63986508aa2e8159fa200 + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: bb0a0ceedca4c3c57a9b981b90601579058903c62be23c5e8e843d2c2d4148a3ecf029d5133486fb0e1822b098ba8bba09e89d6b21742d02fa26bda6441a6fb2 languageName: node linkType: hard @@ -4655,7 +4658,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^3.0.6, readable-stream@npm:^3.6.0": +"readable-stream@npm:^3.0.6": version: 3.6.2 resolution: "readable-stream@npm:3.6.2" dependencies: @@ -4694,11 +4697,11 @@ __metadata: linkType: hard "regenerate-unicode-properties@npm:^10.1.0": - version: 10.1.0 - resolution: "regenerate-unicode-properties@npm:10.1.0" + version: 10.1.1 + resolution: "regenerate-unicode-properties@npm:10.1.1" dependencies: regenerate: ^1.4.2 - checksum: b1a8929588433ab8b9dc1a34cf3665b3b472f79f2af6ceae00d905fc496b332b9af09c6718fb28c730918f19a00dc1d7310adbaa9b72a2ec7ad2f435da8ace17 + checksum: b80958ef40f125275824c2c47d5081dfaefebd80bff26c76761e9236767c748a4a95a69c053fe29d2df881177f2ca85df4a71fe70a82360388b31159ef19adcf languageName: node linkType: hard @@ -4716,19 +4719,19 @@ __metadata: languageName: node linkType: hard -"regenerator-runtime@npm:^0.13.11": - version: 0.13.11 - resolution: "regenerator-runtime@npm:0.13.11" - checksum: 27481628d22a1c4e3ff551096a683b424242a216fee44685467307f14d58020af1e19660bf2e26064de946bad7eff28950eae9f8209d55723e2d9351e632bbb4 +"regenerator-runtime@npm:^0.14.0": + version: 0.14.0 + resolution: "regenerator-runtime@npm:0.14.0" + checksum: 1c977ad82a82a4412e4f639d65d22be376d3ebdd30da2c003eeafdaaacd03fc00c2320f18120007ee700900979284fc78a9f00da7fb593f6e6eeebc673fba9a3 languageName: node linkType: hard -"regenerator-transform@npm:^0.15.1": - version: 0.15.1 - resolution: "regenerator-transform@npm:0.15.1" +"regenerator-transform@npm:^0.15.2": + version: 0.15.2 + resolution: "regenerator-transform@npm:0.15.2" dependencies: "@babel/runtime": ^7.8.4 - checksum: 2d15bdeadbbfb1d12c93f5775493d85874dbe1d405bec323da5c61ec6e701bc9eea36167483e1a5e752de9b2df59ab9a2dfff6bf3784f2b28af2279a673d29a4 + checksum: 20b6f9377d65954980fe044cfdd160de98df415b4bff38fbade67b3337efaf078308c4fed943067cd759827cc8cfeca9cb28ccda1f08333b85d6a2acbd022c27 languageName: node linkType: hard @@ -4787,55 +4790,29 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.1.6, resolve@npm:^1.3.2": - version: 1.22.3 - resolution: "resolve@npm:1.22.3" - dependencies: - is-core-module: ^2.12.0 - path-parse: ^1.0.7 - supports-preserve-symlinks-flag: ^1.0.0 - bin: - resolve: bin/resolve - checksum: fb834b81348428cb545ff1b828a72ea28feb5a97c026a1cf40aa1008352c72811ff4d4e71f2035273dc536dcfcae20c13604ba6283c612d70fa0b6e44519c374 - languageName: node - linkType: hard - -"resolve@npm:^1.9.0": - version: 1.22.1 - resolution: "resolve@npm:1.22.1" +"resolve@npm:^1.1.6, resolve@npm:^1.3.2, resolve@npm:^1.9.0": + version: 1.22.8 + resolution: "resolve@npm:1.22.8" dependencies: - is-core-module: ^2.9.0 + is-core-module: ^2.13.0 path-parse: ^1.0.7 supports-preserve-symlinks-flag: ^1.0.0 bin: resolve: bin/resolve - checksum: 07af5fc1e81aa1d866cbc9e9460fbb67318a10fa3c4deadc35c3ad8a898ee9a71a86a65e4755ac3195e0ea0cfbe201eb323ebe655ce90526fd61917313a34e4e + checksum: f8a26958aa572c9b064562750b52131a37c29d072478ea32e129063e2da7f83e31f7f11e7087a18225a8561cfe8d2f0df9dbea7c9d331a897571c0a2527dbb4c languageName: node linkType: hard -"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.3.2#~builtin": - version: 1.22.3 - resolution: "resolve@patch:resolve@npm%3A1.22.3#~builtin::version=1.22.3&hash=c3c19d" +"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.3.2#~builtin, resolve@patch:resolve@^1.9.0#~builtin": + version: 1.22.8 + resolution: "resolve@patch:resolve@npm%3A1.22.8#~builtin::version=1.22.8&hash=c3c19d" dependencies: - is-core-module: ^2.12.0 + is-core-module: ^2.13.0 path-parse: ^1.0.7 supports-preserve-symlinks-flag: ^1.0.0 bin: resolve: bin/resolve - checksum: ad59734723b596d0891321c951592ed9015a77ce84907f89c9d9307dd0c06e11a67906a3e628c4cae143d3e44898603478af0ddeb2bba3f229a9373efe342665 - languageName: node - linkType: hard - -"resolve@patch:resolve@^1.9.0#~builtin": - version: 1.22.1 - resolution: "resolve@patch:resolve@npm%3A1.22.1#~builtin::version=1.22.1&hash=c3c19d" - dependencies: - is-core-module: ^2.9.0 - path-parse: ^1.0.7 - supports-preserve-symlinks-flag: ^1.0.0 - bin: - resolve: bin/resolve - checksum: 5656f4d0bedcf8eb52685c1abdf8fbe73a1603bb1160a24d716e27a57f6cecbe2432ff9c89c2bd57542c3a7b9d14b1882b73bfe2e9d7849c9a4c0b8b39f02b8b + checksum: 5479b7d431cacd5185f8db64bfcb7286ae5e31eb299f4c4f404ad8aa6098b77599563ac4257cb2c37a42f59dfc06a1bec2bcf283bb448f319e37f0feb9a09847 languageName: node linkType: hard @@ -4994,11 +4971,12 @@ __metadata: linkType: hard "selfsigned@npm:^2.0.1": - version: 2.1.1 - resolution: "selfsigned@npm:2.1.1" + version: 2.4.1 + resolution: "selfsigned@npm:2.4.1" dependencies: + "@types/node-forge": ^1.3.0 node-forge: ^1 - checksum: aa9ce2150a54838978d5c0aee54d7ebe77649a32e4e690eb91775f71fdff773874a4fbafd0ac73d8ec3b702ff8a395c604df4f8e8868528f36fd6c15076fb43a + checksum: 38b91c56f1d7949c0b77f9bbe4545b19518475cae15e7d7f0043f87b1626710b011ce89879a88969651f650a19d213bb15b7d5b4c2877df9eeeff7ba8f8b9bfa languageName: node linkType: hard @@ -5021,13 +4999,13 @@ __metadata: linkType: hard "semver@npm:^7.3.5": - version: 7.3.8 - resolution: "semver@npm:7.3.8" + version: 7.5.4 + resolution: "semver@npm:7.5.4" dependencies: lru-cache: ^6.0.0 bin: semver: bin/semver.js - checksum: ba9c7cbbf2b7884696523450a61fee1a09930d888b7a8d7579025ad93d459b2d1949ee5bbfeb188b2be5f4ac163544c5e98491ad6152df34154feebc2cc337c1 + checksum: 12d8ad952fa353b0995bf180cdac205a4068b759a140e5d3c608317098b3575ac2f1e09182206bf2eb26120e1c0ed8fb92c48c592f6099680de56bb071423ca3 languageName: node linkType: hard @@ -5095,10 +5073,15 @@ __metadata: languageName: node linkType: hard -"set-blocking@npm:^2.0.0": - version: 2.0.0 - resolution: "set-blocking@npm:2.0.0" - checksum: 6e65a05f7cf7ebdf8b7c75b101e18c0b7e3dff4940d480efed8aad3a36a4005140b660fa1d804cb8bce911cac290441dc728084a30504d3516ac2ff7ad607b02 +"set-function-length@npm:^1.1.1": + version: 1.1.1 + resolution: "set-function-length@npm:1.1.1" + dependencies: + define-data-property: ^1.1.1 + get-intrinsic: ^1.2.1 + gopd: ^1.0.1 + has-property-descriptors: ^1.0.0 + checksum: c131d7569cd7e110cafdfbfbb0557249b538477624dfac4fc18c376d879672fa52563b74029ca01f8f4583a8acb35bb1e873d573a24edb80d978a7ee607c6e06 languageName: node linkType: hard @@ -5165,13 +5148,20 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": +"signal-exit@npm:^3.0.3": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" checksum: a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 languageName: node linkType: hard +"signal-exit@npm:^4.0.1": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 64c757b498cb8629ffa5f75485340594d2f8189e9b08700e69199069c8e3070fb3e255f7ab873c05dc0b3cec412aea7402e10a5990cb6a050bd33ba062a6c549 + languageName: node + linkType: hard + "sirv@npm:^1.0.7": version: 1.0.19 resolution: "sirv@npm:1.0.19" @@ -5208,18 +5198,18 @@ __metadata: languageName: node linkType: hard -"socks-proxy-agent@npm:^7.0.0": - version: 7.0.0 - resolution: "socks-proxy-agent@npm:7.0.0" +"socks-proxy-agent@npm:^8.0.1": + version: 8.0.2 + resolution: "socks-proxy-agent@npm:8.0.2" dependencies: - agent-base: ^6.0.2 - debug: ^4.3.3 - socks: ^2.6.2 - checksum: 720554370154cbc979e2e9ce6a6ec6ced205d02757d8f5d93fe95adae454fc187a5cbfc6b022afab850a5ce9b4c7d73e0f98e381879cf45f66317a4895953846 + agent-base: ^7.0.2 + debug: ^4.3.4 + socks: ^2.7.1 + checksum: 4fb165df08f1f380881dcd887b3cdfdc1aba3797c76c1e9f51d29048be6e494c5b06d68e7aea2e23df4572428f27a3ec22b3d7c75c570c5346507433899a4b6d languageName: node linkType: hard -"socks@npm:^2.6.2": +"socks@npm:^2.7.1": version: 2.7.1 resolution: "socks@npm:2.7.1" dependencies: @@ -5280,6 +5270,15 @@ __metadata: languageName: node linkType: hard +"ssri@npm:^10.0.0": + version: 10.0.5 + resolution: "ssri@npm:10.0.5" + dependencies: + minipass: ^7.0.3 + checksum: 0a31b65f21872dea1ed3f7c200d7bc1c1b91c15e419deca14f282508ba917cbb342c08a6814c7f68ca4ca4116dd1a85da2bbf39227480e50125a1ceffeecb750 + languageName: node + linkType: hard + "ssri@npm:^6.0.1": version: 6.0.2 resolution: "ssri@npm:6.0.2" @@ -5289,15 +5288,6 @@ __metadata: languageName: node linkType: hard -"ssri@npm:^9.0.0": - version: 9.0.1 - resolution: "ssri@npm:9.0.1" - dependencies: - minipass: ^3.1.1 - checksum: fb58f5e46b6923ae67b87ad5ef1c5ab6d427a17db0bead84570c2df3cd50b4ceb880ebdba2d60726588272890bae842a744e1ecce5bd2a2a582fccd5068309eb - languageName: node - linkType: hard - "statuses@npm:2.0.1": version: 2.0.1 resolution: "statuses@npm:2.0.1" @@ -5329,7 +5319,7 @@ __metadata: languageName: node linkType: hard -"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.2.3": +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0": version: 4.2.3 resolution: "string-width@npm:4.2.3" dependencies: @@ -5340,6 +5330,17 @@ __metadata: languageName: node linkType: hard +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" + dependencies: + eastasianwidth: ^0.2.0 + emoji-regex: ^9.2.2 + strip-ansi: ^7.0.1 + checksum: 7369deaa29f21dda9a438686154b62c2c5f661f8dda60449088f9f980196f7908fc39fdd1803e3e01541970287cf5deae336798337e9319a7055af89dafa7193 + languageName: node + linkType: hard + "string_decoder@npm:^1.1.1": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" @@ -5358,7 +5359,7 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:^6.0.1": +"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" dependencies: @@ -5367,6 +5368,15 @@ __metadata: languageName: node linkType: hard +"strip-ansi@npm:^7.0.1": + version: 7.1.0 + resolution: "strip-ansi@npm:7.1.0" + dependencies: + ansi-regex: ^6.0.1 + checksum: 859c73fcf27869c22a4e4d8c6acfe690064659e84bef9458aa6d13719d09ca88dcfd40cbf31fd0be63518ea1a643fe070b4827d353e09533a5b0b9fd4553d64d + languageName: node + linkType: hard + "strip-final-newline@npm:^2.0.0": version: 2.0.0 resolution: "strip-final-newline@npm:2.0.0" @@ -5428,16 +5438,16 @@ __metadata: linkType: hard "tar@npm:^6.1.11, tar@npm:^6.1.2": - version: 6.1.13 - resolution: "tar@npm:6.1.13" + version: 6.2.0 + resolution: "tar@npm:6.2.0" dependencies: chownr: ^2.0.0 fs-minipass: ^2.0.0 - minipass: ^4.0.0 + minipass: ^5.0.0 minizlib: ^2.1.1 mkdirp: ^1.0.3 yallist: ^4.0.0 - checksum: 8a278bed123aa9f53549b256a36b719e317c8b96fe86a63406f3c62887f78267cea9b22dc6f7007009738509800d4a4dccc444abd71d762287c90f35b002eb1c + checksum: db4d9fe74a2082c3a5016630092c54c8375ff3b280186938cfd104f2e089c4fd9bad58688ef6be9cf186a889671bf355c7cda38f09bbf60604b281715ca57f5c languageName: node linkType: hard @@ -5464,8 +5474,8 @@ __metadata: linkType: hard "terser@npm:^5.16.8": - version: 5.19.1 - resolution: "terser@npm:5.19.1" + version: 5.24.0 + resolution: "terser@npm:5.24.0" dependencies: "@jridgewell/source-map": ^0.3.3 acorn: ^8.8.2 @@ -5473,7 +5483,7 @@ __metadata: source-map-support: ~0.5.20 bin: terser: bin/terser - checksum: 18657b2a282238a1ca9c825efa966f4dd043a33196b2f8a7a2cba406a2006e14f55295b9d9cf6380a18599b697e9579e4092c99b9f40c7871ceec01cc98e3606 + checksum: d88f774b6fa711a234fcecefd7657f99189c367e17dbe95a51c2776d426ad0e4d98d1ffe6edfdf299877c7602e495bdd711d21b2caaec188410795e5447d0f6c languageName: node linkType: hard @@ -5541,6 +5551,13 @@ __metadata: languageName: node linkType: hard +"undici-types@npm:~5.26.4": + version: 5.26.5 + resolution: "undici-types@npm:5.26.5" + checksum: 3192ef6f3fd5df652f2dc1cd782b49d6ff14dc98e5dced492aa8a8c65425227da5da6aafe22523c67f035a272c599bb89cfe803c1db6311e44bed3042fc25487 + languageName: node + linkType: hard + "unicode-canonical-property-names-ecmascript@npm:^2.0.0": version: 2.0.0 resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.0" @@ -5581,12 +5598,12 @@ __metadata: languageName: node linkType: hard -"unique-filename@npm:^2.0.0": - version: 2.0.1 - resolution: "unique-filename@npm:2.0.1" +"unique-filename@npm:^3.0.0": + version: 3.0.0 + resolution: "unique-filename@npm:3.0.0" dependencies: - unique-slug: ^3.0.0 - checksum: 807acf3381aff319086b64dc7125a9a37c09c44af7620bd4f7f3247fcd5565660ac12d8b80534dcbfd067e6fe88a67e621386dd796a8af828d1337a8420a255f + unique-slug: ^4.0.0 + checksum: 8e2f59b356cb2e54aab14ff98a51ac6c45781d15ceaab6d4f1c2228b780193dc70fae4463ce9e1df4479cb9d3304d7c2043a3fb905bdeca71cc7e8ce27e063df languageName: node linkType: hard @@ -5599,12 +5616,12 @@ __metadata: languageName: node linkType: hard -"unique-slug@npm:^3.0.0": - version: 3.0.0 - resolution: "unique-slug@npm:3.0.0" +"unique-slug@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-slug@npm:4.0.0" dependencies: imurmurhash: ^0.1.4 - checksum: 49f8d915ba7f0101801b922062ee46b7953256c93ceca74303bd8e6413ae10aa7e8216556b54dc5382895e8221d04f1efaf75f945c2e4a515b4139f77aa6640c + checksum: 0884b58365af59f89739e6f71e3feacb5b1b41f2df2d842d0757933620e6de08eff347d27e9d499b43c40476cbaf7988638d3acb2ffbcb9d35fd035591adfd15 languageName: node linkType: hard @@ -5615,9 +5632,9 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.0.11": - version: 1.0.11 - resolution: "update-browserslist-db@npm:1.0.11" +"update-browserslist-db@npm:^1.0.13": + version: 1.0.13 + resolution: "update-browserslist-db@npm:1.0.13" dependencies: escalade: ^3.1.1 picocolors: ^1.0.0 @@ -5625,7 +5642,7 @@ __metadata: browserslist: ">= 4.21.0" bin: update-browserslist-db: cli.js - checksum: b98327518f9a345c7cad5437afae4d2ae7d865f9779554baf2a200fdf4bac4969076b679b1115434bd6557376bdd37ca7583d0f9b8f8e302d7d4cc1e91b5f231 + checksum: 1e47d80182ab6e4ad35396ad8b61008ae2a1330221175d0abd37689658bdb61af9b705bfc41057fd16682474d79944fb2d86767c5ed5ae34b6276b9bed353322 languageName: node linkType: hard @@ -5818,12 +5835,13 @@ __metadata: linkType: hard "webpack-merge@npm:^5.7.3": - version: 5.9.0 - resolution: "webpack-merge@npm:5.9.0" + version: 5.10.0 + resolution: "webpack-merge@npm:5.10.0" dependencies: clone-deep: ^4.0.1 + flat: ^5.0.2 wildcard: ^2.0.0 - checksum: 64fe2c23aacc5f19684452a0e84ec02c46b990423aee6fcc5c18d7d471155bd14e9a6adb02bd3656eb3e0ac2532c8e97d69412ad14c97eeafe32fa6d10050872 + checksum: 1fe8bf5309add7298e1ac72fb3f2090e1dfa80c48c7e79fa48aa60b5961332c7d0d61efa8851acb805e6b91a4584537a347bc106e05e9aec87fa4f7088c62f2f languageName: node linkType: hard @@ -5889,7 +5907,7 @@ __metadata: languageName: node linkType: hard -"which@npm:^2.0.1, which@npm:^2.0.2": +"which@npm:^2.0.1": version: 2.0.2 resolution: "which@npm:2.0.2" dependencies: @@ -5900,12 +5918,14 @@ __metadata: languageName: node linkType: hard -"wide-align@npm:^1.1.5": - version: 1.1.5 - resolution: "wide-align@npm:1.1.5" +"which@npm:^4.0.0": + version: 4.0.0 + resolution: "which@npm:4.0.0" dependencies: - string-width: ^1.0.2 || 2 || 3 || 4 - checksum: d5fc37cd561f9daee3c80e03b92ed3e84d80dde3365a8767263d03dacfc8fa06b065ffe1df00d8c2a09f731482fcacae745abfbb478d4af36d0a891fad4834d3 + isexe: ^3.1.1 + bin: + node-which: bin/which.js + checksum: f17e84c042592c21e23c8195108cff18c64050b9efb8459589116999ea9da6dd1509e6a1bac3aeebefd137be00fabbb61b5c2bc0aa0f8526f32b58ee2f545651 languageName: node linkType: hard @@ -5916,6 +5936,28 @@ __metadata: languageName: node linkType: hard +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: ^4.0.0 + string-width: ^4.1.0 + strip-ansi: ^6.0.0 + checksum: a790b846fd4505de962ba728a21aaeda189b8ee1c7568ca5e817d85930e06ef8d1689d49dbf0e881e8ef84436af3a88bc49115c2e2788d841ff1b8b5b51a608b + languageName: node + linkType: hard + +"wrap-ansi@npm:^8.1.0": + version: 8.1.0 + resolution: "wrap-ansi@npm:8.1.0" + dependencies: + ansi-styles: ^6.1.0 + string-width: ^5.0.1 + strip-ansi: ^7.0.1 + checksum: 371733296dc2d616900ce15a0049dca0ef67597d6394c57347ba334393599e800bab03c41d4d45221b6bc967b8c453ec3ae4749eff3894202d16800fdfe0e238 + languageName: node + linkType: hard + "wrappy@npm:1": version: 1.0.2 resolution: "wrappy@npm:1.0.2" @@ -5939,8 +5981,8 @@ __metadata: linkType: hard "ws@npm:^8.4.2": - version: 8.13.0 - resolution: "ws@npm:8.13.0" + version: 8.14.2 + resolution: "ws@npm:8.14.2" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ">=5.0.2" @@ -5949,7 +5991,7 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: 53e991bbf928faf5dc6efac9b8eb9ab6497c69feeb94f963d648b7a3530a720b19ec2e0ec037344257e05a4f35bd9ad04d9de6f289615ffb133282031b18c61c + checksum: 3ca0dad26e8cc6515ff392b622a1467430814c463b3368b0258e33696b1d4bed7510bc7030f7b72838b9fdeb8dbd8839cbf808367d6aae2e1d668ce741d4308b languageName: node linkType: hard diff --git a/packages/joint-core/demo/dynamic-font-size/index.html b/packages/joint-core/demo/dynamic-font-size/index.html index e848838fc8..76826d804d 100644 --- a/packages/joint-core/demo/dynamic-font-size/index.html +++ b/packages/joint-core/demo/dynamic-font-size/index.html @@ -7,15 +7,11 @@ - - - - - Dynamic font size
+ diff --git a/packages/joint-core/demo/elk/package.json b/packages/joint-core/demo/elk/package.json index 76b9be4df0..7dc7e6ce62 100644 --- a/packages/joint-core/demo/elk/package.json +++ b/packages/joint-core/demo/elk/package.json @@ -16,8 +16,7 @@ "start": "webpack serve --config webpack.config.js" }, "dependencies": { - "jquery": "~3.5.1", - "lodash": "~4.17.20" + "elkjs": "0.6.2" }, "devDependencies": { "@babel/core": "7.10.4", @@ -26,7 +25,6 @@ "copy-webpack-plugin": "5.1.1", "core-js": "3.6.1", "css-loader": "3.5.3", - "elkjs": "0.6.2", "file-loader": "6.0.0", "regenerator-runtime": "0.13.5", "sass": "1.26.8", diff --git a/packages/joint-core/demo/elk/yarn.lock b/packages/joint-core/demo/elk/yarn.lock index 0aa52fd80e..9074612b2b 100644 --- a/packages/joint-core/demo/elk/yarn.lock +++ b/packages/joint-core/demo/elk/yarn.lock @@ -5,19 +5,20 @@ __metadata: version: 6 cacheKey: 8 -"@babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/code-frame@npm:7.22.5" +"@babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.22.13, @babel/code-frame@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/code-frame@npm:7.23.5" dependencies: - "@babel/highlight": ^7.22.5 - checksum: cfe804f518f53faaf9a1d3e0f9f74127ab9a004912c3a16fda07fb6a633393ecb9918a053cb71804204c1b7ec3d49e1699604715e2cfb0c9f7bc4933d324ebb6 + "@babel/highlight": ^7.23.4 + chalk: ^2.4.2 + checksum: d90981fdf56a2824a9b14d19a4c0e8db93633fd488c772624b4e83e0ceac6039a27cd298a247c3214faa952bf803ba23696172ae7e7235f3b97f43ba278c569a languageName: node linkType: hard "@babel/compat-data@npm:^7.10.4, @babel/compat-data@npm:^7.20.5, @babel/compat-data@npm:^7.22.9": - version: 7.22.9 - resolution: "@babel/compat-data@npm:7.22.9" - checksum: bed77d9044ce948b4327b30dd0de0779fa9f3a7ed1f2d31638714ed00229fa71fc4d1617ae0eb1fad419338d3658d0e9a5a083297451e09e73e078d0347ff808 + version: 7.23.5 + resolution: "@babel/compat-data@npm:7.23.5" + checksum: 06ce244cda5763295a0ea924728c09bae57d35713b675175227278896946f922a63edf803c322f855a3878323d48d0255a2a3023409d2a123483c8a69ebb4744 languageName: node linkType: hard @@ -45,15 +46,15 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.10.4, @babel/generator@npm:^7.22.7": - version: 7.22.9 - resolution: "@babel/generator@npm:7.22.9" +"@babel/generator@npm:^7.10.4, @babel/generator@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/generator@npm:7.23.5" dependencies: - "@babel/types": ^7.22.5 + "@babel/types": ^7.23.5 "@jridgewell/gen-mapping": ^0.3.2 "@jridgewell/trace-mapping": ^0.3.17 jsesc: ^2.5.1 - checksum: 7c9d2c58b8d5ac5e047421a6ab03ec2ff5d9a5ff2c2212130a0055e063ac349e0b19d435537d6886c999771aef394832e4f54cd9fc810100a7f23d982f6af06b + checksum: 845ddda7cf38a3edf4be221cc8a439dee9ea6031355146a1a74047aa8007bc030305b27d8c68ec9e311722c910610bde38c0e13a9ce55225251e7cb7e7f3edc8 languageName: node linkType: hard @@ -66,76 +67,74 @@ __metadata: languageName: node linkType: hard -"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.22.5" +"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.22.15" dependencies: - "@babel/types": ^7.22.5 - checksum: d753acac62399fc6dd354cf1b9441bde0c331c2fe792a4c14904c5e5eafc3cac79478f6aa038e8a51c1148b0af6710a2e619855e4b5d54497ac972eaffed5884 + "@babel/types": ^7.22.15 + checksum: 639c697a1c729f9fafa2dd4c9af2e18568190299b5907bd4c2d0bc818fcbd1e83ffeecc2af24327a7faa7ac4c34edd9d7940510a5e66296c19bad17001cf5c7a languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.10.4, @babel/helper-compilation-targets@npm:^7.20.7, @babel/helper-compilation-targets@npm:^7.22.5, @babel/helper-compilation-targets@npm:^7.22.6": - version: 7.22.9 - resolution: "@babel/helper-compilation-targets@npm:7.22.9" +"@babel/helper-compilation-targets@npm:^7.10.4, @babel/helper-compilation-targets@npm:^7.20.7, @babel/helper-compilation-targets@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/helper-compilation-targets@npm:7.22.15" dependencies: "@babel/compat-data": ^7.22.9 - "@babel/helper-validator-option": ^7.22.5 + "@babel/helper-validator-option": ^7.22.15 browserslist: ^4.21.9 lru-cache: ^5.1.1 semver: ^6.3.1 - peerDependencies: - "@babel/core": ^7.0.0 - checksum: ea0006c6a93759025f4a35a25228ae260538c9f15023e8aac2a6d45ca68aef4cf86cfc429b19af9a402cbdd54d5de74ad3fbcf6baa7e48184dc079f1a791e178 + checksum: ce85196769e091ae54dd39e4a80c2a9df1793da8588e335c383d536d54f06baf648d0a08fc873044f226398c4ded15c4ae9120ee18e7dfd7c639a68e3cdc9980 languageName: node linkType: hard "@babel/helper-create-class-features-plugin@npm:^7.18.6": - version: 7.22.9 - resolution: "@babel/helper-create-class-features-plugin@npm:7.22.9" + version: 7.23.5 + resolution: "@babel/helper-create-class-features-plugin@npm:7.23.5" dependencies: "@babel/helper-annotate-as-pure": ^7.22.5 - "@babel/helper-environment-visitor": ^7.22.5 - "@babel/helper-function-name": ^7.22.5 - "@babel/helper-member-expression-to-functions": ^7.22.5 + "@babel/helper-environment-visitor": ^7.22.20 + "@babel/helper-function-name": ^7.23.0 + "@babel/helper-member-expression-to-functions": ^7.23.0 "@babel/helper-optimise-call-expression": ^7.22.5 - "@babel/helper-replace-supers": ^7.22.9 + "@babel/helper-replace-supers": ^7.22.20 "@babel/helper-skip-transparent-expression-wrappers": ^7.22.5 "@babel/helper-split-export-declaration": ^7.22.6 semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: 6c2436d1a5a3f1ff24628d78fa8c6d3120c40285aa3eda7815b1adbf8c5951e0dd73d368cf845825888fa3dc2f207dadce53309825598d7c67953e5ed9dd51d2 + checksum: fe7c6c0baca1838bba76ac1330df47b661d932354115ea9e2ea65b179f80b717987d3c3da7e1525fd648e5f2d86c620efc959cabda4d7562b125a27c3ac780d0 languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.22.5": - version: 7.22.9 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.22.9" +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.22.15, @babel/helper-create-regexp-features-plugin@npm:^7.22.5": + version: 7.22.15 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.22.15" dependencies: "@babel/helper-annotate-as-pure": ^7.22.5 regexpu-core: ^5.3.1 semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: 87cb48a7ee898ab205374274364c3adc70b87b08c7bd07f51019ae4562c0170d7148e654d591f825dee14b5fe11666a0e7966872dfdbfa0d1b94b861ecf0e4e1 + checksum: 0243b8d4854f1dc8861b1029a46d3f6393ad72f366a5a08e36a4648aa682044f06da4c6e87a456260e1e1b33c999f898ba591a0760842c1387bcc93fbf2151a6 languageName: node linkType: hard -"@babel/helper-environment-visitor@npm:^7.18.9, @babel/helper-environment-visitor@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-environment-visitor@npm:7.22.5" - checksum: 248532077d732a34cd0844eb7b078ff917c3a8ec81a7f133593f71a860a582f05b60f818dc5049c2212e5baa12289c27889a4b81d56ef409b4863db49646c4b1 +"@babel/helper-environment-visitor@npm:^7.18.9, @babel/helper-environment-visitor@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-environment-visitor@npm:7.22.20" + checksum: d80ee98ff66f41e233f36ca1921774c37e88a803b2f7dca3db7c057a5fea0473804db9fb6729e5dbfd07f4bed722d60f7852035c2c739382e84c335661590b69 languageName: node linkType: hard -"@babel/helper-function-name@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-function-name@npm:7.22.5" +"@babel/helper-function-name@npm:^7.22.5, @babel/helper-function-name@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/helper-function-name@npm:7.23.0" dependencies: - "@babel/template": ^7.22.5 - "@babel/types": ^7.22.5 - checksum: 6b1f6ce1b1f4e513bf2c8385a557ea0dd7fa37971b9002ad19268ca4384bbe90c09681fe4c076013f33deabc63a53b341ed91e792de741b4b35e01c00238177a + "@babel/template": ^7.22.15 + "@babel/types": ^7.23.0 + checksum: e44542257b2d4634a1f979244eb2a4ad8e6d75eb6761b4cfceb56b562f7db150d134bc538c8e6adca3783e3bc31be949071527aa8e3aab7867d1ad2d84a26e10 languageName: node linkType: hard @@ -148,36 +147,36 @@ __metadata: languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-member-expression-to-functions@npm:7.22.5" +"@babel/helper-member-expression-to-functions@npm:^7.22.15, @babel/helper-member-expression-to-functions@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/helper-member-expression-to-functions@npm:7.23.0" dependencies: - "@babel/types": ^7.22.5 - checksum: 4bd5791529c280c00743e8bdc669ef0d4cd1620d6e3d35e0d42b862f8262bc2364973e5968007f960780344c539a4b9cf92ab41f5b4f94560a9620f536de2a39 + "@babel/types": ^7.23.0 + checksum: 494659361370c979ada711ca685e2efe9460683c36db1b283b446122596602c901e291e09f2f980ecedfe6e0f2bd5386cb59768285446530df10c14df1024e75 languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.10.4, @babel/helper-module-imports@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-module-imports@npm:7.22.5" +"@babel/helper-module-imports@npm:^7.10.4, @babel/helper-module-imports@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/helper-module-imports@npm:7.22.15" dependencies: - "@babel/types": ^7.22.5 - checksum: 9ac2b0404fa38b80bdf2653fbeaf8e8a43ccb41bd505f9741d820ed95d3c4e037c62a1bcdcb6c9527d7798d2e595924c4d025daed73283badc180ada2c9c49ad + "@babel/types": ^7.22.15 + checksum: ecd7e457df0a46f889228f943ef9b4a47d485d82e030676767e6a2fdcbdaa63594d8124d4b55fd160b41c201025aec01fc27580352b1c87a37c9c6f33d116702 languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.10.4, @babel/helper-module-transforms@npm:^7.22.5": - version: 7.22.9 - resolution: "@babel/helper-module-transforms@npm:7.22.9" +"@babel/helper-module-transforms@npm:^7.10.4, @babel/helper-module-transforms@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/helper-module-transforms@npm:7.23.3" dependencies: - "@babel/helper-environment-visitor": ^7.22.5 - "@babel/helper-module-imports": ^7.22.5 + "@babel/helper-environment-visitor": ^7.22.20 + "@babel/helper-module-imports": ^7.22.15 "@babel/helper-simple-access": ^7.22.5 "@babel/helper-split-export-declaration": ^7.22.6 - "@babel/helper-validator-identifier": ^7.22.5 + "@babel/helper-validator-identifier": ^7.22.20 peerDependencies: "@babel/core": ^7.0.0 - checksum: 2751f77660518cf4ff027514d6f4794f04598c6393be7b04b8e46c6e21606e11c19f3f57ab6129a9c21bacdf8b3ffe3af87bb401d972f34af2d0ffde02ac3001 + checksum: 5d0895cfba0e16ae16f3aa92fee108517023ad89a855289c4eb1d46f7aef4519adf8e6f971e1d55ac20c5461610e17213f1144097a8f932e768a9132e2278d71 languageName: node linkType: hard @@ -197,29 +196,29 @@ __metadata: languageName: node linkType: hard -"@babel/helper-remap-async-to-generator@npm:^7.18.9, @babel/helper-remap-async-to-generator@npm:^7.22.5": - version: 7.22.9 - resolution: "@babel/helper-remap-async-to-generator@npm:7.22.9" +"@babel/helper-remap-async-to-generator@npm:^7.18.9, @babel/helper-remap-async-to-generator@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-remap-async-to-generator@npm:7.22.20" dependencies: "@babel/helper-annotate-as-pure": ^7.22.5 - "@babel/helper-environment-visitor": ^7.22.5 - "@babel/helper-wrap-function": ^7.22.9 + "@babel/helper-environment-visitor": ^7.22.20 + "@babel/helper-wrap-function": ^7.22.20 peerDependencies: "@babel/core": ^7.0.0 - checksum: 05538079447829b13512157491cc77f9cf1ea7e1680e15cff0682c3ed9ee162de0c4862ece20a6d6b2df28177a1520bcfe45993fbeccf2747a81795a7c3f6290 + checksum: 2fe6300a6f1b58211dffa0aed1b45d4958506d096543663dba83bd9251fe8d670fa909143a65b45e72acb49e7e20fbdb73eae315d9ddaced467948c3329986e7 languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.22.5, @babel/helper-replace-supers@npm:^7.22.9": - version: 7.22.9 - resolution: "@babel/helper-replace-supers@npm:7.22.9" +"@babel/helper-replace-supers@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-replace-supers@npm:7.22.20" dependencies: - "@babel/helper-environment-visitor": ^7.22.5 - "@babel/helper-member-expression-to-functions": ^7.22.5 + "@babel/helper-environment-visitor": ^7.22.20 + "@babel/helper-member-expression-to-functions": ^7.22.15 "@babel/helper-optimise-call-expression": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0 - checksum: d41471f56ff2616459d35a5df1900d5f0756ae78b1027040365325ef332d66e08e3be02a9489756d870887585ff222403a228546e93dd7019e19e59c0c0fe586 + checksum: a0008332e24daedea2e9498733e3c39b389d6d4512637e000f96f62b797e702ee24a407ccbcd7a236a551590a38f31282829a8ef35c50a3c0457d88218cae639 languageName: node linkType: hard @@ -250,66 +249,66 @@ __metadata: languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-string-parser@npm:7.22.5" - checksum: 836851ca5ec813077bbb303acc992d75a360267aa3b5de7134d220411c852a6f17de7c0d0b8c8dcc0f567f67874c00f4528672b2a4f1bc978a3ada64c8c78467 +"@babel/helper-string-parser@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/helper-string-parser@npm:7.23.4" + checksum: c0641144cf1a7e7dc93f3d5f16d5327465b6cf5d036b48be61ecba41e1eece161b48f46b7f960951b67f8c3533ce506b16dece576baef4d8b3b49f8c65410f90 languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-validator-identifier@npm:7.22.5" - checksum: 7f0f30113474a28298c12161763b49de5018732290ca4de13cdaefd4fd0d635a6fe3f6686c37a02905fb1e64f21a5ee2b55140cf7b070e729f1bd66866506aea +"@babel/helper-validator-identifier@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-validator-identifier@npm:7.22.20" + checksum: 136412784d9428266bcdd4d91c32bcf9ff0e8d25534a9d94b044f77fe76bc50f941a90319b05aafd1ec04f7d127cd57a179a3716009ff7f3412ef835ada95bdc languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-validator-option@npm:7.22.5" - checksum: bbeca8a85ee86990215c0424997438b388b8d642d69b9f86c375a174d3cdeb270efafd1ff128bc7a1d370923d13b6e45829ba8581c027620e83e3a80c5c414b3 +"@babel/helper-validator-option@npm:^7.22.15": + version: 7.23.5 + resolution: "@babel/helper-validator-option@npm:7.23.5" + checksum: 537cde2330a8aede223552510e8a13e9c1c8798afee3757995a7d4acae564124fe2bf7e7c3d90d62d3657434a74340a274b3b3b1c6f17e9a2be1f48af29cb09e languageName: node linkType: hard -"@babel/helper-wrap-function@npm:^7.22.9": - version: 7.22.9 - resolution: "@babel/helper-wrap-function@npm:7.22.9" +"@babel/helper-wrap-function@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-wrap-function@npm:7.22.20" dependencies: "@babel/helper-function-name": ^7.22.5 - "@babel/template": ^7.22.5 - "@babel/types": ^7.22.5 - checksum: 037317dc06dac6593e388738ae1d3e43193bc1d31698f067c0ef3d4dc6f074dbed860ed42aa137b48a67aa7cb87336826c4bdc13189260481bcf67eb7256c789 + "@babel/template": ^7.22.15 + "@babel/types": ^7.22.19 + checksum: 221ed9b5572612aeb571e4ce6a256f2dee85b3c9536f1dd5e611b0255e5f59a3d0ec392d8d46d4152149156a8109f92f20379b1d6d36abb613176e0e33f05fca languageName: node linkType: hard "@babel/helpers@npm:^7.10.4": - version: 7.22.6 - resolution: "@babel/helpers@npm:7.22.6" + version: 7.23.5 + resolution: "@babel/helpers@npm:7.23.5" dependencies: - "@babel/template": ^7.22.5 - "@babel/traverse": ^7.22.6 - "@babel/types": ^7.22.5 - checksum: 5c1f33241fe7bf7709868c2105134a0a86dca26a0fbd508af10a89312b1f77ca38ebae43e50be3b208613c5eacca1559618af4ca236f0abc55d294800faeff30 + "@babel/template": ^7.22.15 + "@babel/traverse": ^7.23.5 + "@babel/types": ^7.23.5 + checksum: c16dc8a3bb3d0e02c7ee1222d9d0865ed4b92de44fb8db43ff5afd37a0fc9ea5e2906efa31542c95b30c1a3a9540d66314663c9a23b5bb9b5ec76e8ebc896064 languageName: node linkType: hard -"@babel/highlight@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/highlight@npm:7.22.5" +"@babel/highlight@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/highlight@npm:7.23.4" dependencies: - "@babel/helper-validator-identifier": ^7.22.5 - chalk: ^2.0.0 + "@babel/helper-validator-identifier": ^7.22.20 + chalk: ^2.4.2 js-tokens: ^4.0.0 - checksum: f61ae6de6ee0ea8d9b5bcf2a532faec5ab0a1dc0f7c640e5047fc61630a0edb88b18d8c92eb06566d30da7a27db841aca11820ecd3ebe9ce514c9350fbed39c4 + checksum: 643acecdc235f87d925979a979b539a5d7d1f31ae7db8d89047269082694122d11aa85351304c9c978ceeb6d250591ccadb06c366f358ccee08bb9c122476b89 languageName: node linkType: hard -"@babel/parser@npm:^7.10.4, @babel/parser@npm:^7.22.5, @babel/parser@npm:^7.22.7": - version: 7.22.7 - resolution: "@babel/parser@npm:7.22.7" +"@babel/parser@npm:^7.10.4, @babel/parser@npm:^7.22.15, @babel/parser@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/parser@npm:7.23.5" bin: parser: ./bin/babel-parser.js - checksum: 02209ddbd445831ee8bf966fdf7c29d189ed4b14343a68eb2479d940e7e3846340d7cc6bd654a5f3d87d19dc84f49f50a58cf9363bee249dc5409ff3ba3dab54 + checksum: ea763629310f71580c4a3ea9d3705195b7ba994ada2cc98f9a584ebfdacf54e92b2735d351672824c2c2b03c7f19206899f4d95650d85ce514a822b19a8734c7 languageName: node linkType: hard @@ -562,222 +561,222 @@ __metadata: linkType: hard "@babel/plugin-transform-arrow-functions@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 35abb6c57062802c7ce8bd96b2ef2883e3124370c688bbd67609f7d2453802fb73944df8808f893b6c67de978eb2bcf87bbfe325e46d6f39b5fcb09ece11d01a + checksum: 1e99118176e5366c2636064d09477016ab5272b2a92e78b8edb571d20bc3eaa881789a905b20042942c3c2d04efc530726cf703f937226db5ebc495f5d067e66 languageName: node linkType: hard "@babel/plugin-transform-async-to-generator@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.23.3" dependencies: - "@babel/helper-module-imports": ^7.22.5 + "@babel/helper-module-imports": ^7.22.15 "@babel/helper-plugin-utils": ^7.22.5 - "@babel/helper-remap-async-to-generator": ^7.22.5 + "@babel/helper-remap-async-to-generator": ^7.22.20 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b95f23f99dcb379a9f0a1c2a3bbea3f8dc0e1b16dc1ac8b484fe378370169290a7a63d520959a9ba1232837cf74a80e23f6facbe14fd42a3cda6d3c2d7168e62 + checksum: 2e9d9795d4b3b3d8090332104e37061c677f29a1ce65bcbda4099a32d243e5d9520270a44bbabf0fb1fb40d463bd937685b1a1042e646979086c546d55319c3c languageName: node linkType: hard "@babel/plugin-transform-block-scoped-functions@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 416b1341858e8ca4e524dee66044735956ced5f478b2c3b9bc11ec2285b0c25d7dbb96d79887169eb938084c95d0a89338c8b2fe70d473bd9dc92e5d9db1732c + checksum: e63b16d94ee5f4d917e669da3db5ea53d1e7e79141a2ec873c1e644678cdafe98daa556d0d359963c827863d6b3665d23d4938a94a4c5053a1619c4ebd01d020 languageName: node linkType: hard "@babel/plugin-transform-block-scoping@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-block-scoping@npm:7.22.5" + version: 7.23.4 + resolution: "@babel/plugin-transform-block-scoping@npm:7.23.4" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 26987002cfe6e24544e60fa35f07052b6557f590c1a1cc5cf35d6dc341d7fea163c1222a2d70d5d2692f0b9860d942fd3ba979848b2995d4debffa387b9b19ae + checksum: fc4b2100dd9f2c47d694b4b35ae8153214ccb4e24ef545c259a9db17211b18b6a430f22799b56db8f6844deaeaa201af45a03331d0c80cc28b0c4e3c814570e4 languageName: node linkType: hard "@babel/plugin-transform-classes@npm:^7.10.4": - version: 7.22.6 - resolution: "@babel/plugin-transform-classes@npm:7.22.6" + version: 7.23.5 + resolution: "@babel/plugin-transform-classes@npm:7.23.5" dependencies: "@babel/helper-annotate-as-pure": ^7.22.5 - "@babel/helper-compilation-targets": ^7.22.6 - "@babel/helper-environment-visitor": ^7.22.5 - "@babel/helper-function-name": ^7.22.5 + "@babel/helper-compilation-targets": ^7.22.15 + "@babel/helper-environment-visitor": ^7.22.20 + "@babel/helper-function-name": ^7.23.0 "@babel/helper-optimise-call-expression": ^7.22.5 "@babel/helper-plugin-utils": ^7.22.5 - "@babel/helper-replace-supers": ^7.22.5 + "@babel/helper-replace-supers": ^7.22.20 "@babel/helper-split-export-declaration": ^7.22.6 globals: ^11.1.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 8380e855c01033dbc7460d9acfbc1fc37c880350fa798c2de8c594ef818ade0e4c96173ec72f05f2a4549d8d37135e18cb62548352d51557b45a0fb4388d2f3f + checksum: 6d0dd3b0828e84a139a51b368f33f315edee5688ef72c68ba25e0175c68ea7357f9c8810b3f61713e368a3063cdcec94f3a2db952e453b0b14ef428a34aa8169 languageName: node linkType: hard "@babel/plugin-transform-computed-properties@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-computed-properties@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-computed-properties@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 - "@babel/template": ^7.22.5 + "@babel/template": ^7.22.15 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: c2a77a0f94ec71efbc569109ec14ea2aa925b333289272ced8b33c6108bdbb02caf01830ffc7e49486b62dec51911924d13f3a76f1149f40daace1898009e131 + checksum: 80452661dc25a0956f89fe98cb562e8637a9556fb6c00d312c57653ce7df8798f58d138603c7e1aad96614ee9ccd10c47e50ab9ded6b6eded5adeb230d2a982e languageName: node linkType: hard "@babel/plugin-transform-destructuring@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-destructuring@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-destructuring@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 76f6ea2aee1fcfa1c3791eb7a5b89703c6472650b993e8666fff0f1d6e9d737a84134edf89f63c92297f3e75064c1263219463b02dd9bc7434b6e5b9935e3f20 + checksum: 9e015099877272501162419bfe781689aec5c462cd2aec752ee22288f209eec65969ff11b8fdadca2eaddea71d705d3bba5b9c60752fcc1be67874fcec687105 languageName: node linkType: hard "@babel/plugin-transform-dotall-regex@npm:^7.10.4, @babel/plugin-transform-dotall-regex@npm:^7.4.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-dotall-regex@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.23.3" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.22.5 + "@babel/helper-create-regexp-features-plugin": ^7.22.15 "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 409b658d11e3082c8f69e9cdef2d96e4d6d11256f005772425fb230cc48fd05945edbfbcb709dab293a1a2f01f9c8a5bb7b4131e632b23264039d9f95864b453 + checksum: a2dbbf7f1ea16a97948c37df925cb364337668c41a3948b8d91453f140507bd8a3429030c7ce66d09c299987b27746c19a2dd18b6f17dcb474854b14fd9159a3 languageName: node linkType: hard "@babel/plugin-transform-duplicate-keys@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-duplicate-keys@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: bb1280fbabaab6fab2ede585df34900712698210a3bd413f4df5bae6d8c24be36b496c92722ae676a7a67d060a4624f4d6c23b923485f906bfba8773c69f55b4 + checksum: c2a21c34dc0839590cd945192cbc46fde541a27e140c48fe1808315934664cdbf18db64889e23c4eeb6bad9d3e049482efdca91d29de5734ffc887c4fbabaa16 languageName: node linkType: hard "@babel/plugin-transform-exponentiation-operator@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.23.3" dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor": ^7.22.5 + "@babel/helper-builder-binary-assignment-operator-visitor": ^7.22.15 "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: f2d660c1b1d51ad5fec1cd5ad426a52187204068c4158f8c4aa977b31535c61b66898d532603eef21c15756827be8277f724c869b888d560f26d7fe848bb5eae + checksum: 00d05ab14ad0f299160fcf9d8f55a1cc1b740e012ab0b5ce30207d2365f091665115557af7d989cd6260d075a252d9e4283de5f2b247dfbbe0e42ae586e6bf66 languageName: node linkType: hard "@babel/plugin-transform-for-of@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-for-of@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-for-of@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: d7b8d4db010bce7273674caa95c4e6abd909362866ce297e86a2ecaa9ae636e05d525415811db9b3c942155df7f3651d19b91dd6c41f142f7308a97c7cb06023 + checksum: a6288122a5091d96c744b9eb23dc1b2d4cce25f109ac1e26a0ea03c4ea60330e6f3cc58530b33ba7369fa07163b71001399a145238b7e92bff6270ef3b9c32a0 languageName: node linkType: hard "@babel/plugin-transform-function-name@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-function-name@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-function-name@npm:7.23.3" dependencies: - "@babel/helper-compilation-targets": ^7.22.5 - "@babel/helper-function-name": ^7.22.5 + "@babel/helper-compilation-targets": ^7.22.15 + "@babel/helper-function-name": ^7.23.0 "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: cff3b876357999cb8ae30e439c3ec6b0491a53b0aa6f722920a4675a6dd5b53af97a833051df4b34791fe5b3dd326ccf769d5c8e45b322aa50ee11a660b17845 + checksum: 355c6dbe07c919575ad42b2f7e020f320866d72f8b79181a16f8e0cd424a2c761d979f03f47d583d9471b55dcd68a8a9d829b58e1eebcd572145b934b48975a6 languageName: node linkType: hard "@babel/plugin-transform-literals@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-literals@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-literals@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: ec37cc2ffb32667af935ab32fe28f00920ec8a1eb999aa6dc6602f2bebd8ba205a558aeedcdccdebf334381d5c57106c61f52332045730393e73410892a9735b + checksum: 519a544cd58586b9001c4c9b18da25a62f17d23c48600ff7a685d75ca9eb18d2c5e8f5476f067f0a8f1fea2a31107eff950b9864833061e6076dcc4bdc3e71ed languageName: node linkType: hard "@babel/plugin-transform-member-expression-literals@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-member-expression-literals@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: ec4b0e07915ddd4fda0142fd104ee61015c208608a84cfa13643a95d18760b1dc1ceb6c6e0548898b8c49e5959a994e46367260176dbabc4467f729b21868504 + checksum: 95cec13c36d447c5aa6b8e4c778b897eeba66dcb675edef01e0d2afcec9e8cb9726baf4f81b4bbae7a782595aed72e6a0d44ffb773272c3ca180fada99bf92db languageName: node linkType: hard "@babel/plugin-transform-modules-amd@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-modules-amd@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-modules-amd@npm:7.23.3" dependencies: - "@babel/helper-module-transforms": ^7.22.5 + "@babel/helper-module-transforms": ^7.23.3 "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 7da4c4ebbbcf7d182abb59b2046b22d86eee340caf8a22a39ef6a727da2d8acfec1f714fcdcd5054110b280e4934f735e80a6848d192b6834c5d4459a014f04d + checksum: d163737b6a3d67ea579c9aa3b83d4df4b5c34d9dcdf25f415f027c0aa8cded7bac2750d2de5464081f67a042ad9e1c03930c2fab42acd79f9e57c00cf969ddff languageName: node linkType: hard "@babel/plugin-transform-modules-commonjs@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.23.3" dependencies: - "@babel/helper-module-transforms": ^7.22.5 + "@babel/helper-module-transforms": ^7.23.3 "@babel/helper-plugin-utils": ^7.22.5 "@babel/helper-simple-access": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 2067aca8f6454d54ffcce69b02c457cfa61428e11372f6a1d99ff4fcfbb55c396ed2ca6ca886bf06c852e38c1a205b8095921b2364fd0243f3e66bc1dda61caa + checksum: 720a231ceade4ae4d2632478db4e7fecf21987d444942b72d523487ac8d715ca97de6c8f415c71e939595e1a4776403e7dc24ed68fe9125ad4acf57753c9bff7 languageName: node linkType: hard "@babel/plugin-transform-modules-systemjs@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.23.3" dependencies: "@babel/helper-hoist-variables": ^7.22.5 - "@babel/helper-module-transforms": ^7.22.5 + "@babel/helper-module-transforms": ^7.23.3 "@babel/helper-plugin-utils": ^7.22.5 - "@babel/helper-validator-identifier": ^7.22.5 + "@babel/helper-validator-identifier": ^7.22.20 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 04f4178589543396b3c24330a67a59c5e69af5e96119c9adda730c0f20122deaff54671ebbc72ad2df6495a5db8a758bd96942de95fba7ad427de9c80b1b38c8 + checksum: 0d2fdd993c785aecac9e0850cd5ed7f7d448f0fbb42992a950cc0590167144df25d82af5aac9a5c99ef913d2286782afa44e577af30c10901c5ee8984910fa1f languageName: node linkType: hard "@babel/plugin-transform-modules-umd@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-modules-umd@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-modules-umd@npm:7.23.3" dependencies: - "@babel/helper-module-transforms": ^7.22.5 + "@babel/helper-module-transforms": ^7.23.3 "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 46622834c54c551b231963b867adbc80854881b3e516ff29984a8da989bd81665bd70e8cba6710345248e97166689310f544aee1a5773e262845a8f1b3e5b8b4 + checksum: 586a7a2241e8b4e753a37af9466a9ffa8a67b4ba9aa756ad7500712c05d8fa9a8c1ed4f7bd25fae2a8265e6cf8fe781ec85a8ee885dd34cf50d8955ee65f12dc languageName: node linkType: hard @@ -794,149 +793,149 @@ __metadata: linkType: hard "@babel/plugin-transform-new-target@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-new-target@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-new-target@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 6b72112773487a881a1d6ffa680afde08bad699252020e86122180ee7a88854d5da3f15d9bca3331cf2e025df045604494a8208a2e63b486266b07c14e2ffbf3 + checksum: e5053389316fce73ad5201b7777437164f333e24787fbcda4ae489cd2580dbbbdfb5694a7237bad91fabb46b591d771975d69beb1c740b82cb4761625379f00b languageName: node linkType: hard "@babel/plugin-transform-object-super@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-object-super@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-object-super@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 - "@babel/helper-replace-supers": ^7.22.5 + "@babel/helper-replace-supers": ^7.22.20 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b71887877d74cb64dbccb5c0324fa67e31171e6a5311991f626650e44a4083e5436a1eaa89da78c0474fb095d4ec322d63ee778b202d33aa2e4194e1ed8e62d7 + checksum: e495497186f621fa79026e183b4f1fbb172fd9df812cbd2d7f02c05b08adbe58012b1a6eb6dd58d11a30343f6ec80d0f4074f9b501d70aa1c94df76d59164c53 languageName: node linkType: hard "@babel/plugin-transform-parameters@npm:^7.10.4, @babel/plugin-transform-parameters@npm:^7.20.7": - version: 7.22.5 - resolution: "@babel/plugin-transform-parameters@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-parameters@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b44f89cf97daf23903776ba27c2ab13b439d80d8c8a95be5c476ab65023b1e0c0e94c28d3745f3b60a58edc4e590fa0cd4287a0293e51401ca7d29a2ddb13b8e + checksum: a735b3e85316d17ec102e3d3d1b6993b429bdb3b494651c9d754e3b7d270462ee1f1a126ccd5e3d871af5e683727e9ef98c9d34d4a42204fffaabff91052ed16 languageName: node linkType: hard "@babel/plugin-transform-property-literals@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-property-literals@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-property-literals@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 796176a3176106f77fcb8cd04eb34a8475ce82d6d03a88db089531b8f0453a2fb8b0c6ec9a52c27948bc0ea478becec449893741fc546dfc3930ab927e3f9f2e + checksum: 16b048c8e87f25095f6d53634ab7912992f78e6997a6ff549edc3cf519db4fca01c7b4e0798530d7f6a05228ceee479251245cdd850a5531c6e6f404104d6cc9 languageName: node linkType: hard "@babel/plugin-transform-regenerator@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-regenerator@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-regenerator@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 - regenerator-transform: ^0.15.1 + regenerator-transform: ^0.15.2 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: f7c5ca5151321963df777cc02725d10d1ccc3b3b8323da0423aecd9ac6144cbdd2274af5281a5580db2fc2f8b234e318517b5d76b85669118906533a559f2b6a + checksum: 7fdacc7b40008883871b519c9e5cdea493f75495118ccc56ac104b874983569a24edd024f0f5894ba1875c54ee2b442f295d6241c3280e61c725d0dd3317c8e6 languageName: node linkType: hard "@babel/plugin-transform-reserved-words@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-reserved-words@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-reserved-words@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 3ffd7dbc425fe8132bfec118b9817572799cab1473113a635d25ab606c1f5a2341a636c04cf6b22df3813320365ed5a965b5eeb3192320a10e4cc2c137bd8bfc + checksum: 298c4440ddc136784ff920127cea137168e068404e635dc946ddb5d7b2a27b66f1dd4c4acb01f7184478ff7d5c3e7177a127279479926519042948fb7fa0fa48 languageName: node linkType: hard "@babel/plugin-transform-shorthand-properties@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-shorthand-properties@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: a5ac902c56ea8effa99f681340ee61bac21094588f7aef0bc01dff98246651702e677552fa6d10e548c4ac22a3ffad047dd2f8c8f0540b68316c2c203e56818b + checksum: 5d677a03676f9fff969b0246c423d64d77502e90a832665dc872a5a5e05e5708161ce1effd56bb3c0f2c20a1112fca874be57c8a759d8b08152755519281f326 languageName: node linkType: hard "@babel/plugin-transform-spread@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-spread@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-spread@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 "@babel/helper-skip-transparent-expression-wrappers": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 5587f0deb60b3dfc9b274e269031cc45ec75facccf1933ea2ea71ced9fd3ce98ed91bb36d6cd26817c14474b90ed998c5078415f0eab531caf301496ce24c95c + checksum: 8fd5cac201e77a0b4825745f4e07a25f923842f282f006b3a79223c00f61075c8868d12eafec86b2642cd0b32077cdd32314e27bcb75ee5e6a68c0144140dcf2 languageName: node linkType: hard "@babel/plugin-transform-sticky-regex@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-sticky-regex@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 63b2c575e3e7f96c32d52ed45ee098fb7d354b35c2223b8c8e76840b32cc529ee0c0ceb5742fd082e56e91e3d82842a367ce177e82b05039af3d602c9627a729 + checksum: 53e55eb2575b7abfdb4af7e503a2bf7ef5faf8bf6b92d2cd2de0700bdd19e934e5517b23e6dfed94ba50ae516b62f3f916773ef7d9bc81f01503f585051e2949 languageName: node linkType: hard "@babel/plugin-transform-template-literals@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-template-literals@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-template-literals@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 27e9bb030654cb425381c69754be4abe6a7c75b45cd7f962cd8d604b841b2f0fb7b024f2efc1c25cc53f5b16d79d5e8cfc47cacbdaa983895b3aeefa3e7e24ff + checksum: b16c5cb0b8796be0118e9c144d15bdc0d20a7f3f59009c6303a6e9a8b74c146eceb3f05186f5b97afcba7cfa87e34c1585a22186e3d5b22f2fd3d27d959d92b2 languageName: node linkType: hard "@babel/plugin-transform-typeof-symbol@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 82a53a63ffc3010b689ca9a54e5f53b2718b9f4b4a9818f36f9b7dba234f38a01876680553d2716a645a61920b5e6e4aaf8d4a0064add379b27ca0b403049512 + checksum: 0af7184379d43afac7614fc89b1bdecce4e174d52f4efaeee8ec1a4f2c764356c6dba3525c0685231f1cbf435b6dd4ee9e738d7417f3b10ce8bbe869c32f4384 languageName: node linkType: hard "@babel/plugin-transform-unicode-escapes@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-unicode-escapes@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: da5e85ab3bb33a75cbf6181bfd236b208dc934702fd304db127232f17b4e0f42c6d3f238de8589470b4190906967eea8ca27adf3ae9d8ee4de2a2eae906ed186 + checksum: 561c429183a54b9e4751519a3dfba6014431e9cdc1484fad03bdaf96582dfc72c76a4f8661df2aeeae7c34efd0fa4d02d3b83a2f63763ecf71ecc925f9cc1f60 languageName: node linkType: hard "@babel/plugin-transform-unicode-regex@npm:^7.10.4": - version: 7.22.5 - resolution: "@babel/plugin-transform-unicode-regex@npm:7.22.5" + version: 7.23.3 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.23.3" dependencies: - "@babel/helper-create-regexp-features-plugin": ^7.22.5 + "@babel/helper-create-regexp-features-plugin": ^7.22.15 "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 6b5d1404c8c623b0ec9bd436c00d885a17d6a34f3f2597996343ddb9d94f6379705b21582dfd4cec2c47fd34068872e74ab6b9580116c0566b3f9447e2a7fa06 + checksum: c5f835d17483ba899787f92e313dfa5b0055e3deab332f1d254078a2bba27ede47574b6599fcf34d3763f0c048ae0779dc21d2d8db09295edb4057478dc80a9a languageName: node linkType: hard @@ -1015,8 +1014,8 @@ __metadata: linkType: hard "@babel/preset-modules@npm:^0.1.3": - version: 0.1.5 - resolution: "@babel/preset-modules@npm:0.1.5" + version: 0.1.6 + resolution: "@babel/preset-modules@npm:0.1.6" dependencies: "@babel/helper-plugin-utils": ^7.0.0 "@babel/plugin-proposal-unicode-property-regex": ^7.4.4 @@ -1024,8 +1023,8 @@ __metadata: "@babel/types": ^7.4.4 esutils: ^2.0.2 peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 8430e0e9e9d520b53e22e8c4c6a5a080a12b63af6eabe559c2310b187bd62ae113f3da82ba33e9d1d0f3230930ca702843aae9dd226dec51f7d7114dc1f51c10 + "@babel/core": ^7.0.0-0 || ^8.0.0-0 <8.0.0 + checksum: 9700992d2b9526e703ab49eb8c4cd0b26bec93594d57c6b808967619df1a387565e0e58829b65b5bd6d41049071ea0152c9195b39599515fddb3e52b09a55ff0 languageName: node linkType: hard @@ -1037,51 +1036,51 @@ __metadata: linkType: hard "@babel/runtime@npm:^7.8.4": - version: 7.22.6 - resolution: "@babel/runtime@npm:7.22.6" + version: 7.23.5 + resolution: "@babel/runtime@npm:7.23.5" dependencies: - regenerator-runtime: ^0.13.11 - checksum: e585338287c4514a713babf4fdb8fc2a67adcebab3e7723a739fc62c79cfda875b314c90fd25f827afb150d781af97bc16c85bfdbfa2889f06053879a1ddb597 + regenerator-runtime: ^0.14.0 + checksum: 164d9802424f06908e62d29b8fd3a87db55accf82f46f964ac481dcead11ff7df8391e3696e5fa91a8ca10ea8845bf650acd730fa88cf13f8026cd8d5eec6936 languageName: node linkType: hard -"@babel/template@npm:^7.10.4, @babel/template@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/template@npm:7.22.5" +"@babel/template@npm:^7.10.4, @babel/template@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/template@npm:7.22.15" dependencies: - "@babel/code-frame": ^7.22.5 - "@babel/parser": ^7.22.5 - "@babel/types": ^7.22.5 - checksum: c5746410164039aca61829cdb42e9a55410f43cace6f51ca443313f3d0bdfa9a5a330d0b0df73dc17ef885c72104234ae05efede37c1cc8a72dc9f93425977a3 + "@babel/code-frame": ^7.22.13 + "@babel/parser": ^7.22.15 + "@babel/types": ^7.22.15 + checksum: 1f3e7dcd6c44f5904c184b3f7fe280394b191f2fed819919ffa1e529c259d5b197da8981b6ca491c235aee8dbad4a50b7e31304aa531271cb823a4a24a0dd8fd languageName: node linkType: hard -"@babel/traverse@npm:^7.10.4, @babel/traverse@npm:^7.22.6": - version: 7.22.8 - resolution: "@babel/traverse@npm:7.22.8" +"@babel/traverse@npm:^7.10.4, @babel/traverse@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/traverse@npm:7.23.5" dependencies: - "@babel/code-frame": ^7.22.5 - "@babel/generator": ^7.22.7 - "@babel/helper-environment-visitor": ^7.22.5 - "@babel/helper-function-name": ^7.22.5 + "@babel/code-frame": ^7.23.5 + "@babel/generator": ^7.23.5 + "@babel/helper-environment-visitor": ^7.22.20 + "@babel/helper-function-name": ^7.23.0 "@babel/helper-hoist-variables": ^7.22.5 "@babel/helper-split-export-declaration": ^7.22.6 - "@babel/parser": ^7.22.7 - "@babel/types": ^7.22.5 + "@babel/parser": ^7.23.5 + "@babel/types": ^7.23.5 debug: ^4.1.0 globals: ^11.1.0 - checksum: a381369bc3eedfd13ed5fef7b884657f1c29024ea7388198149f0edc34bd69ce3966e9f40188d15f56490a5e12ba250ccc485f2882b53d41b054fccefb233e33 + checksum: 0558b05360850c3ad6384e85bd55092126a8d5f93e29a8e227dd58fa1f9e1a4c25fd337c07c7ae509f0983e7a2b1e761ffdcfaa77a1e1bedbc867058e1de5a7d languageName: node linkType: hard -"@babel/types@npm:^7.10.4, @babel/types@npm:^7.22.5, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": - version: 7.22.5 - resolution: "@babel/types@npm:7.22.5" +"@babel/types@npm:^7.10.4, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.5, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": + version: 7.23.5 + resolution: "@babel/types@npm:7.23.5" dependencies: - "@babel/helper-string-parser": ^7.22.5 - "@babel/helper-validator-identifier": ^7.22.5 + "@babel/helper-string-parser": ^7.23.4 + "@babel/helper-validator-identifier": ^7.22.20 to-fast-properties: ^2.0.0 - checksum: c13a9c1dc7d2d1a241a2f8363540cb9af1d66e978e8984b400a20c4f38ba38ca29f06e26a0f2d49a70bad9e57615dac09c35accfddf1bb90d23cd3e0a0bab892 + checksum: 3d21774480a459ef13b41c2e32700d927af649e04b70c5d164814d8e04ab584af66a93330602c2925e1a6925c2b829cc153418a613a4e7d79d011be1f29ad4b2 languageName: node linkType: hard @@ -1092,10 +1091,17 @@ __metadata: languageName: node linkType: hard -"@gar/promisify@npm:^1.1.3": - version: 1.1.3 - resolution: "@gar/promisify@npm:1.1.3" - checksum: 4059f790e2d07bf3c3ff3e0fec0daa8144fe35c1f6e0111c9921bd32106adaa97a4ab096ad7dab1e28ee6a9060083c4d1a4ada42a7f5f3f7a96b8812e2b757c1 +"@isaacs/cliui@npm:^8.0.2": + version: 8.0.2 + resolution: "@isaacs/cliui@npm:8.0.2" + dependencies: + string-width: ^5.1.2 + string-width-cjs: "npm:string-width@^4.2.0" + strip-ansi: ^7.0.1 + strip-ansi-cjs: "npm:strip-ansi@^6.0.1" + wrap-ansi: ^8.1.0 + wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" + checksum: 4a473b9b32a7d4d3cfb7a614226e555091ff0c5a29a1734c28c72a182c2f6699b26fc6b5c2131dfd841e86b185aea714c72201d7c98c2fba5f17709333a67aeb languageName: node linkType: hard @@ -1111,8 +1117,6 @@ __metadata: css-loader: 3.5.3 elkjs: 0.6.2 file-loader: 6.0.0 - jquery: ~3.5.1 - lodash: ~4.17.20 regenerator-runtime: 0.13.5 sass: 1.26.8 sass-loader: 8.0.2 @@ -1136,10 +1140,10 @@ __metadata: languageName: node linkType: hard -"@jridgewell/resolve-uri@npm:3.1.0": - version: 3.1.0 - resolution: "@jridgewell/resolve-uri@npm:3.1.0" - checksum: b5ceaaf9a110fcb2780d1d8f8d4a0bfd216702f31c988d8042e5f8fbe353c55d9b0f55a1733afdc64806f8e79c485d2464680ac48a0d9fcadb9548ee6b81d267 +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.1 + resolution: "@jridgewell/resolve-uri@npm:3.1.1" + checksum: f5b441fe7900eab4f9155b3b93f9800a916257f4e8563afbcd3b5a5337b55e52bd8ae6735453b1b745457d9f6cdb16d74cd6220bbdd98cf153239e13f6cbb653 languageName: node linkType: hard @@ -1160,14 +1164,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:1.4.14": - version: 1.4.14 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.14" - checksum: 61100637b6d173d3ba786a5dff019e1a74b1f394f323c1fee337ff390239f053b87266c7a948777f4b1ee68c01a8ad0ab61e5ff4abb5a012a0b091bec391ab97 - languageName: node - linkType: hard - -"@jridgewell/sourcemap-codec@npm:^1.4.10": +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14": version: 1.4.15 resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" checksum: b881c7e503db3fc7f3c1f35a1dd2655a188cc51a3612d76efc8a6eb74728bef5606e6758ee77423e564092b4a518aba569bbb21c9bac5ab7a35b0c6ae7e344c8 @@ -1175,12 +1172,12 @@ __metadata: linkType: hard "@jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.9": - version: 0.3.18 - resolution: "@jridgewell/trace-mapping@npm:0.3.18" + version: 0.3.20 + resolution: "@jridgewell/trace-mapping@npm:0.3.20" dependencies: - "@jridgewell/resolve-uri": 3.1.0 - "@jridgewell/sourcemap-codec": 1.4.14 - checksum: 0572669f855260808c16fe8f78f5f1b4356463b11d3f2c7c0b5580c8ba1cbf4ae53efe9f627595830856e57dbac2325ac17eb0c3dd0ec42102e6f227cc289c02 + "@jridgewell/resolve-uri": ^3.1.0 + "@jridgewell/sourcemap-codec": ^1.4.14 + checksum: cd1a7353135f385909468ff0cf20bdd37e59f2ee49a13a966dedf921943e222082c583ade2b579ff6cd0d8faafcb5461f253e1bf2a9f48fec439211fdbe788f5 languageName: node linkType: hard @@ -1191,102 +1188,104 @@ __metadata: languageName: node linkType: hard -"@npmcli/fs@npm:^2.1.0": - version: 2.1.2 - resolution: "@npmcli/fs@npm:2.1.2" +"@npmcli/agent@npm:^2.0.0": + version: 2.2.0 + resolution: "@npmcli/agent@npm:2.2.0" dependencies: - "@gar/promisify": ^1.1.3 - semver: ^7.3.5 - checksum: 405074965e72d4c9d728931b64d2d38e6ea12066d4fad651ac253d175e413c06fe4350970c783db0d749181da8fe49c42d3880bd1cbc12cd68e3a7964d820225 + agent-base: ^7.1.0 + http-proxy-agent: ^7.0.0 + https-proxy-agent: ^7.0.1 + lru-cache: ^10.0.1 + socks-proxy-agent: ^8.0.1 + checksum: 3b25312edbdfaa4089af28e2d423b6f19838b945e47765b0c8174c1395c79d43c3ad6d23cb364b43f59fd3acb02c93e3b493f72ddbe3dfea04c86843a7311fc4 languageName: node linkType: hard -"@npmcli/move-file@npm:^2.0.0": - version: 2.0.1 - resolution: "@npmcli/move-file@npm:2.0.1" +"@npmcli/fs@npm:^3.1.0": + version: 3.1.0 + resolution: "@npmcli/fs@npm:3.1.0" dependencies: - mkdirp: ^1.0.4 - rimraf: ^3.0.2 - checksum: 52dc02259d98da517fae4cb3a0a3850227bdae4939dda1980b788a7670636ca2b4a01b58df03dd5f65c1e3cb70c50fa8ce5762b582b3f499ec30ee5ce1fd9380 + semver: ^7.3.5 + checksum: a50a6818de5fc557d0b0e6f50ec780a7a02ab8ad07e5ac8b16bf519e0ad60a144ac64f97d05c443c3367235d337182e1d012bbac0eb8dbae8dc7b40b193efd0e languageName: node linkType: hard -"@polka/url@npm:^1.0.0-next.20": - version: 1.0.0-next.21 - resolution: "@polka/url@npm:1.0.0-next.21" - checksum: c7654046d38984257dd639eab3dc770d1b0340916097b2fac03ce5d23506ada684e05574a69b255c32ea6a144a957c8cd84264159b545fca031c772289d88788 +"@pkgjs/parseargs@npm:^0.11.0": + version: 0.11.0 + resolution: "@pkgjs/parseargs@npm:0.11.0" + checksum: 6ad6a00fc4f2f2cfc6bff76fb1d88b8ee20bc0601e18ebb01b6d4be583733a860239a521a7fbca73b612e66705078809483549d2b18f370eb346c5155c8e4a0f languageName: node linkType: hard -"@tootallnate/once@npm:2": - version: 2.0.0 - resolution: "@tootallnate/once@npm:2.0.0" - checksum: ad87447820dd3f24825d2d947ebc03072b20a42bfc96cbafec16bff8bbda6c1a81fcb0be56d5b21968560c5359a0af4038a68ba150c3e1694fe4c109a063bed8 +"@polka/url@npm:^1.0.0-next.20": + version: 1.0.0-next.23 + resolution: "@polka/url@npm:1.0.0-next.23" + checksum: 4b0330de1ceecd1002c7e7449094d0c41f2ed0e21765f4835ccc7b003f2f024ac557d503b9ffdf0918cf50b80d5b8c99dfc5a91927e7b3c468b09c6bb42a3c41 languageName: node linkType: hard "@types/body-parser@npm:*": - version: 1.19.2 - resolution: "@types/body-parser@npm:1.19.2" + version: 1.19.5 + resolution: "@types/body-parser@npm:1.19.5" dependencies: "@types/connect": "*" "@types/node": "*" - checksum: e17840c7d747a549f00aebe72c89313d09fbc4b632b949b2470c5cb3b1cb73863901ae84d9335b567a79ec5efcfb8a28ff8e3f36bc8748a9686756b6d5681f40 + checksum: 1e251118c4b2f61029cc43b0dc028495f2d1957fe8ee49a707fb940f86a9bd2f9754230805598278fe99958b49e9b7e66eec8ef6a50ab5c1f6b93e1ba2aaba82 languageName: node linkType: hard "@types/bonjour@npm:^3.5.9": - version: 3.5.10 - resolution: "@types/bonjour@npm:3.5.10" + version: 3.5.13 + resolution: "@types/bonjour@npm:3.5.13" dependencies: "@types/node": "*" - checksum: bfcadb042a41b124c4e3de4925e3be6d35b78f93f27c4535d5ff86980dc0f8bc407ed99b9b54528952dc62834d5a779392f7a12c2947dd19330eb05a6bcae15a + checksum: e827570e097bd7d625a673c9c208af2d1a22fa3885c0a1646533cf24394c839c3e5f60ac1bc60c0ddcc69c0615078c9fb2c01b42596c7c582d895d974f2409ee languageName: node linkType: hard "@types/connect-history-api-fallback@npm:^1.3.5": - version: 1.5.0 - resolution: "@types/connect-history-api-fallback@npm:1.5.0" + version: 1.5.4 + resolution: "@types/connect-history-api-fallback@npm:1.5.4" dependencies: "@types/express-serve-static-core": "*" "@types/node": "*" - checksum: f180e7c540728d6dd3a1eb2376e445fe7f9de4ee8a5b460d5ad80062cdb6de6efc91c6851f39e9d5933b3dcd5cd370673c52343a959aa091238b6f863ea4447c + checksum: e1dee43b8570ffac02d2d47a2b4ba80d3ca0dd1840632dafb221da199e59dbe3778d3d7303c9e23c6b401f37c076935a5bc2aeae1c4e5feaefe1c371fe2073fd languageName: node linkType: hard "@types/connect@npm:*": - version: 3.4.35 - resolution: "@types/connect@npm:3.4.35" + version: 3.4.38 + resolution: "@types/connect@npm:3.4.38" dependencies: "@types/node": "*" - checksum: fe81351470f2d3165e8b12ce33542eef89ea893e36dd62e8f7d72566dfb7e448376ae962f9f3ea888547ce8b55a40020ca0e01d637fab5d99567673084542641 + checksum: 7eb1bc5342a9604facd57598a6c62621e244822442976c443efb84ff745246b10d06e8b309b6e80130026a396f19bf6793b7cecd7380169f369dac3bfc46fb99 languageName: node linkType: hard "@types/eslint-scope@npm:^3.7.0": - version: 3.7.4 - resolution: "@types/eslint-scope@npm:3.7.4" + version: 3.7.7 + resolution: "@types/eslint-scope@npm:3.7.7" dependencies: "@types/eslint": "*" "@types/estree": "*" - checksum: ea6a9363e92f301cd3888194469f9ec9d0021fe0a397a97a6dd689e7545c75de0bd2153dfb13d3ab532853a278b6572c6f678ce846980669e41029d205653460 + checksum: e2889a124aaab0b89af1bab5959847c5bec09809209255de0e63b9f54c629a94781daa04adb66bffcdd742f5e25a17614fb933965093c0eea64aacda4309380e languageName: node linkType: hard "@types/eslint@npm:*": - version: 8.44.0 - resolution: "@types/eslint@npm:8.44.0" + version: 8.44.8 + resolution: "@types/eslint@npm:8.44.8" dependencies: "@types/estree": "*" "@types/json-schema": "*" - checksum: 2655f409a4ecdd64bb9dd9eb6715e7a2ac30c0e7f902b414e10dbe9d6d497baa5a0f13105e1f7bd5ad7a913338e2ab4bed1faf192a7a0d27d1acd45ba79d3f69 + checksum: c3bc70166075e6e9f7fb43978882b9ac0b22596b519900b08dc8a1d761bbbddec4c48a60cc4eb674601266223c6f11db30f3fb6ceaae96c23c54b35ad88022bc languageName: node linkType: hard "@types/estree@npm:*": - version: 1.0.0 - resolution: "@types/estree@npm:1.0.0" - checksum: 910d97fb7092c6738d30a7430ae4786a38542023c6302b95d46f49420b797f21619cdde11fa92b338366268795884111c2eb10356e4bd2c8ad5b92941e9e6443 + version: 1.0.5 + resolution: "@types/estree@npm:1.0.5" + checksum: dd8b5bed28e6213b7acd0fb665a84e693554d850b0df423ac8076cc3ad5823a6bc26b0251d080bdc545af83179ede51dd3f6fa78cad2c46ed1f29624ddf3e41a languageName: node linkType: hard @@ -1298,91 +1297,95 @@ __metadata: linkType: hard "@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:^4.17.33": - version: 4.17.35 - resolution: "@types/express-serve-static-core@npm:4.17.35" + version: 4.17.41 + resolution: "@types/express-serve-static-core@npm:4.17.41" dependencies: "@types/node": "*" "@types/qs": "*" "@types/range-parser": "*" "@types/send": "*" - checksum: cc8995d10c6feda475ec1b3a0e69eb0f35f21ab6b49129ad5c6f279e0bc5de8175bc04ec51304cb79a43eec3ed2f5a1e01472eb6d5f827b8c35c6ca8ad24eb6e + checksum: 12750f6511dd870bbaccfb8208ad1e79361cf197b147f62a3bedc19ec642f3a0f9926ace96705f4bc88ec2ae56f61f7ca8c2438e6b22f5540842b5569c28a121 languageName: node linkType: hard "@types/express@npm:*, @types/express@npm:^4.17.13": - version: 4.17.17 - resolution: "@types/express@npm:4.17.17" + version: 4.17.21 + resolution: "@types/express@npm:4.17.21" dependencies: "@types/body-parser": "*" "@types/express-serve-static-core": ^4.17.33 "@types/qs": "*" "@types/serve-static": "*" - checksum: 0196dacc275ac3ce89d7364885cb08e7fb61f53ca101f65886dbf1daf9b7eb05c0943e2e4bbd01b0cc5e50f37e0eea7e4cbe97d0304094411ac73e1b7998f4da + checksum: fb238298630370a7392c7abdc80f495ae6c716723e114705d7e3fb67e3850b3859bbfd29391463a3fb8c0b32051847935933d99e719c0478710f8098ee7091c5 languageName: node linkType: hard "@types/http-errors@npm:*": - version: 2.0.1 - resolution: "@types/http-errors@npm:2.0.1" - checksum: 3bb0c50b0a652e679a84c30cd0340d696c32ef6558518268c238840346c077f899315daaf1c26c09c57ddd5dc80510f2a7f46acd52bf949e339e35ed3ee9654f + version: 2.0.4 + resolution: "@types/http-errors@npm:2.0.4" + checksum: 1f3d7c3b32c7524811a45690881736b3ef741bf9849ae03d32ad1ab7062608454b150a4e7f1351f83d26a418b2d65af9bdc06198f1c079d75578282884c4e8e3 languageName: node linkType: hard "@types/http-proxy@npm:^1.17.8": - version: 1.17.11 - resolution: "@types/http-proxy@npm:1.17.11" + version: 1.17.14 + resolution: "@types/http-proxy@npm:1.17.14" dependencies: "@types/node": "*" - checksum: 38ef4f8c91c7a5b664cf6dd4d90de7863f88549a9f8ef997f2f1184e4f8cf2e7b9b63c04f0b7b962f34a09983073a31a9856de5aae5159b2ddbb905a4c44dc9f + checksum: 491320bce3565bbb6c7d39d25b54bce626237cfb6b09e60ee7f77b56ae7c6cbad76f08d47fe01eaa706781124ee3dfad9bb737049254491efd98ed1f014c4e83 languageName: node linkType: hard -"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.8": - version: 7.0.12 - resolution: "@types/json-schema@npm:7.0.12" - checksum: 00239e97234eeb5ceefb0c1875d98ade6e922bfec39dd365ec6bd360b5c2f825e612ac4f6e5f1d13601b8b30f378f15e6faa805a3a732f4a1bbe61915163d293 +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 97ed0cb44d4070aecea772b7b2e2ed971e10c81ec87dd4ecc160322ffa55ff330dace1793489540e3e318d90942064bb697cc0f8989391797792d919737b3b98 languageName: node linkType: hard -"@types/json-schema@npm:^7.0.9": - version: 7.0.11 - resolution: "@types/json-schema@npm:7.0.11" - checksum: 527bddfe62db9012fccd7627794bd4c71beb77601861055d87e3ee464f2217c85fca7a4b56ae677478367bbd248dbde13553312b7d4dbc702a2f2bbf60c4018d +"@types/mime@npm:*": + version: 3.0.4 + resolution: "@types/mime@npm:3.0.4" + checksum: a6139c8e1f705ef2b064d072f6edc01f3c099023ad7c4fce2afc6c2bf0231888202adadbdb48643e8e20da0ce409481a49922e737eca52871b3dc08017455843 languageName: node linkType: hard -"@types/mime@npm:*": - version: 3.0.1 - resolution: "@types/mime@npm:3.0.1" - checksum: 4040fac73fd0cea2460e29b348c1a6173da747f3a87da0dbce80dd7a9355a3d0e51d6d9a401654f3e5550620e3718b5a899b2ec1debf18424e298a2c605346e7 +"@types/mime@npm:^1": + version: 1.3.5 + resolution: "@types/mime@npm:1.3.5" + checksum: e29a5f9c4776f5229d84e525b7cd7dd960b51c30a0fb9a028c0821790b82fca9f672dab56561e2acd9e8eed51d431bde52eafdfef30f643586c4162f1aecfc78 languageName: node linkType: hard -"@types/mime@npm:^1": - version: 1.3.2 - resolution: "@types/mime@npm:1.3.2" - checksum: 0493368244cced1a69cb791b485a260a422e6fcc857782e1178d1e6f219f1b161793e9f87f5fae1b219af0f50bee24fcbe733a18b4be8fdd07a38a8fb91146fd +"@types/node-forge@npm:^1.3.0": + version: 1.3.10 + resolution: "@types/node-forge@npm:1.3.10" + dependencies: + "@types/node": "*" + checksum: 363af42c83956c7e2483a71e398a02101ef6a55b4d86386c276315ca98bad02d6050b99fdbe13debcd1bcda250086b4a5b5c15a6fb2953d32420d269865ca7f8 languageName: node linkType: hard "@types/node@npm:*": - version: 18.15.0 - resolution: "@types/node@npm:18.15.0" - checksum: d81372276dd5053b1743338b61a2178ff9722dc609189d01fc7d1c2acd539414039e0e4780678730514390dad3f29c366a28c29e8dbd5b0025651181f6dd6669 + version: 20.10.2 + resolution: "@types/node@npm:20.10.2" + dependencies: + undici-types: ~5.26.4 + checksum: c0c84e8270cdf7a47a18c0230c0321537cc59506adb0e3cba51949b6f1ad4879f2e2ec3a29161f2f5321ebb6415460712d9f0a25ac5c02be0f5435464fe77c23 languageName: node linkType: hard "@types/qs@npm:*": - version: 6.9.7 - resolution: "@types/qs@npm:6.9.7" - checksum: 7fd6f9c25053e9b5bb6bc9f9f76c1d89e6c04f7707a7ba0e44cc01f17ef5284adb82f230f542c2d5557d69407c9a40f0f3515e8319afd14e1e16b5543ac6cdba + version: 6.9.10 + resolution: "@types/qs@npm:6.9.10" + checksum: 3e479ee056bd2b60894baa119d12ecd33f20a25231b836af04654e784c886f28a356477630430152a86fba253da65d7ecd18acffbc2a8877a336e75aa0272c67 languageName: node linkType: hard "@types/range-parser@npm:*": - version: 1.2.4 - resolution: "@types/range-parser@npm:1.2.4" - checksum: b7c0dfd5080a989d6c8bb0b6750fc0933d9acabeb476da6fe71d8bdf1ab65e37c136169d84148034802f48378ab94e3c37bb4ef7656b2bec2cb9c0f8d4146a95 + version: 1.2.7 + resolution: "@types/range-parser@npm:1.2.7" + checksum: 95640233b689dfbd85b8c6ee268812a732cf36d5affead89e806fe30da9a430767af8ef2cd661024fd97e19d61f3dec75af2df5e80ec3bea000019ab7028629a languageName: node linkType: hard @@ -1394,50 +1397,50 @@ __metadata: linkType: hard "@types/send@npm:*": - version: 0.17.1 - resolution: "@types/send@npm:0.17.1" + version: 0.17.4 + resolution: "@types/send@npm:0.17.4" dependencies: "@types/mime": ^1 "@types/node": "*" - checksum: 10b620a5960058ef009afbc17686f680d6486277c62f640845381ec4baa0ea683fdd77c3afea4803daf5fcddd3fb2972c8aa32e078939f1d4e96f83195c89793 + checksum: cf4db48251bbb03cd6452b4de6e8e09e2d75390a92fd798eca4a803df06444adc94ed050246c94c7ed46fb97be1f63607f0e1f13c3ce83d71788b3e08640e5e0 languageName: node linkType: hard "@types/serve-index@npm:^1.9.1": - version: 1.9.1 - resolution: "@types/serve-index@npm:1.9.1" + version: 1.9.4 + resolution: "@types/serve-index@npm:1.9.4" dependencies: "@types/express": "*" - checksum: 026f3995fb500f6df7c3fe5009e53bad6d739e20b84089f58ebfafb2f404bbbb6162bbe33f72d2f2af32d5b8d3799c8e179793f90d9ed5871fb8591190bb6056 + checksum: 72727c88d54da5b13275ebfb75dcdc4aa12417bbe9da1939e017c4c5f0c906fae843aa4e0fbfe360e7ee9df2f3d388c21abfc488f77ce58693fb57809f8ded92 languageName: node linkType: hard "@types/serve-static@npm:*, @types/serve-static@npm:^1.13.10": - version: 1.15.2 - resolution: "@types/serve-static@npm:1.15.2" + version: 1.15.5 + resolution: "@types/serve-static@npm:1.15.5" dependencies: "@types/http-errors": "*" "@types/mime": "*" "@types/node": "*" - checksum: 15c261dbfc57890f7cc17c04d5b22b418dfa0330c912b46c5d8ae2064da5d6f844ef7f41b63c7f4bbf07675e97ebe6ac804b032635ec742ae45d6f1274259b3e + checksum: 0ff4b3703cf20ba89c9f9e345bc38417860a88e85863c8d6fe274a543220ab7f5f647d307c60a71bb57dc9559f0890a661e8dc771a6ec5ef195d91c8afc4a893 languageName: node linkType: hard "@types/sockjs@npm:^0.3.33": - version: 0.3.33 - resolution: "@types/sockjs@npm:0.3.33" + version: 0.3.36 + resolution: "@types/sockjs@npm:0.3.36" dependencies: "@types/node": "*" - checksum: b9bbb2b5c5ead2fb884bb019f61a014e37410bddd295de28184e1b2e71ee6b04120c5ba7b9954617f0bdf962c13d06249ce65004490889c747c80d3f628ea842 + checksum: b4b5381122465d80ea8b158537c00bc82317222d3fb31fd7229ff25b31fa89134abfbab969118da55622236bf3d8fee75759f3959908b5688991f492008f29bc languageName: node linkType: hard "@types/ws@npm:^8.5.1": - version: 8.5.5 - resolution: "@types/ws@npm:8.5.5" + version: 8.5.10 + resolution: "@types/ws@npm:8.5.10" dependencies: "@types/node": "*" - checksum: d00bf8070e6938e3ccf933010921c6ce78ac3606696ce37a393b27a9a603f7bd93ea64f3c5fa295a2f743575ba9c9a9fdb904af0f5fe2229bf2adf0630386e4a + checksum: 3ec416ea2be24042ebd677932a462cf16d2080393d8d7d0b1b3f5d6eaa4a7387aaf0eefb99193c0bfd29444857cf2e0c3ac89899e130550dc6c14ada8a46d25e languageName: node linkType: hard @@ -1639,10 +1642,10 @@ __metadata: languageName: node linkType: hard -"abbrev@npm:^1.0.0": - version: 1.1.1 - resolution: "abbrev@npm:1.1.1" - checksum: a4a97ec07d7ea112c517036882b2ac22f3109b7b19077dc656316d07d308438aac28e4d9746dc4d84bf6b1e75b4a7b0a5f3cb30592419f128ca9a8cee3bcfa17 +"abbrev@npm:^2.0.0": + version: 2.0.0 + resolution: "abbrev@npm:2.0.0" + checksum: 0e994ad2aa6575f94670d8a2149afe94465de9cedaaaac364e7fb43a40c3691c980ff74899f682f4ca58fa96b4cbd7421a015d3a6defe43a442117d7821a2f36 languageName: node linkType: hard @@ -1666,22 +1669,13 @@ __metadata: linkType: hard "acorn-walk@npm:^8.0.0": - version: 8.2.0 - resolution: "acorn-walk@npm:8.2.0" - checksum: 1715e76c01dd7b2d4ca472f9c58968516a4899378a63ad5b6c2d668bba8da21a71976c14ec5f5b75f887b6317c4ae0b897ab141c831d741dc76024d8745f1ad1 + version: 8.3.0 + resolution: "acorn-walk@npm:8.3.0" + checksum: 15ea56ab6529135be05e7d018f935ca80a572355dd3f6d3cd717e36df3346e0f635a93ae781b1c7942607693e2e5f3ef81af5c6fc697bbadcc377ebda7b7f5f6 languageName: node linkType: hard -"acorn@npm:^8.0.4, acorn@npm:^8.8.2": - version: 8.10.0 - resolution: "acorn@npm:8.10.0" - bin: - acorn: bin/acorn - checksum: 538ba38af0cc9e5ef983aee196c4b8b4d87c0c94532334fa7e065b2c8a1f85863467bb774231aae91613fcda5e68740c15d97b1967ae3394d20faddddd8af61d - languageName: node - linkType: hard - -"acorn@npm:^8.4.1": +"acorn@npm:^8.0.4, acorn@npm:^8.4.1, acorn@npm:^8.8.2": version: 8.11.2 resolution: "acorn@npm:8.11.2" bin: @@ -1690,23 +1684,12 @@ __metadata: languageName: node linkType: hard -"agent-base@npm:6, agent-base@npm:^6.0.2": - version: 6.0.2 - resolution: "agent-base@npm:6.0.2" - dependencies: - debug: 4 - checksum: f52b6872cc96fd5f622071b71ef200e01c7c4c454ee68bc9accca90c98cfb39f2810e3e9aa330435835eedc8c23f4f8a15267f67c6e245d2b33757575bdac49d - languageName: node - linkType: hard - -"agentkeepalive@npm:^4.2.1": - version: 4.3.0 - resolution: "agentkeepalive@npm:4.3.0" +"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0": + version: 7.1.0 + resolution: "agent-base@npm:7.1.0" dependencies: - debug: ^4.1.0 - depd: ^2.0.0 - humanize-ms: ^1.2.1 - checksum: 982453aa44c11a06826c836025e5162c846e1200adb56f2d075400da7d32d87021b3b0a58768d949d824811f5654223d5a8a3dad120921a2439625eb847c6260 + debug: ^4.3.4 + checksum: f7828f991470a0cc22cb579c86a18cbae83d8a3cbed39992ab34fc7217c4d126017f1c74d0ab66be87f71455318a8ea3e757d6a37881b8d0f2a2c6aa55e5418f languageName: node linkType: hard @@ -1810,6 +1793,13 @@ __metadata: languageName: node linkType: hard +"ansi-regex@npm:^6.0.1": + version: 6.0.1 + resolution: "ansi-regex@npm:6.0.1" + checksum: 1ff8b7667cded1de4fa2c9ae283e979fc87036864317da86a2e546725f96406746411d0d85e87a2d12fa5abd715d90006de7fa4fa0477c92321ad3b4c7d4e169 + languageName: node + linkType: hard + "ansi-styles@npm:^3.2.1": version: 3.2.1 resolution: "ansi-styles@npm:3.2.1" @@ -1819,7 +1809,7 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^4.1.0": +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": version: 4.3.0 resolution: "ansi-styles@npm:4.3.0" dependencies: @@ -1828,6 +1818,13 @@ __metadata: languageName: node linkType: hard +"ansi-styles@npm:^6.1.0": + version: 6.2.1 + resolution: "ansi-styles@npm:6.2.1" + checksum: ef940f2f0ced1a6347398da88a91da7930c33ecac3c77b72c5905f8b8fe402c52e6fde304ff5347f616e27a742da3f1dc76de98f6866c69251ad0b07a66776d9 + languageName: node + linkType: hard + "anymatch@npm:~3.1.2": version: 3.1.3 resolution: "anymatch@npm:3.1.3" @@ -1838,13 +1835,6 @@ __metadata: languageName: node linkType: hard -"aproba@npm:^1.0.3 || ^2.0.0": - version: 2.0.0 - resolution: "aproba@npm:2.0.0" - checksum: 5615cadcfb45289eea63f8afd064ab656006361020e1735112e346593856f87435e02d8dcc7ff0d11928bc7d425f27bc7c2a84f6c0b35ab0ff659c814c138a24 - languageName: node - linkType: hard - "aproba@npm:^1.1.1": version: 1.2.0 resolution: "aproba@npm:1.2.0" @@ -1852,16 +1842,6 @@ __metadata: languageName: node linkType: hard -"are-we-there-yet@npm:^3.0.0": - version: 3.0.1 - resolution: "are-we-there-yet@npm:3.0.1" - dependencies: - delegates: ^1.0.0 - readable-stream: ^3.6.0 - checksum: 52590c24860fa7173bedeb69a4c05fb573473e860197f618b9a28432ee4379049336727ae3a1f9c4cb083114601c1140cee578376164d0e651217a9843f9fe83 - languageName: node - linkType: hard - "array-flatten@npm:1.1.1": version: 1.1.1 resolution: "array-flatten@npm:1.1.1" @@ -2003,17 +1983,17 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.12.0, browserslist@npm:^4.14.5, browserslist@npm:^4.21.9": - version: 4.21.9 - resolution: "browserslist@npm:4.21.9" +"browserslist@npm:^4.12.0, browserslist@npm:^4.14.5, browserslist@npm:^4.21.9, browserslist@npm:^4.22.1": + version: 4.22.1 + resolution: "browserslist@npm:4.22.1" dependencies: - caniuse-lite: ^1.0.30001503 - electron-to-chromium: ^1.4.431 - node-releases: ^2.0.12 - update-browserslist-db: ^1.0.11 + caniuse-lite: ^1.0.30001541 + electron-to-chromium: ^1.4.535 + node-releases: ^2.0.13 + update-browserslist-db: ^1.0.13 bin: browserslist: cli.js - checksum: 80d3820584e211484ad1b1a5cfdeca1dd00442f47be87e117e1dda34b628c87e18b81ae7986fa5977b3e6a03154f6d13cd763baa6b8bf5dd9dd19f4926603698 + checksum: 7e6b10c53f7dd5d83fd2b95b00518889096382539fed6403829d447e05df4744088de46a571071afb447046abc3c66ad06fbc790e70234ec2517452e32ffd862 languageName: node linkType: hard @@ -2061,39 +2041,34 @@ __metadata: languageName: node linkType: hard -"cacache@npm:^16.1.0": - version: 16.1.3 - resolution: "cacache@npm:16.1.3" +"cacache@npm:^18.0.0": + version: 18.0.1 + resolution: "cacache@npm:18.0.1" dependencies: - "@npmcli/fs": ^2.1.0 - "@npmcli/move-file": ^2.0.0 - chownr: ^2.0.0 - fs-minipass: ^2.1.0 - glob: ^8.0.1 - infer-owner: ^1.0.4 - lru-cache: ^7.7.1 - minipass: ^3.1.6 - minipass-collect: ^1.0.2 + "@npmcli/fs": ^3.1.0 + fs-minipass: ^3.0.0 + glob: ^10.2.2 + lru-cache: ^10.0.1 + minipass: ^7.0.3 + minipass-collect: ^2.0.1 minipass-flush: ^1.0.5 minipass-pipeline: ^1.2.4 - mkdirp: ^1.0.4 p-map: ^4.0.0 - promise-inflight: ^1.0.1 - rimraf: ^3.0.2 - ssri: ^9.0.0 + ssri: ^10.0.0 tar: ^6.1.11 - unique-filename: ^2.0.0 - checksum: d91409e6e57d7d9a3a25e5dcc589c84e75b178ae8ea7de05cbf6b783f77a5fae938f6e8fda6f5257ed70000be27a681e1e44829251bfffe4c10216002f8f14e6 + unique-filename: ^3.0.0 + checksum: 5a0b3b2ea451a0379814dc1d3c81af48c7c6db15cd8f7d72e028501ae0036a599a99bbac9687bfec307afb2760808d1c7708e9477c8c70d2b166e7d80b162a23 languageName: node linkType: hard "call-bind@npm:^1.0.0": - version: 1.0.2 - resolution: "call-bind@npm:1.0.2" + version: 1.0.5 + resolution: "call-bind@npm:1.0.5" dependencies: - function-bind: ^1.1.1 - get-intrinsic: ^1.0.2 - checksum: f8e31de9d19988a4b80f3e704788c4a2d6b6f3d17cfec4f57dc29ced450c53a49270dc66bf0fbd693329ee948dd33e6c90a329519aef17474a4d961e8d6426b0 + function-bind: ^1.1.2 + get-intrinsic: ^1.2.1 + set-function-length: ^1.1.1 + checksum: 449e83ecbd4ba48e7eaac5af26fea3b50f8f6072202c2dd7c5a6e7a6308f2421abe5e13a3bbd55221087f76320c5e09f25a8fdad1bab2b77c68ae74d92234ea5 languageName: node linkType: hard @@ -2104,14 +2079,14 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001503": - version: 1.0.30001516 - resolution: "caniuse-lite@npm:1.0.30001516" - checksum: 044adf3493b734a356a2922445a30095a0f6de6b9194695cdf74deafe7bef658e85858a31177762c2813f6e1ed2722d832d59eee0ecb2151e93a611ee18cb21f +"caniuse-lite@npm:^1.0.30001541": + version: 1.0.30001565 + resolution: "caniuse-lite@npm:1.0.30001565" + checksum: 7621f358d0e1158557430a111ca5506008ae0b2c796039ef53aeebf4e2ba15e5241cb89def21ea3a633b6a609273085835b44a522165d871fa44067cdf29cccd languageName: node linkType: hard -"chalk@npm:^2.0.0": +"chalk@npm:^2.4.2": version: 2.4.2 resolution: "chalk@npm:2.4.2" dependencies: @@ -2222,15 +2197,6 @@ __metadata: languageName: node linkType: hard -"color-support@npm:^1.1.3": - version: 1.1.3 - resolution: "color-support@npm:1.1.3" - bin: - color-support: bin.js - checksum: 9b7356817670b9a13a26ca5af1c21615463b500783b739b7634a0c2047c16cef4b2865d7576875c31c3cddf9dd621fa19285e628f20198b233a5cfdda6d0793b - languageName: node - linkType: hard - "colorette@npm:^2.0.10, colorette@npm:^2.0.14": version: 2.0.20 resolution: "colorette@npm:2.0.20" @@ -2309,13 +2275,6 @@ __metadata: languageName: node linkType: hard -"console-control-strings@npm:^1.1.0": - version: 1.1.0 - resolution: "console-control-strings@npm:1.1.0" - checksum: 8755d76787f94e6cf79ce4666f0c5519906d7f5b02d4b884cf41e11dcd759ed69c57da0670afd9236d229a46e0f9cf519db0cd829c6dca820bb5a5c3def584ed - languageName: node - linkType: hard - "content-disposition@npm:0.5.4": version: 0.5.4 resolution: "content-disposition@npm:0.5.4" @@ -2390,11 +2349,11 @@ __metadata: linkType: hard "core-js-compat@npm:^3.6.2": - version: 3.31.1 - resolution: "core-js-compat@npm:3.31.1" + version: 3.33.3 + resolution: "core-js-compat@npm:3.33.3" dependencies: - browserslist: ^4.21.9 - checksum: 9a16d6992621f4e099169297381a28d5712cdef7df1fa85352a7c285a5885d5d7a117ec2eae9ad715ed88c7cc774787a22cdb8aceababf6775fbc8b0cbeccdb7 + browserslist: ^4.22.1 + checksum: cb121e83f0f5f18b2b75428cdfb19524936a18459f1e0358f9124c8ff8b75d6a5901495cb996560cfde3a416103973f78eb5947777bb8b2fd877cdf84471465d languageName: node linkType: hard @@ -2412,7 +2371,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.3": +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.3": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" dependencies: @@ -2471,7 +2430,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.3.3": +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.3.4": version: 4.3.4 resolution: "debug@npm:4.3.4" dependencies: @@ -2492,6 +2451,17 @@ __metadata: languageName: node linkType: hard +"define-data-property@npm:^1.1.1": + version: 1.1.1 + resolution: "define-data-property@npm:1.1.1" + dependencies: + get-intrinsic: ^1.2.1 + gopd: ^1.0.1 + has-property-descriptors: ^1.0.0 + checksum: a29855ad3f0630ea82e3c5012c812efa6ca3078d5c2aa8df06b5f597c1cde6f7254692df41945851d903e05a1668607b6d34e778f402b9ff9ffb38111f1a3f0d + languageName: node + linkType: hard + "define-lazy-prop@npm:^2.0.0": version: 2.0.0 resolution: "define-lazy-prop@npm:2.0.0" @@ -2499,14 +2469,7 @@ __metadata: languageName: node linkType: hard -"delegates@npm:^1.0.0": - version: 1.0.0 - resolution: "delegates@npm:1.0.0" - checksum: a51744d9b53c164ba9c0492471a1a2ffa0b6727451bdc89e31627fdf4adda9d51277cfcbfb20f0a6f08ccb3c436f341df3e92631a3440226d93a8971724771fd - languageName: node - linkType: hard - -"depd@npm:2.0.0, depd@npm:^2.0.0": +"depd@npm:2.0.0": version: 2.0.0 resolution: "depd@npm:2.0.0" checksum: abbe19c768c97ee2eed6282d8ce3031126662252c58d711f646921c9623f9052e3e1906443066beec1095832f534e57c523b7333f8e7e0d93051ab6baef5ab3a @@ -2551,11 +2514,11 @@ __metadata: linkType: hard "dns-packet@npm:^5.2.2": - version: 5.6.0 - resolution: "dns-packet@npm:5.6.0" + version: 5.6.1 + resolution: "dns-packet@npm:5.6.1" dependencies: "@leichtgewicht/ip-codec": ^2.0.1 - checksum: 1b643814e5947a87620f8a906287079347492282964ce1c236d52c414e3e3941126b96581376b180ba6e66899e70b86b587bc1aa23e3acd9957765be952d83fc + checksum: 64c06457f0c6e143f7a0946e0aeb8de1c5f752217cfa143ef527467c00a6d78db1835cfdb6bb68333d9f9a4963cf23f410439b5262a8935cce1236f45e344b81 languageName: node linkType: hard @@ -2578,6 +2541,13 @@ __metadata: languageName: node linkType: hard +"eastasianwidth@npm:^0.2.0": + version: 0.2.0 + resolution: "eastasianwidth@npm:0.2.0" + checksum: 7d00d7cd8e49b9afa762a813faac332dee781932d6f2c848dc348939c4253f1d4564341b7af1d041853bc3f32c2ef141b58e0a4d9862c17a7f08f68df1e0f1ed + languageName: node + linkType: hard + "ee-first@npm:1.1.1": version: 1.1.1 resolution: "ee-first@npm:1.1.1" @@ -2585,10 +2555,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.431": - version: 1.4.463 - resolution: "electron-to-chromium@npm:1.4.463" - checksum: 0f8d9b7ac7bcd48ae1963827a752d8c1d1f36d84e778e818a8027ea708f81b58faa0b599c964777e8245277f06ac45828515975fc7e1e08ed20e360571600c2c +"electron-to-chromium@npm:^1.4.535": + version: 1.4.601 + resolution: "electron-to-chromium@npm:1.4.601" + checksum: 6c6d090afaab83f49fe413c2558a3294e7dfce6a9d8afda3496a80ba59377901279ea7903122558399d5f5dbbdcca8562e3e826b7b78e7ec0b561fcc02c45f73 languageName: node linkType: hard @@ -2606,6 +2576,13 @@ __metadata: languageName: node linkType: hard +"emoji-regex@npm:^9.2.2": + version: 9.2.2 + resolution: "emoji-regex@npm:9.2.2" + checksum: 8487182da74aabd810ac6d6f1994111dfc0e331b01271ae01ec1eb0ad7b5ecc2bbbbd2f053c05cb55a1ac30449527d819bbfbf0e3de1023db308cbcb47f86601 + languageName: node + linkType: hard + "emojis-list@npm:^3.0.0": version: 3.0.0 resolution: "emojis-list@npm:3.0.0" @@ -2656,11 +2633,11 @@ __metadata: linkType: hard "envinfo@npm:^7.7.3": - version: 7.10.0 - resolution: "envinfo@npm:7.10.0" + version: 7.11.0 + resolution: "envinfo@npm:7.11.0" bin: envinfo: dist/cli.js - checksum: 05e81a5768c42cbd5c580dc3f274db3401facadd53e9bd52e2aa49dfbb5d8b26f6181c25a6652d79618a6994185bd2b1c137673101690b147f758e4e71d42f7d + checksum: c45a7d20409d5f4cda72483b150d3816b15b434f2944d72c1495d8838bd7c4e7b2f32c12128ffb9b92b5f66f436237b8a525eb3a9a5da2d20013bc4effa28aef languageName: node linkType: hard @@ -2777,6 +2754,13 @@ __metadata: languageName: node linkType: hard +"exponential-backoff@npm:^3.1.1": + version: 3.1.1 + resolution: "exponential-backoff@npm:3.1.1" + checksum: 3d21519a4f8207c99f7457287291316306255a328770d320b401114ec8481986e4e467e854cb9914dd965e0a1ca810a23ccb559c642c88f4c7f55c55778a9b48 + languageName: node + linkType: hard + "express@npm:^4.17.3": version: 4.18.2 resolution: "express@npm:4.18.2" @@ -2919,6 +2903,15 @@ __metadata: languageName: node linkType: hard +"flat@npm:^5.0.2": + version: 5.0.2 + resolution: "flat@npm:5.0.2" + bin: + flat: cli.js + checksum: 12a1536ac746db74881316a181499a78ef953632ddd28050b7a3a43c62ef5462e3357c8c29d76072bb635f147f7a9a1f0c02efef6b4be28f8db62ceb3d5c7f5d + languageName: node + linkType: hard + "flush-write-stream@npm:^1.0.0": version: 1.1.1 resolution: "flush-write-stream@npm:1.1.1" @@ -2930,12 +2923,22 @@ __metadata: linkType: hard "follow-redirects@npm:^1.0.0": - version: 1.15.2 - resolution: "follow-redirects@npm:1.15.2" + version: 1.15.3 + resolution: "follow-redirects@npm:1.15.3" peerDependenciesMeta: debug: optional: true - checksum: faa66059b66358ba65c234c2f2a37fcec029dc22775f35d9ad6abac56003268baf41e55f9ee645957b32c7d9f62baf1f0b906e68267276f54ec4b4c597c2b190 + checksum: 584da22ec5420c837bd096559ebfb8fe69d82512d5585004e36a3b4a6ef6d5905780e0c74508c7b72f907d1fa2b7bd339e613859e9c304d0dc96af2027fd0231 + languageName: node + linkType: hard + +"foreground-child@npm:^3.1.0": + version: 3.1.1 + resolution: "foreground-child@npm:3.1.1" + dependencies: + cross-spawn: ^7.0.0 + signal-exit: ^4.0.1 + checksum: 139d270bc82dc9e6f8bc045fe2aae4001dc2472157044fdfad376d0a3457f77857fa883c1c8b21b491c6caade9a926a4bed3d3d2e8d3c9202b151a4cbbd0bcd5 languageName: node linkType: hard @@ -2963,7 +2966,7 @@ __metadata: languageName: node linkType: hard -"fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0": +"fs-minipass@npm:^2.0.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" dependencies: @@ -2972,10 +2975,19 @@ __metadata: languageName: node linkType: hard +"fs-minipass@npm:^3.0.0": + version: 3.0.3 + resolution: "fs-minipass@npm:3.0.3" + dependencies: + minipass: ^7.0.3 + checksum: 8722a41109130851d979222d3ec88aabaceeaaf8f57b2a8f744ef8bd2d1ce95453b04a61daa0078822bc5cd21e008814f06fe6586f56fef511e71b8d2394d802 + languageName: node + linkType: hard + "fs-monkey@npm:^1.0.4": - version: 1.0.4 - resolution: "fs-monkey@npm:1.0.4" - checksum: 8b254c982905c0b7e028eab22b410dc35a5c0019c1c860456f5f54ae6a61666e1cb8c6b700d6c88cc873694c00953c935847b9959cc4dcf274aacb8673c1e8bf + version: 1.0.5 + resolution: "fs-monkey@npm:1.0.5" + checksum: 424b67f65b37fe66117ae2bb061f790fe6d4b609e1d160487c74b3d69fbf42f262c665ccfba32e8b5f113f96f92e9a58fcdebe42d5f6649bdfc72918093a3119 languageName: node linkType: hard @@ -2999,44 +3011,28 @@ __metadata: linkType: hard "fsevents@npm:~2.3.2": - version: 2.3.2 - resolution: "fsevents@npm:2.3.2" + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" dependencies: node-gyp: latest - checksum: 97ade64e75091afee5265e6956cb72ba34db7819b4c3e94c431d4be2b19b8bb7a2d4116da417950c3425f17c8fe693d25e20212cac583ac1521ad066b77ae31f + checksum: 11e6ea6fea15e42461fc55b4b0e4a0a3c654faa567f1877dbd353f39156f69def97a69936d1746619d656c4b93de2238bf731f6085a03a50cabf287c9d024317 conditions: os=darwin languageName: node linkType: hard "fsevents@patch:fsevents@~2.3.2#~builtin": - version: 2.3.2 - resolution: "fsevents@patch:fsevents@npm%3A2.3.2#~builtin::version=2.3.2&hash=df0bf1" + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#~builtin::version=2.3.3&hash=df0bf1" dependencies: node-gyp: latest conditions: os=darwin languageName: node linkType: hard -"function-bind@npm:^1.1.1": - version: 1.1.1 - resolution: "function-bind@npm:1.1.1" - checksum: b32fbaebb3f8ec4969f033073b43f5c8befbb58f1a79e12f1d7490358150359ebd92f49e72ff0144f65f2c48ea2a605bff2d07965f548f6474fd8efd95bf361a - languageName: node - linkType: hard - -"gauge@npm:^4.0.3": - version: 4.0.4 - resolution: "gauge@npm:4.0.4" - dependencies: - aproba: ^1.0.3 || ^2.0.0 - color-support: ^1.1.3 - console-control-strings: ^1.1.0 - has-unicode: ^2.0.1 - signal-exit: ^3.0.7 - string-width: ^4.2.3 - strip-ansi: ^6.0.1 - wide-align: ^1.1.5 - checksum: 788b6bfe52f1dd8e263cda800c26ac0ca2ff6de0b6eee2fe0d9e3abf15e149b651bd27bf5226be10e6e3edb5c4e5d5985a5a1a98137e7a892f75eff76467ad2d +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 2b0ff4ce708d99715ad14a6d1f894e2a83242e4a52ccfcefaee5e40050562e5f6dafc1adbb4ce2d4ab47279a45dc736ab91ea5042d843c3c092820dfe032efb1 languageName: node linkType: hard @@ -3047,14 +3043,15 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.0.2": - version: 1.2.0 - resolution: "get-intrinsic@npm:1.2.0" +"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.2": + version: 1.2.2 + resolution: "get-intrinsic@npm:1.2.2" dependencies: - function-bind: ^1.1.1 - has: ^1.0.3 + function-bind: ^1.1.2 + has-proto: ^1.0.1 has-symbols: ^1.0.3 - checksum: 78fc0487b783f5c58cf2dccafc3ae656ee8d2d8062a8831ce4a95e7057af4587a1d4882246c033aca0a7b4965276f4802b45cc300338d1b77a73d3e3e3f4877d + hasown: ^2.0.0 + checksum: 447ff0724df26829908dc033b62732359596fcf66027bc131ab37984afb33842d9cd458fd6cecadfe7eac22fd8a54b349799ed334cf2726025c921c7250e7417 languageName: node linkType: hard @@ -3091,6 +3088,21 @@ __metadata: languageName: node linkType: hard +"glob@npm:^10.2.2, glob@npm:^10.3.10": + version: 10.3.10 + resolution: "glob@npm:10.3.10" + dependencies: + foreground-child: ^3.1.0 + jackspeak: ^2.3.5 + minimatch: ^9.0.1 + minipass: ^5.0.0 || ^6.0.2 || ^7.0.0 + path-scurry: ^1.10.1 + bin: + glob: dist/esm/bin.mjs + checksum: 4f2fe2511e157b5a3f525a54092169a5f92405f24d2aed3142f4411df328baca13059f4182f1db1bf933e2c69c0bd89e57ae87edd8950cba8c7ccbe84f721cf3 + languageName: node + linkType: hard + "glob@npm:^7.0.0, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4": version: 7.2.3 resolution: "glob@npm:7.2.3" @@ -3105,19 +3117,6 @@ __metadata: languageName: node linkType: hard -"glob@npm:^8.0.1": - version: 8.1.0 - resolution: "glob@npm:8.1.0" - dependencies: - fs.realpath: ^1.0.0 - inflight: ^1.0.4 - inherits: 2 - minimatch: ^5.0.1 - once: ^1.3.0 - checksum: 92fbea3221a7d12075f26f0227abac435de868dd0736a17170663783296d0dd8d3d532a5672b4488a439bf5d7fb85cdd07c11185d6cd39184f0385cbdfb86a47 - languageName: node - linkType: hard - "globals@npm:^11.1.0": version: 11.12.0 resolution: "globals@npm:11.12.0" @@ -3139,17 +3138,19 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.2.4": - version: 4.2.11 - resolution: "graceful-fs@npm:4.2.11" - checksum: ac85f94da92d8eb6b7f5a8b20ce65e43d66761c55ce85ac96df6865308390da45a8d3f0296dd3a663de65d30ba497bd46c696cc1e248c72b13d6d567138a4fc7 +"gopd@npm:^1.0.1": + version: 1.0.1 + resolution: "gopd@npm:1.0.1" + dependencies: + get-intrinsic: ^1.1.3 + checksum: a5ccfb8806e0917a94e0b3de2af2ea4979c1da920bc381667c260e00e7cafdbe844e2cb9c5bcfef4e5412e8bf73bab837285bc35c7ba73aaaf0134d4583393a6 languageName: node linkType: hard -"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.2.6": - version: 4.2.10 - resolution: "graceful-fs@npm:4.2.10" - checksum: 3f109d70ae123951905d85032ebeae3c2a5a7a997430df00ea30df0e3a6c60cf6689b109654d6fdacd28810a053348c4d14642da1d075049e6be1ba5216218da +"graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: ac85f94da92d8eb6b7f5a8b20ce65e43d66761c55ce85ac96df6865308390da45a8d3f0296dd3a663de65d30ba497bd46c696cc1e248c72b13d6d567138a4fc7 languageName: node linkType: hard @@ -3183,26 +3184,35 @@ __metadata: languageName: node linkType: hard -"has-symbols@npm:^1.0.3": - version: 1.0.3 - resolution: "has-symbols@npm:1.0.3" - checksum: a054c40c631c0d5741a8285010a0777ea0c068f99ed43e5d6eb12972da223f8af553a455132fdb0801bdcfa0e0f443c0c03a68d8555aa529b3144b446c3f2410 +"has-property-descriptors@npm:^1.0.0": + version: 1.0.1 + resolution: "has-property-descriptors@npm:1.0.1" + dependencies: + get-intrinsic: ^1.2.2 + checksum: 2bcc6bf6ec6af375add4e4b4ef586e43674850a91ad4d46666d0b28ba8e1fd69e424c7677d24d60f69470ad0afaa2f3197f508b20b0bb7dd99a8ab77ffc4b7c4 languageName: node linkType: hard -"has-unicode@npm:^2.0.1": - version: 2.0.1 - resolution: "has-unicode@npm:2.0.1" - checksum: 1eab07a7436512db0be40a710b29b5dc21fa04880b7f63c9980b706683127e3c1b57cb80ea96d47991bdae2dfe479604f6a1ba410106ee1046a41d1bd0814400 +"has-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "has-proto@npm:1.0.1" + checksum: febc5b5b531de8022806ad7407935e2135f1cc9e64636c3916c6842bd7995994ca3b29871ecd7954bd35f9e2986c17b3b227880484d22259e2f8e6ce63fd383e languageName: node linkType: hard -"has@npm:^1.0.3": +"has-symbols@npm:^1.0.3": version: 1.0.3 - resolution: "has@npm:1.0.3" + resolution: "has-symbols@npm:1.0.3" + checksum: a054c40c631c0d5741a8285010a0777ea0c068f99ed43e5d6eb12972da223f8af553a455132fdb0801bdcfa0e0f443c0c03a68d8555aa529b3144b446c3f2410 + languageName: node + linkType: hard + +"hasown@npm:^2.0.0": + version: 2.0.0 + resolution: "hasown@npm:2.0.0" dependencies: - function-bind: ^1.1.1 - checksum: b9ad53d53be4af90ce5d1c38331e712522417d017d5ef1ebd0507e07c2fbad8686fffb8e12ddecd4c39ca9b9b47431afbb975b8abf7f3c3b82c98e9aad052792 + function-bind: ^1.1.2 + checksum: 6151c75ca12554565098641c98a40f4cc86b85b0fd5b6fe92360967e4605a4f9610f7757260b4e8098dd1c2ce7f4b095f2006fe72a570e3b6d2d28de0298c176 languageName: node linkType: hard @@ -3225,7 +3235,7 @@ __metadata: languageName: node linkType: hard -"http-cache-semantics@npm:^4.1.0": +"http-cache-semantics@npm:^4.1.1": version: 4.1.1 resolution: "http-cache-semantics@npm:4.1.1" checksum: 83ac0bc60b17a3a36f9953e7be55e5c8f41acc61b22583060e8dedc9dd5e3607c823a88d0926f9150e571f90946835c7fe150732801010845c72cd8bbff1a236 @@ -3271,14 +3281,13 @@ __metadata: languageName: node linkType: hard -"http-proxy-agent@npm:^5.0.0": - version: 5.0.0 - resolution: "http-proxy-agent@npm:5.0.0" +"http-proxy-agent@npm:^7.0.0": + version: 7.0.0 + resolution: "http-proxy-agent@npm:7.0.0" dependencies: - "@tootallnate/once": 2 - agent-base: 6 - debug: 4 - checksum: e2ee1ff1656a131953839b2a19cd1f3a52d97c25ba87bd2559af6ae87114abf60971e498021f9b73f9fd78aea8876d1fb0d4656aac8a03c6caa9fc175f22b786 + agent-base: ^7.1.0 + debug: ^4.3.4 + checksum: 48d4fac997917e15f45094852b63b62a46d0c8a4f0b9c6c23ca26d27b8df8d178bed88389e604745e748bd9a01f5023e25093722777f0593c3f052009ff438b6 languageName: node linkType: hard @@ -3311,13 +3320,13 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:^5.0.0": - version: 5.0.1 - resolution: "https-proxy-agent@npm:5.0.1" +"https-proxy-agent@npm:^7.0.1": + version: 7.0.2 + resolution: "https-proxy-agent@npm:7.0.2" dependencies: - agent-base: 6 + agent-base: ^7.0.2 debug: 4 - checksum: 571fccdf38184f05943e12d37d6ce38197becdd69e58d03f43637f7fa1269cf303a7d228aa27e5b27bbd3af8f09fd938e1c91dcfefff2df7ba77c20ed8dfc765 + checksum: 088969a0dd476ea7a0ed0a2cf1283013682b08f874c3bc6696c83fa061d2c157d29ef0ad3eb70a2046010bb7665573b2388d10fdcb3e410a66995e5248444292 languageName: node linkType: hard @@ -3328,15 +3337,6 @@ __metadata: languageName: node linkType: hard -"humanize-ms@npm:^1.2.1": - version: 1.2.1 - resolution: "humanize-ms@npm:1.2.1" - dependencies: - ms: ^2.0.0 - checksum: 9c7a74a2827f9294c009266c82031030eae811ca87b0da3dceb8d6071b9bde22c9f3daef0469c3c533cc67a97d8a167cd9fc0389350e5f415f61a79b171ded16 - languageName: node - linkType: hard - "iconv-lite@npm:0.4.24": version: 0.4.24 resolution: "iconv-lite@npm:0.4.24" @@ -3404,7 +3404,7 @@ __metadata: languageName: node linkType: hard -"infer-owner@npm:^1.0.3, infer-owner@npm:^1.0.4": +"infer-owner@npm:^1.0.3": version: 1.0.4 resolution: "infer-owner@npm:1.0.4" checksum: 181e732764e4a0611576466b4b87dac338972b839920b2a8cde43642e4ed6bd54dc1fb0b40874728f2a2df9a1b097b8ff83b56d5f8f8e3927f837fdcb47d8a89 @@ -3488,21 +3488,12 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.12.0": - version: 2.12.1 - resolution: "is-core-module@npm:2.12.1" +"is-core-module@npm:^2.13.0": + version: 2.13.1 + resolution: "is-core-module@npm:2.13.1" dependencies: - has: ^1.0.3 - checksum: f04ea30533b5e62764e7b2e049d3157dc0abd95ef44275b32489ea2081176ac9746ffb1cdb107445cf1ff0e0dfcad522726ca27c27ece64dadf3795428b8e468 - languageName: node - linkType: hard - -"is-core-module@npm:^2.9.0": - version: 2.11.0 - resolution: "is-core-module@npm:2.11.0" - dependencies: - has: ^1.0.3 - checksum: f96fd490c6b48eb4f6d10ba815c6ef13f410b0ba6f7eb8577af51697de523e5f2cd9de1c441b51d27251bf0e4aebc936545e33a5d26d5d51f28d25698d4a8bab + hasown: ^2.0.0 + checksum: 256559ee8a9488af90e4bad16f5583c6d59e92f0742e9e8bb4331e758521ee86b810b93bae44f390766ffbc518a0488b18d9dab7da9a5ff997d499efc9403f7c languageName: node linkType: hard @@ -3607,6 +3598,13 @@ __metadata: languageName: node linkType: hard +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 7fe1931ee4e88eb5aa524cd3ceb8c882537bc3a81b02e438b240e47012eef49c86904d0f0e593ea7c3a9996d18d0f1f3be8d3eaa92333977b0c3a9d353d5563e + languageName: node + linkType: hard + "isobject@npm:^3.0.1": version: 3.0.1 resolution: "isobject@npm:3.0.1" @@ -3614,6 +3612,19 @@ __metadata: languageName: node linkType: hard +"jackspeak@npm:^2.3.5": + version: 2.3.6 + resolution: "jackspeak@npm:2.3.6" + dependencies: + "@isaacs/cliui": ^8.0.2 + "@pkgjs/parseargs": ^0.11.0 + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 57d43ad11eadc98cdfe7496612f6bbb5255ea69fe51ea431162db302c2a11011642f50cfad57288bd0aea78384a0612b16e131944ad8ecd09d619041c8531b54 + languageName: node + linkType: hard + "jest-worker@npm:^27.4.5": version: 27.5.1 resolution: "jest-worker@npm:27.5.1" @@ -3625,13 +3636,6 @@ __metadata: languageName: node linkType: hard -"jquery@npm:~3.5.1": - version: 3.5.1 - resolution: "jquery@npm:3.5.1" - checksum: 813047b852511ca1ecfaa7b2568aba1d7270a92e5c74962b308792a401adf041869a3b2a6858b0b7a02f6684947fb93171e40cbb4460831977a937b40b0e15ce - languageName: node - linkType: hard - "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -3769,7 +3773,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:^4.17.13, lodash@npm:^4.17.20, lodash@npm:~4.17.20": +"lodash@npm:^4.17.13, lodash@npm:^4.17.20": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -3787,6 +3791,13 @@ __metadata: languageName: node linkType: hard +"lru-cache@npm:^10.0.1, lru-cache@npm:^9.1.1 || ^10.0.0": + version: 10.1.0 + resolution: "lru-cache@npm:10.1.0" + checksum: 58056d33e2500fbedce92f8c542e7c11b50d7d086578f14b7074d8c241422004af0718e08a6eaae8705cee09c77e39a61c1c79e9370ba689b7010c152e6a76ab + languageName: node + linkType: hard + "lru-cache@npm:^5.1.1": version: 5.1.1 resolution: "lru-cache@npm:5.1.1" @@ -3805,13 +3816,6 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^7.7.1": - version: 7.18.3 - resolution: "lru-cache@npm:7.18.3" - checksum: e550d772384709deea3f141af34b6d4fa392e2e418c1498c078de0ee63670f1f46f5eee746e8ef7e69e1c895af0d4224e62ee33e66a543a14763b0f2e74c1356 - languageName: node - linkType: hard - "make-dir@npm:^2.0.0": version: 2.1.0 resolution: "make-dir@npm:2.1.0" @@ -3822,27 +3826,22 @@ __metadata: languageName: node linkType: hard -"make-fetch-happen@npm:^10.0.3": - version: 10.2.1 - resolution: "make-fetch-happen@npm:10.2.1" +"make-fetch-happen@npm:^13.0.0": + version: 13.0.0 + resolution: "make-fetch-happen@npm:13.0.0" dependencies: - agentkeepalive: ^4.2.1 - cacache: ^16.1.0 - http-cache-semantics: ^4.1.0 - http-proxy-agent: ^5.0.0 - https-proxy-agent: ^5.0.0 + "@npmcli/agent": ^2.0.0 + cacache: ^18.0.0 + http-cache-semantics: ^4.1.1 is-lambda: ^1.0.1 - lru-cache: ^7.7.1 - minipass: ^3.1.6 - minipass-collect: ^1.0.2 - minipass-fetch: ^2.0.3 + minipass: ^7.0.2 + minipass-fetch: ^3.0.0 minipass-flush: ^1.0.5 minipass-pipeline: ^1.2.4 negotiator: ^0.6.3 promise-retry: ^2.0.1 - socks-proxy-agent: ^7.0.0 - ssri: ^9.0.0 - checksum: 2332eb9a8ec96f1ffeeea56ccefabcb4193693597b132cd110734d50f2928842e22b84cfa1508e921b8385cdfd06dda9ad68645fed62b50fff629a580f5fb72c + ssri: ^10.0.0 + checksum: 7c7a6d381ce919dd83af398b66459a10e2fe8f4504f340d1d090d3fa3d1b0c93750220e1d898114c64467223504bd258612ba83efbc16f31b075cd56de24b4af languageName: node linkType: hard @@ -3941,12 +3940,12 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^5.0.1": - version: 5.1.6 - resolution: "minimatch@npm:5.1.6" +"minimatch@npm:^9.0.1": + version: 9.0.3 + resolution: "minimatch@npm:9.0.3" dependencies: brace-expansion: ^2.0.1 - checksum: 7564208ef81d7065a370f788d337cd80a689e981042cb9a1d0e6580b6c6a8c9279eba80010516e258835a988363f99f54a6f711a315089b8b42694f5da9d0d77 + checksum: 253487976bf485b612f16bf57463520a14f512662e592e95c571afdab1442a6a6864b6c88f248ce6fc4ff0b6de04ac7aa6c8bb51e868e99d1d65eb0658a708b5 languageName: node linkType: hard @@ -3957,27 +3956,27 @@ __metadata: languageName: node linkType: hard -"minipass-collect@npm:^1.0.2": - version: 1.0.2 - resolution: "minipass-collect@npm:1.0.2" +"minipass-collect@npm:^2.0.1": + version: 2.0.1 + resolution: "minipass-collect@npm:2.0.1" dependencies: - minipass: ^3.0.0 - checksum: 14df761028f3e47293aee72888f2657695ec66bd7d09cae7ad558da30415fdc4752bbfee66287dcc6fd5e6a2fa3466d6c484dc1cbd986525d9393b9523d97f10 + minipass: ^7.0.3 + checksum: b251bceea62090f67a6cced7a446a36f4cd61ee2d5cea9aee7fff79ba8030e416327a1c5aa2908dc22629d06214b46d88fdab8c51ac76bacbf5703851b5ad342 languageName: node linkType: hard -"minipass-fetch@npm:^2.0.3": - version: 2.1.2 - resolution: "minipass-fetch@npm:2.1.2" +"minipass-fetch@npm:^3.0.0": + version: 3.0.4 + resolution: "minipass-fetch@npm:3.0.4" dependencies: encoding: ^0.1.13 - minipass: ^3.1.6 + minipass: ^7.0.3 minipass-sized: ^1.0.3 minizlib: ^2.1.2 dependenciesMeta: encoding: optional: true - checksum: 3f216be79164e915fc91210cea1850e488793c740534985da017a4cbc7a5ff50506956d0f73bb0cb60e4fe91be08b6b61ef35101706d3ef5da2c8709b5f08f91 + checksum: af7aad15d5c128ab1ebe52e043bdf7d62c3c6f0cecb9285b40d7b395e1375b45dcdfd40e63e93d26a0e8249c9efd5c325c65575aceee192883970ff8cb11364a languageName: node linkType: hard @@ -4008,7 +4007,7 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^3.0.0, minipass@npm:^3.1.1, minipass@npm:^3.1.6": +"minipass@npm:^3.0.0": version: 3.3.6 resolution: "minipass@npm:3.3.6" dependencies: @@ -4017,10 +4016,17 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^4.0.0": - version: 4.2.4 - resolution: "minipass@npm:4.2.4" - checksum: c664f2ae4401408d1e7a6e4f50aca45f87b1b0634bc9261136df5c378e313e77355765f73f59c4a5abcadcdf43d83fcd3eb14e4a7cdcce8e36508e2290345753 +"minipass@npm:^5.0.0": + version: 5.0.0 + resolution: "minipass@npm:5.0.0" + checksum: 425dab288738853fded43da3314a0b5c035844d6f3097a8e3b5b29b328da8f3c1af6fc70618b32c29ff906284cf6406b6841376f21caaadd0793c1d5a6a620ea + languageName: node + linkType: hard + +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3": + version: 7.0.4 + resolution: "minipass@npm:7.0.4" + checksum: 87585e258b9488caf2e7acea242fd7856bbe9a2c84a7807643513a338d66f368c7d518200ad7b70a508664d408aa000517647b2930c259a8b1f9f0984f344a21 languageName: node linkType: hard @@ -4063,7 +4069,7 @@ __metadata: languageName: node linkType: hard -"mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": +"mkdirp@npm:^1.0.3": version: 1.0.4 resolution: "mkdirp@npm:1.0.4" bin: @@ -4107,7 +4113,7 @@ __metadata: languageName: node linkType: hard -"ms@npm:2.1.3, ms@npm:^2.0.0": +"ms@npm:2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d @@ -4148,40 +4154,40 @@ __metadata: linkType: hard "node-gyp@npm:latest": - version: 9.3.1 - resolution: "node-gyp@npm:9.3.1" + version: 10.0.1 + resolution: "node-gyp@npm:10.0.1" dependencies: env-paths: ^2.2.0 - glob: ^7.1.4 + exponential-backoff: ^3.1.1 + glob: ^10.3.10 graceful-fs: ^4.2.6 - make-fetch-happen: ^10.0.3 - nopt: ^6.0.0 - npmlog: ^6.0.0 - rimraf: ^3.0.2 + make-fetch-happen: ^13.0.0 + nopt: ^7.0.0 + proc-log: ^3.0.0 semver: ^7.3.5 tar: ^6.1.2 - which: ^2.0.2 + which: ^4.0.0 bin: node-gyp: bin/node-gyp.js - checksum: b860e9976fa645ca0789c69e25387401b4396b93c8375489b5151a6c55cf2640a3b6183c212b38625ef7c508994930b72198338e3d09b9d7ade5acc4aaf51ea7 + checksum: 60a74e66d364903ce02049966303a57f898521d139860ac82744a5fdd9f7b7b3b61f75f284f3bfe6e6add3b8f1871ce305a1d41f775c7482de837b50c792223f languageName: node linkType: hard -"node-releases@npm:^2.0.12": - version: 2.0.13 - resolution: "node-releases@npm:2.0.13" - checksum: 17ec8f315dba62710cae71a8dad3cd0288ba943d2ece43504b3b1aa8625bf138637798ab470b1d9035b0545996f63000a8a926e0f6d35d0996424f8b6d36dda3 +"node-releases@npm:^2.0.13": + version: 2.0.14 + resolution: "node-releases@npm:2.0.14" + checksum: 59443a2f77acac854c42d321bf1b43dea0aef55cd544c6a686e9816a697300458d4e82239e2d794ea05f7bbbc8a94500332e2d3ac3f11f52e4b16cbe638b3c41 languageName: node linkType: hard -"nopt@npm:^6.0.0": - version: 6.0.0 - resolution: "nopt@npm:6.0.0" +"nopt@npm:^7.0.0": + version: 7.2.0 + resolution: "nopt@npm:7.2.0" dependencies: - abbrev: ^1.0.0 + abbrev: ^2.0.0 bin: nopt: bin/nopt.js - checksum: 82149371f8be0c4b9ec2f863cc6509a7fd0fa729929c009f3a58e4eb0c9e4cae9920e8f1f8eb46e7d032fec8fb01bede7f0f41a67eb3553b7b8e14fa53de1dac + checksum: a9c0f57fb8cb9cc82ae47192ca2b7ef00e199b9480eed202482c962d61b59a7fbe7541920b2a5839a97b42ee39e288c0aed770e38057a608d7f579389dfde410 languageName: node linkType: hard @@ -4201,22 +4207,10 @@ __metadata: languageName: node linkType: hard -"npmlog@npm:^6.0.0": - version: 6.0.2 - resolution: "npmlog@npm:6.0.2" - dependencies: - are-we-there-yet: ^3.0.0 - console-control-strings: ^1.1.0 - gauge: ^4.0.3 - set-blocking: ^2.0.0 - checksum: ae238cd264a1c3f22091cdd9e2b106f684297d3c184f1146984ecbe18aaa86343953f26b9520dedd1b1372bc0316905b736c1932d778dbeb1fcf5a1001390e2a - languageName: node - linkType: hard - "object-inspect@npm:^1.9.0": - version: 1.12.3 - resolution: "object-inspect@npm:1.12.3" - checksum: dabfd824d97a5f407e6d5d24810d888859f6be394d8b733a77442b277e0808860555176719c5905e765e3743a7cada6b8b0a3b85e5331c530fd418cc8ae991db + version: 1.13.1 + resolution: "object-inspect@npm:1.13.1" + checksum: 7d9fa9221de3311dcb5c7c307ee5dc011cdd31dc43624b7c184b3840514e118e05ef0002be5388304c416c0eb592feb46e983db12577fc47e47d5752fbbfb61f languageName: node linkType: hard @@ -4394,6 +4388,16 @@ __metadata: languageName: node linkType: hard +"path-scurry@npm:^1.10.1": + version: 1.10.1 + resolution: "path-scurry@npm:1.10.1" + dependencies: + lru-cache: ^9.1.1 || ^10.0.0 + minipass: ^5.0.0 || ^6.0.2 || ^7.0.0 + checksum: e2557cff3a8fb8bc07afdd6ab163a92587884f9969b05bbbaf6fe7379348bfb09af9ed292af12ed32398b15fb443e81692047b786d1eeb6d898a51eb17ed7d90 + languageName: node + linkType: hard + "path-to-regexp@npm:0.1.7": version: 0.1.7 resolution: "path-to-regexp@npm:0.1.7" @@ -4531,6 +4535,13 @@ __metadata: languageName: node linkType: hard +"proc-log@npm:^3.0.0": + version: 3.0.0 + resolution: "proc-log@npm:3.0.0" + checksum: 02b64e1b3919e63df06f836b98d3af002b5cd92655cab18b5746e37374bfb73e03b84fe305454614b34c25b485cc687a9eebdccf0242cda8fda2475dd2c97e02 + languageName: node + linkType: hard + "process-nextick-args@npm:~2.0.0": version: 2.0.1 resolution: "process-nextick-args@npm:2.0.1" @@ -4597,9 +4608,9 @@ __metadata: linkType: hard "punycode@npm:^2.1.0": - version: 2.3.0 - resolution: "punycode@npm:2.3.0" - checksum: 39f760e09a2a3bbfe8f5287cf733ecdad69d6af2fe6f97ca95f24b8921858b91e9ea3c9eeec6e08cede96181b3bb33f95c6ffd8c77e63986508aa2e8159fa200 + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: bb0a0ceedca4c3c57a9b981b90601579058903c62be23c5e8e843d2c2d4148a3ecf029d5133486fb0e1822b098ba8bba09e89d6b21742d02fa26bda6441a6fb2 languageName: node linkType: hard @@ -4655,7 +4666,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^3.0.6, readable-stream@npm:^3.6.0": +"readable-stream@npm:^3.0.6": version: 3.6.2 resolution: "readable-stream@npm:3.6.2" dependencies: @@ -4694,11 +4705,11 @@ __metadata: linkType: hard "regenerate-unicode-properties@npm:^10.1.0": - version: 10.1.0 - resolution: "regenerate-unicode-properties@npm:10.1.0" + version: 10.1.1 + resolution: "regenerate-unicode-properties@npm:10.1.1" dependencies: regenerate: ^1.4.2 - checksum: b1a8929588433ab8b9dc1a34cf3665b3b472f79f2af6ceae00d905fc496b332b9af09c6718fb28c730918f19a00dc1d7310adbaa9b72a2ec7ad2f435da8ace17 + checksum: b80958ef40f125275824c2c47d5081dfaefebd80bff26c76761e9236767c748a4a95a69c053fe29d2df881177f2ca85df4a71fe70a82360388b31159ef19adcf languageName: node linkType: hard @@ -4716,19 +4727,19 @@ __metadata: languageName: node linkType: hard -"regenerator-runtime@npm:^0.13.11": - version: 0.13.11 - resolution: "regenerator-runtime@npm:0.13.11" - checksum: 27481628d22a1c4e3ff551096a683b424242a216fee44685467307f14d58020af1e19660bf2e26064de946bad7eff28950eae9f8209d55723e2d9351e632bbb4 +"regenerator-runtime@npm:^0.14.0": + version: 0.14.0 + resolution: "regenerator-runtime@npm:0.14.0" + checksum: 1c977ad82a82a4412e4f639d65d22be376d3ebdd30da2c003eeafdaaacd03fc00c2320f18120007ee700900979284fc78a9f00da7fb593f6e6eeebc673fba9a3 languageName: node linkType: hard -"regenerator-transform@npm:^0.15.1": - version: 0.15.1 - resolution: "regenerator-transform@npm:0.15.1" +"regenerator-transform@npm:^0.15.2": + version: 0.15.2 + resolution: "regenerator-transform@npm:0.15.2" dependencies: "@babel/runtime": ^7.8.4 - checksum: 2d15bdeadbbfb1d12c93f5775493d85874dbe1d405bec323da5c61ec6e701bc9eea36167483e1a5e752de9b2df59ab9a2dfff6bf3784f2b28af2279a673d29a4 + checksum: 20b6f9377d65954980fe044cfdd160de98df415b4bff38fbade67b3337efaf078308c4fed943067cd759827cc8cfeca9cb28ccda1f08333b85d6a2acbd022c27 languageName: node linkType: hard @@ -4787,55 +4798,29 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.1.6, resolve@npm:^1.3.2": - version: 1.22.3 - resolution: "resolve@npm:1.22.3" - dependencies: - is-core-module: ^2.12.0 - path-parse: ^1.0.7 - supports-preserve-symlinks-flag: ^1.0.0 - bin: - resolve: bin/resolve - checksum: fb834b81348428cb545ff1b828a72ea28feb5a97c026a1cf40aa1008352c72811ff4d4e71f2035273dc536dcfcae20c13604ba6283c612d70fa0b6e44519c374 - languageName: node - linkType: hard - -"resolve@npm:^1.9.0": - version: 1.22.1 - resolution: "resolve@npm:1.22.1" - dependencies: - is-core-module: ^2.9.0 - path-parse: ^1.0.7 - supports-preserve-symlinks-flag: ^1.0.0 - bin: - resolve: bin/resolve - checksum: 07af5fc1e81aa1d866cbc9e9460fbb67318a10fa3c4deadc35c3ad8a898ee9a71a86a65e4755ac3195e0ea0cfbe201eb323ebe655ce90526fd61917313a34e4e - languageName: node - linkType: hard - -"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.3.2#~builtin": - version: 1.22.3 - resolution: "resolve@patch:resolve@npm%3A1.22.3#~builtin::version=1.22.3&hash=c3c19d" +"resolve@npm:^1.1.6, resolve@npm:^1.3.2, resolve@npm:^1.9.0": + version: 1.22.8 + resolution: "resolve@npm:1.22.8" dependencies: - is-core-module: ^2.12.0 + is-core-module: ^2.13.0 path-parse: ^1.0.7 supports-preserve-symlinks-flag: ^1.0.0 bin: resolve: bin/resolve - checksum: ad59734723b596d0891321c951592ed9015a77ce84907f89c9d9307dd0c06e11a67906a3e628c4cae143d3e44898603478af0ddeb2bba3f229a9373efe342665 + checksum: f8a26958aa572c9b064562750b52131a37c29d072478ea32e129063e2da7f83e31f7f11e7087a18225a8561cfe8d2f0df9dbea7c9d331a897571c0a2527dbb4c languageName: node linkType: hard -"resolve@patch:resolve@^1.9.0#~builtin": - version: 1.22.1 - resolution: "resolve@patch:resolve@npm%3A1.22.1#~builtin::version=1.22.1&hash=c3c19d" +"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.3.2#~builtin, resolve@patch:resolve@^1.9.0#~builtin": + version: 1.22.8 + resolution: "resolve@patch:resolve@npm%3A1.22.8#~builtin::version=1.22.8&hash=c3c19d" dependencies: - is-core-module: ^2.9.0 + is-core-module: ^2.13.0 path-parse: ^1.0.7 supports-preserve-symlinks-flag: ^1.0.0 bin: resolve: bin/resolve - checksum: 5656f4d0bedcf8eb52685c1abdf8fbe73a1603bb1160a24d716e27a57f6cecbe2432ff9c89c2bd57542c3a7b9d14b1882b73bfe2e9d7849c9a4c0b8b39f02b8b + checksum: 5479b7d431cacd5185f8db64bfcb7286ae5e31eb299f4c4f404ad8aa6098b77599563ac4257cb2c37a42f59dfc06a1bec2bcf283bb448f319e37f0feb9a09847 languageName: node linkType: hard @@ -4994,11 +4979,12 @@ __metadata: linkType: hard "selfsigned@npm:^2.0.1": - version: 2.1.1 - resolution: "selfsigned@npm:2.1.1" + version: 2.4.1 + resolution: "selfsigned@npm:2.4.1" dependencies: + "@types/node-forge": ^1.3.0 node-forge: ^1 - checksum: aa9ce2150a54838978d5c0aee54d7ebe77649a32e4e690eb91775f71fdff773874a4fbafd0ac73d8ec3b702ff8a395c604df4f8e8868528f36fd6c15076fb43a + checksum: 38b91c56f1d7949c0b77f9bbe4545b19518475cae15e7d7f0043f87b1626710b011ce89879a88969651f650a19d213bb15b7d5b4c2877df9eeeff7ba8f8b9bfa languageName: node linkType: hard @@ -5021,13 +5007,13 @@ __metadata: linkType: hard "semver@npm:^7.3.5": - version: 7.3.8 - resolution: "semver@npm:7.3.8" + version: 7.5.4 + resolution: "semver@npm:7.5.4" dependencies: lru-cache: ^6.0.0 bin: semver: bin/semver.js - checksum: ba9c7cbbf2b7884696523450a61fee1a09930d888b7a8d7579025ad93d459b2d1949ee5bbfeb188b2be5f4ac163544c5e98491ad6152df34154feebc2cc337c1 + checksum: 12d8ad952fa353b0995bf180cdac205a4068b759a140e5d3c608317098b3575ac2f1e09182206bf2eb26120e1c0ed8fb92c48c592f6099680de56bb071423ca3 languageName: node linkType: hard @@ -5095,10 +5081,15 @@ __metadata: languageName: node linkType: hard -"set-blocking@npm:^2.0.0": - version: 2.0.0 - resolution: "set-blocking@npm:2.0.0" - checksum: 6e65a05f7cf7ebdf8b7c75b101e18c0b7e3dff4940d480efed8aad3a36a4005140b660fa1d804cb8bce911cac290441dc728084a30504d3516ac2ff7ad607b02 +"set-function-length@npm:^1.1.1": + version: 1.1.1 + resolution: "set-function-length@npm:1.1.1" + dependencies: + define-data-property: ^1.1.1 + get-intrinsic: ^1.2.1 + gopd: ^1.0.1 + has-property-descriptors: ^1.0.0 + checksum: c131d7569cd7e110cafdfbfbb0557249b538477624dfac4fc18c376d879672fa52563b74029ca01f8f4583a8acb35bb1e873d573a24edb80d978a7ee607c6e06 languageName: node linkType: hard @@ -5165,13 +5156,20 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": +"signal-exit@npm:^3.0.3": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" checksum: a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 languageName: node linkType: hard +"signal-exit@npm:^4.0.1": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 64c757b498cb8629ffa5f75485340594d2f8189e9b08700e69199069c8e3070fb3e255f7ab873c05dc0b3cec412aea7402e10a5990cb6a050bd33ba062a6c549 + languageName: node + linkType: hard + "sirv@npm:^1.0.7": version: 1.0.19 resolution: "sirv@npm:1.0.19" @@ -5208,18 +5206,18 @@ __metadata: languageName: node linkType: hard -"socks-proxy-agent@npm:^7.0.0": - version: 7.0.0 - resolution: "socks-proxy-agent@npm:7.0.0" +"socks-proxy-agent@npm:^8.0.1": + version: 8.0.2 + resolution: "socks-proxy-agent@npm:8.0.2" dependencies: - agent-base: ^6.0.2 - debug: ^4.3.3 - socks: ^2.6.2 - checksum: 720554370154cbc979e2e9ce6a6ec6ced205d02757d8f5d93fe95adae454fc187a5cbfc6b022afab850a5ce9b4c7d73e0f98e381879cf45f66317a4895953846 + agent-base: ^7.0.2 + debug: ^4.3.4 + socks: ^2.7.1 + checksum: 4fb165df08f1f380881dcd887b3cdfdc1aba3797c76c1e9f51d29048be6e494c5b06d68e7aea2e23df4572428f27a3ec22b3d7c75c570c5346507433899a4b6d languageName: node linkType: hard -"socks@npm:^2.6.2": +"socks@npm:^2.7.1": version: 2.7.1 resolution: "socks@npm:2.7.1" dependencies: @@ -5280,6 +5278,15 @@ __metadata: languageName: node linkType: hard +"ssri@npm:^10.0.0": + version: 10.0.5 + resolution: "ssri@npm:10.0.5" + dependencies: + minipass: ^7.0.3 + checksum: 0a31b65f21872dea1ed3f7c200d7bc1c1b91c15e419deca14f282508ba917cbb342c08a6814c7f68ca4ca4116dd1a85da2bbf39227480e50125a1ceffeecb750 + languageName: node + linkType: hard + "ssri@npm:^6.0.1": version: 6.0.2 resolution: "ssri@npm:6.0.2" @@ -5289,15 +5296,6 @@ __metadata: languageName: node linkType: hard -"ssri@npm:^9.0.0": - version: 9.0.1 - resolution: "ssri@npm:9.0.1" - dependencies: - minipass: ^3.1.1 - checksum: fb58f5e46b6923ae67b87ad5ef1c5ab6d427a17db0bead84570c2df3cd50b4ceb880ebdba2d60726588272890bae842a744e1ecce5bd2a2a582fccd5068309eb - languageName: node - linkType: hard - "statuses@npm:2.0.1": version: 2.0.1 resolution: "statuses@npm:2.0.1" @@ -5329,7 +5327,7 @@ __metadata: languageName: node linkType: hard -"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.2.3": +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0": version: 4.2.3 resolution: "string-width@npm:4.2.3" dependencies: @@ -5340,6 +5338,17 @@ __metadata: languageName: node linkType: hard +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" + dependencies: + eastasianwidth: ^0.2.0 + emoji-regex: ^9.2.2 + strip-ansi: ^7.0.1 + checksum: 7369deaa29f21dda9a438686154b62c2c5f661f8dda60449088f9f980196f7908fc39fdd1803e3e01541970287cf5deae336798337e9319a7055af89dafa7193 + languageName: node + linkType: hard + "string_decoder@npm:^1.1.1": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" @@ -5358,7 +5367,7 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:^6.0.1": +"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" dependencies: @@ -5367,6 +5376,15 @@ __metadata: languageName: node linkType: hard +"strip-ansi@npm:^7.0.1": + version: 7.1.0 + resolution: "strip-ansi@npm:7.1.0" + dependencies: + ansi-regex: ^6.0.1 + checksum: 859c73fcf27869c22a4e4d8c6acfe690064659e84bef9458aa6d13719d09ca88dcfd40cbf31fd0be63518ea1a643fe070b4827d353e09533a5b0b9fd4553d64d + languageName: node + linkType: hard + "strip-final-newline@npm:^2.0.0": version: 2.0.0 resolution: "strip-final-newline@npm:2.0.0" @@ -5428,16 +5446,16 @@ __metadata: linkType: hard "tar@npm:^6.1.11, tar@npm:^6.1.2": - version: 6.1.13 - resolution: "tar@npm:6.1.13" + version: 6.2.0 + resolution: "tar@npm:6.2.0" dependencies: chownr: ^2.0.0 fs-minipass: ^2.0.0 - minipass: ^4.0.0 + minipass: ^5.0.0 minizlib: ^2.1.1 mkdirp: ^1.0.3 yallist: ^4.0.0 - checksum: 8a278bed123aa9f53549b256a36b719e317c8b96fe86a63406f3c62887f78267cea9b22dc6f7007009738509800d4a4dccc444abd71d762287c90f35b002eb1c + checksum: db4d9fe74a2082c3a5016630092c54c8375ff3b280186938cfd104f2e089c4fd9bad58688ef6be9cf186a889671bf355c7cda38f09bbf60604b281715ca57f5c languageName: node linkType: hard @@ -5464,8 +5482,8 @@ __metadata: linkType: hard "terser@npm:^5.16.8": - version: 5.19.1 - resolution: "terser@npm:5.19.1" + version: 5.24.0 + resolution: "terser@npm:5.24.0" dependencies: "@jridgewell/source-map": ^0.3.3 acorn: ^8.8.2 @@ -5473,7 +5491,7 @@ __metadata: source-map-support: ~0.5.20 bin: terser: bin/terser - checksum: 18657b2a282238a1ca9c825efa966f4dd043a33196b2f8a7a2cba406a2006e14f55295b9d9cf6380a18599b697e9579e4092c99b9f40c7871ceec01cc98e3606 + checksum: d88f774b6fa711a234fcecefd7657f99189c367e17dbe95a51c2776d426ad0e4d98d1ffe6edfdf299877c7602e495bdd711d21b2caaec188410795e5447d0f6c languageName: node linkType: hard @@ -5541,6 +5559,13 @@ __metadata: languageName: node linkType: hard +"undici-types@npm:~5.26.4": + version: 5.26.5 + resolution: "undici-types@npm:5.26.5" + checksum: 3192ef6f3fd5df652f2dc1cd782b49d6ff14dc98e5dced492aa8a8c65425227da5da6aafe22523c67f035a272c599bb89cfe803c1db6311e44bed3042fc25487 + languageName: node + linkType: hard + "unicode-canonical-property-names-ecmascript@npm:^2.0.0": version: 2.0.0 resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.0" @@ -5581,12 +5606,12 @@ __metadata: languageName: node linkType: hard -"unique-filename@npm:^2.0.0": - version: 2.0.1 - resolution: "unique-filename@npm:2.0.1" +"unique-filename@npm:^3.0.0": + version: 3.0.0 + resolution: "unique-filename@npm:3.0.0" dependencies: - unique-slug: ^3.0.0 - checksum: 807acf3381aff319086b64dc7125a9a37c09c44af7620bd4f7f3247fcd5565660ac12d8b80534dcbfd067e6fe88a67e621386dd796a8af828d1337a8420a255f + unique-slug: ^4.0.0 + checksum: 8e2f59b356cb2e54aab14ff98a51ac6c45781d15ceaab6d4f1c2228b780193dc70fae4463ce9e1df4479cb9d3304d7c2043a3fb905bdeca71cc7e8ce27e063df languageName: node linkType: hard @@ -5599,12 +5624,12 @@ __metadata: languageName: node linkType: hard -"unique-slug@npm:^3.0.0": - version: 3.0.0 - resolution: "unique-slug@npm:3.0.0" +"unique-slug@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-slug@npm:4.0.0" dependencies: imurmurhash: ^0.1.4 - checksum: 49f8d915ba7f0101801b922062ee46b7953256c93ceca74303bd8e6413ae10aa7e8216556b54dc5382895e8221d04f1efaf75f945c2e4a515b4139f77aa6640c + checksum: 0884b58365af59f89739e6f71e3feacb5b1b41f2df2d842d0757933620e6de08eff347d27e9d499b43c40476cbaf7988638d3acb2ffbcb9d35fd035591adfd15 languageName: node linkType: hard @@ -5615,9 +5640,9 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.0.11": - version: 1.0.11 - resolution: "update-browserslist-db@npm:1.0.11" +"update-browserslist-db@npm:^1.0.13": + version: 1.0.13 + resolution: "update-browserslist-db@npm:1.0.13" dependencies: escalade: ^3.1.1 picocolors: ^1.0.0 @@ -5625,7 +5650,7 @@ __metadata: browserslist: ">= 4.21.0" bin: update-browserslist-db: cli.js - checksum: b98327518f9a345c7cad5437afae4d2ae7d865f9779554baf2a200fdf4bac4969076b679b1115434bd6557376bdd37ca7583d0f9b8f8e302d7d4cc1e91b5f231 + checksum: 1e47d80182ab6e4ad35396ad8b61008ae2a1330221175d0abd37689658bdb61af9b705bfc41057fd16682474d79944fb2d86767c5ed5ae34b6276b9bed353322 languageName: node linkType: hard @@ -5818,12 +5843,13 @@ __metadata: linkType: hard "webpack-merge@npm:^5.7.3": - version: 5.9.0 - resolution: "webpack-merge@npm:5.9.0" + version: 5.10.0 + resolution: "webpack-merge@npm:5.10.0" dependencies: clone-deep: ^4.0.1 + flat: ^5.0.2 wildcard: ^2.0.0 - checksum: 64fe2c23aacc5f19684452a0e84ec02c46b990423aee6fcc5c18d7d471155bd14e9a6adb02bd3656eb3e0ac2532c8e97d69412ad14c97eeafe32fa6d10050872 + checksum: 1fe8bf5309add7298e1ac72fb3f2090e1dfa80c48c7e79fa48aa60b5961332c7d0d61efa8851acb805e6b91a4584537a347bc106e05e9aec87fa4f7088c62f2f languageName: node linkType: hard @@ -5889,7 +5915,7 @@ __metadata: languageName: node linkType: hard -"which@npm:^2.0.1, which@npm:^2.0.2": +"which@npm:^2.0.1": version: 2.0.2 resolution: "which@npm:2.0.2" dependencies: @@ -5900,12 +5926,14 @@ __metadata: languageName: node linkType: hard -"wide-align@npm:^1.1.5": - version: 1.1.5 - resolution: "wide-align@npm:1.1.5" +"which@npm:^4.0.0": + version: 4.0.0 + resolution: "which@npm:4.0.0" dependencies: - string-width: ^1.0.2 || 2 || 3 || 4 - checksum: d5fc37cd561f9daee3c80e03b92ed3e84d80dde3365a8767263d03dacfc8fa06b065ffe1df00d8c2a09f731482fcacae745abfbb478d4af36d0a891fad4834d3 + isexe: ^3.1.1 + bin: + node-which: bin/which.js + checksum: f17e84c042592c21e23c8195108cff18c64050b9efb8459589116999ea9da6dd1509e6a1bac3aeebefd137be00fabbb61b5c2bc0aa0f8526f32b58ee2f545651 languageName: node linkType: hard @@ -5916,6 +5944,28 @@ __metadata: languageName: node linkType: hard +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: ^4.0.0 + string-width: ^4.1.0 + strip-ansi: ^6.0.0 + checksum: a790b846fd4505de962ba728a21aaeda189b8ee1c7568ca5e817d85930e06ef8d1689d49dbf0e881e8ef84436af3a88bc49115c2e2788d841ff1b8b5b51a608b + languageName: node + linkType: hard + +"wrap-ansi@npm:^8.1.0": + version: 8.1.0 + resolution: "wrap-ansi@npm:8.1.0" + dependencies: + ansi-styles: ^6.1.0 + string-width: ^5.0.1 + strip-ansi: ^7.0.1 + checksum: 371733296dc2d616900ce15a0049dca0ef67597d6394c57347ba334393599e800bab03c41d4d45221b6bc967b8c453ec3ae4749eff3894202d16800fdfe0e238 + languageName: node + linkType: hard + "wrappy@npm:1": version: 1.0.2 resolution: "wrappy@npm:1.0.2" @@ -5939,8 +5989,8 @@ __metadata: linkType: hard "ws@npm:^8.4.2": - version: 8.13.0 - resolution: "ws@npm:8.13.0" + version: 8.14.2 + resolution: "ws@npm:8.14.2" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ">=5.0.2" @@ -5949,7 +5999,7 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: 53e991bbf928faf5dc6efac9b8eb9ab6497c69feeb94f963d648b7a3530a720b19ec2e0ec037344257e05a4f35bd9ad04d9de6f289615ffb133282031b18c61c + checksum: 3ca0dad26e8cc6515ff392b622a1467430814c463b3368b0258e33696b1d4bed7510bc7030f7b72838b9fdeb8dbd8839cbf808367d6aae2e1d668ce741d4308b languageName: node linkType: hard diff --git a/packages/joint-core/demo/embedding/front-and-back.html b/packages/joint-core/demo/embedding/front-and-back.html index 41be41af27..ba3fd20086 100644 --- a/packages/joint-core/demo/embedding/front-and-back.html +++ b/packages/joint-core/demo/embedding/front-and-back.html @@ -52,10 +52,6 @@

- - - - diff --git a/packages/joint-core/demo/embedding/nested-clone.html b/packages/joint-core/demo/embedding/nested-clone.html index bff1da94f9..1a34a73b06 100644 --- a/packages/joint-core/demo/embedding/nested-clone.html +++ b/packages/joint-core/demo/embedding/nested-clone.html @@ -17,10 +17,6 @@
- - - - diff --git a/packages/joint-core/demo/embedding/nested-clone.js b/packages/joint-core/demo/embedding/nested-clone.js index 0ff5e8adaa..42f5462a45 100644 --- a/packages/joint-core/demo/embedding/nested-clone.js +++ b/packages/joint-core/demo/embedding/nested-clone.js @@ -1,8 +1,12 @@ -var $info = $('
').css({ position: 'fixed', top: 50, right: 100 }).appendTo(document.body);
+var infoEl = document.createElement('pre');
+infoEl.style.position = 'fixed';
+infoEl.style.top = '50px';
+infoEl.style.right = '100px';
+document.body.appendChild(infoEl);
 resetInfo();
 
 function resetInfo() {
-    $info.text('Hover over cells to see\nhow cloning and graph search works\non nested graphs.');
+    infoEl.textContent = 'Hover over cells to see\nhow cloning and graph search works\non nested graphs.';
 }
 
 function me(id, x, y, w, h, fill) {
@@ -86,7 +90,7 @@ paper.on('cell:mouseenter', function(cellView) {
     i[keyGetConnectedLinks] = joint.util.toArray(graph.getConnectedLinks(cell, { deep: true })).map(function(c) {
         return c.get('name');
     }).join(',');
-    $info.text(JSON.stringify(i, '\t', 4));
+    infoEl.textContent = JSON.stringify(i, '\t', 4);
     console.log(i);
 });
 
diff --git a/packages/joint-core/demo/embedding/nested.html b/packages/joint-core/demo/embedding/nested.html
index 565c43b07c..ac1c4eaa1d 100644
--- a/packages/joint-core/demo/embedding/nested.html
+++ b/packages/joint-core/demo/embedding/nested.html
@@ -19,10 +19,6 @@
 
         
- - - - diff --git a/packages/joint-core/demo/embedding/nested2.html b/packages/joint-core/demo/embedding/nested2.html index 295a48baa5..93e9ace146 100644 --- a/packages/joint-core/demo/embedding/nested2.html +++ b/packages/joint-core/demo/embedding/nested2.html @@ -21,10 +21,6 @@

Drag Parent before and after embedding links into Parent using above button

- - - - diff --git a/packages/joint-core/demo/embedding/nested2.js b/packages/joint-core/demo/embedding/nested2.js index 05667befda..9b4397e223 100644 --- a/packages/joint-core/demo/embedding/nested2.js +++ b/packages/joint-core/demo/embedding/nested2.js @@ -36,16 +36,18 @@ parent.embed(child); parent.embed(child2); graph.addCells([parent, child, child2, link, link2]); -$('#button').click(function() { - switch ($('#button').text().split(' ')[0]) { +const buttonEl = document.getElementById('button'); +buttonEl.addEventListener('click', function(event) { + switch (buttonEl.textContent.split(' ')[0]) { case 'embed': parent.embed(link); parent.embed(link2); - $('#button').text('unembed links'); + buttonEl.textContent = 'unembed links'; break; case 'unembed': parent.unembed(link); parent.unembed(link2); - $('#button').text('embed links'); + buttonEl.textContent = 'embed links'; } + }); diff --git a/packages/joint-core/demo/erd/index.html b/packages/joint-core/demo/erd/index.html index febf5c7f28..abf6dcd4ca 100644 --- a/packages/joint-core/demo/erd/index.html +++ b/packages/joint-core/demo/erd/index.html @@ -13,9 +13,6 @@
- - - diff --git a/packages/joint-core/demo/expand/index.html b/packages/joint-core/demo/expand/index.html index 70cfec6fec..769c1b57f9 100644 --- a/packages/joint-core/demo/expand/index.html +++ b/packages/joint-core/demo/expand/index.html @@ -29,10 +29,6 @@
- - - - diff --git a/packages/joint-core/demo/expand/index.js b/packages/joint-core/demo/expand/index.js index a3c94475f4..2f82c5d3c2 100644 --- a/packages/joint-core/demo/expand/index.js +++ b/packages/joint-core/demo/expand/index.js @@ -287,12 +287,13 @@ paper.on('element:magnet:pointerclick', function(elementView, evt, magnet) { } }); -$('
- - diff --git a/packages/joint-core/demo/performance/conveyor.html b/packages/joint-core/demo/performance/conveyor.html index d91144fcf4..75278bb267 100644 --- a/packages/joint-core/demo/performance/conveyor.html +++ b/packages/joint-core/demo/performance/conveyor.html @@ -23,8 +23,6 @@
- - diff --git a/packages/joint-core/demo/performance/shapes.html b/packages/joint-core/demo/performance/shapes.html index cb2d2e108a..4a7e6a0030 100644 --- a/packages/joint-core/demo/performance/shapes.html +++ b/packages/joint-core/demo/performance/shapes.html @@ -10,8 +10,6 @@
- - diff --git a/packages/joint-core/demo/petri-nets/index.html b/packages/joint-core/demo/petri-nets/index.html index 470eef17fa..bfba4cbcf0 100644 --- a/packages/joint-core/demo/petri-nets/index.html +++ b/packages/joint-core/demo/petri-nets/index.html @@ -14,9 +14,6 @@
- - - diff --git a/packages/joint-core/demo/ports/dynamic.html b/packages/joint-core/demo/ports/dynamic.html index ae7419d142..be56560e23 100644 --- a/packages/joint-core/demo/ports/dynamic.html +++ b/packages/joint-core/demo/ports/dynamic.html @@ -19,10 +19,6 @@
- - - - diff --git a/packages/joint-core/demo/ports/port-layouts-comp.js b/packages/joint-core/demo/ports/port-layouts-comp.js index f8c394952b..d30f0becd9 100644 --- a/packages/joint-core/demo/ports/port-layouts-comp.js +++ b/packages/joint-core/demo/ports/port-layouts-comp.js @@ -67,28 +67,57 @@ paper6.on('element:pointerclick', function(cellView) { cellView.model.prop('ports/groups/a/position/args/compensateRotation', !current); }); -$('').text('Click on Element to toggle port rotation compensation').appendTo('body'); -$('
').appendTo('body'); +var b1 = document.createElement('b'); +b1.textContent = 'Click on Element to toggle port rotation compensation'; +document.body.appendChild(b1); -$(' @@ -27,9 +27,6 @@
- - - diff --git a/packages/joint-core/demo/routing/src/routing.js b/packages/joint-core/demo/routing/src/routing.js index 67ff5463a5..9473e9a3d1 100644 --- a/packages/joint-core/demo/routing/src/routing.js +++ b/packages/joint-core/demo/routing/src/routing.js @@ -93,10 +93,10 @@ paper.on('link:mouseleave', function(linkView) { linkView.removeTools(); }); -$('.router-switch').on('click', function(evt) { - - var router = $(evt.target).data('router'); - var connector = $(evt.target).data('connector'); +document.getElementById('router-switches').addEventListener('click', function(evt) { + if (!evt.target.matches('button')) return; + var router = evt.target.dataset.router; + var connector = evt.target.dataset.connector; if (router) { link.set('router', { name: router }); @@ -105,4 +105,4 @@ $('.router-switch').on('click', function(evt) { } link.set('connector', { name: connector }); -}); +}, false); diff --git a/packages/joint-core/demo/sequence/index.html b/packages/joint-core/demo/sequence/index.html index 23eff7a512..1ae01ab0bf 100644 --- a/packages/joint-core/demo/sequence/index.html +++ b/packages/joint-core/demo/sequence/index.html @@ -37,12 +37,6 @@
- - - - - - diff --git a/packages/joint-core/demo/shapes/3d.html b/packages/joint-core/demo/shapes/3d.html index cbcc8a1c9e..1d5e5e0f88 100644 --- a/packages/joint-core/demo/shapes/3d.html +++ b/packages/joint-core/demo/shapes/3d.html @@ -18,10 +18,6 @@
- - - - diff --git a/packages/joint-core/demo/shapes/fills.html b/packages/joint-core/demo/shapes/fills.html index 0f28c97292..6a34ba3557 100644 --- a/packages/joint-core/demo/shapes/fills.html +++ b/packages/joint-core/demo/shapes/fills.html @@ -15,9 +15,6 @@
- - - diff --git a/packages/joint-core/demo/shapes/filters.html b/packages/joint-core/demo/shapes/filters.html index 8bc5831d4d..7ff9fd83a9 100644 --- a/packages/joint-core/demo/shapes/filters.html +++ b/packages/joint-core/demo/shapes/filters.html @@ -17,10 +17,6 @@
- - - - diff --git a/packages/joint-core/demo/shapes/foreign-object.html b/packages/joint-core/demo/shapes/foreign-object.html index 4de3238697..81917baf30 100644 --- a/packages/joint-core/demo/shapes/foreign-object.html +++ b/packages/joint-core/demo/shapes/foreign-object.html @@ -29,9 +29,6 @@
- - - diff --git a/packages/joint-core/demo/shapes/hyperlinks.html b/packages/joint-core/demo/shapes/hyperlinks.html index 71303bc86e..5925e38ef1 100644 --- a/packages/joint-core/demo/shapes/hyperlinks.html +++ b/packages/joint-core/demo/shapes/hyperlinks.html @@ -18,10 +18,6 @@
- - - - diff --git a/packages/joint-core/demo/shapes/iphone.html b/packages/joint-core/demo/shapes/iphone.html index 73d8debcac..17a6d49edc 100644 --- a/packages/joint-core/demo/shapes/iphone.html +++ b/packages/joint-core/demo/shapes/iphone.html @@ -19,10 +19,6 @@
- - - - diff --git a/packages/joint-core/demo/shapes/sketched.html b/packages/joint-core/demo/shapes/sketched.html index c5076dbc69..de2b3c7101 100644 --- a/packages/joint-core/demo/shapes/sketched.html +++ b/packages/joint-core/demo/shapes/sketched.html @@ -19,10 +19,6 @@
- - - - diff --git a/packages/joint-core/demo/shapes/solar.html b/packages/joint-core/demo/shapes/solar.html index 266750b770..2e53df211a 100644 --- a/packages/joint-core/demo/shapes/solar.html +++ b/packages/joint-core/demo/shapes/solar.html @@ -22,10 +22,6 @@
- - - - diff --git a/packages/joint-core/demo/shapes/src/table.js b/packages/joint-core/demo/shapes/src/table.js index ac62f2fb25..0d8b7bbed9 100644 --- a/packages/joint-core/demo/shapes/src/table.js +++ b/packages/joint-core/demo/shapes/src/table.js @@ -1,7 +1,11 @@ var graph = new joint.dia.Graph; +var div = document.createElement('div'); +div.style.border = '1px solid black'; +document.body.appendChild(div); + new joint.dia.Paper({ - el: $('
').prependTo(document.body).css({ border: '1px solid gray' }), + el: div, width: 1200, height: 550, gridSize: 40, @@ -230,8 +234,8 @@ joint.shapes.basic.TableView = joint.dia.ElementView.extend({ this._elements = []; var info = this.model.prop('table/metadata'); - var tableEl = this.findBySelector(info.element, this.el); - this.tableVel = tableEl ? V(tableEl[0]) : this.vel; + var tableEl = this.findNode(info.element); + this.tableVel = tableEl ? V(tableEl) : this.vel; this._renderFills(); this._renderBorders(); diff --git a/packages/joint-core/demo/shapes/standard.html b/packages/joint-core/demo/shapes/standard.html index d8fd4ea8a5..e5b5653f8d 100644 --- a/packages/joint-core/demo/shapes/standard.html +++ b/packages/joint-core/demo/shapes/standard.html @@ -13,9 +13,6 @@
- - - diff --git a/packages/joint-core/demo/shapes/table.html b/packages/joint-core/demo/shapes/table.html index 4fd9f26a45..4183d8f180 100644 --- a/packages/joint-core/demo/shapes/table.html +++ b/packages/joint-core/demo/shapes/table.html @@ -7,8 +7,6 @@ - - diff --git a/packages/joint-core/demo/shapes/textpath.html b/packages/joint-core/demo/shapes/textpath.html index 21c616421e..f964e58b4c 100644 --- a/packages/joint-core/demo/shapes/textpath.html +++ b/packages/joint-core/demo/shapes/textpath.html @@ -18,10 +18,6 @@
- - - - diff --git a/packages/joint-core/demo/spiral/spiral.html b/packages/joint-core/demo/spiral/spiral.html index dae089bac7..d312e96a95 100644 --- a/packages/joint-core/demo/spiral/spiral.html +++ b/packages/joint-core/demo/spiral/spiral.html @@ -17,10 +17,6 @@
- - - - diff --git a/packages/joint-core/demo/transitions/transition.html b/packages/joint-core/demo/transitions/transition.html index f172819f2e..5518247ac2 100644 --- a/packages/joint-core/demo/transitions/transition.html +++ b/packages/joint-core/demo/transitions/transition.html @@ -19,10 +19,6 @@
- - - - diff --git a/packages/joint-core/demo/transitions/transition2.html b/packages/joint-core/demo/transitions/transition2.html index 5855d562b2..5b47698efd 100644 --- a/packages/joint-core/demo/transitions/transition2.html +++ b/packages/joint-core/demo/transitions/transition2.html @@ -23,10 +23,6 @@
- - - - diff --git a/packages/joint-core/demo/ts-demo/index.ts b/packages/joint-core/demo/ts-demo/index.ts index 8f78e1b8bf..d8c96b1715 100644 --- a/packages/joint-core/demo/ts-demo/index.ts +++ b/packages/joint-core/demo/ts-demo/index.ts @@ -1,23 +1,27 @@ import * as joint from './vendor/joint'; import './custom'; import { V, g } from './vendor/joint'; -import * as $ from 'jquery'; import { MyShape } from './shape'; import * as dagre from 'dagre'; import * as graphlib from 'graphlib'; -const $body = $('body'); +const { body } = document; // Paper: -$body.append($('

').text('Example Paper')); -let $paper = $('
'); -$body.append($paper); +const h1El = document.createElement('h3'); +h1El.textContent = 'Example Paper'; +body.appendChild(h1El); + +const paperEl = document.createElement('div'); +paperEl.id = 'paper'; +paperEl.style.border = '1px dashed #ddd'; +body.append(paperEl); // Define cellNamespace so graph.fromJSON() can find the custom shape constructor const graph = new joint.dia.Graph({}, { cellNamespace: joint.shapes }); const paper = new joint.dia.Paper({ - el: $paper, + el: paperEl, width: 500, height: 200, gridSize: 20, @@ -99,14 +103,16 @@ paper.unfreeze(); // VECTORIZER DEMO: // Display all SVG shapes and convert them to paths. -$body.append($('

').text('Example SVG created by Vectorizer')); +const h2El = document.createElement('h3'); +h2El.textContent = 'Example SVG created by Vectorizer'; +body.appendChild(h2El); const svg = joint.V('svg'); svg.attr('width', 500); svg.attr('height', 550); svg.attr('style', 'border: 1px dashed #ddd'); -$body.append(svg.node); +body.append(svg.node); // Line: let vLine = V('line', { x1: 25, y1: 25, x2: 75, y2: 55, stroke: 'blue', 'stroke-width': 2 }); diff --git a/packages/joint-core/demo/ts-demo/package.json b/packages/joint-core/demo/ts-demo/package.json index 6456e079fb..f4dce24d82 100644 --- a/packages/joint-core/demo/ts-demo/package.json +++ b/packages/joint-core/demo/ts-demo/package.json @@ -17,15 +17,11 @@ }, "dependencies": { "dagre": "~0.8.5", - "graphlib": "~2.1.8", - "jquery": "~3.6.4", - "lodash": "~4.17.21" + "graphlib": "~2.1.8" }, "devDependencies": { "@types/dagre": "~0.7.47", "@types/graphlib": "~2.1.8", - "@types/jquery": "~3.5.13", - "@types/lodash": "~4.14.178", "http-server": "0.12.3", "ts-loader": "9.4.2", "typescript": "4.9.5", diff --git a/packages/joint-core/demo/ts-demo/yarn.lock b/packages/joint-core/demo/ts-demo/yarn.lock index 7ef11cd3d8..85aeabc577 100644 --- a/packages/joint-core/demo/ts-demo/yarn.lock +++ b/packages/joint-core/demo/ts-demo/yarn.lock @@ -18,13 +18,9 @@ __metadata: dependencies: "@types/dagre": ~0.7.47 "@types/graphlib": ~2.1.8 - "@types/jquery": ~3.5.13 - "@types/lodash": ~4.14.178 dagre: ~0.8.5 graphlib: ~2.1.8 http-server: 0.12.3 - jquery: ~3.6.4 - lodash: ~4.17.21 ts-loader: 9.4.2 typescript: 4.9.5 webpack: 5.61.0 @@ -102,12 +98,12 @@ __metadata: linkType: hard "@types/eslint@npm:*": - version: 8.44.7 - resolution: "@types/eslint@npm:8.44.7" + version: 8.44.8 + resolution: "@types/eslint@npm:8.44.8" dependencies: "@types/estree": "*" "@types/json-schema": "*" - checksum: 72a52f74477fbe7cc95ad290b491f51f0bc547cb7ea3672c68da3ffd3fb21ba86145bc36823a37d0a186caedeaee15b2d2a6b4c02c6c55819ff746053bd28310 + checksum: c3bc70166075e6e9f7fb43978882b9ac0b22596b519900b08dc8a1d761bbbddec4c48a60cc4eb674601266223c6f11db30f3fb6ceaae96c23c54b35ad88022bc languageName: node linkType: hard @@ -126,18 +122,9 @@ __metadata: linkType: hard "@types/graphlib@npm:~2.1.8": - version: 2.1.11 - resolution: "@types/graphlib@npm:2.1.11" - checksum: 909b5db5066a0532210c22922a2c3c619208f614c9a472b631f312a0e6a3fc016e026be5cc8802d71bd72869b3e905d2c0aa955a07400127877fb1f3de98998a - languageName: node - linkType: hard - -"@types/jquery@npm:~3.5.13": - version: 3.5.27 - resolution: "@types/jquery@npm:3.5.27" - dependencies: - "@types/sizzle": "*" - checksum: a217d3dbf134134e1b1e10bb0a197523eb362d8e2aa2ae2ad909ae8db0d625f5784203a0794a498b7a09e495ae7822512b3112440cc96b8374eda4afc33b0d6e + version: 2.1.12 + resolution: "@types/graphlib@npm:2.1.12" + checksum: 009195aaf7d7c33068c93ece23e8fe11449663ba0ae6494f8028ffabebd7090a8a2daa86db73c65816a2e97d32d66db4a922c5003c2824ae4d4b4a169d77587d languageName: node linkType: hard @@ -148,26 +135,12 @@ __metadata: languageName: node linkType: hard -"@types/lodash@npm:~4.14.178": - version: 4.14.201 - resolution: "@types/lodash@npm:4.14.201" - checksum: 484be655298e9b2dc2d218ea934071b2ea31e4a531c561dd220dbda65237e8d08c20dc2d457ac24f29be7fe167415bf7bb9360ea0d80bdb8b0f0ec8d8db92fae - languageName: node - linkType: hard - "@types/node@npm:*": - version: 20.9.0 - resolution: "@types/node@npm:20.9.0" + version: 20.10.2 + resolution: "@types/node@npm:20.10.2" dependencies: undici-types: ~5.26.4 - checksum: bfd927da6bff8a32051fa44bb47ca32a56d2c8bc8ba0170770f181cc1fa3c0b05863c9b930f0ba8604a48d5eb0d319166601709ca53bf2deae0025d8b6c6b8a3 - languageName: node - linkType: hard - -"@types/sizzle@npm:*": - version: 2.3.6 - resolution: "@types/sizzle@npm:2.3.6" - checksum: 1573d6c86fdf0d7d3d2759b0db65e374b99d773b57781443a6400ce3d0a3bf6a3be393fb9aee5076eff8399c14b7b4d3f51391d1d5cb6a3dcbdccee06a5f6e3e + checksum: c0c84e8270cdf7a47a18c0230c0321537cc59506adb0e3cba51949b6f1ad4879f2e2ec3a29161f2f5321ebb6415460712d9f0a25ac5c02be0f5435464fe77c23 languageName: node linkType: hard @@ -475,9 +448,9 @@ __metadata: linkType: hard "caniuse-lite@npm:^1.0.30001541": - version: 1.0.30001561 - resolution: "caniuse-lite@npm:1.0.30001561" - checksum: 949829fe037e23346595614e01d362130245920503a12677f2506ce68e1240360113d6383febed41e8aa38cd0f5fd9c69c21b0af65a71c0246d560db489f1373 + version: 1.0.30001565 + resolution: "caniuse-lite@npm:1.0.30001565" + checksum: 7621f358d0e1158557430a111ca5506008ae0b2c796039ef53aeebf4e2ba15e5241cb89def21ea3a633b6a609273085835b44a522165d871fa44067cdf29cccd languageName: node linkType: hard @@ -616,9 +589,9 @@ __metadata: linkType: hard "electron-to-chromium@npm:^1.4.535": - version: 1.4.578 - resolution: "electron-to-chromium@npm:1.4.578" - checksum: 9c5e6843e6975adfedb7505b817f07bc91f4f4d3744616406983ed9327b722f045b72d98aa2146b279ba0eecec60ca065b316771b2de7ac6b7a42edcb3e9bb21 + version: 1.4.601 + resolution: "electron-to-chromium@npm:1.4.601" + checksum: 6c6d090afaab83f49fe413c2558a3294e7dfce6a9d8afda3496a80ba59377901279ea7903122558399d5f5dbbdcca8562e3e826b7b78e7ec0b561fcc02c45f73 languageName: node linkType: hard @@ -961,13 +934,6 @@ __metadata: languageName: node linkType: hard -"jquery@npm:~3.6.4": - version: 3.6.4 - resolution: "jquery@npm:3.6.4" - checksum: 8354f7bd0a0424aa714ee1b6b1ef74b410f834eb5c8501682289b358bc151f11677f11188b544f3bb49309d6ec4d15d1a5de175661250c206b06185a252f706f - languageName: node - linkType: hard - "json-parse-better-errors@npm:^1.0.2": version: 1.0.2 resolution: "json-parse-better-errors@npm:1.0.2" @@ -1005,7 +971,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:~4.17.21": +"lodash@npm:^4.17.14, lodash@npm:^4.17.15": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -1096,9 +1062,9 @@ __metadata: linkType: hard "node-releases@npm:^2.0.13": - version: 2.0.13 - resolution: "node-releases@npm:2.0.13" - checksum: 17ec8f315dba62710cae71a8dad3cd0288ba943d2ece43504b3b1aa8625bf138637798ab470b1d9035b0545996f63000a8a926e0f6d35d0996424f8b6d36dda3 + version: 2.0.14 + resolution: "node-releases@npm:2.0.14" + checksum: 59443a2f77acac854c42d321bf1b43dea0aef55cd544c6a686e9816a697300458d4e82239e2d794ea05f7bbbc8a94500332e2d3ac3f11f52e4b16cbe638b3c41 languageName: node linkType: hard diff --git a/packages/joint-core/demo/umlcd/index.html b/packages/joint-core/demo/umlcd/index.html index 995831c5f0..95d117a4f6 100644 --- a/packages/joint-core/demo/umlcd/index.html +++ b/packages/joint-core/demo/umlcd/index.html @@ -13,9 +13,6 @@
- - - diff --git a/packages/joint-core/demo/umlsc/index.html b/packages/joint-core/demo/umlsc/index.html index 9486218342..ac45b65d0b 100644 --- a/packages/joint-core/demo/umlsc/index.html +++ b/packages/joint-core/demo/umlsc/index.html @@ -13,9 +13,6 @@
- - - diff --git a/packages/joint-core/demo/vectorizer/vectorizer.html b/packages/joint-core/demo/vectorizer/vectorizer.html index ae34e27b77..527ffa4c37 100644 --- a/packages/joint-core/demo/vectorizer/vectorizer.html +++ b/packages/joint-core/demo/vectorizer/vectorizer.html @@ -14,16 +14,7 @@ - - - - - - - - - diff --git a/packages/joint-core/demo/vuejs/index.html b/packages/joint-core/demo/vuejs/index.html index 43b4b04356..60666615ff 100644 --- a/packages/joint-core/demo/vuejs/index.html +++ b/packages/joint-core/demo/vuejs/index.html @@ -9,9 +9,6 @@ - - - diff --git a/packages/joint-core/demo/vuejs/yarn.lock b/packages/joint-core/demo/vuejs/yarn.lock index 7b87c3c5ea..cd9770aa69 100644 --- a/packages/joint-core/demo/vuejs/yarn.lock +++ b/packages/joint-core/demo/vuejs/yarn.lock @@ -5,37 +5,37 @@ __metadata: version: 6 cacheKey: 8 -"@babel/helper-string-parser@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-string-parser@npm:7.22.5" - checksum: 836851ca5ec813077bbb303acc992d75a360267aa3b5de7134d220411c852a6f17de7c0d0b8c8dcc0f567f67874c00f4528672b2a4f1bc978a3ada64c8c78467 +"@babel/helper-string-parser@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/helper-string-parser@npm:7.23.4" + checksum: c0641144cf1a7e7dc93f3d5f16d5327465b6cf5d036b48be61ecba41e1eece161b48f46b7f960951b67f8c3533ce506b16dece576baef4d8b3b49f8c65410f90 languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-validator-identifier@npm:7.22.5" - checksum: 7f0f30113474a28298c12161763b49de5018732290ca4de13cdaefd4fd0d635a6fe3f6686c37a02905fb1e64f21a5ee2b55140cf7b070e729f1bd66866506aea +"@babel/helper-validator-identifier@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-validator-identifier@npm:7.22.20" + checksum: 136412784d9428266bcdd4d91c32bcf9ff0e8d25534a9d94b044f77fe76bc50f941a90319b05aafd1ec04f7d127cd57a179a3716009ff7f3412ef835ada95bdc languageName: node linkType: hard "@babel/parser@npm:^7.11.5": - version: 7.22.7 - resolution: "@babel/parser@npm:7.22.7" + version: 7.23.5 + resolution: "@babel/parser@npm:7.23.5" bin: parser: ./bin/babel-parser.js - checksum: 02209ddbd445831ee8bf966fdf7c29d189ed4b14343a68eb2479d940e7e3846340d7cc6bd654a5f3d87d19dc84f49f50a58cf9363bee249dc5409ff3ba3dab54 + checksum: ea763629310f71580c4a3ea9d3705195b7ba994ada2cc98f9a584ebfdacf54e92b2735d351672824c2c2b03c7f19206899f4d95650d85ce514a822b19a8734c7 languageName: node linkType: hard "@babel/types@npm:^7.11.5, @babel/types@npm:^7.8.3": - version: 7.22.5 - resolution: "@babel/types@npm:7.22.5" + version: 7.23.5 + resolution: "@babel/types@npm:7.23.5" dependencies: - "@babel/helper-string-parser": ^7.22.5 - "@babel/helper-validator-identifier": ^7.22.5 + "@babel/helper-string-parser": ^7.23.4 + "@babel/helper-validator-identifier": ^7.22.20 to-fast-properties: ^2.0.0 - checksum: c13a9c1dc7d2d1a241a2f8363540cb9af1d66e978e8984b400a20c4f38ba38ca29f06e26a0f2d49a70bad9e57615dac09c35accfddf1bb90d23cd3e0a0bab892 + checksum: 3d21774480a459ef13b41c2e32700d927af649e04b70c5d164814d8e04ab584af66a93330602c2925e1a6925c2b829cc153418a613a4e7d79d011be1f29ad4b2 languageName: node linkType: hard diff --git a/packages/joint-core/docs/demo/dia/Element/portZIndex.html b/packages/joint-core/docs/demo/dia/Element/portZIndex.html index 0ba8ba2fe9..577b5c950e 100644 --- a/packages/joint-core/docs/demo/dia/Element/portZIndex.html +++ b/packages/joint-core/docs/demo/dia/Element/portZIndex.html @@ -27,14 +27,10 @@ -

Left click on any port to increment, right click to decrement 'z'

+

Left click on any port to increment, right click to decrement 'z'

(Source Code)

- - - - diff --git a/packages/joint-core/docs/demo/dia/Paper/interactive/addLinkFromMagnet.html b/packages/joint-core/docs/demo/dia/Paper/interactive/addLinkFromMagnet.html index 918b5c8e3b..878c48ac0e 100644 --- a/packages/joint-core/docs/demo/dia/Paper/interactive/addLinkFromMagnet.html +++ b/packages/joint-core/docs/demo/dia/Paper/interactive/addLinkFromMagnet.html @@ -22,18 +22,15 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/packages/joint-core/docs/demo/highlighters/mask.html b/packages/joint-core/docs/demo/highlighters/mask.html index 99406f8883..bb8d8bde8f 100644 --- a/packages/joint-core/docs/demo/highlighters/mask.html +++ b/packages/joint-core/docs/demo/highlighters/mask.html @@ -27,10 +27,6 @@

Click an element, link, label or a port to highlight it. Click a blank area of the paper to unhighlight all cells. (Source Code)


- - - - diff --git a/packages/joint-core/docs/demo/layout/DirectedGraph/clusters.html b/packages/joint-core/docs/demo/layout/DirectedGraph/clusters.html index a85dd3ae22..23e11ef6f2 100644 --- a/packages/joint-core/docs/demo/layout/DirectedGraph/clusters.html +++ b/packages/joint-core/docs/demo/layout/DirectedGraph/clusters.html @@ -11,10 +11,6 @@
- - - - diff --git a/packages/joint-core/docs/demo/layout/DirectedGraph/index.html b/packages/joint-core/docs/demo/layout/DirectedGraph/index.html index af5da5d30a..a6c51ce604 100644 --- a/packages/joint-core/docs/demo/layout/DirectedGraph/index.html +++ b/packages/joint-core/docs/demo/layout/DirectedGraph/index.html @@ -27,10 +27,6 @@

- - - - diff --git a/packages/joint-core/docs/demo/layout/DirectedGraph/js/clusters.js b/packages/joint-core/docs/demo/layout/DirectedGraph/js/clusters.js index e603b64a88..ecf7097fdb 100644 --- a/packages/joint-core/docs/demo/layout/DirectedGraph/js/clusters.js +++ b/packages/joint-core/docs/demo/layout/DirectedGraph/js/clusters.js @@ -4,7 +4,7 @@ var graph = new joint.dia.Graph; var paper = new joint.dia.Paper({ - el: $('#paper'), + el: document.getElementById('paper'), width: 600, height: 400, gridSize: 1, diff --git a/packages/joint-core/docs/demo/layout/DirectedGraph/js/index.js b/packages/joint-core/docs/demo/layout/DirectedGraph/js/index.js index 32218be5fc..4ceb4334f1 100644 --- a/packages/joint-core/docs/demo/layout/DirectedGraph/js/index.js +++ b/packages/joint-core/docs/demo/layout/DirectedGraph/js/index.js @@ -10,12 +10,13 @@ model: graph }); - $('#btn-layout').on('click', layout); + document.getElementById('btn-layout').addEventListener('click', layout, false); function layout() { try { - var adjacencyList = JSON.parse($('#adjacency-list').val()); + var adjacencyListEl = document.getElementById('adjacency-list'); + var adjacencyList = JSON.parse(adjacencyListEl.value); } catch (error) { console.log(error); } @@ -39,10 +40,10 @@ var elements = []; var links = []; - _.each(adjacencyList, function(edges, parentElementLabel) { + Object.keys(adjacencyList).forEach(function(parentElementLabel) { elements.push(makeElement(parentElementLabel)); - - _.each(edges, function(childElementLabel) { + var edges = adjacencyList[parentElementLabel] || []; + edges.forEach(function(childElementLabel) { links.push(makeLink(parentElementLabel, childElementLabel)); }); }); @@ -73,9 +74,9 @@ function makeElement(label) { - var maxLineLength = _.max(label.split('\n'), function(l) { - return l.length; - }).length; + var maxLineLength = label.split('\n').reduce(function(max, l) { + return Math.max(l.length, max); + }, 0); // Compute width/height of the rectangle based on the number // of lines in the label and the letter size. 0.6 * letterSize is diff --git a/packages/joint-core/docs/demo/layout/Port/js/port.js b/packages/joint-core/docs/demo/layout/Port/js/port.js index 0faf748c83..5165cd9f4b 100644 --- a/packages/joint-core/docs/demo/layout/Port/js/port.js +++ b/packages/joint-core/docs/demo/layout/Port/js/port.js @@ -16,12 +16,12 @@ var g2Rect = new joint.shapes.basic.Rect({ }, 'reds': { position: function(ports, elBBox, opt) { - return _.map(ports, function(port, index) { + return ports.map(function(port, index) { var step = -Math.PI / 8; var y = Math.sin(index * step) * 50; - return g.point({ x: index * 12, y: y + elBBox.height }); + return new g.Point({ x: index * 12, y: y + elBBox.height }); }); }, label: { position: { name: 'manual', args: { attrs: { '.': { y: 40, 'text-anchor': 'middle' }}}}}, @@ -77,10 +77,14 @@ var g2Circle = new joint.shapes.basic.Circle({ } }); -_.times(4, function() { +function times(n, cb) { + Array.from({ length: n }).forEach((_, i) => cb(i)); +} + +times(4, function() { g2Rect.addPort({ group: 'blacks' }); }); -_.times(24, function() { +times(24, function() { g2Rect.addPort({ group: 'reds' }); }); g2Rect.addPort({ group: 'reds', attrs: { text: { text: 'fn: sin(x)' }}}); @@ -95,15 +99,16 @@ g2Rect.addPort({ } }); -_.times(8, function() { +times(8, function() { g2Circle.addPort({ group: 'blacks' }); }); paper2.model.addCell(g2Circle); paper2.model.addCell(g2Rect); -$('').text('Click on Rectangle or Ellipse to toggle port positions alignment').appendTo('body'); -$('
').html(' ').appendTo('body'); +var b = document.createElement('b'); +b.textContent = 'Click on Rectangle or Ellipse to toggle port positions alignment'; +document.body.appendChild(b); var portPosition = { 'basic.Rect': 1, diff --git a/packages/joint-core/docs/demo/layout/Port/js/portRotationComp.js b/packages/joint-core/docs/demo/layout/Port/js/portRotationComp.js index 92c26c2404..a88ea11887 100644 --- a/packages/joint-core/docs/demo/layout/Port/js/portRotationComp.js +++ b/packages/joint-core/docs/demo/layout/Port/js/portRotationComp.js @@ -40,7 +40,11 @@ var g6 = new joint.shapes.basic.Circle({ } }); -_.times(36, function(index) { +function times(n, cb) { + Array.from({ length: n }).forEach((_, i) => cb(i)); +} + +times(36, function(index) { g6.addPort({ group: 'a', id: index + '', attrs: { text: { text: index }}}); }); @@ -56,28 +60,56 @@ paper6.on('cell:pointerclick', function(cellView, e) { cellView.model.prop('ports/groups/a/position/args/compensateRotation', !current); }); -$('').text('Click on Element to toggle port rotation compensation').appendTo('body'); -$('
').appendTo('body'); +var b1 = document.createElement('b'); +b1.textContent = 'Click on Element to toggle port rotation compensation'; +document.body.appendChild(b1); + +var br1 = document.createElement('br'); +document.body.appendChild(br1); -$('

- The callback function is expected to have the signature function(evt) where evt is a jQuery.Event object. The button view is available inside the function as this; the button model is available as this.model.

+ The callback function is expected to have the signature function(evt) where evt is a DOM event. The button view is available inside the function as this; the button model is available as this.model.

diff --git a/packages/joint-core/docs/src/joint/api/mvc/ViewBase/prototype/$.html b/packages/joint-core/docs/src/joint/api/mvc/ViewBase/prototype/$.html deleted file mode 100644 index 44e5c03524..0000000000 --- a/packages/joint-core/docs/src/joint/api/mvc/ViewBase/prototype/$.html +++ /dev/null @@ -1,7 +0,0 @@ -
view.$(selector)
- -

- If jQuery is included on the page, each view has a $ function that runs queries scoped within the view's element. If you use - this scoped jQuery function, you don't have to use model ids as part of your query to pull out specific elements in a list, and can rely much - more on HTML class attributes. It's equivalent to running: view.$el.find(selector) -

diff --git a/packages/joint-core/docs/src/joint/api/mvc/ViewBase/prototype/$el.html b/packages/joint-core/docs/src/joint/api/mvc/ViewBase/prototype/$el.html deleted file mode 100644 index af53d93686..0000000000 --- a/packages/joint-core/docs/src/joint/api/mvc/ViewBase/prototype/$el.html +++ /dev/null @@ -1,5 +0,0 @@ -
view.$el
- -

- A cached jQuery object for the view's element. A handy reference instead of re-wrapping the DOM element all the time. -

diff --git a/packages/joint-core/docs/src/joint/api/util/sanitizeHTML.html b/packages/joint-core/docs/src/joint/api/util/sanitizeHTML.html index aa59c3c208..58e85bb23b 100644 --- a/packages/joint-core/docs/src/joint/api/util/sanitizeHTML.html +++ b/packages/joint-core/docs/src/joint/api/util/sanitizeHTML.html @@ -3,7 +3,7 @@
  • Wrap the provided HTML inside a <div> tag. This will remove tags that are invalid in that context (e.g. <body> and <head>).
  • -
  • Parse the provided HTML in a new document context (using jQuery.parseHTML()). This prevents inline events from firing and also prevents image GET requests from being sent.
  • +
  • Parse the provided HTML in a new document context. This prevents inline events from firing and also prevents image GET requests from being sent.
  • Discard all <script> tags.
  • Iterate through all DOM nodes and remove all on... attributes (e.g. onload, onerror).
  • Iterate through all attributes of the nodes and remove all that use the javascript: pseudo-protocol as value.
  • diff --git a/packages/joint-core/docs/src/joint/api/util/sortElements.html b/packages/joint-core/docs/src/joint/api/util/sortElements.html index 43f0a9a93a..3a05eba01e 100644 --- a/packages/joint-core/docs/src/joint/api/util/sortElements.html +++ b/packages/joint-core/docs/src/joint/api/util/sortElements.html @@ -1,4 +1,5 @@ -
    util.sortElements(elements, comparator)

    Change the order of elements (a collection of HTML elements or a selector or jQuery object) in the DOM +

    util.sortElements(elements, comparator)

    Change the order of elements (a collection of HTML elements or a selector) in the DOM according to the comparator(elementA, elementB) function. The comparator function has the exact same meaning as in Array.prototype.sort(comparator). -

    \ No newline at end of file + The function returns the sorted array of elements.

    +

    diff --git a/packages/joint-core/grunt/resources/dependencies.js b/packages/joint-core/grunt/resources/dependencies.js index b750cbc756..b0822e24ac 100644 --- a/packages/joint-core/grunt/resources/dependencies.js +++ b/packages/joint-core/grunt/resources/dependencies.js @@ -1,5 +1,4 @@ module.exports = [ - 'node_modules/jquery/dist/jquery.js', 'node_modules/lodash/lodash.js', 'node_modules/graphlib/dist/graphlib.core.js', 'node_modules/dagre/dist/dagre.core.js', diff --git a/packages/joint-core/package.json b/packages/joint-core/package.json index a1675e2d0b..ee5d1fea2b 100644 --- a/packages/joint-core/package.json +++ b/packages/joint-core/package.json @@ -67,14 +67,11 @@ ], "dependencies": { "dagre": "~0.8.5", - "graphlib": "~2.1.8", - "jquery": "~3.7.1" + "graphlib": "~2.1.8" }, "devDependencies": { "@types/dagre": "~0.7.50", "@types/graphlib": "~2.1.9", - "@types/jquery": "~3.5.22", - "@types/lodash": "~4.14.199", "@typescript-eslint/eslint-plugin": "5.48.1", "@typescript-eslint/parser": "5.48.1", "async": "2.6.1", @@ -104,6 +101,7 @@ "grunt-webpack": "6.0.0", "handlebars": "4.7.7", "jit-grunt": "0.10.0", + "jquery": "~3.7.1", "karma": "3.1.4", "karma-chrome-launcher": "2.2.0", "karma-coverage": "1.1.2", diff --git a/packages/joint-core/rollup.config.js b/packages/joint-core/rollup.config.js index 7288311203..1f4c48eaab 100644 --- a/packages/joint-core/rollup.config.js +++ b/packages/joint-core/rollup.config.js @@ -6,8 +6,6 @@ const JOINT = [ ]; const LIBS_ESM = [ - modules.jquery, - modules.lodash, modules.dagre ]; diff --git a/packages/joint-core/rollup.resources.js b/packages/joint-core/rollup.resources.js index 577b66b9f3..b2764b61ac 100644 --- a/packages/joint-core/rollup.resources.js +++ b/packages/joint-core/rollup.resources.js @@ -71,30 +71,18 @@ export const vectorizer = { export const joint = { input: modules.joint.src, - external: [ - 'jquery', - 'lodash' - ], output: [{ file: modules.joint.umd, format: 'umd', name: 'joint', freeze: false, footer: JOINT_FOOTER, - globals: { - 'jquery': '$', - 'lodash': '_' - } }, { file: modules.joint.iife, format: 'iife', name: 'joint', freeze: false, footer: JOINT_FOOTER, - globals: { - 'jquery': '$', - 'lodash': '_' - } }], plugins: plugins, treeshake: false @@ -102,40 +90,26 @@ export const joint = { export const jointNoDependencies = { input: modules.joint.src, - external: [ - 'jquery', - 'lodash' - ].concat(Object.keys(G_REF)).concat(Object.keys(V_REF)), + external: [].concat(Object.keys(G_REF)).concat(Object.keys(V_REF)), output: [{ file: modules.joint.noDependencies, format: 'iife', name: 'joint', footer: JOINT_FOOTER, freeze: false, - globals: Object.assign({ - 'jquery': '$', - 'lodash': '_' - }, G_REF, V_REF) + globals: Object.assign({}, G_REF, V_REF) }], plugins: plugins }; export const jointCore = { input: modules.jointCore.src, - external: [ - 'jquery', - 'lodash' - ], output: [{ file: modules.jointCore.umd, format: 'umd', name: 'joint', freeze: false, footer: JOINT_FOOTER, - globals: { - 'jquery': '$', - 'lodash': '_' - } }], plugins: plugins }; @@ -158,19 +132,13 @@ export const jointPlugins = Object.keys(modules.plugins).reduce((res, namespace) res.push({ input: item.src, - external: [ - 'jquery', - 'lodash', - ].concat(Object.keys(LOCAL_EXTERNALS)), + external: [].concat(Object.keys(LOCAL_EXTERNALS)), output: [{ file: `build/${namespace}.js`, format: 'iife', extend: true, name: namespace, - globals: Object.assign({ - 'jquery': '$', - 'lodash': '_', - }, LOCAL_EXTERNALS) + globals: Object.assign({}, LOCAL_EXTERNALS) }], plugins: plugins }); @@ -196,29 +164,3 @@ export const dagre = { commonjs() ] }; - -export const jquery = { - input: 'node_modules/jquery/dist/jquery.js', - output: [{ - file: 'build/esm/jquery.mjs', - format: 'esm', - freeze: false - }], - plugins: [ - commonjs(), - resolve() - ] -}; - -export const lodash = { - input: 'node_modules/lodash/index.js', - output: [{ - file: 'build/esm/lodash.mjs', - format: 'esm', - freeze: false - }], - plugins: [ - commonjs(), - resolve() - ] -}; diff --git a/packages/joint-core/src/connectionPoints/index.mjs b/packages/joint-core/src/connectionPoints/index.mjs index 2b75870528..5998c488a3 100644 --- a/packages/joint-core/src/connectionPoints/index.mjs +++ b/packages/joint-core/src/connectionPoints/index.mjs @@ -131,7 +131,7 @@ function boundaryIntersection(line, view, magnet, opt) { var anchor = line.end; if (typeof selector === 'string') { - node = view.findBySelector(selector)[0]; + node = view.findNode(selector); } else if (selector === false) { node = magnet; } else if (Array.isArray(selector)) { diff --git a/packages/joint-core/src/dia/CellView.mjs b/packages/joint-core/src/dia/CellView.mjs index c6da189462..02d440fa16 100644 --- a/packages/joint-core/src/dia/CellView.mjs +++ b/packages/joint-core/src/dia/CellView.mjs @@ -19,7 +19,7 @@ import { } from '../util/index.mjs'; import { Point, Rect } from '../g/index.mjs'; import V from '../V/index.mjs'; -import $ from 'jquery'; +import $ from '../mvc/Dom/index.mjs'; import { HighlighterView } from './HighlighterView.mjs'; const HighlightingTypes = { @@ -147,9 +147,6 @@ export const CellView = View.extend({ this.cleanNodesCache(); - // Store reference to this to the DOM element so that the view is accessible through the DOM tree. - this.$el.data('view', this); - this.startListening(); }, @@ -205,9 +202,6 @@ export const CellView = View.extend({ findBySelector: function(selector, root, selectors) { - root || (root = this.el); - selectors || (selectors = this.selectors); - // These are either descendants of `this.$el` of `this.$el` itself. // `.` is a special selector used to select the wrapping `` element. if (!selector || selector === '.') return [root]; @@ -226,6 +220,15 @@ export const CellView = View.extend({ return []; }, + findNodes: function(selector) { + return this.findBySelector(selector, this.el, this.selectors); + }, + + findNode: function(selector) { + const [node = null] = this.findNodes(selector); + return node; + }, + notify: function(eventName) { if (this.paper) { @@ -305,7 +308,7 @@ export const CellView = View.extend({ const { el: rootNode } = this; let node; if (typeof el === 'string') { - [node = rootNode] = this.findBySelector(el); + node = this.findNode(el) || rootNode; } else { [node = rootNode] = this.$(el); } @@ -378,7 +381,7 @@ export const CellView = View.extend({ el || (el = this.el); const nodeSelector = el.getAttribute(`${type}-selector`); if (nodeSelector) { - const [proxyNode] = this.findBySelector(nodeSelector); + const proxyNode = this.findNode(nodeSelector); if (proxyNode) return proxyNode; } return el; @@ -392,7 +395,7 @@ export const CellView = View.extend({ var selector; if (el === this.el) { - if (typeof prevSelector === 'string') selector = '> ' + prevSelector; + if (typeof prevSelector === 'string') selector = ':scope > ' + prevSelector; return selector; } @@ -463,13 +466,12 @@ export const CellView = View.extend({ getMagnetFromLinkEnd: function(end) { - var root = this.el; var port = end.port; var selector = end.magnet; var model = this.model; var magnet; if (port != null && model.isElement() && model.hasPort(port)) { - magnet = this.findPortNode(port, selector) || root; + magnet = this.findPortNode(port, selector) || this.el; } else { if (!selector) selector = end.selector; if (!selector && port != null) { @@ -477,7 +479,7 @@ export const CellView = View.extend({ // a port created via the `port` attribute (not API). selector = '[port="' + port + '"]'; } - magnet = this.findBySelector(selector, root, this.selectors)[0]; + magnet = this.findNode(selector); } return this.findProxyNode(magnet, 'magnet'); diff --git a/packages/joint-core/src/dia/ElementView.mjs b/packages/joint-core/src/dia/ElementView.mjs index 2eed40c75b..467154a27d 100644 --- a/packages/joint-core/src/dia/ElementView.mjs +++ b/packages/joint-core/src/dia/ElementView.mjs @@ -566,7 +566,7 @@ export const ElementView = CellView.extend({ const proxyPortNode = this.findPortNode(port, nodeSelector); if (proxyPortNode) return proxyPortNode; } else { - const [proxyNode] = this.findBySelector(nodeSelector); + const proxyNode = this.findNode(nodeSelector); if (proxyNode) return proxyNode; } } diff --git a/packages/joint-core/src/dia/HighlighterView.mjs b/packages/joint-core/src/dia/HighlighterView.mjs index 86a3c0061c..e1c885bd89 100644 --- a/packages/joint-core/src/dia/HighlighterView.mjs +++ b/packages/joint-core/src/dia/HighlighterView.mjs @@ -55,7 +55,7 @@ export const HighlighterView = mvc.View.extend({ findNode(cellView, nodeSelector = null) { let el; if (typeof nodeSelector === 'string') { - [el] = cellView.findBySelector(nodeSelector); + el = cellView.findNode(nodeSelector); } else if (isPlainObject(nodeSelector)) { const isLink = cellView.model.isLink(); const { label = null, port, selector } = nodeSelector; @@ -67,7 +67,7 @@ export const HighlighterView = mvc.View.extend({ el = cellView.findPortNode(port, selector); } else { // Cell Selector - [el] = cellView.findBySelector(selector); + el = cellView.findNode(selector); } } else if (nodeSelector) { el = V.toNode(nodeSelector); diff --git a/packages/joint-core/src/dia/LinkView.mjs b/packages/joint-core/src/dia/LinkView.mjs index aad57cc158..7b799e21cb 100644 --- a/packages/joint-core/src/dia/LinkView.mjs +++ b/packages/joint-core/src/dia/LinkView.mjs @@ -1,11 +1,12 @@ import { CellView } from './CellView.mjs'; import { Link } from './Link.mjs'; import V from '../V/index.mjs'; -import { addClassNamePrefix, removeClassNamePrefix, merge, template, assign, toArray, isObject, isFunction, clone, isPercentage, result, isEqual } from '../util/index.mjs'; +import { addClassNamePrefix, removeClassNamePrefix, merge, template, assign, toArray, isObject, isFunction, clone, isPercentage, result, isEqual, camelCase } from '../util/index.mjs'; import { Point, Line, Path, normalizeAngle, Rect, Polyline } from '../g/index.mjs'; import * as routers from '../routers/index.mjs'; import * as connectors from '../connectors/index.mjs'; -import $ from 'jquery'; +import $ from '../mvc/Dom/index.mjs'; + const Flags = { TOOLS: CellView.Flags.TOOLS, @@ -285,7 +286,7 @@ export const LinkView = CellView.extend({ if (className) { // Strip the joint class name prefix, if there is one. className = removeClassNamePrefix(className); - cache[$.camelCase(className)] = child; + cache[camelCase(className)] = child; } } // partial rendering @@ -439,14 +440,17 @@ export const LinkView = CellView.extend({ } }, - findLabelNode: function(labelIndex, selector) { + findLabelNodes: function(labelIndex, selector) { const labelRoot = this._labelCache[labelIndex]; - if (!labelRoot) return null; + if (!labelRoot) return []; const labelSelectors = this._labelSelectors[labelIndex]; - const [node = null] = this.findBySelector(selector, labelRoot, labelSelectors); - return node; + return this.findBySelector(selector, labelRoot, labelSelectors); }, + findLabelNode: function(labelIndex, selector) { + const [node = null] = this.findLabelNodes(labelIndex, selector); + return node; + }, // merge default label attrs into label attrs (or use built-in default label attrs if neither is provided) // keep `undefined` or `null` because `{}` means something else @@ -1132,9 +1136,6 @@ export const LinkView = CellView.extend({ if (!this._V.markerArrowheads) return this; - // getting bbox of an element with `display="none"` in IE9 ends up with access violation - if ($.css(this._V.markerArrowheads.node, 'display') === 'none') return this; - var sx = this.getConnectionLength() < this.options.shortLinkLength ? .5 : 1; this._V.sourceArrowhead.scale(sx); this._V.targetArrowhead.scale(sx); @@ -1365,7 +1366,7 @@ export const LinkView = CellView.extend({ var connection; if (typeof selector === 'string') { // Use custom connection path. - connection = this.findBySelector(selector, this.el, this.selectors)[0]; + connection = this.findNode(selector); } else { // Select connection path automatically. var cache = this._V; diff --git a/packages/joint-core/src/dia/Paper.mjs b/packages/joint-core/src/dia/Paper.mjs index 90c202b508..12336244c2 100644 --- a/packages/joint-core/src/dia/Paper.mjs +++ b/packages/joint-core/src/dia/Paper.mjs @@ -46,7 +46,7 @@ import * as linkAnchors from '../linkAnchors/index.mjs'; import * as connectionPoints from '../connectionPoints/index.mjs'; import * as anchors from '../anchors/index.mjs'; -import $ from 'jquery'; +import $ from '../mvc/Dom/index.mjs'; const sortingTypes = { NONE: 'sorting-none', @@ -335,10 +335,7 @@ export const Paper = View.extend({ viewport: null, defs: null, tools: null, - $background: null, layers: null, - $grid: null, - $document: null, // For storing the current transformation matrix (CTM) of the paper's viewport. _viewportMatrix: null, @@ -370,7 +367,7 @@ export const Paper = View.extend({ init: function() { - const { options, el } = this; + const { options } = this; if (!options.cellViewNamespace) { /* eslint-disable no-undef */ options.cellViewNamespace = typeof joint !== 'undefined' && has(joint, 'shapes') ? joint.shapes : null; @@ -397,8 +394,6 @@ export const Paper = View.extend({ deltas: [], }; - // Reference to the paper owner document - this.$document = $(el.ownerDocument); // Render existing cells in the graph this.resetViews(model.attributes.cells.models); // Start the Rendering Loop @@ -586,15 +581,13 @@ export const Paper = View.extend({ this.renderChildren(); const { childNodes, options } = this; - const { svg, defs, layers, background, grid } = childNodes; + const { svg, defs, layers } = childNodes; svg.style.overflow = options.overflow ? 'visible' : 'hidden'; this.svg = svg; this.defs = defs; this.layers = layers; - this.$background = $(background); - this.$grid = $(grid); this.renderLayers(); @@ -1283,8 +1276,8 @@ export const Paper = View.extend({ const { options } = this; let w = options.width; let h = options.height; - if (isNumber(w)) w = Math.round(w); - if (isNumber(h)) h = Math.round(h); + if (isNumber(w)) w = `${Math.round(w)}px`; + if (isNumber(h)) h = `${Math.round(h)}px`; this.$el.css({ width: (w === null) ? '' : w, height: (h === null) ? '' : h @@ -1674,10 +1667,10 @@ export const Paper = View.extend({ // Run insertion sort algorithm in order to efficiently sort DOM elements according to their // associated model `z` attribute. - var $cells = $(this.cells).children('[model-id]'); + var cellNodes = Array.from(this.cells.childNodes).filter(node => node.getAttribute('model-id')); var cells = this.model.get('cells'); - sortElements($cells, function(a, b) { + sortElements(cellNodes, function(a, b) { var cellA = cells.get(a.getAttribute('model-id')); var cellB = cells.get(b.getAttribute('model-id')); var zA = cellA.attributes.z || 0; @@ -2213,7 +2206,7 @@ export const Paper = View.extend({ // Element magnet const magnetNode = target.closest('[magnet]'); if (magnetNode && view.el !== magnetNode && view.el.contains(magnetNode)) { - const magnetEvt = normalizeEvent($.Event(evt.originalEvent, { + const magnetEvt = normalizeEvent(new $.Event(evt.originalEvent, { data: evt.data, // Originally the event listener was attached to the magnet element. currentTarget: magnetNode @@ -2235,7 +2228,7 @@ export const Paper = View.extend({ if (isContextMenu) { this.contextMenuFired = true; - const contextmenuEvt = $.Event(evt.originalEvent, { type: 'contextmenu', data: evt.data }); + const contextmenuEvt = new $.Event(evt.originalEvent, { type: 'contextmenu', data: evt.data }); this.contextMenuTrigger(contextmenuEvt); } else { const localPoint = this.snapToGrid(evt.clientX, evt.clientY); @@ -2300,7 +2293,7 @@ export const Paper = View.extend({ } if (!normalizedEvt.isPropagationStopped()) { - this.pointerclick($.Event(evt.originalEvent, { type: 'click', data: evt.data })); + this.pointerclick(new $.Event(evt.originalEvent, { type: 'click', data: evt.data })); } this.delegateEvents(); @@ -2495,7 +2488,7 @@ export const Paper = View.extend({ if (evt.button === 2) { this.contextMenuFired = true; this.magnetContextMenuFired = true; - const contextmenuEvt = $.Event(evt.originalEvent, { + const contextmenuEvt = new $.Event(evt.originalEvent, { type: 'contextmenu', data: evt.data, currentTarget: evt.currentTarget, @@ -2598,7 +2591,7 @@ export const Paper = View.extend({ return false; } - if (this.svg === target || this.el === target || $.contains(this.svg, target)) { + if (this.el === target || this.svg.contains(target)) { return false; } @@ -2620,8 +2613,9 @@ export const Paper = View.extend({ clearGrid: function() { - if (this.$grid) { - this.$grid.css('backgroundImage', 'none'); + const { childNodes } = this; + if (childNodes && childNodes.grid) { + childNodes.grid.style.backgroundImage = ''; } return this; }, @@ -2752,7 +2746,7 @@ export const Paper = View.extend({ var patternUri = new XMLSerializer().serializeToString(refs.root.node); patternUri = 'url(data:image/svg+xml;base64,' + btoa(patternUri) + ')'; - this.$grid.css('backgroundImage', patternUri); + this.childNodes.grid.style.backgroundImage = patternUri; return this; }, @@ -2780,17 +2774,16 @@ export const Paper = View.extend({ backgroundSize = backgroundSize.width + 'px ' + backgroundSize.height + 'px'; } - this.$background.css({ - backgroundSize: backgroundSize, - backgroundPosition: backgroundPosition - }); + const { background } = this.childNodes; + background.style.backgroundSize = backgroundSize; + background.style.backgroundPosition = backgroundPosition; }, drawBackgroundImage: function(img, opt) { // Clear the background image if no image provided if (!(img instanceof HTMLImageElement)) { - this.$background.css('backgroundImage', ''); + this.childNodes.background.style.backgroundImage = ''; return; } @@ -2843,11 +2836,9 @@ export const Paper = View.extend({ } } - this.$background.css({ - opacity: backgroundOpacity, - backgroundRepeat: backgroundRepeat, - backgroundImage: 'url(' + backgroundImage + ')' - }); + this.childNodes.background.style.opacity = backgroundOpacity; + this.childNodes.background.style.backgroundRepeat = backgroundRepeat; + this.childNodes.background.style.backgroundImage = `url(${backgroundImage})`; this.updateBackgroundImage(opt); }, @@ -3088,7 +3079,7 @@ export const Paper = View.extend({ const eventNode = evt.target.closest('[event]'); if (eventNode && rootNode !== eventNode && view.el.contains(eventNode)) { - const eventEvt = normalizeEvent($.Event(evt.originalEvent, { + const eventEvt = normalizeEvent(new $.Event(evt.originalEvent, { data: evt.data, // Originally the event listener was attached to the event element. currentTarget: eventNode diff --git a/packages/joint-core/src/dia/attributes/index.mjs b/packages/joint-core/src/dia/attributes/index.mjs index e94664be82..9a337d3390 100644 --- a/packages/joint-core/src/dia/attributes/index.mjs +++ b/packages/joint-core/src/dia/attributes/index.mjs @@ -2,7 +2,7 @@ import { Point, Path, Polyline } from '../../g/index.mjs'; import { assign, isPlainObject, isObject, isPercentage, breakText } from '../../util/util.mjs'; import { isCalcAttribute, evalCalcAttribute } from './calc.mjs'; import props from './props.mjs'; -import $ from 'jquery'; +import $ from '../../mvc/Dom/index.mjs'; import V from '../../V/index.mjs'; function setWrapper(attrName, dimension) { @@ -75,8 +75,7 @@ function shapeWrapper(shapeConstructor, opt) { var cacheName = 'joint-shape'; var resetOffset = opt && opt.resetOffset; return function(value, refBBox, node) { - var $node = $(node); - var cache = $node.data(cacheName); + var cache = $.data.get(node, cacheName); if (!cache || cache.value !== value) { // only recalculate if value has changed var cachedShape = shapeConstructor(value); @@ -85,7 +84,7 @@ function shapeWrapper(shapeConstructor, opt) { shape: cachedShape, shapeBBox: cachedShape.bbox() }; - $node.data(cacheName, cache); + $.data.set(node, cacheName, cache); } var shape = cache.shape.clone(); @@ -311,9 +310,8 @@ const attributesNS = { return !attrs.textWrap || !isPlainObject(attrs.textWrap); }, set: function(text, refBBox, node, attrs) { - const $node = $(node); const cacheName = 'joint-text'; - const cache = $node.data(cacheName); + const cache = $.data.get(node, cacheName); const { lineHeight, annotations, @@ -344,7 +342,7 @@ const attributesNS = { if (isObject(textPath)) { const pathSelector = textPath.selector; if (typeof pathSelector === 'string') { - const [pathNode] = this.findBySelector(pathSelector); + const pathNode = this.findNode(pathSelector); if (pathNode instanceof SVGPathElement) { textPath = assign({ 'xlink:href': '#' + pathNode.id }, textPath); } @@ -359,7 +357,7 @@ const attributesNS = { eol, displayEmpty }); - $node.data(cacheName, textHash); + $.data.set(node, cacheName, textHash); } } }, @@ -436,11 +434,10 @@ const attributesNS = { return node instanceof SVGElement; }, set: function(title, refBBox, node) { - var $node = $(node); var cacheName = 'joint-title'; - var cache = $node.data(cacheName); + var cache = $.data.get(node, cacheName); if (cache === undefined || cache !== title) { - $node.data(cacheName, title); + $.data.set(node, cacheName, title); if (node.tagName === 'title') { // The target node is a element. node.textContent = title; diff --git a/packages/joint-core/src/dia/ports.mjs b/packages/joint-core/src/dia/ports.mjs index 2a6ffa3187..d3186f0cae 100644 --- a/packages/joint-core/src/dia/ports.mjs +++ b/packages/joint-core/src/dia/ports.mjs @@ -658,13 +658,17 @@ export const elementViewPortPrototype = { return this._createPortElement(port); }, - findPortNode: function(portId, selector) { + findPortNodes: function(portId, selector) { const portCache = this._portElementsCache[portId]; - if (!portCache) return null; - if (!selector) return portCache.portContentElement.node; + if (!portCache) return []; + if (!selector) return [portCache.portContentElement.node]; const portRoot = portCache.portElement.node; const portSelectors = portCache.portSelectors; - const [node = null] = this.findBySelector(selector, portRoot, portSelectors); + return this.findBySelector(selector, portRoot, portSelectors); + }, + + findPortNode: function(portId, selector) { + const [node = null] = this.findPortNodes(portId, selector); return node; }, diff --git a/packages/joint-core/src/elementTools/Control.mjs b/packages/joint-core/src/elementTools/Control.mjs index fb501d7e1b..95d45f8022 100644 --- a/packages/joint-core/src/elementTools/Control.mjs +++ b/packages/joint-core/src/elementTools/Control.mjs @@ -95,7 +95,7 @@ export const Control = ToolView.extend({ this.toggleExtras(false); return; } - const [magnet] = relatedView.findBySelector(selector); + const magnet = relatedView.findNode(selector); if (!magnet) throw new Error('Control: invalid selector.'); let padding = options.padding; if (!isFinite(padding)) padding = 0; diff --git a/packages/joint-core/src/linkTools/Connect.mjs b/packages/joint-core/src/linkTools/Connect.mjs index 08a954484f..194210a100 100644 --- a/packages/joint-core/src/linkTools/Connect.mjs +++ b/packages/joint-core/src/linkTools/Connect.mjs @@ -45,7 +45,7 @@ export const Connect = Button.extend({ break; } case 'string': { - [magnetNode] = relatedView.findBySelector(magnet); + magnetNode = relatedView.findNode(magnet); break; } default: { diff --git a/packages/joint-core/src/linkTools/HoverConnect.mjs b/packages/joint-core/src/linkTools/HoverConnect.mjs index bb39544c0b..419cb233a7 100644 --- a/packages/joint-core/src/linkTools/HoverConnect.mjs +++ b/packages/joint-core/src/linkTools/HoverConnect.mjs @@ -1,6 +1,6 @@ import { Connect } from '../linkTools/Connect.mjs'; import V from '../V/index.mjs'; -import $ from 'jquery'; +import $ from '../mvc/Dom/index.mjs'; import * as util from '../util/index.mjs'; import * as g from '../g/index.mjs'; @@ -131,7 +131,7 @@ export const HoverConnect = Connect.extend({ canShowButton() { // Has been the paper events undelegated? If so, we can't show the button. // TODO: add a method to the paper to check if the events are delegated. - return $._data(this.paper.el, 'events'); + return $.event.has(this.paper.el); }, showButton() { diff --git a/packages/joint-core/src/mvc/Data.mjs b/packages/joint-core/src/mvc/Data.mjs new file mode 100644 index 0000000000..7fd5e29a30 --- /dev/null +++ b/packages/joint-core/src/mvc/Data.mjs @@ -0,0 +1,46 @@ +class Data { + + constructor() { + this.map = new WeakMap(); + } + + has(obj, key) { + if (key === undefined) return this.map.has(obj); + return key in this.map.get(obj); + } + + create(obj) { + if (!this.has(obj)) this.map.set(obj, Object.create(null)); + return this.get(obj); + } + + get(obj, key) { + if (!this.has(obj)) return undefined; + const data = this.map.get(obj); + if (key === undefined) return data; + return data[key]; + } + + set(obj, key, value) { + if (key === undefined) return; + const data = this.create(obj); + if (typeof key === 'string') { + data[key] = value; + } else { + Object.assign(data, key); + } + } + + remove(obj, key) { + if (!this.has(obj)) return; + if (key === undefined) { + this.map.delete(obj); + } else { + const data = this.map.get(obj); + delete data[key]; + } + } +} + +export default Data; + diff --git a/packages/joint-core/src/mvc/Dom/Dom.mjs b/packages/joint-core/src/mvc/Dom/Dom.mjs new file mode 100644 index 0000000000..5ac51ad00a --- /dev/null +++ b/packages/joint-core/src/mvc/Dom/Dom.mjs @@ -0,0 +1,574 @@ + +/*! + * jQuery JavaScript Library v4.0.0-pre+c98597ea.dirty + * https://jquery.com/ + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2023-11-24T14:04Z + */ + +import { uniq, isEmpty } from '../../util/utilHelpers.mjs'; +import { dataPriv, dataUser } from './vars.mjs'; +import { Event } from './Event.mjs'; + +const document = (typeof window !== 'undefined') ? window.document : null; +const documentElement = document && document.documentElement; + +const rTypeNamespace = /^([^.]*)(?:\.(.+)|)/; + +// Only count HTML whitespace +// Other whitespace should count in values +// https://infra.spec.whatwg.org/#ascii-whitespace +const rNotHtmlWhite = /[^\x20\t\r\n\f]+/g; + +// Define a local copy of $ +const $ = function(selector) { + // The $ object is actually just the init constructor 'enhanced' + // Need init if $ is called (just allow error to be thrown if not included) + return new $.Dom(selector); +}; + +$.fn = $.prototype = { + constructor: $, + // The default length of a $ object is 0 + length: 0, +}; + +// A global GUID counter for objects +$.guid = 1; + +// User data storage +$.data = dataUser; + +$.merge = function(first, second) { + let len = +second.length; + let i = first.length; + for (let j = 0; j < len; j++) { + first[i++] = second[j]; + } + first.length = i; + return first; +}; + +$.parseHTML = function(string) { + // Inline events will not execute when the HTML is parsed; this includes, for example, sending GET requests for images. + const context = document.implementation.createHTMLDocument(); + // Set the base href for the created document so any parsed elements with URLs + // are based on the document's URL + const base = context.createElement('base'); + base.href = document.location.href; + context.head.appendChild(base); + + context.body.innerHTML = string; + // remove scripts + const scripts = context.getElementsByTagName('script'); + for (let i = 0; i < scripts.length; i++) { + scripts[i].remove(); + } + return Array.from(context.body.childNodes); +}; + +if (typeof Symbol === 'function') { + $.fn[Symbol.iterator] = Array.prototype[Symbol.iterator]; +} + +$.fn.toArray = function() { + return Array.from(this); +}; + +// Take an array of elements and push it onto the stack +// (returning the new matched element set) +$.fn.pushStack = function(elements) { + // Build a new $ matched element set + const ret = $.merge(this.constructor(), elements); + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + // Return the newly-formed element set + return ret; +}; + +$.fn.find = function(selector) { + const [el] = this; + const ret = this.pushStack([]); + if (!el) return ret; + // Early return if context is not an element, document or document fragment + const { nodeType } = el; + if (nodeType !== 1 && nodeType !== 9 && nodeType !== 11) { + return ret; + } + if (typeof selector !== 'string') { + if (el !== selector && el.contains(selector)) { + $.merge(ret, [selector]); + } + } else { + $.merge(ret, el.querySelectorAll(selector)); + } + return ret; +}; + +$.fn.add = function(selector, context) { + const newElements = $(selector, context).toArray(); + const prevElements = this.toArray(); + const ret = this.pushStack([]); + $.merge(ret, uniq(prevElements.concat(newElements))); + return ret; +}; + +$.fn.addBack = function() { + return this.add(this.prevObject); +}; + +// A simple way to check for HTML strings +// Prioritize #id over <tag> to avoid XSS via location.hash (trac-9521) +// Strict HTML recognition (trac-11290: must start with <) +// Shortcut simple #id case for speed +const rQuickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/; + +function isObviousHtml(input) { + return ( + input[0] === '<' && input[input.length - 1] === '>' && input.length >= 3 + ); +} + +const Dom = function(selector) { + if (!selector) { + // HANDLE: $(""), $(null), $(undefined), $(false) + return this; + } + if (typeof selector === 'function') { + // HANDLE: $(function) + // Shortcut for document ready + throw new Error('function not supported'); + } + if (arguments.length > 1) { + throw new Error('selector with context not supported'); + } + if (selector.nodeType) { + // HANDLE: $(DOMElement) + this[0] = selector; + this.length = 1; + return this; + } + let match; + if (isObviousHtml(selector + '')) { + // Handle obvious HTML strings + // Assume that strings that start and end with <> are HTML and skip + // the regex check. This also handles browser-supported HTML wrappers + // like TrustedHTML. + match = [null, selector, null]; + } else if (typeof selector === 'string') { + // Handle HTML strings or selectors + match = rQuickExpr.exec(selector); + } else { + // Array-like + return $.merge(this, selector); + } + if (!match || !match[1]) { + // HANDLE: $(expr) + return $root.find(selector); + } + // Match html or make sure no context is specified for #id + // Note: match[1] may be a string or a TrustedHTML wrapper + if (match[1]) { + // HANDLE: $(html) -> $(array) + $.merge(this, $.parseHTML(match[1])); + return this; + } + // HANDLE: $(#id) + const el = document.getElementById(match[2]); + if (el) { + // Inject the element directly into the $ object + this[0] = el; + this.length = 1; + } + return this; +}; + +$.Dom = Dom; + +// Give the init function the $ prototype for later instantiation +Dom.prototype = $.fn; + +// Events + +$.Event = Event; + +$.event = { + special: Object.create(null), +}; + +$.event.has = function(elem) { + return dataPriv.has(elem, 'events'); +}; + +$.event.on = function(elem, types, selector, data, fn, one) { + + // Types can be a map of types/handlers + if (typeof types === 'object') { + // ( types-Object, selector, data ) + if (typeof selector !== 'string') { + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for (let type in types) { + $.event.on(elem, type, selector, data, types[type], one); + } + return elem; + } + + if (data == null && fn == null) { + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if (fn == null) { + if (typeof selector === 'string') { + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if (!fn) { + return elem; + } + if (one === 1) { + const origFn = fn; + fn = function(event) { + // Can use an empty set, since event contains the info + $().off(event); + return origFn.apply(this, arguments); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || (origFn.guid = $.guid++); + } + for (let i = 0; i < elem.length; i++) { + $.event.add(elem[i], types, fn, data, selector); + } +}; + +$.event.add = function(elem, types, handler, data, selector) { + // Only attach events to objects for which we can store data + if (typeof elem != 'object') { + return; + } + + const elemData = dataPriv.create(elem); + + // Caller can pass in an object of custom data in lieu of the handler + let handleObjIn; + if (handler.handler) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if (selector) { + documentElement.matches(selector); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if (!handler.guid) { + handler.guid = $.guid++; + } + + // Init the element's event structure and main handler, if this is the first + let events; + if (!(events = elemData.events)) { + events = elemData.events = Object.create(null); + } + let eventHandle; + if (!(eventHandle = elemData.handle)) { + eventHandle = elemData.handle = function(e) { + // Discard the second event of a $.event.trigger() and + // when an event is called after a page has unloaded + return (typeof $ !== 'undefined') + ? $.event.dispatch.apply(elem, arguments) + : undefined; + }; + } + + // Handle multiple events separated by a space + const typesArr = (types || '').match(rNotHtmlWhite) || ['']; + let i = typesArr.length; + while (i--) { + const [, origType, ns = ''] = rTypeNamespace.exec(typesArr[i]); + // There *must* be a type, no attaching namespace-only handlers + if (!origType) { + continue; + } + + const namespaces = ns.split('.').sort(); + // If event changes its type, use the special event handlers for the changed type + let special = $.event.special[origType]; + // If selector defined, determine special event api type, otherwise given type + const type = (special && (selector ? special.delegateType : special.bindType)) || origType; + // Update special based on newly reset type + special = $.event.special[type]; + // handleObj is passed to all event handlers + const handleObj = Object.assign( + { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + namespace: namespaces.join('.'), + }, + handleObjIn + ); + + let handlers; + // Init the event handler queue if we're the first + if (!(handlers = events[type])) { + handlers = events[type] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( + !special || !special.setup || + special.setup.call(elem, data, namespaces, eventHandle) === false + ) { + if (elem.addEventListener) { + elem.addEventListener(type, eventHandle); + } + } + } + + if (special && special.add) { + special.add.call(elem, handleObj); + if (!handleObj.handler.guid) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if (selector) { + handlers.splice(handlers.delegateCount++, 0, handleObj); + } else { + handlers.push(handleObj); + } + } +}; + +// Detach an event or set of events from an element +$.event.remove = function(elem, types, handler, selector, mappedTypes) { + + const elemData = dataPriv.get(elem); + if (!elemData || !elemData.events) return; + const events = elemData.events; + + // Once for each type.namespace in types; type may be omitted + const typesArr = (types || '').match(rNotHtmlWhite) || ['']; + let i = typesArr.length; + while (i--) { + const [, origType, ns = ''] = rTypeNamespace.exec(typesArr[i]); + // Unbind all events (on this namespace, if provided) for the element + if (!origType) { + for (const type in events) { + $.event.remove( + elem, + type + typesArr[i], + handler, + selector, + true + ); + } + continue; + } + + const special = $.event.special[origType]; + const type = (special && (selector ? special.delegateType : special.bindType)) || origType; + const handlers = events[type]; + if (!handlers || handlers.length === 0) continue; + + const namespaces = ns.split('.').sort(); + const rNamespace = ns + ? new RegExp('(^|\\.)' + namespaces.join('\\.(?:.*\\.|)') + '(\\.|$)') + : null; + + // Remove matching events + const origCount = handlers.length; + let j = origCount; + while (j--) { + const handleObj = handlers[j]; + + if ( + (mappedTypes || origType === handleObj.origType) && + (!handler || handler.guid === handleObj.guid) && + (!rNamespace || rNamespace.test(handleObj.namespace)) && + (!selector || + selector === handleObj.selector || + (selector === '**' && handleObj.selector)) + ) { + handlers.splice(j, 1); + if (handleObj.selector) { + handlers.delegateCount--; + } + if (special && special.remove) { + special.remove.call(elem, handleObj); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if (origCount && handlers.length === 0) { + if ( + !special || !special.teardown || + special.teardown.call(elem, namespaces, elemData.handle) === false + ) { + // This "if" is needed for plain objects + if (elem.removeEventListener) { + elem.removeEventListener(type, elemData.handle); + } + } + delete events[type]; + } + } + + // Remove data if it's no longer used + if (isEmpty(events)) { + dataPriv.remove(elem, 'handle'); + dataPriv.remove(elem, 'events'); + } +}; + +$.event.dispatch = function(nativeEvent) { + + const elem = this; + // Make a writable $.Event from the native event object + const event = $.event.fix(nativeEvent); + event.delegateTarget = elem; + // Use the fix-ed $.Event rather than the (read-only) native event + const args = Array.from(arguments); + args[0] = event; + + const eventsData = dataPriv.get(elem, 'events'); + const handlers = (eventsData && eventsData[event.type]) || []; + const special = $.event.special[event.type]; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if (special && special.preDispatch) { + if (special.preDispatch.call(elem, event) === false) return; + } + + // Determine handlers + const handlerQueue = $.event.handlers.call(elem, event, handlers); + + // Run delegates first; they may want to stop propagation beneath us + let i = 0; + let matched; + while ((matched = handlerQueue[i++]) && !event.isPropagationStopped()) { + event.currentTarget = matched.elem; + let j = 0; + let handleObj; + while ( + (handleObj = matched.handlers[j++]) && + !event.isImmediatePropagationStopped() + ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + const origSpecial = $.event.special[handleObj.origType]; + let handler; + if (origSpecial && origSpecial.handle) { + handler = origSpecial.handle; + } else { + handler = handleObj.handler; + } + + const ret = handler.apply(matched.elem, args); + if (ret !== undefined) { + if ((event.result = ret) === false) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + + // Call the postDispatch hook for the mapped type + if (special && special.postDispatch) { + special.postDispatch.call(elem, event); + } + + return event.result; +}, + +$.event.handlers = function(event, handlers) { + + const delegateCount = handlers.delegateCount; + const handlerQueue = []; + + // Find delegate handlers + if ( + delegateCount && + // Support: Firefox <=42 - 66+ + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11+ + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !(event.type === 'click' && event.button >= 1) + ) { + for (let cur = event.target; cur !== this; cur = cur.parentNode || this) { + // Don't check non-elements (trac-13208) + // Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764) + if ( + cur.nodeType === 1 && + !(event.type === 'click' && cur.disabled === true) + ) { + const matchedHandlers = []; + const matchedSelectors = {}; + for (let i = 0; i < delegateCount; i++) { + const handleObj = handlers[i]; + // Don't conflict with Object.prototype properties (trac-13203) + const sel = handleObj.selector + ' '; + if (matchedSelectors[sel] === undefined) { + matchedSelectors[sel] = cur.matches(sel); + } + if (matchedSelectors[sel]) { + matchedHandlers.push(handleObj); + } + } + if (matchedHandlers.length) { + handlerQueue.push({ + elem: cur, + handlers: matchedHandlers, + }); + } + } + } + } + + // Add the remaining (directly-bound) handlers + if (delegateCount < handlers.length) { + handlerQueue.push({ + elem: this, + handlers: handlers.slice(delegateCount), + }); + } + + return handlerQueue; +}; + +$.event.fix = function(originalEvent) { + return originalEvent.envelope ? originalEvent : new Event(originalEvent); +}; + +// A central reference to the root $(document) +const $root = $(document); + +export { $ as default }; diff --git a/packages/joint-core/src/mvc/Dom/Event.mjs b/packages/joint-core/src/mvc/Dom/Event.mjs new file mode 100644 index 0000000000..e2821ef030 --- /dev/null +++ b/packages/joint-core/src/mvc/Dom/Event.mjs @@ -0,0 +1,130 @@ +export const Event = function(src, props) { + // Allow instantiation without the 'new' keyword + if (!(this instanceof Event)) { + return new Event(src, props); + } + + // Event object + if (src && src.type) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented + ? returnTrue + : returnFalse; + + // Create target properties + this.target = src.target; + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if (props) { + Object.assign(this, props); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = (src && src.timeStamp) || Date.now(); + + // Mark it as fixed + this.envelope = true; +}; + +// $.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +Event.prototype = { + constructor: Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + preventDefault: function() { + const evt = this.originalEvent; + this.isDefaultPrevented = returnTrue; + if (evt) { + evt.preventDefault(); + } + }, + stopPropagation: function() { + const evt = this.originalEvent; + this.isPropagationStopped = returnTrue; + if (evt) { + evt.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + const evt = this.originalEvent; + this.isImmediatePropagationStopped = returnTrue; + if (evt) { + evt.stopImmediatePropagation(); + } + this.stopPropagation(); + }, +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +[ + 'altKey', + 'bubbles', + 'cancelable', + 'changedTouches', + 'ctrlKey', + 'detail', + 'eventPhase', + 'metaKey', + 'pageX', + 'pageY', + 'shiftKey', + 'view', + 'char', + 'code', + 'charCode', + 'key', + 'keyCode', + 'button', + 'buttons', + 'clientX', + 'clientY', + 'offsetX', + 'offsetY', + 'pointerId', + 'pointerType', + 'screenX', + 'screenY', + 'targetTouches', + 'toElement', + 'touches', + 'which', +].forEach((name) => addProp(name)); + +function addProp(name) { + Object.defineProperty(Event.prototype, name, { + enumerable: true, + configurable: true, + get: function() { + return this.originalEvent ? this.originalEvent[name] : undefined; + }, + set: function(value) { + Object.defineProperty(this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value, + }); + }, + }); +} + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} diff --git a/packages/joint-core/src/mvc/Dom/events.mjs b/packages/joint-core/src/mvc/Dom/events.mjs new file mode 100644 index 0000000000..6093f179bd --- /dev/null +++ b/packages/joint-core/src/mvc/Dom/events.mjs @@ -0,0 +1,67 @@ +// TODO: should not read config outside the mvc package +import { config } from '../../config/index.mjs'; +import $ from './Dom.mjs'; + + +// Special events + +export const special = Object.create(null); + +special.load = { + // Prevent triggered image.load events from bubbling to window.load + noBubble: true, +}; + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in $. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +[ + ['mouseenter', 'mouseover'], + ['mouseleave', 'mouseout'], + ['pointerenter', 'pointerover'], + ['pointerleave', 'pointerout'], +].forEach(([orig, fix]) => { + special[orig] = { + delegateType: fix, + bindType: fix, + handle: function(event) { + const target = this; + const related = event.relatedTarget; + const handleObj = event.handleObj; + let ret; + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if (!related || !target.contains(related)) { + event.type = handleObj.origType; + ret = handleObj.handler.apply(target, arguments); + event.type = fix; + } + return ret; + }, + }; +}); + + +// Gestures + +const maxDelay = config.doubleTapInterval; +const minDelay = 30; + +special.dbltap = { + bindType: 'touchend', + delegateType: 'touchend', + handle: function(event, ...args) { + const { handleObj, target } = event; + const targetData = $.data.create(target); + const now = new Date().getTime(); + const delta = 'lastTouch' in targetData ? now - targetData.lastTouch : 0; + if (delta < maxDelay && delta > minDelay) { + targetData.lastTouch = null; + event.type = handleObj.origType; + // let $ handle the triggering of "dbltap" event handlers + handleObj.handler.call(this, event, ...args); + } else { + targetData.lastTouch = now; + } + } +}; diff --git a/packages/joint-core/src/mvc/Dom/index.mjs b/packages/joint-core/src/mvc/Dom/index.mjs new file mode 100644 index 0000000000..b9d2b4826a --- /dev/null +++ b/packages/joint-core/src/mvc/Dom/index.mjs @@ -0,0 +1,9 @@ +import { default as $ } from './Dom.mjs'; +import * as methods from './methods.mjs'; +import { special } from './events.mjs'; + +Object.assign($.fn, methods); +Object.assign($.event.special, special); + +export default $; + diff --git a/packages/joint-core/src/mvc/Dom/methods.mjs b/packages/joint-core/src/mvc/Dom/methods.mjs new file mode 100644 index 0000000000..76b3413e09 --- /dev/null +++ b/packages/joint-core/src/mvc/Dom/methods.mjs @@ -0,0 +1,211 @@ +import $ from './Dom.mjs'; +import V from '../../V/index.mjs'; +import { dataPriv, cleanNodesData } from './vars.mjs'; + +// Manipulation + +export function remove() { + for (let i = 0; i < this.length; i++) { + const node = this[i]; + dataPriv.remove(node); + if (node.parentNode) { + node.parentNode.removeChild(node); + } + } +} + +export function empty() { + for (let i = 0; i < this.length; i++) { + const node = this[i]; + if (node.nodeType === 1) { + cleanNodesData(dataPriv, node.getElementsByTagName('*')); + // Remove any remaining nodes + node.textContent = ''; + } + } + return this; +} + +export function html(html) { + const [el] = this; + if (!el) return null; + if (!html) return el.innerHTML; + cleanNodesData(dataPriv, el.getElementsByTagName('*')); + if (typeof string === 'string') { + el.innerHTML = html; + } else { + el.innerHTML = ''; + return this.append(html); + } + return this; +} + +export function text(text) { + const [el] = this; + if (!el) return null; + if (!text) return el.textContent; + el.textContent = text; + return this; +} + +export function append(...nodes) { + const [parent] = this; + if (!parent) return this; + nodes.forEach((node) => { + if (!node) return; + if (typeof node === 'string') { + parent.append(...$.parseHTML(node)); + } else if (node.toString() === '[object Object]') { + // $ object + parent.append(...node.toArray()); + } else { + // DOM node + parent.appendChild(node); + } + }); + return this; +} + +export function prepend(...nodes) { + const [parent] = this; + if (!parent) return this; + nodes.forEach((node) => { + if (!node) return; + if (typeof node === 'string') { + parent.prepend(...$.parseHTML(node)); + } else if (node.toString() === '[object Object]') { + // $ object + parent.prepend(...node.toArray()); + } else { + // DOM node + parent.insertBefore(node, parent.firstChild); + } + }); + return this; +} + +export function appendTo(parent) { + $(parent).append(this); + return this; +} + +export function prependTo(parent) { + $(parent).prepend(this); + return this; +} + +// Styles and attributes + +export function css(name, value) { + let styles; + if (typeof name === 'string') { + if (value === undefined) { + const [el] = this; + if (!el) return null; + return el.style[name]; + } else { + styles = { [name]: value }; + } + } else if (!name) { + throw new Error('no styles provided'); + } else { + styles = name; + } + for (let style in styles) { + if (styles.hasOwnProperty(style)) { + for (let i = 0; i < this.length; i++) { + this[i].style[style] = styles[style]; + } + } + } + return this; +} + +export function attr(name, value) { + let attributes; + if (typeof name === 'string') { + if (value === undefined) { + const [el] = this; + if (!el) return null; + return el.getAttribute(name); + } else { + attributes = { [name]: value }; + } + } else if (!name) { + throw new Error('no attributes provided'); + } else { + attributes = name; + } + for (let attr in attributes) { + if (attributes.hasOwnProperty(attr)) { + for (let i = 0; i < this.length; i++) { + this[i].setAttribute(attr, attributes[attr]); + } + } + } + return this; +} + +// Classes + +export function removeClass() { + for (let i = 0; i < this.length; i++) { + const node = this[i]; + V.prototype.removeClass.apply({ node }, arguments); + } + return this; +} + +export function addClass() { + for (let i = 0; i < this.length; i++) { + const node = this[i]; + V.prototype.addClass.apply({ node }, arguments); + } + return this; +} + +export function hasClass() { + const [node] = this; + if (!node) return false; + return V.prototype.hasClass.apply({ node }, arguments); +} + +// Events + +export function on(types, selector, data, fn) { + return $.event.on(this, types, selector, data, fn); +} + +export function one(types, selector, data, fn) { + return $.event.on(this, types, selector, data, fn, 1); +} + +export function off(types, selector, fn) { + if (types && types.preventDefault && types.handleObj) { + // ( event ) dispatched $.Event + const handleObj = types.handleObj; + $(types.delegateTarget).off( + handleObj.namespace + ? handleObj.origType + '.' + handleObj.namespace + : handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if (typeof types === 'object') { + // ( types-object [, selector] ) + for (let type in types) { + this.off(type, selector, types[type]); + } + return this; + } + if (selector === false || typeof selector === 'function') { + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + for (let i = 0; i < this.length; i++) { + $.event.remove(this[i], types, fn, selector); + } +} diff --git a/packages/joint-core/src/mvc/Dom/vars.mjs b/packages/joint-core/src/mvc/Dom/vars.mjs new file mode 100644 index 0000000000..dad70e9412 --- /dev/null +++ b/packages/joint-core/src/mvc/Dom/vars.mjs @@ -0,0 +1,12 @@ +import Data from '../Data.mjs'; + +export const dataPriv = new Data(); + +export const dataUser = new Data(); + +export function cleanNodesData(data, nodes) { + let i = nodes.length; + while (i--) { + data.remove(nodes[i]); + } +} diff --git a/packages/joint-core/src/mvc/View.mjs b/packages/joint-core/src/mvc/View.mjs index b1fef12116..196461e1be 100644 --- a/packages/joint-core/src/mvc/View.mjs +++ b/packages/joint-core/src/mvc/View.mjs @@ -1,4 +1,5 @@ -import $ from 'jquery'; +import $ from './Dom/index.mjs'; + import * as util from '../util/index.mjs'; import V from '../V/index.mjs'; import { ViewBase } from './ViewBase.mjs'; @@ -320,27 +321,3 @@ export const View = ViewBase.extend({ return ViewBase.extend.call(this, protoProps, staticProps); } }); - -const DoubleTapEventName = 'dbltap'; -if ($.event && !(DoubleTapEventName in $.event.special)) { - const maxDelay = config.doubleTapInterval; - const minDelay = 30; - $.event.special[DoubleTapEventName] = { - bindType: 'touchend', - delegateType: 'touchend', - handle: function(event, ...args) { - const { handleObj, target } = event; - const targetData = $.data(target); - const now = new Date().getTime(); - const delta = 'lastTouch' in targetData ? now - targetData.lastTouch : 0; - if (delta < maxDelay && delta > minDelay) { - targetData.lastTouch = null; - event.type = handleObj.origType; - // let jQuery handle the triggering of "dbltap" event handlers - handleObj.handler.call(this, event, ...args); - } else { - targetData.lastTouch = now; - } - } - }; -} diff --git a/packages/joint-core/src/mvc/ViewBase.mjs b/packages/joint-core/src/mvc/ViewBase.mjs index 2a4024b77d..5737d60c21 100644 --- a/packages/joint-core/src/mvc/ViewBase.mjs +++ b/packages/joint-core/src/mvc/ViewBase.mjs @@ -1,13 +1,13 @@ -import $ from 'jquery'; +import $ from './Dom/index.mjs'; import { Events } from './Events.mjs'; import { extend } from './mvcUtils.mjs'; -import { +import { assign, - isFunction, - pick, - result, - uniqueId + isFunction, + pick, + result, + uniqueId } from '../util/util.mjs'; // ViewBase @@ -43,7 +43,7 @@ assign(ViewBase.prototype, Events, { // The default `tagName` of a View's element is `"div"`. tagName: 'div', - // jQuery delegate for element lookup, scoped to DOM elements within the + // mvc.$ delegate for element lookup, scoped to DOM elements within the // current view. This should be preferred to global lookups where possible. $: function(selector) { return this.$el.find(selector); @@ -89,7 +89,7 @@ assign(ViewBase.prototype, Events, { }, // Creates the `this.el` and `this.$el` references for this view using the - // given `el`. `el` can be a CSS selector or an HTML string, a jQuery + // given `el`. `el` can be a CSS selector or an HTML string, a mvc.$ // context or an element. Subclasses can override this to utilize an // alternative DOM manipulation API and are only required to set the // `this.el` property. diff --git a/packages/joint-core/src/mvc/index.mjs b/packages/joint-core/src/mvc/index.mjs index 778a84f8c5..4bdc549c3f 100644 --- a/packages/joint-core/src/mvc/index.mjs +++ b/packages/joint-core/src/mvc/index.mjs @@ -5,3 +5,6 @@ export * from './Collection.mjs'; export * from './Model.mjs'; export * from './ViewBase.mjs'; export * from './mvcUtils.mjs'; +export { default as Data } from './Data.mjs'; +export { default as $ } from './Dom/index.mjs'; +export * from './Dom/Event.mjs'; diff --git a/packages/joint-core/src/util/util.mjs b/packages/joint-core/src/util/util.mjs index fe369310a5..b41a7bb761 100644 --- a/packages/joint-core/src/util/util.mjs +++ b/packages/joint-core/src/util/util.mjs @@ -1,4 +1,4 @@ -import $ from 'jquery'; +import $ from '../mvc/Dom/index.mjs'; import V from '../V/index.mjs'; import { config } from '../config/index.mjs'; import { @@ -104,10 +104,10 @@ export const parseDOMJSON = function(json, namespace) { node = document.createElementNS(ns, tagName); const svg = (ns === svgNamespace); - const wrapper = (svg) ? V : $; + const wrapperNode = (svg) ? V(node) : $(node); // Attributes const attributes = nodeDef.attributes; - if (attributes) wrapper(node).attr(attributes); + if (attributes) wrapperNode.attr(attributes); // Style const style = nodeDef.style; if (style) $(node).css(style); @@ -129,7 +129,7 @@ export const parseDOMJSON = function(json, namespace) { const nodeSelector = nodeDef.selector; if (selectors[nodeSelector]) throw new Error('json-dom-parser: selector must be unique'); selectors[nodeSelector] = node; - wrapper(node).attr('joint-selector', nodeSelector); + wrapperNode.attr('joint-selector', nodeSelector); } // Groups if (nodeDef.hasOwnProperty('groupSelector')) { @@ -863,31 +863,21 @@ export const breakText = function(text, size, styles = {}, opt = {}) { export const sanitizeHTML = function(html) { // Ignores tags that are invalid inside a <div> tag (e.g. <body>, <head>) + const [outputEl] = $.parseHTML('<div>' + html + '</div>'); - // If documentContext (second parameter) is not specified or given as `null` or `undefined`, a new document is used. - // Inline events will not execute when the HTML is parsed; this includes, for example, sending GET requests for images. - - // If keepScripts (last parameter) is `false`, scripts are not executed. - var output = $($.parseHTML('<div>' + html + '</div>', null, false)); - - output.find('*').each(function() { // for all nodes - var currentNode = this; - - $.each(currentNode.attributes, function() { // for all attributes in each node - var currentAttribute = this; - - var attrName = currentAttribute.name; - var attrValue = currentAttribute.value; - + Array.from(outputEl.getElementsByTagName('*')).forEach(function(node) { // for all nodes + const names = node.getAttributeNames(); + names.forEach(function(name) { + const value = node.getAttribute(name); // Remove attribute names that start with "on" (e.g. onload, onerror...). // Remove attribute values that start with "javascript:" pseudo protocol (e.g. `href="javascript:alert(1)"`). - if (attrName.startsWith('on') || attrValue.startsWith('javascript:') || attrValue.startsWith('data:') || attrValue.startsWith('vbscript:')) { - $(currentNode).removeAttr(attrName); + if (name.startsWith('on') || value.startsWith('javascript:' || value.startsWith('data:') || value.startsWith('vbscript:'))) { + node.removeAttribute(name); } }); }); - return output.html(); + return outputEl.innerHTML; }; // Download `blob` as file with `fileName`. @@ -1086,10 +1076,9 @@ export const getElementBBox = function(el) { // See http://james.padolsey.com/javascript/sorting-elements-with-jquery/. export const sortElements = function(elements, comparator) { - var $elements = $(elements); - var placements = $elements.map(function() { + elements = $(elements).toArray(); + var placements = elements.map(function(sortElement) { - var sortElement = this; var parentNode = sortElement.parentNode; // Since the element itself will change position, we have // to have some way of storing it's original position in @@ -1109,9 +1098,11 @@ export const sortElements = function(elements, comparator) { }; }); - return Array.prototype.sort.call($elements, comparator).each(function(i) { - placements[i].call(this); - }); + elements.sort(comparator); + for (var i = 0; i < placements.length; i++) { + placements[i].call(elements[i]); + } + return elements; }; // Sets attributes on the given element and its descendants based on the selector. diff --git a/packages/joint-core/test/jointjs/basic.js b/packages/joint-core/test/jointjs/basic.js index e8aba7b160..2bbe31c6d7 100644 --- a/packages/joint-core/test/jointjs/basic.js +++ b/packages/joint-core/test/jointjs/basic.js @@ -1672,7 +1672,7 @@ QUnit.module('basic', function(hooks) { var elView = this.paper.findViewByModel(el); var defs = this.paper.svg.querySelector('defs'); - var defsChildrenCount = $(defs).children().length; + var defsChildrenCount = defs.children.length; assert.equal(defsChildrenCount, 0, 'there is no element in the <defs> by default.'); el.attr('rect/fill', { @@ -1685,10 +1685,10 @@ QUnit.module('basic', function(hooks) { // PhantomJS fails to lookup linearGradient with `querySelectorAll()` (also with jQuery). // Therefore, we use the following trick to check whether the element is in DOM. - defsChildrenCount = $(defs).children().length; + defsChildrenCount = defs.children.length; assert.equal(defsChildrenCount, 1, 'one element got created in <defs>.'); - var linearGradient = $(defs).children()[0]; + var linearGradient = defs.firstElementChild; assert.equal(linearGradient.tagName.toLowerCase(), 'lineargradient', 'one <linearGradient> element got created in <defs>.'); assert.equal('url(#' + linearGradient.id + ')', elView.$('rect').attr('fill'), 'fill attribute pointing to the newly created gradient with url()'); @@ -1701,11 +1701,11 @@ QUnit.module('basic', function(hooks) { ] }); - defsChildrenCount = $(defs).children().length; + defsChildrenCount = defs.children.length; assert.equal(defsChildrenCount, 1, 'one element is in <defs>.'); - linearGradient = $(defs).children()[0]; + linearGradient = defs.firstElementChild; assert.equal(linearGradient.tagName.toLowerCase(), 'lineargradient', 'still only one <linearGradient> element is in <defs>.'); assert.equal('url(#' + linearGradient.id + ')', elView.$('rect').attr('stroke'), 'stroke attribute pointing to the correct gradient with url()'); @@ -1723,7 +1723,7 @@ QUnit.module('basic', function(hooks) { var defs = this.paper.svg.querySelector('defs'); - var defsChildrenCount = $(defs).children().length; + var defsChildrenCount = defs.children.length; assert.equal(defsChildrenCount, 0, 'there is no element in the <defs> by default.'); el.attr('rect/filter', { name: 'dropShadow', args: { dx: 2, dy: 2, blur: 3 }}); @@ -1731,30 +1731,30 @@ QUnit.module('basic', function(hooks) { // PhantomJS fails to lookup linearGradient with `querySelectorAll()` (also with jQuery). // Therefore, we use the following trick to check whether the element is in DOM. - defsChildrenCount = $(defs).children().length; + defsChildrenCount = defs.children.length; assert.equal(defsChildrenCount, 1, 'one element got created in <defs>.'); - var filter = $(defs).children()[0]; + var filter = defs.firstElementChild; assert.equal(filter.tagName.toLowerCase(), 'filter', 'one <filter> element got created in <defs>.'); assert.checkSvgAttr('filter', elView.$('rect'), 'url(#' + filter.id + ')', 'filter attribute pointing to the newly created filter with url()'); el2.attr('rect/filter', { name: 'dropShadow', args: { dx: 2, dy: 2, blur: 3 }}); - defsChildrenCount = $(defs).children().length; + defsChildrenCount = defs.children.length; assert.equal(defsChildrenCount, 1, 'one element still in <defs>.'); - filter = $(defs).children()[0]; + filter = defs.firstElementChild; assert.equal(filter.tagName.toLowerCase(), 'filter', 'still only one <filter> element is in <defs>.'); assert.checkSvgAttr('filter', el2View.$('rect'), 'url(#' + filter.id + ')', 'filter attribute pointing to the correct gradient with url()'); el.attr('rect/filter', { name: 'blur', args: { x: 5 }}); - defsChildrenCount = $(defs).children().length; + defsChildrenCount = defs.children.length; assert.equal(defsChildrenCount, 2, 'now two elements are in <defs>.'); - var filter0 = $(defs).children()[0]; - var filter1 = $(defs).children()[1]; + var filter0 = defs.children[0]; + var filter1 = defs.children[1]; assert.deepEqual([filter0.tagName.toLowerCase(), filter1.tagName.toLowerCase()], ['filter', 'filter'], 'both elements in <defs> are <filter> elements.'); assert.notEqual(filter0.id, filter1.id, 'both <filter> elements have different IDs'); diff --git a/packages/joint-core/test/jointjs/cellView.js b/packages/joint-core/test/jointjs/cellView.js index 0f4b5314ea..92cd415e55 100644 --- a/packages/joint-core/test/jointjs/cellView.js +++ b/packages/joint-core/test/jointjs/cellView.js @@ -155,7 +155,7 @@ QUnit.module('cellView', function(hooks) { ` }].forEach(attributes => { cell.set(attributes); - const [a] = cellView.findBySelector('a'); + const a = cellView.findNode('a'); const bbox = V(a).getBBox({ target: cellView.el }); assert.equal(bbox.x, ax + gx); assert.equal(bbox.y, ay + gy); diff --git a/packages/joint-core/test/jointjs/connectionPoints.js b/packages/joint-core/test/jointjs/connectionPoints.js index 417c958115..b61c22c94f 100644 --- a/packages/joint-core/test/jointjs/connectionPoints.js +++ b/packages/joint-core/test/jointjs/connectionPoints.js @@ -282,11 +282,11 @@ QUnit.module('connectionPoints', function(hooks) { }]); // lookup off line = new g.Line(tp.clone(), sp.clone()); - cp = connectionPointFn.call(lv1, line, rv1, rv1.findBySelector('wrapper')[0], { selector: false }); + cp = connectionPointFn.call(lv1, line, rv1, rv1.findNode('wrapper'), { selector: false }); assert.ok(cp.round().equals(r1.getBBox().rightMiddle())); // lookup on line = new g.Line(tp.clone(), sp.clone()); - cp = connectionPointFn.call(lv1, line, rv1, rv1.findBySelector('wrapper')[0], { selector: undefined }); + cp = connectionPointFn.call(lv1, line, rv1, rv1.findNode('wrapper'), { selector: undefined }); assert.ok(cp.round().equals(r1.getBBox().center().offset(25, 0))); }); diff --git a/packages/joint-core/test/jointjs/core/util.js b/packages/joint-core/test/jointjs/core/util.js index 79461bdf14..ebfc23b391 100644 --- a/packages/joint-core/test/jointjs/core/util.js +++ b/packages/joint-core/test/jointjs/core/util.js @@ -1102,10 +1102,10 @@ QUnit.module('util', function(hooks) { hooks.beforeEach(function() { $htmlElement = $('<div/>').css({ position: 'absolute', - top: 10, - left: 20, - width: 50, - height: 60 + top: '10px', + left: '20px', + width: '50px', + height: '60px' }); $htmlElement.appendTo(document.body); @@ -1426,6 +1426,14 @@ QUnit.module('util', function(hooks) { }); }); + QUnit.test('sanitizeHTML', function(assert) { + + assert.equal(joint.util.sanitizeHTML('<html><body><p>Hello</p></body></html>'), '<p>Hello</p>'); + assert.equal(joint.util.sanitizeHTML('<p>Hello</p><script>alert("Hacked");</script>'), '<p>Hello</p>'); + assert.equal(joint.util.sanitizeHTML('<p>Hello</p><img onload="alert("Hacked");">'), '<p>Hello</p><img>'); + assert.equal(joint.util.sanitizeHTML('<p>Hello</p><img src="javascript:alert("Hacked");">'), '<p>Hello</p><img>'); + }); + QUnit.test('getRectPoint', function(assert) { var x = 7; diff --git a/packages/joint-core/test/jointjs/dia/attributes.js b/packages/joint-core/test/jointjs/dia/attributes.js index 4d483441e3..02fdc78b47 100644 --- a/packages/joint-core/test/jointjs/dia/attributes.js +++ b/packages/joint-core/test/jointjs/dia/attributes.js @@ -134,7 +134,7 @@ QUnit.module('Attributes', function() { var el = new TestElement(); el.addTo(graph); var view = el.findView(paper); - var text = view.findBySelector('text')[0]; + var text = view.findNode('text'); var tspans = text.childNodes; assert.equal(text.getAttribute('x'), '51'); assert.equal(tspans[0].getAttribute('x'), null); @@ -170,7 +170,7 @@ QUnit.module('Attributes', function() { paper.options.embeddingMode = true; cell.attr(['root', 'containerSelector'], 'body'); - var body = cellView.findBySelector('body')[0]; + var body = cellView.findNode('body'); var highlightSpy = sinon.spy(); var unhighlightSpy = sinon.spy(); @@ -201,7 +201,7 @@ QUnit.module('Attributes', function() { QUnit.test('highlighting, magnet, validation', function(assert) { cell.attr(['root', 'magnetSelector'], 'body'); - var body = cellView.findBySelector('body')[0]; + var body = cellView.findNode('body'); var highlightSpy = sinon.spy(); var unhighlightSpy = sinon.spy(); @@ -242,7 +242,7 @@ QUnit.module('Attributes', function() { QUnit.test('highlighting, magnet, validation', function(assert) { cell.attr(['root', 'highlighterSelector'], 'body'); - var body = cellView.findBySelector('body')[0]; + var body = cellView.findNode('body'); var highlightSpy = sinon.spy(); var unhighlightSpy = sinon.spy(); @@ -528,7 +528,7 @@ QUnit.module('Attributes', function() { } }); - var bodyNode = cellView.findBySelector('body')[0]; + var bodyNode = cellView.findNode('body'); var markerAttribute = bodyNode.getAttribute('marker-start'); var match = idRegex.exec(markerAttribute); assert.ok(match); @@ -561,7 +561,7 @@ QUnit.module('Attributes', function() { } }); - var bodyNode = cellView.findBySelector('body')[0]; + var bodyNode = cellView.findNode('body'); var markerAttribute = bodyNode.getAttribute('marker-start'); var match = idRegex.exec(markerAttribute); assert.ok(match); @@ -588,7 +588,7 @@ QUnit.module('Attributes', function() { } }); - var bodyNode = cellView.findBySelector('body')[0]; + var bodyNode = cellView.findNode('body'); var markerAttribute = bodyNode.getAttribute('marker-end'); var match = idRegex.exec(markerAttribute); assert.ok(match); @@ -615,7 +615,7 @@ QUnit.module('Attributes', function() { } }); - var bodyNode = cellView.findBySelector('body')[0]; + var bodyNode = cellView.findNode('body'); var markerAttribute = bodyNode.getAttribute('marker-end'); var match = idRegex.exec(markerAttribute); assert.ok(match); @@ -657,7 +657,7 @@ QUnit.module('Attributes', function() { } }); - var bodyNode = cellView.findBySelector('body')[0]; + var bodyNode = cellView.findNode('body'); var markerAttribute = bodyNode.getAttribute('marker-end'); var match = idRegex.exec(markerAttribute); assert.ok(match); @@ -700,7 +700,7 @@ QUnit.module('Attributes', function() { } }); - var bodyNode = cellView.findBySelector('body')[0]; + var bodyNode = cellView.findNode('body'); var markerAttribute = bodyNode.getAttribute('marker-end'); var match = idRegex.exec(markerAttribute); assert.ok(match); @@ -743,7 +743,7 @@ QUnit.module('Attributes', function() { } }); - var bodyNode = cellView.findBySelector('body')[0]; + var bodyNode = cellView.findNode('body'); var markerAttribute = bodyNode.getAttribute('marker-end'); var match = idRegex.exec(markerAttribute); assert.ok(match); @@ -788,7 +788,7 @@ QUnit.module('Attributes', function() { } }); - var bodyNode = cellView.findBySelector('body')[0]; + var bodyNode = cellView.findNode('body'); var markerAttribute = bodyNode.getAttribute('marker-end'); var match = idRegex.exec(markerAttribute); assert.ok(match); @@ -823,7 +823,7 @@ QUnit.module('Attributes', function() { } }); - var bodyNode = cellView.findBySelector('body')[0]; + var bodyNode = cellView.findNode('body'); var markerAttribute = bodyNode.getAttribute('marker-mid'); var match = idRegex.exec(markerAttribute); assert.ok(match); @@ -851,7 +851,7 @@ QUnit.module('Attributes', function() { } }); - var bodyNode = cellView.findBySelector('body')[0]; + var bodyNode = cellView.findNode('body'); var markerAttribute = bodyNode.getAttribute('fill'); var match = idRegex.exec(markerAttribute); assert.ok(match); @@ -880,7 +880,7 @@ QUnit.module('Attributes', function() { } }); - var bodyNode = cellView.findBySelector('body')[0]; + var bodyNode = cellView.findNode('body'); var markerAttribute = bodyNode.getAttribute('stroke'); var match = idRegex.exec(markerAttribute); assert.ok(match); diff --git a/packages/joint-core/test/jointjs/dia/elementTools.js b/packages/joint-core/test/jointjs/dia/elementTools.js index 52fb1de13f..fc1959f564 100644 --- a/packages/joint-core/test/jointjs/dia/elementTools.js +++ b/packages/joint-core/test/jointjs/dia/elementTools.js @@ -184,7 +184,7 @@ QUnit.module('elementTools', function(hooks) { }); // magnet defined as a function var magnetSpy = sinon.spy(function(view) { - return view.findBySelector('body')[0]; + return view.findNode('body'); }); paper.options.defaultLink = defaultLinkSpy; var connect = new joint.elementTools.Connect({ magnet: magnetSpy }); @@ -200,7 +200,7 @@ QUnit.module('elementTools', function(hooks) { assert.deepEqual(newLink.source(), { id: element.id, magnet: 'body' }); assert.ok(magnetSpy.calledOn(connect)); // magnet defined as an SVGElement - connect.options.magnet = elementView.findBySelector('label')[0]; + connect.options.magnet = elementView.findNode('label'); evt = {}; connect.dragstart(evt); connect.drag(evt); diff --git a/packages/joint-core/test/jointjs/dia/linkTools.js b/packages/joint-core/test/jointjs/dia/linkTools.js index d4b205e405..b95dd78668 100644 --- a/packages/joint-core/test/jointjs/dia/linkTools.js +++ b/packages/joint-core/test/jointjs/dia/linkTools.js @@ -200,7 +200,7 @@ QUnit.module('linkTools', function(hooks) { }); // magnet defined as a function var magnetSpy = sinon.spy(function(view) { - return view.findBySelector('line')[0]; + return view.findNode('line'); }); paper.options.defaultLink = defaultLinkSpy; var connect = new joint.linkTools.Connect({ magnet: magnetSpy }); @@ -216,7 +216,7 @@ QUnit.module('linkTools', function(hooks) { assert.deepEqual(newLink.source(), { id: link.id, magnet: 'line' }); assert.ok(magnetSpy.calledOn(connect)); // magnet defined as an SVGElement - connect.options.magnet = linkView.findBySelector('wrapper')[0]; + connect.options.magnet = linkView.findNode('wrapper'); evt = {}; connect.dragstart(evt); connect.drag(evt); diff --git a/packages/joint-core/test/jointjs/elementPorts.js b/packages/joint-core/test/jointjs/elementPorts.js index ac587df01c..c01e9ba5a0 100644 --- a/packages/joint-core/test/jointjs/elementPorts.js +++ b/packages/joint-core/test/jointjs/elementPorts.js @@ -327,7 +327,7 @@ QUnit.module('element ports', function() { assert.equal(rect.length, 1); assert.equal(text.length, 1); assert.equal(text.attr('fill'), 'blue'); - assert.equal(text.text(), 'aaa'); + assert.equal(text[0].textContent, 'aaa'); var snd = shapeView.$el.find('.joint-port').eq(1); var sndPortShape = snd.children().eq(0); @@ -352,10 +352,10 @@ QUnit.module('element ports', function() { assert.equal(shapeView.$el.find('.joint-port').length, 2, 'port wraps'); assert.equal(shapeView.$el.find('.custom-port-markup').length, 1); - assert.equal(shapeView.$el.find('.custom-port-markup').prop('tagName'), 'circle'); + assert.equal(shapeView.$el.find('.custom-port-markup')[0].tagName, 'circle'); assert.equal(shapeView.$el.find('.custom-rect').length, 1); - assert.equal(shapeView.$el.find('.custom-rect').prop('tagName'), 'rect'); + assert.equal(shapeView.$el.find('.custom-rect')[0].tagName, 'rect'); }); QUnit.test('port update/render count', function(assert) { diff --git a/packages/joint-core/test/jointjs/elementView.js b/packages/joint-core/test/jointjs/elementView.js index dbfb905688..1019f13a70 100644 --- a/packages/joint-core/test/jointjs/elementView.js +++ b/packages/joint-core/test/jointjs/elementView.js @@ -249,7 +249,7 @@ QUnit.module('elementView', function(hooks) { elementView.model.resize(100, 100).translate(100, 100).rotate(90); - var rectInside = elementView.findBySelector('rectInside')[0]; + var rectInside = elementView.findNode('rectInside'); assert.checkBboxApproximately(1, elementView.getNodeBBox(rectInside), { x: 177, y: 121, @@ -259,7 +259,7 @@ QUnit.module('elementView', function(hooks) { assert.equal(V.matrixToTransformString(elementView.getNodeMatrix(rectInside)), 'matrix(1,0,0,1,0,0)'); - var rectOutside = elementView.findBySelector('rectOutside')[0]; + var rectOutside = elementView.findNode('rectOutside'); assert.checkBboxApproximately(1, elementView.getNodeBBox(rectOutside), { x: 121, y: 113, @@ -269,7 +269,7 @@ QUnit.module('elementView', function(hooks) { assert.equal(V.matrixToTransformString(elementView.getNodeMatrix(rectOutside)), 'matrix(1,0,0,1,0,0)'); - var circle = elementView.findBySelector('circle')[0]; + var circle = elementView.findNode('circle'); assert.checkBboxApproximately(1, elementView.getNodeBBox(circle), { x: 182, y: 106, diff --git a/packages/joint-core/test/jointjs/index.html b/packages/joint-core/test/jointjs/index.html index 7d9bd48a5e..f150ea1b38 100644 --- a/packages/joint-core/test/jointjs/index.html +++ b/packages/joint-core/test/jointjs/index.html @@ -1,6 +1,7 @@ <!DOCTYPE html> <html> <head> + <meta charset="UTF-8"> <title>JointJS test suite @@ -10,7 +11,6 @@
    - diff --git a/packages/joint-core/test/jointjs/mvc.viewBase.js b/packages/joint-core/test/jointjs/mvc.viewBase.js index 9c2e5b2cb0..cf0b574940 100644 --- a/packages/joint-core/test/jointjs/mvc.viewBase.js +++ b/packages/joint-core/test/jointjs/mvc.viewBase.js @@ -3,28 +3,28 @@ QUnit.module('joint.mvc.ViewBase', function(hooks) { var view; - + QUnit.module('mvc.ViewBase', { - + beforeEach: function() { $('#qunit-fixture').append( '

    Test

    ' ); - + view = new joint.mvc.ViewBase({ id: 'test-view', className: 'test-view', other: 'non-special-option' }); }, - + afterEach: function() { $('#testElement').remove(); $('#test-view').remove(); } - + }); - + QUnit.test('constructor', function(assert) { assert.expect(3); assert.equal(view.el.id, 'test-view'); @@ -37,12 +37,12 @@ QUnit.module('joint.mvc.ViewBase', function(hooks) { var myView = new joint.mvc.ViewBase; myView.setElement('

    test

    '); var result = myView.$('a b'); - + assert.strictEqual(result[0].innerHTML, 'test'); assert.ok(result.length === +result.length); }); - + QUnit.test('$el', function(assert) { assert.expect(2); var myView = new joint.mvc.ViewBase; @@ -51,7 +51,7 @@ QUnit.module('joint.mvc.ViewBase', function(hooks) { assert.strictEqual(myView.$el[0], myView.el); }); - + QUnit.test('initialize', function(assert) { assert.expect(1); var View = joint.mvc.View.extend({ @@ -59,7 +59,7 @@ QUnit.module('joint.mvc.ViewBase', function(hooks) { this.one = 1; } }); - + assert.strictEqual(new View().one, 1); }); @@ -70,7 +70,7 @@ QUnit.module('joint.mvc.ViewBase', function(hooks) { this.one = 1; } }); - + assert.strictEqual(new View().one, 1); }); @@ -84,7 +84,7 @@ QUnit.module('joint.mvc.ViewBase', function(hooks) { var _view = new View({}); assert.notEqual(_view.el, undefined); }); - + QUnit.test('render', function(assert) { assert.expect(1); var myView = new joint.mvc.ViewBase; @@ -94,22 +94,22 @@ QUnit.module('joint.mvc.ViewBase', function(hooks) { QUnit.test('delegateEvents', function(assert) { assert.expect(6); var counter1 = 0, counter2 = 0; - + var myView = new joint.mvc.ViewBase({ el: '#testElement' }); myView.increment = function() { counter1++; }; myView.$el.on('click', function() { counter2++; }); - + var events = { 'click h1': 'increment' }; - + myView.delegateEvents(events); myView.$('h1').trigger('click'); assert.equal(counter1, 1); assert.equal(counter2, 1); - + myView.$('h1').trigger('click'); assert.equal(counter1, 2); assert.equal(counter2, 2); - + myView.delegateEvents(events); myView.$('h1').trigger('click'); assert.equal(counter1, 3); @@ -126,82 +126,82 @@ QUnit.module('joint.mvc.ViewBase', function(hooks) { assert.ok(true); }); myView.$('h1').trigger('click'); - + assert.equal(myView.delegate(), myView, '#delegate returns the view instance'); }); - + QUnit.test('delegateEvents allows functions for callbacks', function(assert) { assert.expect(3); var myView = new joint.mvc.ViewBase({ el: '

    ' }); myView.counter = 0; - + var events = { click: function() { this.counter++; } }; - + myView.delegateEvents(events); myView.$el.trigger('click'); assert.equal(myView.counter, 1); - + myView.$el.trigger('click'); assert.equal(myView.counter, 2); - + myView.delegateEvents(events); myView.$el.trigger('click'); assert.equal(myView.counter, 3); }); - + QUnit.test('delegateEvents ignore undefined methods', function(assert) { assert.expect(0); var myView = new joint.mvc.ViewBase({ el: '

    ' }); myView.delegateEvents({ click: 'undefinedMethod' }); myView.$el.trigger('click'); }); - + QUnit.test('undelegateEvents', function(assert) { assert.expect(7); var counter1 = 0, counter2 = 0; - + var myView = new joint.mvc.ViewBase({ el: '#testElement' }); myView.increment = function() { counter1++; }; myView.$el.on('click', function() { counter2++; }); - + var events = { 'click h1': 'increment' }; - + myView.delegateEvents(events); myView.$('h1').trigger('click'); assert.equal(counter1, 1); assert.equal(counter2, 1); - + myView.undelegateEvents(); myView.$('h1').trigger('click'); assert.equal(counter1, 1); assert.equal(counter2, 2); - + myView.delegateEvents(events); myView.$('h1').trigger('click'); assert.equal(counter1, 2); assert.equal(counter2, 3); - + assert.equal(myView.undelegateEvents(), myView, '#undelegateEvents returns the view instance'); }); - + QUnit.test('undelegate', function(assert) { assert.expect(1); var myView = new joint.mvc.ViewBase({ el: '#testElement' }); myView.delegate('click', function() { assert.ok(false); }); myView.delegate('click', 'h1', function() { assert.ok(false); }); - + myView.undelegate('click'); - + myView.$('h1').trigger('click'); myView.$el.trigger('click'); - + assert.equal(myView.undelegate(), myView, '#undelegate returns the view instance'); }); - + QUnit.test('undelegate with passed handler', function(assert) { assert.expect(1); var myView = new joint.mvc.ViewBase({ el: '#testElement' }); @@ -221,7 +221,7 @@ QUnit.module('joint.mvc.ViewBase', function(hooks) { myView.$('h1').trigger('click'); myView.$el.trigger('click'); }); - + QUnit.test('undelegate with handler and selector', function(assert) { assert.expect(2); var myView = new joint.mvc.ViewBase({ el: '#testElement' }); @@ -238,10 +238,10 @@ QUnit.module('joint.mvc.ViewBase', function(hooks) { var View = joint.mvc.ViewBase.extend({ tagName: 'span' }); - + assert.equal(new View().el.tagName, 'SPAN'); }); - + QUnit.test('tagName can be provided as a function', function(assert) { assert.expect(1); var View = joint.mvc.ViewBase.extend({ @@ -249,37 +249,37 @@ QUnit.module('joint.mvc.ViewBase', function(hooks) { return 'p'; } }); - + assert.ok(new View().$el.is('p')); }); - + QUnit.test('_ensureElement with DOM node el', function(assert) { assert.expect(1); var View = joint.mvc.ViewBase.extend({ el: document.body }); - + assert.equal(new View().el, document.body); }); - + QUnit.test('_ensureElement with string el', function(assert) { assert.expect(3); var View = joint.mvc.ViewBase.extend({ el: 'body' }); assert.strictEqual(new View().el, document.body); - + View = joint.mvc.ViewBase.extend({ el: '#testElement > h1' }); - assert.strictEqual(new View().el, $('#testElement > h1').get(0)); - + assert.strictEqual(new View().el, $('#testElement > h1')[0]); + View = joint.mvc.ViewBase.extend({ el: '#nonexistent' }); assert.ok(!new View().el); }); - + QUnit.test('with className and id functions', function(assert) { assert.expect(2); var View = joint.mvc.ViewBase.extend({ @@ -290,12 +290,12 @@ QUnit.module('joint.mvc.ViewBase', function(hooks) { return 'id'; } }); - + assert.strictEqual(new View().el.className, 'className'); assert.strictEqual(new View().el.id, 'id'); }); - + QUnit.test('with attributes', function(assert) { assert.expect(2); var View = joint.mvc.ViewBase.extend({ @@ -304,11 +304,11 @@ QUnit.module('joint.mvc.ViewBase', function(hooks) { 'class': 'class' } }); - + assert.strictEqual(new View().el.className, 'class'); assert.strictEqual(new View().el.id, 'id'); }); - + QUnit.test('with attributes as a function', function(assert) { assert.expect(1); var View = joint.mvc.ViewBase.extend({ @@ -316,7 +316,7 @@ QUnit.module('joint.mvc.ViewBase', function(hooks) { return { 'class': 'dynamic' }; } }); - + assert.strictEqual(new View().el.className, 'dynamic'); }); @@ -330,19 +330,19 @@ QUnit.module('joint.mvc.ViewBase', function(hooks) { 'id': 'attributeId' } }); - + var myView = new View; assert.strictEqual(myView.el.className, 'jointClass'); assert.strictEqual(myView.el.id, 'jointId'); assert.strictEqual(myView.$el.attr('class'), 'jointClass'); assert.strictEqual(myView.$el.attr('id'), 'jointId'); }); - + QUnit.test('multiple views per element', function(assert) { assert.expect(3); var count = 0; var $el = $('

    '); - + var View = joint.mvc.ViewBase.extend({ el: $el, events: { @@ -351,15 +351,15 @@ QUnit.module('joint.mvc.ViewBase', function(hooks) { } } }); - + var view1 = new View; $el.trigger('click'); assert.equal(1, count); - + var view2 = new View; $el.trigger('click'); assert.equal(3, count); - + view1.delegateEvents(); $el.trigger('click'); assert.equal(5, count); @@ -373,21 +373,21 @@ QUnit.module('joint.mvc.ViewBase', function(hooks) { fake$event: function() { assert.ok(true); } } }); - + var myView = new View; $('body').trigger('fake$event').trigger('fake$event'); - + $('body').off('fake$event'); $('body').trigger('fake$event'); }); - + QUnit.test('#1048 - setElement uses provided object.', function(assert) { assert.expect(2); var $el = $('body'); - + var myView = new joint.mvc.ViewBase({ el: $el }); assert.ok(myView.$el === $el); - + myView.setElement($el = $($el)); assert.ok(myView.$el === $el); }); @@ -396,7 +396,7 @@ QUnit.module('joint.mvc.ViewBase', function(hooks) { assert.expect(1); var button1 = $(''); var button2 = $(''); - + var View = joint.mvc.ViewBase.extend({ events: { click: function(e) { @@ -404,23 +404,23 @@ QUnit.module('joint.mvc.ViewBase', function(hooks) { } } }); - + var myView = new View({ el: button1 }); myView.setElement(button2); - + button1.trigger('click'); button2.trigger('click'); }); - + QUnit.test('#1172 - Clone attributes object', function(assert) { assert.expect(2); var View = joint.mvc.ViewBase.extend({ attributes: { foo: 'bar' } }); - + var view1 = new View({ id: 'foo' }); assert.strictEqual(view1.el.id, 'foo'); - + var view2 = new View(); assert.ok(!view2.el.id); }); @@ -433,17 +433,17 @@ QUnit.module('joint.mvc.ViewBase', function(hooks) { this.listenTo(this.collection, 'all x', function() { assert.ok(false); }); } }); - + var myView = new View({ model: new joint.mvc.Model, collection: new joint.mvc.Collection }); - + myView.stopListening(); myView.model.trigger('x'); myView.collection.trigger('x'); }); - + QUnit.test('Provide function for el.', function(assert) { assert.expect(2); var View = joint.mvc.ViewBase.extend({ @@ -451,7 +451,7 @@ QUnit.module('joint.mvc.ViewBase', function(hooks) { return '

    '; } }); - + var myView = new View; assert.ok(myView.$el.is('p')); assert.ok(myView.$el.has('a')); @@ -460,36 +460,36 @@ QUnit.module('joint.mvc.ViewBase', function(hooks) { QUnit.test('events passed in options', function(assert) { assert.expect(1); var counter = 0; - + var View = joint.mvc.ViewBase.extend({ el: '#testElement', increment: function() { counter++; } }); - + var myView = new View({ events: { 'click h1': 'increment' } }); - + myView.$('h1').trigger('click').trigger('click'); assert.equal(counter, 2); }); - + QUnit.test('remove', function(assert) { assert.expect(2); var myView = new joint.mvc.ViewBase; document.body.appendChild(view.el); - + myView.delegate('click', function() { assert.ok(false); }); myView.listenTo(myView, 'all x', function() { assert.ok(false); }); - + assert.equal(myView.remove(), myView, '#remove returns the view instance'); myView.$el.trigger('click'); myView.trigger('x'); - + // In IE8 and below, parentNode still exists but is not document.body. assert.notEqual(myView.el.parentNode, document.body); }); @@ -506,12 +506,12 @@ QUnit.module('joint.mvc.ViewBase', function(hooks) { }; var oldEl = myView.el; var $oldEl = myView.$el; - + myView.setElement(document.createElement('div')); - + $oldEl.click(); myView.$el.click(); - + assert.notEqual(oldEl, myView.el); assert.notEqual($oldEl, myView.$el); }); diff --git a/packages/joint-core/test/jointjs/paper.js b/packages/joint-core/test/jointjs/paper.js index 0faf6410f5..f0095b6f81 100644 --- a/packages/joint-core/test/jointjs/paper.js +++ b/packages/joint-core/test/jointjs/paper.js @@ -57,7 +57,7 @@ QUnit.module('paper', function(hooks) { var WIDTH = '100%'; var HEIGHT = '50%'; var paper = this.paper; - $container.css({ width: 100, height: 200 }); + $container.css({ width: '100px', height: '200px' }); paper.setDimensions(WIDTH, HEIGHT); assert.equal(paper.options.width, WIDTH); assert.equal(paper.options.height, HEIGHT); @@ -72,8 +72,8 @@ QUnit.module('paper', function(hooks) { assert.equal(paper.options.width, null); assert.equal(paper.options.height, null); var size = paper.getComputedSize(); - assert.equal(size.width, paper.$el.width()); - assert.equal(size.height, paper.$el.height()); + assert.equal(size.width, paper.el.clientWidth); + assert.equal(size.height, paper.el.clientHeight); }); QUnit.test('events', function(assert) { @@ -1374,7 +1374,7 @@ QUnit.module('paper', function(hooks) { QUnit.module('draw grid options', function(hooks) { var getGridVel = function(paper) { - var image = paper.$grid.css('backgroundImage').replace(/url\("*|"*\)/g, '').replace('data:image/svg+xml;base64,', ''); + var image = paper.childNodes.grid.style.backgroundImage.replace(/url\("*|"*\)/g, '').replace('data:image/svg+xml;base64,', ''); return image !== 'none' ? V(atob(image)) : undefined; }; @@ -1898,7 +1898,7 @@ QUnit.module('paper', function(hooks) { _.delay( _.bind(function() { assert.equal( - getUrlFromAttribute(this.paper.$background.css('backgroundImage')), + getUrlFromAttribute(this.paper.childNodes.background.style.backgroundImage), bgImageDataURL ); done(); @@ -1919,7 +1919,7 @@ QUnit.module('paper', function(hooks) { setTimeout( function() { assert.equal( - getUrlFromAttribute(paper.$background.css('backgroundImage')), + getUrlFromAttribute(paper.childNodes.background.style.backgroundImage), null ); done(); @@ -1938,7 +1938,7 @@ QUnit.module('paper', function(hooks) { _.delay( _.bind(function() { - assert.checkCssAttr('opacity', this.paper.$background, 0.5); + assert.checkCssAttr('opacity', this.paper.childNodes.background, 0.5); done(); }, this) ); @@ -2055,7 +2055,7 @@ QUnit.module('paper', function(hooks) { var done = assert.async(); - assert.notEqual(this.paper.$background.css('background-repeat'), 'round'); + assert.notEqual(this.paper.childNodes.background.style.backgroundRepeat, 'round'); this.paper.drawBackground({ image: bgImageDataURL, @@ -2065,7 +2065,7 @@ QUnit.module('paper', function(hooks) { _.delay( _.bind(function() { assert.equal( - this.paper.$background.css('background-repeat'), + this.paper.childNodes.background.style.backgroundRepeat, 'round' ); done(); @@ -2090,9 +2090,9 @@ QUnit.module('paper', function(hooks) { }); _.delay(function() { - assert.equal(paper.$background.css('backgroundSize'), '100px 100px'); + assert.equal(paper.childNodes.background.style.backgroundSize, '100px 100px'); paper.scale(2, 3); - assert.equal(paper.$background.css('backgroundSize'), '200px 300px'); + assert.equal(paper.childNodes.background.style.backgroundSize, '200px 300px'); done(); }); }); @@ -2110,9 +2110,9 @@ QUnit.module('paper', function(hooks) { }); _.delay(function() { - assert.equal(paper.$background.css('backgroundSize'), '100px 100px'); + assert.equal(paper.childNodes.background.style.backgroundSize, '100px 100px'); paper.scale(2, 3); - assert.equal(paper.$background.css('backgroundSize'), '100px 100px'); + assert.equal(paper.childNodes.background.style.backgroundSize, '100px 100px'); done(); }); }); @@ -2134,9 +2134,9 @@ QUnit.module('paper', function(hooks) { }); _.delay(function() { - assert.equal(paper.$background.css('backgroundPosition'), '100px 100px'); + assert.equal(paper.childNodes.background.style.backgroundPosition, '100px 100px'); paper.scale(2, 3); - assert.equal(paper.$background.css('backgroundPosition'), '200px 300px'); + assert.equal(paper.childNodes.background.style.backgroundPosition, '200px 300px'); done(); }); }); @@ -2154,9 +2154,9 @@ QUnit.module('paper', function(hooks) { }); _.delay(function() { - assert.equal(paper.$background.css('backgroundPosition'), '100px 100px'); + assert.equal(paper.childNodes.background.style.backgroundPosition, '100px 100px'); paper.scale(2, 3); - assert.equal(paper.$background.css('backgroundPosition'), '100px 100px'); + assert.equal(paper.childNodes.background.style.backgroundPosition, '100px 100px'); done(); }); }); @@ -2181,7 +2181,7 @@ QUnit.module('paper', function(hooks) { _.delay( _.bind(function() { var img2 = document.createElement('img'); - img2.src = getUrlFromAttribute(this.paper.$background.css('backgroundImage')); + img2.src = getUrlFromAttribute(this.paper.childNodes.background.style.backgroundImage); img2.onload = function() { assert.equal(img2.width, img1.width); assert.equal(img2.height, img1.height / 2); diff --git a/packages/joint-core/test/utils.js b/packages/joint-core/test/utils.js index 60c465a0c4..e001c21aba 100644 --- a/packages/joint-core/test/utils.js +++ b/packages/joint-core/test/utils.js @@ -50,7 +50,7 @@ }; asserts.checkCssAttr = function(name, $el, expectedValue, message) { - return this.equal($el.css(name), normalizeCssAttr(name, expectedValue), message); + return this.equal($($el).css(name), normalizeCssAttr(name, expectedValue), message); }; function normalizeDataPath(d) { @@ -88,14 +88,135 @@ function normalizeCssAttr(name, value) { - var $tmpEl = $('
    ').appendTo($('body')); - var normalizedValue = $tmpEl.css(name, value).css(name); - $tmpEl.remove(); + var tmpEl = document.createElement('div'); + document.body.appendChild(tmpEl); + tmpEl.style[name] = value; + var normalizedValue = tmpEl.style[name]; + document.body.removeChild(tmpEl); return normalizedValue; } })(QUnit.assert); +// Dom manipulation helpers. +// ------------------------- + +const $ = window.$ = joint.mvc.$; + +$.contains = function(parent, node) { + return parent !== node && parent.contains(node); +}; + +function matchFilter(elem, filter) { + if (typeof filter === 'string') { + if (!elem.matches(filter)) return false; + } else if (typeof filter === 'function') { + if (!filter(elem)) return false; + } else if (filter === 'object') { + if (elem !== filter) return false; + } + return true; +} + +function dir(elem, dir, filter) { + var sibs = []; + while ((elem = elem[dir])) { + if (!matchFilter(elem, filter)) continue; + sibs.push(elem); + } + return sibs; +} + +function sibling(elem, dir, filter) { + const prevEl = elem[dir]; + if (!matchFilter(elem, filter)) return $(); + return $(prevEl); +} + +$.fn.prevAll = function(filter) { + const [el] = this; + return $(dir(el, 'previousElementSibling', filter)); +}; + +$.fn.nextAll = function(filter) { + const [el] = this; + return $(dir(el, 'nextElementSibling', filter)); +}; + +$.fn.prev = function(filter) { + const [el] = this; + return $(sibling(el, 'previousElementSibling', filter)); +}; + +$.fn.index = function() { + const [el] = this; + return Array.prototype.indexOf.call(el.parentNode.children, el); +}; + +$.fn.offset = function() { + const [el] = this; + const box = el.getBoundingClientRect(); + return { + top: box.top + window.scrollY - document.documentElement.clientTop, + left: box.left + window.scrollX - document.documentElement.clientLeft + }; +}; + +$.fn.children = function(selector) { + const [el] = this; + if (selector) { + return $(Array.from(el.children).filter(child => child.matches(selector))); + } + return $(el.children); +}; + +$.fn.parent = function() { + const [el] = this; + return $(el.parentNode); +}; + +$.fn.has = function(e) { + return this.find(e).length > 0; +}; + +$.fn.trigger = function(name, data) { + const [el] = this; + if (name === 'click') { + el.click(); + } else if (name === 'contextmenu') { + el.dispatchEvent(new MouseEvent('contextmenu', { bubbles: true })); + } else { + let event; + if (window.CustomEvent) { + event = new CustomEvent(name, { detail: data }); + } else { + event = document.createEvent('CustomEvent'); + event.initCustomEvent(name, true, true, data); + } + el.dispatchEvent(event); + } + return this; +}; + +$.fn.click = function() { + return this.trigger('click'); +}; + +$.fn.eq = function(i) { + const len = this.length; + const j = +i + (i < 0 ? len : 0); + return this.pushStack(j >= 0 && j < len ? [this[j]] : []); +}; + +$.fn.is = function(selector) { + const [el] = this; + if (!el) return false; + if (typeof selector === 'string') { + return el.matches(selector); + } + return el === selector; +}; + // Simulate user events. // --------------------- diff --git a/packages/joint-core/tutorials/advanced.html b/packages/joint-core/tutorials/advanced.html index 37afff049c..b2ba719f30 100644 --- a/packages/joint-core/tutorials/advanced.html +++ b/packages/joint-core/tutorials/advanced.html @@ -8,10 +8,6 @@ - - - - @@ -20,11 +16,6 @@ -

    Advanced Tutorial

    @@ -38,14 +29,6 @@

    Advanced Tutorial

    of them will be introduced in this section. The current list of advanced topics can be found in the sidebar of this page.

    -

    We also provide an archive of additional advanced tutorials created for past - versions of JointJS. - They provide a wealth of information as well - with the disclaimer that they may no longer - showcase the best/most optimized/easiest/cleanest way of doing things in the current version of - JointJS. - For guidance on current best practices, refer to the appropriate sections of the - basic and intermediate tutorial.

    -
    diff --git a/packages/joint-core/tutorials/archive.html b/packages/joint-core/tutorials/archive.html deleted file mode 100644 index 1eb870066f..0000000000 --- a/packages/joint-core/tutorials/archive.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - JointJS - JavaScript diagramming library - Getting started. - - - - - -
    - -

    Archive

    - -

    This is the final section of the JointJS tutorial. - We presume that you are already familiar with the basic, - intermediate, and advanced sections of the - tutorial.

    - -

    This section preserves advanced tutorials we created for past versions of JointJS. - The current list of topics in the tutorial archive can be found in the sidebar of this page.

    - -

    We provide these articles because we think you may find them useful if you are facing a similar problem - in your use of the JointJS library. - However, these tutorials are provided with a strong disclaimer that they may no longer show the best - practices of JointJS:

    - -
      -
    • They may use outdated/deprecated API calls or inherit from superseded shape collections.
    • -
    • Many of them use SVG string markup for custom Element/Link shape definitions; we have since started - recommending using JSON markup instead.
    • -
    • The Element and Link types defined there may not serialize properly.
    • -
    • Or they may show other problems.
    • -
    - -

    Our current recommendations on best practices can be found in the appropriate sections of the - basic and intermediate tutorial.

    - -
    - - - - diff --git a/packages/joint-core/tutorials/cell-namespace.html b/packages/joint-core/tutorials/cell-namespace.html index 1fa9ef0907..641adb20a3 100644 --- a/packages/joint-core/tutorials/cell-namespace.html +++ b/packages/joint-core/tutorials/cell-namespace.html @@ -8,10 +8,6 @@ - - - - @@ -27,8 +23,8 @@

    Cell Namespace

    A simple, but important aspect of working with JointJS is to ensure that JointJS knows where to look for built-in and custom shapes. In order to achieve this, it's a requirement to tell JointJS where to read cell view definitions. Failure to do so - will result in an error in our application. Built-in shapes are usually located in the joint.shapes namespace, so this - is a common namespace to use. It's possible to add custom shapes to this namespace, or alternatively, you may like to use a different + will result in an error in our application. Built-in shapes are usually located in the joint.shapes namespace, so this + is a common namespace to use. It's possible to add custom shapes to this namespace, or alternatively, you may like to use a different namespace completely. The choice is yours, but you need to state the namespace at the outset when using JointJS.

    @@ -50,7 +46,7 @@

    Cell Namespace

    } }; } - + preinitialize() { this.markup = joint.util.svg/* xml */ ` <rect @selector="body" /> @@ -68,7 +64,7 @@

    Cell Namespace

    - If you want a little more organization and nesting in your cell namespace, you can define a type using dot notation, + If you want a little more organization and nesting in your cell namespace, you can define a type using dot notation, and structure your shape definitions how you would like.

    @@ -87,17 +83,17 @@

    Cell Namespace

    - Now that we have created a cell namespace, how do we tell JointJS which namespace to use? There are 2 important options to be aware - of when creating your diagrams. The first is the graph option - cellNamespace, and the second is the paper - option cellViewNamespace. In - the following example, for a cell of type 'standard.Rectangle', the graph looks up the - 'joint.shapes.standard.Rectangle' path to find the correct constructor. If you don't plan on creating custom shapes, + Now that we have created a cell namespace, how do we tell JointJS which namespace to use? There are 2 important options to be aware + of when creating your diagrams. The first is the graph option + cellNamespace, and the second is the paper + option cellViewNamespace. In + the following example, for a cell of type 'standard.Rectangle', the graph looks up the + 'joint.shapes.standard.Rectangle' path to find the correct constructor. If you don't plan on creating custom shapes, or playing around with namespaces, the following setup should be fine for your application.

    const namespace = joint.shapes;
    -            
    +
     const graph = new joint.dia.Graph({}, { cellNamespace: namespace });
     
     const paper = new joint.dia.Paper({
    @@ -108,8 +104,8 @@ 

    Cell Namespace

    graph.fromJSON({ cells: [ - { - type: 'standard.Rectangle', + { + type: 'standard.Rectangle', size: { width: 80, height: 50 }, position: { x: 10, y: 10 } } @@ -118,29 +114,29 @@

    Cell Namespace

    A More Detailed Look

    - +

    - With the intention of strengthening this concept in our minds, let's define another shape, so that we are more familiar with this process. + With the intention of strengthening this concept in our minds, let's define another shape, so that we are more familiar with this process. Below, we create a class RectangleTwoLabels with a type property of 'custom.RectangleTwoLabels'. - JointJS will now expect that our custom RectangleTwoLabels element will be located within the custom + JointJS will now expect that our custom RectangleTwoLabels element will be located within the custom namespace.

    - As we want our custom namespace to be at the same level of nesting as built-in JointJS shapes, we will structure our - cell namespace accordingly. First, we declare a namespace variable, then using the + As we want our custom namespace to be at the same level of nesting as built-in JointJS shapes, we will structure our + cell namespace accordingly. First, we declare a namespace variable, then using the spread operator, - ensure that namespace contains all of the properties of joint.shapes. These properties correspond to shape + ensure that namespace contains all of the properties of joint.shapes. These properties correspond to shape namespaces such as standard.

    Afterwards, we also place our new custom namespace which contains our custom shape definition RectangleTwoLabels - alongside our built-in shapes. As a result, standard and custom are both defined at the same level in our - namespace object. Lastly, we make sure that namespace is set as the value of our cellNamespace - and cellViewNamespace options respectively. + alongside our built-in shapes. As a result, standard and custom are both defined at the same level in our + namespace object. Lastly, we make sure that namespace is set as the value of our cellNamespace + and cellViewNamespace options respectively.

    - +
    class RectangleTwoLabels extends joint.shapes.standard.Rectangle {
         defaults() {
             return {
    @@ -148,7 +144,7 @@ 

    A Mo type: 'custom.RectangleTwoLabels' }; } - + preinitialize() { this.markup = joint.util.svg/* xml */ ` <rect @selector="body" /> @@ -171,65 +167,65 @@

    A Mo

    With the objective of defining our custom namespace at the same nesting level of standard taken care of, - it's now possible to add cells to our graph with the confidence that we shouldn't run into any errors regarding cell + it's now possible to add cells to our graph with the confidence that we shouldn't run into any errors regarding cell namespaces.

    graph.fromJSON({
         cells: [
             {
    -            type: 'standard.Rectangle', 
    +            type: 'standard.Rectangle',
                 size: { width: 100, height: 60 },
                 position: { x: 50, y: 50 },
                 attrs: { body: { fill: '#C9ECF5' }, label: { text: 'standard.Rectangle', textWrap: { width: 'calc(w-10)' }}}
             },
    -        { 
    -            type: 'custom.RectangleTwoLabels', 
    +        {
    +            type: 'custom.RectangleTwoLabels',
                 size: { width: 140, height: 80 },
                 position: { x: 200, y: 30 },
                 attrs: {
                     body: {
                         fill: '#F5BDB0'
    -                }, 
    -                label: { 
    +                },
    +                label: {
                         text: 'custom.RectangleTwoLabels',
    -                    textWrap: { width: 'calc(w-10)' } 
    -                }, 
    -                labelSecondary: { 
    -                    text: 'SecondaryLabel', 
    -                    x: 'calc(w/2)', 
    -                    y: 'calc(h+15)', 
    -                    textAnchor: 'middle', 
    +                    textWrap: { width: 'calc(w-10)' }
    +                },
    +                labelSecondary: {
    +                    text: 'SecondaryLabel',
    +                    x: 'calc(w/2)',
    +                    y: 'calc(h+15)',
    +                    textAnchor: 'middle',
                         textVerticalAnchor: 'middle',
    -                    fontSize: 14 
    +                    fontSize: 14
                     }
                 }
             },
         ]
     });
     
    - +

    JointJS source code: cell-namespace.js

    - Discovering your cell namespaces are not organized correctly should result in a common JointJS error. If you see the dreaded - Uncaught Error: dia.ElementView: markup required appearing in your console, it's likely + Discovering your cell namespaces are not organized correctly should result in a common JointJS error. If you see the dreaded + Uncaught Error: dia.ElementView: markup required appearing in your console, it's likely your namespace is not set up correctly, and JointJS cannot find the correct shape.

    Don't Forget Custom Views!

    - Last but not least, the topics covered so far also apply to our custom views. Placing a custom view in the correct location is + Last but not least, the topics covered so far also apply to our custom views. Placing a custom view in the correct location is necessary, because the JointJS paper will search for any model types with a suffix of 'View' in our provided namespace.

    - In this snippet, we create a simple rectangle shape with text input. We also define a custom view that on user input, sets the input - value on the model, and also logs the value to the console. This time around, we choose joint.shapes as our + In this snippet, we create a simple rectangle shape with text input. We also define a custom view that on user input, sets the input + value on the model, and also logs the value to the console. This time around, we choose joint.shapes as our cellNamespace and cellViewNamespace values, and 'example.RectangleInput' as the type - for our custom element. Those things combined mean JointJS assumes our custom element & view will be located at + for our custom element. Those things combined mean JointJS assumes our custom element & view will be located at 'joint.shapes.example.RectangleInput' and 'joint.shapes.example.RectangleInputView' respectively.

    @@ -256,7 +252,7 @@

    Don' } }; } - + preinitialize() { this.markup = joint.util.svg/* xml */` <foreignObject @selector="foreignObject"> @@ -289,7 +285,7 @@

    Don' Object.assign(namespace, { example: { RectangleInput, - RectangleInputView + RectangleInputView } }); @@ -302,9 +298,9 @@

    Don'

    Quick Validation Tips

    - If you are experimenting with cell namespaces, you may like to perform some quick validation, or double-check exactly what - type values you are working with. Taking advantage of the - prop() method on both Elements & Links allows you + If you are experimenting with cell namespaces, you may like to perform some quick validation, or double-check exactly what + type values you are working with. Taking advantage of the + prop() method on both Elements & Links allows you to quickly access the type value, so it can be useful to keep track of where your shapes are located.

    @@ -317,8 +313,8 @@

    Quic

    - A concise way to check if your namespaces are set up correctly is to overwrite the graph via graph.toJSON() - passing it the value returned from graph.toJSON(). If no error occurs, you can be more confident that your namespaces are + A concise way to check if your namespaces are set up correctly is to overwrite the graph via graph.toJSON() + passing it the value returned from graph.toJSON(). If no error occurs, you can be more confident that your namespaces are organized correctly.

    @@ -326,8 +322,8 @@

    Quic

    - That's all we will cover in this tutorial. Thanks for staying with us if you got this far, and we hope you will have more confidence - when working with cell namespaces in JointJS. If you would like to explore any of the features mentioned here in more detail, you + That's all we will cover in this tutorial. Thanks for staying with us if you got this far, and we hope you will have more confidence + when working with cell namespaces in JointJS. If you would like to explore any of the features mentioned here in more detail, you can find more information in our JointJS documentation.

    diff --git a/packages/joint-core/tutorials/connecting-by-dropping.html b/packages/joint-core/tutorials/connecting-by-dropping.html deleted file mode 100644 index ad23593057..0000000000 --- a/packages/joint-core/tutorials/connecting-by-dropping.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - - - - - - - - JointJS - JavaScript diagramming library - Getting started. - - - - - - -
    - -

    Connecting an element by dropping it over another element

    - -

    - Disclaimer - - - - The following tutorial was created with a past version of JointJS. The tutorial is still provided for - those who may face a similar problem, but it may no longer show the best practices of JointJS. You may - encounter the following issues: - -

    - -
      -
    • Use of outdated/deprecated API calls, or inheritance from superseded shape collections.
    • -
    • Use of SVG string markup for custom Element/Link shape definitions; we have since started - recommending using JSON markup instead.
    • -
    • The Element and Link types defined may not serialize properly.
    • -
    • Other unexpected problems.
    • -
    - -

    - Our current recommendations on best practices can be found in the appropriate sections of the - basic and intermediate tutorials. -

    - -

    This quick tutorial shows how to automatically create links when the user drops an element over another - element. - Note that this is not necessary if you have elements with ports. For more details on elements with ports, - see - the Working with Ports tutorial. -

    - -

    Let's start with a demo and then let's have a look on how this can be done.

    - -

    - Try to drag an element and drop it over another element. You should see a new link has - been created between the two elements. - -

    - -
    - - -

    The trick is to listen on the element:pointerup event on the paper and search for - an element whose area contains the point of the mouse cursor. If such an element was found, - we just create a link connecting both elements and move the dropped element to the position before dragging (we stored this information on the element:pointerdown event) to give the user a clue of what just happend.

    - -
    
    -
    -        
    - - - - - diff --git a/packages/joint-core/tutorials/constraint-move-to-circle.html b/packages/joint-core/tutorials/constraint-move-to-circle.html deleted file mode 100644 index 56a9cfe132..0000000000 --- a/packages/joint-core/tutorials/constraint-move-to-circle.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - - - - - - - - - - - - - JointJS - JavaScript diagramming library - Getting started. - - - - - - -
    - -

    Constraint movement to circle/ellipse/rectangle

    - -

    - Disclaimer - - - - The following tutorial was created with a past version of JointJS. The tutorial is still provided for - those who may face a similar problem, but it may no longer show the best practices of JointJS. You may - encounter the following issues: - -

    - -
      -
    • Use of outdated/deprecated API calls, or inheritance from superseded shape collections.
    • -
    • Use of SVG string markup for custom Element/Link shape definitions; we have since started - recommending using JSON markup instead.
    • -
    • The Element and Link types defined may not serialize properly.
    • -
    • Other unexpected problems.
    • -
    - -

    - Our current recommendations on best practices can be found in the appropriate sections of the - basic and intermediate tutorials. -

    - -

    Some applications might need to constrain an element dragging to ellipse, circle or even rectangle - shapes. - This post shows you how this can be achieved via a custom view for your element and with the help of the - handy geometry library - that is part of JointJS. -

    - -
    - -

    Creating a custom constraint view

    - -

    First we need to create a custom view that overrides the pointerdown() and - pointermove() methods. These methods make sure that the x and y - coordinates passed to the default pointerdown() and pointermove() - methods are located on the boundary of our ellipse object. To compute the points on the boundary - of our ellipse, we simply take advantage of the ellipse.prototype.intersectionWithLineFromCenterToPoint() - function. [A complete documentation to the geometry library of JointJS can be found on - my blog] -

    - -
    // This is the ellipse that will be used as a constraint for our element dragging.
    -var constraint = g.ellipse(g.point(200, 150), 100, 80);
    -
    -var ConstraintElementView = joint.dia.ElementView.extend({
    -
    -    pointerdown: function(evt, x, y) {
    -        var position = this.model.get('position');
    -        var size = this.model.get('size');
    -        var center = g.rect(position.x, position.y, size.width, size.height).center();
    -        var intersection = constraint.intersectionWithLineFromCenterToPoint(center);
    -        joint.dia.ElementView.prototype.pointerdown.apply(this, [evt, intersection.x, intersection.y]);
    -    },
    -    pointermove: function(evt, x, y) {
    -        var intersection = constraint.intersectionWithLineFromCenterToPoint(g.point(x, y));
    -        joint.dia.ElementView.prototype.pointermove.apply(this, [evt, intersection.x, intersection.y]);
    -    }
    -});
    - -

    Creating a paper and forcing it to use our custom view

    - -

    Now we can just create a graph and paper as usual and tell the paper to use - our custom view for all the element models. [Note that if you need a custom view - for just one type of model (not all the models added to the paper), you can do that - be defining a view for a specific type. An example of this can be found in the - forum page.]

    - -
    var namespace = joint.shapes;
    -
    -var graph = new joint.dia.Graph({}, { cellNamespace: namespace });
    -
    -var paper = new joint.dia.Paper({
    -    el: $('#paper'),
    -    width: 650,
    -    height: 400,
    -    gridSize: 1,
    -    model: graph,
    -    cellViewNamespace: namespace,
    -    elementView: ConstraintElementView
    -});
    - -

    Finalizing the example by adding elements to the graph and drawing our constraint ellipse

    - -

    We're almost there! Now we just add a circle element to the paper which will be the one - whose dragging we just constraint. We also draw our ellipse so that it is visible in the paper. - Here we'll use the built-in Vectorizer library that makes life easier when dealing with SVG. -

    - -
    var earth = new joint.shapes.basic.Circle({
    -    position: constraint.intersectionWithLineFromCenterToPoint(g.point(100, 100)).offset(-10, -10),
    -    size: { width: 20, height: 20 },
    -    attrs: { text: { text: 'earth' }, circle: { fill: '#2ECC71' } },
    -    name: 'earth'
    -});
    -graph.addCell(earth);
    -
    -var orbit = V('<ellipse/>');
    -orbit.attr({
    -    cx: constraint.x, cy: constraint.y, rx: constraint.a, ry: constraint.b
    -});
    -V(paper.viewport).append(orbit);
    - -

    That's it! One can use the exact same technique to constrain dragging to a rectangular area. - The full source code to the demo is available here:

    - circle-constraint.js - - - -
    - - - - - diff --git a/packages/joint-core/tutorials/content-driven-element.html b/packages/joint-core/tutorials/content-driven-element.html index fb9a06a9e0..597b6fc3de 100644 --- a/packages/joint-core/tutorials/content-driven-element.html +++ b/packages/joint-core/tutorials/content-driven-element.html @@ -8,10 +8,6 @@ - - - - @@ -20,34 +16,29 @@ -

    Content Driven Elements

    JointJS provides its users with a lot of flexibility when it comes to creating custom shapes. You may have already taken - advantage of this flexibility by using traditional JointJS mechanisms such as markup and attrs. + advantage of this flexibility by using traditional JointJS mechanisms such as markup and attrs. This is a well-established method for creating custom elements, but it's not the only approach that you could utilize.

    - Another approach to creating custom elements is to allow the content to drive the size of the element. That means we don't + Another approach to creating custom elements is to allow the content to drive the size of the element. That means we don't set the element sizing explicitly, but allow the element dimensions to be derived from the content itself.

    - Depending on your use case, a content driven element may not be essential for your workflow, so your next question might be, + Depending on your use case, a content driven element may not be essential for your workflow, so your next question might be, why would I need to use one?

    - Imagine working with a lot of data points, what if each one has a label of different length, and you want to make sure the - label doesn't extend beyond its element bounds? In this instance, it might not be desirable to set the element's size in + Imagine working with a lot of data points, what if each one has a label of different length, and you want to make sure the + label doesn't extend beyond its element bounds? In this instance, it might not be desirable to set the element's size in retrospect. It's possible a more efficient workflow might be to allow the label content to drive element sizing instead.

    @@ -64,13 +55,13 @@

    Shape Definition

    The first step towards content driven elements is to define our shape. We start by creating a Shape - class which inherits from joint.dia.Element. Since we aren't using traditional markup + class which inherits from joint.dia.Element. Since we aren't using traditional markup or attrs, we just provide a few default properties we want to work with in our shape.

    type is a unique path identifier where JointJS looks for our shape. As joint.shapes is implied, - the full path is joint.shapes.custom.Shape. The remaining default attributes on our model are related to + the full path is joint.shapes.custom.Shape. The remaining default attributes on our model are related to the visual aspects of our shape. As we update these attributes on our model, we would like the view to update itself too.

    @@ -116,19 +107,19 @@

    Shape Definition

    When we initialize() our shape instance, we accomplish a number of things. We add an event - listener to detect any attribute changes in our model, and we also set the size of our element based on + listener to detect any attribute changes in our model, and we also set the size of our element based on the values returned from our layout calculation.

    The onAttributeChange() method checks if attributes that affect the size of our element have - changed. If there is no label present in the changes, that means we don't need to recalculate the label + changed. If there is no label present in the changes, that means we don't need to recalculate the label size, and can use the dimensions stored in the cache.

    If either the image or label are present in the changes, we then need to recalculate the size of our element. - We achieve this in the setSizeFromContent() method which derives the width and + We achieve this in the setSizeFromContent() method which derives the width and height from our layout.

    @@ -164,13 +155,13 @@

    Shape Definition

    - As we mentioned earlier, most of the action relating to the dimensions of our content driven element happens + As we mentioned earlier, most of the action relating to the dimensions of our content driven element happens in the layout. In the following code, you will see how we utilize properties introduced in the preinitialize() method to create a flexible layout.

    - The layout() method first determines if there are any layout metrics already present in the cache, + The layout() method first determines if there are any layout metrics already present in the cache, and if not, calls the calcLayout() method to create them.

    @@ -189,7 +180,7 @@

    Shape Definition

    return layout; } } - + calcLayout() { const { attributes, @@ -269,7 +260,7 @@

    Shape Definition

    const svg = paper.svg;
    -      
    +
     function measureText(svgDocument, text, attrs) {
         const vText = V('text').attr(attrs).text(text);
         vText.appendTo(svgDocument);
    @@ -283,7 +274,7 @@ 

    Custom Shape View

    The other important aspect of our content driven element is a custom element view. The view is responsible for rendering - our shape, and working with our element visually. Our custom view also listens to underlying model changes, and updates + our shape, and working with our element visually. Our custom view also listens to underlying model changes, and updates itself.

    @@ -300,7 +291,7 @@

    Custom Shape View

    - confirmUpdate() receives all scheduled flags, and based on them updates the view. In our example, + confirmUpdate() receives all scheduled flags, and based on them updates the view. In our example, it isn't necessary to perform updates for resizing DOM elements if the received flag is '@color'.

    @@ -331,7 +322,7 @@

    Custom Shape View

    // Other Methods }); - + joint.shapes.custom = { Shape, ShapeView @@ -339,7 +330,7 @@

    Custom Shape View

    - The render() function runs once during initialization. It is responsible for creating the DOM elements, + The render() function runs once during initialization. It is responsible for creating the DOM elements, and updates during the initial render.

    @@ -463,8 +454,8 @@

    Custom Shape View

    Thanks for reading. I hope you consider content driven elements if it's suitable for your application. - If you would like to explore any of the features mentioned here in more detail, you can find extra information in our - JointJS documentation. + If you would like to explore any of the features mentioned here in more detail, you can find extra information in our + JointJS documentation.

    diff --git a/packages/joint-core/tutorials/custom-attributes.html b/packages/joint-core/tutorials/custom-attributes.html index d2c05e4fe6..8ce5c937b4 100644 --- a/packages/joint-core/tutorials/custom-attributes.html +++ b/packages/joint-core/tutorials/custom-attributes.html @@ -12,9 +12,6 @@ - - - JointJS - Create custom attributes with prop() and set() @@ -26,27 +23,27 @@

    Custom Attributes

    If you have been working with JointJS for any amount of time, you are probably familiar with presentation attributes. These are the attributes which contribute to the visual aspect of our shape, and are mostly defined through - attrs objects. While presentation attributes provide us with great functionality, occasionally we might want - to create our own attributes to help us work with our shape. This is where custom attributes come in useful. Maybe we - want a boolean to represent a state, a number for our threshold value, or just provide some attributes which represent our + attrs objects. While presentation attributes provide us with great functionality, occasionally we might want + to create our own attributes to help us work with our shape. This is where custom attributes come in useful. Maybe we + want a boolean to represent a state, a number for our threshold value, or just provide some attributes which represent our specific problem, all of these could be possible use cases for a custom attribute.

    - To work with presentation attributes, we usually use the - attr() - method. However, when working with custom attributes, we recommend working with prop() and set(). - These methods will help you store custom data on the model, while at the same time also providing a nice separation between + To work with presentation attributes, we usually use the + attr() + method. However, when working with custom attributes, we recommend working with prop() and set(). + These methods will help you store custom data on the model, while at the same time also providing a nice separation between custom and presentation attributes if needed.

    The prop() method

    - Prop + Prop is used to set attributes on the element model. It can be used to set both custom and presentation attributes, and - it also provides support for nesting making it very flexible. When setting an attribute, the first parameter is an object or - string representation of our path, and when not using an object, the second parameter will be the value we wish to set. Prop + it also provides support for nesting making it very flexible. When setting an attribute, the first parameter is an object or + string representation of our path, and when not using an object, the second parameter will be the value we wish to set. Prop will merge the properties you want to set with existing ones already present in the Cell.

    @@ -93,7 +90,7 @@

    The prop() method

    element.prop('mylist/0/data/0/value', 50); // Set custom attribute as nested array
    -    
    +
     // Output from element.toJSON();
     {
         "type": "standard.Rectangle",
    @@ -117,10 +114,10 @@ 

    The prop() method

    The set() method

    - Set is a method provided by mvc.Model, and similarly to prop(), it can be used to create custom data - attributes on the element model. Like prop(), when setting an attribute, the first parameter can be an object - or string, but set() doesn't provide nesting capability in the form of a string. That means any path representation - is considered to be one attribute. Again, when not using an object, the second parameter is the value we wish to set. Another + Set is a method provided by mvc.Model, and similarly to prop(), it can be used to create custom data + attributes on the element model. Like prop(), when setting an attribute, the first parameter can be an object + or string, but set() doesn't provide nesting capability in the form of a string. That means any path representation + is considered to be one attribute. Again, when not using an object, the second parameter is the value we wish to set. Another difference to take note of is that set() will override attributes, while prop() merges them.

    @@ -157,9 +154,9 @@

    The set() method

    Overwriting attributes with prop()

    - We do provide some extra functionality when using prop, and that is to enable rewrite mode. To - enable rewrite mode, we simply use { rewrite: true } as the 3rd argument in our prop() method. - This will replace the value referenced by the path with the new one. This differs from the default behaviour which is to + We do provide some extra functionality when using prop, and that is to enable rewrite mode. To + enable rewrite mode, we simply use { rewrite: true } as the 3rd argument in our prop() method. + This will replace the value referenced by the path with the new one. This differs from the default behaviour which is to merge our properties.

    @@ -208,15 +205,15 @@

    Relationship between prop() and attr() methods

    Both of these methods function similarly, but there are a few small differences to be aware of. Internally, attr() - implements prop() to process our attributes. Afterwards, the method places the presentation attributes within + implements prop() to process our attributes. Afterwards, the method places the presentation attributes within the attrs object. Separating attributes in this manner also provides our model with a nice semantic and organizational divide between our custom and presentation properties.

    - In the following example, you can see both attr() and prop() in action. It would be possible to set both of these - attributes using prop(), but as mentioned above, both these methods achieve what we want in our example. We see that nice - separation between attributes, because after attr() implements prop(), it also + In the following example, you can see both attr() and prop() in action. It would be possible to set both of these + attributes using prop(), but as mentioned above, both these methods achieve what we want in our example. We see that nice + separation between attributes, because after attr() implements prop(), it also prepends our path with 'attrs'. This means we find our presentation attributes in the attrs object.

    @@ -241,20 +238,20 @@

    Relationship between prop() and attr() methods

    Another important note to mention when talking about prop() and attr() is that when changing the model, - some useful information is passed along with the change event in JointJS. propertyPath, propertyValue, - and propertyPathArray are all values which can be accessed when updating the model. This can prove useful if for some - reason you need to listen to a specific attribute change. Note that it is not possible to access these values in this manner + some useful information is passed along with the change event in JointJS. propertyPath, propertyValue, + and propertyPathArray are all values which can be accessed when updating the model. This can prove useful if for some + reason you need to listen to a specific attribute change. Note that it is not possible to access these values in this manner when using set().

    graph.on('change', (cell, opt) => {
         if ('attrs' in cell.changed) {
    -        console.log(opt.propertyPathArray, 'was changed'); 
    +        console.log(opt.propertyPathArray, 'was changed');
             // --> ['attrs', 'body', 'fill'] 'was changed'
         }
     
         if ('isInteractive' in cell.changed) {
    -        console.log(opt.propertyPathArray, 'was changed'); 
    +        console.log(opt.propertyPathArray, 'was changed');
             // --> ['isInteractive'] 'was changed'
         }
     });
    @@ -266,9 +263,9 @@ 

    Relationship between prop() and attr() methods

    Thanks for reading this far. As you can see, custom attributes open up a new world of functionality within our shapes, and don't get in the way of our presentation attributes which is nice. The most important take away is that - prop() and set() are the right set of tools to work with custom attributes. If you would like + prop() and set() are the right set of tools to work with custom attributes. If you would like to explore any of the features mentioned here in more detail, you can find our full JointJS documentation - here. + here.

    diff --git a/packages/joint-core/tutorials/custom-elements.html b/packages/joint-core/tutorials/custom-elements.html index 4551ec79c0..3b0e1342cf 100644 --- a/packages/joint-core/tutorials/custom-elements.html +++ b/packages/joint-core/tutorials/custom-elements.html @@ -1,18 +1,13 @@ - + - - - - - @@ -21,19 +16,13 @@ - -

    Custom Elements

    - This is the fourth article of the intermediate section of the JointJS tutorial. Return to - serialization. See index + This is the fourth article of the intermediate section of the JointJS tutorial. Return to + serialization. See index of basic and intermediate articles.

    @@ -146,13 +135,13 @@

    Name

    - By default, JointJS reads cell definitions from the joint.shapes namespace. If for some reason you would like to change this behaviour, - it is possible to do so. We can achieve this by combining the cellNamespace and cellViewNamespace options which can be found + By default, JointJS reads cell definitions from the joint.shapes namespace. If for some reason you would like to change this behaviour, + it is possible to do so. We can achieve this by combining the cellNamespace and cellViewNamespace options which can be found on graph and paper respectively. Let's see how that might look.

    var customNamespace = {};
    -    
    +
     var graph = new joint.dia.Graph({}, { cellNamespace: customNamespace });
     
     new joint.dia.Paper({
    @@ -179,9 +168,9 @@ 

    Name

    } }); -graph.fromJSON({ +graph.fromJSON({ cells: [ - { + { "type": "shapeGroup.Shape", "size": { "width": 500, "height": 50 }, "position": { "x": 50, "y": 25 }, @@ -192,13 +181,13 @@

    Name

    } } ] -}); +});

    - As you can see, type is very important, especially if you want to import a graph from JSON. + As you can see, type is very important, especially if you want to import a graph from JSON. In the example above, graph looks at the customNamespace.shapeGroup.Shape path to find the correct constructor. - If we were to use the incorrect type in graph.fromJSON(), that would mean graph is unable to find the correct constructor, + If we were to use the incorrect type in graph.fromJSON(), that would mean graph is unable to find the correct constructor, and we wouldn't see our custom element.

    @@ -268,7 +257,7 @@

    Default Attributes

    In joint.shapes.standard.Rectangle, we can see that the subelement referenced by body (i.e. the SVGRectElement component of the shape) has its default width and height set in terms of the shape model size (using the calc() function). Read more about calc() - in our attributes + in our attributes documentation. Alongside sizing, you can see the fill and stroke styling. The label subelement (the SVGTextElement component of the shape) has its text anchor set to the center of the text bbox; that point is then positioned into the center of the model bbox by x @@ -322,8 +311,8 @@

    Default Attributes

    We can see that the anchor of the label of joint.shapes.standard.Rectangle in our example is placed centrally. We use calc() to place the label relative to our - shape model. If the model size was kept at (100, 100), that would mean that the anchor of the label - will be offset from the reference origin by (50, 50) when using x: 'calc(0.5*w)' and + shape model. If the model size was kept at (100, 100), that would mean that the anchor of the label + will be offset from the reference origin by (50, 50) when using x: 'calc(0.5*w)' and y: 'calc(0.5*h)'.

    @@ -415,7 +404,7 @@

    Example

    We add our shapes to the graph in the same manner described in our basic Graph & Paper tutorial. In the code below, we add a joint.shapes.standard.Rectangle with rounded corners and - a Multiline label. The Multiline label respects the x and y values that we + a Multiline label. The Multiline label respects the x and y values that we calculated with the calc() function earlier.

    @@ -436,7 +425,7 @@

    Example

    The following example shows the default look of joint.shapes.standard.Rectangle (i.e. with - no instance attributes set), and the Multiline label example above. Alongside those, you can see the default + no instance attributes set), and the Multiline label example above. Alongside those, you can see the default look of our custom element, and the randomized results of the createRandom() constructor function. Try refreshing the page to see createRandom() in action.

    diff --git a/packages/joint-core/tutorials/custom-links.html b/packages/joint-core/tutorials/custom-links.html index 1e1a0b568d..1201e3a143 100644 --- a/packages/joint-core/tutorials/custom-links.html +++ b/packages/joint-core/tutorials/custom-links.html @@ -8,11 +8,6 @@ - - - - - @@ -21,18 +16,12 @@ - -

    Custom Links

    - This is the fifth article of the intermediate section of the JointJS tutorial. Return to + This is the fifth article of the intermediate section of the JointJS tutorial. Return to custom elements. See index of basic and intermediate articles.

    @@ -146,17 +135,17 @@

    Name

    // Markup }] }); - +

    - By default, JointJS reads cell definitions from the joint.shapes namespace. If for some reason you would like to change this behaviour, - it is possible to do so. We can achieve this by combining the cellNamespace and cellViewNamespace options which can be found + By default, JointJS reads cell definitions from the joint.shapes namespace. If for some reason you would like to change this behaviour, + it is possible to do so. We can achieve this by combining the cellNamespace and cellViewNamespace options which can be found on graph and paper respectively. Let's see how that might look.

    var customNamespace = {};
     
     var graph = new joint.dia.Graph({}, { cellNamespace: customNamespace });
    -    
    +
     new joint.dia.Paper({
         el: document.getElementById('paper-custom-links-namespace'),
         model: graph,
    @@ -181,9 +170,9 @@ 

    Name

    } }); -graph.fromJSON({ +graph.fromJSON({ cells: [ - { + { "type": "shapeGroup.Link", "source": { "x": 100, "y": 50 }, "target": { "x": 500, "y": 50 } @@ -200,9 +189,9 @@

    Name

    });

    - As you can see, type is very important, especially if you want to import a graph from JSON. + As you can see, type is very important, especially if you want to import a graph from JSON. In the example above, graph looks at the customNamespace.shapeGroup.Link path to find the correct constructor. - If we were to use the incorrect type in graph.fromJSON(), that would mean graph is unable to find the correct constructor, + If we were to use the incorrect type in graph.fromJSON(), that would mean graph is unable to find the correct constructor, and we wouldn't see our custom link.

    diff --git a/packages/joint-core/tutorials/element-tools.html b/packages/joint-core/tutorials/element-tools.html index 45f7eb64fe..5adb6c1f86 100644 --- a/packages/joint-core/tutorials/element-tools.html +++ b/packages/joint-core/tutorials/element-tools.html @@ -1,17 +1,13 @@ - + - - - - @@ -20,12 +16,6 @@ - -

    Element Tools

    diff --git a/packages/joint-core/tutorials/elements.html b/packages/joint-core/tutorials/elements.html index 4a9aef8daf..74f6e9af8c 100644 --- a/packages/joint-core/tutorials/elements.html +++ b/packages/joint-core/tutorials/elements.html @@ -1,7 +1,7 @@ - + @@ -10,10 +10,6 @@ - - - - @@ -22,12 +18,6 @@ - -

    Elements

    @@ -47,7 +37,7 @@

    Elements

    more advanced topics are covered later in the tutorial series. We will continue with the code we modified in the previous section:

    -
    <!DOCTYPE html>
    +            
    <!DOCTYPE html>
     <html>
     <head>
         <link rel="stylesheet" type="text/css" href="node_modules/jointjs/dist/joint.css" />
    @@ -57,8 +47,6 @@ 

    Elements

    <div id="myholder"></div> <!-- dependencies --> - <script src="node_modules/jquery/dist/jquery.js"></script> - <script src="node_modules/lodash/lodash.js"></script> <script src="node_modules/jointjs/dist/joint.js"></script> <!-- code --> @@ -234,7 +222,7 @@

    Example

    -
    <!DOCTYPE html>
    +            
    <!DOCTYPE html>
     <html>
     <head>
         <link rel="stylesheet" type="text/css" href="node_modules/jointjs/dist/joint.css" />
    @@ -244,8 +232,6 @@ 

    Example

    <div id="myholder"></div> <!-- dependencies --> - <script src="node_modules/jquery/dist/jquery.js"></script> - <script src="node_modules/lodash/lodash.js"></script> <script src="node_modules/jointjs/dist/joint.js"></script> <!-- code --> diff --git a/packages/joint-core/tutorials/event-handling.html b/packages/joint-core/tutorials/event-handling.html index 5515d5949b..4c0b62cccd 100644 --- a/packages/joint-core/tutorials/event-handling.html +++ b/packages/joint-core/tutorials/event-handling.html @@ -1,18 +1,13 @@ - + - - - - - @@ -21,12 +16,6 @@ - -

    Event handling

    diff --git a/packages/joint-core/tutorials/events.html b/packages/joint-core/tutorials/events.html index a53dd1e587..d23c5e2067 100644 --- a/packages/joint-core/tutorials/events.html +++ b/packages/joint-core/tutorials/events.html @@ -8,10 +8,6 @@ - - - - @@ -20,12 +16,6 @@ - -

    Events

    diff --git a/packages/joint-core/tutorials/filters-gradients.html b/packages/joint-core/tutorials/filters-gradients.html index 2eff25b374..120d6f2559 100644 --- a/packages/joint-core/tutorials/filters-gradients.html +++ b/packages/joint-core/tutorials/filters-gradients.html @@ -8,11 +8,6 @@ - - - - - @@ -21,12 +16,6 @@ - -

    Filters and gradients in elements and links

    diff --git a/packages/joint-core/tutorials/foreign-object.html b/packages/joint-core/tutorials/foreign-object.html index a12b935601..b4cb64f11e 100644 --- a/packages/joint-core/tutorials/foreign-object.html +++ b/packages/joint-core/tutorials/foreign-object.html @@ -8,11 +8,6 @@ - - - - - @@ -27,8 +22,8 @@

    Foreign Object

    - In the wonderful world of SVG elements, - foreignObject + In the wonderful world of SVG elements, + foreignObject stands out from the rest as it provides some unique behaviour that other SVG elements do not. SVG, like other XML dialects, is namespaced. That means if you want to include elements from a different XML namespace right in your SVG, you need some mechanism to enable this functionality. That's where foreignObject comes into play. @@ -40,20 +35,20 @@

    Foreign Object

    Historically, recommending foreignObject to users of JointJS was a little bit tricky, the main reason for this was the inherent lack of support for foreignObject in Internet Explorer. Due to the necessity of supporting all our users, - including those who were still using IE, there was a hesitancy about integrating support into the library fully. Luckily for us, + including those who were still using IE, there was a hesitancy about integrating support into the library fully. Luckily for us, the days in which we had to support IE are now at an end, and all other major browsers have full support, as illustrated by this caniuse reference table.

    - Now, that we can more confidently recommend the use of foreignObject with JointJS, embedding HTML text in SVG, - creating basic interactive elements like buttons, or working with HTML inputs should be a more straightforward process. - With this addition, combining the power of JointJS with foreignObject opens up a world of possibilities for + Now, that we can more confidently recommend the use of foreignObject with JointJS, embedding HTML text in SVG, + creating basic interactive elements like buttons, or working with HTML inputs should be a more straightforward process. + With this addition, combining the power of JointJS with foreignObject opens up a world of possibilities for interactivity within your JointJS diagrams.

    - In order to get a general idea of how foreignObject can be utilized in SVG, let's start with a simple + In order to get a general idea of how foreignObject can be utilized in SVG, let's start with a simple example without using JointJS.

    @@ -118,7 +113,7 @@

    Using foreignObject

    rect.card { fill: url(#gradient); } .stop1 { stop-color: #ff5c69; } .stop2 { stop-color: #ff4252; } - .stop3 { stop-color: #ed2637; } + .stop3 { stop-color: #ed2637; } @@ -136,8 +131,8 @@

    Using foreignObject

    - Now that we have a better understanding of what foreignObject is all about, how would we create - an equivalent example with JointJS? Using foreignObject with JointJS is much the same as creating any + Now that we have a better understanding of what foreignObject is all about, how would we create + an equivalent example with JointJS? Using foreignObject with JointJS is much the same as creating any custom element which you can see in the following code example.

    @@ -218,14 +213,14 @@

    Using foreignObject

    In order for our JointJS example to have the equivalent functionality as the first example, we need to make selecting text possible. To do that, we use the paper - preventDefaultViewAction + preventDefaultViewAction option which prevents the default action when a Cell is clicked.

    - While preventDefaultViewAction handles clicking, we also need to allow the user to select text via CSS. As the default CSS + While preventDefaultViewAction handles clicking, we also need to allow the user to select text via CSS. As the default CSS in JointJS sets the user-select property to 'none', we need to override this on our element. - The preventDefaultViewAction option combined with the following CSS override enables users to select text in the same manner + The preventDefaultViewAction option combined with the following CSS override enables users to select text in the same manner as the vanilla SVG example from earlier. We can also adjust the cursor value in order to see the text cursor.

    @@ -253,9 +248,9 @@

    Using foreignObject

    - Since our foreignObject contains quite a lot of HTML, we can take advantage of the - util.svg method to make our - markup object more concise. + Since our foreignObject contains quite a lot of HTML, we can take advantage of the + util.svg method to make our + markup object more concise. The resulting custom element definition will be more compact, and might prove easier to read for some developers.

    @@ -303,15 +298,15 @@

    A more interactive example

    One alternative method which diagram libraries utilize to allow users work with HTML is to render HTML on top of an underlying element. - While this approach can be successful, it comes with a lot of additional complexity such as the need to keep dimensions and position + While this approach can be successful, it comes with a lot of additional complexity such as the need to keep dimensions and position of the HTML in sync with the element itself. To this day, this approach is used by many competing diagram libraries - especially those that use HTML Canvas rendering.

    - It's possible to use the HTML overlay approach in JointJS, however since JointJS primarily works with SVG - and SVG was designed to work - well with other web standards such as HTML - taking advantage of foreignObject can allow users of JointJS create HTML-rich + It's possible to use the HTML overlay approach in JointJS, however since JointJS primarily works with SVG - and SVG was designed to work + well with other web standards such as HTML - taking advantage of foreignObject can allow users of JointJS create HTML-rich elements while avoiding some of the difficulties of other approaches.

    @@ -324,7 +319,7 @@

    A more interactive example

    In our previous example, we created an SVG rect element alongside our foreignObject. If your shape requires - other SVG elements, it's possible to add them in the same manner, but it's also not a requirement. You may find that + other SVG elements, it's possible to add them in the same manner, but it's also not a requirement. You may find that foreignObject is sufficient, and it's the only SVG element you wish to define explicitly. In our form example, that's exactly the route we will take, and you can see it demonstrated in the following code example.

    @@ -358,10 +353,10 @@

    A more interactive example

    - As the default styles for our form are a little boring, we will also add the following CSS just to make our elements a - little more presentable. It's also possible to add CSS via an SVG - style element, or inline - styles via the style attribute + As the default styles for our form are a little boring, we will also add the following CSS just to make our elements a + little more presentable. It's also possible to add CSS via an SVG + style element, or inline + styles via the style attribute if you prefer, but as we are adding a substantial amount of CSS, we will use a separate stylesheet.

    @@ -394,7 +389,7 @@

    A more interactive example

    color: white; cursor: text; font-size: 1rem; - height: 56px; + height: 56px; outline-color: hsl(355, 100%, 63%); outline-width: thin; padding: 0 32px; @@ -427,7 +422,7 @@

    A more interactive example

    button span { background: linear-gradient(92.05deg, hsl(355, 100%, 68%) 12.09%, hsl(355, 100%, 63%) 42.58%, hsl(355, 85%, 54%) 84.96%); -webkit-background-clip: text; - background-clip: text; + background-clip: text; -webkit-text-fill-color: hsl(0deg 0% 0% / 0%); font-size: 1.2rem; } @@ -437,8 +432,8 @@

    A more interactive example

    JointJS source code: foreign-object.js

    - When working with JointJS, you will have to make decisions about how some HTML elements lose focus. Notably, the default behavior of an - HTML form is that when a user clicks on a blank area, the active input field loses focus. In order to mimic + When working with JointJS, you will have to make decisions about how some HTML elements lose focus. Notably, the default behavior of an + HTML form is that when a user clicks on a blank area, the active input field loses focus. In order to mimic this behaviour in JointJS, we can create an event to remove focus when the user clicks on a blank paper area, or even on any JointJS element.

    @@ -449,10 +444,10 @@

    A more interactive example

    - Alternatively, setting the + Alternatively, setting the preventDefaultViewAction - and - preventDefaultBlankAction + and + preventDefaultBlankAction paper options to false would have the same effect on focus.

    @@ -465,7 +460,7 @@

    Preventing default JointJS

    The simple explanation is that JointJS prevents its own default interactions when working with HTML form controls. That means for example, - if you try to drag an input, the element doesn't move as a whole, but it selects the text inside the input. The elements + if you try to drag an input, the element doesn't move as a whole, but it selects the text inside the input. The elements where JointJS prevents its default interaction are as follows:

    @@ -478,15 +473,15 @@

    Preventing default JointJS

- In the example above, we created a paper event with the aim of managing focus. One detail you may not have noticed is that the - button text is actually contained within a span element. If we had not applied the paper event, - and the input was in focus, clicking on the span element won't actually cause the input to lose focus. - However, clicking on the button itself will make the input lose focus, as button is one of the + In the example above, we created a paper event with the aim of managing focus. One detail you may not have noticed is that the + button text is actually contained within a span element. If we had not applied the paper event, + and the input was in focus, clicking on the span element won't actually cause the input to lose focus. + However, clicking on the button itself will make the input lose focus, as button is one of the elements where JointJS prevents its default interaction.

- If we wanted the input to lose focus when a user clicks on the span element, utilizing the + If we wanted the input to lose focus when a user clicks on the span element, utilizing the preventDefaultViewAction option would accomplish this. A stronger measure would be to use the paper guard option as follows guard: (evt) => ['SPAN'].includes(evt.target.tagName). When using this option, it's important to note that @@ -496,16 +491,16 @@

Preventing default JointJS

- One of the final items you may wish to take care of when using a form in JointJS is to prevent the default browser behaviour - when submitting user data. In order to achieve this, we will create a custom - CellView for our element. It will contain an events hash - which specifies a DOM event that will be bound to a method on the view. The key is made up of the event name plus a CSS selector, + One of the final items you may wish to take care of when using a form in JointJS is to prevent the default browser behaviour + when submitting user data. In order to achieve this, we will create a custom + CellView for our element. It will contain an events hash + which specifies a DOM event that will be bound to a method on the view. The key is made up of the event name plus a CSS selector, and the value is a method on our custom view.

- In the following example, we specify the event name 'submit', plus our CSS element selector 'form', and lastly - the name of our method 'onSubmit'. We can prevent that browser refresh by using evt.preventDefault(), and clear + In the following example, we specify the event name 'submit', plus our CSS element selector 'form', and lastly + the name of our method 'onSubmit'. We can prevent that browser refresh by using evt.preventDefault(), and clear the value of the HTML input value afterwards if we wish to do so.

@@ -531,15 +526,15 @@

Preventing default JointJS

Props, a special attribute

- The last point which we would like to cover when discussing HTML form controls is the special + The last point which we would like to cover when discussing HTML form controls is the special props attribute. When creating HTML elements, it's - possible to define various attributes to initialize certain DOM properties. In some cases (such as 'id'), + possible to define various attributes to initialize certain DOM properties. In some cases (such as 'id'), this is a one-to-one relationship, but in others (such as 'value'), the attribute doesn't reflect the property, and it serves more like an initial and current state. - When working with JointJS, it wouldn't make sense that users can only set an initial 'value' attribute for an - input, and then have to access DOM elements themselves to update the 'value' property. If using - foreignObject, users should be able to set the current 'value' of an input through the model at - any time they want. It's for this exact reason that we created the special props attribute, and it can be utilized as + When working with JointJS, it wouldn't make sense that users can only set an initial 'value' attribute for an + input, and then have to access DOM elements themselves to update the 'value' property. If using + foreignObject, users should be able to set the current 'value' of an input through the model at + any time they want. It's for this exact reason that we created the special props attribute, and it can be utilized as follows:

@@ -595,16 +590,16 @@
Boolea

Boolean attributes are those data types where the presence or absence of the attribute represents its truthy or falsy - value respectively. Some common examples are - - required, - disabled, + value respectively. Some common examples are + + required, + disabled, and readonly.

Usually, boolean attributes can be utilized in 3 different ways: you can omit the value, use an empty string, or set the value as a - case-insensitive match for the attribute's name. In our case, we cannot omit the value, so we must use the 2nd or 3rd option. This is + case-insensitive match for the attribute's name. In our case, we cannot omit the value, so we must use the 2nd or 3rd option. This is demonstrated in the following example which uses the required attribute.

@@ -621,17 +616,17 @@
Boolea
Closing Tags

- In the past, developers traditionally used start and end tags for HTML elements. If we wanted some text on the page, we might - create the following paragraph element <p>Lorem ipsum dolor sit amet consectetur.</p>. With the advent - of HTML5, it's not strictly necessary to close certain elements which are considered - void, i.e., elements which can't have + In the past, developers traditionally used start and end tags for HTML elements. If we wanted some text on the page, we might + create the following paragraph element <p>Lorem ipsum dolor sit amet consectetur.</p>. With the advent + of HTML5, it's not strictly necessary to close certain elements which are considered + void, i.e., elements which can't have child nodes.

In HTML, it's possible to write a line-break element as <br> or <br />. The trailing slash - in the tag has no meaning, and browsers simply ignore it. However, in XML, XHTML, and SVG, self closing tags are required in void elements, - so a trailing slash is necessary. When working with tagged templates in JointJS, you must use a trailing slash. This can be + in the tag has no meaning, and browsers simply ignore it. However, in XML, XHTML, and SVG, self closing tags are required in void elements, + so a trailing slash is necessary. When working with tagged templates in JointJS, you must use a trailing slash. This can be observed in the following example:

@@ -658,7 +653,7 @@
HTML Entiti HTML Entities are used in place of some characters that are reserved depending on the language. For example, the greater than (>) or less than (<) sign cannot be used in HTML as it would cause a conflict with tags. This is also one area to be careful with when using tagged templates. You must use the entity number rather than - the entity name. Entity numbers are the ones which use the # symbol. That means using &#169; + the entity name. Entity numbers are the ones which use the # symbol. That means using &#169; is preferable over &copy;.

@@ -677,27 +672,27 @@
HTML Entiti
IDs

- Since having more than one ID of the same value in the DOM is considered invalid according to the + Since having more than one ID of the same value in the DOM is considered invalid according to the HTML - specification, we recommend not including an ID attribute in your HTML Elements. The first scenario where this may be relevant is when + specification, we recommend not including an ID attribute in your HTML Elements. The first scenario where this may be relevant is when choosing CSS selectors. Using a class attribute in your markup rather than an ID is advised.

- The second situation where this proves important is programmatically associating a label with an + The second situation where this proves important is programmatically associating a label with an input element. One method of making this association is by providing an 'id' attribute to an input, and a 'for' attribute to its label. Each of which would have the same value. This has - a number of advantages such as screen readers reading the label when the associated input is focused, and also that the focus is + a number of advantages such as screen readers reading the label when the associated input is focused, and also that the focus is passed to the input when the associated label is clicked.

- As we don't want to use an ID, we should use an alternative method to make this association such as nesting an input in its + As we don't want to use an ID, we should use an alternative method to make this association such as nesting an input in its respective label which will have the same effect.

// Do not use ID attributes in HTML markup ❌
-<p id="paragraph"> 
+<p id="paragraph">
     Lorem ipsum dolor sit amet, consectetur adipiscing elit.
 </p>
 
@@ -717,7 +712,7 @@ 
IDs
<input @selector="firstname" type="text"/> </label>
- +

@@ -726,9 +721,9 @@

- Our experience with both Chrome and Firefox has been very positive, but we have ran into some quirks when using Safari. - In this section, we will cover some issues we discovered, and some related - webkit bugs, but this also isn't an exhaustive list, so you + Our experience with both Chrome and Firefox has been very positive, but we have ran into some quirks when using Safari. + In this section, we will cover some issues we discovered, and some related + webkit bugs, but this also isn't an exhaustive list, so you might run into an issue with Safari that isn't mentioned here.

@@ -748,18 +743,18 @@ Naturally, we also searched the same bug report for any potential solutions, and found suggestions that adding a style of 'position: fixed' to the outermost div element fixed some of the issues that people had. Once again, the information proved to be helpful, and the elements seemed to be positioned correctly again. We did notice when transforming the - JointJS paper with a method such as - transformToFitContent, - 'position:fixed' again caused issues with element position. Therefore, if you are using paper transforms, + JointJS paper with a method such as + transformToFitContent, + 'position:fixed' again caused issues with element position. Therefore, if you are using paper transforms, the default 'position:static' might be preferable for some use cases.

On further inspection, we realized that we still had one major issue with the video. After dragging our JointJS shape, the video - was still rendered in the incorrect position which was disappointing. The silver lining was that the opacity and - transform applied to our label and input respectively were working correctly, and those - elements seemed to maintain the correct position. The following is some example markup we had issues with in Safari. + was still rendered in the incorrect position which was disappointing. The silver lining was that the opacity and + transform applied to our label and input respectively were working correctly, and those + elements seemed to maintain the correct position. The following is some example markup we had issues with in Safari. Your mileage may vary.

@@ -782,8 +777,8 @@

The situation described above, and the resulting issues were discovered mostly through trial and error. That's all well and good, but - can we learn anything from the webkit bug reports? It seems that when HTML inside a foreignObject gets a - RenderLayer, the hierarchial position of the RenderLayer is inaccurate which results in the HTML being positioned incorrectly. + can we learn anything from the webkit bug reports? It seems that when HTML inside a foreignObject gets a + RenderLayer, the hierarchial position of the RenderLayer is inaccurate which results in the HTML being positioned incorrectly. Let's try to reduce this information to some more actionable points.

@@ -802,10 +797,10 @@

- If you've never tested which events are triggered when a user clicks on a select element, don't worry, we've done it, so - you don't have to. It turns out, the events that get triggered are quite inconsistent across all major browsers when interacting with + If you've never tested which events are triggered when a user clicks on a select element, don't worry, we've done it, so + you don't have to. It turns out, the events that get triggered are quite inconsistent across all major browsers when interacting with select. Safari, for example, only triggers 'pointerdown' when you open select. As a result of these - inconsistencies, JointJS includes select in the paper guard option by default. Therefore, if you + inconsistencies, JointJS includes select in the paper guard option by default. Therefore, if you interact with a select element, JointJS will not trigger its paper events. You as a user are not obliged to do something about this, but it's something you should be aware of.

@@ -821,17 +816,17 @@
  • video
  • select
  • - +

    As stated already, this isn't an exhaustive list of issues, so it's possible you may run into some other inconsistencies with Safari. - It's unfortunate that Safari still lags behind other modern browsers in relation to foreignObject, but there are also - reasons to be positive. One reason to have a brighter outlook is that some of the major issues we experienced here are currently being - worked on according to this bug report, so hopefully in the + It's unfortunate that Safari still lags behind other modern browsers in relation to foreignObject, but there are also + reasons to be positive. One reason to have a brighter outlook is that some of the major issues we experienced here are currently being + worked on according to this bug report, so hopefully in the not too distant future, the majority of these issues will cease to exist.

    - This is a section we would like to keep updated as much as possible, so if you encounter any other interesting behaviour, you can let us + This is a section we would like to keep updated as much as possible, so if you encounter any other interesting behaviour, you can let us know.

    @@ -839,14 +834,14 @@

    Conclusion

    We are very happy that we can now confidently recommend the use of foreignObject to users of JointJS, and that it's - well-supported in all major browsers. We consider it a big step forward for creating diagrams with JointJS, and believe it will + well-supported in all major browsers. We consider it a big step forward for creating diagrams with JointJS, and believe it will allow the creation of even more innovative and interactive diagramming solutions. If you want to start using HTML with JointJS, there is no better time to do so, and we can't wait to see what you create.

    - That's all we will cover in this tutorial. Thanks for staying with us if you got this far. If you would like - to explore any of the features mentioned here in more detail, you can find extra information in our + That's all we will cover in this tutorial. Thanks for staying with us if you got this far. If you would like + to explore any of the features mentioned here in more detail, you can find extra information in our JointJS documentation.

    diff --git a/packages/joint-core/tutorials/graph-and-paper.html b/packages/joint-core/tutorials/graph-and-paper.html index 562c093dbb..1e68b81b17 100644 --- a/packages/joint-core/tutorials/graph-and-paper.html +++ b/packages/joint-core/tutorials/graph-and-paper.html @@ -10,10 +10,6 @@ - - - - @@ -22,11 +18,6 @@ -

    Graph & Paper

    @@ -43,7 +34,7 @@

    Graph & Paper

    and linking them to our HTML. We will be looking at these portions of the original Hello, World! application:

    -
    <!DOCTYPE html>
    +            
    <!DOCTYPE html>
     <html>
     <head>
         <link rel="stylesheet" type="text/css" href="node_modules/jointjs/dist/joint.css" />
    @@ -53,15 +44,13 @@ 

    Graph & Paper

    <div id="myholder"></div> <!-- dependencies --> - <script src="node_modules/jquery/dist/jquery.js"></script> - <script src="node_modules/lodash/lodash.js"></script> <script src="node_modules/jointjs/dist/joint.js"></script> <!-- code --> <script type="text/javascript"> - + var namespace = joint.shapes; - + var graph = new joint.dia.Graph({}, { cellNamespace: namespace }); var paper = new joint.dia.Paper({ @@ -174,7 +163,7 @@

    Paper Styling

    The code is presented below. The changes we made are highlighted:

    -
    <!DOCTYPE html>
    +            
    <!DOCTYPE html>
     <html>
     <head>
         <link rel="stylesheet" type="text/css" href="node_modules/jointjs/dist/joint.css" />
    @@ -184,8 +173,6 @@ 

    Paper Styling

    <div id="myholder"></div> <!-- dependencies --> - <script src="node_modules/jquery/dist/jquery.js"></script> - <script src="node_modules/lodash/lodash.js"></script> <script src="node_modules/jointjs/dist/joint.js"></script> <!-- code --> diff --git a/packages/joint-core/tutorials/hello-world.html b/packages/joint-core/tutorials/hello-world.html index 96ccb7b975..d77ec31761 100644 --- a/packages/joint-core/tutorials/hello-world.html +++ b/packages/joint-core/tutorials/hello-world.html @@ -9,10 +9,6 @@ - - - - @@ -21,11 +17,6 @@ -

    Hello world!

    @@ -40,16 +31,14 @@

    Hello world!

    <!DOCTYPE html>
     <html>
     <head>
    -    <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/jointjs/3.5.5/joint.css" />
    +    <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/jointjs/4.0.0/joint.css" />
     </head>
     <body>
         <!-- content -->
         <div id="myholder"></div>
     
         <!-- dependencies -->
    -    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.js"></script>
    -    <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.js"></script>
    -    <script src="https://cdnjs.cloudflare.com/ajax/libs/jointjs/3.5.5/joint.js"></script>
    +    <script src="https://cdnjs.cloudflare.com/ajax/libs/jointjs/4.0.0/joint.js"></script>
     
         <!-- code -->
         <script type="text/javascript">
    diff --git a/packages/joint-core/tutorials/hierarchy.html b/packages/joint-core/tutorials/hierarchy.html
    deleted file mode 100644
    index 158a1406db..0000000000
    --- a/packages/joint-core/tutorials/hierarchy.html
    +++ /dev/null
    @@ -1,137 +0,0 @@
    -
    -
    -    
    -
    -        
    -        
    -
    -        
    -        
    -
    -        
    -        
    -        
    -
    -
    -        
    -        
    -
    -        JointJS - JavaScript diagramming library - Getting started.
    -
    -    
    -    
    -
    -        
    -
    -        
    - -

    Tips on hierarchical diagrams

    - -

    - Disclaimer - - - - The following tutorial was created with a past version of JointJS. The tutorial is still provided for - those who may face a similar problem, but it may no longer show the best practices of JointJS. You may - encounter the following issues: - -

    - -
      -
    • Use of outdated/deprecated API calls, or inheritance from superseded shape collections.
    • -
    • Use of SVG string markup for custom Element/Link shape definitions; we have since started - recommending using JSON markup instead.
    • -
    • The Element and Link types defined may not serialize properly.
    • -
    • Other unexpected problems.
    • -
    - -

    - Our current recommendations on best practices can be found in the appropriate sections of the - basic and intermediate tutorials. -

    - -

    - JointJS provides a facility to create hierarchy in your diagrams. The API is simple and - contains three methods and two properties dealing with parent-child relationships between elements. - The methods are embed(), - unembed() and - getEmbeddedCells(). - The properties are embeds and parent (Please refer to the Nesting - section - of the joint.dia.Element model reference). -

    - -

    This tutorial shows how to take advantage of these methods in order to implement three functionalities - common to parent-child relationships: child movement restriction to - the parent area, - expanding parent area to cover its children and - reparenting. -

    - -

    Restricting child movement to the parent area

    - -

    The goal is to restrict the movement of an element embedded in a parent in order disallow - the user to drag the element outside the parent element area. -

    -

    The trick here is to detect when the child element bounding box gets outside the bounding box - of the parent and revert the child position if that happens.

    - -

    Try to move the child element outside the parent element area.

    - -
    - -
    
    -
    -            

    Expanding parent area to cover its children

    - -

    This section shows how to make the parent element automatically resizable so that it coveres - its children.

    - -

    Again, we'll react on the change:position event on the graph but this time we resize the parent - element based on the position and size of its children. We also store the original position and size of the - parent element so that we can shrink the parent element back if the child element we manipulate - fits into the original parent element area.

    - -

    Try to move the child element outside the parent element area and see how the - parent element automatically expands/shirnks.

    - -
    - -
    
    -
    -
    -            

    Reparenting

    - -

    Another useful technique when dealing with parent-child relationships is being able to drop an element - above another element and let the element below become a new parent of the dropped element. This way - we alow the user to change the parentage via the UI.

    - -

    First, we register a handler for the cell:pointerdown event on the paper that is triggered - whenever a mousedown (touchstart) above a cell is emitted. This is where the dragging begins. In this - handler, - we unembed the dragged element if it was a child of a parent. Note that we also show the dragged element - above all the other cells (toFront()) so that we always see it in the front while dragging. - Second, we register a handler for the cell:pointerup event which is triggered when we - drop the dragged element. In this handler, we find all the cells that are below the center of the - dragged element. In this example, we pick the first one that is not the dragged element itself - and make it a new parent of the dragged element. If you have more than one level of hierarchy in - your application, you might want to find an element the most in the front (by looking at the z - property) instead. We left this out of this example for simplicity.

    - -

    Try to move the El B over El A, then move the El A. You should see - the El B moves as well as it became a child of El A.

    - -
    - -
    
    -
    -        
    - - - - - diff --git a/packages/joint-core/tutorials/html-elements.html b/packages/joint-core/tutorials/html-elements.html deleted file mode 100644 index a448993678..0000000000 --- a/packages/joint-core/tutorials/html-elements.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - - - - - - - - - - - JointJS - JavaScript diagramming library - Getting started. - - - - - - -
    - -

    Using HTML in JointJS elements

    - -

    - Disclaimer - - - - The following tutorial was created with a past version of JointJS. The tutorial is still provided for - those who may face a similar problem, but it may no longer show the best practices of JointJS. You may - encounter the following issues: - -

    - -
      -
    • Use of outdated/deprecated API calls, or inheritance from superseded shape collections.
    • -
    • Use of SVG string markup for custom Element/Link shape definitions; we have since started - recommending using JSON markup instead.
    • -
    • The Element and Link types defined may not serialize properly.
    • -
    • Other unexpected problems.
    • -
    - -

    - Our current recommendations on best practices can be found in the appropriate sections of the - basic and intermediate tutorials. -

    - -

    Many times, you might want to use HTML inputs or other HTML elements inside your JointJS graphs. This - tutorial describes a way of doing this. The technique used in this tutorial is creating a custom - view that renders your HTML and takes care of the interaction with the HTML. A different approach might - be to use the - foreignObject and - embed it in the markup of your JointJS elements. - This technique is however problematic due to a poor browser support. (However, this seems to be the right - way - of combining HTML with SVG in JointJS in the future.)

    - -

    The good news is that if you setup your custom HTML view properly, you can take advantage - of many of the features JointJS has to offer.

    - -
    - -

    The code below shows how you can create a custom JointJS view that renders HTML (including - functional inputs). The trick is to update the HTML element position and dimension so that it follows - the underlying JointJS element. Additionally, we observe changes on the embedded inputs and update - the JointJS model accordingly. This also works the other way round, if the model changes, we - reflect the changes in the HTML.

    - - - - -

    JavaScript code

    -
    
    -            

    CSS stylesheet

    -
    
    -        
    - - - - - diff --git a/packages/joint-core/tutorials/hyperlinks.html b/packages/joint-core/tutorials/hyperlinks.html index 41eabf52ee..013dbbffc0 100644 --- a/packages/joint-core/tutorials/hyperlinks.html +++ b/packages/joint-core/tutorials/hyperlinks.html @@ -8,11 +8,6 @@ - - - - - @@ -21,12 +16,6 @@ - -