From 570be6f163b060f5f61e7ca59ba01f0b493e2ea8 Mon Sep 17 00:00:00 2001 From: Jarda Snajdr Date: Wed, 3 Apr 2024 11:55:16 +0200 Subject: [PATCH] Reexport createSelector from data package (#60370) Co-authored-by: jsnajdr Co-authored-by: ellatrix --- package-lock.json | 52 +++++-------------- packages/annotations/package.json | 1 - packages/annotations/src/store/selectors.js | 4 +- packages/block-editor/package.json | 1 - .../src/store/private-selectors.js | 7 +-- packages/block-editor/src/store/selectors.js | 7 +-- packages/blocks/package.json | 1 - .../blocks/src/store/private-selectors.js | 4 +- packages/blocks/src/store/selectors.js | 2 +- packages/commands/package.json | 3 +- packages/commands/src/store/selectors.js | 4 +- packages/core-data/package.json | 1 - packages/core-data/src/private-selectors.ts | 7 +-- .../core-data/src/queried-data/selectors.js | 6 ++- packages/core-data/src/selectors.ts | 7 +-- packages/data/CHANGELOG.md | 2 + packages/data/README.md | 17 ++++++ packages/data/src/create-selector.js | 11 ++++ packages/data/src/index.js | 1 + .../src/redux-store/metadata/selectors.js | 6 +-- packages/data/src/test/registry-selectors.js | 6 +-- packages/edit-post/package.json | 3 +- packages/edit-post/src/store/selectors.js | 7 +-- packages/edit-site/package.json | 3 +- .../components/page-patterns/use-patterns.js | 7 +-- packages/edit-widgets/package.json | 3 +- packages/editor/package.json | 1 - .../editor/src/store/private-selectors.js | 7 +-- packages/editor/src/store/selectors.js | 7 +-- packages/keyboard-shortcuts/package.json | 3 +- .../keyboard-shortcuts/src/store/selectors.js | 6 +-- packages/nux/package.json | 3 +- packages/nux/src/store/selectors.js | 4 +- packages/rich-text/package.json | 3 +- packages/rich-text/src/store/selectors.js | 4 +- 35 files changed, 79 insertions(+), 132 deletions(-) create mode 100644 packages/data/src/create-selector.js diff --git a/package-lock.json b/package-lock.json index 755e9827d01bd..9066ae3524d61 100644 --- a/package-lock.json +++ b/package-lock.json @@ -54678,7 +54678,6 @@ "@wordpress/hooks": "file:../hooks", "@wordpress/i18n": "file:../i18n", "@wordpress/rich-text": "file:../rich-text", - "rememo": "^4.0.2", "uuid": "^9.0.1" }, "engines": { @@ -54874,7 +54873,6 @@ "postcss-urlrebase": "^1.0.0", "react-autosize-textarea": "^7.1.0", "react-easy-crop": "^4.5.1", - "rememo": "^4.0.2", "remove-accents": "^0.5.0" }, "engines": { @@ -55035,7 +55033,6 @@ "is-plain-object": "^5.0.0", "memize": "^2.1.0", "react-is": "^18.2.0", - "rememo": "^4.0.2", "remove-accents": "^0.5.0", "showdown": "^1.9.1", "simple-html-tokenizer": "^0.5.7", @@ -55084,8 +55081,7 @@ "@wordpress/keyboard-shortcuts": "file:../keyboard-shortcuts", "@wordpress/private-apis": "file:../private-apis", "classnames": "^2.3.1", - "cmdk": "^0.2.0", - "rememo": "^4.0.2" + "cmdk": "^0.2.0" }, "engines": { "node": ">=12" @@ -55285,7 +55281,6 @@ "equivalent-key-map": "^0.2.2", "fast-deep-equal": "^3.1.3", "memize": "^2.1.0", - "rememo": "^4.0.2", "uuid": "^9.0.1" }, "engines": { @@ -55684,8 +55679,7 @@ "@wordpress/warning": "file:../warning", "@wordpress/widgets": "file:../widgets", "classnames": "^2.3.1", - "memize": "^2.1.0", - "rememo": "^4.0.2" + "memize": "^2.1.0" }, "engines": { "node": ">=12" @@ -55750,8 +55744,7 @@ "fast-deep-equal": "^3.1.3", "is-plain-object": "^5.0.0", "memize": "^2.1.0", - "react-autosize-textarea": "^7.1.0", - "rememo": "^4.0.2" + "react-autosize-textarea": "^7.1.0" }, "engines": { "node": ">=12" @@ -55793,8 +55786,7 @@ "@wordpress/reusable-blocks": "file:../reusable-blocks", "@wordpress/url": "file:../url", "@wordpress/widgets": "file:../widgets", - "classnames": "^2.3.1", - "rememo": "^4.0.2" + "classnames": "^2.3.1" }, "engines": { "node": ">=12" @@ -55846,7 +55838,6 @@ "date-fns": "^3.6.0", "memize": "^2.1.0", "react-autosize-textarea": "^7.1.0", - "rememo": "^4.0.2", "remove-accents": "^0.5.0" }, "engines": { @@ -56322,8 +56313,7 @@ "@babel/runtime": "^7.16.0", "@wordpress/data": "file:../data", "@wordpress/element": "file:../element", - "@wordpress/keycodes": "file:../keycodes", - "rememo": "^4.0.2" + "@wordpress/keycodes": "file:../keycodes" }, "engines": { "node": ">=12" @@ -56435,8 +56425,7 @@ "@wordpress/deprecated": "file:../deprecated", "@wordpress/element": "file:../element", "@wordpress/i18n": "file:../i18n", - "@wordpress/icons": "file:../icons", - "rememo": "^4.0.2" + "@wordpress/icons": "file:../icons" }, "engines": { "node": ">=12" @@ -56866,8 +56855,7 @@ "@wordpress/escape-html": "file:../escape-html", "@wordpress/i18n": "file:../i18n", "@wordpress/keycodes": "file:../keycodes", - "memize": "^2.1.0", - "rememo": "^4.0.2" + "memize": "^2.1.0" }, "engines": { "node": ">=12" @@ -70764,7 +70752,6 @@ "@wordpress/hooks": "file:../hooks", "@wordpress/i18n": "file:../i18n", "@wordpress/rich-text": "file:../rich-text", - "rememo": "^4.0.2", "uuid": "^9.0.1" }, "dependencies": { @@ -70899,7 +70886,6 @@ "postcss-urlrebase": "^1.0.0", "react-autosize-textarea": "^7.1.0", "react-easy-crop": "^4.5.1", - "rememo": "^4.0.2", "remove-accents": "^0.5.0" }, "dependencies": { @@ -71012,7 +70998,6 @@ "is-plain-object": "^5.0.0", "memize": "^2.1.0", "react-is": "^18.2.0", - "rememo": "^4.0.2", "remove-accents": "^0.5.0", "showdown": "^1.9.1", "simple-html-tokenizer": "^0.5.7", @@ -71045,8 +71030,7 @@ "@wordpress/keyboard-shortcuts": "file:../keyboard-shortcuts", "@wordpress/private-apis": "file:../private-apis", "classnames": "^2.3.1", - "cmdk": "^0.2.0", - "rememo": "^4.0.2" + "cmdk": "^0.2.0" } }, "@wordpress/components": { @@ -71204,7 +71188,6 @@ "equivalent-key-map": "^0.2.2", "fast-deep-equal": "^3.1.3", "memize": "^2.1.0", - "rememo": "^4.0.2", "uuid": "^9.0.1" }, "dependencies": { @@ -71467,8 +71450,7 @@ "@wordpress/warning": "file:../warning", "@wordpress/widgets": "file:../widgets", "classnames": "^2.3.1", - "memize": "^2.1.0", - "rememo": "^4.0.2" + "memize": "^2.1.0" } }, "@wordpress/edit-site": { @@ -71524,8 +71506,7 @@ "fast-deep-equal": "^3.1.3", "is-plain-object": "^5.0.0", "memize": "^2.1.0", - "react-autosize-textarea": "^7.1.0", - "rememo": "^4.0.2" + "react-autosize-textarea": "^7.1.0" } }, "@wordpress/edit-widgets": { @@ -71558,8 +71539,7 @@ "@wordpress/reusable-blocks": "file:../reusable-blocks", "@wordpress/url": "file:../url", "@wordpress/widgets": "file:../widgets", - "classnames": "^2.3.1", - "rememo": "^4.0.2" + "classnames": "^2.3.1" } }, "@wordpress/editor": { @@ -71602,7 +71582,6 @@ "date-fns": "^3.6.0", "memize": "^2.1.0", "react-autosize-textarea": "^7.1.0", - "rememo": "^4.0.2", "remove-accents": "^0.5.0" } }, @@ -71887,8 +71866,7 @@ "@babel/runtime": "^7.16.0", "@wordpress/data": "file:../data", "@wordpress/element": "file:../element", - "@wordpress/keycodes": "file:../keycodes", - "rememo": "^4.0.2" + "@wordpress/keycodes": "file:../keycodes" } }, "@wordpress/keycodes": { @@ -71950,8 +71928,7 @@ "@wordpress/deprecated": "file:../deprecated", "@wordpress/element": "file:../element", "@wordpress/i18n": "file:../i18n", - "@wordpress/icons": "file:../icons", - "rememo": "^4.0.2" + "@wordpress/icons": "file:../icons" } }, "@wordpress/patterns": { @@ -72220,8 +72197,7 @@ "@wordpress/escape-html": "file:../escape-html", "@wordpress/i18n": "file:../i18n", "@wordpress/keycodes": "file:../keycodes", - "memize": "^2.1.0", - "rememo": "^4.0.2" + "memize": "^2.1.0" } }, "@wordpress/router": { diff --git a/packages/annotations/package.json b/packages/annotations/package.json index 0bd8e8250b872..571be01d55046 100644 --- a/packages/annotations/package.json +++ b/packages/annotations/package.json @@ -30,7 +30,6 @@ "@wordpress/hooks": "file:../hooks", "@wordpress/i18n": "file:../i18n", "@wordpress/rich-text": "file:../rich-text", - "rememo": "^4.0.2", "uuid": "^9.0.1" }, "peerDependencies": { diff --git a/packages/annotations/src/store/selectors.js b/packages/annotations/src/store/selectors.js index 8ec24e0541e6f..463c00439e77e 100644 --- a/packages/annotations/src/store/selectors.js +++ b/packages/annotations/src/store/selectors.js @@ -1,7 +1,7 @@ /** - * External dependencies + * WordPress dependencies */ -import createSelector from 'rememo'; +import { createSelector } from '@wordpress/data'; /** * Shared reference to an empty array for cases where it is important to avoid diff --git a/packages/block-editor/package.json b/packages/block-editor/package.json index 94f122fe5f017..dd4a58f1c91e3 100644 --- a/packages/block-editor/package.json +++ b/packages/block-editor/package.json @@ -76,7 +76,6 @@ "postcss-urlrebase": "^1.0.0", "react-autosize-textarea": "^7.1.0", "react-easy-crop": "^4.5.1", - "rememo": "^4.0.2", "remove-accents": "^0.5.0" }, "peerDependencies": { diff --git a/packages/block-editor/src/store/private-selectors.js b/packages/block-editor/src/store/private-selectors.js index 75163273008c4..bc4a3ba1a797c 100644 --- a/packages/block-editor/src/store/private-selectors.js +++ b/packages/block-editor/src/store/private-selectors.js @@ -1,12 +1,7 @@ -/** - * External dependencies - */ -import createSelector from 'rememo'; - /** * WordPress dependencies */ -import { createRegistrySelector } from '@wordpress/data'; +import { createSelector, createRegistrySelector } from '@wordpress/data'; /** * Internal dependencies diff --git a/packages/block-editor/src/store/selectors.js b/packages/block-editor/src/store/selectors.js index 0e8b1d62f48d6..05138464409c1 100644 --- a/packages/block-editor/src/store/selectors.js +++ b/packages/block-editor/src/store/selectors.js @@ -1,8 +1,3 @@ -/** - * External dependencies - */ -import createSelector from 'rememo'; - /** * WordPress dependencies */ @@ -21,7 +16,7 @@ import { applyFilters } from '@wordpress/hooks'; import { symbol } from '@wordpress/icons'; import { create, remove, toHTMLString } from '@wordpress/rich-text'; import deprecated from '@wordpress/deprecated'; -import { createRegistrySelector } from '@wordpress/data'; +import { createSelector, createRegistrySelector } from '@wordpress/data'; /** * Internal dependencies diff --git a/packages/blocks/package.json b/packages/blocks/package.json index ef1cf16186721..6609c1ec208e6 100644 --- a/packages/blocks/package.json +++ b/packages/blocks/package.json @@ -51,7 +51,6 @@ "is-plain-object": "^5.0.0", "memize": "^2.1.0", "react-is": "^18.2.0", - "rememo": "^4.0.2", "remove-accents": "^0.5.0", "showdown": "^1.9.1", "simple-html-tokenizer": "^0.5.7", diff --git a/packages/blocks/src/store/private-selectors.js b/packages/blocks/src/store/private-selectors.js index e6eac8be42146..4cded8268ae97 100644 --- a/packages/blocks/src/store/private-selectors.js +++ b/packages/blocks/src/store/private-selectors.js @@ -1,7 +1,7 @@ /** - * External dependencies + * WordPress dependencies */ -import createSelector from 'rememo'; +import { createSelector } from '@wordpress/data'; /** * Internal dependencies diff --git a/packages/blocks/src/store/selectors.js b/packages/blocks/src/store/selectors.js index b2b8ab8106f09..a69879809ab1a 100644 --- a/packages/blocks/src/store/selectors.js +++ b/packages/blocks/src/store/selectors.js @@ -1,13 +1,13 @@ /** * External dependencies */ -import createSelector from 'rememo'; import removeAccents from 'remove-accents'; /** * WordPress dependencies */ import { pipe } from '@wordpress/compose'; +import { createSelector } from '@wordpress/data'; /** * Internal dependencies diff --git a/packages/commands/package.json b/packages/commands/package.json index 4051d8dcdd912..c3f7d3ead0f46 100644 --- a/packages/commands/package.json +++ b/packages/commands/package.json @@ -35,8 +35,7 @@ "@wordpress/keyboard-shortcuts": "file:../keyboard-shortcuts", "@wordpress/private-apis": "file:../private-apis", "classnames": "^2.3.1", - "cmdk": "^0.2.0", - "rememo": "^4.0.2" + "cmdk": "^0.2.0" }, "peerDependencies": { "react": "^18.0.0", diff --git a/packages/commands/src/store/selectors.js b/packages/commands/src/store/selectors.js index 426151464131a..69646c479d506 100644 --- a/packages/commands/src/store/selectors.js +++ b/packages/commands/src/store/selectors.js @@ -1,7 +1,7 @@ /** - * External dependencies + * WordPress dependencies */ -import createSelector from 'rememo'; +import { createSelector } from '@wordpress/data'; /** * Returns the registered static commands. diff --git a/packages/core-data/package.json b/packages/core-data/package.json index ec8795d253fcf..60b57d21545b9 100644 --- a/packages/core-data/package.json +++ b/packages/core-data/package.json @@ -50,7 +50,6 @@ "equivalent-key-map": "^0.2.2", "fast-deep-equal": "^3.1.3", "memize": "^2.1.0", - "rememo": "^4.0.2", "uuid": "^9.0.1" }, "peerDependencies": { diff --git a/packages/core-data/src/private-selectors.ts b/packages/core-data/src/private-selectors.ts index 85dc4e3be7203..6280bb9631963 100644 --- a/packages/core-data/src/private-selectors.ts +++ b/packages/core-data/src/private-selectors.ts @@ -1,12 +1,7 @@ -/** - * External dependencies - */ -import createSelector from 'rememo'; - /** * WordPress dependencies */ -import { createRegistrySelector } from '@wordpress/data'; +import { createSelector, createRegistrySelector } from '@wordpress/data'; /** * Internal dependencies diff --git a/packages/core-data/src/queried-data/selectors.js b/packages/core-data/src/queried-data/selectors.js index 063fbdc217dc8..6fb213f81c1a9 100644 --- a/packages/core-data/src/queried-data/selectors.js +++ b/packages/core-data/src/queried-data/selectors.js @@ -1,9 +1,13 @@ /** * External dependencies */ -import createSelector from 'rememo'; import EquivalentKeyMap from 'equivalent-key-map'; +/** + * WordPress dependencies + */ +import { createSelector } from '@wordpress/data'; + /** * Internal dependencies */ diff --git a/packages/core-data/src/selectors.ts b/packages/core-data/src/selectors.ts index 8a47ed533ade6..4a135f343a097 100644 --- a/packages/core-data/src/selectors.ts +++ b/packages/core-data/src/selectors.ts @@ -1,12 +1,7 @@ -/** - * External dependencies - */ -import createSelector from 'rememo'; - /** * WordPress dependencies */ -import { createRegistrySelector } from '@wordpress/data'; +import { createSelector, createRegistrySelector } from '@wordpress/data'; import { addQueryArgs } from '@wordpress/url'; import deprecated from '@wordpress/deprecated'; diff --git a/packages/data/CHANGELOG.md b/packages/data/CHANGELOG.md index 6a3ad5e3c0233..a1b076a8a6765 100644 --- a/packages/data/CHANGELOG.md +++ b/packages/data/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +- Add new `createSelector` function for creating memoized store selectors ([#60370](https://github.com/WordPress/gutenberg/pull/60370)). + ## 9.25.0 (2024-04-03) ## 9.24.0 (2024-03-21) diff --git a/packages/data/README.md b/packages/data/README.md index 7a12a913e661e..5509394de3612 100644 --- a/packages/data/README.md +++ b/packages/data/README.md @@ -482,6 +482,23 @@ _Returns_ - `Function`: Registry selector that can be registered with a store. +### createSelector + +Creates a memoized selector that caches the computed values according to the array of "dependants" and the selector parameters, and recomputes the values only when any of them changes. + +_Related_ + +- The documentation for the `rememo` package from which the `createSelector` function is reexported. + +_Parameters_ + +- _selector_ `Function`: Selector function that calculates a value from state and parameters. +- _getDependants_ `Function`: Function that returns an array of "dependant" objects. + +_Returns_ + +- `Function`: A memoized version of `selector` that caches the calculated return values. + ### dispatch Given a store descriptor, returns an object of the store's action creators. Calling an action creator will cause it to be dispatched, updating the state value accordingly. diff --git a/packages/data/src/create-selector.js b/packages/data/src/create-selector.js new file mode 100644 index 0000000000000..069932e8007e2 --- /dev/null +++ b/packages/data/src/create-selector.js @@ -0,0 +1,11 @@ +/** + * Creates a memoized selector that caches the computed values according to the array of "dependants" + * and the selector parameters, and recomputes the values only when any of them changes. + * + * @see The documentation for the `rememo` package from which the `createSelector` function is reexported. + * + * @param {Function} selector Selector function that calculates a value from state and parameters. + * @param {Function} getDependants Function that returns an array of "dependant" objects. + * @return {Function} A memoized version of `selector` that caches the calculated return values. + */ +export { default as createSelector } from 'rememo'; diff --git a/packages/data/src/index.js b/packages/data/src/index.js index 2807ef7e9708f..43ea843d1a64a 100644 --- a/packages/data/src/index.js +++ b/packages/data/src/index.js @@ -23,6 +23,7 @@ export { useDispatch } from './components/use-dispatch'; export { AsyncModeProvider } from './components/async-mode-provider'; export { createRegistry } from './registry'; export { createRegistrySelector, createRegistryControl } from './factory'; +export { createSelector } from './create-selector'; export { controls } from './controls'; export { default as createReduxStore } from './redux-store'; export { dispatch } from './dispatch'; diff --git a/packages/data/src/redux-store/metadata/selectors.js b/packages/data/src/redux-store/metadata/selectors.js index 4f1ef4c1ec87a..306bb89977d2d 100644 --- a/packages/data/src/redux-store/metadata/selectors.js +++ b/packages/data/src/redux-store/metadata/selectors.js @@ -1,8 +1,3 @@ -/** - * External dependencies - */ -import createSelector from 'rememo'; - /** * WordPress dependencies */ @@ -11,6 +6,7 @@ import deprecated from '@wordpress/deprecated'; /** * Internal dependencies */ +import { createSelector } from '../../create-selector'; import { selectorArgsToStateKey } from './utils'; /** @typedef {Record} State */ diff --git a/packages/data/src/test/registry-selectors.js b/packages/data/src/test/registry-selectors.js index edcadef8356c6..b9e8e61a90a64 100644 --- a/packages/data/src/test/registry-selectors.js +++ b/packages/data/src/test/registry-selectors.js @@ -1,13 +1,9 @@ -/** - * External dependencies - */ -import createSelector from 'rememo'; - /** * Internal dependencies */ import { createRegistry } from '../registry'; import { createRegistrySelector } from '../factory'; +import { createSelector } from '..'; import createReduxStore from '../redux-store'; const getElementCount = createRegistrySelector( ( select ) => () => { diff --git a/packages/edit-post/package.json b/packages/edit-post/package.json index 17207cf6fa8f6..2de988fa00d6c 100644 --- a/packages/edit-post/package.json +++ b/packages/edit-post/package.json @@ -58,8 +58,7 @@ "@wordpress/warning": "file:../warning", "@wordpress/widgets": "file:../widgets", "classnames": "^2.3.1", - "memize": "^2.1.0", - "rememo": "^4.0.2" + "memize": "^2.1.0" }, "peerDependencies": { "react": "^18.0.0", diff --git a/packages/edit-post/src/store/selectors.js b/packages/edit-post/src/store/selectors.js index af22848dd1b9d..7110750c2034d 100644 --- a/packages/edit-post/src/store/selectors.js +++ b/packages/edit-post/src/store/selectors.js @@ -1,12 +1,7 @@ -/** - * External dependencies - */ -import createSelector from 'rememo'; - /** * WordPress dependencies */ -import { createRegistrySelector } from '@wordpress/data'; +import { createSelector, createRegistrySelector } from '@wordpress/data'; import { store as interfaceStore } from '@wordpress/interface'; import { store as preferencesStore } from '@wordpress/preferences'; import { store as coreStore } from '@wordpress/core-data'; diff --git a/packages/edit-site/package.json b/packages/edit-site/package.json index 37fba350ad01f..9834d63b7f3f0 100644 --- a/packages/edit-site/package.json +++ b/packages/edit-site/package.json @@ -76,8 +76,7 @@ "fast-deep-equal": "^3.1.3", "is-plain-object": "^5.0.0", "memize": "^2.1.0", - "react-autosize-textarea": "^7.1.0", - "rememo": "^4.0.2" + "react-autosize-textarea": "^7.1.0" }, "peerDependencies": { "react": "^18.0.0", diff --git a/packages/edit-site/src/components/page-patterns/use-patterns.js b/packages/edit-site/src/components/page-patterns/use-patterns.js index 606ac59a02d98..b16fddbf81034 100644 --- a/packages/edit-site/src/components/page-patterns/use-patterns.js +++ b/packages/edit-site/src/components/page-patterns/use-patterns.js @@ -1,13 +1,8 @@ -/** - * External dependencies - */ -import createSelector from 'rememo'; - /** * WordPress dependencies */ import { parse } from '@wordpress/blocks'; -import { useSelect } from '@wordpress/data'; +import { useSelect, createSelector } from '@wordpress/data'; import { store as coreStore } from '@wordpress/core-data'; import { store as editorStore } from '@wordpress/editor'; import { decodeEntities } from '@wordpress/html-entities'; diff --git a/packages/edit-widgets/package.json b/packages/edit-widgets/package.json index 4a48382e76524..ad69c29b26af2 100644 --- a/packages/edit-widgets/package.json +++ b/packages/edit-widgets/package.json @@ -53,8 +53,7 @@ "@wordpress/reusable-blocks": "file:../reusable-blocks", "@wordpress/url": "file:../url", "@wordpress/widgets": "file:../widgets", - "classnames": "^2.3.1", - "rememo": "^4.0.2" + "classnames": "^2.3.1" }, "peerDependencies": { "react": "^18.0.0", diff --git a/packages/editor/package.json b/packages/editor/package.json index 5f9e43df06849..09fef01dea30c 100644 --- a/packages/editor/package.json +++ b/packages/editor/package.json @@ -67,7 +67,6 @@ "date-fns": "^3.6.0", "memize": "^2.1.0", "react-autosize-textarea": "^7.1.0", - "rememo": "^4.0.2", "remove-accents": "^0.5.0" }, "peerDependencies": { diff --git a/packages/editor/src/store/private-selectors.js b/packages/editor/src/store/private-selectors.js index 0dc802e34394e..5abd72f13713b 100644 --- a/packages/editor/src/store/private-selectors.js +++ b/packages/editor/src/store/private-selectors.js @@ -1,13 +1,8 @@ -/** - * External dependencies - */ -import createSelector from 'rememo'; - /** * WordPress dependencies */ import { store as blockEditorStore } from '@wordpress/block-editor'; -import { createRegistrySelector } from '@wordpress/data'; +import { createSelector, createRegistrySelector } from '@wordpress/data'; import { layout, symbol, diff --git a/packages/editor/src/store/selectors.js b/packages/editor/src/store/selectors.js index 80761f3c7b2c7..d5848ed8f08e9 100644 --- a/packages/editor/src/store/selectors.js +++ b/packages/editor/src/store/selectors.js @@ -1,8 +1,3 @@ -/** - * External dependencies - */ -import createSelector from 'rememo'; - /** * WordPress dependencies */ @@ -14,7 +9,7 @@ import { } from '@wordpress/blocks'; import { isInTheFuture, getDate } from '@wordpress/date'; import { addQueryArgs, cleanForSlug } from '@wordpress/url'; -import { createRegistrySelector } from '@wordpress/data'; +import { createSelector, createRegistrySelector } from '@wordpress/data'; import deprecated from '@wordpress/deprecated'; import { Platform } from '@wordpress/element'; import { layout } from '@wordpress/icons'; diff --git a/packages/keyboard-shortcuts/package.json b/packages/keyboard-shortcuts/package.json index 52896191a7e76..44e35fa72f62c 100644 --- a/packages/keyboard-shortcuts/package.json +++ b/packages/keyboard-shortcuts/package.json @@ -28,8 +28,7 @@ "@babel/runtime": "^7.16.0", "@wordpress/data": "file:../data", "@wordpress/element": "file:../element", - "@wordpress/keycodes": "file:../keycodes", - "rememo": "^4.0.2" + "@wordpress/keycodes": "file:../keycodes" }, "peerDependencies": { "react": "^18.0.0" diff --git a/packages/keyboard-shortcuts/src/store/selectors.js b/packages/keyboard-shortcuts/src/store/selectors.js index 2d4f5976247b0..d27bcc9d32ff9 100644 --- a/packages/keyboard-shortcuts/src/store/selectors.js +++ b/packages/keyboard-shortcuts/src/store/selectors.js @@ -1,11 +1,7 @@ -/** - * External dependencies - */ -import createSelector from 'rememo'; - /** * WordPress dependencies */ +import { createSelector } from '@wordpress/data'; import { displayShortcut, shortcutAriaLabel, diff --git a/packages/nux/package.json b/packages/nux/package.json index 7806c2872a033..acc129e6f2c6f 100644 --- a/packages/nux/package.json +++ b/packages/nux/package.json @@ -37,8 +37,7 @@ "@wordpress/deprecated": "file:../deprecated", "@wordpress/element": "file:../element", "@wordpress/i18n": "file:../i18n", - "@wordpress/icons": "file:../icons", - "rememo": "^4.0.2" + "@wordpress/icons": "file:../icons" }, "peerDependencies": { "react": "^18.0.0", diff --git a/packages/nux/src/store/selectors.js b/packages/nux/src/store/selectors.js index e87cf688a1ba3..44b2d7321f1f7 100644 --- a/packages/nux/src/store/selectors.js +++ b/packages/nux/src/store/selectors.js @@ -1,7 +1,7 @@ /** - * External dependencies + * WordPress dependencies */ -import createSelector from 'rememo'; +import { createSelector } from '@wordpress/data'; /** * An object containing information about a guide. diff --git a/packages/rich-text/package.json b/packages/rich-text/package.json index c9f899eaa7a6f..12017280cd9ee 100644 --- a/packages/rich-text/package.json +++ b/packages/rich-text/package.json @@ -39,8 +39,7 @@ "@wordpress/escape-html": "file:../escape-html", "@wordpress/i18n": "file:../i18n", "@wordpress/keycodes": "file:../keycodes", - "memize": "^2.1.0", - "rememo": "^4.0.2" + "memize": "^2.1.0" }, "peerDependencies": { "react": "^18.0.0" diff --git a/packages/rich-text/src/store/selectors.js b/packages/rich-text/src/store/selectors.js index cdc597aee0d99..df87c6a99211a 100644 --- a/packages/rich-text/src/store/selectors.js +++ b/packages/rich-text/src/store/selectors.js @@ -1,7 +1,7 @@ /** - * External dependencies + * WordPress dependencies */ -import createSelector from 'rememo'; +import { createSelector } from '@wordpress/data'; /** * Returns all the available format types.