diff --git a/packages/core/database/src/inherited-collection.ts b/packages/core/database/src/inherited-collection.ts index cb7d5a878..16bbc1aa8 100644 --- a/packages/core/database/src/inherited-collection.ts +++ b/packages/core/database/src/inherited-collection.ts @@ -20,7 +20,7 @@ export class InheritedCollection extends Collection { const listener = (collection) => { if ( options.inherits.includes(collection.name) && - lodash.every(options.inherits, (name) => this.context.database.collections.has(name)) + (options.inherits as Array).every((name) => this.db.collections.has(name)) ) { this.bindParents(); this.db.removeListener('afterDefineCollection', listener); @@ -67,6 +67,7 @@ export class InheritedCollection extends Collection { parentFields() { const fields = new Map(); + for (const parent of this.parents) { if (parent.isInherited()) { for (const [name, field] of (parent).parentFields()) { @@ -85,6 +86,7 @@ export class InheritedCollection extends Collection { parentAttributes() { const attributes = {}; + for (const parent of this.parents) { if (parent.isInherited()) { Object.assign(attributes, (parent).parentAttributes()); diff --git a/packages/plugins/collection-manager/package.json b/packages/plugins/collection-manager/package.json index 4ebf8893f..e2552d3b5 100644 --- a/packages/plugins/collection-manager/package.json +++ b/packages/plugins/collection-manager/package.json @@ -10,6 +10,7 @@ } ], "dependencies": { + "@hapi/topo": "^6.0.0", "@nocobase/database": "0.8.0-alpha.13", "@nocobase/plugin-error-handler": "0.8.0-alpha.13", "@nocobase/server": "0.8.0-alpha.13", diff --git a/packages/plugins/collection-manager/src/repositories/collection-repository.ts b/packages/plugins/collection-manager/src/repositories/collection-repository.ts index 6eadf87cb..1a00c34cd 100644 --- a/packages/plugins/collection-manager/src/repositories/collection-repository.ts +++ b/packages/plugins/collection-manager/src/repositories/collection-repository.ts @@ -1,5 +1,6 @@ -import { Repository } from '@nocobase/database'; +import { Model, Repository } from '@nocobase/database'; import { CollectionModel } from '../models/collection'; +import Topo from '@hapi/topo'; interface LoadOptions { filter?: any; @@ -11,6 +12,8 @@ export class CollectionRepository extends Repository { const { filter, skipExist } = options; const instances = (await this.find({ filter })) as CollectionModel[]; + const sorter = new Topo.Sorter(); + const throughModels = []; for (const instance of instances) { @@ -24,9 +27,21 @@ export class CollectionRepository extends Repository { } } } + + const topoOptions = { + group: instance.get('name'), + }; + + if (instance.get('inherits')) { + topoOptions['after'] = instance.get('inherits'); + } + + sorter.add(instance, topoOptions); } - instances.sort((a, b) => { + const sorted = sorter.nodes; + + sorted.sort((a, b) => { if (throughModels.includes(a.get('name'))) { return -1; } @@ -34,7 +49,7 @@ export class CollectionRepository extends Repository { return 1; }); - for (const instance of instances) { + for (const instance of sorted) { await instance.load({ skipExist }); } } diff --git a/packages/pro-plugins b/packages/pro-plugins index f80b7206c..5a5fba41a 160000 --- a/packages/pro-plugins +++ b/packages/pro-plugins @@ -1 +1 @@ -Subproject commit f80b7206cdf9371816d0f113843f1dfeb0ba2f63 +Subproject commit 5a5fba41ae1cecaf3b073fcb610e9dc68dad0b85 diff --git a/yarn.lock b/yarn.lock index 1f2ab6050..8d944f19e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -329,6 +329,23 @@ csstype "^3.0.8" tslib "^2.0.3" +"@antv/x6-react-shape@^1.6.2": + version "1.6.3" + resolved "https://registry.yarnpkg.com/@antv/x6-react-shape/-/x6-react-shape-1.6.3.tgz#053660bd555c4356e9719134e3e2a857b51301e2" + integrity sha512-iCsRVkvKCVs7HUUblF/ALg5XxeeEPXDLHuYzRvbvNlCKKLbXLbaz6vJQSgTTrk2i4lrD+7xl4riA76FyWA3k/g== + +"@antv/x6@^1.34.2": + version "1.34.6" + resolved "https://registry.yarnpkg.com/@antv/x6/-/x6-1.34.6.tgz#b802b09b52c8620acf01734397714ea5e3f715b6" + integrity sha512-cl8ywN7CTNVT94/ZEbq2mnZQTQe6FUgIlGOAjNOPL8sljZTBrpE6OsuGw4BDA2/XllwELfUfvVpgBvbdwRKrxw== + dependencies: + csstype "^3.0.3" + jquery "^3.5.1" + jquery-mousewheel "^3.1.13" + lodash-es "^4.17.15" + mousetrap "^1.6.5" + utility-types "^3.10.0" + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.0": version "7.16.0" resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431" @@ -3241,7 +3258,7 @@ "@hapi/topo@^6.0.0": version "6.0.0" - resolved "https://registry.npmjs.org/@hapi%2ftopo/-/topo-6.0.0.tgz#6548e23e0a3d3b117eb0671dba49f654c9224c21" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-6.0.0.tgz#6548e23e0a3d3b117eb0671dba49f654c9224c21" integrity sha512-aorJvN1Q1n5xrZuA50Z4X6adI6VAM2NalIVm46ALL9LUvdoqhof3JPY69jdJH8asM3PsWr2SUVYzp57EqUP41A== dependencies: "@hapi/hoek" "^10.0.0" @@ -4366,6 +4383,153 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" +"@nocobase/acl@0.8.0-alpha.9": + version "0.8.0-alpha.9" + resolved "https://registry.yarnpkg.com/@nocobase/acl/-/acl-0.8.0-alpha.9.tgz#7ffab4a367befc74daa681b1d5c2c907126cb280" + integrity sha512-jEgpjO6gGi4GwSyWxlmcwd368/AQgmrdsODDTLhhrJJI9+ovj2mxO664lQgh3FkDGtmduKlBiZ+qcgK+/RWa1w== + dependencies: + "@nocobase/resourcer" "0.8.0-alpha.9" + json-templates "^4.2.0" + +"@nocobase/actions@0.8.0-alpha.9": + version "0.8.0-alpha.9" + resolved "https://registry.yarnpkg.com/@nocobase/actions/-/actions-0.8.0-alpha.9.tgz#3804bbf30f7c4e8aa205b9802ec4f56a58c18c72" + integrity sha512-EvdNjXa+TTMU2Xn+MnA7tSa5rooGFtzsvJsSYbkpODtsVQsmTDRIZYZsOYFk/XcezxjzTTsxxXMSA7sLq6wifQ== + dependencies: + "@nocobase/cache" "0.8.0-alpha.9" + "@nocobase/database" "0.8.0-alpha.9" + "@nocobase/resourcer" "0.8.0-alpha.9" + +"@nocobase/cache@0.8.0-alpha.9": + version "0.8.0-alpha.9" + resolved "https://registry.yarnpkg.com/@nocobase/cache/-/cache-0.8.0-alpha.9.tgz#99f7ca196dacd41b69ed7b7f179fcc1c4c5baa27" + integrity sha512-GCi7OE9nLrXKq/Og6SPtPcjtreUxxAL9x7CwmD2x3Zb7gNTc2GvQ9NWoAlO8KTLlWuzuNcJXegBhxaxV8Lt5ew== + dependencies: + cache-manager "^4.1.0" + +"@nocobase/client@0.8.0-alpha.9": + version "0.8.0-alpha.9" + resolved "https://registry.yarnpkg.com/@nocobase/client/-/client-0.8.0-alpha.9.tgz#03446b4c4160a7ebda9dfd8aa80e2203541eb72c" + integrity sha512-cvh01k8Ujhc9D7kDYQ7QKP5tnLF+wBOqixtisivti9aeklMBaOKj1oLmxKHZlB2IJzKpT+rUntpsxGxUS6co9A== + dependencies: + "@antv/g2plot" "^2.4.18" + "@dnd-kit/core" "^5.0.1" + "@dnd-kit/sortable" "^6.0.0" + "@emotion/css" "^11.7.1" + "@formily/antd" "2.0.20" + "@formily/core" "2.0.20" + "@formily/react" "2.0.20" + "@nocobase/sdk" "0.8.0-alpha.9" + "@nocobase/utils" "0.8.0-alpha.9" + ahooks "^3.0.5" + antd "~4.19.5" + axios "^0.26.1" + classnames "^2.3.1" + cron-parser "^4.6.0" + cronstrue "^2.11.0" + file-saver "^2.0.5" + i18next "^21.6.0" + json-templates "^4.2.0" + marked "^4.0.12" + mathjs "^10.6.0" + react-beautiful-dnd "^13.1.0" + react-big-calendar "^0.38.7" + react-contenteditable "^3.3.6" + react-drag-listview "^0.1.9" + react-helmet "^6.1.0" + react-hotkeys-hook "^3.4.7" + react-i18next "^11.15.1" + react-image-lightbox "^5.1.4" + react-js-cron "^1.4.0" + react-quill "^1.3.5" + react-router-dom "^5.2.0" + react-to-print "^2.14.7" + solarlunar-es "^1.0.9" + use-deep-compare-effect "^1.8.1" + +"@nocobase/database@0.8.0-alpha.9": + version "0.8.0-alpha.9" + resolved "https://registry.yarnpkg.com/@nocobase/database/-/database-0.8.0-alpha.9.tgz#9684b4ddcfc5396df2ef3d4ae9cd2ce59142df81" + integrity sha512-zkLTW2iFg1tlbSTlW40oEmM7O2GxHXmIzErnDR4it0GWoLqjDgzNHP5QjODOxiiB/+/unNFudfGTNCoXxu2ZvA== + dependencies: + "@nocobase/utils" "0.8.0-alpha.9" + async-mutex "^0.3.2" + cron-parser "4.4.0" + deepmerge "^4.2.2" + flat "^5.0.2" + glob "^7.1.6" + mathjs "^10.6.1" + moment "2.x" + semver "^7.3.7" + sequelize "^6.9.0" + umzug "^3.1.1" + +"@nocobase/resourcer@0.8.0-alpha.9": + version "0.8.0-alpha.9" + resolved "https://registry.yarnpkg.com/@nocobase/resourcer/-/resourcer-0.8.0-alpha.9.tgz#5415af5944b31293e5e2da73bf5c999866a90fab" + integrity sha512-6v9bfUex2RfT8C3xX+SUhj8/zECCY6pQA3ce8GV3xd9cu6ku8c7hIiNM3KwgPOD189aND3FxNwxqpECNaoWQ1A== + dependencies: + "@nocobase/utils" "0.8.0-alpha.9" + deepmerge "^4.2.2" + koa-compose "^4.1.0" + lodash "^4.17.21" + path-to-regexp "^6.1.0" + qs "^6.9.4" + +"@nocobase/sdk@0.8.0-alpha.9": + version "0.8.0-alpha.9" + resolved "https://registry.yarnpkg.com/@nocobase/sdk/-/sdk-0.8.0-alpha.9.tgz#5306e7bf4aabf00894a65036c584508d93bda379" + integrity sha512-v+GF4N5ldYwmoqQIukGWzz/eOm2TgxcUZq3uE+YeP/aiDa4XAfkLrpBNsvCS24k3s/U+84FYrvTWRRStJGSzBA== + dependencies: + axios "^0.26.1" + qs "^6.10.1" + +"@nocobase/server@0.8.0-alpha.9": + version "0.8.0-alpha.9" + resolved "https://registry.yarnpkg.com/@nocobase/server/-/server-0.8.0-alpha.9.tgz#bc1955e41b2ac9f6640fdf109516376604d4092c" + integrity sha512-/mHk2Uc8RS/3GcGvnMnFKlbf2aCufGuc+GOr5gEKuyWa50ibD4nZ7LKJx023uEO07rxWkFkhR6+ExuZ+BGRDGQ== + dependencies: + "@hapi/topo" "^6.0.0" + "@koa/cors" "^3.1.0" + "@koa/router" "^9.4.0" + "@nocobase/acl" "0.8.0-alpha.9" + "@nocobase/actions" "0.8.0-alpha.9" + "@nocobase/database" "0.8.0-alpha.9" + "@nocobase/resourcer" "0.8.0-alpha.9" + chalk "^4.1.1" + commander "^9.2.0" + find-package-json "^1.2.0" + i18next "^21.6.0" + koa "^2.13.4" + koa-bodyparser "^4.3.0" + koa-static "^5.0.0" + lodash "^4.17.21" + semver "^7.3.7" + xpipe "^1.0.5" + +"@nocobase/test@0.8.0-alpha.9": + version "0.8.0-alpha.9" + resolved "https://registry.yarnpkg.com/@nocobase/test/-/test-0.8.0-alpha.9.tgz#40aaed50af9b8fd23c0666156c806273c75b0a3f" + integrity sha512-bpzcogPKzfq8mjIsLDy0xlsd0dNAUgmju9kk+RPV5wNZfhvofaA7YduexawbL+dLJQC+iyjmhAhARxl8rVhKuA== + dependencies: + "@nocobase/server" "0.8.0-alpha.9" + "@types/supertest" "^2.0.11" + mockjs "^1.1.0" + mysql2 "^2.3.3" + pg "^8.7.3" + pg-hstore "^2.3.4" + sqlite3 "^5.0.8" + supertest "^6.1.6" + +"@nocobase/utils@0.8.0-alpha.9": + version "0.8.0-alpha.9" + resolved "https://registry.yarnpkg.com/@nocobase/utils/-/utils-0.8.0-alpha.9.tgz#fa7e203412e91ab7a6ebb12a6d53d83e09465591" + integrity sha512-oEqKs4+0sO4x0TFEtf+Tf1nIkb9q+9y9YmrqOn6MyMo/ejTSh6nlNt1rAYgs02gTP4uHkSOb2/4K4oDm0JXLdg== + dependencies: + "@hapi/topo" "^6.0.0" + deepmerge "^4.2.2" + flat-to-nested "^1.1.1" + "@node-saml/node-saml@^4.0.2": version "4.0.2" resolved "https://registry.npmjs.org/@node-saml/node-saml/-/node-saml-4.0.2.tgz#e12020ea635346f33fcef008fe0e6fa2f28713e5" @@ -5407,7 +5571,14 @@ resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== -"@types/react-dom@^16.9.8", "@types/react-dom@^17.0.0": +"@types/react-dom@^16.9.8": + version "16.9.17" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.17.tgz#29100cbcc422d7b7dba7de24bb906de56680dd34" + integrity sha512-qSRyxEsrm5btPXnowDOs5jSkgT8ldAA0j6Qp+otHUh+xHzy3sXmgNfyhucZjAjkgpdAUw9rJe0QRtX/l+yaS4g== + dependencies: + "@types/react" "^16" + +"@types/react-dom@^17.0.0": version "17.0.11" resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.11.tgz#e1eadc3c5e86bdb5f7684e00274ae228e7bcc466" integrity sha512-f96K3k+24RaLGVu/Y2Ng3e1EbZ8/cVJvypZWd7cy0ofCBaf2lcM46xNhycMZ2xGwbBjRql7hOlZ+e2WlJ5MH3Q== @@ -5467,7 +5638,7 @@ "@types/history" "*" "@types/react" "*" -"@types/react@*", "@types/react@>=16.9.11", "@types/react@^16.9.43", "@types/react@^17.0.0": +"@types/react@*", "@types/react@>=16.9.11", "@types/react@^17.0.0": version "17.0.34" resolved "https://registry.npmjs.org/@types/react/-/react-17.0.34.tgz#797b66d359b692e3f19991b6b07e4b0c706c0102" integrity sha512-46FEGrMjc2+8XhHXILr+3+/sTe3OfzSPU9YGKILLrUYbQ1CLQC9Daqo1KzENGXAWwrFwiY0l4ZbF20gRvgpWTg== @@ -5476,6 +5647,15 @@ "@types/scheduler" "*" csstype "^3.0.2" +"@types/react@^16", "@types/react@^16.9.43": + version "16.14.34" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.34.tgz#d129324ffda312044e1c47aab18696e4ed493282" + integrity sha512-b99nWeGGReLh6aKBppghVqp93dFJtgtDOzc8NXM6hewD8PQ2zZG5kBLgbx+VJr7Q7WBMjHxaIl3dwpwwPIUgyA== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + "@types/resolve@1.17.1": version "1.17.1" resolved "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" @@ -9160,6 +9340,11 @@ csstype@^3.0.2: resolved "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz#6410af31b26bd0520933d02cbc64fce9ce3fbf0b" integrity sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw== +csstype@^3.0.3: + version "3.1.1" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9" + integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== + csstype@^3.0.8: version "3.1.0" resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz#4ddcac3718d787cf9df0d1b7d15033925c8f29f2" @@ -9209,6 +9394,14 @@ d3-timer@^1.0.9: resolved "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz#dfe76b8a91748831b13b6d9c793ffbd508dd9de5" integrity sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw== +dagre@^0.8.5: + version "0.8.5" + resolved "https://registry.yarnpkg.com/dagre/-/dagre-0.8.5.tgz#ba30b0055dac12b6c1fcc247817442777d06afee" + integrity sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw== + dependencies: + graphlib "^2.1.8" + lodash "^4.17.15" + dargs@^7.0.0: version "7.0.0" resolved "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" @@ -11673,6 +11866,13 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6 resolved "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= +graphlib@^2.1.8: + version "2.1.8" + resolved "https://registry.yarnpkg.com/graphlib/-/graphlib-2.1.8.tgz#5761d414737870084c92ec7b5dbcb0592c9d35da" + integrity sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A== + dependencies: + lodash "^4.17.15" + growly@^1.3.0: version "1.3.0" resolved "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" @@ -14074,6 +14274,16 @@ jose@^4.10.0: resolved "https://registry.npmjs.org/jose/-/jose-4.11.1.tgz#8f7443549befe5bddcf4bae664a9cbc1a62da4fa" integrity sha512-YRv4Tk/Wlug8qicwqFNFVEZSdbROCHRAC6qu/i0dyNKr5JQdoa2pIGoS04lLO/jXQX7Z9omoNewYIVIxqZBd9Q== +jquery-mousewheel@^3.1.13: + version "3.1.13" + resolved "https://registry.yarnpkg.com/jquery-mousewheel/-/jquery-mousewheel-3.1.13.tgz#06f0335f16e353a695e7206bf50503cb523a6ee5" + integrity sha512-GXhSjfOPyDemM005YCEHvzrEALhKDIswtxSHSR2e4K/suHVJKJxxRCGz3skPjNxjJjQa9AVSGGlYjv1M3VLIPg== + +jquery@^3.5.1: + version "3.6.1" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.1.tgz#fab0408f8b45fc19f956205773b62b292c147a16" + integrity sha512-opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw== + js-base64@^2.5.2: version "2.6.4" resolved "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" @@ -14786,7 +14996,7 @@ lockfile@^1.0.4: dependencies: signal-exit "^3.0.2" -lodash-es@^4.17.11: +lodash-es@^4.17.11, lodash-es@^4.17.15: version "4.17.21" resolved "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== @@ -15871,6 +16081,11 @@ moo@^0.5.0: resolved "https://registry.npmjs.org/moo/-/moo-0.5.1.tgz#7aae7f384b9b09f620b6abf6f74ebbcd1b65dbc4" integrity sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w== +mousetrap@^1.6.5: + version "1.6.5" + resolved "https://registry.yarnpkg.com/mousetrap/-/mousetrap-1.6.5.tgz#8a766d8c272b08393d5f56074e0b5ec183485bf9" + integrity sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA== + mri@^1.1.5: version "1.2.0" resolved "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" @@ -19308,6 +19523,13 @@ react-i18next@^11.15.1: html-escaper "^2.0.2" html-parse-stringify "^3.0.1" +react-iframe@~1.8.5: + version "1.8.5" + resolved "https://registry.yarnpkg.com/react-iframe/-/react-iframe-1.8.5.tgz#33dc091147c3f2371d0826797f1b5767ff28a56f" + integrity sha512-F4cQJGs3ydaG6fJWfuz9yLwOU0Trzl6kttXuUG+vYwosH8enOOFxZWEDQCSbNVO8ayjfYZeqLxEvdvcsSy4GvA== + dependencies: + object-assign "^4.1.1" + react-image-lightbox@^5.1.4: version "5.1.4" resolved "https://registry.npmjs.org/react-image-lightbox/-/react-image-lightbox-5.1.4.tgz#5b847dcb79e9efdf9d7cd5621a92e0f156d2cf30" @@ -22949,6 +23171,11 @@ util@^0.11.0: dependencies: inherits "2.0.3" +utility-types@^3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/utility-types/-/utility-types-3.10.0.tgz#ea4148f9a741015f05ed74fd615e1d20e6bed82b" + integrity sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg== + utility@0.1.11: version "0.1.11" resolved "https://registry.npmjs.org/utility/-/utility-0.1.11.tgz#fde60cf9b4e4751947a0cf5d104ce29367226715"