From 7740075c717c49c2a91a62a4cbc7a659ca8b9bfb Mon Sep 17 00:00:00 2001 From: Ketan Reddy Date: Tue, 26 Mar 2024 19:46:43 -0700 Subject: [PATCH] Hoist react-merge-refs due to dist issues --- MODULE.bazel.lock | 10 +++++----- language/dsl/BUILD | 2 -- language/dsl/src/components.tsx | 2 +- language/dsl/src/utils.tsx | 18 ++++++++++++++++++ package.json | 2 -- pnpm-lock.yaml | 10 ---------- 6 files changed, 24 insertions(+), 20 deletions(-) diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 58c401b6..6ca48de4 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -2522,9 +2522,9 @@ "general": { "bzlTransitiveDigest": "JclDrZPByDOldKWAZFE1xwsLDhWrZNNTNyA7SwT+xPY=", "recordedFileInputs": { - "@@aspect_bazel_lib~~toolchains~yq_darwin_amd64//yq": "0fe604d3332cd1a0667b22b41bf404052da451cab35b502f17cb5023d2b8a98d", - "@@//pnpm-lock.yaml": "75f551398e8f2014feca8adeb5b1afb775298fcac8e8f1d06f417cf356825d93", - "@@//.npmrc": "6dce701d46a8886b1a127a2d414c6dee6e9f1acd60955125f4539ee29ecf6fc0" + "@@//pnpm-lock.yaml": "12930282e8c3673efda0294964b881b4c6508466187e2f27a9fe0dd231a4dabb", + "@@//.npmrc": "6dce701d46a8886b1a127a2d414c6dee6e9f1acd60955125f4539ee29ecf6fc0", + "@@aspect_bazel_lib~~toolchains~yq_linux_amd64//yq": "042f7462ec8378f8b0d3bac85d1b1a063b63beef5d8e3826bb2377294116ae90" }, "recordedDirentsInputs": {}, "envVariables": {}, @@ -242495,8 +242495,8 @@ ], [ "aspect_rules_js~", - "yq_darwin_amd64", - "aspect_bazel_lib~~toolchains~yq_darwin_amd64" + "yq_linux_amd64", + "aspect_bazel_lib~~toolchains~yq_linux_amd64" ] ] } diff --git a/language/dsl/BUILD b/language/dsl/BUILD index 3dda3da2..83d81240 100644 --- a/language/dsl/BUILD +++ b/language/dsl/BUILD @@ -29,9 +29,7 @@ js_pipeline( "//:node_modules/globby", "//:node_modules/jsonc-parser", "//:node_modules/mkdirp", - "//:node_modules/react-flatten-children", "//:node_modules/react-json-reconciler", - "//:node_modules/react-merge-refs", "//:node_modules/source-map-js", "//:node_modules/tapable-ts", "//:node_modules/ts-node", diff --git a/language/dsl/src/components.tsx b/language/dsl/src/components.tsx index 015e3e54..743aed4b 100644 --- a/language/dsl/src/components.tsx +++ b/language/dsl/src/components.tsx @@ -1,6 +1,5 @@ import React from "react"; import type { ObjectNode, PropertyNode } from "react-json-reconciler"; -import { mergeRefs } from "react-merge-refs"; import type { View as ViewType } from "@player-ui/types"; import type { PlayerApplicability, WithChildren } from "./types"; import { @@ -16,6 +15,7 @@ import { toJsonElement, toJsonProperties, flattenChildren, + mergeRefs, } from "./utils"; export type AssetProps = PlayerApplicability & { diff --git a/language/dsl/src/utils.tsx b/language/dsl/src/utils.tsx index a14a5c2a..4a93f4af 100644 --- a/language/dsl/src/utils.tsx +++ b/language/dsl/src/utils.tsx @@ -146,6 +146,24 @@ export function flattenChildren(children: React.ReactNode): ReactChildArray { return flatChildren; }, []); } +/** + * Hoisted from https://github.com/gregberge/react-merge-refs/blob/main/src/index.tsx + * Published packages are ESM only or have bad esm distributions causing issues when + * used in an esm environment + */ +export function mergeRefs( + refs: Array | React.LegacyRef | undefined | null> +): React.RefCallback { + return (value) => { + refs.forEach((ref) => { + if (typeof ref === "function") { + ref(value); + } else if (ref != null) { + (ref as React.MutableRefObject).current = value; + } + }); + }; +} /** Generates object reference properties from the provided object */ export function getObjectReferences< diff --git a/package.json b/package.json index ff2649bb..30904e19 100644 --- a/package.json +++ b/package.json @@ -118,10 +118,8 @@ "react-dom": "^18.2.0", "react-error-boundary": "^4.0.12", "react-flame-graph": "^1.4.0", - "react-flatten-children": "^1.1.2", "react-icons": "^5.0.1", "react-json-reconciler": "^2.0.0", - "react-merge-refs": "^2.1.1", "react-redux": "^7.2.6", "react-split": "^2.0.14", "react-syntax-highlighter": "^15.4.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8b725632..df4060d7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -306,18 +306,12 @@ importers: react-flame-graph: specifier: ^1.4.0 version: 1.4.0(react-dom@18.2.0)(react@18.2.0) - react-flatten-children: - specifier: ^1.1.2 - version: 1.1.2 react-icons: specifier: ^5.0.1 version: 5.0.1(react@18.2.0) react-json-reconciler: specifier: ^2.0.0 version: 2.0.0(react@18.2.0) - react-merge-refs: - specifier: ^2.1.1 - version: 2.1.1 react-redux: specifier: ^7.2.6 version: 7.2.9(react-dom@18.2.0)(react@18.2.0) @@ -17516,10 +17510,6 @@ packages: resolution: {integrity: sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ==, tarball: https://registry.npmjs.org/react-merge-refs/-/react-merge-refs-1.1.0.tgz} dev: false - /react-merge-refs@2.1.1: - resolution: {integrity: sha512-jLQXJ/URln51zskhgppGJ2ub7b2WFKGq3cl3NYKtlHoTG+dN2q7EzWrn3hN3EgPsTMvpR9tpq5ijdp7YwFZkag==, tarball: https://registry.npmjs.org/react-merge-refs/-/react-merge-refs-2.1.1.tgz} - dev: false - /react-reconciler@0.26.2(react@18.2.0): resolution: {integrity: sha512-nK6kgY28HwrMNwDnMui3dvm3rCFjZrcGiuwLc5COUipBK5hWHLOxMJhSnSomirqWwjPBJKV1QcbkI0VJr7Gl1Q==, tarball: https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.26.2.tgz} engines: {node: '>=0.10.0'}