From 2c97362e15f5d2046dc216c6e5fc25f5199d0a37 Mon Sep 17 00:00:00 2001 From: Chris Villa Date: Tue, 7 Nov 2023 19:13:31 +0000 Subject: [PATCH] fix: migrate to @hello-pangea/dnd to fix defaultProps warning This is a fork that is actively maintained and a near drop-in replacement for react-beautiful-dnd Maintained here: https://github.com/hello-pangea/dnd --- packages/core/components/Draggable/index.tsx | 2 +- .../components/DraggableComponent/index.tsx | 2 +- packages/core/components/DropZone/context.tsx | 2 +- packages/core/components/DropZone/index.tsx | 2 +- .../components/DroppableStrictMode/index.tsx | 6 +- .../InputOrGroup/fields/ArrayField/index.tsx | 2 +- packages/core/components/LayerTree/index.tsx | 2 +- packages/core/components/Puck/index.tsx | 2 +- packages/core/lib/use-placeholder-style.ts | 8 +- packages/core/package.json | 3 +- yarn.lock | 107 +++++++++--------- 11 files changed, 69 insertions(+), 69 deletions(-) diff --git a/packages/core/components/Draggable/index.tsx b/packages/core/components/Draggable/index.tsx index 06ffd9dad1..05c36fe9e2 100644 --- a/packages/core/components/Draggable/index.tsx +++ b/packages/core/components/Draggable/index.tsx @@ -3,7 +3,7 @@ import { Draggable as DndDraggable, DraggableProvided, DraggableStateSnapshot, -} from "react-beautiful-dnd"; +} from "@hello-pangea/dnd"; export const Draggable = ({ className, diff --git a/packages/core/components/DraggableComponent/index.tsx b/packages/core/components/DraggableComponent/index.tsx index 56473c3c27..d0977201f1 100644 --- a/packages/core/components/DraggableComponent/index.tsx +++ b/packages/core/components/DraggableComponent/index.tsx @@ -1,5 +1,5 @@ import { CSSProperties, ReactNode, SyntheticEvent, useEffect } from "react"; -import { Draggable } from "react-beautiful-dnd"; +import { Draggable } from "@hello-pangea/dnd"; import styles from "./styles.module.css"; import getClassNameFactory from "../../lib/get-class-name-factory"; import { Copy, Trash } from "react-feather"; diff --git a/packages/core/components/DropZone/context.tsx b/packages/core/components/DropZone/context.tsx index a3db2f5d63..ba8b37d906 100644 --- a/packages/core/components/DropZone/context.tsx +++ b/packages/core/components/DropZone/context.tsx @@ -6,7 +6,7 @@ import { useState, } from "react"; import { Config, Data } from "../../types/Config"; -import { DragStart, DragUpdate } from "react-beautiful-dnd"; +import { DragStart, DragUpdate } from "@hello-pangea/dnd"; import { ItemSelector, getItem } from "../../lib/get-item"; import { PuckAction } from "../../reducer"; import { rootDroppableId } from "../../lib/root-droppable-id"; diff --git a/packages/core/components/DropZone/index.tsx b/packages/core/components/DropZone/index.tsx index 099c7e1fcb..365d1044c2 100644 --- a/packages/core/components/DropZone/index.tsx +++ b/packages/core/components/DropZone/index.tsx @@ -121,7 +121,7 @@ function DropZoneEdit({ zone, style }: DropZoneProps) { * but within the area * 2. This is an existing component and the user a) is dragging over the * area (which prevents drags between zone areas, breaking the rules - * of react-beautiful-dnd) and b) has the cursor hovering directly over + * of @hello-pangea/dnd) and b) has the cursor hovering directly over * the specific zone (which increases robustness when using flex * layouts) */ diff --git a/packages/core/components/DroppableStrictMode/index.tsx b/packages/core/components/DroppableStrictMode/index.tsx index e72b584ac4..1fd2d5da9f 100644 --- a/packages/core/components/DroppableStrictMode/index.tsx +++ b/packages/core/components/DroppableStrictMode/index.tsx @@ -1,8 +1,8 @@ -// react-beautiful-dnd doesn't play well with React 18 strict mode +// @hello-pangea/dnd doesn't play well with React 18 strict mode // -// See https://github.com/atlassian/react-beautiful-dnd/issues/2399#issuecomment-1175638194 +// See https://github.com/atlassian/@hello-pangea/dnd/issues/2399#issuecomment-1175638194 import { useEffect, useState } from "react"; -import { Droppable, DroppableProps } from "react-beautiful-dnd"; +import { Droppable, DroppableProps } from "@hello-pangea/dnd"; const DroppableStrictMode = ({ children, ...props }: DroppableProps) => { const [enabled, setEnabled] = useState(false); diff --git a/packages/core/components/InputOrGroup/fields/ArrayField/index.tsx b/packages/core/components/InputOrGroup/fields/ArrayField/index.tsx index b4901cae03..cff7d5d9c2 100644 --- a/packages/core/components/InputOrGroup/fields/ArrayField/index.tsx +++ b/packages/core/components/InputOrGroup/fields/ArrayField/index.tsx @@ -5,7 +5,7 @@ import { FieldLabelInternal, InputOrGroup, type InputProps } from "../.."; import { IconButton } from "../../../IconButton"; import { reorder, replace } from "../../../../lib"; import DroppableStrictMode from "../../../DroppableStrictMode"; -import { DragDropContext } from "react-beautiful-dnd"; +import { DragDropContext } from "@hello-pangea/dnd"; import { Draggable } from "../../../Draggable"; import { generateId } from "../../../../lib/generate-id"; import { useCallback, useEffect, useState } from "react"; diff --git a/packages/core/components/LayerTree/index.tsx b/packages/core/components/LayerTree/index.tsx index ba29d19947..a42f73b4e9 100644 --- a/packages/core/components/LayerTree/index.tsx +++ b/packages/core/components/LayerTree/index.tsx @@ -97,7 +97,7 @@ export const LayerTree = ({ scrollIntoView( document.querySelector( - `[data-rbd-drag-handle-draggable-id="draggable-${id}"]` + `[data-rfd-drag-handle-draggable-id="draggable-${id}"]` ) as HTMLElement ); }} diff --git a/packages/core/components/Puck/index.tsx b/packages/core/components/Puck/index.tsx index 9490a8f4e7..e245a73f80 100644 --- a/packages/core/components/Puck/index.tsx +++ b/packages/core/components/Puck/index.tsx @@ -8,7 +8,7 @@ import { useReducer, useState, } from "react"; -import { DragDropContext, DragStart, DragUpdate } from "react-beautiful-dnd"; +import { DragDropContext, DragStart, DragUpdate } from "@hello-pangea/dnd"; import type { AppState, Config, Data, Field } from "../../types/Config"; import { InputOrGroup } from "../InputOrGroup"; import { ComponentList } from "../ComponentList"; diff --git a/packages/core/lib/use-placeholder-style.ts b/packages/core/lib/use-placeholder-style.ts index 5efb89f299..1e813a9636 100644 --- a/packages/core/lib/use-placeholder-style.ts +++ b/packages/core/lib/use-placeholder-style.ts @@ -1,8 +1,8 @@ import { CSSProperties, useState } from "react"; -import { DragStart, DragUpdate } from "react-beautiful-dnd"; +import { DragStart, DragUpdate } from "@hello-pangea/dnd"; export const usePlaceholderStyle = () => { - const queryAttr = "data-rbd-drag-handle-draggable-id"; + const queryAttr = "data-rfd-drag-handle-draggable-id"; const [placeholderStyle, setPlaceholderStyle] = useState(); @@ -23,7 +23,7 @@ export const usePlaceholderStyle = () => { } const targetListElement = document.querySelector( - `[data-rbd-droppable-id='${droppableId}']` + `[data-rfd-droppable-id='${droppableId}']` ); const { clientHeight } = draggedDOM; @@ -50,7 +50,7 @@ export const usePlaceholderStyle = () => { item.getAttributeNames().indexOf("data-puck-placeholder") === -1 && item .getAttributeNames() - .indexOf("data-rbd-placeholder-context-id") === -1 + .indexOf("data-rfd-placeholder-context-id") === -1 ) .slice(0, end); diff --git a/packages/core/package.json b/packages/core/package.json index f8352f9d18..1f40c7100a 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -21,7 +21,6 @@ "@types/event-emitter": "^0.3.3", "@types/jest": "^29.5.4", "@types/react": "^18.2.0", - "@types/react-beautiful-dnd": "^13.1.4", "@types/react-dom": "^18.2.0", "eslint": "^7.32.0", "eslint-config-custom": "*", @@ -37,7 +36,7 @@ "dependencies": { "deep-diff": "^1.0.2", "event-emitter": "^0.3.5", - "react-beautiful-dnd": "^13.1.1", + "@hello-pangea/dnd ": "^16.3.0", "react-hotkeys-hook": "^4.4.1", "react-spinners": "^0.13.8", "use-debounce": "^9.0.4" diff --git a/yarn.lock b/yarn.lock index c364141223..b041117ec6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -283,13 +283,20 @@ core-js-pure "^3.30.2" regenerator-runtime "^0.14.0" -"@babel/runtime@^7.11.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.20.7", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.11.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.20.7", "@babel/runtime@^7.9.2": version "7.23.1" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.1.tgz#72741dc4d413338a91dcb044a86f3c0bc402646d" integrity sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g== dependencies: regenerator-runtime "^0.14.0" +"@babel/runtime@^7.12.1", "@babel/runtime@^7.22.5": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885" + integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg== + dependencies: + regenerator-runtime "^0.14.0" + "@babel/template@^7.22.15", "@babel/template@^7.3.3": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" @@ -473,6 +480,20 @@ dependencies: client-only "^0.0.1" +"@hello-pangea/dnd @^16.3.0": + name "@hello-pangea/dnd" + version "16.3.0" + resolved "https://registry.yarnpkg.com/@hello-pangea/dnd/-/dnd-16.3.0.tgz#3776212f812df4e8e69c42831ec8ab7ff3a087d6" + integrity sha512-RYQ/K8shtJoyNPvFWz0gfXIK7HF3P3mL9UZFGMuHB0ljRSXVgMjVFI/FxcZmakMzw6tO7NflWLriwTNBow/4vw== + dependencies: + "@babel/runtime" "^7.22.5" + css-box-model "^1.2.1" + memoize-one "^6.0.0" + raf-schd "^4.0.3" + react-redux "^8.1.1" + redux "^4.2.1" + use-memo-one "^1.1.3" + "@humanwhocodes/config-array@^0.5.0": version "0.5.0" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" @@ -1579,10 +1600,10 @@ dependencies: "@types/unist" "*" -"@types/hoist-non-react-statics@^3.3.0": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#dc1e9ded53375d37603c479cc12c693b0878aa2a" - integrity sha512-YIQtIg4PKr7ZyqNPZObpxfHsHEmuB8dXCxd6qVcGuQVDK2bpsF7bYNnBJ4Nn7giuACZg+WewExgrtAJ3XnA4Xw== +"@types/hoist-non-react-statics@^3.3.1": + version "3.3.5" + resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz#dab7867ef789d87e2b4b0003c9d65c49cc44a494" + integrity sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg== dependencies: "@types/react" "*" hoist-non-react-statics "^3.3.0" @@ -1719,13 +1740,6 @@ resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.8.tgz#805eae6e8f41bd19e88917d2ea200dc992f405d3" integrity sha512-kMpQpfZKSCBqltAJwskgePRaYRFukDkm1oItcAbC3gNELR20XIBcN9VRgg4+m8DKsTfkWeA4m4Imp4DDuWy7FQ== -"@types/react-beautiful-dnd@^13.1.4": - version "13.1.5" - resolved "https://registry.yarnpkg.com/@types/react-beautiful-dnd/-/react-beautiful-dnd-13.1.5.tgz#04869f2ec4658aa963e56dc3cbb91f261587dedc" - integrity sha512-mzohmMtV48b0bXF2dP8188LzUv9HAGHKucOORYsd5Sqq830pJ4gseFyDDAH0TR4TeD1ceG9DxTQ0FOFbtCSy4Q== - dependencies: - "@types/react" "*" - "@types/react-dom@^18.0.0", "@types/react-dom@^18.0.7", "@types/react-dom@^18.2.0": version "18.2.8" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.8.tgz#338f1b0a646c9f10e0a97208c1d26b9f473dffd6" @@ -1733,16 +1747,6 @@ dependencies: "@types/react" "*" -"@types/react-redux@^7.1.20": - version "7.1.27" - resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.27.tgz#1afb31f7354bf787e162c10ff3fa19bafa9e6b57" - integrity sha512-xj7d9z32p1K/eBmO+OEy+qfaWXtcPlN8f1Xk3Ne0p/ZRQ867RI5bQ/bpBtxbqU1AHNhKJSgGvld/P2myU2uYkg== - dependencies: - "@types/hoist-non-react-statics" "^3.3.0" - "@types/react" "*" - hoist-non-react-statics "^3.3.0" - redux "^4.0.0" - "@types/react@*", "@types/react@>=16", "@types/react@^18.0.22", "@types/react@^18.2.0": version "18.2.24" resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.24.tgz#3c7d68c02e0205a472f04abe4a0c1df35d995c05" @@ -1789,6 +1793,11 @@ resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.8.tgz#bb197b9639aa1a04cf464a617fe800cccd92ad5c" integrity sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw== +"@types/use-sync-external-store@^0.0.3": + version "0.0.3" + resolved "https://registry.yarnpkg.com/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz#b6725d5f4af24ace33b36fafd295136e75509f43" + integrity sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA== + "@types/yargs-parser@*": version "21.0.1" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.1.tgz#07773d7160494d56aa882d7531aac7319ea67c3b" @@ -3095,7 +3104,7 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" -css-box-model@^1.2.0: +css-box-model@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/css-box-model/-/css-box-model-1.2.1.tgz#59951d3b81fd6b2074a62d49444415b0d2b4d7c1" integrity sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw== @@ -7312,10 +7321,10 @@ mdast-util-to-string@^4.0.0: dependencies: "@types/mdast" "^4.0.0" -memoize-one@^5.1.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e" - integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q== +memoize-one@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045" + integrity sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== meow@^8.0.0, meow@^8.1.2: version "8.1.2" @@ -9323,7 +9332,7 @@ quick-lru@^4.0.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== -raf-schd@^4.0.2: +raf-schd@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/raf-schd/-/raf-schd-4.0.3.tgz#5d6c34ef46f8b2a0e880a8fcdb743efc5bfdbc1a" integrity sha512-tQkJl2GRWh83ui2DiPTJz9wEiMN20syf+5oKfB03yYP7ioZcJwsIK8FjrtLwH1m7C7e+Tt2yYBlrOpdT+dyeIQ== @@ -9346,19 +9355,6 @@ rc@^1.0.1, rc@^1.1.6: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-beautiful-dnd@^13.1.1: - version "13.1.1" - resolved "https://registry.yarnpkg.com/react-beautiful-dnd/-/react-beautiful-dnd-13.1.1.tgz#b0f3087a5840920abf8bb2325f1ffa46d8c4d0a2" - integrity sha512-0Lvs4tq2VcrEjEgDXHjT98r+63drkKEgqyxdA7qD3mvKwga6a5SscbdLPO2IExotU1jW8L0Ksdl0Cj2AF67nPQ== - dependencies: - "@babel/runtime" "^7.9.2" - css-box-model "^1.2.0" - memoize-one "^5.1.1" - raf-schd "^4.0.2" - react-redux "^7.2.0" - redux "^4.0.4" - use-memo-one "^1.1.1" - react-dom@^18.2.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" @@ -9389,7 +9385,7 @@ react-is@^16.13.1, react-is@^16.7.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -react-is@^17.0.1, react-is@^17.0.2: +react-is@^17.0.1: version "17.0.2" resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== @@ -9399,17 +9395,17 @@ react-is@^18.0.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== -react-redux@^7.2.0: - version "7.2.9" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.9.tgz#09488fbb9416a4efe3735b7235055442b042481d" - integrity sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ== +react-redux@^8.1.1: + version "8.1.3" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-8.1.3.tgz#4fdc0462d0acb59af29a13c27ffef6f49ab4df46" + integrity sha512-n0ZrutD7DaX/j9VscF+uTALI3oUPa/pO4Z3soOBIjuRn/FzVu6aehhysxZCLi6y7duMf52WNZGMl7CtuK5EnRw== dependencies: - "@babel/runtime" "^7.15.4" - "@types/react-redux" "^7.1.20" + "@babel/runtime" "^7.12.1" + "@types/hoist-non-react-statics" "^3.3.1" + "@types/use-sync-external-store" "^0.0.3" hoist-non-react-statics "^3.3.2" - loose-envify "^1.4.0" - prop-types "^15.7.2" - react-is "^17.0.2" + react-is "^18.0.0" + use-sync-external-store "^1.0.0" react-spinners@^0.13.8: version "0.13.8" @@ -9531,7 +9527,7 @@ redent@^3.0.0: indent-string "^4.0.0" strip-indent "^3.0.0" -redux@^4.0.0, redux@^4.0.4: +redux@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/redux/-/redux-4.2.1.tgz#c08f4306826c49b5e9dc901dee0452ea8fce6197" integrity sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w== @@ -11273,11 +11269,16 @@ use-debounce@^9.0.4: resolved "https://registry.yarnpkg.com/use-debounce/-/use-debounce-9.0.4.tgz#51d25d856fbdfeb537553972ce3943b897f1ac85" integrity sha512-6X8H/mikbrt0XE8e+JXRtZ8yYVvKkdYRfmIhWZYsP8rcNs9hk3APV8Ua2mFkKRLcJKVdnX2/Vwrmg2GWKUQEaQ== -use-memo-one@^1.1.1: +use-memo-one@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/use-memo-one/-/use-memo-one-1.1.3.tgz#2fd2e43a2169eabc7496960ace8c79efef975e99" integrity sha512-g66/K7ZQGYrI6dy8GLpVcMsBp4s17xNkYJVSMvTEevGy3nDxHOfE6z8BVE22+5G5x7t3+bhzrlTDB7ObrEE0cQ== +use-sync-external-store@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" + integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== + util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"