From 17fd5976d0994c135150ab2a597c3c0bed2648ed Mon Sep 17 00:00:00 2001 From: Jennifer Shehane Date: Fri, 12 Jul 2024 16:56:12 -0400 Subject: [PATCH] dependency: Update jquery to 3.4.1 (#29837) * Update jquery to 3.4.1 * refactor use of half scroll pixels with some explanation * remove layer coords from tests + comment out non-working page& value in chromium * Fix scrollTo calculation to match previous implementation * add changelog entry * patch jquery to use old calculations for width/height to avoid breaking change * revert scrollTo changes since jquery height/width calc is patched * Add issue to changelog * Make it a dev patch since it's a dev dependency --- cli/CHANGELOG.md | 1 + package.json | 2 +- .../cypress/e2e/commands/actions/click.cy.js | 10 +- .../cypress/e2e/commands/actions/scroll.cy.js | 26 +- packages/driver/package.json | 2 +- .../driver/patches/jquery+3.4.1.dev.patch | 223 ++++++++++++++++++ yarn.lock | 71 +----- 7 files changed, 252 insertions(+), 83 deletions(-) create mode 100644 packages/driver/patches/jquery+3.4.1.dev.patch diff --git a/cli/CHANGELOG.md b/cli/CHANGELOG.md index cdc6c9323b7d..e1e8684347d3 100644 --- a/cli/CHANGELOG.md +++ b/cli/CHANGELOG.md @@ -11,6 +11,7 @@ _Released 7/16/2024 (PENDING)_ **Dependency Updates:** +- Updated `jquery` from `3.1.1` to `3.4.1`. Addresses [#29822](https://github.com/cypress-io/cypress/issues/29822). Addressed in [#29837](https://github.com/cypress-io/cypress/pull/29837). - Updated `minimatch` from `3.0.4` to `3.1.2`. Addressed in [#29821](https://github.com/cypress-io/cypress/pull/29821). ## 13.13.0 diff --git a/package.json b/package.json index 6fd82b2d2fd8..012987019ca3 100644 --- a/package.json +++ b/package.json @@ -266,7 +266,7 @@ "**/@types/cheerio": "0.22.21", "**/@types/enzyme": "3.10.5", "**/@types/react": "16.9.50", - "**/jquery": "3.1.1", + "**/jquery": "3.4.1", "**/pretty-format": "26.4.0", "**/sharp": "0.29.3", "**/socket.io-parser": "4.0.5", diff --git a/packages/driver/cypress/e2e/commands/actions/click.cy.js b/packages/driver/cypress/e2e/commands/actions/click.cy.js index bc679e8c6b9f..e2c0c40ac476 100644 --- a/packages/driver/cypress/e2e/commands/actions/click.cy.js +++ b/packages/driver/cypress/e2e/commands/actions/click.cy.js @@ -4103,10 +4103,10 @@ describe('mouse state', () => { const coordsChrome = { clientX: 492, clientY: 9, - layerX: 492, - layerY: 215, pageX: 492, - pageY: 215, + // pageY is 220.5 in headless Electron + // since updating to jquery 3.2+....why... + // pageY: 215, screenX: 492, screenY: 9, x: 492, @@ -4117,8 +4117,6 @@ describe('mouse state', () => { const coordsFirefox = { clientX: 494, clientY: 10, - // layerX: 492, - // layerY: 215, pageX: 494, pageY: 226, screenX: 494, @@ -4130,8 +4128,6 @@ describe('mouse state', () => { const coordsWebKit = { clientX: 500, clientY: 10, - layerX: 500, - layerY: 226, pageX: 500, pageY: 226, screenX: 500, diff --git a/packages/driver/cypress/e2e/commands/actions/scroll.cy.js b/packages/driver/cypress/e2e/commands/actions/scroll.cy.js index defe1e5aff7a..d18f45fb3e7a 100644 --- a/packages/driver/cypress/e2e/commands/actions/scroll.cy.js +++ b/packages/driver/cypress/e2e/commands/actions/scroll.cy.js @@ -27,6 +27,10 @@ describe('src/cy/commands/actions/scroll', () => { this.scrollBoth.scrollTop = 0 this.scrollBoth.scrollLeft = 0 + + // width/height of scrollable container - width of parent viewport (minux scrollbars) / 2 to get the center + // browsers round up the pixel value so we need to round it + this.halfScrollPixels = Math.round((500 - 100) / 2) }) describe('subject', () => { @@ -86,7 +90,7 @@ describe('src/cy/commands/actions/scroll', () => { // in the percentage of the scroll (since going the height // of the container wouldn't scroll at all...) expect(this.scrollHoriz.get(0).scrollTop).to.eq(0) - expect(this.scrollHoriz.get(0).scrollLeft).to.eq((500 - 100) / 2) + expect(this.scrollHoriz.get(0).scrollLeft).to.eq(this.halfScrollPixels) }) }) }) @@ -108,7 +112,7 @@ describe('src/cy/commands/actions/scroll', () => { cy.get('#scroll-to-both').scrollTo('top').then(function () { expect(this.scrollBoth.get(0).scrollTop).to.eq(0) - expect(this.scrollBoth.get(0).scrollLeft).to.eq((500 - 100) / 2) + expect(this.scrollBoth.get(0).scrollLeft).to.eq(this.halfScrollPixels) }) }) @@ -127,7 +131,7 @@ describe('src/cy/commands/actions/scroll', () => { expect(this.scrollBoth.get(0).scrollLeft).to.eq(0) cy.get('#scroll-to-both').scrollTo('left').then(function () { - expect(this.scrollBoth.get(0).scrollTop).to.eq((500 - 100) / 2) + expect(this.scrollBoth.get(0).scrollTop).to.eq(this.halfScrollPixels) expect(this.scrollBoth.get(0).scrollLeft).to.eq(0) }) }) @@ -137,8 +141,8 @@ describe('src/cy/commands/actions/scroll', () => { expect(this.scrollBoth.get(0).scrollLeft).to.eq(0) cy.get('#scroll-to-both').scrollTo('center').then(function () { - expect(this.scrollBoth.get(0).scrollTop).to.eq((500 - 100) / 2) - expect(this.scrollBoth.get(0).scrollLeft).to.eq((500 - 100) / 2) + expect(this.scrollBoth.get(0).scrollTop).to.eq(this.halfScrollPixels) + expect(this.scrollBoth.get(0).scrollLeft).to.eq(this.halfScrollPixels) }) }) @@ -147,7 +151,7 @@ describe('src/cy/commands/actions/scroll', () => { expect(this.scrollBoth.get(0).scrollLeft).to.eq(0) cy.get('#scroll-to-both').scrollTo('right').then(function () { - expect(this.scrollBoth.get(0).scrollTop).to.eq((500 - 100) / 2) + expect(this.scrollBoth.get(0).scrollTop).to.eq(this.halfScrollPixels) expect(this.scrollBoth.get(0).scrollLeft).to.eq((500 - 100)) }) }) @@ -168,7 +172,7 @@ describe('src/cy/commands/actions/scroll', () => { cy.get('#scroll-to-both').scrollTo('bottom').then(function () { expect(this.scrollBoth.get(0).scrollTop).to.eq((500 - 100)) - expect(this.scrollBoth.get(0).scrollLeft).to.eq((500 - 100) / 2) + expect(this.scrollBoth.get(0).scrollLeft).to.eq(this.halfScrollPixels) }) }) @@ -229,8 +233,8 @@ describe('src/cy/commands/actions/scroll', () => { expect(this.scrollBoth.get(0).scrollLeft).to.eq(0) cy.get('#scroll-to-both').scrollTo('50%', '50%').then(function () { - expect(this.scrollBoth.get(0).scrollTop).to.eq((500 - 100) / 2) - expect(this.scrollBoth.get(0).scrollLeft).to.eq((500 - 100) / 2) + expect(this.scrollBoth.get(0).scrollTop).to.eq(this.halfScrollPixels) + expect(this.scrollBoth.get(0).scrollLeft).to.eq(this.halfScrollPixels) }) }) @@ -239,7 +243,7 @@ describe('src/cy/commands/actions/scroll', () => { expect(this.scrollBoth.get(0).scrollLeft).to.eq(0) cy.get('#scroll-to-both').scrollTo('0%', '50%').then(function () { - expect(this.scrollBoth.get(0).scrollTop).to.eq((500 - 100) / 2) + expect(this.scrollBoth.get(0).scrollTop).to.eq(this.halfScrollPixels) expect(this.scrollBoth.get(0).scrollLeft).to.eq(0) }) }) @@ -250,7 +254,7 @@ describe('src/cy/commands/actions/scroll', () => { cy.get('#scroll-to-both').scrollTo('50%', '0%').then(function () { expect(this.scrollBoth.get(0).scrollTop).to.eq(0) - expect(this.scrollBoth.get(0).scrollLeft).to.eq((500 - 100) / 2) + expect(this.scrollBoth.get(0).scrollLeft).to.eq(this.halfScrollPixels) }) }) }) diff --git a/packages/driver/package.json b/packages/driver/package.json index f60f2ad34d99..09c9a6ae59e8 100644 --- a/packages/driver/package.json +++ b/packages/driver/package.json @@ -57,7 +57,7 @@ "is-valid-domain": "0.0.20", "is-valid-hostname": "1.0.1", "jimp": "0.22.12", - "jquery": "3.1.1", + "jquery": "3.4.1", "js-cookie": "3.0.5", "json-stable-stringify": "1.0.1", "lodash": "^4.17.21", diff --git a/packages/driver/patches/jquery+3.4.1.dev.patch b/packages/driver/patches/jquery+3.4.1.dev.patch new file mode 100644 index 000000000000..c75eca4eda6a --- /dev/null +++ b/packages/driver/patches/jquery+3.4.1.dev.patch @@ -0,0 +1,223 @@ +diff --git a/node_modules/jquery/README.md b/node_modules/jquery/README.md +deleted file mode 100644 +index 411a859..0000000 +--- a/node_modules/jquery/README.md ++++ /dev/null +@@ -1,67 +0,0 @@ +-# jQuery +- +-> jQuery is a fast, small, and feature-rich JavaScript library. +- +-For information on how to get started and how to use jQuery, please see [jQuery's documentation](http://api.jquery.com/). +-For source files and issues, please visit the [jQuery repo](https://github.com/jquery/jquery). +- +-If upgrading, please see the [blog post for 3.4.1](https://blog.jquery.com/2019/05/01/jquery-3-4-1-triggering-focus-events-in-ie-and-finding-root-elements-in-ios-10/). This includes notable differences from the previous version and a more readable changelog. +- +-## Including jQuery +- +-Below are some of the most common ways to include jQuery. +- +-### Browser +- +-#### Script tag +- +-```html +- +-``` +- +-#### Babel +- +-[Babel](http://babeljs.io/) is a next generation JavaScript compiler. One of the features is the ability to use ES6/ES2015 modules now, even though browsers do not yet support this feature natively. +- +-```js +-import $ from "jquery"; +-``` +- +-#### Browserify/Webpack +- +-There are several ways to use [Browserify](http://browserify.org/) and [Webpack](https://webpack.github.io/). For more information on using these tools, please refer to the corresponding project's documention. In the script, including jQuery will usually look like this... +- +-```js +-var $ = require("jquery"); +-``` +- +-#### AMD (Asynchronous Module Definition) +- +-AMD is a module format built for the browser. For more information, we recommend [require.js' documentation](http://requirejs.org/docs/whyamd.html). +- +-```js +-define(["jquery"], function($) { +- +-}); +-``` +- +-### Node +- +-To include jQuery in [Node](nodejs.org), first install with npm. +- +-```sh +-npm install jquery +-``` +- +-For jQuery to work in Node, a window with a document is required. Since no such window exists natively in Node, one can be mocked by tools such as [jsdom](https://github.com/tmpvar/jsdom). This can be useful for testing purposes. +- +-```js +-require("jsdom").env("", function(err, window) { +- if (err) { +- console.error(err); +- return; +- } +- +- var $ = require("jquery")(window); +-}); +-``` +diff --git a/node_modules/jquery/dist/jquery.js b/node_modules/jquery/dist/jquery.js +index 773ad95..9e6076f 100644 +--- a/node_modules/jquery/dist/jquery.js ++++ b/node_modules/jquery/dist/jquery.js +@@ -6534,69 +6534,100 @@ function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computed + return delta; + } + +-function getWidthOrHeight( elem, dimension, extra ) { ++function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { ++ var i, ++ val = 0; + +- // Start with computed style +- var styles = getStyles( elem ), ++ // If we already have the right measurement, avoid augmentation ++ if ( extra === ( isBorderBox ? "border" : "content" ) ) { ++ i = 4; + +- // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). +- // Fake content-box until we know it's needed to know the true value. +- boxSizingNeeded = !support.boxSizingReliable() || extra, +- isBorderBox = boxSizingNeeded && +- jQuery.css( elem, "boxSizing", false, styles ) === "border-box", +- valueIsBorderBox = isBorderBox, ++ // Otherwise initialize for horizontal or vertical properties ++ } else { ++ i = name === "width" ? 1 : 0; ++ } + +- val = curCSS( elem, dimension, styles ), +- offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); ++ for ( ; i < 4; i += 2 ) { + +- // Support: Firefox <=54 +- // Return a confounding non-pixel value or feign ignorance, as appropriate. +- if ( rnumnonpx.test( val ) ) { +- if ( !extra ) { +- return val; ++ // Both box models exclude margin, so add it if we want it ++ if ( extra === "margin" ) { ++ val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); ++ } ++ ++ if ( isBorderBox ) { ++ ++ // border-box includes padding, so remove it if we want content ++ if ( extra === "content" ) { ++ val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); ++ } ++ ++ // At this point, extra isn't border nor margin, so remove border ++ if ( extra !== "margin" ) { ++ val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); ++ } ++ } else { ++ ++ // At this point, extra isn't content, so add padding ++ val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); ++ ++ // At this point, extra isn't content nor padding, so add border ++ if ( extra !== "padding" ) { ++ val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); ++ } + } +- val = "auto"; + } + ++ return val; ++} + +- // Fall back to offsetWidth/offsetHeight when value is "auto" +- // This happens for inline elements with no explicit setting (gh-3571) +- // Support: Android <=4.1 - 4.3 only +- // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) +- // Support: IE 9-11 only +- // Also use offsetWidth/offsetHeight for when box sizing is unreliable +- // We use getClientRects() to check for hidden/disconnected. +- // In those cases, the computed value can be trusted to be border-box +- if ( ( !support.boxSizingReliable() && isBorderBox || +- val === "auto" || +- !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && +- elem.getClientRects().length ) { ++function getWidthOrHeight( elem, name, extra ) { + ++ // Start with offset property, which is equivalent to the border-box value ++ var val, ++ valueIsBorderBox = true, ++ styles = getStyles( elem ), + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + +- // Where available, offsetWidth/offsetHeight approximate border box dimensions. +- // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the +- // retrieved value as a content box dimension. +- valueIsBorderBox = offsetProp in elem; +- if ( valueIsBorderBox ) { +- val = elem[ offsetProp ]; +- } ++ // Support: IE <=11 only ++ // Running getBoundingClientRect on a disconnected node ++ // in IE throws an error. ++ if ( elem.getClientRects().length ) { ++ val = elem.getBoundingClientRect()[ name ]; + } + +- // Normalize "" and auto +- val = parseFloat( val ) || 0; ++ // Some non-html elements return undefined for offsetWidth, so check for null/undefined ++ // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 ++ // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 ++ if ( val <= 0 || val == null ) { + +- // Adjust for the element's box model ++ // Fall back to computed then uncomputed css if necessary ++ val = curCSS( elem, name, styles ); ++ if ( val < 0 || val == null ) { ++ val = elem.style[ name ]; ++ } ++ ++ // Computed unit is not pixels. Stop here and return. ++ if ( rnumnonpx.test( val ) ) { ++ return val; ++ } ++ ++ // Check for style in case a browser which returns unreliable values ++ // for getComputedStyle silently falls back to the reliable elem.style ++ valueIsBorderBox = isBorderBox && ++ ( support.boxSizingReliable() || val === elem.style[ name ] ); ++ ++ // Normalize "", auto, and prepare for extra ++ val = parseFloat( val ) || 0; ++ } ++ ++ // Use the active box-sizing model to add/subtract irrelevant styles + return ( val + +- boxModelAdjustment( ++ augmentWidthOrHeight( + elem, +- dimension, ++ name, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, +- styles, +- +- // Provide the current computed size to request scroll gutter calculation (gh-3589) +- val ++ styles + ) + ) + "px"; + } diff --git a/yarn.lock b/yarn.lock index 7d896cda3eb1..26ca3b02d910 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19827,10 +19827,10 @@ jpeg-js@^0.4.4: resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.4.4.tgz#a9f1c6f1f9f0fa80cdb3484ed9635054d28936aa" integrity sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg== -jquery@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.1.1.tgz#347c1c21c7e004115e0a4da32cece041fad3c8a3" - integrity sha1-NHwcIcfgBBFeCk2jLOzgQfrTyKM= +jquery@3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.4.1.tgz#714f1f8d9dde4bdfa55764ba37ef214630d80ef2" + integrity sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw== js-beautify@1.14.6, js-beautify@^1.6.12: version "1.14.6" @@ -22130,7 +22130,7 @@ mobx@5.15.4: resolved "https://registry.yarnpkg.com/mobx/-/mobx-5.15.4.tgz#9da1a84e97ba624622f4e55a0bf3300fb931c2ab" integrity sha512-xRFJxSU2Im3nrGCdjSuOTFmxVDGeqOHL+TyADCGbT0k4HHqGmx5u2yaHNryvoORpI4DfbzjJ5jPmuv+d7sioFw== -"mocha-7.0.1@npm:mocha@7.0.1": +"mocha-7.0.1@npm:mocha@7.0.1", mocha@7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/mocha/-/mocha-7.0.1.tgz#276186d35a4852f6249808c6dd4a1376cbf6c6ce" integrity sha512-9eWmWTdHLXh72rGrdZjNbG3aa1/3NRPpul1z0D979QpEnFdCG0Q5tv834N+94QEN2cysfV72YocQ3fn87s70fg== @@ -22247,36 +22247,6 @@ mocha@6.2.2: yargs-parser "13.1.1" yargs-unparser "1.6.0" -mocha@7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-7.0.1.tgz#276186d35a4852f6249808c6dd4a1376cbf6c6ce" - integrity sha512-9eWmWTdHLXh72rGrdZjNbG3aa1/3NRPpul1z0D979QpEnFdCG0Q5tv834N+94QEN2cysfV72YocQ3fn87s70fg== - dependencies: - ansi-colors "3.2.3" - browser-stdout "1.3.1" - chokidar "3.3.0" - debug "3.2.6" - diff "3.5.0" - escape-string-regexp "1.0.5" - find-up "3.0.0" - glob "7.1.3" - growl "1.10.5" - he "1.2.0" - js-yaml "3.13.1" - log-symbols "2.2.0" - minimatch "3.0.4" - mkdirp "0.5.1" - ms "2.1.1" - node-environment-flags "1.0.6" - object.assign "4.1.0" - strip-json-comments "2.0.1" - supports-color "6.0.0" - which "1.3.1" - wide-align "1.1.3" - yargs "13.3.0" - yargs-parser "13.1.1" - yargs-unparser "1.6.0" - mocha@7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/mocha/-/mocha-7.1.0.tgz#c784f579ad0904d29229ad6cb1e2514e4db7d249" @@ -28887,7 +28857,7 @@ string-template@~0.2.1: resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" integrity sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0= -"string-width-cjs@npm:string-width@^4.2.0": +"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -28913,15 +28883,6 @@ string-width@^1.0.1, string-width@^1.0.2: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" -"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - string-width@^3.0.0, string-width@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" @@ -29023,7 +28984,7 @@ stringify-object@^3.0.0, stringify-object@^3.3.0: is-obj "^1.0.1" is-regexp "^1.0.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -29065,13 +29026,6 @@ strip-ansi@^3.0.0, strip-ansi@^3.0.1: dependencies: ansi-regex "^2.0.0" -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - strip-ansi@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" @@ -31922,7 +31876,7 @@ workerpool@6.2.0: resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.0.tgz#827d93c9ba23ee2019c3ffaff5c27fccea289e8b" integrity sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -31965,15 +31919,6 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrap-ansi@^8.0.1, wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"