From 2f9b9b7d4010f2fbcfd669566257243d80a20b1c Mon Sep 17 00:00:00 2001 From: Jordan Eldredge Date: Fri, 1 Mar 2024 15:40:07 -0800 Subject: [PATCH] Update snapshots and add new jsdom env --- packages/webamp/.babelrc | 6 - .../__snapshots__/regionParser.test.js.snap | 44 ++-- .../__snapshots__/serialization.test.ts.snap | 38 +-- packages/webamp/js/utils.test.ts | 220 ++++++++--------- packages/webamp/package.json | 1 + yarn.lock | 226 +++++++++++++++++- 6 files changed, 369 insertions(+), 166 deletions(-) diff --git a/packages/webamp/.babelrc b/packages/webamp/.babelrc index e39b2d51..14680c80 100644 --- a/packages/webamp/.babelrc +++ b/packages/webamp/.babelrc @@ -19,12 +19,6 @@ } ], // TODO: Can TypeScript just do this for us? - [ - "@babel/preset-react", - { - "runtime": "automatic" - } - ], "@babel/preset-typescript" ], "plugins": [ diff --git a/packages/webamp/js/__snapshots__/regionParser.test.js.snap b/packages/webamp/js/__snapshots__/regionParser.test.js.snap index 6e72f2a6..d649d9ad 100644 --- a/packages/webamp/js/__snapshots__/regionParser.test.js.snap +++ b/packages/webamp/js/__snapshots__/regionParser.test.js.snap @@ -1,8 +1,8 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`regionParser parses Satellite M's region.txt 1`] = ` -Object { - "normal": Array [ +{ + "normal": [ "4,0 271,0 271,116 4,116", "2,1 273,1 273,116 2,116", "1,2 274,2 274,116 1,116", @@ -12,8 +12,8 @@ Object { `; exports[`regionParser parses a complex file 1`] = ` -Object { - "equalizer": Array [ +{ + "equalizer": [ "2,0 9,0 9,2 2,2", "9,0 25,0 25,1 9,1", "41,0 51,0 51,10 41,10", @@ -268,7 +268,7 @@ Object { "36,115 66,115 66,116 36,116", "248,115 271,115 271,116 248,116", ], - "equalizerws": Array [ + "equalizerws": [ "4,3 29,3 29,13 4,13", "48,3 60,3 60,13 48,13", "158,3 164,3 164,13 158,13", @@ -279,7 +279,7 @@ Object { "273,4 275,4 275,12 273,12", "271,5 275,5 275,11 271,11", ], - "normal": Array [ + "normal": [ "8,3 18,3 18,27 8,27", "85,3 95,3 95,111 85,111", "95,3 125,3 125,4 95,4", @@ -395,7 +395,7 @@ Object { "133,111 173,111 173,112 133,112", "249,111 273,111 273,112 249,112", ], - "windowshade": Array [ + "windowshade": [ "8,3 18,3 18,13 8,13", "78,3 192,3 192,13 78,13", "245,3 250,3 250,12 245,12", @@ -410,50 +410,50 @@ Object { `; exports[`regionParser parses a file with section headers but no info 1`] = ` -Object { - "equalizer": Array [ +{ + "equalizer": [ "0,0 0,115 20,20 274,115 274,0", ], - "normal": Array [ + "normal": [ "1,0 275,0 275,115 1,115", ], } `; exports[`regionParser parses a region.txt where the points have leading commas 1`] = ` -Object { - "equalizer": Array [ +{ + "equalizer": [ "5,0 3,1 2,2 1,3 0,5 0,116 275,116 275,6 274,3 273,2 272,1 270,0", ], - "equalizerws": Array [ + "equalizerws": [ "5,0 3,1 2,2 1,3 0,5 0,14 275,14 275,6 274,3 273,2 272,1 270,0", ], - "normal": Array [ + "normal": [ "5,0 3,1 2,2 1,3 0,5 0,116 275,116 275,6 274,3 273,2 272,1 270,0", ], - "windowshade": Array [ + "windowshade": [ "5,0 3,1 2,2 1,3 0,5 0,14 275,14 275,6 274,3 273,2 272,1 270,0", ], } `; exports[`regionParser parses the EVAunit region.txt 1`] = ` -Object { - "equalizer": Array [ +{ + "equalizer": [ "4,0 4,3 2,3 0,5 0,116 275,116 275,5 273,3 270,3 270,0 237,0 237,3 183,3 183,0 129,0 129,3 17,3 17,0", ], - "normal": Array [ + "normal": [ "9,0 9,3 2,3 0,5 0,104 2,107 4,107 4,116 17,116 17,107 129,107 129,116 183,116 183,107 237,107 237,116 270,116 270,107 272,107 275,104 275,5 273,3 271,3 272,4 266,4 266,3 261,3 262,4 256,4 256,3 251,3 252,4 246,4 246,3 243,3 243,0", ], - "windowshade": Array [ + "windowshade": [ "9,0 9,3 2,3 0,5 0,14 275,14 275,5 273,3 271,3 271,4 266,4 266,3 261,3 261,4 256,4 256,3 251,3 251,4 246,4 246,3 243,3 243,0 157,0 157,3 130,3 130,0", ], } `; exports[`regionParser parses the iTuned region.txt 1`] = ` -Object { - "equalizer": Array [ +{ + "equalizer": [ "5,0 269,0 269,116 5,116", "3,1 5,1 5,115 3,115", "2,2 4,2 4,114 2,114", @@ -465,7 +465,7 @@ Object { "267,4 274,4 274,112 267,112", "267,6 275,6 275,111 267,111", ], - "normal": Array [ + "normal": [ "5,0 269,0 269,116 5,116", "3,1 5,1 5,115 3,115", "2,2 4,2 4,114 2,114", diff --git a/packages/webamp/js/__snapshots__/serialization.test.ts.snap b/packages/webamp/js/__snapshots__/serialization.test.ts.snap index a961707a..4e1699d1 100644 --- a/packages/webamp/js/__snapshots__/serialization.test.ts.snap +++ b/packages/webamp/js/__snapshots__/serialization.test.ts.snap @@ -1,12 +1,12 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`can serialize the initial state 1`] = ` -Object { - "display": Object { +{ + "display": { "doubled": false, "llama": false, "marqueeStep": 0, - "skinColors": Array [ + "skinColors": [ "rgb(0,0,0)", "rgb(24,33,41)", "rgb(239,49,16)", @@ -34,18 +34,18 @@ Object { ], "skinCursors": null, "skinGenLetterWidths": null, - "skinImages": Object { + "skinImages": { "EQ_GRAPH_LINE_COLORS": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAATCAYAAABRC2cZAAAAR0lEQVQYV2O4rCT9n+F9kOJ/hvfViv8ZHkzSQCE2afxneH/HEJm49Nr0PwOYWPLIAkp0PjL4z1B41uQ/Q9QGnf8MWrPEIAQANWYwvnlToNIAAAAASUVORK5CYII=", "EQ_PREAMP_LINE": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAABCAYAAADpXEERAAAAE0lEQVQoU2Pcdfruf4ZRMKRDAAD1lwNjTqcaUQAAAABJRU5ErkJggg==", }, "skinPlaylistStyle": null, - "skinRegion": Object {}, + "skinRegion": {}, "visualizerStyle": 0, }, - "equalizer": Object { + "equalizer": { "auto": false, "on": true, - "sliders": Object { + "sliders": { "1000": 50, "12000": 50, "14000": 50, @@ -59,51 +59,51 @@ Object { "preamp": 50, }, }, - "media": Object { + "media": { "balance": 0, "repeat": false, "shuffle": false, "volume": 78, }, "version": 1, - "windows": Object { + "windows": { "focused": "main", - "genWindows": Object { - "equalizer": Object { + "genWindows": { + "equalizer": { "hidden": false, "open": true, - "position": Object { + "position": { "x": 0, "y": 0, }, "shade": false, - "size": Array [ + "size": [ 0, 0, ], }, - "main": Object { + "main": { "hidden": false, "open": true, - "position": Object { + "position": { "x": 0, "y": 0, }, "shade": false, - "size": Array [ + "size": [ 0, 0, ], }, - "playlist": Object { + "playlist": { "hidden": false, "open": true, - "position": Object { + "position": { "x": 0, "y": 0, }, "shade": false, - "size": Array [ + "size": [ 0, 0, ], diff --git a/packages/webamp/js/utils.test.ts b/packages/webamp/js/utils.test.ts index df2e87db..fe3c155c 100644 --- a/packages/webamp/js/utils.test.ts +++ b/packages/webamp/js/utils.test.ts @@ -71,33 +71,33 @@ describe("parseViscolors", () => { const viscolors = fixture("VISCOLOR.TXT"); const actual = parseViscolors(viscolors); expect(actual).toMatchInlineSnapshot(` -Array [ - "rgb(0,0,0)", - "rgb(24,33,41)", - "rgb(239,49,16)", - "rgb(206,41,16)", - "rgb(214,90,0)", - "rgb(214,102,0)", - "rgb(214,115,0)", - "rgb(198,123,8)", - "rgb(222,165,24)", - "rgb(214,181,33)", - "rgb(189,222,41)", - "rgb(148,222,33)", - "rgb(41,206,16)", - "rgb(50,190,16)", - "rgb(57,181,16)", - "rgb(49,156,8)", - "rgb(41,148,0)", - "rgb(24,132,8)", - "rgb(255,255,255)", - "rgb(214,214,222)", - "rgb(181,189,189)", - "rgb(160,170,175)", - "rgb(148,156,165)", - "rgb(150,150,150)", -] -`); + [ + "rgb(0,0,0)", + "rgb(24,33,41)", + "rgb(239,49,16)", + "rgb(206,41,16)", + "rgb(214,90,0)", + "rgb(214,102,0)", + "rgb(214,115,0)", + "rgb(198,123,8)", + "rgb(222,165,24)", + "rgb(214,181,33)", + "rgb(189,222,41)", + "rgb(148,222,33)", + "rgb(41,206,16)", + "rgb(50,190,16)", + "rgb(57,181,16)", + "rgb(49,156,8)", + "rgb(41,148,0)", + "rgb(24,132,8)", + "rgb(255,255,255)", + "rgb(214,214,222)", + "rgb(181,189,189)", + "rgb(160,170,175)", + "rgb(148,156,165)", + "rgb(150,150,150)", + ] + `); }); it("can parse a malformed viscolors file", () => { @@ -105,35 +105,35 @@ Array [ const viscolors = fixture("CENTRA_VISCOLOR.TXT"); const actual = parseViscolors(viscolors); expect(actual).toMatchInlineSnapshot(` -Array [ - "rgb(110,150,176)", - "rgb(165,165,165)", - "rgb(55,55,67)", - "rgb(55,55,67)", - "rgb(55,55,67)", - "rgb(55,55,67)", - "rgb(55,55,67)", - "rgb(55,55,67)", - "rgb(55,55,67)", - "rgb(55,55,67)", - "rgb(55,55,67)", - "rgb(55,55,67)", - "rgb(55,55,67)", - "rgb(55,55,67)", - "rgb(55,55,67)", - "rgb(55,55,67)", - "rgb(55,55,67)", - "rgb(55,55,67)", - "rgb(55,55,67)", - "rgb(55,55,67)", - "rgb(55,55,67)", - "rgb(55,55,67)", - "rgb(55,55,67)", - "rgb(181,189,189)", - "rgb(148,156,165)", - "rgb(148,156,165)", -] -`); + [ + "rgb(110,150,176)", + "rgb(165,165,165)", + "rgb(55,55,67)", + "rgb(55,55,67)", + "rgb(55,55,67)", + "rgb(55,55,67)", + "rgb(55,55,67)", + "rgb(55,55,67)", + "rgb(55,55,67)", + "rgb(55,55,67)", + "rgb(55,55,67)", + "rgb(55,55,67)", + "rgb(55,55,67)", + "rgb(55,55,67)", + "rgb(55,55,67)", + "rgb(55,55,67)", + "rgb(55,55,67)", + "rgb(55,55,67)", + "rgb(55,55,67)", + "rgb(55,55,67)", + "rgb(55,55,67)", + "rgb(55,55,67)", + "rgb(55,55,67)", + "rgb(181,189,189)", + "rgb(148,156,165)", + "rgb(148,156,165)", + ] + `); }); it("does not require commas to separate values", () => { @@ -141,65 +141,65 @@ Array [ const viscolors = fixture("viscolor_valgaav.txt"); const actual = parseViscolors(viscolors); expect(actual).toMatchInlineSnapshot(` -Array [ - "rgb(98,111,123)", - "rgb(98,111,123)", - "rgb(21,21,21)", - "rgb(223,176,176)", - "rgb(218,168,168)", - "rgb(211,158,158)", - "rgb(204,147,147)", - "rgb(198,137,137)", - "rgb(191,127,127)", - "rgb(185,117,117)", - "rgb(178,107,107)", - "rgb(172,97,97)", - "rgb(165,86,86)", - "rgb(158,76,76)", - "rgb(152,66,66)", - "rgb(145,56,56)", - "rgb(138,46,46)", - "rgb(138,46,46)", - "rgb(138,46,46)", - "rgb(158,76,76)", - "rgb(178,107,107)", - "rgb(198,137,137)", - "rgb(218,168,168)", - "rgb(223,176,176)", -] -`); + [ + "rgb(98,111,123)", + "rgb(98,111,123)", + "rgb(21,21,21)", + "rgb(223,176,176)", + "rgb(218,168,168)", + "rgb(211,158,158)", + "rgb(204,147,147)", + "rgb(198,137,137)", + "rgb(191,127,127)", + "rgb(185,117,117)", + "rgb(178,107,107)", + "rgb(172,97,97)", + "rgb(165,86,86)", + "rgb(158,76,76)", + "rgb(152,66,66)", + "rgb(145,56,56)", + "rgb(138,46,46)", + "rgb(138,46,46)", + "rgb(138,46,46)", + "rgb(158,76,76)", + "rgb(178,107,107)", + "rgb(198,137,137)", + "rgb(218,168,168)", + "rgb(223,176,176)", + ] + `); }); it("allows for trailing lines", () => { const viscolors = fixture("viscolor_green_dimension.txt"); const actual = parseViscolors(viscolors); expect(actual).toMatchInlineSnapshot(` -Array [ - "rgb(0,0,0)", - "rgb(0,0,0)", - "rgb(0,50,0)", - "rgb(0,56,0)", - "rgb(0,63,0)", - "rgb(0,70,0)", - "rgb(0,76,0)", - "rgb(0,83,0)", - "rgb(0,89,0)", - "rgb(0,96,0)", - "rgb(0,103,0)", - "rgb(0,109,0)", - "rgb(0,116,0)", - "rgb(0,123,0)", - "rgb(0,129,0)", - "rgb(0,136,0)", - "rgb(0,143,0)", - "rgb(0,150,0)", - "rgb(0,63,0)", - "rgb(0,76,0)", - "rgb(0,96,0)", - "rgb(0,116,0)", - "rgb(0,150,0)", - "rgb(0,255,0)", -] -`); + [ + "rgb(0,0,0)", + "rgb(0,0,0)", + "rgb(0,50,0)", + "rgb(0,56,0)", + "rgb(0,63,0)", + "rgb(0,70,0)", + "rgb(0,76,0)", + "rgb(0,83,0)", + "rgb(0,89,0)", + "rgb(0,96,0)", + "rgb(0,103,0)", + "rgb(0,109,0)", + "rgb(0,116,0)", + "rgb(0,123,0)", + "rgb(0,129,0)", + "rgb(0,136,0)", + "rgb(0,143,0)", + "rgb(0,150,0)", + "rgb(0,63,0)", + "rgb(0,76,0)", + "rgb(0,96,0)", + "rgb(0,116,0)", + "rgb(0,150,0)", + "rgb(0,255,0)", + ] + `); }); }); diff --git a/packages/webamp/package.json b/packages/webamp/package.json index a10b20ab..a1e22f64 100644 --- a/packages/webamp/package.json +++ b/packages/webamp/package.json @@ -97,6 +97,7 @@ "imagemin": "^6.1.0", "imagemin-optipng": "^6.0.0", "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", "jest-image-snapshot": "^2.12.0", "jest-puppeteer": "^10.0.1", "parcel": "^2.8.2", diff --git a/yarn.lock b/yarn.lock index 3637a22d..71bec37b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6372,6 +6372,11 @@ resolved "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== +"@tootallnate/once@2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== + "@tootallnate/quickjs-emscripten@^0.23.0": version "0.23.0" resolved "https://registry.yarnpkg.com/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz#db4ecfd499a9765ab24002c3b696d02e6d32a12c" @@ -6761,6 +6766,15 @@ jest-matcher-utils "^27.0.0" pretty-format "^27.0.0" +"@types/jsdom@^20.0.0": + version "20.0.1" + resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-20.0.1.tgz#07c14bc19bd2f918c1929541cdaacae894744808" + integrity sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ== + dependencies: + "@types/node" "*" + "@types/tough-cookie" "*" + parse5 "^7.0.0" + "@types/json-schema@*", "@types/json-schema@^7.0.7": version "7.0.8" resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.8.tgz" @@ -7052,6 +7066,11 @@ resolved "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz" integrity sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ== +"@types/tough-cookie@*": + version "4.0.5" + resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304" + integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== + "@types/trusted-types@^2.0.2": version "2.0.2" resolved "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz" @@ -7931,6 +7950,11 @@ abab@^2.0.5: resolved "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz" integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== +abab@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" + integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== + abbrev@1: version "1.1.1" resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" @@ -7974,6 +7998,14 @@ acorn-globals@^6.0.0: acorn "^7.1.1" acorn-walk "^7.1.1" +acorn-globals@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-7.0.1.tgz#0dbf05c44fa7c94332914c02066d5beff62c40c3" + integrity sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q== + dependencies: + acorn "^8.1.0" + acorn-walk "^8.0.2" + acorn-import-assertions@^1.7.6: version "1.8.0" resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz" @@ -8013,6 +8045,11 @@ acorn-walk@^7.1.1: version "7.1.1" resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.1.1.tgz" +acorn-walk@^8.0.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa" + integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== + acorn-walk@^8.1.1, acorn-walk@^8.2.0: version "8.2.0" resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" @@ -8040,6 +8077,11 @@ acorn@^7.1.1: version "7.2.0" resolved "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz" +acorn@^8.1.0, acorn@^8.8.1, acorn@^8.9.0: + version "8.11.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + acorn@^8.2.4, acorn@^8.4.1, acorn@^8.7.0: version "8.7.0" resolved "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz" @@ -8055,11 +8097,6 @@ acorn@^8.8.0: resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz" integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA== -acorn@^8.9.0: - version "8.11.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== - address@^1.0.1: version "1.1.2" resolved "https://registry.npmjs.org/address/-/address-1.1.2.tgz" @@ -11542,6 +11579,11 @@ cssom@^0.4.4: version "0.4.4" resolved "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz" +cssom@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.5.0.tgz#d254fa92cd8b6fbd83811b9fbaed34663cc17c36" + integrity sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw== + cssom@~0.3.6: version "0.3.8" resolved "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz" @@ -11610,6 +11652,15 @@ data-urls@^2.0.0: whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" +data-urls@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143" + integrity sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ== + dependencies: + abab "^2.0.6" + whatwg-mimetype "^3.0.0" + whatwg-url "^11.0.0" + dataloader@2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/dataloader/-/dataloader-2.1.0.tgz" @@ -11691,6 +11742,11 @@ decimal.js@^10.2.1: resolved "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz" integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== +decimal.js@^10.4.2: + version "10.4.3" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" + integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== + decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz" @@ -12303,6 +12359,13 @@ domexception@^2.0.1: dependencies: webidl-conversions "^5.0.0" +domexception@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-4.0.0.tgz#4ad1be56ccadc86fc76d033353999a8037d03673" + integrity sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw== + dependencies: + webidl-conversions "^7.0.0" + domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.2.2, domhandler@^4.3.1: version "4.3.1" resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" @@ -12645,6 +12708,11 @@ entities@^3.0.1: resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4" integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== +entities@^4.4.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + env-paths@^2.2.0, env-paths@^2.2.1: version "2.2.1" resolved "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz" @@ -15947,6 +16015,13 @@ html-encoding-sniffer@^2.0.1: dependencies: whatwg-encoding "^1.0.5" +html-encoding-sniffer@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9" + integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== + dependencies: + whatwg-encoding "^2.0.0" + html-entities@^1.3.1: version "1.3.1" resolved "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz" @@ -16123,6 +16198,15 @@ http-proxy-agent@^4.0.1: agent-base "6" debug "4" +http-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" + integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== + dependencies: + "@tootallnate/once" "2" + agent-base "6" + debug "4" + http-proxy-agent@^7.0.0, http-proxy-agent@^7.0.1: version "7.0.2" resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz#9a8b1f246866c028509486585f62b8f2c18c270e" @@ -16220,7 +16304,7 @@ https-proxy-agent@5.0.0, https-proxy-agent@^5.0.0: agent-base "6" debug "4" -https-proxy-agent@5.0.1: +https-proxy-agent@5.0.1, https-proxy-agent@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== @@ -16277,7 +16361,7 @@ iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4: dependencies: safer-buffer ">= 2.1.2 < 3" -iconv-lite@^0.6.2, iconv-lite@^0.6.3: +iconv-lite@0.6.3, iconv-lite@^0.6.2, iconv-lite@^0.6.3: version "0.6.3" resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== @@ -17743,6 +17827,20 @@ jest-environment-jsdom@^27.5.1: jest-util "^27.5.1" jsdom "^16.6.0" +jest-environment-jsdom@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz#d206fa3551933c3fd519e5dfdb58a0f5139a837f" + integrity sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/jsdom" "^20.0.0" + "@types/node" "*" + jest-mock "^29.7.0" + jest-util "^29.7.0" + jsdom "^20.0.0" + jest-environment-node@^27.5.1: version "27.5.1" resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz" @@ -18753,6 +18851,38 @@ jsdom@^16.6.0: ws "^7.4.6" xml-name-validator "^3.0.0" +jsdom@^20.0.0: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.3.tgz#886a41ba1d4726f67a8858028c99489fed6ad4db" + integrity sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ== + dependencies: + abab "^2.0.6" + acorn "^8.8.1" + acorn-globals "^7.0.0" + cssom "^0.5.0" + cssstyle "^2.3.0" + data-urls "^3.0.2" + decimal.js "^10.4.2" + domexception "^4.0.0" + escodegen "^2.0.0" + form-data "^4.0.0" + html-encoding-sniffer "^3.0.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.1" + is-potential-custom-element-name "^1.0.1" + nwsapi "^2.2.2" + parse5 "^7.1.1" + saxes "^6.0.0" + symbol-tree "^3.2.4" + tough-cookie "^4.1.2" + w3c-xmlserializer "^4.0.0" + webidl-conversions "^7.0.0" + whatwg-encoding "^2.0.0" + whatwg-mimetype "^3.0.0" + whatwg-url "^11.0.0" + ws "^8.11.0" + xml-name-validator "^4.0.0" + jsesc@^2.5.1: version "2.5.2" resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" @@ -21265,6 +21395,11 @@ nwsapi@^2.2.0: version "2.2.0" resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz" +nwsapi@^2.2.2: + version "2.2.7" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" + integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ== + oauth-sign@~0.9.0: version "0.9.0" resolved "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz" @@ -22088,6 +22223,13 @@ parse5@6.0.1, parse5@^6.0.0, parse5@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz" +parse5@^7.0.0, parse5@^7.1.1: + version "7.1.2" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" + integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + dependencies: + entities "^4.4.0" + parseurl@~1.3.2, parseurl@~1.3.3: version "1.3.3" resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" @@ -25069,6 +25211,13 @@ saxes@^5.0.1: dependencies: xmlchars "^2.2.0" +saxes@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5" + integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== + dependencies: + xmlchars "^2.2.0" + scheduler@^0.19.1: version "0.19.1" resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz" @@ -27079,6 +27228,16 @@ tough-cookie@^4.0.0: punycode "^2.1.1" universalify "^0.1.2" +tough-cookie@^4.1.2: + version "4.1.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" + integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.2.0" + url-parse "^1.5.3" + tough-cookie@~2.5.0: version "2.5.0" resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz" @@ -27100,6 +27259,13 @@ tr46@^2.1.0: dependencies: punycode "^2.1.1" +tr46@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-3.0.0.tgz#555c4e297a950617e8eeddef633c87d4d9d6cbf9" + integrity sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA== + dependencies: + punycode "^2.1.1" + tr46@~0.0.3: version "0.0.3" resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" @@ -27640,6 +27806,11 @@ universalify@^0.1.0, universalify@^0.1.2: resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== +universalify@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" + integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== + universalify@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" @@ -27775,7 +27946,7 @@ url-parse-lax@^3.0.0: dependencies: prepend-http "^2.0.0" -url-parse@^1.5.10: +url-parse@^1.5.10, url-parse@^1.5.3: version "1.5.10" resolved "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz" integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== @@ -28073,6 +28244,13 @@ w3c-xmlserializer@^2.0.0: dependencies: xml-name-validator "^3.0.0" +w3c-xmlserializer@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz#aebdc84920d806222936e3cdce408e32488a3073" + integrity sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw== + dependencies: + xml-name-validator "^4.0.0" + wait-on@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/wait-on/-/wait-on-7.2.0.tgz#d76b20ed3fc1e2bebc051fae5c1ff93be7892928" @@ -28220,6 +28398,11 @@ webidl-conversions@^6.1.0: version "6.1.0" resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz" +webidl-conversions@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" + integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== + webpack-cli@^3.3.0: version "3.3.12" resolved "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz" @@ -28462,6 +28645,13 @@ whatwg-encoding@^1.0.5: dependencies: iconv-lite "0.4.24" +whatwg-encoding@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53" + integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== + dependencies: + iconv-lite "0.6.3" + whatwg-fetch@^3.6.2: version "3.6.2" resolved "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz" @@ -28471,6 +28661,19 @@ whatwg-mimetype@^2.3.0: version "2.3.0" resolved "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz" +whatwg-mimetype@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" + integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== + +whatwg-url@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz#0a849eebb5faf2119b901bb76fd795c2848d4018" + integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ== + dependencies: + tr46 "^3.0.0" + webidl-conversions "^7.0.0" + whatwg-url@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" @@ -28845,7 +29048,7 @@ write@^0.2.1: dependencies: mkdirp "^0.5.1" -ws@8.16.0: +ws@8.16.0, ws@^8.11.0: version "8.16.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.16.0.tgz#d1cd774f36fbc07165066a60e40323eab6446fd4" integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== @@ -28894,6 +29097,11 @@ xml-name-validator@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz" +xml-name-validator@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" + integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== + xml2js@0.4.19: version "0.4.19" resolved "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz"