From 0c37e313441ef90d1e69b19ceb11e3a9a36ade13 Mon Sep 17 00:00:00 2001 From: smoothdvd Date: Tue, 26 Jul 2022 14:22:35 +0800 Subject: [PATCH 01/64] update: localization attribute filter --- .../src/content-manager/components/AttributeFilter/index.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/core/admin/admin/src/content-manager/components/AttributeFilter/index.js b/packages/core/admin/admin/src/content-manager/components/AttributeFilter/index.js index 6079464de6..a39186a330 100644 --- a/packages/core/admin/admin/src/content-manager/components/AttributeFilter/index.js +++ b/packages/core/admin/admin/src/content-manager/components/AttributeFilter/index.js @@ -1,9 +1,11 @@ import React from 'react'; import PropTypes from 'prop-types'; +import { useIntl } from 'react-intl'; import useAllowedAttributes from './hooks/useAllowedAttributes'; import Filters from './Filters'; const AttributeFilter = ({ contentType, slug, metadatas }) => { + const { formatMessage } = useIntl(); const allowedAttributes = useAllowedAttributes(contentType, slug); const displayedFilters = allowedAttributes.map(name => { const attribute = contentType.attributes[name]; @@ -18,7 +20,7 @@ const AttributeFilter = ({ contentType, slug, metadatas }) => { return { name, - metadatas: { label }, + metadatas: { label: formatMessage({ id: label }) }, fieldSchema: { type, options, mainField }, trackedEvent, }; From b218ec39970e0707e9ab7f12a6840dce11374553 Mon Sep 17 00:00:00 2001 From: Bassel Kanso Date: Mon, 1 Aug 2022 12:15:05 +0300 Subject: [PATCH 02/64] count columns based on distinct ID --- packages/core/database/lib/query/query-builder.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/core/database/lib/query/query-builder.js b/packages/core/database/lib/query/query-builder.js index 0d0bc1de69..7804d950a6 100644 --- a/packages/core/database/lib/query/query-builder.js +++ b/packages/core/database/lib/query/query-builder.js @@ -301,10 +301,8 @@ const createQueryBuilder = (uid, db) => { break; } case 'count': { - const dbColumnName = - state.count === '*' ? '*' : this.aliasColumn(helpers.toColumnName(meta, state.count)); - - qb.count({ count: dbColumnName }); + const dbColumnName = this.aliasColumn(helpers.toColumnName(meta, 'id')); + qb.countDistinct({ count: dbColumnName }); break; } case 'max': { From e215383a7b575f8f0b3304183e48d4b0e209f62c Mon Sep 17 00:00:00 2001 From: Jake Wesorick <801062+JWesorick@users.noreply.github.com> Date: Thu, 28 Jul 2022 14:16:48 +0700 Subject: [PATCH 03/64] Add more locales. smn, smn_FI, se, se_FI, se_NO, se_SE, gd, gd_GB, ug, ug_CN. --- .../i18n/server/constants/iso-locales.json | 40 +++++++++++++++++++ .../__snapshots__/iso-locales.test.js.snap | 40 +++++++++++++++++++ 2 files changed, 80 insertions(+) diff --git a/packages/plugins/i18n/server/constants/iso-locales.json b/packages/plugins/i18n/server/constants/iso-locales.json index 826f9c1a15..b071ba61a0 100644 --- a/packages/plugins/i18n/server/constants/iso-locales.json +++ b/packages/plugins/i18n/server/constants/iso-locales.json @@ -935,6 +935,14 @@ "code":"ig-NG", "name":"Igbo (Nigeria) (ig-NG)" }, + { + "code":"smn", + "name":"Inari Sami" + }, + { + "code":"smn-FI", + "name":"Inari Sami (Finland)" + }, { "code":"id", "name":"Indonesian (id)" @@ -1315,6 +1323,22 @@ "code":"ne-NP", "name":"Nepali (Nepal) (ne-NP)" }, + { + "code": "se", + "name": "Northern Sami" + }, + { + "code": "se-FI", + "name": "Northern Sami (Finland)" + }, + { + "code": "se-NO", + "name": "Northern Sami (Norway)" + }, + { + "code": "se-SE", + "name": "Northern Sami (Sweden)" + }, { "code":"nd", "name":"North Ndebele (nd)" @@ -1539,6 +1563,14 @@ "code":"sa", "name":"Sanskrit (sa)" }, + { + "code":"gd", + "name":"Scottish Gaelic (gd)" + }, + { + "code":"gd-GB", + "name":"Scottish Gaelic (United Kingdom)" + }, { "code":"seh", "name":"Sena (seh)" @@ -1927,6 +1959,14 @@ "code":"ur-PK", "name":"Urdu (Pakistan) (ur-PK)" }, + { + "code": "ug", + "name": "Uyghur" + }, + { + "code": "ug-CN", + "name": "Uyghur (China)" + }, { "code":"uz", "name":"Uzbek (uz)" diff --git a/packages/plugins/i18n/server/services/__tests__/__snapshots__/iso-locales.test.js.snap b/packages/plugins/i18n/server/services/__tests__/__snapshots__/iso-locales.test.js.snap index ac03f90e45..679e2920a9 100644 --- a/packages/plugins/i18n/server/services/__tests__/__snapshots__/iso-locales.test.js.snap +++ b/packages/plugins/i18n/server/services/__tests__/__snapshots__/iso-locales.test.js.snap @@ -938,6 +938,14 @@ Array [ "code": "ig-NG", "name": "Igbo (Nigeria) (ig-NG)", }, + Object { + "code": "smn", + "name": "Inari Sami", + }, + Object { + "code": "smn-FI", + "name": "Inari Sami (Finland)", + }, Object { "code": "id", "name": "Indonesian (id)", @@ -1318,6 +1326,22 @@ Array [ "code": "ne-NP", "name": "Nepali (Nepal) (ne-NP)", }, + Object { + "code": "se", + "name": "Northern Sami", + }, + Object { + "code": "se-FI", + "name": "Northern Sami (Finland)", + }, + Object { + "code": "se-NO", + "name": "Northern Sami (Norway)", + }, + Object { + "code": "se-SE", + "name": "Northern Sami (Sweden)", + }, Object { "code": "nd", "name": "North Ndebele (nd)", @@ -1542,6 +1566,14 @@ Array [ "code": "sa", "name": "Sanskrit (sa)", }, + Object { + "code": "gd", + "name": "Scottish Gaelic (gd)", + }, + Object { + "code": "gd-GB", + "name": "Scottish Gaelic (United Kingdom)", + }, Object { "code": "seh", "name": "Sena (seh)", @@ -1930,6 +1962,14 @@ Array [ "code": "ur-PK", "name": "Urdu (Pakistan) (ur-PK)", }, + Object { + "code": "ug", + "name": "Uyghur", + }, + Object { + "code": "ug-CN", + "name": "Uyghur (China)", + }, Object { "code": "uz", "name": "Uzbek (uz)", From 749d1906f971941f75422aa0365ca5033e6d873a Mon Sep 17 00:00:00 2001 From: Bassel Kanso Date: Tue, 2 Aug 2022 11:52:19 +0300 Subject: [PATCH 04/64] add e2e tests to cover the counting case in the meta when deep filtering --- .../strapi/tests/deepFiltering.test.e2e.js | 69 ++++++++++++++++++- 1 file changed, 66 insertions(+), 3 deletions(-) diff --git a/packages/core/strapi/tests/deepFiltering.test.e2e.js b/packages/core/strapi/tests/deepFiltering.test.e2e.js index 2264759855..5cc5865018 100644 --- a/packages/core/strapi/tests/deepFiltering.test.e2e.js +++ b/packages/core/strapi/tests/deepFiltering.test.e2e.js @@ -87,6 +87,12 @@ const fixtures = { ], }; +const pagination = { + page: 1, + pageSize: 25, + pageCount: 1, +}; + describe('Deep Filtering API', () => { beforeAll(async () => { await builder @@ -119,8 +125,11 @@ describe('Deep Filtering API', () => { filters: { cards: { name: data.card[0].attributes.name } }, }, }); - expect(Array.isArray(res.body.data)).toBe(true); + expect(res.body.meta.pagination).toMatchObject({ + ...pagination, + total: 2, + }); expect(res.body.data.length).toBe(2); expect(res.body.data[0]).toMatchObject(data.collector[0]); expect(res.body.data[1]).toMatchObject(data.collector[1]); @@ -135,10 +144,46 @@ describe('Deep Filtering API', () => { }, }); + expect(res.body.meta.pagination).toMatchObject({ + ...pagination, + total: 1, + }); expect(Array.isArray(res.body.data)).toBe(true); expect(res.body.data.length).toBe(1); expect(res.body.data[0]).toMatchObject(data.collector[0]); }); + + test('should return 2 results when deep filtering with $or', async () => { + const res = await rq({ + method: 'GET', + url: '/collectors', + qs: { + filters: { + $or: [ + { + cards: { + name: data.card[0].attributes.name, + }, + }, + { + cards: { + name: data.card[1].attributes.name, + }, + }, + ], + }, + }, + }); + + expect(res.body.meta.pagination).toMatchObject({ + ...pagination, + total: 2, + }); + expect(Array.isArray(res.body.data)).toBe(true); + expect(res.body.data.length).toBe(2); + expect(res.body.data[0]).toMatchObject(data.collector[0]); + expect(res.body.data[1]).toMatchObject(data.collector[1]); + }); }); describe('Filter on a self manyWay relation', () => { @@ -150,7 +195,10 @@ describe('Deep Filtering API', () => { filters: { collector_friends: { name: data.collector[0].attributes.name } }, }, }); - + expect(res.body.meta.pagination).toMatchObject({ + ...pagination, + total: 2, + }); expect(Array.isArray(res.body.data)).toBe(true); expect(res.body.data.length).toBe(2); expect(res.body.data).toEqual(expect.arrayContaining(data.collector.slice(1, 3))); @@ -173,7 +221,10 @@ describe('Deep Filtering API', () => { _q: '', }, }); - + expect(res.body.meta.pagination).toMatchObject({ + ...pagination, + total: 2, + }); expect(Array.isArray(res.body.data)).toBe(true); expect(res.body.data.length).toBe(2); expect(res.body.data).toEqual(expect.arrayContaining(data.collector.slice(0, 2))); @@ -193,6 +244,10 @@ describe('Deep Filtering API', () => { }, }); + expect(res.body.meta.pagination).toMatchObject({ + ...pagination, + total: 1, + }); expect(Array.isArray(res.body.data)).toBe(true); expect(res.body.data.length).toBe(1); expect(res.body.data[0]).toMatchObject(data.collector[0]); @@ -214,6 +269,10 @@ describe('Deep Filtering API', () => { }, }); + expect(res.body.meta.pagination).toMatchObject({ + ...pagination, + total: 2, + }); expect(Array.isArray(res.body.data)).toBe(true); expect(res.body.data.length).toBe(2); expect(res.body.data).toEqual(expect.arrayContaining(data.collector.slice(1, 3))); @@ -233,6 +292,10 @@ describe('Deep Filtering API', () => { }, }); + expect(res.body.meta.pagination).toMatchObject({ + ...pagination, + total: 1, + }); expect(Array.isArray(res.body.data)).toBe(true); expect(res.body.data.length).toBe(1); expect(res.body.data[0]).toMatchObject(data.collector[1]); From af7c190b9579d904c5e4896ce5551635298dbfbe Mon Sep 17 00:00:00 2001 From: bashar Date: Wed, 3 Aug 2022 10:43:18 +0300 Subject: [PATCH 05/64] add badgeContent to pluginsSectionsLinks --- .../core/admin/admin/src/components/LeftMenu/index.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/core/admin/admin/src/components/LeftMenu/index.js b/packages/core/admin/admin/src/components/LeftMenu/index.js index 79c21683af..b31ecec897 100644 --- a/packages/core/admin/admin/src/components/LeftMenu/index.js +++ b/packages/core/admin/admin/src/components/LeftMenu/index.js @@ -125,7 +125,13 @@ const LeftMenu = ({ generalSectionLinks, pluginsSectionLinks }) => { const Icon = link.icon; return ( - }> + } + badgeContent={link.badge} + > {formatMessage(link.intlLabel)} ); From 2b576869b673e576adb95796ac1f9b0ecdd60007 Mon Sep 17 00:00:00 2001 From: Bassel Kanso Date: Wed, 3 Aug 2022 12:59:30 +0300 Subject: [PATCH 06/64] only use id when state.count is * --- packages/core/database/lib/query/query-builder.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/core/database/lib/query/query-builder.js b/packages/core/database/lib/query/query-builder.js index 7804d950a6..06f6cdf97f 100644 --- a/packages/core/database/lib/query/query-builder.js +++ b/packages/core/database/lib/query/query-builder.js @@ -301,7 +301,11 @@ const createQueryBuilder = (uid, db) => { break; } case 'count': { - const dbColumnName = this.aliasColumn(helpers.toColumnName(meta, 'id')); + const dbColumnName = + state.count === '*' + ? this.aliasColumn(helpers.toColumnName(meta, 'id')) + : this.aliasColumn(helpers.toColumnName(meta, state.count)); + qb.countDistinct({ count: dbColumnName }); break; } From 9619cf69a379920f2432959bea77f285298cc934 Mon Sep 17 00:00:00 2001 From: Bassel Kanso Date: Wed, 3 Aug 2022 14:46:07 +0300 Subject: [PATCH 07/64] only use countDistinct when needed --- packages/core/database/lib/query/query-builder.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/core/database/lib/query/query-builder.js b/packages/core/database/lib/query/query-builder.js index 06f6cdf97f..4626d0a686 100644 --- a/packages/core/database/lib/query/query-builder.js +++ b/packages/core/database/lib/query/query-builder.js @@ -258,8 +258,8 @@ const createQueryBuilder = (uid, db) => { this.processSelect(); }, - shouldUseDistinct() { - return state.joins.length > 0 && _.isEmpty(state.groupBy); + shouldUseDistinct(numberOfJoins = 0) { + return state.joins.length > numberOfJoins && _.isEmpty(state.groupBy); }, processSelect() { @@ -306,7 +306,11 @@ const createQueryBuilder = (uid, db) => { ? this.aliasColumn(helpers.toColumnName(meta, 'id')) : this.aliasColumn(helpers.toColumnName(meta, state.count)); - qb.countDistinct({ count: dbColumnName }); + if (this.shouldUseDistinct(2)) { + qb.countDistinct({ count: dbColumnName }); + } else { + qb.count({ count: dbColumnName }); + } break; } case 'max': { From 1f41b4ba483ebae3c9c5d9cfb414dd8cf61e2528 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre=20No=C3=ABl?= Date: Tue, 2 Aug 2022 15:34:14 +0200 Subject: [PATCH 08/64] Fix upload of menu logo --- .../__tests__/project-settings.test.js | 2 +- .../admin/server/services/project-settings.js | 2 +- .../tests/admin-project-settings.test.e2e.js | 68 ++++++++++++++++++ .../core/admin/server/tests/utils/logo.png | Bin 0 -> 1059 bytes 4 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 packages/core/admin/server/tests/admin-project-settings.test.e2e.js create mode 100644 packages/core/admin/server/tests/utils/logo.png diff --git a/packages/core/admin/server/services/__tests__/project-settings.test.js b/packages/core/admin/server/services/__tests__/project-settings.test.js index 3612732803..a25251eab2 100644 --- a/packages/core/admin/server/services/__tests__/project-settings.test.js +++ b/packages/core/admin/server/services/__tests__/project-settings.test.js @@ -31,7 +31,7 @@ global.strapi = { }, services: { upload: { - formatFileInfo: () => ({ + formatFileInfo: async () => ({ name: 'filename.png', alternativeText: null, caption: null, diff --git a/packages/core/admin/server/services/project-settings.js b/packages/core/admin/server/services/project-settings.js index 72058cb597..14ae241783 100644 --- a/packages/core/admin/server/services/project-settings.js +++ b/packages/core/admin/server/services/project-settings.js @@ -23,7 +23,7 @@ const parseFilesData = async files => { const getStream = () => fs.createReadStream(file.path); // Add formated data for the upload provider - formatedFilesData[inputName] = strapi + formatedFilesData[inputName] = await strapi .plugin('upload') .service('upload') .formatFileInfo({ diff --git a/packages/core/admin/server/tests/admin-project-settings.test.e2e.js b/packages/core/admin/server/tests/admin-project-settings.test.e2e.js new file mode 100644 index 0000000000..7e2ec9e5f3 --- /dev/null +++ b/packages/core/admin/server/tests/admin-project-settings.test.e2e.js @@ -0,0 +1,68 @@ +'use strict'; + +const fs = require('fs'); +const path = require('path'); + +const { createStrapiInstance } = require('../../../../../test/helpers/strapi'); +const { createAuthRequest } = require('../../../../../test/helpers/request'); + +describe('Project settings', () => { + let rq; + let strapi; + + beforeAll(async () => { + strapi = await createStrapiInstance(); + rq = await createAuthRequest({ strapi }); + }); + + afterAll(async () => { + await strapi.destroy(); + }); + + describe('Menu Logo', () => { + test('Upload a new logo', async () => { + const res = await rq({ + url: '/admin/project-settings', + method: 'POST', + formData: { menuLogo: fs.createReadStream(path.join(__dirname, './utils/logo.png')) }, + }); + + expect(res.status).toBe(200); + + const getRes = await rq({ + url: '/admin/project-settings', + method: 'GET', + }); + + expect(getRes.body).toMatchObject({ + menuLogo: { + ext: '.png', + height: 35, + name: 'logo.png', + size: 1.06, + url: expect.anything(), + width: 35, + }, + }); + }); + + test('Reset to Strapi logo', async () => { + const postRes = await rq({ + url: '/admin/project-settings', + method: 'POST', + formData: { menuLogo: 'null' }, + }); + + expect(postRes.status).toBe(200); + + const getRes = await rq({ + url: '/admin/project-settings', + method: 'GET', + }); + + expect(getRes.body).toMatchObject({ + menuLogo: null, + }); + }); + }); +}); diff --git a/packages/core/admin/server/tests/utils/logo.png b/packages/core/admin/server/tests/utils/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3892dae4c3b960deff1a227ac6355070f6c53bdf GIT binary patch literal 1059 zcmeAS@N?(olHy`uVBq!ia0vp^${@_a1|;QfZjNMNV06uNb`J1#c2)=|%1_J8No8Qr zn3$Z9Ampi|aUwA>A>qVXZB4GC@}Q26o}h&KV+Rf%IC9|hf)fWO&xnb6AR+L8Iph$- z;=qI3vw3BA(%< zm8Zv}mmWDQ_9`5BDBctHrwEqqKM7tc`*#XZOx+Y%IO?|Ns2Mk`gyeB_;mF{r~^}`!^t=2Mniu zM-LP{kY?Cf6<2d}fqEM-T*Fc$JkxxA8MJ_G4hF{dOa>MpixG&WfS7@Sc~Tn#JCGIv zVwVL>a9QOA%m_9}p<}SKrzemOPA*DK%`48xFOgg(cm`lpi<;HsXMd|v6mX?EaW<_dFq)TQlFnEA=*cqGJfR$rNAS^`E7=cS8 zk_5WO(Bjl0=lootg(Y@~c!AoAED6 Date: Sat, 6 Aug 2022 15:19:20 +0200 Subject: [PATCH 09/64] Add missing permissions to webhook triggering endpoint --- packages/core/admin/server/routes/webhooks.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/core/admin/server/routes/webhooks.js b/packages/core/admin/server/routes/webhooks.js index d16f5114f3..e2dfb287be 100644 --- a/packages/core/admin/server/routes/webhooks.js +++ b/packages/core/admin/server/routes/webhooks.js @@ -72,7 +72,10 @@ module.exports = [ path: '/webhooks/:id/trigger', handler: 'webhooks.triggerWebhook', config: { - policies: [], + policies: [ + 'admin::isAuthenticatedAdmin', + { name: 'admin::hasPermissions', config: { actions: ['admin::webhooks.trigger'] } }, + ], }, }, ]; From a3b8324af962bdf42eff7a68ed5b2810d0c52ea2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Aug 2022 09:06:34 +0000 Subject: [PATCH 10/64] Bump @storybook/react from 6.5.9 to 6.5.10 Bumps [@storybook/react](https://github.com/storybookjs/storybook/tree/HEAD/app/react) from 6.5.9 to 6.5.10. - [Release notes](https://github.com/storybookjs/storybook/releases) - [Changelog](https://github.com/storybookjs/storybook/blob/v6.5.10/CHANGELOG.md) - [Commits](https://github.com/storybookjs/storybook/commits/v6.5.10/app/react) --- updated-dependencies: - dependency-name: "@storybook/react" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- examples/admin-development/package.json | 2 +- packages/core/helper-plugin/package.json | 2 +- yarn.lock | 362 ++++++++++++++++------- 3 files changed, 264 insertions(+), 102 deletions(-) diff --git a/examples/admin-development/package.json b/examples/admin-development/package.json index 88a89035f6..1850bdac67 100644 --- a/examples/admin-development/package.json +++ b/examples/admin-development/package.json @@ -28,7 +28,7 @@ "@storybook/addon-essentials": "6.4.10", "@storybook/addon-interactions": "6.4.10", "@storybook/addon-links": "6.4.10", - "@storybook/react": "^6.3.7", + "@storybook/react": "^6.5.10", "@storybook/testing-library": "^0.0.9", "babel-loader": "^8.2.4", "babel-plugin-macros": "3.1.0", diff --git a/packages/core/helper-plugin/package.json b/packages/core/helper-plugin/package.json index f95d47ace4..e5088cdb3f 100644 --- a/packages/core/helper-plugin/package.json +++ b/packages/core/helper-plugin/package.json @@ -73,7 +73,7 @@ "@storybook/addon-links": "6.5.9", "@storybook/builder-webpack5": "6.5.9", "@storybook/manager-webpack5": "6.4.10", - "@storybook/react": "^6.3.7", + "@storybook/react": "^6.5.10", "@strapi/design-system": "1.2.1", "@strapi/icons": "1.2.1", "babel-loader": "^8.2.5", diff --git a/yarn.lock b/yarn.lock index 70da8e0727..df1ca6652b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4855,28 +4855,28 @@ webpack-hot-middleware "^2.25.1" webpack-virtual-modules "^0.2.2" -"@storybook/builder-webpack4@6.5.9": - version "6.5.9" - resolved "https://registry.yarnpkg.com/@storybook/builder-webpack4/-/builder-webpack4-6.5.9.tgz#4b37e1fa23a25aa4bfeaba640e5d318fcd511f95" - integrity sha512-YOeA4++9uRZ8Hog1wC60yjaxBOiI1FRQNtax7b9E7g+kP8UlSCPCGcv4gls9hFmzbzTOPfQTWnToA9Oa6jzRVw== +"@storybook/builder-webpack4@6.5.10": + version "6.5.10" + resolved "https://registry.yarnpkg.com/@storybook/builder-webpack4/-/builder-webpack4-6.5.10.tgz#79e95323577a37349ab3c81193fa249ac5c50173" + integrity sha512-AoKjsCNoQQoZXYwBDxO8s+yVEd5FjBJAaysEuUTHq2fb81jwLrGcEOo6hjw4jqfugZQIzYUEjPazlvubS78zpw== dependencies: "@babel/core" "^7.12.10" - "@storybook/addons" "6.5.9" - "@storybook/api" "6.5.9" - "@storybook/channel-postmessage" "6.5.9" - "@storybook/channels" "6.5.9" - "@storybook/client-api" "6.5.9" - "@storybook/client-logger" "6.5.9" - "@storybook/components" "6.5.9" - "@storybook/core-common" "6.5.9" - "@storybook/core-events" "6.5.9" - "@storybook/node-logger" "6.5.9" - "@storybook/preview-web" "6.5.9" - "@storybook/router" "6.5.9" + "@storybook/addons" "6.5.10" + "@storybook/api" "6.5.10" + "@storybook/channel-postmessage" "6.5.10" + "@storybook/channels" "6.5.10" + "@storybook/client-api" "6.5.10" + "@storybook/client-logger" "6.5.10" + "@storybook/components" "6.5.10" + "@storybook/core-common" "6.5.10" + "@storybook/core-events" "6.5.10" + "@storybook/node-logger" "6.5.10" + "@storybook/preview-web" "6.5.10" + "@storybook/router" "6.5.10" "@storybook/semver" "^7.3.2" - "@storybook/store" "6.5.9" - "@storybook/theming" "6.5.9" - "@storybook/ui" "6.5.9" + "@storybook/store" "6.5.10" + "@storybook/theming" "6.5.10" + "@storybook/ui" "6.5.10" "@types/node" "^14.0.10 || ^16.0.0" "@types/webpack" "^4.41.26" autoprefixer "^9.8.6" @@ -4965,6 +4965,19 @@ qs "^6.10.0" telejson "^5.3.2" +"@storybook/channel-postmessage@6.5.10": + version "6.5.10" + resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-6.5.10.tgz#be8971b4b7f91b664bb2c6965fdfb073d541a03e" + integrity sha512-t9PTA0UzFvYa3IlOfpBOolfrRMPTjUMIeCQ6FNyM0aj5GqLKSvoQzP8NeoRpIrvyf6ljFKKdaMaZ3fiCvh45ag== + dependencies: + "@storybook/channels" "6.5.10" + "@storybook/client-logger" "6.5.10" + "@storybook/core-events" "6.5.10" + core-js "^3.8.2" + global "^4.4.0" + qs "^6.10.0" + telejson "^6.0.8" + "@storybook/channel-postmessage@6.5.9": version "6.5.9" resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-6.5.9.tgz#9cf4530f0364cee0d5e58f92d6fb5ce98e10257b" @@ -4989,13 +5002,13 @@ global "^4.4.0" telejson "^5.3.2" -"@storybook/channel-websocket@6.5.9": - version "6.5.9" - resolved "https://registry.yarnpkg.com/@storybook/channel-websocket/-/channel-websocket-6.5.9.tgz#6b7a0127fec58ee5be4f6aebcf460adc564f2f34" - integrity sha512-xtHvSNwuOhkgALwVshKWsoFhDmuvcosdYfxcfFGEiYKXIu46tRS5ZXmpmgEC/0JAVkVoFj5nL8bV7IY5np6oaA== +"@storybook/channel-websocket@6.5.10": + version "6.5.10" + resolved "https://registry.yarnpkg.com/@storybook/channel-websocket/-/channel-websocket-6.5.10.tgz#bd1316a9b555229b215e5054a76b57c503dd8adc" + integrity sha512-RTXMZbMWCS3xU+4GVIdfnUXsKcwg/WTozy88/5OxaKjGw6KgRedqLAQJKJ6Y5XlnwIcWelirkHj/COwTTXhbPg== dependencies: - "@storybook/channels" "6.5.9" - "@storybook/client-logger" "6.5.9" + "@storybook/channels" "6.5.10" + "@storybook/client-logger" "6.5.10" core-js "^3.8.2" global "^4.4.0" telejson "^6.0.8" @@ -5053,6 +5066,32 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" +"@storybook/client-api@6.5.10": + version "6.5.10" + resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-6.5.10.tgz#0bc3f68ce014ce1ffd560472a893ba04be370f09" + integrity sha512-3wBWZl3NvMFgMovgEh+euiARAT2FXzpvTF4Q1gerGMNNDlrGxHnFvSuy4FHg/irtOGLa4yLz43ULFbYtpKw0Lg== + dependencies: + "@storybook/addons" "6.5.10" + "@storybook/channel-postmessage" "6.5.10" + "@storybook/channels" "6.5.10" + "@storybook/client-logger" "6.5.10" + "@storybook/core-events" "6.5.10" + "@storybook/csf" "0.0.2--canary.4566f4d.1" + "@storybook/store" "6.5.10" + "@types/qs" "^6.9.5" + "@types/webpack-env" "^1.16.0" + core-js "^3.8.2" + fast-deep-equal "^3.1.3" + global "^4.4.0" + lodash "^4.17.21" + memoizerific "^1.11.3" + qs "^6.10.0" + regenerator-runtime "^0.13.7" + store2 "^2.12.0" + synchronous-promise "^2.0.15" + ts-dedent "^2.0.0" + util-deprecate "^1.0.2" + "@storybook/client-api@6.5.9": version "6.5.9" resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-6.5.9.tgz#3e4a8ec1d277fd81325c5d959c553161a85fa182" @@ -5189,21 +5228,21 @@ unfetch "^4.2.0" util-deprecate "^1.0.2" -"@storybook/core-client@6.5.9": - version "6.5.9" - resolved "https://registry.yarnpkg.com/@storybook/core-client/-/core-client-6.5.9.tgz#ea6035d1c90d2c68e860e3cf629979491856cd88" - integrity sha512-LY0QbhShowO+PQx3gao3wdVjpKMH1AaSLmuI95FrcjoMmSXGf96jVLKQp9mJRGeHIsAa93EQBYuCihZycM3Kbg== +"@storybook/core-client@6.5.10": + version "6.5.10" + resolved "https://registry.yarnpkg.com/@storybook/core-client/-/core-client-6.5.10.tgz#90c86923236c8efff33d454a0dc552f6df4346b1" + integrity sha512-THsIjNrOrampTl0Lgfjvfjk1JnktKb4CQLOM80KpQb4cjDqorBjJmErzUkUQ2y3fXvrDmQ/kUREkShET4XEdtA== dependencies: - "@storybook/addons" "6.5.9" - "@storybook/channel-postmessage" "6.5.9" - "@storybook/channel-websocket" "6.5.9" - "@storybook/client-api" "6.5.9" - "@storybook/client-logger" "6.5.9" - "@storybook/core-events" "6.5.9" + "@storybook/addons" "6.5.10" + "@storybook/channel-postmessage" "6.5.10" + "@storybook/channel-websocket" "6.5.10" + "@storybook/client-api" "6.5.10" + "@storybook/client-logger" "6.5.10" + "@storybook/core-events" "6.5.10" "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/preview-web" "6.5.9" - "@storybook/store" "6.5.9" - "@storybook/ui" "6.5.9" + "@storybook/preview-web" "6.5.10" + "@storybook/store" "6.5.10" + "@storybook/ui" "6.5.10" airbnb-js-shims "^2.2.1" ansi-to-html "^0.6.11" core-js "^3.8.2" @@ -5270,6 +5309,62 @@ util-deprecate "^1.0.2" webpack "4" +"@storybook/core-common@6.5.10": + version "6.5.10" + resolved "https://registry.yarnpkg.com/@storybook/core-common/-/core-common-6.5.10.tgz#6b93449548b0890f5c68d89f0ca78e092026182c" + integrity sha512-Bx+VKkfWdrAmD8T51Sjq/mMhRaiapBHcpG4cU5bc3DMbg+LF2/yrgqv/cjVu+m5gHAzYCac5D7gqzBgvG7Myww== + dependencies: + "@babel/core" "^7.12.10" + "@babel/plugin-proposal-class-properties" "^7.12.1" + "@babel/plugin-proposal-decorators" "^7.12.12" + "@babel/plugin-proposal-export-default-from" "^7.12.1" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1" + "@babel/plugin-proposal-object-rest-spread" "^7.12.1" + "@babel/plugin-proposal-optional-chaining" "^7.12.7" + "@babel/plugin-proposal-private-methods" "^7.12.1" + "@babel/plugin-proposal-private-property-in-object" "^7.12.1" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-transform-arrow-functions" "^7.12.1" + "@babel/plugin-transform-block-scoping" "^7.12.12" + "@babel/plugin-transform-classes" "^7.12.1" + "@babel/plugin-transform-destructuring" "^7.12.1" + "@babel/plugin-transform-for-of" "^7.12.1" + "@babel/plugin-transform-parameters" "^7.12.1" + "@babel/plugin-transform-shorthand-properties" "^7.12.1" + "@babel/plugin-transform-spread" "^7.12.1" + "@babel/preset-env" "^7.12.11" + "@babel/preset-react" "^7.12.10" + "@babel/preset-typescript" "^7.12.7" + "@babel/register" "^7.12.1" + "@storybook/node-logger" "6.5.10" + "@storybook/semver" "^7.3.2" + "@types/node" "^14.0.10 || ^16.0.0" + "@types/pretty-hrtime" "^1.0.0" + babel-loader "^8.0.0" + babel-plugin-macros "^3.0.1" + babel-plugin-polyfill-corejs3 "^0.1.0" + chalk "^4.1.0" + core-js "^3.8.2" + express "^4.17.1" + file-system-cache "^1.0.5" + find-up "^5.0.0" + fork-ts-checker-webpack-plugin "^6.0.4" + fs-extra "^9.0.1" + glob "^7.1.6" + handlebars "^4.7.7" + interpret "^2.2.0" + json5 "^2.1.3" + lazy-universal-dotenv "^3.0.1" + picomatch "^2.3.0" + pkg-dir "^5.0.0" + pretty-hrtime "^1.0.3" + resolve-from "^5.0.0" + slash "^3.0.0" + telejson "^6.0.8" + ts-dedent "^2.0.0" + util-deprecate "^1.0.2" + webpack "4" + "@storybook/core-common@6.5.9": version "6.5.9" resolved "https://registry.yarnpkg.com/@storybook/core-common/-/core-common-6.5.9.tgz#7ca8258ea2634b1d64695c1e4262f71cc7457989" @@ -5395,23 +5490,23 @@ webpack "4" ws "^8.2.3" -"@storybook/core-server@6.5.9": - version "6.5.9" - resolved "https://registry.yarnpkg.com/@storybook/core-server/-/core-server-6.5.9.tgz#749a881c1a81d7cf1a69f3782c06a7f0c39a505c" - integrity sha512-YeePGUrd5fQPvGzMhowh124KrcZURFpFXg1VB0Op3ESqCIsInoMZeObci4Gc+binMXC7vcv7aw3EwSLU37qJzQ== +"@storybook/core-server@6.5.10": + version "6.5.10" + resolved "https://registry.yarnpkg.com/@storybook/core-server/-/core-server-6.5.10.tgz#ada3d647833c02cb8c742281c1f314ff866f96f8" + integrity sha512-jqwpA0ccA8X5ck4esWBid04+cEIVqirdAcqJeNb9IZAD+bRreO4Im8ilzr7jc5AmQ9fkqHs2NByFKh9TITp8NQ== dependencies: "@discoveryjs/json-ext" "^0.5.3" - "@storybook/builder-webpack4" "6.5.9" - "@storybook/core-client" "6.5.9" - "@storybook/core-common" "6.5.9" - "@storybook/core-events" "6.5.9" + "@storybook/builder-webpack4" "6.5.10" + "@storybook/core-client" "6.5.10" + "@storybook/core-common" "6.5.10" + "@storybook/core-events" "6.5.10" "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/csf-tools" "6.5.9" - "@storybook/manager-webpack4" "6.5.9" - "@storybook/node-logger" "6.5.9" + "@storybook/csf-tools" "6.5.10" + "@storybook/manager-webpack4" "6.5.10" + "@storybook/node-logger" "6.5.10" "@storybook/semver" "^7.3.2" - "@storybook/store" "6.5.9" - "@storybook/telemetry" "6.5.9" + "@storybook/store" "6.5.10" + "@storybook/telemetry" "6.5.10" "@types/node" "^14.0.10 || ^16.0.0" "@types/node-fetch" "^2.5.7" "@types/pretty-hrtime" "^1.0.0" @@ -5454,13 +5549,13 @@ "@storybook/core-client" "6.4.10" "@storybook/core-server" "6.4.10" -"@storybook/core@6.5.9": - version "6.5.9" - resolved "https://registry.yarnpkg.com/@storybook/core/-/core-6.5.9.tgz#da4f237391d99aed1228323f24b335cafbdf3499" - integrity sha512-Mt3TTQnjQt2/pa60A+bqDsAOrYpohapdtt4DDZEbS8h0V6u11KyYYh3w7FCySlL+sPEyogj63l5Ec76Jah3l2w== +"@storybook/core@6.5.10": + version "6.5.10" + resolved "https://registry.yarnpkg.com/@storybook/core/-/core-6.5.10.tgz#15ec8be85943251e25c2c24e80e20dcacc4fed65" + integrity sha512-K86yYa0tYlMxADlwQTculYvPROokQau09SCVqpsLg3wJCTvYFL4+SIqcYoyBSbFmHOdnYbJgPydjN33MYLiOZQ== dependencies: - "@storybook/core-client" "6.5.9" - "@storybook/core-server" "6.5.9" + "@storybook/core-client" "6.5.10" + "@storybook/core-server" "6.5.10" "@storybook/csf-tools@6.4.10": version "6.4.10" @@ -5485,10 +5580,10 @@ regenerator-runtime "^0.13.7" ts-dedent "^2.0.0" -"@storybook/csf-tools@6.5.9": - version "6.5.9" - resolved "https://registry.yarnpkg.com/@storybook/csf-tools/-/csf-tools-6.5.9.tgz#8e01df2305b53e228229f0b45ada3720e6e42a1c" - integrity sha512-RAdhsO2XmEDyWy0qNQvdKMLeIZAuyfD+tYlUwBHRU6DbByDucvwgMOGy5dF97YNJFmyo93EUYJzXjUrJs3U1LQ== +"@storybook/csf-tools@6.5.10": + version "6.5.10" + resolved "https://registry.yarnpkg.com/@storybook/csf-tools/-/csf-tools-6.5.10.tgz#ae6f1ebd4951e8978c8fe3e08ddd2bd269bf922b" + integrity sha512-H77kZQEisu7+skzeIbNZwmE09OqLjwJTeFhLN1pcjxKVa30LEI3pBHcNBxVKqgxl+Yg3KkB7W/ArLO2N+i2ohw== dependencies: "@babel/core" "^7.12.10" "@babel/generator" "^7.12.11" @@ -5519,6 +5614,19 @@ dependencies: lodash "^4.17.15" +"@storybook/docs-tools@6.5.10": + version "6.5.10" + resolved "https://registry.yarnpkg.com/@storybook/docs-tools/-/docs-tools-6.5.10.tgz#30baa62c1ca3a18b13625b6b305e23e39f404416" + integrity sha512-/bvYgOO+CxMEcHifkjJg0A60OTGOhcjGxnsB1h0gJuxMrqA/7Qwc108bFmPiX0eiD1BovFkZLJV4O6OY7zP5Vw== + dependencies: + "@babel/core" "^7.12.10" + "@storybook/csf" "0.0.2--canary.4566f4d.1" + "@storybook/store" "6.5.10" + core-js "^3.8.2" + doctrine "^3.0.0" + lodash "^4.17.21" + regenerator-runtime "^0.13.7" + "@storybook/docs-tools@6.5.9": version "6.5.9" resolved "https://registry.yarnpkg.com/@storybook/docs-tools/-/docs-tools-6.5.9.tgz#5ff304f881e972ce14923a5ffcfed3f052094889" @@ -5595,20 +5703,20 @@ webpack-dev-middleware "^3.7.3" webpack-virtual-modules "^0.2.2" -"@storybook/manager-webpack4@6.5.9": - version "6.5.9" - resolved "https://registry.yarnpkg.com/@storybook/manager-webpack4/-/manager-webpack4-6.5.9.tgz#c75d2cced4550c8a786f00b0e57b203d613e706c" - integrity sha512-49LZlHqWc7zj9tQfOOANixPYmLxqWTTZceA6DSXnKd9xDiO2Gl23Y+l/CSPXNZGDB8QFAwpimwqyKJj/NLH45A== +"@storybook/manager-webpack4@6.5.10": + version "6.5.10" + resolved "https://registry.yarnpkg.com/@storybook/manager-webpack4/-/manager-webpack4-6.5.10.tgz#41bae252b863484f293954ef2d2dc80bf3e028f1" + integrity sha512-N/TlNDhuhARuFipR/ZJ/xEVESz23iIbCsZ4VNehLHm8PpiGlQUehk+jMjWmz5XV0bJItwjRclY+CU3GjZKblfQ== dependencies: "@babel/core" "^7.12.10" "@babel/plugin-transform-template-literals" "^7.12.1" "@babel/preset-react" "^7.12.10" - "@storybook/addons" "6.5.9" - "@storybook/core-client" "6.5.9" - "@storybook/core-common" "6.5.9" - "@storybook/node-logger" "6.5.9" - "@storybook/theming" "6.5.9" - "@storybook/ui" "6.5.9" + "@storybook/addons" "6.5.10" + "@storybook/core-client" "6.5.10" + "@storybook/core-common" "6.5.10" + "@storybook/node-logger" "6.5.10" + "@storybook/theming" "6.5.10" + "@storybook/ui" "6.5.10" "@types/node" "^14.0.10 || ^16.0.0" "@types/webpack" "^4.41.26" babel-loader "^8.0.0" @@ -5702,6 +5810,17 @@ npmlog "^5.0.1" pretty-hrtime "^1.0.3" +"@storybook/node-logger@6.5.10": + version "6.5.10" + resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-6.5.10.tgz#bce4c04009c4b62d6d2fb617176d7ef0084e9e89" + integrity sha512-bYswXIKV7Stru8vYfkjUMNN8UhF7Qg7NRsUvG5Djt5lLIae1XmUIgnH40mU/nW4X4BSfcR9MKxsSsngvn2WmQg== + dependencies: + "@types/npmlog" "^4.1.2" + chalk "^4.1.0" + core-js "^3.8.2" + npmlog "^5.0.1" + pretty-hrtime "^1.0.3" + "@storybook/node-logger@6.5.9": version "6.5.9" resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-6.5.9.tgz#129cfe0d0f79cab4f6a2ba194d39516680b1626f" @@ -5749,6 +5868,28 @@ unfetch "^4.2.0" util-deprecate "^1.0.2" +"@storybook/preview-web@6.5.10": + version "6.5.10" + resolved "https://registry.yarnpkg.com/@storybook/preview-web/-/preview-web-6.5.10.tgz#81bf5d3f5fca9e26099c057206bd8e684225989b" + integrity sha512-sTC/o5gkvALOtcNgtApGKGN9EavvSxRHBeBh+5BQjV2qQ8ap+26RsfUizNBECAa2Jrn4osaDYn9HRhJLFL69WA== + dependencies: + "@storybook/addons" "6.5.10" + "@storybook/channel-postmessage" "6.5.10" + "@storybook/client-logger" "6.5.10" + "@storybook/core-events" "6.5.10" + "@storybook/csf" "0.0.2--canary.4566f4d.1" + "@storybook/store" "6.5.10" + ansi-to-html "^0.6.11" + core-js "^3.8.2" + global "^4.4.0" + lodash "^4.17.21" + qs "^6.10.0" + regenerator-runtime "^0.13.7" + synchronous-promise "^2.0.15" + ts-dedent "^2.0.0" + unfetch "^4.2.0" + util-deprecate "^1.0.2" + "@storybook/preview-web@6.5.9": version "6.5.9" resolved "https://registry.yarnpkg.com/@storybook/preview-web/-/preview-web-6.5.9.tgz#557d919e6df50d66259521aa36ebf4055bbd236e" @@ -5784,24 +5925,24 @@ react-docgen-typescript "^2.1.1" tslib "^2.0.0" -"@storybook/react@^6.3.7": - version "6.5.9" - resolved "https://registry.yarnpkg.com/@storybook/react/-/react-6.5.9.tgz#687ec1f6b785822a392b7ac115b61800f69fb7cd" - integrity sha512-Rp+QaTQAzxJhwuzJXVd49mnIBLQRlF8llTxPT2YoGHdrGkku/zl/HblQ6H2yzEf15367VyzaAv/BpLsO9Jlfxg== +"@storybook/react@^6.5.10": + version "6.5.10" + resolved "https://registry.yarnpkg.com/@storybook/react/-/react-6.5.10.tgz#6e9f5cf5e4c81d966774c08c87fb2414052db454" + integrity sha512-m8S1qQrwA7pDGwdKEvL6LV3YKvSzVUY297Fq+xcTU3irnAy4sHDuFoLqV6Mi1510mErK1r8+rf+0R5rEXB219g== dependencies: "@babel/preset-flow" "^7.12.1" "@babel/preset-react" "^7.12.10" "@pmmmwh/react-refresh-webpack-plugin" "^0.5.3" - "@storybook/addons" "6.5.9" - "@storybook/client-logger" "6.5.9" - "@storybook/core" "6.5.9" - "@storybook/core-common" "6.5.9" + "@storybook/addons" "6.5.10" + "@storybook/client-logger" "6.5.10" + "@storybook/core" "6.5.10" + "@storybook/core-common" "6.5.10" "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/docs-tools" "6.5.9" - "@storybook/node-logger" "6.5.9" + "@storybook/docs-tools" "6.5.10" + "@storybook/node-logger" "6.5.10" "@storybook/react-docgen-typescript-plugin" "1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0" "@storybook/semver" "^7.3.2" - "@storybook/store" "6.5.9" + "@storybook/store" "6.5.10" "@types/estree" "^0.0.51" "@types/node" "^14.14.20 || ^16.0.0" "@types/webpack-env" "^1.16.0" @@ -5925,6 +6066,27 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" +"@storybook/store@6.5.10": + version "6.5.10" + resolved "https://registry.yarnpkg.com/@storybook/store/-/store-6.5.10.tgz#85df17a8d57af0cba3934b3c6046537e2bca9abd" + integrity sha512-RswrSYh2IiKkytFPxP9AvP+hekjrvHK2ILvyDk2ZgduCN4n5ivsekOb+N3M2t+dq1eLuW9or5n2T4OWwAwjxxQ== + dependencies: + "@storybook/addons" "6.5.10" + "@storybook/client-logger" "6.5.10" + "@storybook/core-events" "6.5.10" + "@storybook/csf" "0.0.2--canary.4566f4d.1" + core-js "^3.8.2" + fast-deep-equal "^3.1.3" + global "^4.4.0" + lodash "^4.17.21" + memoizerific "^1.11.3" + regenerator-runtime "^0.13.7" + slash "^3.0.0" + stable "^0.1.8" + synchronous-promise "^2.0.15" + ts-dedent "^2.0.0" + util-deprecate "^1.0.2" + "@storybook/store@6.5.9": version "6.5.9" resolved "https://registry.yarnpkg.com/@storybook/store/-/store-6.5.9.tgz#dc9963fc013636569082bd8f7200804866373735" @@ -5946,13 +6108,13 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/telemetry@6.5.9": - version "6.5.9" - resolved "https://registry.yarnpkg.com/@storybook/telemetry/-/telemetry-6.5.9.tgz#8e1e0d4a89fc2387620045e5ea96c109d16a7247" - integrity sha512-JluoHCRhHAr4X0eUNVBSBi1JIBA92404Tu1TPdbN7x6gCZxHXXPTSUTAnspXp/21cTdMhY2x+kfZQ8fmlGK4MQ== +"@storybook/telemetry@6.5.10": + version "6.5.10" + resolved "https://registry.yarnpkg.com/@storybook/telemetry/-/telemetry-6.5.10.tgz#742b05a55dfe8470ce4cb371f3f3f2c02f96e816" + integrity sha512-+M5HILDFS8nDumLxeSeAwi1MTzIuV6UWzV4yB2wcsEXOBTdplcl9oYqFKtlst78oOIdGtpPYxYfivDlqxC2K4g== dependencies: - "@storybook/client-logger" "6.5.9" - "@storybook/core-common" "6.5.9" + "@storybook/client-logger" "6.5.10" + "@storybook/core-common" "6.5.10" chalk "^4.1.0" core-js "^3.8.2" detect-package-manager "^2.0.1" @@ -6047,20 +6209,20 @@ resolve-from "^5.0.0" store2 "^2.12.0" -"@storybook/ui@6.5.9": - version "6.5.9" - resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-6.5.9.tgz#41e59279323cccc0d613974ec9782d797220c8a7" - integrity sha512-ryuPxJgtbb0gPXKGgGAUC+Z185xGAd1IvQ0jM5fJ0SisHXI8jteG3RaWhntOehi9qCg+64Vv6eH/cj9QYNHt1Q== +"@storybook/ui@6.5.10": + version "6.5.10" + resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-6.5.10.tgz#f56095a1a39ae5a203f2ac7f3dba86341a5927d5" + integrity sha512-6iaoaRAiTqB1inTw35vao+5hjcDE0Qa0A3a9ZIeNa6yHvpB1k0lO/N/0PMrRdVvySYpXVD1iry4z4QYdo1rU+w== dependencies: - "@storybook/addons" "6.5.9" - "@storybook/api" "6.5.9" - "@storybook/channels" "6.5.9" - "@storybook/client-logger" "6.5.9" - "@storybook/components" "6.5.9" - "@storybook/core-events" "6.5.9" - "@storybook/router" "6.5.9" + "@storybook/addons" "6.5.10" + "@storybook/api" "6.5.10" + "@storybook/channels" "6.5.10" + "@storybook/client-logger" "6.5.10" + "@storybook/components" "6.5.10" + "@storybook/core-events" "6.5.10" + "@storybook/router" "6.5.10" "@storybook/semver" "^7.3.2" - "@storybook/theming" "6.5.9" + "@storybook/theming" "6.5.10" core-js "^3.8.2" memoizerific "^1.11.3" qs "^6.10.0" From bbdd78ff4312066a70ac3d9574c8bd3701e9a195 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Aug 2022 10:06:17 +0000 Subject: [PATCH 11/64] Bump @testing-library/jest-dom from 5.16.4 to 5.16.5 Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 5.16.4 to 5.16.5. - [Release notes](https://github.com/testing-library/jest-dom/releases) - [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md) - [Commits](https://github.com/testing-library/jest-dom/compare/v5.16.4...v5.16.5) --- updated-dependencies: - dependency-name: "@testing-library/jest-dom" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/admin-test-utils/package.json | 2 +- yarn.lock | 41 +++++++------------------- 2 files changed, 12 insertions(+), 31 deletions(-) diff --git a/packages/admin-test-utils/package.json b/packages/admin-test-utils/package.json index 596856b69c..37f8962df9 100644 --- a/packages/admin-test-utils/package.json +++ b/packages/admin-test-utils/package.json @@ -21,7 +21,7 @@ "@babel/polyfill": "7.12.1" }, "devDependencies": { - "@testing-library/jest-dom": "5.16.4", + "@testing-library/jest-dom": "5.16.5", "jest-styled-components": "7.0.2" }, "scripts": { diff --git a/yarn.lock b/yarn.lock index 70da8e0727..7c227e089b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -33,6 +33,11 @@ dependencies: tunnel "^0.0.6" +"@adobe/css-tools@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.0.1.tgz#b38b444ad3aa5fedbb15f2f746dcd934226a12dd" + integrity sha512-+u76oB43nOHrF4DDWRLWDCtci7f3QJoEBigemIdIeTi1ODqjx6Tad9NCVnPRwewWlKkVab5PlK8DCtPTyX7S8g== + "@ampproject/remapping@^2.1.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" @@ -1877,20 +1882,13 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@7.18.9", "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.5", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.8", "@babel/runtime@^7.15.4", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.9", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": +"@babel/runtime@7.18.9", "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.5", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.8", "@babel/runtime@^7.15.4", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.9.tgz#b4fcfce55db3d2e5e080d2490f608a3b9f407f4a" integrity sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw== dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.18.3": - version "7.18.3" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.3.tgz#c7b654b57f6f63cf7f8b418ac9ca04408c4579f4" - integrity sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug== - dependencies: - regenerator-runtime "^0.13.4" - "@babel/template@7.18.10", "@babel/template@^7.12.7", "@babel/template@^7.16.7", "@babel/template@^7.18.10", "@babel/template@^7.18.6", "@babel/template@^7.3.3": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" @@ -6641,16 +6639,16 @@ lz-string "^1.4.4" pretty-format "^27.0.2" -"@testing-library/jest-dom@5.16.4": - version "5.16.4" - resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.16.4.tgz#938302d7b8b483963a3ae821f1c0808f872245cd" - integrity sha512-Gy+IoFutbMQcky0k+bqqumXZ1cTGswLsFqmNLzNdSKkU9KGV2u9oXhukCbbJ9/LRPKiqwxEE8VpV/+YZlfkPUA== +"@testing-library/jest-dom@5.16.5": + version "5.16.5" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz#3912846af19a29b2dbf32a6ae9c31ef52580074e" + integrity sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA== dependencies: + "@adobe/css-tools" "^4.0.1" "@babel/runtime" "^7.9.2" "@types/testing-library__jest-dom" "^5.9.1" aria-query "^5.0.0" chalk "^3.0.0" - css "^3.0.0" css.escape "^1.5.1" dom-accessibility-api "^0.5.6" lodash "^4.17.15" @@ -10926,15 +10924,6 @@ css@^2.2.4: source-map-resolve "^0.5.2" urix "^0.1.0" -css@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/css/-/css-3.0.0.tgz#4447a4d58fdd03367c516ca9f64ae365cee4aa5d" - integrity sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ== - dependencies: - inherits "^2.0.4" - source-map "^0.6.1" - source-map-resolve "^0.6.0" - cssesc@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" @@ -22817,14 +22806,6 @@ source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: source-map-url "^0.4.0" urix "^0.1.0" -source-map-resolve@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.6.0.tgz#3d9df87e236b53f16d01e58150fc7711138e5ed2" - integrity sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - source-map-support@^0.5.16, source-map-support@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" From 7b330a3648db492d6cf4c3cb7179c87dc2c0dd30 Mon Sep 17 00:00:00 2001 From: Alexandre Bodin Date: Mon, 8 Aug 2022 12:12:24 +0200 Subject: [PATCH 12/64] Remove admin-development example for the time being --- examples/admin-development/.babelrc.json | 61 -- examples/admin-development/.storybook/main.js | 15 - .../admin-development/.storybook/preview.js | 27 - .../Introduction.stories.mdx | 9 - examples/admin-development/package.json | 42 - yarn.lock | 998 ++---------------- 6 files changed, 105 insertions(+), 1047 deletions(-) delete mode 100644 examples/admin-development/.babelrc.json delete mode 100644 examples/admin-development/.storybook/main.js delete mode 100644 examples/admin-development/.storybook/preview.js delete mode 100644 examples/admin-development/Introduction.stories.mdx delete mode 100644 examples/admin-development/package.json diff --git a/examples/admin-development/.babelrc.json b/examples/admin-development/.babelrc.json deleted file mode 100644 index f74d02d9a9..0000000000 --- a/examples/admin-development/.babelrc.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "sourceType": "unambiguous", - "presets": [ - [ - "@babel/preset-env", - { - "shippedProposals": true, - "loose": true - } - ], - "@babel/preset-typescript" - ], - "plugins": [ - "@babel/plugin-transform-shorthand-properties", - "@babel/plugin-transform-block-scoping", - [ - "@babel/plugin-proposal-decorators", - { - "legacy": true - } - ], - [ - "@babel/plugin-proposal-class-properties", - { - "loose": true - } - ], - [ - "@babel/plugin-proposal-private-methods", - { - "loose": true - } - ], - "@babel/plugin-proposal-export-default-from", - "@babel/plugin-syntax-dynamic-import", - [ - "@babel/plugin-proposal-object-rest-spread", - { - "loose": true, - "useBuiltIns": true - } - ], - "@babel/plugin-transform-classes", - "@babel/plugin-transform-arrow-functions", - "@babel/plugin-transform-parameters", - "@babel/plugin-transform-destructuring", - "@babel/plugin-transform-spread", - "@babel/plugin-transform-for-of", - "babel-plugin-macros", - "@babel/plugin-proposal-optional-chaining", - "@babel/plugin-proposal-nullish-coalescing-operator", - [ - "babel-plugin-polyfill-corejs3", - { - "method": "usage-global", - "absoluteImports": "core-js", - "version": "3.21.1" - } - ] - ] -} \ No newline at end of file diff --git a/examples/admin-development/.storybook/main.js b/examples/admin-development/.storybook/main.js deleted file mode 100644 index dbb668475c..0000000000 --- a/examples/admin-development/.storybook/main.js +++ /dev/null @@ -1,15 +0,0 @@ -module.exports = { - stories: [ - '../*.stories.mdx', - '../../../packages/core/**/admin/src/**/*.stories.mdx', - '../../../packages/core/**/admin/src/**/*.stories.@(js|jsx|ts|tsx)', - '../../../packages/plugins/**/admin/src/**/*.stories.mdx', - '../../../packages/plugins/**/admin/src/**/*.stories.@(js|jsx|ts|tsx)', - ], - addons: [ - '@storybook/addon-links', - '@storybook/addon-essentials', - '@storybook/addon-interactions', - ], - framework: '@storybook/react', -}; diff --git a/examples/admin-development/.storybook/preview.js b/examples/admin-development/.storybook/preview.js deleted file mode 100644 index 30ed0621df..0000000000 --- a/examples/admin-development/.storybook/preview.js +++ /dev/null @@ -1,27 +0,0 @@ -import { ThemeProvider, lightTheme } from '@strapi/design-system'; -import { IntlProvider } from 'react-intl'; -import { MemoryRouter } from 'react-router-dom'; - -export const parameters = { - actions: { argTypesRegex: '^on[A-Z].*' }, - controls: { - matchers: { - color: /(background|color)$/i, - date: /Date$/, - }, - }, -}; - -export const decorators = [ - Story => ( - - - -
- -
-
-
-
- ), -]; diff --git a/examples/admin-development/Introduction.stories.mdx b/examples/admin-development/Introduction.stories.mdx deleted file mode 100644 index e46c3fed50..0000000000 --- a/examples/admin-development/Introduction.stories.mdx +++ /dev/null @@ -1,9 +0,0 @@ -import { Meta } from '@storybook/addon-docs'; - - - -# Welcome to the documentation - -Use this app to develop local components in plugins. - -To do so just create a story in your plugins `./admin/src` folder diff --git a/examples/admin-development/package.json b/examples/admin-development/package.json deleted file mode 100644 index 88a89035f6..0000000000 --- a/examples/admin-development/package.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "admin-development", - "version": "4.3.2", - "main": "index.js", - "license": "MIT", - "private": true, - "devDependencies": { - "@babel/core": "7.18.10", - "@babel/plugin-proposal-class-properties": "7.16.7", - "@babel/plugin-proposal-decorators": "7.16.7", - "@babel/plugin-proposal-export-default-from": "7.16.7", - "@babel/plugin-proposal-nullish-coalescing-operator": "7.16.7", - "@babel/plugin-proposal-object-rest-spread": "7.16.7", - "@babel/plugin-proposal-optional-chaining": "7.18.9", - "@babel/plugin-proposal-private-methods": "7.16.7", - "@babel/plugin-syntax-dynamic-import": "7.8.3", - "@babel/plugin-transform-arrow-functions": "7.16.7", - "@babel/plugin-transform-block-scoping": "7.16.7", - "@babel/plugin-transform-classes": "7.16.7", - "@babel/plugin-transform-destructuring": "7.17.7", - "@babel/plugin-transform-for-of": "7.16.7", - "@babel/plugin-transform-parameters": "7.16.7", - "@babel/plugin-transform-shorthand-properties": "7.16.7", - "@babel/plugin-transform-spread": "7.16.7", - "@babel/preset-env": "7.18.10", - "@babel/preset-typescript": "7.16.7", - "@storybook/addon-actions": "6.5.10", - "@storybook/addon-essentials": "6.4.10", - "@storybook/addon-interactions": "6.4.10", - "@storybook/addon-links": "6.4.10", - "@storybook/react": "^6.3.7", - "@storybook/testing-library": "^0.0.9", - "babel-loader": "^8.2.4", - "babel-plugin-macros": "3.1.0", - "babel-plugin-polyfill-corejs3": "0.5.2", - "core-js": "3.21.1" - }, - "scripts": { - "storybook": "start-storybook -p 6007", - "build-storybook": "build-storybook" - } -} diff --git a/yarn.lock b/yarn.lock index 060f5ae42a..89fbd8766c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -140,13 +140,6 @@ "@nicolo-ribaudo/chokidar-2" "2.1.8-no-fsevents.3" chokidar "^3.4.0" -"@babel/code-frame@7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" - integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== - dependencies: - "@babel/highlight" "^7.10.4" - "@babel/code-frame@7.12.11": version "7.12.11" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" @@ -334,7 +327,7 @@ "@babel/helper-replace-supers" "^7.16.7" "@babel/helper-split-export-declaration" "^7.16.7" -"@babel/helper-create-class-features-plugin@^7.18.0", "@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.18.9": +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz#d802ee16a64a9e824fcbf0a2ffc92f19d58550ce" integrity sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw== @@ -413,7 +406,7 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-function-name@^7.16.7", "@babel/helper-function-name@^7.17.9", "@babel/helper-function-name@^7.18.9": +"@babel/helper-function-name@^7.17.9", "@babel/helper-function-name@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz#940e6084a55dee867d33b4e487da2676365e86b0" integrity sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A== @@ -681,15 +674,6 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-proposal-decorators@7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.16.7.tgz#922907d2e3e327f5b07d2246bcfc0bd438f360d2" - integrity sha512-DoEpnuXK14XV9btI1k8tzNGCutMclpj4yru8aXKoHlVmbO1s+2A+g2+h4JhcjrxkFJqzbymnLG6j/niOf3iFXQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-decorators" "^7.16.7" - "@babel/plugin-proposal-decorators@^7.12.12": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.18.10.tgz#788650d01e518a8a722eb8b3055dd9d73ecb7a35" @@ -709,14 +693,6 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-proposal-export-default-from@7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.16.7.tgz#a40ab158ca55627b71c5513f03d3469026a9e929" - integrity sha512-+cENpW1rgIjExn+o5c8Jw/4BuH4eGKKYvkMB8/0ZxFQ9mC0t4z09VsPIwNg6waF69QYC81zxGeAsREGuqQoKeg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-export-default-from" "^7.16.7" - "@babel/plugin-proposal-export-default-from@7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.18.6.tgz#121b3ba0152d0020865bc86271c8150e5115abc7" @@ -773,14 +749,6 @@ "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-proposal-nullish-coalescing-operator@7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz#141fc20b6857e59459d430c850a0011e36561d99" - integrity sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1", "@babel/plugin-proposal-nullish-coalescing-operator@^7.16.7", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" @@ -814,17 +782,6 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.0" "@babel/plugin-transform-parameters" "^7.12.1" -"@babel/plugin-proposal-object-rest-spread@7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz#94593ef1ddf37021a25bdcb5754c4a8d534b01d8" - integrity sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA== - dependencies: - "@babel/compat-data" "^7.16.4" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.16.7" - "@babel/plugin-proposal-object-rest-spread@^7.12.1", "@babel/plugin-proposal-object-rest-spread@^7.16.7", "@babel/plugin-proposal-object-rest-spread@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz#f9434f6beb2c8cae9dfcf97d2a5941bbbf9ad4e7" @@ -852,7 +809,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@7.18.9", "@babel/plugin-proposal-optional-chaining@^7.12.7", "@babel/plugin-proposal-optional-chaining@^7.16.7", "@babel/plugin-proposal-optional-chaining@^7.18.9": +"@babel/plugin-proposal-optional-chaining@^7.12.7", "@babel/plugin-proposal-optional-chaining@^7.16.7", "@babel/plugin-proposal-optional-chaining@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz#e8e8fe0723f2563960e4bf5e9690933691915993" integrity sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w== @@ -861,14 +818,6 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-methods@7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.7.tgz#e418e3aa6f86edd6d327ce84eff188e479f571e0" - integrity sha512-7twV3pzhrRxSwHeIvFE6coPgvo+exNDOiGUMg39o2LiLo1Y+4aKpfkcLGcg1UHonzorCt7SNXnoMyCnnIOA8Sw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-proposal-private-methods@^7.12.1": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.17.12.tgz#c2ca3a80beb7539289938da005ad525a038a819c" @@ -947,7 +896,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-decorators@^7.16.7", "@babel/plugin-syntax-decorators@^7.18.6": +"@babel/plugin-syntax-decorators@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.18.6.tgz#2e45af22835d0b0f8665da2bfd4463649ce5dbc1" integrity sha512-fqyLgjcxf/1yhyZ6A+yo1u9gJ7eleFQod2lkaUsF9DQ7sbbY3Ligym3L0+I2c0WmqNKDpoD9UTb1AKP3qRMOAQ== @@ -961,7 +910,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-export-default-from@^7.16.7", "@babel/plugin-syntax-export-default-from@^7.18.6": +"@babel/plugin-syntax-export-default-from@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.18.6.tgz#8df076711a4818c4ce4f23e61d622b0ba2ff84bc" integrity sha512-Kr//z3ujSVNx6E9z9ih5xXXMqK07VVTuqPmqGe6Mss/zW5XPeLZeSDZoP9ab/hT4wPKqAgjl2PnhPrcpk8Seew== @@ -1080,20 +1029,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.17.12", "@babel/plugin-syntax-typescript@^7.18.6": +"@babel/plugin-syntax-typescript@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz#1c09cd25795c7c2b8a4ba9ae49394576d4133285" integrity sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-arrow-functions@7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz#44125e653d94b98db76369de9c396dc14bef4154" - integrity sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-transform-arrow-functions@^7.12.1": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.17.12.tgz#dddd783b473b1b1537ef46423e3944ff24898c45" @@ -1140,13 +1082,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-block-scoping@7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz#f50664ab99ddeaee5bc681b8f3a6ea9d72ab4f87" - integrity sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-transform-block-scoping@^7.12.12", "@babel/plugin-transform-block-scoping@^7.16.7", "@babel/plugin-transform-block-scoping@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz#f9b7e018ac3f373c81452d6ada8bd5a18928926d" @@ -1154,20 +1089,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-classes@7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz#8f4b9562850cd973de3b498f1218796eb181ce00" - integrity sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - globals "^11.1.0" - "@babel/plugin-transform-classes@^7.12.1", "@babel/plugin-transform-classes@^7.16.7", "@babel/plugin-transform-classes@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz#90818efc5b9746879b869d5ce83eb2aa48bbc3da" @@ -1196,13 +1117,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-destructuring@7.17.7", "@babel/plugin-transform-destructuring@^7.16.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz#49dc2675a7afa9a5e4c6bdee636061136c3408d1" - integrity sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-transform-destructuring@^7.12.1": version "7.18.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.0.tgz#dc4f92587e291b4daa78aa20cc2d7a63aa11e858" @@ -1210,6 +1124,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.17.12" +"@babel/plugin-transform-destructuring@^7.16.7": + version "7.17.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz#49dc2675a7afa9a5e4c6bdee636061136c3408d1" + integrity sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-transform-destructuring@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz#68906549c021cb231bee1db21d3b5b095f8ee292" @@ -1264,13 +1185,6 @@ "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-syntax-flow" "^7.18.6" -"@babel/plugin-transform-for-of@7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz#649d639d4617dff502a9a158c479b3b556728d8c" - integrity sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-transform-for-of@^7.12.1": version "7.18.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.1.tgz#ed14b657e162b72afbbb2b4cdad277bf2bb32036" @@ -1406,13 +1320,6 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-replace-supers" "^7.18.6" -"@babel/plugin-transform-parameters@7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz#a1721f55b99b736511cb7e0152f61f17688f331f" - integrity sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.16.7", "@babel/plugin-transform-parameters@^7.18.8": version "7.18.8" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz#ee9f1a0ce6d78af58d0956a9378ea3427cccb48a" @@ -1513,7 +1420,7 @@ babel-plugin-polyfill-regenerator "^0.4.0" semver "^6.3.0" -"@babel/plugin-transform-shorthand-properties@7.16.7", "@babel/plugin-transform-shorthand-properties@^7.12.1", "@babel/plugin-transform-shorthand-properties@^7.16.7": +"@babel/plugin-transform-shorthand-properties@^7.12.1", "@babel/plugin-transform-shorthand-properties@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a" integrity sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg== @@ -1527,14 +1434,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-spread@7.16.7", "@babel/plugin-transform-spread@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz#a303e2122f9f12e0105daeedd0f30fb197d8ff44" - integrity sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - "@babel/plugin-transform-spread@^7.12.1": version "7.17.12" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.17.12.tgz#c112cad3064299f03ea32afed1d659223935d1f5" @@ -1543,6 +1442,14 @@ "@babel/helper-plugin-utils" "^7.17.12" "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" +"@babel/plugin-transform-spread@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz#a303e2122f9f12e0105daeedd0f30fb197d8ff44" + integrity sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + "@babel/plugin-transform-spread@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz#6ea7a6297740f381c540ac56caf75b05b74fb664" @@ -1579,15 +1486,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-typescript@^7.16.7": - version "7.18.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.18.4.tgz#587eaf6a39edb8c06215e550dc939faeadd750bf" - integrity sha512-l4vHuSLUajptpHNEOUDEGsnpl9pfRLsN1XUoDQDD/YBuXTM+v37SHGS+c6n4jdcZy96QtuUuSvZYMLSSsjH8Mw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.0" - "@babel/helper-plugin-utils" "^7.17.12" - "@babel/plugin-syntax-typescript" "^7.17.12" - "@babel/plugin-transform-typescript@^7.18.6": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.18.10.tgz#b23401b32f1f079396bcaed01667a54ebe4f9f85" @@ -1833,15 +1731,6 @@ "@babel/plugin-transform-react-jsx-development" "^7.18.6" "@babel/plugin-transform-react-pure-annotations" "^7.18.6" -"@babel/preset-typescript@7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz#ab114d68bb2020afc069cd51b37ff98a046a70b9" - integrity sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-validator-option" "^7.16.7" - "@babel/plugin-transform-typescript" "^7.16.7" - "@babel/preset-typescript@^7.12.7": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz#ce64be3e63eddc44240c6358daefac17b3186399" @@ -3534,16 +3423,7 @@ npmlog "^6.0.2" write-file-atomic "^3.0.3" -"@mdx-js/loader@^1.6.22": - version "1.6.22" - resolved "https://registry.yarnpkg.com/@mdx-js/loader/-/loader-1.6.22.tgz#d9e8fe7f8185ff13c9c8639c048b123e30d322c4" - integrity sha512-9CjGwy595NaxAYp0hF9B/A0lH6C8Rms97e2JS9d3jVUtILn6pT5i5IV965ra3lIWc7Rs1GG1tBdVF7dCowYe6Q== - dependencies: - "@mdx-js/mdx" "1.6.22" - "@mdx-js/react" "1.6.22" - loader-utils "2.0.0" - -"@mdx-js/mdx@1.6.22", "@mdx-js/mdx@^1.6.22": +"@mdx-js/mdx@^1.6.22": version "1.6.22" resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-1.6.22.tgz#8a723157bf90e78f17dc0f27995398e6c731f1ba" integrity sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA== @@ -3568,7 +3448,7 @@ unist-builder "2.0.3" unist-util-visit "2.0.3" -"@mdx-js/react@1.6.22", "@mdx-js/react@^1.6.22": +"@mdx-js/react@^1.6.22": version "1.6.22" resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-1.6.22.tgz#ae09b4744fddc74714ee9f9d6f17a66e77c43573" integrity sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg== @@ -4211,30 +4091,6 @@ dependencies: "@sinonjs/commons" "^1.7.0" -"@storybook/addon-actions@6.4.10": - version "6.4.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-6.4.10.tgz#b910ff40c2d4ae256b28d214d5847c8d7b88c258" - integrity sha512-vDfkdpN1uL3enx4dYqATz22q9UpAyHTknhF7AUEZBTRur98LkdkYJkqAc4F3Ecpa59D/D/eYRlLSS4eBJA4EDg== - dependencies: - "@storybook/addons" "6.4.10" - "@storybook/api" "6.4.10" - "@storybook/components" "6.4.10" - "@storybook/core-events" "6.4.10" - "@storybook/csf" "0.0.2--canary.87bc651.0" - "@storybook/theming" "6.4.10" - core-js "^3.8.2" - fast-deep-equal "^3.1.3" - global "^4.4.0" - lodash "^4.17.21" - polished "^4.0.5" - prop-types "^15.7.2" - react-inspector "^5.1.0" - regenerator-runtime "^0.13.7" - telejson "^5.3.2" - ts-dedent "^2.0.0" - util-deprecate "^1.0.2" - uuid-browser "^3.1.0" - "@storybook/addon-actions@6.5.10": version "6.5.10" resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-6.5.10.tgz#83ec807a899e0412cf98037647f256c45cc32bf5" @@ -4285,25 +4141,6 @@ util-deprecate "^1.0.2" uuid-browser "^3.1.0" -"@storybook/addon-backgrounds@6.4.10": - version "6.4.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-backgrounds/-/addon-backgrounds-6.4.10.tgz#36da6075aab675e40e170299de1e516088f0a53c" - integrity sha512-oEbTK+iihUnYzaj0zwI5lDARVhgu2cQqVPiwH3xvroL/8dOzGsRzS+Rp8S6ByTG81QGS7UlRQz0SUOItSDXQDQ== - dependencies: - "@storybook/addons" "6.4.10" - "@storybook/api" "6.4.10" - "@storybook/client-logger" "6.4.10" - "@storybook/components" "6.4.10" - "@storybook/core-events" "6.4.10" - "@storybook/csf" "0.0.2--canary.87bc651.0" - "@storybook/theming" "6.4.10" - core-js "^3.8.2" - global "^4.4.0" - memoizerific "^1.11.3" - regenerator-runtime "^0.13.7" - ts-dedent "^2.0.0" - util-deprecate "^1.0.2" - "@storybook/addon-backgrounds@6.5.9": version "6.5.9" resolved "https://registry.yarnpkg.com/@storybook/addon-backgrounds/-/addon-backgrounds-6.5.9.tgz#a9579fc9d73f783a768c6c6ceb97193c5a1ee708" @@ -4323,24 +4160,6 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/addon-controls@6.4.10": - version "6.4.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-controls/-/addon-controls-6.4.10.tgz#0589b1123824239ec306127b8e8a609f93d66e94" - integrity sha512-pSzWHzVBEMyusKMDcfxZfKCTy81PSkeNxqwXrmgYiLYtzb38vx8vVkiclHFgjludXxciX8lpqVeea3YGF11jdA== - dependencies: - "@storybook/addons" "6.4.10" - "@storybook/api" "6.4.10" - "@storybook/client-logger" "6.4.10" - "@storybook/components" "6.4.10" - "@storybook/core-common" "6.4.10" - "@storybook/csf" "0.0.2--canary.87bc651.0" - "@storybook/node-logger" "6.4.10" - "@storybook/store" "6.4.10" - "@storybook/theming" "6.4.10" - core-js "^3.8.2" - lodash "^4.17.21" - ts-dedent "^2.0.0" - "@storybook/addon-controls@6.5.9": version "6.5.9" resolved "https://registry.yarnpkg.com/@storybook/addon-controls/-/addon-controls-6.5.9.tgz#8f6ef939c87b3dbad98f8bda7e124f0b34f668d2" @@ -4359,58 +4178,6 @@ lodash "^4.17.21" ts-dedent "^2.0.0" -"@storybook/addon-docs@6.4.10": - version "6.4.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-6.4.10.tgz#d559ec9c83fcd49c336b7c6486890926e5a1c97a" - integrity sha512-iDd8XZco65RCVO6DLtHz2WYJuYxKXPPa5e9RJ/6jS+bbVYLe8Qlixpil+K1x9fJDvuQS80p8qWusKTEiMQ2Mnw== - dependencies: - "@babel/core" "^7.12.10" - "@babel/generator" "^7.12.11" - "@babel/parser" "^7.12.11" - "@babel/plugin-transform-react-jsx" "^7.12.12" - "@babel/preset-env" "^7.12.11" - "@jest/transform" "^26.6.2" - "@mdx-js/loader" "^1.6.22" - "@mdx-js/mdx" "^1.6.22" - "@mdx-js/react" "^1.6.22" - "@storybook/addons" "6.4.10" - "@storybook/api" "6.4.10" - "@storybook/builder-webpack4" "6.4.10" - "@storybook/client-logger" "6.4.10" - "@storybook/components" "6.4.10" - "@storybook/core" "6.4.10" - "@storybook/core-events" "6.4.10" - "@storybook/csf" "0.0.2--canary.87bc651.0" - "@storybook/csf-tools" "6.4.10" - "@storybook/node-logger" "6.4.10" - "@storybook/postinstall" "6.4.10" - "@storybook/preview-web" "6.4.10" - "@storybook/source-loader" "6.4.10" - "@storybook/store" "6.4.10" - "@storybook/theming" "6.4.10" - acorn "^7.4.1" - acorn-jsx "^5.3.1" - acorn-walk "^7.2.0" - core-js "^3.8.2" - doctrine "^3.0.0" - escodegen "^2.0.0" - fast-deep-equal "^3.1.3" - global "^4.4.0" - html-tags "^3.1.0" - js-string-escape "^1.0.1" - loader-utils "^2.0.0" - lodash "^4.17.21" - nanoid "^3.1.23" - p-limit "^3.1.0" - prettier "^2.2.1" - prop-types "^15.7.2" - react-element-to-jsx-string "^14.3.4" - regenerator-runtime "^0.13.7" - remark-external-links "^8.0.0" - remark-slug "^6.0.0" - ts-dedent "^2.0.0" - util-deprecate "^1.0.2" - "@storybook/addon-docs@6.5.9": version "6.5.9" resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-6.5.9.tgz#32b27fb298624afd738c1371a764d7ff4831fe6d" @@ -4445,26 +4212,6 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/addon-essentials@6.4.10": - version "6.4.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-essentials/-/addon-essentials-6.4.10.tgz#e1067c354cc89f0f5d022117b33586ac465f1aaf" - integrity sha512-12qKD/7t8447oGjByweTtgA2CD12eOUqG3E8xSxlcLoDnZ8TzdcpeqVXjw43mGLilS115gk6chvWx0VU1lMUMg== - dependencies: - "@storybook/addon-actions" "6.4.10" - "@storybook/addon-backgrounds" "6.4.10" - "@storybook/addon-controls" "6.4.10" - "@storybook/addon-docs" "6.4.10" - "@storybook/addon-measure" "6.4.10" - "@storybook/addon-outline" "6.4.10" - "@storybook/addon-toolbars" "6.4.10" - "@storybook/addon-viewport" "6.4.10" - "@storybook/addons" "6.4.10" - "@storybook/api" "6.4.10" - "@storybook/node-logger" "6.4.10" - core-js "^3.8.2" - regenerator-runtime "^0.13.7" - ts-dedent "^2.0.0" - "@storybook/addon-essentials@6.5.9": version "6.5.9" resolved "https://registry.yarnpkg.com/@storybook/addon-essentials/-/addon-essentials-6.5.9.tgz#32ba63acba4d153f4cf6ac33cbbf14b87d260788" @@ -4486,42 +4233,6 @@ regenerator-runtime "^0.13.7" ts-dedent "^2.0.0" -"@storybook/addon-interactions@6.4.10": - version "6.4.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-interactions/-/addon-interactions-6.4.10.tgz#f821295c3f0a056e81fba123e42a29ea3afaf7a1" - integrity sha512-rdDWfbcaYsQ0tNkwJMUabW6tR57ZquYRFV24K51zSBTdwS77cv+s91HfRHukXcgdr8uoXAIeODJH631vfd0ZwA== - dependencies: - "@storybook/addons" "6.4.10" - "@storybook/api" "6.4.10" - "@storybook/components" "6.4.10" - "@storybook/core-common" "6.4.10" - "@storybook/core-events" "6.4.10" - "@storybook/csf" "0.0.2--canary.87bc651.0" - "@storybook/instrumenter" "6.4.10" - "@storybook/theming" "6.4.10" - global "^4.4.0" - jest-mock "^27.0.6" - polished "^4.0.5" - ts-dedent "^2.2.0" - -"@storybook/addon-links@6.4.10": - version "6.4.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-6.4.10.tgz#a35ff6551965d341a12f7796ca11a46902135a1a" - integrity sha512-5x7Rem5CchFCoKuxDhD7BaM8axVlDG/0rjkpZZZdCtmHtobWXA8Fn/72WX4keEJgl9Z+WV4BTYZpeSxV3lC2RA== - dependencies: - "@storybook/addons" "6.4.10" - "@storybook/client-logger" "6.4.10" - "@storybook/core-events" "6.4.10" - "@storybook/csf" "0.0.2--canary.87bc651.0" - "@storybook/router" "6.4.10" - "@types/qs" "^6.9.5" - core-js "^3.8.2" - global "^4.4.0" - prop-types "^15.7.2" - qs "^6.10.0" - regenerator-runtime "^0.13.7" - ts-dedent "^2.0.0" - "@storybook/addon-links@6.5.9": version "6.5.9" resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-6.5.9.tgz#91cbca0c044796badf2498723fdd10dacea5748b" @@ -4540,20 +4251,6 @@ regenerator-runtime "^0.13.7" ts-dedent "^2.0.0" -"@storybook/addon-measure@6.4.10": - version "6.4.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-measure/-/addon-measure-6.4.10.tgz#3e2a5bb197ccfdd7a34d9dfd9d09f7f29af12fe9" - integrity sha512-ki2NgzPQC+9y5djYCUrtcEfk5ovBoa3jY9ZOk8AFiSUXPZorV7SC0ap8+n+hU0tKgWvSJZwcDDWLjckUlKmunQ== - dependencies: - "@storybook/addons" "6.4.10" - "@storybook/api" "6.4.10" - "@storybook/client-logger" "6.4.10" - "@storybook/components" "6.4.10" - "@storybook/core-events" "6.4.10" - "@storybook/csf" "0.0.2--canary.87bc651.0" - core-js "^3.8.2" - global "^4.4.0" - "@storybook/addon-measure@6.5.9": version "6.5.9" resolved "https://registry.yarnpkg.com/@storybook/addon-measure/-/addon-measure-6.5.9.tgz#f949d4f5f4025c839634114365f1399ea04bd0ae" @@ -4568,22 +4265,6 @@ core-js "^3.8.2" global "^4.4.0" -"@storybook/addon-outline@6.4.10": - version "6.4.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-outline/-/addon-outline-6.4.10.tgz#e276ebc2f8cdb4207fd855941ed1e90df309af0b" - integrity sha512-2EbLeAuYAAuNwLFoLEUSCsKkk1ZexgBG8caasb6bnv+Tds+s6mN9HGiumXkF/WLEgBtSdWUPNcSfuCCXYjvQjQ== - dependencies: - "@storybook/addons" "6.4.10" - "@storybook/api" "6.4.10" - "@storybook/client-logger" "6.4.10" - "@storybook/components" "6.4.10" - "@storybook/core-events" "6.4.10" - "@storybook/csf" "0.0.2--canary.87bc651.0" - core-js "^3.8.2" - global "^4.4.0" - regenerator-runtime "^0.13.7" - ts-dedent "^2.0.0" - "@storybook/addon-outline@6.5.9": version "6.5.9" resolved "https://registry.yarnpkg.com/@storybook/addon-outline/-/addon-outline-6.5.9.tgz#6ce9b3fb77e6a1a59607d7657c359c69f26cf6dd" @@ -4600,18 +4281,6 @@ regenerator-runtime "^0.13.7" ts-dedent "^2.0.0" -"@storybook/addon-toolbars@6.4.10": - version "6.4.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-toolbars/-/addon-toolbars-6.4.10.tgz#0a88067c6409e126d5aa36cc59a0b805bb99045c" - integrity sha512-b68b5aAVKydl1APuru4E1s+xFvjX9OKmLFgWk68y4v6c7M0KRnPBvkzJylIvMNgh6PAGA4F8UNNf80Exq19Fdw== - dependencies: - "@storybook/addons" "6.4.10" - "@storybook/api" "6.4.10" - "@storybook/components" "6.4.10" - "@storybook/theming" "6.4.10" - core-js "^3.8.2" - regenerator-runtime "^0.13.7" - "@storybook/addon-toolbars@6.5.9": version "6.5.9" resolved "https://registry.yarnpkg.com/@storybook/addon-toolbars/-/addon-toolbars-6.5.9.tgz#feedfdac08482d43bb1f3cc00840d80322c5eace" @@ -4625,23 +4294,6 @@ core-js "^3.8.2" regenerator-runtime "^0.13.7" -"@storybook/addon-viewport@6.4.10": - version "6.4.10" - resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-6.4.10.tgz#4aa99b20fbb78578e4e29ab52b88165caf7eaf1f" - integrity sha512-ru2LgehiNBt8rLHkK8i2Yddx1WyHMVpe7sY26Oo6maAGs1tuPhNUdsVJQqjV3hqhdRusg+iqtvxRBgdp5jR4VQ== - dependencies: - "@storybook/addons" "6.4.10" - "@storybook/api" "6.4.10" - "@storybook/client-logger" "6.4.10" - "@storybook/components" "6.4.10" - "@storybook/core-events" "6.4.10" - "@storybook/theming" "6.4.10" - core-js "^3.8.2" - global "^4.4.0" - memoizerific "^1.11.3" - prop-types "^15.7.2" - regenerator-runtime "^0.13.7" - "@storybook/addon-viewport@6.5.9": version "6.5.9" resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-6.5.9.tgz#fc390ccebea56d2e874ed2fda085c09fe04dd240" @@ -4779,82 +4431,6 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/builder-webpack4@6.4.10": - version "6.4.10" - resolved "https://registry.yarnpkg.com/@storybook/builder-webpack4/-/builder-webpack4-6.4.10.tgz#abe952de1f7e52b47c19cf25a78a7a874f3f5202" - integrity sha512-IRw30TjhfBfMMieic+np2OjvU7BHJNVuLKg3R2I1pp6iPPJIw/z1b0Brj7/tFojcGKmkWPlIFUxZymZEgk4TJQ== - dependencies: - "@babel/core" "^7.12.10" - "@babel/plugin-proposal-class-properties" "^7.12.1" - "@babel/plugin-proposal-decorators" "^7.12.12" - "@babel/plugin-proposal-export-default-from" "^7.12.1" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1" - "@babel/plugin-proposal-object-rest-spread" "^7.12.1" - "@babel/plugin-proposal-optional-chaining" "^7.12.7" - "@babel/plugin-proposal-private-methods" "^7.12.1" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-transform-arrow-functions" "^7.12.1" - "@babel/plugin-transform-block-scoping" "^7.12.12" - "@babel/plugin-transform-classes" "^7.12.1" - "@babel/plugin-transform-destructuring" "^7.12.1" - "@babel/plugin-transform-for-of" "^7.12.1" - "@babel/plugin-transform-parameters" "^7.12.1" - "@babel/plugin-transform-shorthand-properties" "^7.12.1" - "@babel/plugin-transform-spread" "^7.12.1" - "@babel/plugin-transform-template-literals" "^7.12.1" - "@babel/preset-env" "^7.12.11" - "@babel/preset-react" "^7.12.10" - "@babel/preset-typescript" "^7.12.7" - "@storybook/addons" "6.4.10" - "@storybook/api" "6.4.10" - "@storybook/channel-postmessage" "6.4.10" - "@storybook/channels" "6.4.10" - "@storybook/client-api" "6.4.10" - "@storybook/client-logger" "6.4.10" - "@storybook/components" "6.4.10" - "@storybook/core-common" "6.4.10" - "@storybook/core-events" "6.4.10" - "@storybook/node-logger" "6.4.10" - "@storybook/preview-web" "6.4.10" - "@storybook/router" "6.4.10" - "@storybook/semver" "^7.3.2" - "@storybook/store" "6.4.10" - "@storybook/theming" "6.4.10" - "@storybook/ui" "6.4.10" - "@types/node" "^14.0.10" - "@types/webpack" "^4.41.26" - autoprefixer "^9.8.6" - babel-loader "^8.0.0" - babel-plugin-macros "^2.8.0" - babel-plugin-polyfill-corejs3 "^0.1.0" - case-sensitive-paths-webpack-plugin "^2.3.0" - core-js "^3.8.2" - css-loader "^3.6.0" - file-loader "^6.2.0" - find-up "^5.0.0" - fork-ts-checker-webpack-plugin "^4.1.6" - glob "^7.1.6" - glob-promise "^3.4.0" - global "^4.4.0" - html-webpack-plugin "^4.0.0" - pnp-webpack-plugin "1.6.4" - postcss "^7.0.36" - postcss-flexbugs-fixes "^4.2.1" - postcss-loader "^4.2.0" - raw-loader "^4.0.2" - react-dev-utils "^11.0.4" - stable "^0.1.8" - style-loader "^1.3.0" - terser-webpack-plugin "^4.2.3" - ts-dedent "^2.0.0" - url-loader "^4.1.1" - util-deprecate "^1.0.2" - webpack "4" - webpack-dev-middleware "^3.7.3" - webpack-filter-warnings-plugin "^1.2.1" - webpack-hot-middleware "^2.25.1" - webpack-virtual-modules "^0.2.2" - "@storybook/builder-webpack4@6.5.9": version "6.5.9" resolved "https://registry.yarnpkg.com/@storybook/builder-webpack4/-/builder-webpack4-6.5.9.tgz#4b37e1fa23a25aa4bfeaba640e5d318fcd511f95" @@ -5087,7 +4663,7 @@ core-js "^3.8.2" global "^4.4.0" -"@storybook/client-logger@6.5.10", "@storybook/client-logger@^6.4.0 || >=6.5.0-0": +"@storybook/client-logger@6.5.10": version "6.5.10" resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-6.5.10.tgz#cfea823a5b8444409daa74f854c5d05367986b34" integrity sha512-/xA0MHOevXev68hyLMQw8Qo8KczSIdXOxliAgrycMTkDmw5eKeA8TP7B8zP3wGuq/e3MrdD9/8MWhb/IQBNC3w== @@ -5347,54 +4923,6 @@ dependencies: core-js "^3.8.2" -"@storybook/core-server@6.4.10": - version "6.4.10" - resolved "https://registry.yarnpkg.com/@storybook/core-server/-/core-server-6.4.10.tgz#72f97018ca11814b4657f955c1ff8bf0d3cc3d5b" - integrity sha512-2qjG/O9lkWZZUNThT3pUvViCqH5CPGICETXUwD0nHuh6svm2Y+E9y31UVs4P6+hpGerC+cWghXTzsAR4zQoL4Q== - dependencies: - "@discoveryjs/json-ext" "^0.5.3" - "@storybook/builder-webpack4" "6.4.10" - "@storybook/core-client" "6.4.10" - "@storybook/core-common" "6.4.10" - "@storybook/core-events" "6.4.10" - "@storybook/csf" "0.0.2--canary.87bc651.0" - "@storybook/csf-tools" "6.4.10" - "@storybook/manager-webpack4" "6.4.10" - "@storybook/node-logger" "6.4.10" - "@storybook/semver" "^7.3.2" - "@storybook/store" "6.4.10" - "@types/node" "^14.0.10" - "@types/node-fetch" "^2.5.7" - "@types/pretty-hrtime" "^1.0.0" - "@types/webpack" "^4.41.26" - better-opn "^2.1.1" - boxen "^5.1.2" - chalk "^4.1.0" - cli-table3 "^0.6.1" - commander "^6.2.1" - compression "^1.7.4" - core-js "^3.8.2" - cpy "^8.1.2" - detect-port "^1.3.0" - express "^4.17.1" - file-system-cache "^1.0.5" - fs-extra "^9.0.1" - globby "^11.0.2" - ip "^1.1.5" - lodash "^4.17.21" - node-fetch "^2.6.1" - pretty-hrtime "^1.0.3" - prompts "^2.4.0" - regenerator-runtime "^0.13.7" - serve-favicon "^2.5.0" - slash "^3.0.0" - telejson "^5.3.3" - ts-dedent "^2.0.0" - util-deprecate "^1.0.2" - watchpack "^2.2.0" - webpack "4" - ws "^8.2.3" - "@storybook/core-server@6.5.9": version "6.5.9" resolved "https://registry.yarnpkg.com/@storybook/core-server/-/core-server-6.5.9.tgz#749a881c1a81d7cf1a69f3782c06a7f0c39a505c" @@ -5446,14 +4974,6 @@ ws "^8.2.3" x-default-browser "^0.4.0" -"@storybook/core@6.4.10": - version "6.4.10" - resolved "https://registry.yarnpkg.com/@storybook/core/-/core-6.4.10.tgz#53c6367a4d0000cb486d3e2515183418ef6c03bf" - integrity sha512-+4pGgP1nX8sil/C4Ks5A5sDglH+8xGOKVpSteKHTnrgdmwcd7DZxohJeRfoF/LCXcunhXBpRS1TYjZ+uC3IQaQ== - dependencies: - "@storybook/core-client" "6.4.10" - "@storybook/core-server" "6.4.10" - "@storybook/core@6.5.9": version "6.5.9" resolved "https://registry.yarnpkg.com/@storybook/core/-/core-6.5.9.tgz#da4f237391d99aed1228323f24b335cafbdf3499" @@ -5462,29 +4982,6 @@ "@storybook/core-client" "6.5.9" "@storybook/core-server" "6.5.9" -"@storybook/csf-tools@6.4.10": - version "6.4.10" - resolved "https://registry.yarnpkg.com/@storybook/csf-tools/-/csf-tools-6.4.10.tgz#e6d2499bc1bda32b0bae427c38e8603bb2e37680" - integrity sha512-2s6t1lgtHaLkAZZPZJsrU/1IQu8CUa4GpOt+nrRXph4t5vZyETY0LU8ElS1d4V4/+JHGHN6E20r+E+gSjHq+Jw== - dependencies: - "@babel/core" "^7.12.10" - "@babel/generator" "^7.12.11" - "@babel/parser" "^7.12.11" - "@babel/plugin-transform-react-jsx" "^7.12.12" - "@babel/preset-env" "^7.12.11" - "@babel/traverse" "^7.12.11" - "@babel/types" "^7.12.11" - "@mdx-js/mdx" "^1.6.22" - "@storybook/csf" "0.0.2--canary.87bc651.0" - core-js "^3.8.2" - fs-extra "^9.0.1" - global "^4.4.0" - js-string-escape "^1.0.1" - lodash "^4.17.21" - prettier "^2.2.1" - regenerator-runtime "^0.13.7" - ts-dedent "^2.0.0" - "@storybook/csf-tools@6.5.9": version "6.5.9" resolved "https://registry.yarnpkg.com/@storybook/csf-tools/-/csf-tools-6.5.9.tgz#8e01df2305b53e228229f0b45ada3720e6e42a1c" @@ -5532,69 +5029,6 @@ lodash "^4.17.21" regenerator-runtime "^0.13.7" -"@storybook/instrumenter@6.4.10": - version "6.4.10" - resolved "https://registry.yarnpkg.com/@storybook/instrumenter/-/instrumenter-6.4.10.tgz#f8413f6b79eda9d226ce69e63e8391d7338ec138" - integrity sha512-WiAin/5F7I3qD7r4HF3/QF3jtDurX54s0/qI0gSWIVY4tIYdHywEt64ZHcMqiPBsbAabtiEYZDMp4CBhErG0og== - dependencies: - "@storybook/addons" "6.4.10" - "@storybook/client-logger" "6.4.10" - "@storybook/core-events" "6.4.10" - global "^4.4.0" - -"@storybook/instrumenter@^6.4.0 || >=6.5.0-0": - version "6.5.9" - resolved "https://registry.yarnpkg.com/@storybook/instrumenter/-/instrumenter-6.5.9.tgz#885d9dec31b7b7fa6ea29b446105480450e527b8" - integrity sha512-I2nu/6H0MAy8d+d3LY/G6oYEFyWlc8f2Qs2DhpYh5FiCgIpzvY0DMN05Lf8oaXdKHL3lPF/YLJH17FttekXs1w== - dependencies: - "@storybook/addons" "6.5.9" - "@storybook/client-logger" "6.5.9" - "@storybook/core-events" "6.5.9" - core-js "^3.8.2" - global "^4.4.0" - -"@storybook/manager-webpack4@6.4.10": - version "6.4.10" - resolved "https://registry.yarnpkg.com/@storybook/manager-webpack4/-/manager-webpack4-6.4.10.tgz#965f88ecc53827d2f7fcef19858c6a0d74a8fc0b" - integrity sha512-KvsVmpqXVhsgsROn/PCNTiECAY5Y0gvKJIKpNV5lYLl/kjU45a2MpTuctoAsDiJDD7J51yMnQWcUnyCC02aCfA== - dependencies: - "@babel/core" "^7.12.10" - "@babel/plugin-transform-template-literals" "^7.12.1" - "@babel/preset-react" "^7.12.10" - "@storybook/addons" "6.4.10" - "@storybook/core-client" "6.4.10" - "@storybook/core-common" "6.4.10" - "@storybook/node-logger" "6.4.10" - "@storybook/theming" "6.4.10" - "@storybook/ui" "6.4.10" - "@types/node" "^14.0.10" - "@types/webpack" "^4.41.26" - babel-loader "^8.0.0" - case-sensitive-paths-webpack-plugin "^2.3.0" - chalk "^4.1.0" - core-js "^3.8.2" - css-loader "^3.6.0" - express "^4.17.1" - file-loader "^6.2.0" - file-system-cache "^1.0.5" - find-up "^5.0.0" - fs-extra "^9.0.1" - html-webpack-plugin "^4.0.0" - node-fetch "^2.6.1" - pnp-webpack-plugin "1.6.4" - read-pkg-up "^7.0.1" - regenerator-runtime "^0.13.7" - resolve-from "^5.0.0" - style-loader "^1.3.0" - telejson "^5.3.2" - terser-webpack-plugin "^4.2.3" - ts-dedent "^2.0.0" - url-loader "^4.1.1" - util-deprecate "^1.0.2" - webpack "4" - webpack-dev-middleware "^3.7.3" - webpack-virtual-modules "^0.2.2" - "@storybook/manager-webpack4@6.5.9": version "6.5.9" resolved "https://registry.yarnpkg.com/@storybook/manager-webpack4/-/manager-webpack4-6.5.9.tgz#c75d2cced4550c8a786f00b0e57b203d613e706c" @@ -5713,13 +5147,6 @@ npmlog "^5.0.1" pretty-hrtime "^1.0.3" -"@storybook/postinstall@6.4.10": - version "6.4.10" - resolved "https://registry.yarnpkg.com/@storybook/postinstall/-/postinstall-6.4.10.tgz#378c30c2b64050bf1f4024874592dd54b4413981" - integrity sha512-kW+c2PLLiPvucMJLerFxJwcX9BPjQEttyLBd7Y+Qmhw8YC21mKszfW1gBiX5RMvDUdEMp9LYZOtZzNZ7s+FVdw== - dependencies: - core-js "^3.8.2" - "@storybook/postinstall@6.5.9": version "6.5.9" resolved "https://registry.yarnpkg.com/@storybook/postinstall/-/postinstall-6.5.9.tgz#a5a2565808e9d7bc310e78c279b09ce337fe3457" @@ -5872,22 +5299,6 @@ core-js "^3.6.5" find-up "^4.1.0" -"@storybook/source-loader@6.4.10": - version "6.4.10" - resolved "https://registry.yarnpkg.com/@storybook/source-loader/-/source-loader-6.4.10.tgz#be79e03bdcf67dbe0ede25d322b7390f5dec756d" - integrity sha512-8WFJNLcXtVe7fIr/f3z14GQQn59IKpRkdY5QC5aMii+WBxA7U4ycU2j0PHQ0lb3aWGt8SKApTucw8Zk3F40k3w== - dependencies: - "@storybook/addons" "6.4.10" - "@storybook/client-logger" "6.4.10" - "@storybook/csf" "0.0.2--canary.87bc651.0" - core-js "^3.8.2" - estraverse "^5.2.0" - global "^4.4.0" - loader-utils "^2.0.0" - lodash "^4.17.21" - prettier "^2.2.1" - regenerator-runtime "^0.13.7" - "@storybook/source-loader@6.5.9": version "6.5.9" resolved "https://registry.yarnpkg.com/@storybook/source-loader/-/source-loader-6.5.9.tgz#7b6f065c6a6108c4b4ca7e45bfd78707373d84ac" @@ -5964,17 +5375,6 @@ read-pkg-up "^7.0.1" regenerator-runtime "^0.13.7" -"@storybook/testing-library@^0.0.9": - version "0.0.9" - resolved "https://registry.yarnpkg.com/@storybook/testing-library/-/testing-library-0.0.9.tgz#e3d6e8077d58305bb352903e820dcae9306e7a7f" - integrity sha512-X4/Tk7RryB0tZ/9NLUHYTBXW01zRpf6+IhdhqsVl6WOWRyUaIv3zEhr43gQyZhBe4ZZyt5d90FJC9qWmY1oFKg== - dependencies: - "@storybook/client-logger" "^6.4.0 || >=6.5.0-0" - "@storybook/instrumenter" "^6.4.0 || >=6.5.0-0" - "@testing-library/dom" "^8.3.0" - "@testing-library/user-event" "^13.2.1" - ts-dedent "^2.2.0" - "@storybook/theming@6.4.10": version "6.4.10" resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-6.4.10.tgz#d89b919a46331ae0c303b00f7b7be28af0a2cc84" @@ -6627,20 +6027,6 @@ lz-string "^1.4.4" pretty-format "^26.6.2" -"@testing-library/dom@^8.3.0": - version "8.16.0" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.16.0.tgz#d6fc50250aed17b1035ca1bd64655e342db3936a" - integrity sha512-uxF4zmnLHHDlmW4l+0WDjcgLVwCvH+OVLpD8Dfp+Bjfz85prwxWGbwXgJdLtkgjD0qfOzkJF9SmA6YZPsMYX4w== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/runtime" "^7.12.5" - "@types/aria-query" "^4.2.0" - aria-query "^5.0.0" - chalk "^4.1.0" - dom-accessibility-api "^0.5.9" - lz-string "^1.4.4" - pretty-format "^27.0.2" - "@testing-library/jest-dom@5.16.4": version "5.16.4" resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.16.4.tgz#938302d7b8b483963a3ae821f1c0808f872245cd" @@ -6672,7 +6058,7 @@ "@babel/runtime" "^7.12.5" "@testing-library/dom" "^7.28.1" -"@testing-library/user-event@13.5.0", "@testing-library/user-event@^13.2.1": +"@testing-library/user-event@13.5.0": version "13.5.0" resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-13.5.0.tgz#69d77007f1e124d55314a2b73fd204b333b13295" integrity sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg== @@ -7820,11 +7206,6 @@ add-stream@^1.0.0: resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" integrity sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ== -address@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" - integrity sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA== - address@^1.0.1: version "1.2.0" resolved "https://registry.yarnpkg.com/address/-/address-1.2.0.tgz#d352a62c92fee90f89a693eccd2a8b2139ab02d9" @@ -8613,7 +7994,7 @@ babel-loader@8.2.3: make-dir "^3.1.0" schema-utils "^2.6.5" -babel-loader@8.2.5, babel-loader@^8.0.0, babel-loader@^8.2.4, babel-loader@^8.2.5: +babel-loader@8.2.5, babel-loader@^8.0.0, babel-loader@^8.2.5: version "8.2.5" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.5.tgz#d45f585e654d5a5d90f5350a779d7647c5ed512e" integrity sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ== @@ -8687,16 +8068,7 @@ babel-plugin-jest-hoist@^26.6.2: "@types/babel__core" "^7.0.0" "@types/babel__traverse" "^7.0.6" -babel-plugin-macros@3.1.0, babel-plugin-macros@^3.0.1, babel-plugin-macros@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" - integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== - dependencies: - "@babel/runtime" "^7.12.5" - cosmiconfig "^7.0.0" - resolve "^1.19.0" - -babel-plugin-macros@^2.0.0, babel-plugin-macros@^2.8.0: +babel-plugin-macros@^2.0.0: version "2.8.0" resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== @@ -8705,6 +8077,15 @@ babel-plugin-macros@^2.0.0, babel-plugin-macros@^2.8.0: cosmiconfig "^6.0.0" resolve "^1.12.0" +babel-plugin-macros@^3.0.1, babel-plugin-macros@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" + integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== + dependencies: + "@babel/runtime" "^7.12.5" + cosmiconfig "^7.0.0" + resolve "^1.19.0" + babel-plugin-named-exports-order@^0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/babel-plugin-named-exports-order/-/babel-plugin-named-exports-order-0.0.2.tgz#ae14909521cf9606094a2048239d69847540cb09" @@ -8719,14 +8100,6 @@ babel-plugin-polyfill-corejs2@^0.3.0, babel-plugin-polyfill-corejs2@^0.3.2: "@babel/helper-define-polyfill-provider" "^0.3.2" semver "^6.1.1" -babel-plugin-polyfill-corejs3@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz#aabe4b2fa04a6e038b688c5e55d44e78cd3a5f72" - integrity sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.1" - core-js-compat "^3.21.0" - babel-plugin-polyfill-corejs3@^0.1.0: version "0.1.7" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.7.tgz#80449d9d6f2274912e05d9e182b54816904befd0" @@ -9204,16 +8577,6 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@4.14.2: - version "4.14.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.2.tgz#1b3cec458a1ba87588cc5e9be62f19b6d48813ce" - integrity sha512-HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw== - dependencies: - caniuse-lite "^1.0.30001125" - electron-to-chromium "^1.3.564" - escalade "^3.0.2" - node-releases "^1.1.61" - browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.19.1: version "4.20.2" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88" @@ -9593,11 +8956,6 @@ caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001317: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001327.tgz#c1546d7d7bb66506f0ccdad6a7d07fc6d668c858" integrity sha512-1/Cg4jlD9qjZzhbzkzEaAC2JHsP0WrOc8Rd/3a3LuajGzGWR/hD7TVyvq99VqmTy99eVh8Zkmdq213OgvgXx7w== -caniuse-lite@^1.0.30001125: - version "1.0.30001366" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001366.tgz#c73352c83830a9eaf2dea0ff71fb4b9a4bbaa89c" - integrity sha512-yy7XLWCubDobokgzudpkKux8e0UOOnLHE6mlNJBzT3lZJz6s5atSEzjoL+fsCPkI0G8MP5uVdDx1ur/fXEWkZA== - caniuse-lite@^1.0.30001358: version "1.0.30001359" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001359.tgz#a1c1cbe1c2da9e689638813618b4219acbd4925e" @@ -9630,15 +8988,6 @@ ccount@^1.0.0: resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== -chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - chalk@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" @@ -9674,6 +9023,15 @@ chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + chalk@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" @@ -10610,11 +9968,6 @@ core-js-pure@^3.10.2, core-js-pure@^3.20.2, core-js-pure@^3.8.1, core-js-pure@^3 resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.24.1.tgz#8839dde5da545521bf282feb7dc6d0b425f39fd3" integrity sha512-r1nJk41QLLPyozHUUPmILCEMtMw24NG4oWK6RbsDdjzQgg9ZvrUsPBj1MnG0wXXp1DCDU6j+wUvEmBSrtRbLXg== -core-js@3.21.1: - version "3.21.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.21.1.tgz#f2e0ddc1fc43da6f904706e8e955bc19d06a0d94" - integrity sha512-FRq5b/VMrWlrmCzwRrpDYNxyHP9BcAZC+xHJaqTgIE5091ZV1NTmyh0sGOg5XqpnHvR0svdy0sv1gWA1zmhxig== - core-js@3.6.5: version "3.6.5" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a" @@ -10760,15 +10113,6 @@ cross-env@7.0.3, cross-env@^7.0.3: dependencies: cross-spawn "^7.0.1" -cross-spawn@7.0.3, cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -10780,6 +10124,15 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" +cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + crypto-browserify@^3.11.0, crypto-browserify@^3.12.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" @@ -11378,14 +10731,6 @@ detect-package-manager@^2.0.1: dependencies: execa "^5.1.1" -detect-port-alt@1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" - integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== - dependencies: - address "^1.0.1" - debug "^2.6.0" - detect-port@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.3.0.tgz#d9c40e9accadd4df5cac6a782aefd014d573d1f1" @@ -11512,7 +10857,7 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -dom-accessibility-api@^0.5.6, dom-accessibility-api@^0.5.9: +dom-accessibility-api@^0.5.6: version "0.5.14" resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz#56082f71b1dc7aac69d83c4285eef39c15d93f56" integrity sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg== @@ -11760,16 +11105,16 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.3.564, electron-to-chromium@^1.4.202: - version "1.4.208" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.208.tgz#ecb5b47c8cc212a43172ffc5ce50178a638a5d74" - integrity sha512-diMr4t69FigAGUk2KovP0bygEtN/9AkqEVkzjEp0cu+zFFbZMVvwACpTTfuj1mAmFR5kNoSW8wGKDFWIvmThiQ== - electron-to-chromium@^1.4.164: version "1.4.170" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.170.tgz#0415fc489402e09bfbe1f0c99bbf4d73f31d48d4" integrity sha512-rZ8PZLhK4ORPjFqLp9aqC4/S1j4qWFsPPz13xmWdrbBkU/LlxMcok+f+6f8YnQ57MiZwKtOaW15biZZsY5Igvw== +electron-to-chromium@^1.4.202: + version "1.4.208" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.208.tgz#ecb5b47c8cc212a43172ffc5ce50178a638a5d74" + integrity sha512-diMr4t69FigAGUk2KovP0bygEtN/9AkqEVkzjEp0cu+zFFbZMVvwACpTTfuj1mAmFR5kNoSW8wGKDFWIvmThiQ== + electron-to-chromium@^1.4.84: version "1.4.106" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.106.tgz#e7a3bfa9d745dd9b9e597616cb17283cc349781a" @@ -12203,7 +11548,7 @@ esbuild@^0.14.39, esbuild@^0.14.6: esbuild-windows-64 "0.14.51" esbuild-windows-arm64 "0.14.51" -escalade@^3.0.2, escalade@^3.1.1: +escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== @@ -12218,16 +11563,16 @@ escape-string-regexp@1.0.2: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz#4dbc2fe674e71949caf3fb2695ce7f2dc1d9a8d1" integrity sha512-cQpUid7bdTUnFin8S7BnNdOk+/eDqQmKgCANSyd/jAhrKEvxUvr9VQ8XZzXiOtest8NLfk3FSBZzwvemZNQ6Vg== -escape-string-regexp@2.0.0, escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + escape-string-regexp@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" @@ -12822,7 +12167,7 @@ fast-glob@^2.2.6: merge2 "^1.2.3" micromatch "^3.1.10" -fast-glob@^3.0.3, fast-glob@^3.1.1, fast-glob@^3.2.5, fast-glob@^3.2.9: +fast-glob@^3.0.3, fast-glob@^3.2.5, fast-glob@^3.2.9: version "3.2.11" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== @@ -12965,11 +12310,6 @@ filed-mimefix@^0.1.3: dependencies: mime "^1.4.0" -filesize@6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-6.1.0.tgz#e81bdaa780e2451d714d71c0d7a4f3238d37ad00" - integrity sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg== - fill-range@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" @@ -13033,14 +12373,6 @@ find-root@^1.1.0: resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== -find-up@4.1.0, find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -13063,6 +12395,14 @@ find-up@^3.0.0: dependencies: locate-path "^3.0.0" +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + find-up@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" @@ -13170,19 +12510,6 @@ forever-agent@~0.6.1: resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== -fork-ts-checker-webpack-plugin@4.1.6, fork-ts-checker-webpack-plugin@^4.1.6: - version "4.1.6" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz#5055c703febcf37fa06405d400c122b905167fc5" - integrity sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw== - dependencies: - "@babel/code-frame" "^7.5.5" - chalk "^2.4.1" - micromatch "^3.1.10" - minimatch "^3.0.4" - semver "^5.6.0" - tapable "^1.0.0" - worker-rpc "^0.1.0" - fork-ts-checker-webpack-plugin@7.2.1: version "7.2.1" resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.2.1.tgz#c37a538e12730fe11fd725bcf0fce29487950833" @@ -13200,6 +12527,19 @@ fork-ts-checker-webpack-plugin@7.2.1: semver "^7.3.5" tapable "^2.2.1" +fork-ts-checker-webpack-plugin@^4.1.6: + version "4.1.6" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz#5055c703febcf37fa06405d400c122b905167fc5" + integrity sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw== + dependencies: + "@babel/code-frame" "^7.5.5" + chalk "^2.4.1" + micromatch "^3.1.10" + minimatch "^3.0.4" + semver "^5.6.0" + tapable "^1.0.0" + worker-rpc "^0.1.0" + fork-ts-checker-webpack-plugin@^6.0.4: version "6.5.2" resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz#4f67183f2f9eb8ba7df7177ce3cf3e75cdafb340" @@ -13832,13 +13172,6 @@ glob@^5.0.15: once "^1.3.0" path-is-absolute "^1.0.0" -global-modules@2.0.0, global-modules@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" - integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== - dependencies: - global-prefix "^3.0.0" - global-modules@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" @@ -13848,6 +13181,13 @@ global-modules@^1.0.0: is-windows "^1.0.1" resolve-dir "^1.0.0" +global-modules@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" + integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== + dependencies: + global-prefix "^3.0.0" + global-prefix@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" @@ -13895,18 +13235,6 @@ globalthis@^1.0.0: dependencies: define-properties "^1.1.3" -globby@11.0.1: - version "11.0.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" - integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" - slash "^3.0.0" - globby@^10.0.1: version "10.0.2" resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" @@ -14101,14 +13429,6 @@ gtoken@^2.3.2: mime "^2.2.0" pify "^4.0.0" -gzip-size@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" - integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== - dependencies: - duplexer "^0.1.1" - pify "^4.0.1" - gzip-size@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" @@ -14821,16 +14141,11 @@ ignore@^4.0.3, ignore@^4.0.6: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -ignore@^5.0.4, ignore@^5.1.1, ignore@^5.1.4, ignore@^5.1.8, ignore@^5.2.0: +ignore@^5.0.4, ignore@^5.1.1, ignore@^5.1.8, ignore@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== -immer@8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/immer/-/immer-8.0.1.tgz#9c73db683e2b3975c424fb0572af5889877ae656" - integrity sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA== - immer@9.0.15: version "9.0.15" resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.15.tgz#0b9169e5b1d22137aba7d43f8a81a495dd1b62dc" @@ -15480,11 +14795,6 @@ is-relative@^1.0.0: dependencies: is-unc-path "^1.0.0" -is-root@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" - integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== - is-set@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" @@ -16049,14 +15359,6 @@ jest-mock@^26.6.2: "@jest/types" "^26.6.2" "@types/node" "*" -jest-mock@^27.0.6: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.1.tgz#19948336d49ef4d9c52021d34ac7b5f36ff967d6" - integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og== - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - jest-pnp-resolver@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" @@ -17115,15 +16417,6 @@ loader-runner@^4.2.0: resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== -loader-utils@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" - integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - loader-utils@^1.2.3, loader-utils@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" @@ -17998,13 +17291,6 @@ minimatch@0.3: dependencies: brace-expansion "^1.1.7" -minimatch@3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - minimatch@3.0.5: version "3.0.5" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.5.tgz#4da8f1290ee0f0f8e83d60ca69f8f134068604a3" @@ -18424,7 +17710,7 @@ nanoclone@^0.2.1: resolved "https://registry.yarnpkg.com/nanoclone/-/nanoclone-0.2.1.tgz#dd4090f8f1a110d26bb32c49ed2f5b9235209ed4" integrity sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA== -nanoid@^3.1.23, nanoid@^3.3.1, nanoid@^3.3.4: +nanoid@^3.3.1, nanoid@^3.3.4: version "3.3.4" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== @@ -18736,11 +18022,6 @@ node-pre-gyp@^0.11.0: semver "^5.3.0" tar "^4" -node-releases@^1.1.61: - version "1.1.77" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.77.tgz#50b0cfede855dd374e7585bf228ff34e57c1c32e" - integrity sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ== - node-releases@^2.0.2, node-releases@^2.0.5, node-releases@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" @@ -19315,7 +18596,7 @@ open@8.4.0, open@^8.0.9, open@^8.4.0: is-docker "^2.1.1" is-wsl "^2.2.0" -open@^7.0.2, open@^7.0.3: +open@^7.0.3: version "7.4.2" resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== @@ -19489,7 +18770,7 @@ p-limit@^2.0.0, p-limit@^2.2.0: dependencies: p-try "^2.0.0" -p-limit@^3.0.2, p-limit@^3.1.0: +p-limit@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== @@ -20148,13 +19429,6 @@ pkg-dir@^5.0.0: dependencies: find-up "^5.0.0" -pkg-up@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" - integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== - dependencies: - find-up "^3.0.0" - pkgcloud@2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/pkgcloud/-/pkgcloud-2.2.0.tgz#2b4e644b6da53c76c0a30bcc0c3861971011a714" @@ -20451,7 +19725,7 @@ prettier@1.19.1: resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== -prettier@2.7.1, prettier@^2.2.1: +prettier@2.7.1: version "2.7.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== @@ -20492,7 +19766,7 @@ pretty-format@^26.6.2: ansi-styles "^4.0.0" react-is "^17.0.1" -pretty-format@^27.0.2, pretty-format@^27.5.1: +pretty-format@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== @@ -20595,14 +19869,6 @@ promise.prototype.finally@^3.1.0: define-properties "^1.1.3" es-abstract "^1.19.1" -prompts@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7" - integrity sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - prompts@^2.0.1, prompts@^2.4.0: version "2.4.2" resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" @@ -20896,36 +20162,6 @@ react-copy-to-clipboard@^5.0.3, react-copy-to-clipboard@^5.1.0: copy-to-clipboard "^3.3.1" prop-types "^15.8.1" -react-dev-utils@^11.0.4: - version "11.0.4" - resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-11.0.4.tgz#a7ccb60257a1ca2e0efe7a83e38e6700d17aa37a" - integrity sha512-dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A== - dependencies: - "@babel/code-frame" "7.10.4" - address "1.1.2" - browserslist "4.14.2" - chalk "2.4.2" - cross-spawn "7.0.3" - detect-port-alt "1.1.6" - escape-string-regexp "2.0.0" - filesize "6.1.0" - find-up "4.1.0" - fork-ts-checker-webpack-plugin "4.1.6" - global-modules "2.0.0" - globby "11.0.1" - gzip-size "5.1.1" - immer "8.0.1" - is-root "2.1.0" - loader-utils "2.0.0" - open "^7.0.2" - pkg-up "3.1.0" - prompts "2.4.0" - react-error-overlay "^6.0.9" - recursive-readdir "2.2.2" - shell-quote "1.7.2" - strip-ansi "6.0.0" - text-table "0.2.0" - react-dnd-html5-backend@^14.0.0: version "14.1.0" resolved "https://registry.yarnpkg.com/react-dnd-html5-backend/-/react-dnd-html5-backend-14.1.0.tgz#b35a3a0c16dd3a2bfb5eb7ec62cf0c2cace8b62f" @@ -20998,11 +20234,6 @@ react-error-boundary@3.1.1: dependencies: "@babel/runtime" "^7.12.5" -react-error-overlay@^6.0.9: - version "6.0.11" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.11.tgz#92835de5841c5cf08ba00ddd2d677b6d17ff9adb" - integrity sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg== - react-fast-compare@^2.0.1: version "2.0.4" resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9" @@ -21516,13 +20747,6 @@ rechoir@^0.8.0: dependencies: resolve "^1.20.0" -recursive-readdir@2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f" - integrity sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg== - dependencies: - minimatch "3.0.4" - redent@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" @@ -22563,11 +21787,6 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shell-quote@1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" - integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== - shell-quote@^1.6.1: version "1.7.3" resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123" @@ -23295,13 +22514,6 @@ stringify-object@^3.3.0: is-obj "^1.0.1" is-regexp "^1.0.0" -strip-ansi@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" @@ -23750,7 +22962,7 @@ teeny-request@^3.11.3: node-fetch "^2.2.0" uuid "^3.3.2" -telejson@^5.3.2, telejson@^5.3.3: +telejson@^5.3.2: version "5.3.3" resolved "https://registry.yarnpkg.com/telejson/-/telejson-5.3.3.tgz#fa8ca84543e336576d8734123876a9f02bf41d2e" integrity sha512-PjqkJZpzEggA9TBpVtJi1LVptP7tYtXB6rEubwlHap76AMjzvOdKX41CxyaW7ahhzDU1aftXnMCx5kAPDZTQBA== @@ -23870,7 +23082,7 @@ text-hex@1.0.x: resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-1.0.0.tgz#69dc9c1b17446ee79a92bf5b884bb4b9127506f5" integrity sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg== -text-table@0.2.0, text-table@^0.2.0: +text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== @@ -24122,7 +23334,7 @@ trough@^1.0.0: resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== -ts-dedent@^2.0.0, ts-dedent@^2.2.0: +ts-dedent@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/ts-dedent/-/ts-dedent-2.2.0.tgz#39e4bd297cd036292ae2394eb3412be63f563bb5" integrity sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ== From 9cd8ff92c5ef348a8451e7f3e36b1c626ecf8d71 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Aug 2022 10:20:30 +0000 Subject: [PATCH 13/64] Bump @swc/core from 1.2.218 to 1.2.224 Bumps [@swc/core](https://github.com/swc-project/swc) from 1.2.218 to 1.2.224. - [Release notes](https://github.com/swc-project/swc/releases) - [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG.md) - [Commits](https://github.com/swc-project/swc/compare/v1.2.218...v1.2.224) --- updated-dependencies: - dependency-name: "@swc/core" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 160 +++++++++++++++++++++++++++++---------------------- 2 files changed, 92 insertions(+), 70 deletions(-) diff --git a/package.json b/package.json index 614eee18ba..183757cbeb 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "@babel/polyfill": "7.12.1" }, "devDependencies": { - "@swc/core": "1.2.218", + "@swc/core": "1.2.224", "@swc/jest": "0.2.22", "@testing-library/react": "11.2.7", "@testing-library/react-hooks": "3.7.0", diff --git a/yarn.lock b/yarn.lock index 70da8e0727..c5d90dca6c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6515,89 +6515,101 @@ remark "^13.0.0" unist-util-find-all-after "^3.0.2" -"@swc/core-android-arm-eabi@1.2.218": - version "1.2.218" - resolved "https://registry.yarnpkg.com/@swc/core-android-arm-eabi/-/core-android-arm-eabi-1.2.218.tgz#017792272e70a0511d7df3397a31d73c6ef37b40" - integrity sha512-Q/uLCh262t3xxNzhCz+ZW9t+g2nWd0gZZO4jMYFWJs7ilKVNsBfRtfnNGGACHzkVuWLNDIWtAS2PSNodl7VUHQ== +"@swc/core-android-arm-eabi@1.2.224": + version "1.2.224" + resolved "https://registry.yarnpkg.com/@swc/core-android-arm-eabi/-/core-android-arm-eabi-1.2.224.tgz#ee31c1855f2ac6583258d3b20da884868128a295" + integrity sha512-viVOYrhSqNxdDOCNu2UUfiAK0qjkmk/fB9mObdSb+48JlHv4kYBnSLjaIhj0NlXCsxgetH7QFbjrKXRJ+gpHqw== + dependencies: + "@swc/wasm" "1.2.122" -"@swc/core-android-arm64@1.2.218": - version "1.2.218" - resolved "https://registry.yarnpkg.com/@swc/core-android-arm64/-/core-android-arm64-1.2.218.tgz#ee1b6cd7281d9bd0f26d5d24843addf09365c137" - integrity sha512-dy+8lUHUcyrkfPcl7azEQ4M44duRo1Uibz1E5/tltXCGoR6tu2ZN2VkqEKgA2a9XR3UD8/x4lv2r5evwJWy+uQ== +"@swc/core-android-arm64@1.2.224": + version "1.2.224" + resolved "https://registry.yarnpkg.com/@swc/core-android-arm64/-/core-android-arm64-1.2.224.tgz#bbbab34ed297ee34e1f0b4780d5b04eb528581bf" + integrity sha512-HCfdnVyslhMX25BDOqE7rOcl3a6QHs34O3xLLY2J/wg2ICtbxehpbpBPrp+VBG3Ngv7VGD9OPhmFgGxElFtZLQ== + dependencies: + "@swc/wasm" "1.2.130" -"@swc/core-darwin-arm64@1.2.218": - version "1.2.218" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.2.218.tgz#d73f6eedf0aac4ad117e67227d65d65c57657858" - integrity sha512-aTpFjWio8G0oukN76VtXCBPtFzH0PXIQ+1dFjGGkzrBcU5suztCCbhPBGhKRoWp3NJBwfPDwwWzmG+ddXrVAKg== +"@swc/core-darwin-arm64@1.2.224": + version "1.2.224" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.2.224.tgz#71175f1574e7fb9a8a33b2795c334adc9bb1ac1d" + integrity sha512-jzv8Eop0GDe4owRDWr02n/xT7Bm6eTFWoM3nFXOM865gNYfASGGm3HHm4z20yndIxq5xuKHcOOH9QXQQhe/lQA== -"@swc/core-darwin-x64@1.2.218": - version "1.2.218" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.2.218.tgz#a872c618727ceac8780539b5fa8aa45ae600d362" - integrity sha512-H3w/gNzROE6gVPZCAg5qvvPihzlg88Yi7HWb/mowfpNqH9/iJ8XMdwqJyovnfUeUXsuJQBFv6uXv/ri7qhGMHA== +"@swc/core-darwin-x64@1.2.224": + version "1.2.224" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.2.224.tgz#ca93a1903cc0455fe0be24ac6f87ba0b7b6c66b7" + integrity sha512-hpdJt/BJ45+hcgs461nJxgMJVNN/2uJL8TLvFxeOJiDpF4r1elRxYfDC1W8ctMWB3eB3Wepz3Ku2z8l9UgPnyQ== -"@swc/core-freebsd-x64@1.2.218": - version "1.2.218" - resolved "https://registry.yarnpkg.com/@swc/core-freebsd-x64/-/core-freebsd-x64-1.2.218.tgz#6abc75e409739cad2ed9d57c1c741e8e5759794c" - integrity sha512-kkch07yCSlpUrSMp0FZPWtMHJjh3lfHiwp7JYNf6CUl5xXlgT19NeomPYq31dbTzPV2VnE7TVVlAawIjuuOH4g== +"@swc/core-freebsd-x64@1.2.224": + version "1.2.224" + resolved "https://registry.yarnpkg.com/@swc/core-freebsd-x64/-/core-freebsd-x64-1.2.224.tgz#24cfd1b17e0378cedb8e0ee87182e060d4efce6a" + integrity sha512-bVIXwwjYA1ZdMKTwrAosxG808nQqvHhzs/fOKUrl1VeZ9CTHA0FzpSXwaBf1shbUVKvQVPKydY0K5q9dkSUkpw== + dependencies: + "@swc/wasm" "1.2.130" -"@swc/core-linux-arm-gnueabihf@1.2.218": - version "1.2.218" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.2.218.tgz#a1a1bb172632082766770e47426df606c828d28c" - integrity sha512-vwEgvtD9f/+0HFxYD5q4sd8SG6zd0cxm17cwRGZ6jWh/d4Ninjht3CpDGE1ffh9nJ+X3Mb/7rjU/kTgWFz5qfg== +"@swc/core-linux-arm-gnueabihf@1.2.224": + version "1.2.224" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.2.224.tgz#e3941f308384793f5be582c751ac7e42badb3665" + integrity sha512-MY3UQI3IOjME5TpuIhwI0lqKHsU3x7BwlU4n/mLNe2lH3DLaP0rrGHCMI2iJqfiYKU1Rg1r01HXmysuiriF1TA== + dependencies: + "@swc/wasm" "1.2.130" -"@swc/core-linux-arm64-gnu@1.2.218": - version "1.2.218" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.2.218.tgz#4d3325cd35016dd5ec389084bd5c304348002b15" - integrity sha512-g5PQI6COUHV7x7tyaZQn6jXWtOLXXNIEQK1HS5/e+6kqqsM2NsndE9bjLhoH1EQuXiN2eUjAR/ZDOFAg102aRw== +"@swc/core-linux-arm64-gnu@1.2.224": + version "1.2.224" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.2.224.tgz#9f3f9c68997d2dec198a53b1cdc70950511e207a" + integrity sha512-tEpaGq4wp79tR+4s0h8xbzcxW6tZOfb2/Jf1vrmRYfRBqryBRTdtn14Rfy4qlK3s/SC3NfI2MKxZRgcGnMCeWw== -"@swc/core-linux-arm64-musl@1.2.218": - version "1.2.218" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.2.218.tgz#8abab2fe12bb6a7687ff3bbd6030fcc728ed007d" - integrity sha512-IETYHB6H01NmVmlw+Ng8nkjdFBv1exGQRR74GAnHis1bVx1Uq14hREIF6XT3I1Aj26nRwlGkIYQuEKnFO5/j3Q== +"@swc/core-linux-arm64-musl@1.2.224": + version "1.2.224" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.2.224.tgz#5215a83fa97f5b1879f49a1da4c7a7b1c68f445d" + integrity sha512-jnrYqXc7aRzBnEqEp3nAi9tjuUhBnN0pSKiHJytlBP1QkXnH7HD44Da9udmKUFYB5hHpwaXE0NIh7jK0nSMnhw== -"@swc/core-linux-x64-gnu@1.2.218": - version "1.2.218" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.2.218.tgz#39227c15018d9b5253e7679bc8bbe3fd7ed109cd" - integrity sha512-PK39Zg4/YZbfchQRw77iVfB7Qat7QaK58sQt8enH39CUMXlJ+GSfC0Fqw2mtZ12sFGwmsGrK9yBy3ZVoOws5Ng== +"@swc/core-linux-x64-gnu@1.2.224": + version "1.2.224" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.2.224.tgz#09e0fd990e3a884a6a8dab3491264e8ce9087aae" + integrity sha512-UBkeDlG+PrIXDH1sR4EIXN5qK4a677IHb6RBghbvBDJS61X9/nTDxtCF7/zCqDxJRahhUrT6lDsYpuLCws2hiw== -"@swc/core-linux-x64-musl@1.2.218": - version "1.2.218" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.2.218.tgz#d661bfc6a9f0c35979c0e608777355222092e534" - integrity sha512-SNjrzORJYiKTSmFbaBkKZAf5B/PszwoZoFZOcd86AG192zsvQBSvKjQzMjT5rDZxB+sOnhRE7wH/bvqxZishQQ== +"@swc/core-linux-x64-musl@1.2.224": + version "1.2.224" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.2.224.tgz#f214bf93d4fd1be0d8a5185b766074b5aee88536" + integrity sha512-CQMGDzxKvkzf6TOdaWnmhb6uk1XEhM/mM3BDfX+hx9j3Hg3bFw9qmPvrkoWI2G8J50MvpoR1iPBYyG2LNeQWeg== -"@swc/core-win32-arm64-msvc@1.2.218": - version "1.2.218" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.2.218.tgz#ea94260b36010d67f529d2f73c99e7d338a98711" - integrity sha512-lVXFWkYl+w8+deq9mgGsfvSY5Gr1RRjFgqZ+0wMZgyaonfx7jNn3TILUwc7egumEwxK0anNriVZCyKfcO3ZIjA== +"@swc/core-win32-arm64-msvc@1.2.224": + version "1.2.224" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.2.224.tgz#8b771ecd0af29209f374df5b95c0bac8e5ff0a3a" + integrity sha512-03V4apubsOhLKQNmfWGlgvDCJkhlh0ZOHcGddxb7bD4PeP6U0lnABG3hlz2uicwcIGBPu/p7jtm5/hezeiXE6Q== + dependencies: + "@swc/wasm" "1.2.130" -"@swc/core-win32-ia32-msvc@1.2.218": - version "1.2.218" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.2.218.tgz#b5b5fbbe17680e0e1626d974ac2ace2866da7639" - integrity sha512-jgP+NZsHUh9Cp8PcXznnkpJTW3hPDLUgsXI0NKfE+8+Xvc6hALHxl6K46IyPYU67FfFlegYcBSNkOgpc85gk0A== +"@swc/core-win32-ia32-msvc@1.2.224": + version "1.2.224" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.2.224.tgz#07a0dc112a4b7fdc5ab5b4bcd7aac85de3a4c2aa" + integrity sha512-gPOmIdhCwkb5BbDiPs/4t1LIElFLoQwiv45XwK5wADh1qzLD3A8EtpnpXfLsjL/fUMlLIGCgHQ6BQ0x04VrI1Q== + dependencies: + "@swc/wasm" "1.2.130" -"@swc/core-win32-x64-msvc@1.2.218": - version "1.2.218" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.2.218.tgz#9f6ba50cac6e3322d844cc24418c7b0ab08f7e0e" - integrity sha512-XYLjX00KV4ft324Q3QDkw61xHkoN7EKkVvIpb0wXaf6wVshwU+BCDyPw2CSg4PQecNP8QGgMRQf9QM7xNtEM7A== +"@swc/core-win32-x64-msvc@1.2.224": + version "1.2.224" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.2.224.tgz#eea8f04097dcf88f3a7c7eaa7aed049f38501f43" + integrity sha512-xALNoKi/UAQ2NflIkCBaZ4Nib75a4YwFp2pZ5Yen3vR8hxK2UJYlaNwyfsBwWfMOMsNxQ1Q1aaqoo0L+XON53Q== -"@swc/core@1.2.218": - version "1.2.218" - resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.2.218.tgz#3bc7532621f491bf920d103a4a0433ac7df9d390" - integrity sha512-wzXTeBUi3YAHr305lCo1tlxRj5Zpk7hu6rmulngH06NgrH7fS6bj8IaR7K2QPZ4ZZ4U+TGS2tOKbXBmqeMRUtg== +"@swc/core@1.2.224": + version "1.2.224" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.2.224.tgz#615d9a862daab7e9e41031f4292619b43eaf64a2" + integrity sha512-K0B0QKT0eSpPlL4amWJzllYJigQdE7+ha6VQVks6g/oiko1yMYP8lGcCKOKb+KuvW1ltPzlyFqi7h7ryEVG2vQ== optionalDependencies: - "@swc/core-android-arm-eabi" "1.2.218" - "@swc/core-android-arm64" "1.2.218" - "@swc/core-darwin-arm64" "1.2.218" - "@swc/core-darwin-x64" "1.2.218" - "@swc/core-freebsd-x64" "1.2.218" - "@swc/core-linux-arm-gnueabihf" "1.2.218" - "@swc/core-linux-arm64-gnu" "1.2.218" - "@swc/core-linux-arm64-musl" "1.2.218" - "@swc/core-linux-x64-gnu" "1.2.218" - "@swc/core-linux-x64-musl" "1.2.218" - "@swc/core-win32-arm64-msvc" "1.2.218" - "@swc/core-win32-ia32-msvc" "1.2.218" - "@swc/core-win32-x64-msvc" "1.2.218" + "@swc/core-android-arm-eabi" "1.2.224" + "@swc/core-android-arm64" "1.2.224" + "@swc/core-darwin-arm64" "1.2.224" + "@swc/core-darwin-x64" "1.2.224" + "@swc/core-freebsd-x64" "1.2.224" + "@swc/core-linux-arm-gnueabihf" "1.2.224" + "@swc/core-linux-arm64-gnu" "1.2.224" + "@swc/core-linux-arm64-musl" "1.2.224" + "@swc/core-linux-x64-gnu" "1.2.224" + "@swc/core-linux-x64-musl" "1.2.224" + "@swc/core-win32-arm64-msvc" "1.2.224" + "@swc/core-win32-ia32-msvc" "1.2.224" + "@swc/core-win32-x64-msvc" "1.2.224" "@swc/jest@0.2.22": version "0.2.22" @@ -6606,6 +6618,16 @@ dependencies: "@jest/create-cache-key-function" "^27.4.2" +"@swc/wasm@1.2.122": + version "1.2.122" + resolved "https://registry.yarnpkg.com/@swc/wasm/-/wasm-1.2.122.tgz#87a5e654b26a71b2e84b801f41e45f823b856639" + integrity sha512-sM1VCWQxmNhFtdxME+8UXNyPNhxNu7zdb6ikWpz0YKAQQFRGT5ThZgJrubEpah335SUToNg8pkdDF7ibVCjxbQ== + +"@swc/wasm@1.2.130": + version "1.2.130" + resolved "https://registry.yarnpkg.com/@swc/wasm/-/wasm-1.2.130.tgz#88ac26433335d1f957162a9a92f1450b73c176a0" + integrity sha512-rNcJsBxS70+pv8YUWwf5fRlWX6JoY/HJc25HD/F8m6Kv7XhJdqPPMhyX6TKkUBPAG7TWlZYoxa+rHAjPy4Cj3Q== + "@szmarczak/http-timer@^4.0.5": version "4.0.6" resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" From e65ffdd97792313938f12f4d064280af3964af66 Mon Sep 17 00:00:00 2001 From: smoothdvd Date: Mon, 8 Aug 2022 19:49:44 +0800 Subject: [PATCH 14/64] add default message --- .../src/content-manager/components/AttributeFilter/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/admin/admin/src/content-manager/components/AttributeFilter/index.js b/packages/core/admin/admin/src/content-manager/components/AttributeFilter/index.js index a39186a330..215c476090 100644 --- a/packages/core/admin/admin/src/content-manager/components/AttributeFilter/index.js +++ b/packages/core/admin/admin/src/content-manager/components/AttributeFilter/index.js @@ -20,7 +20,7 @@ const AttributeFilter = ({ contentType, slug, metadatas }) => { return { name, - metadatas: { label: formatMessage({ id: label }) }, + metadatas: { label: formatMessage({ id: label, defaultMessage: label }) }, fieldSchema: { type, options, mainField }, trackedEvent, }; From 073e6cc3beccdb7ff449972731773e8745b2ecf6 Mon Sep 17 00:00:00 2001 From: WalkingPizza Date: Sat, 6 Aug 2022 15:02:01 +0200 Subject: [PATCH 15/64] Generate fileInfo for every file when uploading in bulk --- packages/core/upload/server/controllers/content-api.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/core/upload/server/controllers/content-api.js b/packages/core/upload/server/controllers/content-api.js index 0e177d6a4c..d9b9ffb028 100644 --- a/packages/core/upload/server/controllers/content-api.js +++ b/packages/core/upload/server/controllers/content-api.js @@ -94,8 +94,14 @@ module.exports = { const apiUploadFolderService = getService('api-upload-folder'); const apiUploadFolder = await apiUploadFolderService.getAPIUploadFolder(); + data.fileInfo = data.fileInfo || {}; - data.fileInfo = Array.isArray(data.fileInfo) ? data.fileInfo : [data.fileInfo]; + + data.fileInfo = + Array.isArray(data.fileInfo) && data.fileInfo.length === files.length + ? data.fileInfo + : Array.from({ length: files.length || 1 }, () => data.fileInfo); + data.fileInfo.forEach(fileInfo => (fileInfo.folder = apiUploadFolder.id)); const uploadedFiles = await getService('upload').upload({ From 4e1d7358030518a783c0dc1dde7802f9eeb8fca3 Mon Sep 17 00:00:00 2001 From: WalkingPizza Date: Mon, 8 Aug 2022 15:08:26 +0200 Subject: [PATCH 16/64] Generate a fileInfo array on when necessary --- .../core/upload/server/controllers/content-api.js | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/packages/core/upload/server/controllers/content-api.js b/packages/core/upload/server/controllers/content-api.js index d9b9ffb028..da4e6b920f 100644 --- a/packages/core/upload/server/controllers/content-api.js +++ b/packages/core/upload/server/controllers/content-api.js @@ -95,14 +95,12 @@ module.exports = { const apiUploadFolder = await apiUploadFolderService.getAPIUploadFolder(); - data.fileInfo = data.fileInfo || {}; - - data.fileInfo = - Array.isArray(data.fileInfo) && data.fileInfo.length === files.length - ? data.fileInfo - : Array.from({ length: files.length || 1 }, () => data.fileInfo); - - data.fileInfo.forEach(fileInfo => (fileInfo.folder = apiUploadFolder.id)); + if (Array.isArray(files)) { + data.fileInfo = data.fileInfo || []; + data.fileInfo = files.map((_f, i) => ({ ...data.fileInfo[i], folder: apiUploadFolder.id })); + } else { + data.fileInfo = { ...data.fileInfo, folder: apiUploadFolder.id }; + } const uploadedFiles = await getService('upload').upload({ data, From 544b1258dde13d1c58bcf76eeaf0c33e4c375583 Mon Sep 17 00:00:00 2001 From: WalkingPizza Date: Mon, 8 Aug 2022 15:26:09 +0200 Subject: [PATCH 17/64] Properly flag that upload has multiple files --- packages/core/upload/server/controllers/content-api.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/upload/server/controllers/content-api.js b/packages/core/upload/server/controllers/content-api.js index da4e6b920f..7d4565d316 100644 --- a/packages/core/upload/server/controllers/content-api.js +++ b/packages/core/upload/server/controllers/content-api.js @@ -89,7 +89,7 @@ module.exports = { request: { body, files: { files } = {} }, } = ctx; - const data = await validateUploadBody(body); + const data = await validateUploadBody(body, Array.isArray(files)); const apiUploadFolderService = getService('api-upload-folder'); From e218f620e7030d8e43db773398f032e2b3c9059d Mon Sep 17 00:00:00 2001 From: Gustav Hansen Date: Mon, 8 Aug 2022 15:50:42 +0200 Subject: [PATCH 18/64] Chore: Remove legacy travis config file --- _travis/mysql.cnf | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 _travis/mysql.cnf diff --git a/_travis/mysql.cnf b/_travis/mysql.cnf deleted file mode 100644 index 5787a4a014..0000000000 --- a/_travis/mysql.cnf +++ /dev/null @@ -1,3 +0,0 @@ -[mysqld] -collation-server=utf8_unicode_ci -character-set-server=utf8 \ No newline at end of file From 483a260c0da1869095dcaedaa4a1f2896e7576c2 Mon Sep 17 00:00:00 2001 From: WalkingPizza Date: Mon, 8 Aug 2022 16:01:34 +0200 Subject: [PATCH 19/64] Add E2E tests --- .../upload-automatic-folder.test.e2e.js | 137 ++++++++++++++++++ 1 file changed, 137 insertions(+) diff --git a/packages/core/upload/tests/content-api/upload-automatic-folder.test.e2e.js b/packages/core/upload/tests/content-api/upload-automatic-folder.test.e2e.js index ebd0f8440f..36e78f1b24 100644 --- a/packages/core/upload/tests/content-api/upload-automatic-folder.test.e2e.js +++ b/packages/core/upload/tests/content-api/upload-automatic-folder.test.e2e.js @@ -413,4 +413,141 @@ describe('Uploads folder', () => { uploadFolder = file.folder; }); }); + + describe('Upload with multiple files', () => { + test('Uploaded files go into a specific folder', async () => { + const res = await rq({ + method: 'POST', + url: '/upload', + formData: { + files: [ + fs.createReadStream(path.join(__dirname, '../utils/rec.jpg')), + fs.createReadStream(path.join(__dirname, '../utils/strapi.jpg')), + ], + }, + }); + + expect(res.statusCode).toBe(200); + + const { + body: { results: files }, + } = await rqAdmin({ + method: 'GET', + url: `/upload/files?filters[id][$in][0]=${res.body[0].id}&filters[id][$in][1]=${res.body[1].id}`, + }); + + files.forEach(file => + expect(file).toMatchObject({ + folder: { + name: 'API Uploads (3)', + pathId: expect.any(Number), + }, + folderPath: `/${file.folder.pathId}`, + }) + ); + + expect(files.every(file => file.folder.id === files[0].folder.id)).toBe(true); + + uploadFolder = files[0].folder; + }); + + test('Uploads folder is recreated if deleted', async () => { + await rqAdmin({ + method: 'POST', + url: '/upload/actions/bulk-delete', + body: { + folderIds: [uploadFolder.id], + }, + }); + + const res = await rq({ + method: 'POST', + url: '/upload', + formData: { + files: [ + fs.createReadStream(path.join(__dirname, '../utils/rec.jpg')), + fs.createReadStream(path.join(__dirname, '../utils/strapi.jpg')), + ], + }, + }); + + expect(res.statusCode).toBe(200); + + const { + body: { results: files }, + } = await rqAdmin({ + method: 'GET', + url: `/upload/files?filters[id][$in][0]=${res.body[0].id}&filters[id][$in][1]=${res.body[1].id}`, + }); + + files.forEach(file => { + expect(file).toMatchObject({ + folder: { + name: 'API Uploads (3)', + pathId: expect.any(Number), + }, + folderPath: `/${file.folder.pathId}`, + }); + expect(file.folder.id).not.toBe(uploadFolder.id); + }); + + expect(files.every(file => file.folder.id === files[0].folder.id)).toBe(true); + + uploadFolder = files[0].folder; + }); + + test('Uploads folder is recreated if deleted (handle duplicates)', async () => { + await rqAdmin({ + method: 'POST', + url: '/upload/actions/bulk-delete', + body: { + folderIds: [uploadFolder.id], + }, + }); + + await rqAdmin({ + method: 'POST', + url: '/upload/folders', + body: { + name: 'API Uploads (3)', + parent: null, + }, + }); + + const res = await rq({ + method: 'POST', + url: '/upload', + formData: { + files: [ + fs.createReadStream(path.join(__dirname, '../utils/rec.jpg')), + fs.createReadStream(path.join(__dirname, '../utils/strapi.jpg')), + ], + }, + }); + + expect(res.statusCode).toBe(200); + + const { + body: { results: files }, + } = await rqAdmin({ + method: 'GET', + url: `/upload/files?filters[id][$in][0]=${res.body[0].id}&filters[id][$in][1]=${res.body[1].id}`, + }); + + files.forEach(file => { + expect(file).toMatchObject({ + folder: { + name: 'API Uploads (4)', + pathId: expect.any(Number), + }, + folderPath: `/${file.folder.pathId}`, + }); + expect(file.folder.id).not.toBe(uploadFolder.id); + }); + + expect(files.every(file => file.folder.id === files[0].folder.id)).toBe(true); + + uploadFolder = files[0].folder; + }); + }); }); From 36525d1a26c037dd4b5b419da06b268d4c6e8613 Mon Sep 17 00:00:00 2001 From: WalkingPizza Date: Mon, 8 Aug 2022 17:45:21 +0200 Subject: [PATCH 20/64] Add E2E tests with fileInfo --- .../upload-automatic-folder.test.e2e.js | 89 ++++++++++++++++++- 1 file changed, 86 insertions(+), 3 deletions(-) diff --git a/packages/core/upload/tests/content-api/upload-automatic-folder.test.e2e.js b/packages/core/upload/tests/content-api/upload-automatic-folder.test.e2e.js index 36e78f1b24..7da48e5fab 100644 --- a/packages/core/upload/tests/content-api/upload-automatic-folder.test.e2e.js +++ b/packages/core/upload/tests/content-api/upload-automatic-folder.test.e2e.js @@ -433,7 +433,15 @@ describe('Uploads folder', () => { body: { results: files }, } = await rqAdmin({ method: 'GET', - url: `/upload/files?filters[id][$in][0]=${res.body[0].id}&filters[id][$in][1]=${res.body[1].id}`, + url: '/upload/files', + qs: { + filters: { + id: { + $in: res.body.map(({ id }) => id), + }, + }, + populate: '*', + }, }); files.forEach(file => @@ -451,6 +459,65 @@ describe('Uploads folder', () => { uploadFolder = files[0].folder; }); + test('Uploaded files with fileInfo', async () => { + const fileInfo = [ + { + name: 'file1', + alternativeText: 'file1', + caption: 'file1', + }, + { + name: 'file2', + alternativeText: 'file2', + caption: 'file2', + }, + ]; + + const res = await rq({ + method: 'POST', + url: '/upload', + formData: { + files: [ + fs.createReadStream(path.join(__dirname, '../utils/rec.jpg')), + fs.createReadStream(path.join(__dirname, '../utils/strapi.jpg')), + ], + fileInfo: fileInfo.map(JSON.stringify), + }, + }); + + expect(res.statusCode).toBe(200); + + const { + body: { results: files }, + } = await rqAdmin({ + method: 'GET', + url: '/upload/files', + qs: { + filters: { + id: { + $in: res.body.map(({ id }) => id), + }, + }, + populate: '*', + }, + }); + + files.forEach((file, index) => + expect(file).toMatchObject({ + ...fileInfo[index], + folder: { + name: 'API Uploads (3)', + pathId: expect.any(Number), + }, + folderPath: `/${file.folder.pathId}`, + }) + ); + + expect(files.every(file => file.folder.id === files[0].folder.id)).toBe(true); + + uploadFolder = files[0].folder; + }); + test('Uploads folder is recreated if deleted', async () => { await rqAdmin({ method: 'POST', @@ -477,7 +544,15 @@ describe('Uploads folder', () => { body: { results: files }, } = await rqAdmin({ method: 'GET', - url: `/upload/files?filters[id][$in][0]=${res.body[0].id}&filters[id][$in][1]=${res.body[1].id}`, + url: '/upload/files', + qs: { + filters: { + id: { + $in: res.body.map(({ id }) => id), + }, + }, + populate: '*', + }, }); files.forEach(file => { @@ -531,7 +606,15 @@ describe('Uploads folder', () => { body: { results: files }, } = await rqAdmin({ method: 'GET', - url: `/upload/files?filters[id][$in][0]=${res.body[0].id}&filters[id][$in][1]=${res.body[1].id}`, + url: '/upload/files', + qs: { + filters: { + id: { + $in: res.body.map(({ id }) => id), + }, + }, + populate: '*', + }, }); files.forEach(file => { From f92ff683ea96c87840f8518c6a07b210750e074b Mon Sep 17 00:00:00 2001 From: Bassel Kanso Date: Tue, 9 Aug 2022 10:45:58 +0300 Subject: [PATCH 21/64] make 'id' default value for count --- packages/core/database/lib/query/query-builder.js | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/packages/core/database/lib/query/query-builder.js b/packages/core/database/lib/query/query-builder.js index 4626d0a686..0342cb1fc7 100644 --- a/packages/core/database/lib/query/query-builder.js +++ b/packages/core/database/lib/query/query-builder.js @@ -71,7 +71,7 @@ const createQueryBuilder = (uid, db) => { return this; }, - count(count = '*') { + count(count = 'id') { state.type = 'count'; state.count = count; @@ -258,8 +258,8 @@ const createQueryBuilder = (uid, db) => { this.processSelect(); }, - shouldUseDistinct(numberOfJoins = 0) { - return state.joins.length > numberOfJoins && _.isEmpty(state.groupBy); + shouldUseDistinct() { + return state.joins.length > 0 && _.isEmpty(state.groupBy); }, processSelect() { @@ -301,12 +301,9 @@ const createQueryBuilder = (uid, db) => { break; } case 'count': { - const dbColumnName = - state.count === '*' - ? this.aliasColumn(helpers.toColumnName(meta, 'id')) - : this.aliasColumn(helpers.toColumnName(meta, state.count)); + const dbColumnName = this.aliasColumn(helpers.toColumnName(meta, state.count)); - if (this.shouldUseDistinct(2)) { + if (this.shouldUseDistinct()) { qb.countDistinct({ count: dbColumnName }); } else { qb.count({ count: dbColumnName }); From 88add99d135821257d4fd00a8c85c63bb4d30220 Mon Sep 17 00:00:00 2001 From: Gustav Hansen Date: Tue, 9 Aug 2022 09:57:53 +0200 Subject: [PATCH 22/64] Chore: Update example @strapi/ dependencies --- examples/getstarted/package.json | 1 - examples/kitchensink-ts/package.json | 2 +- examples/kitchensink/package.json | 1 - yarn.lock | 1371 ++------------------------ 4 files changed, 100 insertions(+), 1275 deletions(-) diff --git a/examples/getstarted/package.json b/examples/getstarted/package.json index ba1994408f..807a871fbb 100644 --- a/examples/getstarted/package.json +++ b/examples/getstarted/package.json @@ -12,7 +12,6 @@ "strapi": "strapi" }, "dependencies": { - "@strapi/admin": "4.3.2", "@strapi/plugin-documentation": "4.3.2", "@strapi/plugin-graphql": "4.3.2", "@strapi/plugin-i18n": "4.3.2", diff --git a/examples/kitchensink-ts/package.json b/examples/kitchensink-ts/package.json index 428d80b582..e9aee3dda9 100644 --- a/examples/kitchensink-ts/package.json +++ b/examples/kitchensink-ts/package.json @@ -12,7 +12,7 @@ "dependencies": { "@strapi/plugin-i18n": "4.1.12", "@strapi/plugin-users-permissions": "4.1.12", - "@strapi/strapi": "4.2.2", + "@strapi/strapi": "4.3.2", "better-sqlite3": "7.4.6" }, "author": { diff --git a/examples/kitchensink/package.json b/examples/kitchensink/package.json index 51f274068a..be4505066f 100644 --- a/examples/kitchensink/package.json +++ b/examples/kitchensink/package.json @@ -12,7 +12,6 @@ "strapi": "strapi" }, "dependencies": { - "@strapi/admin": "4.3.2", "@strapi/provider-email-mailgun": "4.3.2", "@strapi/provider-upload-aws-s3": "4.3.2", "@strapi/provider-upload-cloudinary": "4.3.2", diff --git a/yarn.lock b/yarn.lock index 515656ede3..71b2222b1b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -159,7 +159,7 @@ dependencies: "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.16.4", "@babel/compat-data@^7.17.7": +"@babel/compat-data@^7.17.7": version "7.17.7" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2" integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ== @@ -191,27 +191,6 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.7.tgz#db990f931f6d40cb9b87a0dc7d2adc749f1dcbcf" - integrity sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.16.7" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helpers" "^7.16.7" - "@babel/parser" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - source-map "^0.5.0" - "@babel/core@7.18.10", "@babel/core@^7.17.9": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.10.tgz#39ad504991d77f1f3da91be0b8b949a5bc466fb8" @@ -263,7 +242,7 @@ "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" -"@babel/generator@^7.12.11", "@babel/generator@^7.12.5", "@babel/generator@^7.16.7", "@babel/generator@^7.17.9", "@babel/generator@^7.18.10", "@babel/generator@^7.18.2": +"@babel/generator@^7.12.11", "@babel/generator@^7.12.5", "@babel/generator@^7.17.9", "@babel/generator@^7.18.10", "@babel/generator@^7.18.2": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.10.tgz#794f328bfabdcbaf0ebf9bf91b5b57b61fa77a2a" integrity sha512-0+sW7e3HjQbiHbj1NeU/vN8ornohYlacAfZIaXhdoGweQqgcNy69COVciYYqEXJ/v+9OBA7Frxm4CVAuNqKeNA== @@ -288,7 +267,7 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.7", "@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": +"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz#acd4edfd7a566d1d51ea975dff38fd52906981bb" integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw== @@ -296,7 +275,7 @@ "@babel/helper-explode-assignable-expression" "^7.18.6" "@babel/types" "^7.18.9" -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.2", "@babel/helper-compilation-targets@^7.18.9": +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.2", "@babel/helper-compilation-targets@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz#69e64f57b524cde3e5ff6cc5a9f4a387ee5563bf" integrity sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg== @@ -306,7 +285,7 @@ browserslist "^4.20.2" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7": +"@babel/helper-create-class-features-plugin@^7.16.7": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz#71835d7fb9f38bd9f1378e40a4c0902fdc2ea49d" integrity sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ== @@ -375,7 +354,7 @@ resolve "^1.14.2" semver "^6.1.2" -"@babel/helper-define-polyfill-provider@^0.3.0", "@babel/helper-define-polyfill-provider@^0.3.1", "@babel/helper-define-polyfill-provider@^0.3.2": +"@babel/helper-define-polyfill-provider@^0.3.2": version "0.3.2" resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz#bd10d0aca18e8ce012755395b05a79f45eca5073" integrity sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg== @@ -447,7 +426,7 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.16.7", "@babel/helper-module-transforms@^7.18.0", "@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.18.9": +"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.18.0", "@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz#5a1079c005135ed627442df31a42887e80fcb712" integrity sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g== @@ -478,7 +457,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz#4b8aea3b069d8cb8a72cdfe28ddf5ceca695ef2f" integrity sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w== -"@babel/helper-remap-async-to-generator@^7.16.8", "@babel/helper-remap-async-to-generator@^7.18.6", "@babel/helper-remap-async-to-generator@^7.18.9": +"@babel/helper-remap-async-to-generator@^7.18.6", "@babel/helper-remap-async-to-generator@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== @@ -541,7 +520,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== -"@babel/helper-validator-option@^7.16.7", "@babel/helper-validator-option@^7.18.6": +"@babel/helper-validator-option@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== @@ -565,15 +544,6 @@ "@babel/traverse" "^7.18.2" "@babel/types" "^7.18.2" -"@babel/helpers@^7.16.7": - version "7.17.9" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.9.tgz#b2af120821bfbe44f9907b1826e168e819375a1a" - integrity sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q== - dependencies: - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.9" - "@babel/types" "^7.17.0" - "@babel/helpers@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.9.tgz#4bef3b893f253a1eced04516824ede94dcfe7ff9" @@ -592,32 +562,18 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@7.18.10", "@babel/parser@^7.1.0", "@babel/parser@^7.12.11", "@babel/parser@^7.12.7", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.9", "@babel/parser@^7.18.10", "@babel/parser@^7.18.5", "@babel/parser@^7.18.9", "@babel/parser@^7.7.0", "@babel/parser@^7.8.3": +"@babel/parser@7.18.10", "@babel/parser@^7.1.0", "@babel/parser@^7.12.11", "@babel/parser@^7.12.7", "@babel/parser@^7.14.7", "@babel/parser@^7.17.9", "@babel/parser@^7.18.10", "@babel/parser@^7.18.5", "@babel/parser@^7.18.9", "@babel/parser@^7.7.0", "@babel/parser@^7.8.3": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.10.tgz#94b5f8522356e69e8277276adf67ed280c90ecc1" integrity sha512-TYk3OA0HKL6qNryUayb5UUEhM/rkOQozIBEA5ITXh5DWrSp0TlUQXMyZmnWxG/DizSWBeeQ0Zbc5z8UGaaqoeg== -"@babel/parser@^7.18.11": - version "7.18.11" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.11.tgz#68bb07ab3d380affa9a3f96728df07969645d2d9" - integrity sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ== - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz#cc001234dfc139ac45f6bcf801866198c8c72ff9" - integrity sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - "@babel/plugin-proposal-optional-chaining" "^7.16.7" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz#a11af19aa373d68d561f08e0a57242350ed0ec50" @@ -627,15 +583,6 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" "@babel/plugin-proposal-optional-chaining" "^7.18.9" -"@babel/plugin-proposal-async-generator-functions@^7.16.7": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz#3bdd1ebbe620804ea9416706cd67d60787504bc8" - integrity sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-remap-async-to-generator" "^7.16.8" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-proposal-async-generator-functions@^7.18.10": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz#85ea478c98b0095c3e4102bff3b67d306ed24952" @@ -646,7 +593,7 @@ "@babel/helper-remap-async-to-generator" "^7.18.9" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-class-properties@7.16.7", "@babel/plugin-proposal-class-properties@^7.16.7": +"@babel/plugin-proposal-class-properties@7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz#925cad7b3b1a2fcea7e59ecc8eb5954f961f91b0" integrity sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww== @@ -670,7 +617,7 @@ "@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-proposal-class-static-block@^7.16.7", "@babel/plugin-proposal-class-static-block@^7.18.6": +"@babel/plugin-proposal-class-static-block@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz#8aa81d403ab72d3962fc06c26e222dacfc9b9020" integrity sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw== @@ -690,7 +637,7 @@ "@babel/helper-split-export-declaration" "^7.18.6" "@babel/plugin-syntax-decorators" "^7.18.6" -"@babel/plugin-proposal-dynamic-import@^7.16.7", "@babel/plugin-proposal-dynamic-import@^7.18.6": +"@babel/plugin-proposal-dynamic-import@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94" integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== @@ -714,7 +661,7 @@ "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-syntax-export-default-from" "^7.18.6" -"@babel/plugin-proposal-export-namespace-from@^7.16.7", "@babel/plugin-proposal-export-namespace-from@^7.18.9": +"@babel/plugin-proposal-export-namespace-from@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203" integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== @@ -730,7 +677,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-function-bind" "^7.18.6" -"@babel/plugin-proposal-json-strings@^7.16.7", "@babel/plugin-proposal-json-strings@^7.18.6": +"@babel/plugin-proposal-json-strings@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b" integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== @@ -738,14 +685,6 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-proposal-logical-assignment-operators@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz#be23c0ba74deec1922e639832904be0bea73cdea" - integrity sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-proposal-logical-assignment-operators@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz#8148cbb350483bf6220af06fa6db3690e14b2e23" @@ -754,7 +693,7 @@ "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1", "@babel/plugin-proposal-nullish-coalescing-operator@^7.16.7", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": +"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== @@ -762,14 +701,6 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-proposal-numeric-separator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz#d6b69f4af63fb38b6ca2558442a7fb191236eba9" - integrity sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-proposal-numeric-separator@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" @@ -787,7 +718,7 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.0" "@babel/plugin-transform-parameters" "^7.12.1" -"@babel/plugin-proposal-object-rest-spread@^7.12.1", "@babel/plugin-proposal-object-rest-spread@^7.16.7", "@babel/plugin-proposal-object-rest-spread@^7.18.9": +"@babel/plugin-proposal-object-rest-spread@^7.12.1", "@babel/plugin-proposal-object-rest-spread@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz#f9434f6beb2c8cae9dfcf97d2a5941bbbf9ad4e7" integrity sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q== @@ -798,14 +729,6 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-transform-parameters" "^7.18.8" -"@babel/plugin-proposal-optional-catch-binding@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz#c623a430674ffc4ab732fd0a0ae7722b67cb74cf" - integrity sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-proposal-optional-catch-binding@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" @@ -814,7 +737,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.12.7", "@babel/plugin-proposal-optional-chaining@^7.16.7", "@babel/plugin-proposal-optional-chaining@^7.18.9": +"@babel/plugin-proposal-optional-chaining@^7.12.7", "@babel/plugin-proposal-optional-chaining@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz#e8e8fe0723f2563960e4bf5e9690933691915993" integrity sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w== @@ -831,14 +754,6 @@ "@babel/helper-create-class-features-plugin" "^7.17.12" "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-proposal-private-methods@^7.16.7": - version "7.16.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz#e8df108288555ff259f4527dbe84813aac3a1c50" - integrity sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.10" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-proposal-private-methods@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" @@ -847,7 +762,7 @@ "@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-proposal-private-property-in-object@^7.12.1", "@babel/plugin-proposal-private-property-in-object@^7.16.7", "@babel/plugin-proposal-private-property-in-object@^7.18.6": +"@babel/plugin-proposal-private-property-in-object@^7.12.1", "@babel/plugin-proposal-private-property-in-object@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz#a64137b232f0aca3733a67eb1a144c192389c503" integrity sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw== @@ -857,14 +772,6 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-proposal-unicode-property-regex@^7.16.7", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz#635d18eb10c6214210ffc5ff4932552de08188a2" - integrity sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-proposal-unicode-property-regex@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" @@ -873,6 +780,14 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" +"@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz#635d18eb10c6214210ffc5ff4932552de08188a2" + integrity sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" @@ -1048,22 +963,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-transform-arrow-functions@^7.16.7", "@babel/plugin-transform-arrow-functions@^7.18.6": +"@babel/plugin-transform-arrow-functions@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz#19063fcf8771ec7b31d742339dac62433d0611fe" integrity sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-async-to-generator@^7.16.7": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz#b83dff4b970cf41f1b819f8b49cc0cfbaa53a808" - integrity sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg== - dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-remap-async-to-generator" "^7.16.8" - "@babel/plugin-transform-async-to-generator@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz#ccda3d1ab9d5ced5265fdb13f1882d5476c71615" @@ -1073,13 +979,6 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-remap-async-to-generator" "^7.18.6" -"@babel/plugin-transform-block-scoped-functions@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620" - integrity sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-transform-block-scoped-functions@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8" @@ -1087,14 +986,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-block-scoping@^7.12.12", "@babel/plugin-transform-block-scoping@^7.16.7", "@babel/plugin-transform-block-scoping@^7.18.9": +"@babel/plugin-transform-block-scoping@^7.12.12", "@babel/plugin-transform-block-scoping@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz#f9b7e018ac3f373c81452d6ada8bd5a18928926d" integrity sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw== dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-classes@^7.12.1", "@babel/plugin-transform-classes@^7.16.7", "@babel/plugin-transform-classes@^7.18.9": +"@babel/plugin-transform-classes@^7.12.1", "@babel/plugin-transform-classes@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz#90818efc5b9746879b869d5ce83eb2aa48bbc3da" integrity sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g== @@ -1108,13 +1007,6 @@ "@babel/helper-split-export-declaration" "^7.18.6" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz#66dee12e46f61d2aae7a73710f591eb3df616470" - integrity sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-transform-computed-properties@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz#2357a8224d402dad623caf6259b611e56aec746e" @@ -1129,13 +1021,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-transform-destructuring@^7.16.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz#49dc2675a7afa9a5e4c6bdee636061136c3408d1" - integrity sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-transform-destructuring@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz#68906549c021cb231bee1db21d3b5b095f8ee292" @@ -1143,14 +1028,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-dotall-regex@^7.16.7", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz#6b2d67686fab15fb6a7fd4bd895d5982cfc81241" - integrity sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-transform-dotall-regex@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8" @@ -1159,21 +1036,21 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-duplicate-keys@^7.16.7", "@babel/plugin-transform-duplicate-keys@^7.18.9": +"@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz#6b2d67686fab15fb6a7fd4bd895d5982cfc81241" + integrity sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-duplicate-keys@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz#687f15ee3cdad6d85191eb2a372c4528eaa0ae0e" integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-exponentiation-operator@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz#efa9862ef97e9e9e5f653f6ddc7b665e8536fe9b" - integrity sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-transform-exponentiation-operator@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz#421c705f4521888c65e91fdd1af951bfefd4dacd" @@ -1197,14 +1074,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-transform-for-of@^7.16.7", "@babel/plugin-transform-for-of@^7.18.8": +"@babel/plugin-transform-for-of@^7.18.8": version "7.18.8" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz#6ef8a50b244eb6a0bdbad0c7c61877e4e30097c1" integrity sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-function-name@^7.16.7", "@babel/plugin-transform-function-name@^7.18.9": +"@babel/plugin-transform-function-name@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0" integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== @@ -1213,13 +1090,6 @@ "@babel/helper-function-name" "^7.18.9" "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz#254c9618c5ff749e87cb0c0cef1a0a050c0bdab1" - integrity sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-transform-literals@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc" @@ -1227,13 +1097,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-member-expression-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384" - integrity sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-transform-member-expression-literals@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e" @@ -1241,7 +1104,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-modules-amd@^7.16.7", "@babel/plugin-transform-modules-amd@^7.18.6": +"@babel/plugin-transform-modules-amd@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz#8c91f8c5115d2202f277549848874027d7172d21" integrity sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg== @@ -1250,7 +1113,7 @@ "@babel/helper-plugin-utils" "^7.18.6" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@7.18.6", "@babel/plugin-transform-modules-commonjs@^7.16.7", "@babel/plugin-transform-modules-commonjs@^7.18.6": +"@babel/plugin-transform-modules-commonjs@7.18.6", "@babel/plugin-transform-modules-commonjs@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz#afd243afba166cca69892e24a8fd8c9f2ca87883" integrity sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q== @@ -1260,7 +1123,7 @@ "@babel/helper-simple-access" "^7.18.6" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.16.7", "@babel/plugin-transform-modules-systemjs@^7.18.9": +"@babel/plugin-transform-modules-systemjs@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz#545df284a7ac6a05125e3e405e536c5853099a06" integrity sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A== @@ -1271,14 +1134,6 @@ "@babel/helper-validator-identifier" "^7.18.6" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-umd@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz#23dad479fa585283dbd22215bff12719171e7618" - integrity sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ== - dependencies: - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-transform-modules-umd@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz#81d3832d6034b75b54e62821ba58f28ed0aab4b9" @@ -1287,13 +1142,6 @@ "@babel/helper-module-transforms" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-named-capturing-groups-regex@^7.16.7": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz#7f860e0e40d844a02c9dcf9d84965e7dfd666252" - integrity sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/plugin-transform-named-capturing-groups-regex@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz#c89bfbc7cc6805d692f3a49bc5fc1b630007246d" @@ -1302,21 +1150,13 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-new-target@^7.16.7", "@babel/plugin-transform-new-target@^7.18.6": +"@babel/plugin-transform-new-target@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz#d128f376ae200477f37c4ddfcc722a8a1b3246a8" integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-object-super@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94" - integrity sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - "@babel/plugin-transform-object-super@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c" @@ -1325,20 +1165,13 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-replace-supers" "^7.18.6" -"@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.16.7", "@babel/plugin-transform-parameters@^7.18.8": +"@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.18.8": version "7.18.8" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz#ee9f1a0ce6d78af58d0956a9378ea3427cccb48a" integrity sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-property-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55" - integrity sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-transform-property-literals@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3" @@ -1346,21 +1179,21 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-react-display-name@^7.16.7", "@babel/plugin-transform-react-display-name@^7.18.6": +"@babel/plugin-transform-react-display-name@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz#8b1125f919ef36ebdfff061d664e266c666b9415" integrity sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA== dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-react-jsx-development@^7.16.7", "@babel/plugin-transform-react-jsx-development@^7.18.6": +"@babel/plugin-transform-react-jsx-development@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz#dbe5c972811e49c7405b630e4d0d2e1380c0ddc5" integrity sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA== dependencies: "@babel/plugin-transform-react-jsx" "^7.18.6" -"@babel/plugin-transform-react-jsx@^7.12.12", "@babel/plugin-transform-react-jsx@^7.16.7", "@babel/plugin-transform-react-jsx@^7.18.6": +"@babel/plugin-transform-react-jsx@^7.12.12", "@babel/plugin-transform-react-jsx@^7.18.6": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.18.10.tgz#ea47b2c4197102c196cbd10db9b3bb20daa820f1" integrity sha512-gCy7Iikrpu3IZjYZolFE4M1Sm+nrh1/6za2Ewj77Z+XirT4TsbJcvOFOyF+fRPwU6AKKK136CZxx6L8AbSFG6A== @@ -1371,7 +1204,7 @@ "@babel/plugin-syntax-jsx" "^7.18.6" "@babel/types" "^7.18.10" -"@babel/plugin-transform-react-pure-annotations@^7.16.7", "@babel/plugin-transform-react-pure-annotations@^7.18.6": +"@babel/plugin-transform-react-pure-annotations@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz#561af267f19f3e5d59291f9950fd7b9663d0d844" integrity sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ== @@ -1379,7 +1212,7 @@ "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-regenerator@^7.16.7", "@babel/plugin-transform-regenerator@^7.18.6": +"@babel/plugin-transform-regenerator@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz#585c66cb84d4b4bf72519a34cfce761b8676ca73" integrity sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ== @@ -1387,13 +1220,6 @@ "@babel/helper-plugin-utils" "^7.18.6" regenerator-transform "^0.15.0" -"@babel/plugin-transform-reserved-words@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz#1d798e078f7c5958eec952059c460b220a63f586" - integrity sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-transform-reserved-words@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz#b1abd8ebf8edaa5f7fe6bbb8d2133d23b6a6f76a" @@ -1401,18 +1227,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-runtime@7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.7.tgz#1da184cb83a2287a01956c10c60e66dd503c18aa" - integrity sha512-2FoHiSAWkdq4L06uaDN3rS43i6x28desUVxq+zAFuE6kbWYQeiLPJI5IC7Sg9xKYVcrBKSQkVUfH6aeQYbl9QA== - dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.4.0" - babel-plugin-polyfill-regenerator "^0.3.0" - semver "^6.3.0" - "@babel/plugin-transform-runtime@7.18.10": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.10.tgz#37d14d1fa810a368fd635d4d1476c0154144a96f" @@ -1425,7 +1239,7 @@ babel-plugin-polyfill-regenerator "^0.4.0" semver "^6.3.0" -"@babel/plugin-transform-shorthand-properties@^7.12.1", "@babel/plugin-transform-shorthand-properties@^7.16.7": +"@babel/plugin-transform-shorthand-properties@^7.12.1": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a" integrity sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg== @@ -1447,14 +1261,6 @@ "@babel/helper-plugin-utils" "^7.17.12" "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" -"@babel/plugin-transform-spread@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz#a303e2122f9f12e0105daeedd0f30fb197d8ff44" - integrity sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - "@babel/plugin-transform-spread@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz#6ea7a6297740f381c540ac56caf75b05b74fb664" @@ -1463,7 +1269,7 @@ "@babel/helper-plugin-utils" "^7.18.9" "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" -"@babel/plugin-transform-sticky-regex@^7.16.7", "@babel/plugin-transform-sticky-regex@^7.18.6": +"@babel/plugin-transform-sticky-regex@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz#c6706eb2b1524028e317720339583ad0f444adcc" integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== @@ -1477,14 +1283,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-transform-template-literals@^7.16.7", "@babel/plugin-transform-template-literals@^7.18.9": +"@babel/plugin-transform-template-literals@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e" integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-typeof-symbol@^7.16.7", "@babel/plugin-transform-typeof-symbol@^7.18.9": +"@babel/plugin-transform-typeof-symbol@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz#c8cea68263e45addcd6afc9091429f80925762c0" integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== @@ -1500,21 +1306,13 @@ "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-syntax-typescript" "^7.18.6" -"@babel/plugin-transform-unicode-escapes@^7.16.7", "@babel/plugin-transform-unicode-escapes@^7.18.10": +"@babel/plugin-transform-unicode-escapes@^7.18.10": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz#1ecfb0eda83d09bbcb77c09970c2dd55832aa246" integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ== dependencies: "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-unicode-regex@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz#0f7aa4a501198976e25e82702574c34cfebe9ef2" - integrity sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-transform-unicode-regex@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca" @@ -1531,86 +1329,6 @@ core-js "^2.6.5" regenerator-runtime "^0.13.4" -"@babel/preset-env@7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.7.tgz#c491088856d0b3177822a2bf06cb74d76327aa56" - integrity sha512-urX3Cee4aOZbRWOSa3mKPk0aqDikfILuo+C7qq7HY0InylGNZ1fekq9jmlr3pLWwZHF4yD7heQooc2Pow2KMyQ== - dependencies: - "@babel/compat-data" "^7.16.4" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-validator-option" "^7.16.7" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.7" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.7" - "@babel/plugin-proposal-async-generator-functions" "^7.16.7" - "@babel/plugin-proposal-class-properties" "^7.16.7" - "@babel/plugin-proposal-class-static-block" "^7.16.7" - "@babel/plugin-proposal-dynamic-import" "^7.16.7" - "@babel/plugin-proposal-export-namespace-from" "^7.16.7" - "@babel/plugin-proposal-json-strings" "^7.16.7" - "@babel/plugin-proposal-logical-assignment-operators" "^7.16.7" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.7" - "@babel/plugin-proposal-numeric-separator" "^7.16.7" - "@babel/plugin-proposal-object-rest-spread" "^7.16.7" - "@babel/plugin-proposal-optional-catch-binding" "^7.16.7" - "@babel/plugin-proposal-optional-chaining" "^7.16.7" - "@babel/plugin-proposal-private-methods" "^7.16.7" - "@babel/plugin-proposal-private-property-in-object" "^7.16.7" - "@babel/plugin-proposal-unicode-property-regex" "^7.16.7" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-transform-arrow-functions" "^7.16.7" - "@babel/plugin-transform-async-to-generator" "^7.16.7" - "@babel/plugin-transform-block-scoped-functions" "^7.16.7" - "@babel/plugin-transform-block-scoping" "^7.16.7" - "@babel/plugin-transform-classes" "^7.16.7" - "@babel/plugin-transform-computed-properties" "^7.16.7" - "@babel/plugin-transform-destructuring" "^7.16.7" - "@babel/plugin-transform-dotall-regex" "^7.16.7" - "@babel/plugin-transform-duplicate-keys" "^7.16.7" - "@babel/plugin-transform-exponentiation-operator" "^7.16.7" - "@babel/plugin-transform-for-of" "^7.16.7" - "@babel/plugin-transform-function-name" "^7.16.7" - "@babel/plugin-transform-literals" "^7.16.7" - "@babel/plugin-transform-member-expression-literals" "^7.16.7" - "@babel/plugin-transform-modules-amd" "^7.16.7" - "@babel/plugin-transform-modules-commonjs" "^7.16.7" - "@babel/plugin-transform-modules-systemjs" "^7.16.7" - "@babel/plugin-transform-modules-umd" "^7.16.7" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.7" - "@babel/plugin-transform-new-target" "^7.16.7" - "@babel/plugin-transform-object-super" "^7.16.7" - "@babel/plugin-transform-parameters" "^7.16.7" - "@babel/plugin-transform-property-literals" "^7.16.7" - "@babel/plugin-transform-regenerator" "^7.16.7" - "@babel/plugin-transform-reserved-words" "^7.16.7" - "@babel/plugin-transform-shorthand-properties" "^7.16.7" - "@babel/plugin-transform-spread" "^7.16.7" - "@babel/plugin-transform-sticky-regex" "^7.16.7" - "@babel/plugin-transform-template-literals" "^7.16.7" - "@babel/plugin-transform-typeof-symbol" "^7.16.7" - "@babel/plugin-transform-unicode-escapes" "^7.16.7" - "@babel/plugin-transform-unicode-regex" "^7.16.7" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.16.7" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.4.0" - babel-plugin-polyfill-regenerator "^0.3.0" - core-js-compat "^3.19.1" - semver "^6.3.0" - "@babel/preset-env@7.18.10", "@babel/preset-env@^7.12.11": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.18.10.tgz#83b8dfe70d7eea1aae5a10635ab0a5fe60dfc0f4" @@ -1712,18 +1430,6 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/preset-react@7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.16.7.tgz#4c18150491edc69c183ff818f9f2aecbe5d93852" - integrity sha512-fWpyI8UM/HE6DfPBzD8LnhQ/OcH8AgTaqcqP2nGOXEUV+VKBR5JRN9hCk9ai+zQQ57vtm9oWeXguBCPNUjytgA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-validator-option" "^7.16.7" - "@babel/plugin-transform-react-display-name" "^7.16.7" - "@babel/plugin-transform-react-jsx" "^7.16.7" - "@babel/plugin-transform-react-jsx-development" "^7.16.7" - "@babel/plugin-transform-react-pure-annotations" "^7.16.7" - "@babel/preset-react@7.18.6", "@babel/preset-react@^7.12.10": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.18.6.tgz#979f76d6277048dc19094c217b507f3ad517dd2d" @@ -1764,14 +1470,7 @@ core-js-pure "^3.20.2" regenerator-runtime "^0.13.4" -"@babel/runtime@7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.7.tgz#03ff99f64106588c9c403c6ecb8c3bafbbdff1fa" - integrity sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/runtime@7.18.9", "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.5", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.8", "@babel/runtime@^7.15.4", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": +"@babel/runtime@7.18.9", "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.5", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.8", "@babel/runtime@^7.15.4", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.9.tgz#b4fcfce55db3d2e5e080d2490f608a3b9f407f4a" integrity sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw== @@ -1835,22 +1534,6 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/traverse@^7.17.9": - version "7.18.11" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.11.tgz#3d51f2afbd83ecf9912bcbb5c4d94e3d2ddaa16f" - integrity sha512-TG9PiM2R/cWCAy6BPJKeHzNbu4lPzOSZpeMfeNErskGpTJx6trEvFaVCbDvpcxwy49BKWmEPwiW8mrysNiDvIQ== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.18.10" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.18.9" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.18.11" - "@babel/types" "^7.18.10" - debug "^4.1.0" - globals "^11.1.0" - "@babel/traverse@^7.18.10", "@babel/traverse@^7.18.2", "@babel/traverse@^7.18.5": version "7.18.10" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.10.tgz#37ad97d1cb00efa869b91dd5d1950f8a6cf0cb08" @@ -1964,7 +1647,7 @@ "@emotion/utils" "0.11.3" "@emotion/weak-memoize" "0.2.5" -"@emotion/cache@^11.0.0", "@emotion/cache@^11.10.0", "@emotion/cache@^11.4.0": +"@emotion/cache@^11.0.0", "@emotion/cache@^11.10.0": version "11.10.1" resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.10.1.tgz#75a157c2a6bb9220450f73ebef1df2e1467dc65d" integrity sha512-uZTj3Yz5D69GE25iFZcIQtibnVCFsc/6+XIozyL3ycgWvEdif2uEw9wlUt6umjLr4Keg9K6xRPHmD8LGi+6p1A== @@ -2156,13 +1839,6 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@fingerprintjs/fingerprintjs@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@fingerprintjs/fingerprintjs/-/fingerprintjs-3.3.2.tgz#8b1d79dfda8b1d9a66958d46894e459faef77c9c" - integrity sha512-CB/n3JWnMvhLWgR49Z6qSr6PShXQKGmIiZ0VAmQeoW8foD5z067xUnCxGG7/Fd9rfwmx6I4+8i549j0ujQEcAQ== - dependencies: - tslib "^2.0.1" - "@fingerprintjs/fingerprintjs@3.3.3": version "3.3.3" resolved "https://registry.yarnpkg.com/@fingerprintjs/fingerprintjs/-/fingerprintjs-3.3.3.tgz#ead445032c92a79d5f585953019402ed223edc7d" @@ -2411,7 +2087,7 @@ resolved "https://registry.yarnpkg.com/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz#98c23c950a3d9b6c8f0daed06da6c3af06981340" integrity sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q== -"@internationalized/number@^3.0.2", "@internationalized/number@^3.1.1": +"@internationalized/number@^3.1.1": version "3.1.1" resolved "https://registry.yarnpkg.com/@internationalized/number/-/number-3.1.1.tgz#160584316741de4381689ab759001603ee17b595" integrity sha512-dBxCQKIxvsZvW2IBt3KsqrCfaw2nV6o6a8xsloJn/hjW0ayeyhKuiiMtTwW3/WGNPP7ZRyDbtuiUEjMwif1ENQ== @@ -3813,21 +3489,6 @@ node-addon-api "^3.2.1" node-gyp-build "^4.3.0" -"@pmmmwh/react-refresh-webpack-plugin@0.5.4": - version "0.5.4" - resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.4.tgz#df0d0d855fc527db48aac93c218a0bf4ada41f99" - integrity sha512-zZbZeHQDnoTlt2AF+diQT0wsSXpvWiaIOZwBRdltNFhG1+I3ozyaw7U/nBiUwyJ0D+zwdXp0E3bWOl38Ag2BMw== - dependencies: - ansi-html-community "^0.0.8" - common-path-prefix "^3.0.0" - core-js-pure "^3.8.1" - error-stack-parser "^2.0.6" - find-up "^5.0.0" - html-entities "^2.1.0" - loader-utils "^2.0.0" - schema-utils "^3.0.0" - source-map "^0.7.3" - "@pmmmwh/react-refresh-webpack-plugin@0.5.7", "@pmmmwh/react-refresh-webpack-plugin@^0.5.3": version "0.5.7" resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.7.tgz#58f8217ba70069cc6a73f5d7e05e85b458c150e2" @@ -5627,135 +5288,6 @@ regenerator-runtime "^0.13.7" resolve-from "^5.0.0" -"@strapi/admin@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@strapi/admin/-/admin-4.2.2.tgz#9ea2945f590a503cd25a6c9955f35445edbc8921" - integrity sha512-FeQfL6q8X1YegDgWIfkG41ryTl4zBczWgI6FggKbyfeGh2RcVUoVIFY/2LffyTcUbBNpUtnMNVW6TyFcMljhCw== - dependencies: - "@babel/core" "7.16.7" - "@babel/plugin-transform-runtime" "7.16.7" - "@babel/polyfill" "7.12.1" - "@babel/preset-env" "7.16.7" - "@babel/preset-react" "7.16.7" - "@babel/runtime" "7.16.7" - "@casl/ability" "^5.4.3" - "@fingerprintjs/fingerprintjs" "3.3.2" - "@fortawesome/fontawesome-free" "^5.15.3" - "@fortawesome/fontawesome-svg-core" "^1.2.35" - "@fortawesome/free-brands-svg-icons" "^5.15.3" - "@fortawesome/free-solid-svg-icons" "^5.15.3" - "@fortawesome/react-fontawesome" "^0.1.14" - "@pmmmwh/react-refresh-webpack-plugin" "0.5.4" - "@strapi/babel-plugin-switch-ee-ce" "4.2.2" - "@strapi/design-system" "1.2.0" - "@strapi/helper-plugin" "4.2.2" - "@strapi/icons" "1.2.0" - "@strapi/utils" "4.2.2" - axios "0.24.0" - babel-loader "8.2.3" - babel-plugin-styled-components "2.0.2" - bcryptjs "2.4.3" - chalk "^4.1.1" - chokidar "^3.5.1" - codemirror "^5.61.0" - cross-env "^7.0.3" - css-loader "6.5.1" - date-fns "2.22.1" - dotenv "8.5.1" - esbuild-loader "2.18.0" - execa "^1.0.0" - fast-deep-equal "3.1.3" - font-awesome "^4.7.0" - formik "^2.2.6" - fs-extra "10.0.0" - highlight.js "^10.4.1" - history "^4.9.0" - hoist-non-react-statics "^3.3.0" - html-loader "3.0.1" - html-webpack-plugin "5.5.0" - immer "9.0.6" - invariant "^2.2.4" - js-cookie "2.2.1" - jsonwebtoken "8.5.1" - koa-compose "4.1.0" - koa-passport "4.1.4" - koa-static "5.0.0" - lodash "4.17.21" - markdown-it "^12.3.2" - markdown-it-abbr "^1.0.4" - markdown-it-container "^3.0.0" - markdown-it-deflist "^2.1.0" - markdown-it-emoji "^2.0.0" - markdown-it-footnote "^3.0.3" - markdown-it-ins "^3.0.1" - markdown-it-mark "^3.0.1" - markdown-it-sub "^1.0.0" - markdown-it-sup "1.0.0" - match-sorter "^4.0.2" - mini-css-extract-plugin "2.4.4" - moment "^2.29.1" - node-polyfill-webpack-plugin "1.1.4" - p-map "4.0.0" - passport-local "1.0.0" - prop-types "^15.7.2" - qs "6.10.1" - react "^17.0.2" - react-copy-to-clipboard "^5.0.3" - react-dnd "^14.0.2" - react-dnd-html5-backend "^14.0.0" - react-dom "^17.0.2" - react-error-boundary "3.1.1" - react-fast-compare "^3.2.0" - react-helmet "^6.1.0" - react-intl "5.20.2" - react-query "3.24.3" - react-redux "7.2.3" - react-refresh "0.11.0" - react-router "5.2.0" - react-router-dom "5.2.0" - react-select "^4.0.2" - react-virtualized "^9.22.3" - redux "^4.0.1" - redux-saga "^0.16.0" - reselect "^4.0.0" - rimraf "3.0.2" - sanitize-html "2.4.0" - semver "7.3.5" - sift "13.5.0" - style-loader "3.3.1" - styled-components "5.3.3" - webpack "5.65.0" - webpack-cli "4.9.1" - webpack-dev-server "4.7.3" - webpackbar "5.0.0-3" - yup "^0.32.9" - -"@strapi/babel-plugin-switch-ee-ce@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@strapi/babel-plugin-switch-ee-ce/-/babel-plugin-switch-ee-ce-4.2.2.tgz#7e3ba5d957b68f22b42d5405e631740fd432eabf" - integrity sha512-kQftZSOrt5PN5jK4PEV9kaOMX81OmmiQU3k6C/OXmoHHZD/NMdbHkNvs/4PmMp4kecgIYrYFtRTUqYL3nPtNWQ== - -"@strapi/database@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@strapi/database/-/database-4.2.2.tgz#b304ed857de5be1143cc332d7ad1362ddecb994a" - integrity sha512-weebJhwE/8resJz8gFtvTiPsmWQRsOInOYImdHbkq/nf4+cVBo01pTw9+xmRx1Uyx4Tqh+b85pil1aoWWW+51A== - dependencies: - date-fns "2.22.1" - debug "4.3.1" - fs-extra "10.0.0" - knex "1.0.4" - lodash "4.17.21" - umzug "3.1.1" - -"@strapi/design-system@1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@strapi/design-system/-/design-system-1.2.0.tgz#d000cebbc4f6bb296544369346c3a1fec46945d1" - integrity sha512-8pFSWQwxmM1kazXX07xjqeJRmZyiaXzo+jfFA33JtZqyA8z6GULstGM9DrwDlxZQpGZMltJDugBvHrwSIAzgLg== - dependencies: - "@internationalized/number" "^3.0.2" - compute-scroll-into-view "^1.0.17" - prop-types "^15.7.2" - "@strapi/design-system@1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@strapi/design-system/-/design-system-1.2.1.tgz#d0e611709ab10930e8723960813b60ce1ef80890" @@ -5765,36 +5297,6 @@ compute-scroll-into-view "^1.0.17" prop-types "^15.7.2" -"@strapi/generate-new@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@strapi/generate-new/-/generate-new-4.2.2.tgz#046868784d982645e6c3ab23ab15d564bcd961f6" - integrity sha512-s/yXm5g1eXBglstdQTD73qwqL3dVT2eWHefOu5P1Qycsia1b2dT6xvz7rSqGn7LZbR5f8PmrS6O+2lUUOzQPxA== - dependencies: - "@sentry/node" "6.19.6" - chalk "^4.1.1" - execa "^1.0.0" - fs-extra "10.0.0" - inquirer "8.2.0" - lodash "4.17.21" - node-fetch "^2.6.1" - node-machine-id "^1.1.10" - ora "^5.4.0" - tar "6.1.11" - uuid "^3.3.2" - -"@strapi/generators@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@strapi/generators/-/generators-4.2.2.tgz#7bb3995b2bdbc88201eda03521a07123f8dd3628" - integrity sha512-2u1zXxIoqpdE1OukBrqNdGjN5OfPUnApiDygO4mHDcMUjZWOS1bel0CFfq8EYOKZOkXv5OnJF0dKrTk9exsKsw== - dependencies: - "@sindresorhus/slugify" "1.1.0" - "@strapi/utils" "4.2.2" - chalk "4.1.2" - fs-extra "10.0.0" - node-plop "0.26.3" - plop "2.7.6" - pluralize "8.0.0" - "@strapi/helper-plugin@4.1.12": version "4.1.12" resolved "https://registry.yarnpkg.com/@strapi/helper-plugin/-/helper-plugin-4.1.12.tgz#889b8f39ddbd66b9c08b1578b05f38bbc7a27ae5" @@ -5822,38 +5324,6 @@ styled-components "5.3.3" whatwg-fetch "^3.6.2" -"@strapi/helper-plugin@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@strapi/helper-plugin/-/helper-plugin-4.2.2.tgz#8bdb9a82b391c10ce10ac3ee6b7013601092754c" - integrity sha512-ftamIWfwNal3ILu/BIVmaTj5wQRWHA3ie6K4z3hb2iok1EvrwcxoWyBz1hpbhXx3oyzYmk3UIzUyK77H6JQWuQ== - dependencies: - "@fortawesome/fontawesome-free" "^5.15.2" - "@fortawesome/fontawesome-svg-core" "^1.2.35" - "@fortawesome/free-brands-svg-icons" "^5.15.2" - "@fortawesome/free-solid-svg-icons" "^5.15.3" - "@fortawesome/react-fontawesome" "^0.1.14" - axios "0.25.0" - formik "2.2.9" - invariant "^2.2.1" - lodash "4.17.21" - match-sorter "^4.0.2" - moment "^2.29.1" - react "^17.0.2" - react-dom "^17.0.2" - react-helmet "^6.1.0" - react-intl "5.20.2" - react-router "^5.2.0" - react-router-dom "5.2.0" - styled-components "5.3.3" - whatwg-fetch "^3.6.2" - -"@strapi/icons@1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@strapi/icons/-/icons-1.2.0.tgz#94c2709696f674d907e399bd8c80e80f098d164a" - integrity sha512-y5k09/n+8ueZPp/JST7Grbac1014ANhZWefto+XoHNgpPMMiUNMWD5K+uWn6Wy5vgL/wxZ0lA0Nhe9b0cGouXw== - dependencies: - rimraf "^3.0.2" - "@strapi/icons@1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@strapi/icons/-/icons-1.2.1.tgz#780e74a8284bc18c268e61b37ff8a1b75d49c9b3" @@ -5861,54 +5331,6 @@ dependencies: rimraf "^3.0.2" -"@strapi/logger@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@strapi/logger/-/logger-4.2.2.tgz#143969dbc194908759e46317245bcf02fae5903d" - integrity sha512-9MNm/2jOL0ytwFIR/pXp3c2GcKCafWbvl/qBTJkt7FZDb6fIWktgP3ChHZBoKgtUAwoi2vs7r6AuMkHebrfPFA== - dependencies: - lodash "4.17.21" - winston "3.3.3" - -"@strapi/plugin-content-manager@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@strapi/plugin-content-manager/-/plugin-content-manager-4.2.2.tgz#2b7ffd2680753534f5c8e36b1aa09dff55c9e84a" - integrity sha512-gicxEnS0IumZz3EEZi5mXhTihrYkeRtr8+ZuQx+xpi6Z7Ejeo/0vZPmXCoBlB+iW48NNkrqGof45ftCvNGZ80Q== - dependencies: - "@sindresorhus/slugify" "1.1.0" - "@strapi/utils" "4.2.2" - lodash "4.17.21" - -"@strapi/plugin-content-type-builder@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@strapi/plugin-content-type-builder/-/plugin-content-type-builder-4.2.2.tgz#9bcece7204eb668ea0f7ce02545204cf3ff28b43" - integrity sha512-9J/JgRnrPn3lvv9yZk9MDjY0BJKKORFS6SXs8JzhVV0GJCFZbCqC9VtiBTR7u/mSC3H9r0/PcAZsDRLCpJAcsw== - dependencies: - "@sindresorhus/slugify" "1.1.0" - "@strapi/generators" "4.2.2" - "@strapi/helper-plugin" "4.2.2" - "@strapi/utils" "4.2.2" - fs-extra "10.0.0" - lodash "4.17.21" - pluralize "^8.0.0" - react "^17.0.2" - react-dom "^17.0.2" - react-intl "5.20.2" - react-redux "7.2.3" - react-router "^5.2.0" - react-router-dom "5.2.0" - redux "^4.0.1" - reselect "^4.0.0" - yup "^0.32.9" - -"@strapi/plugin-email@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@strapi/plugin-email/-/plugin-email-4.2.2.tgz#8344a306bd0f2c8d9c613ddab54e974c6a8ca57f" - integrity sha512-wnJzr5g83GNTwQf1BZLHxDrK5Ah4ZDdMg3MT+Jbi5uiuWiiCF3Fw3z4TpesdsII/xrjW68CHc+OY6psF14Y7Jg== - dependencies: - "@strapi/provider-email-sendmail" "4.2.2" - "@strapi/utils" "4.2.2" - lodash "4.17.21" - "@strapi/plugin-i18n@4.1.12": version "4.1.12" resolved "https://registry.yarnpkg.com/@strapi/plugin-i18n/-/plugin-i18n-4.1.12.tgz#e6e7aae8a12724e2a67fbc02af9b53cb1ea4fc5e" @@ -5917,31 +5339,6 @@ "@strapi/utils" "4.1.12" lodash "4.17.21" -"@strapi/plugin-upload@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@strapi/plugin-upload/-/plugin-upload-4.2.2.tgz#4ed34250e637e782a2dc9d22a6a0517f28805402" - integrity sha512-poD96xPenc6zMQwN+b0Dy3OllwJJrdHWszzEvnIGq0zwLgltUBolc2wqXVhZX+lvVAzpjALrwXPKQxuMq6vQBQ== - dependencies: - "@strapi/helper-plugin" "4.2.2" - "@strapi/provider-upload-local" "4.2.2" - "@strapi/utils" "4.2.2" - byte-size "7.0.1" - cropperjs "1.5.11" - fs-extra "10.0.0" - immer "9.0.6" - koa-range "0.3.0" - koa-static "5.0.0" - lodash "4.17.21" - mime-types "2.1.35" - react "^17.0.2" - react-copy-to-clipboard "^5.0.3" - react-dom "^17.0.2" - react-intl "5.20.2" - react-redux "7.2.3" - react-router "^5.2.0" - react-router-dom "5.2.0" - sharp "0.30.6" - "@strapi/plugin-users-permissions@4.1.12": version "4.1.12" resolved "https://registry.yarnpkg.com/@strapi/plugin-users-permissions/-/plugin-users-permissions-4.1.12.tgz#9d48fddd0744691ff73c10b3af569e32fadd9ec2" @@ -5965,79 +5362,6 @@ request "^2.83.0" url-join "4.0.1" -"@strapi/provider-email-sendmail@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@strapi/provider-email-sendmail/-/provider-email-sendmail-4.2.2.tgz#35ad25f0b0a287f1dad9f43a08b77e73df845b4e" - integrity sha512-GJG7xW1MwnPdyrucGvw80KVDLOBePp8eNmhetNETpFVUrANlIp1/rDNLG1+icCWhYBphnvXDTejLJfX/CkPMJA== - dependencies: - "@strapi/utils" "4.2.2" - sendmail "^1.6.1" - -"@strapi/provider-upload-local@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@strapi/provider-upload-local/-/provider-upload-local-4.2.2.tgz#00ead87099dfbfb4171d2112b9ba992321d226e0" - integrity sha512-wIVVw37xlDFZzlm3oGI5X2Xogm9qachpyjE3MMuuXRwZ4Zm+iRfu64TysE0EqQYQh7ORLg0Eqscxc5dOJhEdMg== - dependencies: - "@strapi/utils" "4.2.2" - fs-extra "10.0.0" - -"@strapi/strapi@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@strapi/strapi/-/strapi-4.2.2.tgz#72d6e0430ff037da31b3e97f5fadfb881b85f5eb" - integrity sha512-HL3WBtBr+eDEK299RcQzqf9TplYQnuThgfrEADuftZkcIYZ/IK0oPvG+Gwg5cVtyE6nxnmlJ70aUlVWpCku9nQ== - dependencies: - "@koa/cors" "3.1.0" - "@koa/router" "10.1.1" - "@strapi/admin" "4.2.2" - "@strapi/database" "4.2.2" - "@strapi/generate-new" "4.2.2" - "@strapi/generators" "4.2.2" - "@strapi/logger" "4.2.2" - "@strapi/plugin-content-manager" "4.2.2" - "@strapi/plugin-content-type-builder" "4.2.2" - "@strapi/plugin-email" "4.2.2" - "@strapi/plugin-upload" "4.2.2" - "@strapi/utils" "4.2.2" - bcryptjs "2.4.3" - boxen "5.1.2" - chalk "4.1.2" - chokidar "3.5.2" - ci-info "3.2.0" - cli-table3 "0.6.1" - commander "8.2.0" - configstore "5.0.1" - debug "4.3.2" - delegates "1.0.0" - dotenv "10.0.0" - execa "5.1.1" - fs-extra "10.0.0" - glob "7.2.0" - http-errors "1.8.0" - inquirer "8.2.0" - is-docker "2.2.1" - koa "2.13.3" - koa-body "4.2.0" - koa-compose "4.1.0" - koa-compress "5.1.0" - koa-favicon "2.1.0" - koa-helmet "6.1.0" - koa-ip "2.1.0" - koa-session "6.2.0" - koa-static "5.0.0" - lodash "4.17.21" - mime-types "2.1.35" - node-fetch "2.6.7" - node-machine-id "1.1.12" - node-schedule "2.0.0" - open "8.2.1" - ora "5.4.1" - package-json "7.0.0" - qs "6.10.1" - resolve-cwd "3.0.0" - semver "7.3.5" - statuses "2.0.1" - uuid "^3.3.2" - "@strapi/utils@4.1.12": version "4.1.12" resolved "https://registry.yarnpkg.com/@strapi/utils/-/utils-4.1.12.tgz#25f11e1080a13b04cdae76f74543a4e898d7063e" @@ -6049,17 +5373,6 @@ lodash "4.17.21" yup "0.32.9" -"@strapi/utils@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@strapi/utils/-/utils-4.2.2.tgz#cee826f3a78fa2279f39c5d1e32ef578fa8df4b8" - integrity sha512-ivVNC2QD4MZYCJXbPN3fYMXXziOunz+N578CZ2DKkv7QMA5PB1oS0tZpkrxVkaEC6k0D86Ie7tNavR/tEO3MCA== - dependencies: - "@sindresorhus/slugify" "1.1.0" - date-fns "2.24.0" - http-errors "1.8.0" - lodash "4.17.21" - yup "0.32.9" - "@stylelint/postcss-css-in-js@^0.37.2": version "0.37.3" resolved "https://registry.yarnpkg.com/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.3.tgz#d149a385e07ae365b0107314c084cb6c11adbf49" @@ -6398,7 +5711,7 @@ "@types/keygrip" "*" "@types/node" "*" -"@types/eslint-scope@^3.7.0", "@types/eslint-scope@^3.7.3": +"@types/eslint-scope@^3.7.3": version "3.7.4" resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16" integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== @@ -6419,11 +5732,6 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== -"@types/estree@^0.0.50": - version "0.0.50" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" - integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== - "@types/estree@^0.0.51": version "0.0.51" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" @@ -6931,7 +6239,7 @@ anymatch "^3.0.0" source-map "^0.6.0" -"@types/ws@^8.2.2", "@types/ws@^8.5.1": +"@types/ws@^8.5.1": version "8.5.3" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.3.tgz#7d25a1ffbecd3c4f2d35068d0b283c037003274d" integrity sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w== @@ -7263,19 +6571,19 @@ "@webassemblyjs/wast-parser" "1.9.0" "@xtuc/long" "4.2.2" -"@webpack-cli/configtest@^1.1.0", "@webpack-cli/configtest@^1.2.0": +"@webpack-cli/configtest@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.2.0.tgz#7b20ce1c12533912c3b217ea68262365fa29a6f5" integrity sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg== -"@webpack-cli/info@^1.4.0", "@webpack-cli/info@^1.5.0": +"@webpack-cli/info@^1.5.0": version "1.5.0" resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.5.0.tgz#6c78c13c5874852d6e2dd17f08a41f3fe4c261b1" integrity sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ== dependencies: envinfo "^7.7.3" -"@webpack-cli/serve@^1.6.0", "@webpack-cli/serve@^1.7.0": +"@webpack-cli/serve@^1.7.0": version "1.7.0" resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.7.0.tgz#e1993689ac42d2b16e9194376cfb6753f6254db1" integrity sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q== @@ -7378,7 +6686,7 @@ acorn@^7.1.1, acorn@^7.4.0, acorn@^7.4.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.0.4, acorn@^8.2.4, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.0, acorn@^8.7.1: +acorn@^8.0.4, acorn@^8.2.4, acorn@^8.5.0, acorn@^8.7.0, acorn@^8.7.1: version "8.8.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== @@ -7545,11 +6853,6 @@ ansi-regex@^5.0.0, ansi-regex@^5.0.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== - ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" @@ -7833,7 +7136,7 @@ array-flatten@1.1.1: resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== -array-flatten@^2.1.0, array-flatten@^2.1.2: +array-flatten@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== @@ -8024,7 +7327,7 @@ async@1.x: resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" integrity sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w== -async@^2.0.1, async@^2.6.1, async@^2.6.2: +async@^2.0.1, async@^2.6.1: version "2.6.4" resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== @@ -8166,16 +7469,6 @@ babel-jest@^26.6.3: graceful-fs "^4.2.4" slash "^3.0.0" -babel-loader@8.2.3: - version "8.2.3" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.3.tgz#8986b40f1a64cacfcb4b8429320085ef68b1342d" - integrity sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw== - dependencies: - find-cache-dir "^3.3.1" - loader-utils "^1.4.0" - make-dir "^3.1.0" - schema-utils "^2.6.5" - babel-loader@8.2.5, babel-loader@^8.0.0, babel-loader@^8.2.5: version "8.2.5" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.5.tgz#d45f585e654d5a5d90f5350a779d7647c5ed512e" @@ -8273,7 +7566,7 @@ babel-plugin-named-exports-order@^0.0.2: resolved "https://registry.yarnpkg.com/babel-plugin-named-exports-order/-/babel-plugin-named-exports-order-0.0.2.tgz#ae14909521cf9606094a2048239d69847540cb09" integrity sha512-OgOYHOLoRK+/mvXU9imKHlG6GkPLYrUCvFXG/CM93R/aNNO8pOOF4aS+S8CCHMDQoNSeiOYEZb/G6RwL95Jktw== -babel-plugin-polyfill-corejs2@^0.3.0, babel-plugin-polyfill-corejs2@^0.3.2: +babel-plugin-polyfill-corejs2@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz#e4c31d4c89b56f3cf85b92558954c66b54bd972d" integrity sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q== @@ -8290,14 +7583,6 @@ babel-plugin-polyfill-corejs3@^0.1.0: "@babel/helper-define-polyfill-provider" "^0.1.5" core-js-compat "^3.8.1" -babel-plugin-polyfill-corejs3@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz#0b571f4cf3d67f911512f5c04842a7b8e8263087" - integrity sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.0" - core-js-compat "^3.18.0" - babel-plugin-polyfill-corejs3@^0.5.3: version "0.5.3" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz#d7e09c9a899079d71a8b670c6181af56ec19c5c7" @@ -8306,13 +7591,6 @@ babel-plugin-polyfill-corejs3@^0.5.3: "@babel/helper-define-polyfill-provider" "^0.3.2" core-js-compat "^3.21.0" -babel-plugin-polyfill-regenerator@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz#2c0678ea47c75c8cc2fbb1852278d8fb68233990" - integrity sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.1" - babel-plugin-polyfill-regenerator@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz#8f51809b6d5883e07e71548d75966ff7635527fe" @@ -8593,18 +7871,6 @@ bonjour-service@^1.0.11: fast-deep-equal "^3.1.3" multicast-dns "^7.2.5" -bonjour@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" - integrity sha512-RaVTblr+OnEli0r/ud8InrU7D+G0y6aJhlxaLa6Pwty4+xoxboF1BsUI45tujvRpbj9dQVoglChqonGAsjEBYg== - dependencies: - array-flatten "^2.1.0" - deep-equal "^1.0.1" - dns-equal "^1.0.0" - dns-txt "^2.0.2" - multicast-dns "^6.0.1" - multicast-dns-service-types "^1.1.0" - boolbase@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" @@ -8759,7 +8025,7 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.19.1: +browserslist@^4.12.0, browserslist@^4.14.5: version "4.20.2" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88" integrity sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA== @@ -8819,11 +8085,6 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -buffer-indexof@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" - integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== - buffer-writer@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-2.0.0.tgz#ce7eb81a38f7829db09c873f2fbb792c0c98ec04" @@ -9311,7 +8572,7 @@ chokidar@3.5.2: optionalDependencies: fsevents "~2.3.2" -chokidar@3.5.3, chokidar@^3.4.0, chokidar@^3.4.1, chokidar@^3.4.2, chokidar@^3.5.1, chokidar@^3.5.2, chokidar@^3.5.3: +chokidar@3.5.3, chokidar@^3.4.0, chokidar@^3.4.1, chokidar@^3.4.2, chokidar@^3.5.1, chokidar@^3.5.3: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== @@ -9360,12 +8621,7 @@ chrome-trace-event@^1.0.2: resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== -ci-info@3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6" - integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A== - -ci-info@3.3.2, ci-info@^3.1.1, ci-info@^3.2.0: +ci-info@3.3.2, ci-info@^3.2.0: version "3.3.2" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.2.tgz#6d2967ffa407466481c6c90b6e16b3098f080128" integrity sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg== @@ -9446,15 +8702,6 @@ cli-spinners@^2.0.0, cli-spinners@^2.5.0: resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.7.0.tgz#f815fd30b5f9eaac02db604c7a231ed7cb2f797a" integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw== -cli-table3@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.1.tgz#36ce9b7af4847f288d3cdd081fbd09bf7bd237b8" - integrity sha512-w0q/enDHhPLq44ovMGdQeeDLvwxwavsJX7oQGYt/LrBlYsyaxyDnp6z3QzFut/6kLLKnlcUVJLrpB7KBfgG/RA== - dependencies: - string-width "^4.2.0" - optionalDependencies: - colors "1.4.0" - cli-table3@0.6.2, cli-table3@^0.6.0, cli-table3@^0.6.1: version "0.6.2" resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.2.tgz#aaf5df9d8b5bf12634dc8b3040806a0c07120d2a" @@ -9557,7 +8804,7 @@ cls-bluebird@^2.1.0: is-bluebird "^1.0.2" shimmer "^1.1.0" -clsx@^1.0.4, clsx@^1.1.1: +clsx@^1.1.1: version "1.2.1" resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== @@ -9611,7 +8858,7 @@ code-point-at@^1.0.0: resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA== -codemirror@^5.61.0, codemirror@^5.65.6: +codemirror@^5.65.6: version "5.65.7" resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.65.7.tgz#29af41ce5f4c2b8f1c1e16f4e645ff392823716a" integrity sha512-zb67cXzgugIQmb6tfD4G11ILjYoMfTjwcjn+cWsa4GewlI2adhR/h3kolkoCQTm1msD/1BuqVTKuO09ELsS++A== @@ -9702,11 +8949,6 @@ colorette@^2.0.10, colorette@^2.0.14, colorette@^2.0.16: resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== -colors@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" - integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== - colors@~1.2.1: version "1.2.5" resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.5.tgz#89c7ad9a374bc030df8013241f68136ed8835afc" @@ -9923,17 +9165,12 @@ confusing-browser-globals@^1.0.10: resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== -connect-history-api-fallback@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" - integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== - connect-history-api-fallback@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== -consola@^2.15.0, consola@^2.15.3: +consola@^2.15.3: version "2.15.3" resolved "https://registry.yarnpkg.com/consola/-/consola-2.15.3.tgz#2e11f98d6a4be71ff72e0bdf07bd23e12cb61550" integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw== @@ -10124,14 +9361,6 @@ copy-to@^2.0.1: resolved "https://registry.yarnpkg.com/copy-to/-/copy-to-2.0.1.tgz#2680fbb8068a48d08656b6098092bdafc906f4a5" integrity sha1-JoD7uAaKSNCGVrYJgJK9r8kG9KU= -core-js-compat@^3.18.0, core-js-compat@^3.19.1: - version "3.21.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.21.1.tgz#cac369f67c8d134ff8f9bd1623e3bc2c42068c82" - integrity sha512-gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g== - dependencies: - browserslist "^4.19.1" - semver "7.0.0" - core-js-compat@^3.21.0, core-js-compat@^3.22.1, core-js-compat@^3.8.1: version "3.23.3" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.23.3.tgz#7d8503185be76bb6d8d592c291a4457a8e440aa9" @@ -10265,7 +9494,7 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" -cron-parser@^3.1.0, cron-parser@^3.5.0: +cron-parser@^3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/cron-parser/-/cron-parser-3.5.0.tgz#b1a9da9514c0310aa7ef99c2f3f1d0f8c235257c" integrity sha512-wyVZtbRs6qDfFd8ap457w3XVntdvqcwBGxBoTvJQH9KGVKL/fB+h2k3C8AqiVxvUQKN1Ps/Ns46CNViOpVDhfQ== @@ -10273,11 +9502,6 @@ cron-parser@^3.1.0, cron-parser@^3.5.0: is-nan "^1.3.2" luxon "^1.26.0" -cropperjs@1.5.11: - version "1.5.11" - resolved "https://registry.yarnpkg.com/cropperjs/-/cropperjs-1.5.11.tgz#502ae6d8ca098b124de6813601cca70015879fc0" - integrity sha512-SJUeBBhtNBnnn+UrLKluhFRIXLJn7XFPv8QN1j49X5t+BIMwkgvDev541f96bmu8Xe0TgCx3gON22KmY/VddaA== - cropperjs@1.5.12: version "1.5.12" resolved "https://registry.yarnpkg.com/cropperjs/-/cropperjs-1.5.12.tgz#d9c0db2bfb8c0d769d51739e8f916bbc44e10f50" @@ -10342,20 +9566,6 @@ css-color-keywords@^1.0.0: resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05" integrity sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg== -css-loader@6.5.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.5.1.tgz#0c43d4fbe0d97f699c91e9818cb585759091d1b1" - integrity sha512-gEy2w9AnJNnD9Kuo4XAP9VflW/ujKoS9c/syO+uWMlm5igc7LysKzPXaDoR2vroROkSwsTS2tGr1yGGEbZOYZQ== - dependencies: - icss-utils "^5.1.0" - postcss "^8.2.15" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.0" - postcss-modules-scope "^3.0.0" - postcss-modules-values "^4.0.0" - postcss-value-parser "^4.1.0" - semver "^7.3.5" - css-loader@6.7.1: version "6.7.1" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.7.1.tgz#e98106f154f6e1baf3fc3bc455cb9981c1d5fd2e" @@ -10541,11 +9751,6 @@ date-and-time@^0.6.3: resolved "https://registry.yarnpkg.com/date-and-time/-/date-and-time-0.6.3.tgz#2daee52df67c28bd93bce862756ac86b68cf4237" integrity sha512-lcWy3AXDRJOD7MplwZMmNSRM//kZtJaLz4n6D1P5z9wEmZGBKhJRBIr1Xs9KNQJmdXPblvgffynYji4iylUTcA== -date-fns@2.22.1: - version "2.22.1" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.22.1.tgz#1e5af959831ebb1d82992bf67b765052d8f0efc4" - integrity sha512-yUFPQjrxEmIsMqlHhAhmxkuH769baF21Kk+nZwZGyrMoyLA+LugaQtC0+Tqf9CBUUULWwUJt6Q5ySI3LJDDCGg== - date-fns@2.24.0: version "2.24.0" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.24.0.tgz#7d86dc0d93c87b76b63d213b4413337cfd1c105d" @@ -10610,14 +9815,7 @@ debug@4.3.2: dependencies: ms "2.1.2" -debug@4.3.3: - version "4.3.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" - integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== - dependencies: - ms "2.1.2" - -debug@^3.0.0, debug@^3.1.0, debug@^3.1.1, debug@^3.2.6, debug@^3.2.7: +debug@^3.0.0, debug@^3.1.0, debug@^3.2.6, debug@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== @@ -10664,18 +9862,6 @@ dedent@^0.7.0: resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== -deep-equal@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" - integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== - dependencies: - is-arguments "^1.0.4" - is-date-object "^1.0.1" - is-regex "^1.0.4" - object-is "^1.0.1" - object-keys "^1.1.1" - regexp.prototype.flags "^1.2.0" - deep-equal@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" @@ -10793,20 +9979,6 @@ del@^5.1.0: rimraf "^3.0.0" slash "^3.0.0" -del@^6.0.0: - version "6.1.1" - resolved "https://registry.yarnpkg.com/del/-/del-6.1.1.tgz#3b70314f1ec0aa325c6b14eb36b95786671edb7a" - integrity sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg== - dependencies: - globby "^11.0.1" - graceful-fs "^4.2.4" - is-glob "^4.0.1" - is-path-cwd "^2.2.0" - is-path-inside "^3.0.2" - p-map "^4.0.0" - rimraf "^3.0.2" - slash "^3.0.0" - delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -10989,14 +10161,6 @@ dns-equal@^1.0.0: resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg== -dns-packet@^1.3.1: - version "1.3.4" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.4.tgz#e3455065824a2507ba886c55a89963bb107dec6f" - integrity sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA== - dependencies: - ip "^1.1.0" - safe-buffer "^5.0.1" - dns-packet@^5.2.2: version "5.4.0" resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.4.0.tgz#1f88477cf9f27e78a213fb6d118ae38e759a879b" @@ -11004,13 +10168,6 @@ dns-packet@^5.2.2: dependencies: "@leichtgewicht/ip-codec" "^2.0.1" -dns-txt@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" - integrity sha512-Ix5PrWjphuSoUXV/Zv5gaFHjnaJtb02F2+Si3Ht9dyJ87+Z/lMmy+dpNHtTGraNK958ndXq2i+GLkWsWHcKaBQ== - dependencies: - buffer-indexof "^1.0.0" - doctrine@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" @@ -11037,7 +10194,7 @@ dom-converter@^0.2.0: dependencies: utila "~0.4" -dom-helpers@^5.0.1, dom-helpers@^5.1.3: +dom-helpers@^5.0.1: version "5.2.1" resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== @@ -11389,7 +10546,7 @@ enhanced-resolve@^4.5.0: memory-fs "^0.5.0" tapable "^1.0.0" -enhanced-resolve@^5.10.0, enhanced-resolve@^5.8.3: +enhanced-resolve@^5.10.0: version "5.10.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz#0dc579c3bb2a1032e357ac45b8f3a6f3ad4fb1e6" integrity sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ== @@ -11636,18 +10793,6 @@ esbuild-linux-s390x@0.14.51: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.51.tgz#c9e7791170a3295dba79b93aa452beb9838a8625" integrity sha512-kFAJY3dv+Wq8o28K/C7xkZk/X34rgTwhknSsElIqoEo8armCOjMJ6NsMxm48KaWY2h2RUYGtQmr+RGuUPKBhyw== -esbuild-loader@2.18.0: - version "2.18.0" - resolved "https://registry.yarnpkg.com/esbuild-loader/-/esbuild-loader-2.18.0.tgz#7b9548578ab954574fd94655693d22aa5ec74120" - integrity sha512-AKqxM3bI+gvGPV8o6NAhR+cBxVO8+dh+O0OXBHIXXwuSGumckbPWHzZ17subjBGI2YEGyJ1STH7Haj8aCrwL/w== - dependencies: - esbuild "^0.14.6" - joycon "^3.0.1" - json5 "^2.2.0" - loader-utils "^2.0.0" - tapable "^2.2.0" - webpack-sources "^2.2.0" - esbuild-loader@^2.19.0: version "2.19.0" resolved "https://registry.yarnpkg.com/esbuild-loader/-/esbuild-loader-2.19.0.tgz#54f62d1da8262acfc3c5883c24da35af8324f116" @@ -11690,7 +10835,7 @@ esbuild-windows-arm64@0.14.51: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.51.tgz#0220d2304bfdc11bc27e19b2aaf56edf183e4ae9" integrity sha512-JQDqPjuOH7o+BsKMSddMfmVJXrnYZxXDHsoLHc0xgmAZkOOCflRmC43q31pk79F9xuyWY45jDBPolb5ZgGOf9g== -esbuild@^0.14.39, esbuild@^0.14.6: +esbuild@^0.14.39: version "0.14.51" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.51.tgz#1c8ecbc8db3710da03776211dc3ee3448f7aa51e" integrity sha512-+CvnDitD7Q5sT7F+FM65sWkF8wJRf+j9fPcprxYV4j+ohmzVj2W7caUqH2s5kCaCJAfcAICjSlKhDCcvDpU7nw== @@ -12431,7 +11576,7 @@ figgy-pudding@^3.5.1: resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== -figures@3.2.0, figures@^3.0.0, figures@^3.2.0: +figures@3.2.0, figures@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== @@ -13417,7 +12562,7 @@ globby@^10.0.1: merge2 "^1.2.3" slash "^3.0.0" -globby@^11.0.1, globby@^11.0.2, globby@^11.0.3: +globby@^11.0.2, globby@^11.0.3: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== @@ -13953,14 +13098,6 @@ html-escaper@^2.0.0: resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== -html-loader@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/html-loader/-/html-loader-3.0.1.tgz#84d9094d7fc2e3fcd871d1524736953742758585" - integrity sha512-90Sxg9FhTkQEzmmHT2KOAQniTZgC72aifcfR0fZsuo1PJz0K4EXiTwxejTUombF8XShLj5RaZKYsUJhxR6G2dA== - dependencies: - html-minifier-terser "^6.0.2" - parse5 "^6.0.1" - html-loader@3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/html-loader/-/html-loader-3.1.2.tgz#5dc7e52d110b97c381468ac3354efd9bfa36c9fd" @@ -14147,7 +13284,7 @@ http-proxy-agent@^5.0.0: agent-base "6" debug "4" -http-proxy-middleware@^2.0.0, http-proxy-middleware@^2.0.3: +http-proxy-middleware@^2.0.3: version "2.0.6" resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== @@ -14319,11 +13456,6 @@ immer@9.0.15: resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.15.tgz#0b9169e5b1d22137aba7d43f8a81a495dd1b62dc" integrity sha512-2eB/sswms9AEUSkOm4SbV5Y7Vmt/bKRwByd52jfLkW4OLYeaTP3EEiJ9agqU0O/tq6Dk62Zfj+TJSqfm1rLVGQ== -immer@9.0.6: - version "9.0.6" - resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.6.tgz#7a96bf2674d06c8143e327cbf73539388ddf1a73" - integrity sha512-G95ivKpy+EvVAnAab4fVa4YGYn24J1SpEktnJX7JJ45Bd7xqME/SCplFzYFmTbrkwZbQ4xJK1xMTUYBkN6pWsQ== - import-fresh@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" @@ -14431,26 +13563,6 @@ inline-style-parser@0.1.1: resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== -inquirer@8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.0.tgz#f44f008dd344bbfc4b30031f45d984e034a3ac3a" - integrity sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ== - dependencies: - ansi-escapes "^4.2.1" - chalk "^4.1.1" - cli-cursor "^3.1.0" - cli-width "^3.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.21" - mute-stream "0.0.8" - ora "^5.4.1" - run-async "^2.4.0" - rxjs "^7.2.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - through "^2.3.6" - inquirer@8.2.4, inquirer@^8.2.0: version "8.2.4" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.4.tgz#ddbfe86ca2f67649a67daa6f1051c128f684f0b4" @@ -14534,7 +13646,7 @@ invariant@^2.2.1, invariant@^2.2.4: dependencies: loose-envify "^1.0.0" -ip@^1.1.0, ip@^1.1.5: +ip@^1.1.5: version "1.1.8" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.8.tgz#ae05948f6b075435ed3307acce04629da8cdbf48" integrity sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg== @@ -14938,7 +14050,7 @@ is-potential-custom-element-name@^1.0.1: resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== -is-regex@^1.0.4, is-regex@^1.1.2, is-regex@^1.1.4: +is-regex@^1.1.2, is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== @@ -16102,30 +15214,11 @@ kleur@^3.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== -klona@^2.0.3, klona@^2.0.4: +klona@^2.0.4: version "2.0.5" resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== -knex@1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/knex/-/knex-1.0.4.tgz#b9db3c60d0e3a4af37239bb879244e50eb748124" - integrity sha512-cMQ81fpkVmr4ia20BtyrD3oPere/ir/Q6IGLAgcREKOzRVhMsasQ4nx1VQuDRJjqq6oK5kfcxmvWoYkHKrnuMA== - dependencies: - colorette "2.0.16" - commander "^8.3.0" - debug "4.3.3" - escalade "^3.1.1" - esm "^3.2.25" - getopts "2.3.0" - interpret "^2.2.0" - lodash "^4.17.21" - pg-connection-string "2.5.0" - rechoir "^0.8.0" - resolve-from "^5.0.0" - tarn "^3.0.2" - tildify "2.0.0" - knex@1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/knex/-/knex-1.0.7.tgz#965f4490efc451b140aac4c5c6efa39fd877597b" @@ -16220,13 +15313,6 @@ koa-is-json@^1.0.0: resolved "https://registry.yarnpkg.com/koa-is-json/-/koa-is-json-1.0.0.tgz#273c07edcdcb8df6a2c1ab7d59ee76491451ec14" integrity sha512-+97CtHAlWDx0ndt0J8y3P12EWLwTLMXIfMnYDev3wOTwH/RpBGMlfn4bDXlMEg1u73K6XRE9BbUp+5ZAYoRYWw== -koa-passport@4.1.4: - version "4.1.4" - resolved "https://registry.yarnpkg.com/koa-passport/-/koa-passport-4.1.4.tgz#5f1665c1c2a37ace79af9f970b770885ca30ccfa" - integrity sha512-dJBCkl4X+zdYxbI2V2OtoGy0PUenpvp2ZLLWObc8UJhsId0iQpTFT8RVcuA0709AL2txGwRHnSPoT1bYNGa6Kg== - dependencies: - passport "^0.4.0" - koa-passport@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/koa-passport/-/koa-passport-5.0.0.tgz#66c8e91b06358969ab6129d90368fa07a06fafc0" @@ -16282,35 +15368,6 @@ koa2-ratelimit@^1.1.1: resolved "https://registry.yarnpkg.com/koa2-ratelimit/-/koa2-ratelimit-1.1.1.tgz#9c1d8257770e4a0a08063ba2ddcaf690fd457d23" integrity sha512-IpxGMdZqEhMykW0yYKGVB4vDEacPvSBH4hNpDL38ABj3W2KHNLujAljGEDg7eEjXvrRbXRSWXzANhV3c9v7nyg== -koa@2.13.3: - version "2.13.3" - resolved "https://registry.yarnpkg.com/koa/-/koa-2.13.3.tgz#a62641ba753ec54bee2c6da1a4f294c5fac35407" - integrity sha512-XhXIoR+ylAwqG3HhXwnMPQAM/4xfywz52OvxZNmxmTWGGHsvmBv4NSIhURha6yMuvEex1WdtplUTHnxnKpQiGw== - dependencies: - accepts "^1.3.5" - cache-content-type "^1.0.0" - content-disposition "~0.5.2" - content-type "^1.0.4" - cookies "~0.8.0" - debug "^4.3.2" - delegates "^1.0.0" - depd "^2.0.0" - destroy "^1.0.4" - encodeurl "^1.0.2" - escape-html "^1.0.3" - fresh "~0.5.2" - http-assert "^1.3.0" - http-errors "^1.6.3" - is-generator-function "^1.0.7" - koa-compose "^4.1.0" - koa-convert "^2.0.0" - on-finished "^2.3.0" - only "~0.0.2" - parseurl "^1.3.2" - statuses "^1.5.0" - type-is "^1.6.16" - vary "^1.1.2" - koa@2.13.4, koa@^2.13.4: version "2.13.4" resolved "https://registry.yarnpkg.com/koa/-/koa-2.13.4.tgz#ee5b0cb39e0b8069c38d115139c774833d32462e" @@ -16585,7 +15642,7 @@ loader-runner@^4.2.0: resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== -loader-utils@^1.2.3, loader-utils@^1.4.0: +loader-utils@^1.2.3: version "1.4.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== @@ -17797,19 +16854,6 @@ msw@0.42.3: type-fest "^1.2.2" yargs "^17.3.1" -multicast-dns-service-types@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" - integrity sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ== - -multicast-dns@^6.0.1: - version "6.2.3" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" - integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== - dependencies: - dns-packet "^1.3.1" - thunky "^1.0.2" - multicast-dns@^7.2.5: version "7.2.5" resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced" @@ -18195,15 +17239,6 @@ node-releases@^2.0.2, node-releases@^2.0.5, node-releases@^2.0.6: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== -node-schedule@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/node-schedule/-/node-schedule-2.0.0.tgz#73ab4957d056c63708409cc1fab676e0e149c191" - integrity sha512-cHc9KEcfiuXxYDU+HjsBVo2FkWL1jRAUoczFoMIzRBpOA4p/NRHuuLs85AWOLgKsHtSPjN8csvwIxc2SqMv+CQ== - dependencies: - cron-parser "^3.1.0" - long-timeout "0.1.1" - sorted-array-functions "^1.3.0" - node-schedule@2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/node-schedule/-/node-schedule-2.1.0.tgz#068ae38d7351c330616f7fe7cdb05036f977cbaf" @@ -18746,15 +17781,6 @@ only@~0.0.2: resolved "https://registry.yarnpkg.com/only/-/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4" integrity sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ== -open@8.2.1: - version "8.2.1" - resolved "https://registry.yarnpkg.com/open/-/open-8.2.1.tgz#82de42da0ccbf429bc12d099dad2e0975e14e8af" - integrity sha512-rXILpcQlkF/QuFez2BJDf3GsqpjGKbkUUToAIGo9A0Q6ZkoSGogZJulrUdwRkrAsoQvoZsrjCYt8+zblOk7JQQ== - dependencies: - define-lazy-prop "^2.0.0" - is-docker "^2.1.1" - is-wsl "^2.2.0" - open@8.4.0, open@^8.0.9, open@^8.4.0: version "8.4.0" resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8" @@ -18818,7 +17844,7 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" -ora@5.4.1, ora@^5.4.0, ora@^5.4.1: +ora@5.4.1, ora@^5.4.1: version "5.4.1" resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== @@ -19321,14 +18347,6 @@ passport-strategy@1.x.x: resolved "https://registry.yarnpkg.com/passport-strategy/-/passport-strategy-1.0.0.tgz#b5539aa8fc225a3d1ad179476ddf236b440f52e4" integrity sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA== -passport@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/passport/-/passport-0.4.1.tgz#941446a21cb92fc688d97a0861c38ce9f738f270" - integrity sha512-IxXgZZs8d7uFSt3eqNjM9NQ3g3uQCW5avD8mRNoXV99Yig50vjuaez6dQK2qC0kVWPRTujxY0dWgGfT09adjYg== - dependencies: - passport-strategy "1.x.x" - pause "0.0.1" - passport@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/passport/-/passport-0.6.0.tgz#e869579fab465b5c0b291e841e6cc95c005fac9d" @@ -19352,8 +18370,6 @@ path-case@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/path-case/-/path-case-2.1.1.tgz#94b8037c372d3fe2906e465bb45e25d226e8eea5" integrity sha1-lLgDfDctP+KQbkZbtF4l0ibo7qU= - dependencies: - no-case "^2.2.0" path-dirname@^1.0.0: version "1.0.2" @@ -19664,15 +18680,6 @@ pony-cause@^1.1.1: resolved "https://registry.yarnpkg.com/pony-cause/-/pony-cause-1.1.1.tgz#f795524f83bebbf1878bd3587b45f69143cbf3f9" integrity sha512-PxkIc/2ZpLiEzQXu5YRDOUgBlfGYBY8156HY5ZcRAwwonMk5W/MrJP2LLkG/hF7GEQzaHo2aS7ho6ZLCOvf+6g== -portfinder@^1.0.28: - version "1.0.28" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" - integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== - dependencies: - async "^2.6.2" - debug "^3.1.1" - mkdirp "^0.5.5" - posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" @@ -19829,7 +18836,7 @@ postcss@^7.0.14, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0. picocolors "^0.2.1" source-map "^0.6.1" -postcss@^8.0.2, postcss@^8.2.15, postcss@^8.3.11, postcss@^8.4.7: +postcss@^8.2.15, postcss@^8.3.11, postcss@^8.4.7: version "8.4.14" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf" integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== @@ -19860,7 +18867,7 @@ postgres-interval@^1.1.0: dependencies: xtend "^4.0.0" -prebuild-install@^7.0.0, prebuild-install@^7.1.0, prebuild-install@^7.1.1: +prebuild-install@^7.0.0, prebuild-install@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.1.1.tgz#de97d5b34a70a0c81334fd24641f2a1702352e45" integrity sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw== @@ -20322,7 +19329,7 @@ react-colorful@^5.1.2: resolved "https://registry.yarnpkg.com/react-colorful/-/react-colorful-5.5.1.tgz#29d9c4e496f2ca784dd2bb5053a3a4340cfaf784" integrity sha512-M1TJH2X3RXEt12sWkpa6hLc/bbYS0H6F4rIqjQZ+RxNBstpY67d9TrFXtqdZwhpmBXcCwEi7stKqFue3ZRkiOg== -react-copy-to-clipboard@^5.0.3, react-copy-to-clipboard@^5.1.0: +react-copy-to-clipboard@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/react-copy-to-clipboard/-/react-copy-to-clipboard-5.1.0.tgz#09aae5ec4c62750ccb2e6421a58725eabc41255c" integrity sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A== @@ -20479,11 +19486,6 @@ react-is@^16.13.1, react-is@^16.6.0, 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-lifecycles-compat@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" - integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== - react-popper-tooltip@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/react-popper-tooltip/-/react-popper-tooltip-3.1.1.tgz#329569eb7b287008f04fcbddb6370452ad3f9eac" @@ -20613,19 +19615,6 @@ react-select@4.0.2: react-input-autosize "^3.0.0" react-transition-group "^4.3.0" -react-select@^4.0.2: - version "4.3.1" - resolved "https://registry.yarnpkg.com/react-select/-/react-select-4.3.1.tgz#389fc07c9bc7cf7d3c377b7a05ea18cd7399cb81" - integrity sha512-HBBd0dYwkF5aZk1zP81Wx5UsLIIT2lSvAY2JiJo199LjoLHoivjn9//KsmvQMEFGNhe58xyuOITjfxKCcGc62Q== - dependencies: - "@babel/runtime" "^7.12.0" - "@emotion/cache" "^11.4.0" - "@emotion/react" "^11.1.1" - memoize-one "^5.0.0" - prop-types "^15.6.0" - react-input-autosize "^3.0.0" - react-transition-group "^4.3.0" - react-shallow-renderer@^16.13.1: version "16.15.0" resolved "https://registry.yarnpkg.com/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz#48fb2cf9b23d23cde96708fe5273a7d3446f4457" @@ -20700,18 +19689,6 @@ react-transition-group@^4.3.0: loose-envify "^1.4.0" prop-types "^15.6.2" -react-virtualized@^9.22.3: - version "9.22.3" - resolved "https://registry.yarnpkg.com/react-virtualized/-/react-virtualized-9.22.3.tgz#f430f16beb0a42db420dbd4d340403c0de334421" - integrity sha512-MKovKMxWTcwPSxE1kK1HcheQTWfuCxAuBoSTf2gwyMM21NdX/PXUhnoP8Uc5dRKd+nKm8v41R36OellhdCpkrw== - dependencies: - "@babel/runtime" "^7.7.2" - clsx "^1.0.4" - dom-helpers "^5.1.3" - loose-envify "^1.4.0" - prop-types "^15.7.2" - react-lifecycles-compat "^3.0.4" - react-window@1.8.7: version "1.8.7" resolved "https://registry.yarnpkg.com/react-window/-/react-window-1.8.7.tgz#5e9fd0d23f48f432d7022cdb327219353a15f0d4" @@ -21001,7 +19978,7 @@ regexp-clone@1.0.0, regexp-clone@^1.0.0: resolved "https://registry.yarnpkg.com/regexp-clone/-/regexp-clone-1.0.0.tgz#222db967623277056260b992626354a04ce9bf63" integrity sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw== -regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.4.1, regexp.prototype.flags@^1.4.3: +regexp.prototype.flags@^1.4.1, regexp.prototype.flags@^1.4.3: version "1.4.3" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== @@ -21517,7 +20494,7 @@ rxjs@^6.4.0, rxjs@^6.6.0: dependencies: tslib "^1.9.0" -rxjs@^7.2.0, rxjs@^7.5.1, rxjs@^7.5.5: +rxjs@^7.5.1, rxjs@^7.5.5: version "7.5.6" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.6.tgz#0446577557862afd6903517ce7cae79ecb9662bc" integrity sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw== @@ -21571,19 +20548,6 @@ sane@^4.0.3: minimist "^1.1.1" walker "~1.0.5" -sanitize-html@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-2.4.0.tgz#8da7524332eb210d968971621b068b53f17ab5a3" - integrity sha512-Y1OgkUiTPMqwZNRLPERSEi39iOebn2XJLbeiGOBhaJD/yLqtLGu6GE5w7evx177LeGgSE+4p4e107LMiydOf6A== - dependencies: - deepmerge "^4.2.2" - escape-string-regexp "^4.0.0" - htmlparser2 "^6.0.0" - is-plain-object "^5.0.0" - klona "^2.0.3" - parse-srcset "^1.0.2" - postcss "^8.0.2" - sanitize-html@2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-2.7.0.tgz#e106205b468aca932e2f9baf241f24660d34e279" @@ -21679,7 +20643,7 @@ select-hose@^2.0.0: resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== -selfsigned@^2.0.0, selfsigned@^2.0.1: +selfsigned@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.0.1.tgz#8b2df7fa56bf014d19b6007655fff209c0ef0a56" integrity sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ== @@ -21708,13 +20672,6 @@ semver@7.3.4: dependencies: lru-cache "^6.0.0" -semver@7.3.5: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - semver@7.3.7, semver@^7.0.0, semver@^7.1.1, semver@^7.1.3, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7: version "7.3.7" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" @@ -21903,20 +20860,6 @@ shallowequal@^1.1.0: resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== -sharp@0.30.6: - version "0.30.6" - resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.30.6.tgz#02264e9826b5f1577509f70bb627716099778873" - integrity sha512-lSdVxFxcndzcXggDrak6ozdGJgmIgES9YVZWtAFrwi+a/H5vModaf51TghBtMPw+71sLxUsTy2j+aB7qLIODQg== - dependencies: - color "^4.2.3" - detect-libc "^2.0.1" - node-addon-api "^5.0.0" - prebuild-install "^7.1.0" - semver "^7.3.7" - simple-get "^4.0.1" - tar-fs "^2.1.1" - tunnel-agent "^0.6.0" - sharp@0.30.7: version "0.30.7" resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.30.7.tgz#7862bda98804fdd1f0d5659c85e3324b90d94c7c" @@ -21979,11 +20922,6 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" -sift@13.5.0: - version "13.5.0" - resolved "https://registry.yarnpkg.com/sift/-/sift-13.5.0.tgz#0f46fd0b2432bd516307d2c32bff3b142a8ab530" - integrity sha512-YoS8hmXbmJcf1Gde5bR7+pq69+Nvfv5eHTyv4B00YxJAejTEfzvamG8LHzb0jAFFciMkY05K7GG3P7n/gm0+gg== - sift@13.5.2: version "13.5.2" resolved "https://registry.yarnpkg.com/sift/-/sift-13.5.2.tgz#24a715e13c617b086166cd04917d204a591c9da6" @@ -22119,7 +21057,7 @@ snapdragon@^0.8.1: source-map-resolve "^0.5.0" use "^3.1.0" -sockjs@^0.3.21, sockjs@^0.3.24: +sockjs@^0.3.24: version "0.3.24" resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== @@ -22450,13 +21388,6 @@ statuses@2.0.1, statuses@^2.0.0, statuses@^2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== -std-env@^2.2.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/std-env/-/std-env-2.3.1.tgz#d42271908819c243f8defc77a140fc1fcee336a1" - integrity sha512-eOsoKTWnr6C8aWrqJJ2KAReXoa7Vn5Ywyw6uCXgA/xDhxPoaIsBa5aNJmISY04dLwXPBnDHW4diGM7Sn5K4R/g== - dependencies: - ci-info "^3.1.1" - std-env@^3.0.1: version "3.1.1" resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.1.1.tgz#1f19c4d3f6278c52efd08a94574a2a8d32b7d092" @@ -22695,13 +21626,6 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1: dependencies: ansi-regex "^5.0.1" -strip-ansi@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" - integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== - dependencies: - ansi-regex "^6.0.1" - strip-bom@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" @@ -24234,7 +23158,7 @@ watchpack@^1.7.4: chokidar "^3.4.1" watchpack-chokidar2 "^2.0.1" -watchpack@^2.2.0, watchpack@^2.3.1, watchpack@^2.4.0: +watchpack@^2.2.0, watchpack@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== @@ -24296,24 +23220,6 @@ webpack-bundle-analyzer@^4.5.0: sirv "^1.0.7" ws "^7.3.1" -webpack-cli@4.9.1: - version "4.9.1" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.9.1.tgz#b64be825e2d1b130f285c314caa3b1ba9a4632b3" - integrity sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ== - dependencies: - "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^1.1.0" - "@webpack-cli/info" "^1.4.0" - "@webpack-cli/serve" "^1.6.0" - colorette "^2.0.14" - commander "^7.0.0" - execa "^5.0.0" - fastest-levenshtein "^1.0.12" - import-local "^3.0.2" - interpret "^2.2.0" - rechoir "^0.7.0" - webpack-merge "^5.7.3" - webpack-cli@^4.10.0: version "4.10.0" resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.10.0.tgz#37c1d69c8d85214c5a65e589378f53aec64dab31" @@ -24355,7 +23261,7 @@ webpack-dev-middleware@^4.1.0: range-parser "^1.2.1" schema-utils "^3.0.0" -webpack-dev-middleware@^5.3.0, webpack-dev-middleware@^5.3.1: +webpack-dev-middleware@^5.3.1: version "5.3.3" resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz#efae67c2793908e7311f1d9b06f2a08dcc97e51f" integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA== @@ -24366,41 +23272,6 @@ webpack-dev-middleware@^5.3.0, webpack-dev-middleware@^5.3.1: range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-server@4.7.3: - version "4.7.3" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.7.3.tgz#4e995b141ff51fa499906eebc7906f6925d0beaa" - integrity sha512-mlxq2AsIw2ag016nixkzUkdyOE8ST2GTy34uKSABp1c4nhjZvH90D5ZRR+UOLSsG4Z3TFahAi72a3ymRtfRm+Q== - dependencies: - "@types/bonjour" "^3.5.9" - "@types/connect-history-api-fallback" "^1.3.5" - "@types/serve-index" "^1.9.1" - "@types/sockjs" "^0.3.33" - "@types/ws" "^8.2.2" - ansi-html-community "^0.0.8" - bonjour "^3.5.0" - chokidar "^3.5.2" - colorette "^2.0.10" - compression "^1.7.4" - connect-history-api-fallback "^1.6.0" - default-gateway "^6.0.3" - del "^6.0.0" - express "^4.17.1" - graceful-fs "^4.2.6" - html-entities "^2.3.2" - http-proxy-middleware "^2.0.0" - ipaddr.js "^2.0.1" - open "^8.0.9" - p-retry "^4.5.0" - portfinder "^1.0.28" - schema-utils "^4.0.0" - selfsigned "^2.0.0" - serve-index "^1.9.1" - sockjs "^0.3.21" - spdy "^4.0.2" - strip-ansi "^7.0.0" - webpack-dev-middleware "^5.3.0" - ws "^8.1.0" - webpack-dev-server@^4.9.3: version "4.9.3" resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.9.3.tgz#2360a5d6d532acb5410a668417ad549ee3b8a3c9" @@ -24483,7 +23354,7 @@ webpack-sources@^2.2.0: source-list-map "^2.0.1" source-map "^0.6.1" -webpack-sources@^3.2.2, webpack-sources@^3.2.3: +webpack-sources@^3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== @@ -24529,36 +23400,6 @@ webpack@4: watchpack "^1.7.4" webpack-sources "^1.4.1" -webpack@5.65.0: - version "5.65.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.65.0.tgz#ed2891d9145ba1f0d318e4ea4f89c3fa18e6f9be" - integrity sha512-Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw== - dependencies: - "@types/eslint-scope" "^3.7.0" - "@types/estree" "^0.0.50" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.4.1" - acorn-import-assertions "^1.7.6" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.8.3" - es-module-lexer "^0.9.0" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.4" - json-parse-better-errors "^1.0.2" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.1.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" - watchpack "^2.3.1" - webpack-sources "^3.2.2" - "webpack@>=4.43.0 <6.0.0", webpack@^5.73.0, webpack@^5.9.0: version "5.74.0" resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.74.0.tgz#02a5dac19a17e0bb47093f2be67c695102a55980" @@ -24589,20 +23430,6 @@ webpack@5.65.0: watchpack "^2.4.0" webpack-sources "^3.2.3" -webpackbar@5.0.0-3: - version "5.0.0-3" - resolved "https://registry.yarnpkg.com/webpackbar/-/webpackbar-5.0.0-3.tgz#f4f96c8fb13001b2bb1348252db4c980ab93aaac" - integrity sha512-viW6KCYjMb0NPoDrw2jAmLXU2dEOhRrtku28KmOfeE1vxbfwCYuTbTaMhnkrCZLFAFyY9Q49Z/jzYO80Dw5b8g== - dependencies: - ansi-escapes "^4.3.1" - chalk "^4.1.0" - consola "^2.15.0" - figures "^3.2.0" - pretty-time "^1.1.0" - std-env "^2.2.1" - text-table "^0.2.0" - wrap-ansi "^7.0.0" - webpackbar@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/webpackbar/-/webpackbar-5.0.2.tgz#d3dd466211c73852741dfc842b7556dcbc2b0570" @@ -24879,7 +23706,7 @@ write-pkg@^4.0.0: resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== -ws@^8.1.0, ws@^8.2.3, ws@^8.4.2: +ws@^8.2.3, ws@^8.4.2: version "8.8.1" resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.1.tgz#5dbad0feb7ade8ecc99b830c1d77c913d4955ff0" integrity sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA== From bd6acfdd9052a737787fde1a3d145404acfecb80 Mon Sep 17 00:00:00 2001 From: Gustav Hansen Date: Tue, 9 Aug 2022 10:39:31 +0200 Subject: [PATCH 23/64] Chore: Update @strapi/plugin-i18n and @strapi/plugin-users-permissions --- examples/kitchensink-ts/package.json | 4 +- yarn.lock | 453 +-------------------------- 2 files changed, 12 insertions(+), 445 deletions(-) diff --git a/examples/kitchensink-ts/package.json b/examples/kitchensink-ts/package.json index e9aee3dda9..ee6d02efbb 100644 --- a/examples/kitchensink-ts/package.json +++ b/examples/kitchensink-ts/package.json @@ -10,8 +10,8 @@ "strapi": "strapi" }, "dependencies": { - "@strapi/plugin-i18n": "4.1.12", - "@strapi/plugin-users-permissions": "4.1.12", + "@strapi/plugin-i18n": "4.3.2", + "@strapi/plugin-users-permissions": "4.3.2", "@strapi/strapi": "4.3.2", "better-sqlite3": "7.4.6" }, diff --git a/yarn.lock b/yarn.lock index 71b2222b1b..87df0cfa2d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1940,13 +1940,6 @@ dependencies: "@fortawesome/fontawesome-common-types" "^0.2.36" -"@fortawesome/react-fontawesome@^0.1.14": - version "0.1.19" - resolved "https://registry.yarnpkg.com/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.19.tgz#2b36917578596f31934e71f92b7cf9c425fd06e4" - integrity sha512-Hyb+lB8T18cvLNX0S3llz7PcSOAJMLwiVKBuuzwM/nI5uoBw+gQjnf9il0fR1C3DKOI5Kc79pkJ4/xB0Uw9aFQ== - dependencies: - prop-types "^15.8.1" - "@fortawesome/react-fontawesome@^0.2.0": version "0.2.0" resolved "https://registry.yarnpkg.com/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.0.tgz#d90dd8a9211830b4e3c08e94b63a0ba7291ddcf4" @@ -3582,40 +3575,6 @@ resolved "https://registry.yarnpkg.com/@react-dnd/shallowequal/-/shallowequal-2.0.0.tgz#a3031eb54129f2c66b2753f8404266ec7bf67f0a" integrity sha512-Pc/AFTdwZwEKJxFJvlxrSmGe/di+aAOBn60sremrpLo6VI/6cmiUYNNwlI5KNYttg7uypzA3ILPMPgxB2GYZEg== -"@redis/bloom@1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@redis/bloom/-/bloom-1.0.2.tgz#42b82ec399a92db05e29fffcdfd9235a5fc15cdf" - integrity sha512-EBw7Ag1hPgFzdznK2PBblc1kdlj5B5Cw3XwI9/oG7tSn85/HKy3X9xHy/8tm/eNXJYHLXHJL/pkwBpFMVVefkw== - -"@redis/client@1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@redis/client/-/client-1.2.0.tgz#be2ef974881e57276123cb76d08756c03eed946f" - integrity sha512-a8Nlw5fv2EIAFJxTDSSDVUT7yfBGpZO96ybZXzQpgkyLg/dxtQ1uiwTc0EGfzg1mrPjZokeBSEGTbGXekqTNOg== - dependencies: - cluster-key-slot "1.1.0" - generic-pool "3.8.2" - yallist "4.0.0" - -"@redis/graph@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@redis/graph/-/graph-1.0.1.tgz#eabc58ba99cd70d0c907169c02b55497e4ec8a99" - integrity sha512-oDE4myMCJOCVKYMygEMWuriBgqlS5FqdWerikMoJxzmmTUErnTRRgmIDa2VcgytACZMFqpAOWDzops4DOlnkfQ== - -"@redis/json@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@redis/json/-/json-1.0.3.tgz#a13fde1d22ebff0ae2805cd8e1e70522b08ea866" - integrity sha512-4X0Qv0BzD9Zlb0edkUoau5c1bInWSICqXAGrpwEltkncUwcxJIGEcVryZhLgb0p/3PkKaLIWkjhHRtLe9yiA7Q== - -"@redis/search@1.0.6": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@redis/search/-/search-1.0.6.tgz#53d7451c2783f011ebc48ec4c2891264e0b22f10" - integrity sha512-pP+ZQRis5P21SD6fjyCeLcQdps+LuTzp2wdUbzxEmNhleighDDTD5ck8+cYof+WLec4csZX7ks+BuoMw0RaZrA== - -"@redis/time-series@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@redis/time-series/-/time-series-1.0.3.tgz#4cfca8e564228c0bddcdf4418cba60c20b224ac4" - integrity sha512-OFp0q4SGrTH0Mruf6oFsHGea58u8vS/iI5+NpYdicaM+7BgqBZH8FFvNZ8rYYLrUO/QRqMq72NpXmxLVNcdmjA== - "@rushstack/ts-command-line@^4.7.7": version "4.12.1" resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.12.1.tgz#4437ffae6459eb88791625ad9e89b2f0ba254476" @@ -5297,33 +5256,6 @@ compute-scroll-into-view "^1.0.17" prop-types "^15.7.2" -"@strapi/helper-plugin@4.1.12": - version "4.1.12" - resolved "https://registry.yarnpkg.com/@strapi/helper-plugin/-/helper-plugin-4.1.12.tgz#889b8f39ddbd66b9c08b1578b05f38bbc7a27ae5" - integrity sha512-R3QKpjhvwB4ZuJlYzkmvDAuZ+agmrc4Yy/eguHamCTdLpyls/DFNwkRomfjkrm9+jKM0tkwEkflmXARHw2c0Cg== - dependencies: - "@fortawesome/fontawesome-free" "^5.15.2" - "@fortawesome/fontawesome-svg-core" "^1.2.35" - "@fortawesome/free-brands-svg-icons" "^5.15.2" - "@fortawesome/free-solid-svg-icons" "^5.15.3" - "@fortawesome/react-fontawesome" "^0.1.14" - axios "0.25.0" - babel-plugin-styled-components "2.0.2" - formik "2.2.9" - invariant "^2.2.1" - lodash "4.17.21" - match-sorter "^4.0.2" - mini-css-extract-plugin "2.4.4" - moment "^2.29.1" - react "^17.0.2" - react-dom "^17.0.2" - react-helmet "^6.1.0" - react-intl "5.20.2" - react-router "^5.2.0" - react-router-dom "5.2.0" - styled-components "5.3.3" - whatwg-fetch "^3.6.2" - "@strapi/icons@1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@strapi/icons/-/icons-1.2.1.tgz#780e74a8284bc18c268e61b37ff8a1b75d49c9b3" @@ -5331,48 +5263,6 @@ dependencies: rimraf "^3.0.2" -"@strapi/plugin-i18n@4.1.12": - version "4.1.12" - resolved "https://registry.yarnpkg.com/@strapi/plugin-i18n/-/plugin-i18n-4.1.12.tgz#e6e7aae8a12724e2a67fbc02af9b53cb1ea4fc5e" - integrity sha512-RvCGJRQnkLJp0yKD0g3xYxpxQ5EcBccsgALeke86Jlz86Qt8/IIn2NEWoLWmXSumipCzoG23WW/YDxXfQU5EyQ== - dependencies: - "@strapi/utils" "4.1.12" - lodash "4.17.21" - -"@strapi/plugin-users-permissions@4.1.12": - version "4.1.12" - resolved "https://registry.yarnpkg.com/@strapi/plugin-users-permissions/-/plugin-users-permissions-4.1.12.tgz#9d48fddd0744691ff73c10b3af569e32fadd9ec2" - integrity sha512-fY7f6gjQ7UKDyVL5TK0PPTitk0aJuUXknbiLA7VsBaDUiAma+3MV5CtX06SlEHRjsPn3PJRG0fKctKVlKcEpHg== - dependencies: - "@strapi/helper-plugin" "4.1.12" - "@strapi/utils" "4.1.12" - bcryptjs "2.4.3" - grant-koa "5.4.8" - jsonwebtoken "^8.1.0" - koa2-ratelimit "^0.9.0" - lodash "4.17.21" - purest "4.0.2" - react "^17.0.2" - react-dom "^17.0.2" - react-intl "5.20.2" - react-redux "7.2.3" - react-router "^5.2.0" - react-router-dom "5.2.0" - redux-saga "^0.16.0" - request "^2.83.0" - url-join "4.0.1" - -"@strapi/utils@4.1.12": - version "4.1.12" - resolved "https://registry.yarnpkg.com/@strapi/utils/-/utils-4.1.12.tgz#25f11e1080a13b04cdae76f74543a4e898d7063e" - integrity sha512-s5qI3+5KOfaksl4DvY28F68KyfmJz9oeIIMEbGX03CtnXerejws1gDKVIuyxHNXsQL1MkgG0Ejsyl4l4Pb04eA== - dependencies: - "@sindresorhus/slugify" "1.1.0" - date-fns "2.24.0" - http-errors "1.8.0" - lodash "4.17.21" - yup "0.32.9" - "@stylelint/postcss-css-in-js@^0.37.2": version "0.37.3" resolved "https://registry.yarnpkg.com/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.3.tgz#d149a385e07ae365b0107314c084cb6c11adbf49" @@ -5635,20 +5525,6 @@ dependencies: "@types/node" "*" -"@types/bson@*": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@types/bson/-/bson-4.2.0.tgz#a2f71e933ff54b2c3bf267b67fa221e295a33337" - integrity sha512-ELCPqAdroMdcuxqwMgUpifQyRoTpyYCNr1V9xKyF40VsBobsj+BbWNRvwGchMgBPGqkw655ypkjj2MEF5ywVwg== - dependencies: - bson "*" - -"@types/bson@1.x || 4.0.x": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@types/bson/-/bson-4.0.5.tgz#9e0e1d1a6f8866483f96868a9b33bc804926b1fc" - integrity sha512-vVLwMUqhYJSQ/WKcE60eFqcyuWse5fGH+NMAXHuKrUAPoryq3ATxk5o4bgYNtg5aOM4APVg7Hnb3ASqUYG0PKg== - dependencies: - "@types/node" "*" - "@types/cacheable-request@^6.0.1": version "6.0.2" resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.2.tgz#c324da0197de0a98a2312156536ae262429ff6b9" @@ -5985,14 +5861,6 @@ resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== -"@types/mongodb@^3.5.27": - version "3.6.20" - resolved "https://registry.yarnpkg.com/@types/mongodb/-/mongodb-3.6.20.tgz#b7c5c580644f6364002b649af1c06c3c0454e1d2" - integrity sha512-WcdpPJCakFzcWWD9juKoZbRtQxKIMYF/JIAM4JrNHrMcnJL6/a2NWjXxW7fo9hxboxxkg+icff8d7+WIEvKgYQ== - dependencies: - "@types/bson" "*" - "@types/node" "*" - "@types/node-fetch@^2.5.7": version "2.6.2" resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.2.tgz#d1a9c5fd049d9415dce61571557104dec3ec81da" @@ -6071,7 +5939,7 @@ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== -"@types/react-redux@^7.1.16", "@types/react-redux@^7.1.20": +"@types/react-redux@^7.1.20": version "7.1.24" resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.24.tgz#6caaff1603aba17b27d20f8ad073e4c077e975c0" integrity sha512-7FkurKcS1k0FHZEtdbbgN8Oc6b+stGSfZYjQGicofJ0j4U0qIn/jaSvnP2pLwZKiai3/17xqqxkkrxTgN8UNbQ== @@ -6884,7 +6752,7 @@ ansi-to-html@^0.6.11: dependencies: entities "^2.0.0" -any-promise@^1.0.0, any-promise@^1.3.0: +any-promise@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== @@ -7799,14 +7667,6 @@ bindings@^1.5.0: dependencies: file-uri-to-path "1.0.0" -bl@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/bl/-/bl-2.2.1.tgz#8c11a7b730655c5d56898cdc871224f40fd901d5" - integrity sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g== - dependencies: - readable-stream "^2.3.5" - safe-buffer "^5.1.1" - bl@^4.0.3, bl@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" @@ -7823,12 +7683,7 @@ block-stream@*: dependencies: inherits "~2.0.0" -bluebird@3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" - integrity sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA== - -bluebird@^3.5.0, bluebird@^3.5.5, bluebird@^3.7.2: +bluebird@^3.5.5, bluebird@^3.7.2: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== @@ -8063,18 +7918,6 @@ bser@2.1.1: dependencies: node-int64 "^0.4.0" -bson@*: - version "4.6.5" - resolved "https://registry.yarnpkg.com/bson/-/bson-4.6.5.tgz#1a410148c20eef4e40d484878a037a7036e840fb" - integrity sha512-uqrgcjyOaZsHfz7ea8zLRCLe1u+QGUSzMZmvXqO24CDW7DWoW1qiN9folSwa7hSneTSgM2ykDIzF5kcQQ8cwNw== - dependencies: - buffer "^5.6.0" - -bson@^1.1.4: - version "1.1.6" - resolved "https://registry.yarnpkg.com/bson/-/bson-1.1.6.tgz#fb819be9a60cd677e0853aee4ca712a785d6618a" - integrity sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg== - buffer-equal-constant-time@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" @@ -8104,7 +7947,7 @@ buffer@4.9.2, buffer@^4.3.0: ieee754 "^1.1.4" isarray "^1.0.0" -buffer@^5.1.0, buffer@^5.5.0, buffer@^5.6.0: +buffer@^5.1.0, buffer@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -8796,24 +8639,11 @@ cloudinary@^1.30.1: optionalDependencies: proxy-agent "^5.0.0" -cls-bluebird@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cls-bluebird/-/cls-bluebird-2.1.0.tgz#37ef1e080a8ffb55c2f4164f536f1919e7968aee" - integrity sha512-XVb0RPmHQyy35Tz9z34gvtUcBKUK8A/1xkGCyeFc9B0C7Zr5SysgFaswRVdwI5NEMcO+3JKlIDGIOgERSn9NdA== - dependencies: - is-bluebird "^1.0.2" - shimmer "^1.1.0" - clsx@^1.1.1: version "1.2.1" resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== -cluster-key-slot@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/cluster-key-slot/-/cluster-key-slot-1.1.0.tgz#30474b2a981fb12172695833052bc0d01336d10d" - integrity sha512-2Nii8p3RwAPiFwsnZvukotvow2rIHM+yQ6ZcBXGHdniadkYGZYiGmkHJIbZPIV9nfv7m/U1IPMVVcAhoWFeklw== - cmd-shim@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-4.1.0.tgz#b3a904a6743e9fede4148c6f3800bf2a08135bdd" @@ -9751,11 +9581,6 @@ date-and-time@^0.6.3: resolved "https://registry.yarnpkg.com/date-and-time/-/date-and-time-0.6.3.tgz#2daee52df67c28bd93bce862756ac86b68cf4237" integrity sha512-lcWy3AXDRJOD7MplwZMmNSRM//kZtJaLz4n6D1P5z9wEmZGBKhJRBIr1Xs9KNQJmdXPblvgffynYji4iylUTcA== -date-fns@2.24.0: - version "2.24.0" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.24.0.tgz#7d86dc0d93c87b76b63d213b4413337cfd1c105d" - integrity sha512-6ujwvwgPID6zbI0o7UbURi2vlLDR9uP26+tW6Lg+Ji3w7dd0i3DOcjcClLjLPranT60SSEFBwdSyYwn/ZkPIuw== - date-fns@2.28.0: version "2.28.0" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.28.0.tgz#9570d656f5fc13143e50c975a3b6bbeb46cd08b2" @@ -9780,13 +9605,6 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: dependencies: ms "2.0.0" -debug@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - debug@4, debug@4.3.4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" @@ -9989,11 +9807,6 @@ delegates@1.0.0, delegates@^1.0.0: resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== -denque@^1.4.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/denque/-/denque-1.5.1.tgz#07f670e29c9a78f8faecb2566a1e2c11929c5cbf" - integrity sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw== - depd@2.0.0, depd@^2.0.0, depd@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" @@ -10368,11 +10181,6 @@ dotenv@^8.0.0: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== -dottie@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/dottie/-/dottie-2.0.2.tgz#cc91c0726ce3a054ebf11c55fbc92a7f266dd154" - integrity sha512-fmrwR04lsniq/uSr8yikThDTrM7epXHBAAjH9TbeH3rEA8tdCO7mRzB9hdmdGyJCxF8KERo9CITcm3kGuoyMhg== - downshift@^6.0.15: version "6.1.7" resolved "https://registry.yarnpkg.com/downshift/-/downshift-6.1.7.tgz#fdb4c4e4f1d11587985cd76e21e8b4b3fa72e44c" @@ -12203,11 +12011,6 @@ gcs-resumable-upload@^1.0.0: pumpify "^1.5.1" stream-events "^1.0.4" -generic-pool@3.8.2: - version "3.8.2" - resolved "https://registry.yarnpkg.com/generic-pool/-/generic-pool-3.8.2.tgz#aab4f280adb522fdfbdc5e5b64d718d3683f04e9" - integrity sha512-nGToKy6p3PAbYQ7p1UlWl6vSPwfwU6TMSWK7TTu+WUY4ZjyZQGniGGt2oNVvyNSpyZYSB43zMXVLcBm08MTMkg== - gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" @@ -13218,17 +13021,6 @@ http-deceiver@^1.2.7: resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== -http-errors@1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.0.tgz#75d1bbe497e1044f51e4ee9e704a62f28d336507" - integrity sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - http-errors@1.8.1, http-errors@^1.6.3, http-errors@^1.7.3, http-errors@^1.8.0, http-errors@^1.8.1, http-errors@~1.8.0: version "1.8.1" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c" @@ -13512,11 +13304,6 @@ inflation@^2.0.0: resolved "https://registry.yarnpkg.com/inflation/-/inflation-2.0.0.tgz#8b417e47c28f925a45133d914ca1fd389107f30f" integrity sha512-m3xv4hJYR2oXw4o4Y5l6P5P16WYmazYof+el6Al3f+YlggGj6qT9kImBAnzDelRALnP5d3h4jGBPKzYCizjZZw== -inflection@1.12.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/inflection/-/inflection-1.12.0.tgz#a200935656d6f5f6bc4dc7502e1aecb703228416" - integrity sha512-lRy4DxuIFWXlJU7ed8UiTJOSTqStqYdEb4CEbtXfNbkdj3nH1L+reUWiE10VWcJS2yR7tge8Z74pJjtBjNwj0w== - inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -13750,11 +13537,6 @@ is-blob@^2.1.0: resolved "https://registry.yarnpkg.com/is-blob/-/is-blob-2.1.0.tgz#e36cd82c90653f1e1b930f11baf9c64216a05385" integrity sha512-SZ/fTft5eUhQM6oF/ZaASFDEdbFVe89Imltn9uZr03wdKMcWNVYSMjQPFtg05QuNkt5l5c135ElvXEQG0rk4tw== -is-bluebird@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-bluebird/-/is-bluebird-1.0.2.tgz#096439060f4aa411abee19143a84d6a55346d6e2" - integrity sha512-PDRu1vVip5dGQg5tfn2qVCCyxbBYu5MhYUJwSfL/RoGBI97n1fxvilVazxzptZW0gcmsMH17H4EVZZI5E/RSeA== - is-boolean-object@^1.1.0: version "1.1.2" resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" @@ -15165,11 +14947,6 @@ jws@^4.0.0: jwa "^2.0.0" safe-buffer "^5.0.1" -kareem@2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/kareem/-/kareem-2.3.2.tgz#78c4508894985b8d38a0dc15e1a8e11078f2ca93" - integrity sha512-STHz9P7X2L4Kwn72fA4rGyqyXdmrMSdxqHx9IXon/FXluXieaFA6KJ2upcHAHxQPQ0LeM/OjLrhFxifHewOALQ== - keygrip@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/keygrip/-/keygrip-1.1.0.tgz#871b1681d5e159c62a445b0c74b615e0917e7226" @@ -15354,15 +15131,6 @@ koa-static@5.0.0, koa-static@^5.0.0: debug "^3.1.0" koa-send "^5.0.0" -koa2-ratelimit@^0.9.0: - version "0.9.1" - resolved "https://registry.yarnpkg.com/koa2-ratelimit/-/koa2-ratelimit-0.9.1.tgz#d8264517a7c29360485624fb9889aea416f8344e" - integrity sha512-9eYPcHN7OVE2VHi5Qpy3vreDUCCEfBbwGav6LfSEybxdYXJwNDc1If8nyexvNY2q4UsYLbFGIkHmSxiNTg8kug== - dependencies: - mongoose "^5.5.13" - redis "^4.0.0" - sequelize "^5.8.7" - koa2-ratelimit@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/koa2-ratelimit/-/koa2-ratelimit-1.1.1.tgz#9c1d8257770e4a0a08063ba2ddcaf690fd457d23" @@ -16283,11 +16051,6 @@ memory-fs@^0.5.0: errno "^0.1.3" readable-stream "^2.0.1" -memory-pager@^1.0.2: - version "1.5.0" - resolved "https://registry.yarnpkg.com/memory-pager/-/memory-pager-1.5.0.tgz#d8751655d22d384682741c972f2c3d6dfa3e66b5" - integrity sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg== - memorystream@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" @@ -16720,56 +16483,6 @@ modify-values@^1.0.0: resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== -moment-timezone@^0.5.21: - version "0.5.34" - resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.34.tgz#a75938f7476b88f155d3504a9343f7519d9a405c" - integrity sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg== - dependencies: - moment ">= 2.9.0" - -"moment@>= 2.9.0", moment@^2.24.0, moment@^2.29.1: - version "2.29.4" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" - integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== - -mongodb@3.7.3: - version "3.7.3" - resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-3.7.3.tgz#b7949cfd0adc4cc7d32d3f2034214d4475f175a5" - integrity sha512-Psm+g3/wHXhjBEktkxXsFMZvd3nemI0r3IPsE0bU+4//PnvNWKkzhZcEsbPcYiWqe8XqXJJEg4Tgtr7Raw67Yw== - dependencies: - bl "^2.2.1" - bson "^1.1.4" - denque "^1.4.1" - optional-require "^1.1.8" - safe-buffer "^5.1.2" - optionalDependencies: - saslprep "^1.0.0" - -mongoose-legacy-pluralize@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz#3ba9f91fa507b5186d399fb40854bff18fb563e4" - integrity sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ== - -mongoose@^5.5.13: - version "5.13.14" - resolved "https://registry.yarnpkg.com/mongoose/-/mongoose-5.13.14.tgz#ffc9704bd022dd018fbddcbe27dc802c77719fb4" - integrity sha512-j+BlQjjxgZg0iWn42kLeZTB91OejcxWpY2Z50bsZTiKJ7HHcEtcY21Godw496GMkBqJMTzmW7G/kZ04mW+Cb7Q== - dependencies: - "@types/bson" "1.x || 4.0.x" - "@types/mongodb" "^3.5.27" - bson "^1.1.4" - kareem "2.3.2" - mongodb "3.7.3" - mongoose-legacy-pluralize "1.0.2" - mpath "0.8.4" - mquery "3.2.5" - ms "2.1.2" - optional-require "1.0.x" - regexp-clone "1.0.0" - safe-buffer "5.2.1" - sift "13.5.2" - sliced "1.0.1" - move-concurrently@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" @@ -16782,22 +16495,6 @@ move-concurrently@^1.0.1: rimraf "^2.5.4" run-queue "^1.0.3" -mpath@0.8.4: - version "0.8.4" - resolved "https://registry.yarnpkg.com/mpath/-/mpath-0.8.4.tgz#6b566d9581621d9e931dd3b142ed3618e7599313" - integrity sha512-DTxNZomBcTWlrMW76jy1wvV37X/cNNxPW1y2Jzd4DZkAaC5ZGsm8bfGfNOthcDuRJujXLqiuS6o3Tpy0JEoh7g== - -mquery@3.2.5: - version "3.2.5" - resolved "https://registry.yarnpkg.com/mquery/-/mquery-3.2.5.tgz#8f2305632e4bb197f68f60c0cffa21aaf4060c51" - integrity sha512-VjOKHHgU84wij7IUoZzFRU07IAxd5kWJaDmyUzQlbjHjyoeK5TNeeo8ZsFDtTYnSgpW6n/nMNIHvE3u8Lbrf4A== - dependencies: - bluebird "3.5.1" - debug "3.1.0" - regexp-clone "^1.0.0" - safe-buffer "5.1.2" - sliced "1.0.1" - mrmime@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-1.0.1.tgz#5f90c825fad4bdd41dc914eff5d1a8cfdaf24f27" @@ -17808,18 +17505,6 @@ opener@^1.5.2: resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== -optional-require@1.0.x: - version "1.0.3" - resolved "https://registry.yarnpkg.com/optional-require/-/optional-require-1.0.3.tgz#275b8e9df1dc6a17ad155369c2422a440f89cb07" - integrity sha512-RV2Zp2MY2aeYK5G+B/Sps8lW5NHAzE5QClbFP15j+PWmP+T9PxlJXBOOLoSAdgwFvS4t0aMR4vpedMkbHfh0nA== - -optional-require@^1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/optional-require/-/optional-require-1.1.8.tgz#16364d76261b75d964c482b2406cb824d8ec44b7" - integrity sha512-jq83qaUb0wNg9Krv1c5OQ+58EK+vHde6aBPzLvPPqJm89UQWsvSuFy9X/OSNJnFeSOKo7btE0n8Nl2+nE+z5nA== - dependencies: - require-at "^1.0.6" - optionator@^0.8.1: version "0.8.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" @@ -19512,18 +19197,6 @@ react-query@3.24.3: broadcast-channel "^3.4.1" match-sorter "^6.0.2" -react-redux@7.2.3: - version "7.2.3" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.3.tgz#4c084618600bb199012687da9e42123cca3f0be9" - integrity sha512-ZhAmQ1lrK+Pyi0ZXNMUZuYxYAZd59wFuVDGUt536kSGdD0ya9Q7BfsE95E3TsFLE3kOSFp5m6G5qbatE+Ic1+w== - dependencies: - "@babel/runtime" "^7.12.1" - "@types/react-redux" "^7.1.16" - hoist-non-react-statics "^3.3.2" - loose-envify "^1.4.0" - prop-types "^15.7.2" - react-is "^16.13.1" - react-redux@7.2.8: version "7.2.8" resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.8.tgz#a894068315e65de5b1b68899f9c6ee0923dd28de" @@ -19813,7 +19486,7 @@ read@1, read@~1.0.1: dependencies: mute-stream "~0.0.4" -"readable-stream@1 || 2", readable-stream@2.3.7, readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@2.3.7, readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -19908,18 +19581,6 @@ redent@^3.0.0: indent-string "^4.0.0" strip-indent "^3.0.0" -redis@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/redis/-/redis-4.2.0.tgz#1278a265b8aa1e096a585d103bdead027cd04e43" - integrity sha512-bCR0gKVhIXFg8zCQjXEANzgI01DDixtPZgIUZHBCmwqixnu+MK3Tb2yqGjh+HCLASQVVgApiwhNkv+FoedZOGQ== - dependencies: - "@redis/bloom" "1.0.2" - "@redis/client" "1.2.0" - "@redis/graph" "1.0.1" - "@redis/json" "1.0.3" - "@redis/search" "1.0.6" - "@redis/time-series" "1.0.3" - redux-saga@^0.16.0: version "0.16.2" resolved "https://registry.yarnpkg.com/redux-saga/-/redux-saga-0.16.2.tgz#993662e86bc945d8509ac2b8daba3a8c615cc971" @@ -19973,11 +19634,6 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" -regexp-clone@1.0.0, regexp-clone@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/regexp-clone/-/regexp-clone-1.0.0.tgz#222db967623277056260b992626354a04ce9bf63" - integrity sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw== - regexp.prototype.flags@^1.4.1, regexp.prototype.flags@^1.4.3: version "1.4.3" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" @@ -20254,11 +19910,6 @@ request@2.88.2, request@^2.74.0, request@^2.83.0, request@^2.87.0, request@^2.88 tunnel-agent "^0.6.0" uuid "^3.3.2" -require-at@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/require-at/-/require-at-1.0.6.tgz#9eb7e3c5e00727f5a4744070a7f560d4de4f6e6a" - integrity sha512-7i1auJbMUrXEAZCOQ0VNJgmcT2VOKPRl2YGJwgpHpC9CE91Mv4/4UYIUm4chGJaI381ZDq1JUicFii64Hapd8g== - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -20401,13 +20052,6 @@ ret@~0.1.10: resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== -retry-as-promised@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/retry-as-promised/-/retry-as-promised-3.2.0.tgz#769f63d536bec4783549db0777cb56dadd9d8543" - integrity sha512-CybGs60B7oYU/qSQ6kuaFmRd9sTZ6oXSc0toqePvV74Ac6/IFZSI1ReFQmtCN+uvW1Mtqdwpvt/LGOiCBAY2Mg== - dependencies: - any-promise "^1.3.0" - retry-request@^4.0.0: version "4.2.2" resolved "https://registry.yarnpkg.com/retry-request/-/retry-request-4.2.2.tgz#b7d82210b6d2651ed249ba3497f07ea602f1a903" @@ -20560,13 +20204,6 @@ sanitize-html@2.7.0: parse-srcset "^1.0.2" postcss "^8.3.11" -saslprep@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/saslprep/-/saslprep-1.0.3.tgz#4c02f946b56cf54297e347ba1093e7acac4cf226" - integrity sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag== - dependencies: - sparse-bitfield "^3.0.3" - sax@1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" @@ -20724,32 +20361,6 @@ sentence-case@^2.1.0: no-case "^2.2.0" upper-case-first "^1.1.2" -sequelize-pool@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/sequelize-pool/-/sequelize-pool-2.3.0.tgz#64f1fe8744228172c474f530604b6133be64993d" - integrity sha512-Ibz08vnXvkZ8LJTiUOxRcj1Ckdn7qafNZ2t59jYHMX1VIebTAOYefWdRYFt6z6+hy52WGthAHAoLc9hvk3onqA== - -sequelize@^5.8.7: - version "5.22.5" - resolved "https://registry.yarnpkg.com/sequelize/-/sequelize-5.22.5.tgz#ff7fdd34980a2d95456a4a57e16153c20d57e96e" - integrity sha512-ySIHof18sJbeVG4zjEvsDL490cd9S14/IhkCrZR/g0C/FPlZq1AzEJVeSAo++9/sgJH2eERltAIGqYQNgVqX/A== - dependencies: - bluebird "^3.5.0" - cls-bluebird "^2.1.0" - debug "^4.1.1" - dottie "^2.0.0" - inflection "1.12.0" - lodash "^4.17.15" - moment "^2.24.0" - moment-timezone "^0.5.21" - retry-as-promised "^3.2.0" - semver "^6.3.0" - sequelize-pool "^2.3.0" - toposort-class "^1.0.1" - uuid "^8.3.2" - validator "^13.7.0" - wkx "^0.4.8" - serialize-javascript@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" @@ -20908,11 +20519,6 @@ shellwords@^0.1.1: resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== -shimmer@^1.1.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337" - integrity sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw== - side-channel@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" @@ -20922,11 +20528,6 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" -sift@13.5.2: - version "13.5.2" - resolved "https://registry.yarnpkg.com/sift/-/sift-13.5.2.tgz#24a715e13c617b086166cd04917d204a591c9da6" - integrity sha512-+gxdEOMA2J+AI+fVsCqeNn7Tgx3M9ZN9jdi95939l1IJ8cZsqS8sqpJyOkic2SJk+1+98Uwryt/gL6XDaV+UZA== - sift@13.5.4: version "13.5.4" resolved "https://registry.yarnpkg.com/sift/-/sift-13.5.4.tgz#7b2a67f724c8b2fca121fcfdef4011bb1ea4e3ef" @@ -21005,11 +20606,6 @@ slice-ansi@^4.0.0: astral-regex "^2.0.0" is-fullwidth-code-point "^3.0.0" -sliced@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/sliced/-/sliced-1.0.1.tgz#0b3a662b5d04c3177b1926bea82b03f837a2ef41" - integrity sha512-VZBmZP8WU3sMOZm1bdgTadsQbcscK0UM8oKxKVBs4XAhUo2Xxzm/OFMGBkPusxw9xL3Uy8LrzEqGqJhclsr0yA== - smart-buffer@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" @@ -21181,13 +20777,6 @@ space-separated-tokens@^1.0.0: resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899" integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA== -sparse-bitfield@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz#ff4ae6e68656056ba4b3e792ab3334d38273ca11" - integrity sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ== - dependencies: - memory-pager "^1.0.2" - spdx-correct@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" @@ -22329,21 +21918,11 @@ toggle-selection@^1.0.6: resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== -toidentifier@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" - integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== - toidentifier@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== -toposort-class@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/toposort-class/-/toposort-class-1.0.1.tgz#7ffd1f78c8be28c3ba45cd4e1a3f5ee193bd9988" - integrity sha512-OsLcGGbYF3rMjPUf8oKktyvCiUxSbqMMS39m33MAjLTC1DVIH6x3WSt63/M77ihI09+Sdfk1AXvfhCEeUmC7mg== - toposort@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330" @@ -23037,11 +22616,6 @@ validate-npm-package-name@^4.0.0: dependencies: builtins "^5.0.0" -validator@^13.7.0: - version "13.7.0" - resolved "https://registry.yarnpkg.com/validator/-/validator-13.7.0.tgz#4f9658ba13ba8f3d82ee881d3516489ea85c0857" - integrity sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw== - value-equal@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" @@ -23578,13 +23152,6 @@ winston@3.3.3: triple-beam "^1.3.0" winston-transport "^4.4.0" -wkx@^0.4.8: - version "0.4.8" - resolved "https://registry.yarnpkg.com/wkx/-/wkx-0.4.8.tgz#a092cf088d112683fdc7182fd31493b2c5820003" - integrity sha512-ikPXMM9IR/gy/LwiOSqWlSL3X/J5uk9EO2hHNRXS41eTLXaUFEVw9fn/593jW/tE5tedNg8YjT5HkCa4FqQZyQ== - dependencies: - "@types/node" "*" - word-wrap@^1.2.3, word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" @@ -23792,16 +23359,16 @@ y18n@^5.0.5: resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== -yallist@4.0.0, yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - yallist@^3.0.0, yallist@^3.0.2, yallist@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + yaml@1.10.2, yaml@^1.10.0, yaml@^1.7.2: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" From 2a80d7e17bafd78a480095ee8e3c10aeceb79f11 Mon Sep 17 00:00:00 2001 From: Gustav Hansen Date: Tue, 9 Aug 2022 10:41:58 +0200 Subject: [PATCH 24/64] Chore: Remove @strapi/utils dependency from examples --- examples/getstarted/package.json | 1 - examples/kitchensink/package.json | 1 - 2 files changed, 2 deletions(-) diff --git a/examples/getstarted/package.json b/examples/getstarted/package.json index 807a871fbb..a14432be8e 100644 --- a/examples/getstarted/package.json +++ b/examples/getstarted/package.json @@ -21,7 +21,6 @@ "@strapi/provider-upload-aws-s3": "4.3.2", "@strapi/provider-upload-cloudinary": "4.3.2", "@strapi/strapi": "4.3.2", - "@strapi/utils": "4.3.2", "@vscode/sqlite3": "5.0.8", "better-sqlite3": "7.4.6", "lodash": "4.17.21", diff --git a/examples/kitchensink/package.json b/examples/kitchensink/package.json index be4505066f..bcde92c31a 100644 --- a/examples/kitchensink/package.json +++ b/examples/kitchensink/package.json @@ -16,7 +16,6 @@ "@strapi/provider-upload-aws-s3": "4.3.2", "@strapi/provider-upload-cloudinary": "4.3.2", "@strapi/strapi": "4.3.2", - "@strapi/utils": "4.3.2", "lodash": "4.17.21", "mysql": "2.18.1", "passport-google-oauth2": "0.2.0", From 6168d38617374cd12adfe4c4027a383539bab679 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre=20No=C3=ABl?= Date: Tue, 9 Aug 2022 12:19:09 +0200 Subject: [PATCH 25/64] ignore if populating a scalar attribute --- packages/core/database/lib/query/helpers/populate.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/database/lib/query/helpers/populate.js b/packages/core/database/lib/query/helpers/populate.js index e23706c4c1..c6cac3ee37 100644 --- a/packages/core/database/lib/query/helpers/populate.js +++ b/packages/core/database/lib/query/helpers/populate.js @@ -80,7 +80,7 @@ const processPopulate = (populate, ctx) => { } if (!types.isRelation(attribute.type)) { - throw new Error(`Invalid populate field. Expected a relation, got ${attribute.type}`); + continue; } // make sure id is present for future populate queries From c115e268cb43e4a70c68e6d530aa3d0f4dcf7d94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre=20No=C3=ABl?= Date: Tue, 9 Aug 2022 12:26:54 +0200 Subject: [PATCH 26/64] update test --- .../server/tests/api/populate-dz.test.e2e.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/core/content-manager/server/tests/api/populate-dz.test.e2e.js b/packages/core/content-manager/server/tests/api/populate-dz.test.e2e.js index 3f2fe7ab13..af64352f02 100644 --- a/packages/core/content-manager/server/tests/api/populate-dz.test.e2e.js +++ b/packages/core/content-manager/server/tests/api/populate-dz.test.e2e.js @@ -32,6 +32,10 @@ const compo2 = { name: { type: 'string', }, + category: { + // same field name as in compo1 but different type + type: 'string', + }, category_diff: { type: 'relation', relation: 'oneToOne', @@ -136,7 +140,7 @@ describe('CM API - Populate dz', () => { }, { __component: 'default.compo-b', - items: { id: 2, name: 'BBBB', category_diff: data.categories[0].id }, + items: { id: 2, name: 'BBBB', category_diff: data.categories[0].id, category: 'smthg' }, }, ], }, @@ -162,6 +166,7 @@ describe('CM API - Populate dz', () => { __component: 'default.compo-b', items: { name: 'BBBB', + category: 'smthg', category_diff: { name: 'name', }, From cf44ba82aa08e37f616ceae9ef24d6c29359e486 Mon Sep 17 00:00:00 2001 From: Gustav Hansen Date: Tue, 9 Aug 2022 15:44:35 +0200 Subject: [PATCH 27/64] Revert "add badgeContent to pluginsSectionsLinks" --- .../core/admin/admin/src/components/LeftMenu/index.js | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/packages/core/admin/admin/src/components/LeftMenu/index.js b/packages/core/admin/admin/src/components/LeftMenu/index.js index b31ecec897..79c21683af 100644 --- a/packages/core/admin/admin/src/components/LeftMenu/index.js +++ b/packages/core/admin/admin/src/components/LeftMenu/index.js @@ -125,13 +125,7 @@ const LeftMenu = ({ generalSectionLinks, pluginsSectionLinks }) => { const Icon = link.icon; return ( - } - badgeContent={link.badge} - > + }> {formatMessage(link.intlLabel)} ); From de068883753466c38f1483608fc98f6316659038 Mon Sep 17 00:00:00 2001 From: Bassel Kanso Date: Tue, 9 Aug 2022 17:10:54 +0300 Subject: [PATCH 28/64] imporve deepFiltering e2e test --- packages/core/strapi/tests/deepFiltering.test.e2e.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/core/strapi/tests/deepFiltering.test.e2e.js b/packages/core/strapi/tests/deepFiltering.test.e2e.js index 5cc5865018..bdb6c1e6c9 100644 --- a/packages/core/strapi/tests/deepFiltering.test.e2e.js +++ b/packages/core/strapi/tests/deepFiltering.test.e2e.js @@ -181,8 +181,12 @@ describe('Deep Filtering API', () => { }); expect(Array.isArray(res.body.data)).toBe(true); expect(res.body.data.length).toBe(2); - expect(res.body.data[0]).toMatchObject(data.collector[0]); - expect(res.body.data[1]).toMatchObject(data.collector[1]); + expect(res.body.data).toEqual( + expect.arrayContaining([ + expect.objectContaining(data.collector[0]), + expect.objectContaining(data.collector[1]), + ]) + ); }); }); From 305dc187bebc51e9aaf6fe225d1a1266dd2bb3b6 Mon Sep 17 00:00:00 2001 From: Marc-Roig Date: Tue, 9 Aug 2022 17:15:40 +0200 Subject: [PATCH 29/64] removing components before deleting entity --- packages/core/strapi/lib/services/entity-service/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/strapi/lib/services/entity-service/index.js b/packages/core/strapi/lib/services/entity-service/index.js index 9dcc4b5f94..b11b9ba8bb 100644 --- a/packages/core/strapi/lib/services/entity-service/index.js +++ b/packages/core/strapi/lib/services/entity-service/index.js @@ -261,8 +261,8 @@ const createDefaultImplementation = ({ strapi, db, eventHub, entityValidator }) return null; } - await db.query(uid).delete({ where: { id: entityToDelete.id } }); await deleteComponents(uid, entityToDelete); + await db.query(uid).delete({ where: { id: entityToDelete.id } }); await this.emitEvent(uid, ENTRY_DELETE, entityToDelete); From b43a35aaf72c6aaf18bcce84278a6b3de5e80ba8 Mon Sep 17 00:00:00 2001 From: WalkingPizza Date: Tue, 9 Aug 2022 17:20:19 +0200 Subject: [PATCH 30/64] Replace trigger permission with update --- packages/core/admin/server/routes/webhooks.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/admin/server/routes/webhooks.js b/packages/core/admin/server/routes/webhooks.js index e2dfb287be..dd0dd9baf5 100644 --- a/packages/core/admin/server/routes/webhooks.js +++ b/packages/core/admin/server/routes/webhooks.js @@ -74,7 +74,7 @@ module.exports = [ config: { policies: [ 'admin::isAuthenticatedAdmin', - { name: 'admin::hasPermissions', config: { actions: ['admin::webhooks.trigger'] } }, + { name: 'admin::hasPermissions', config: { actions: ['admin::webhooks.update'] } }, ], }, }, From 62bd2b1708106e70fd77ea9d73cf8cf9a2f32a8c Mon Sep 17 00:00:00 2001 From: Marc-Roig Date: Tue, 9 Aug 2022 17:44:57 +0200 Subject: [PATCH 31/64] trigger webhook on bulk delete --- .../strapi/lib/services/entity-service/index.js | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/packages/core/strapi/lib/services/entity-service/index.js b/packages/core/strapi/lib/services/entity-service/index.js index b11b9ba8bb..31d13ca141 100644 --- a/packages/core/strapi/lib/services/entity-service/index.js +++ b/packages/core/strapi/lib/services/entity-service/index.js @@ -276,7 +276,22 @@ const createDefaultImplementation = ({ strapi, db, eventHub, entityValidator }) // select / populate const query = transformParamsToQuery(uid, wrappedParams); - return db.query(uid).deleteMany(query); + const entitiesToDelete = await db.query(uid).findMany({ + ...query, + }); + + if (!entitiesToDelete.length) { + return null; + } + + // Delete all the entities components first and then the entities + await Promise.all(entitiesToDelete.map(entity => deleteComponents(uid, entity))); + const result = await db.query(uid).deleteMany(query); + + // Trigger the webhook events. One for each entity + await Promise.all(entitiesToDelete.map(entity => this.emitEvent(uid, ENTRY_DELETE, entity))); + + return result; }, load(uid, entity, field, params = {}) { From 59b39b47b7113519e544510ee38e8f050f81dd6e Mon Sep 17 00:00:00 2001 From: Marc-Roig Date: Tue, 9 Aug 2022 17:46:57 +0200 Subject: [PATCH 32/64] comments --- packages/core/strapi/lib/services/entity-service/index.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/core/strapi/lib/services/entity-service/index.js b/packages/core/strapi/lib/services/entity-service/index.js index 31d13ca141..2d5cb50897 100644 --- a/packages/core/strapi/lib/services/entity-service/index.js +++ b/packages/core/strapi/lib/services/entity-service/index.js @@ -261,9 +261,11 @@ const createDefaultImplementation = ({ strapi, db, eventHub, entityValidator }) return null; } + // Delete entity components first, and then the entity await deleteComponents(uid, entityToDelete); await db.query(uid).delete({ where: { id: entityToDelete.id } }); + // Trigger webhook await this.emitEvent(uid, ENTRY_DELETE, entityToDelete); return entityToDelete; @@ -284,11 +286,11 @@ const createDefaultImplementation = ({ strapi, db, eventHub, entityValidator }) return null; } - // Delete all the entities components first and then the entities + // Delete all the entities components first, and then the entities await Promise.all(entitiesToDelete.map(entity => deleteComponents(uid, entity))); const result = await db.query(uid).deleteMany(query); - // Trigger the webhook events. One for each entity + // Trigger the webhooks. One for each entity await Promise.all(entitiesToDelete.map(entity => this.emitEvent(uid, ENTRY_DELETE, entity))); return result; From b307069465b21195c96db6d12f1e05f6cbe5e765 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre=20No=C3=ABl?= Date: Tue, 9 Aug 2022 17:53:47 +0200 Subject: [PATCH 33/64] Populate folder for media for findOne in CM --- packages/core/content-manager/server/services/entity-manager.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/content-manager/server/services/entity-manager.js b/packages/core/content-manager/server/services/entity-manager.js index 62454681d3..7df3175c0d 100644 --- a/packages/core/content-manager/server/services/entity-manager.js +++ b/packages/core/content-manager/server/services/entity-manager.js @@ -61,7 +61,7 @@ const getDeepPopulate = (uid, populate) => { } if (attribute.type === 'media') { - populateAcc[attributeName] = true; + populateAcc[attributeName] = { populate: 'folder' }; } if (attribute.type === 'dynamiczone') { From 9e67d3b706470118ea35a28a1327b588b383ea19 Mon Sep 17 00:00:00 2001 From: Marc-Roig Date: Tue, 9 Aug 2022 18:11:03 +0200 Subject: [PATCH 34/64] remove webhook comment --- packages/core/strapi/lib/services/entity-service/index.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/core/strapi/lib/services/entity-service/index.js b/packages/core/strapi/lib/services/entity-service/index.js index 2d5cb50897..acf4e44443 100644 --- a/packages/core/strapi/lib/services/entity-service/index.js +++ b/packages/core/strapi/lib/services/entity-service/index.js @@ -265,7 +265,6 @@ const createDefaultImplementation = ({ strapi, db, eventHub, entityValidator }) await deleteComponents(uid, entityToDelete); await db.query(uid).delete({ where: { id: entityToDelete.id } }); - // Trigger webhook await this.emitEvent(uid, ENTRY_DELETE, entityToDelete); return entityToDelete; @@ -290,7 +289,7 @@ const createDefaultImplementation = ({ strapi, db, eventHub, entityValidator }) await Promise.all(entitiesToDelete.map(entity => deleteComponents(uid, entity))); const result = await db.query(uid).deleteMany(query); - // Trigger the webhooks. One for each entity + // Trigger webhooks. One for each entity await Promise.all(entitiesToDelete.map(entity => this.emitEvent(uid, ENTRY_DELETE, entity))); return result; From 2f0259c0c64ad0f1bb5afed1e2fa9a20566a4621 Mon Sep 17 00:00:00 2001 From: Julie Plantey Date: Tue, 9 Aug 2022 18:14:13 +0200 Subject: [PATCH 35/64] passing parentFolderId to AssetDialog --- packages/core/upload/admin/src/components/AssetDialog/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/core/upload/admin/src/components/AssetDialog/index.js b/packages/core/upload/admin/src/components/AssetDialog/index.js index d27c7cadae..c0ee61af5f 100644 --- a/packages/core/upload/admin/src/components/AssetDialog/index.js +++ b/packages/core/upload/admin/src/components/AssetDialog/index.js @@ -185,6 +185,7 @@ export const AssetDialog = ({ folder={folderToEdit} onClose={() => setFolderToEdit(undefined)} location="content-manager" + parentFolderId={queryObject?.folder} /> ); } From c81376a58433126b83e3102fe493bae80759ab47 Mon Sep 17 00:00:00 2001 From: derrickmehaffy Date: Tue, 9 Aug 2022 09:21:27 -0700 Subject: [PATCH 36/64] Deprecate Rackspace upload provider Signed-off-by: Derrick Mehaffy Moved to: https://github.com/strapi/strapi-provider-upload-rackspace --- .../providers/upload-rackspace/.editorconfig | 16 --- .../providers/upload-rackspace/.gitignore | 31 ------ .../providers/upload-rackspace/.npmignore | 100 ------------------ packages/providers/upload-rackspace/LICENSE | 22 ---- packages/providers/upload-rackspace/README.md | 84 --------------- .../providers/upload-rackspace/lib/index.js | 63 ----------- .../providers/upload-rackspace/package.json | 35 ------ 7 files changed, 351 deletions(-) delete mode 100644 packages/providers/upload-rackspace/.editorconfig delete mode 100644 packages/providers/upload-rackspace/.gitignore delete mode 100644 packages/providers/upload-rackspace/.npmignore delete mode 100644 packages/providers/upload-rackspace/LICENSE delete mode 100644 packages/providers/upload-rackspace/README.md delete mode 100644 packages/providers/upload-rackspace/lib/index.js delete mode 100644 packages/providers/upload-rackspace/package.json diff --git a/packages/providers/upload-rackspace/.editorconfig b/packages/providers/upload-rackspace/.editorconfig deleted file mode 100644 index 473e45184b..0000000000 --- a/packages/providers/upload-rackspace/.editorconfig +++ /dev/null @@ -1,16 +0,0 @@ -root = true - -[*] -indent_style = space -indent_size = 2 -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -[{package.json,*.yml}] -indent_style = space -indent_size = 2 - -[*.md] -trim_trailing_whitespace = false diff --git a/packages/providers/upload-rackspace/.gitignore b/packages/providers/upload-rackspace/.gitignore deleted file mode 100644 index b35157fb0c..0000000000 --- a/packages/providers/upload-rackspace/.gitignore +++ /dev/null @@ -1,31 +0,0 @@ -# Ignore docs files -_gh_pages -_site -_build -.sass-cache - -# Numerous always-ignore extensions -*.diff -*.err -*.orig -*.log -*.rej -*.swo -*.swp -*.zip -*.gz -*.vi -*~ - -# OS or Editor folders -.DS_Store -._* -Thumbs.db -.cache -.project -.settings -.tmproj -.idea -*.esproj -*.sublime-project -*.sublime-workspace diff --git a/packages/providers/upload-rackspace/.npmignore b/packages/providers/upload-rackspace/.npmignore deleted file mode 100644 index 4ce3e454f1..0000000000 --- a/packages/providers/upload-rackspace/.npmignore +++ /dev/null @@ -1,100 +0,0 @@ -############################ -# OS X -############################ - -.DS_Store -.AppleDouble -.LSOverride -Icon -.Spotlight-V100 -.Trashes -._* - -############################ -# Linux -############################ - -*~ - -############################ -# Windows -############################ - -Thumbs.db -ehthumbs.db -Desktop.ini -$RECYCLE.BIN/ -*.cab -*.msi -*.msm -*.msp - -############################ -# Packages -############################ - -*.7z -*.csv -*.dat -*.dmg -*.gz -*.iso -*.jar -*.rar -*.tar -*.zip -*.com -*.class -*.dll -*.exe -*.o -*.seed -*.so -*.swo -*.swp -*.swn -*.swm -*.out -*.pid - -############################ -# Logs and databases -############################ - -.tmp -*.log -*.sql -*.sqlite - -############################ -# Misc. -############################ - -*# -ssl -.editorconfig -.gitattributes -.idea -nbproject - -############################ -# Node.js -############################ - -lib-cov -lcov.info -pids -logs -results -build -node_modules -.node_history - -############################ -# Tests -############################ - -test -tests -__tests__ -jest.config.js diff --git a/packages/providers/upload-rackspace/LICENSE b/packages/providers/upload-rackspace/LICENSE deleted file mode 100644 index db018546b5..0000000000 --- a/packages/providers/upload-rackspace/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -Copyright (c) 2015-present Strapi Solutions SAS - -Portions of the Strapi software are licensed as follows: - -* All software that resides under an "ee/" directory (the “EE Software”), if that directory exists, is licensed under the license defined in "ee/LICENSE". - -* All software outside of the above-mentioned directories or restrictions above is available under the "MIT Expat" license as set forth below. - -MIT Expat License - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/packages/providers/upload-rackspace/README.md b/packages/providers/upload-rackspace/README.md deleted file mode 100644 index d619a3a69a..0000000000 --- a/packages/providers/upload-rackspace/README.md +++ /dev/null @@ -1,84 +0,0 @@ -# @strapi/provider-upload-rackspace - -## Resources - -- [LICENSE](LICENSE) - -## Links - -- [Strapi website](https://strapi.io/) -- [Strapi documentation](https://docs.strapi.io) -- [Strapi community on Discord](https://discord.strapi.io) -- [Strapi news on Twitter](https://twitter.com/strapijs) - -## Installation - -```bash -# using yarn -yarn add @strapi/provider-upload-rackspace - -# using npm -npm install @strapi/provider-upload-rackspace --save -``` - -## Configuration - -- `provider` defines the name of the provider -- `providerOptions` is passed down during the construction of the provider. (ex: `createClient(config)`). [Complete list of options](https://github.com/pkgcloud/pkgcloud/blob/master/docs/providers/rackspace/README.md). The implementation is based on the package `pkgcloud`. [Documentation](https://github.com/pkgcloud/pkgcloud#storage) -- `actionOptions` is passed directly to each method respectively allowing for custom options. You can find the complete list of [upload/ uploadStream options](https://github.com/pkgcloud/pkgcloud#upload-a-file) and [delete options](https://github.com/pkgcloud/pkgcloud/blob/master/docs/providers/rackspace/storage.md#clientremovefilecontainer-file-functionerr-result--) - -See the [documentation about using a provider](https://docs.strapi.io/developer-docs/latest/plugins/upload.html#using-a-provider) for information on installing and using a provider. To understand how environment variables are used in Strapi, please refer to the [documentation about environment variables](https://docs.strapi.io/developer-docs/latest/setup-deployment-guides/configurations/optional/environment.html#environment-variables). - -### Provider Configuration - -`./config/plugins.js` - -```js -module.exports = ({ env }) => ({ - // ... - upload: { - config: { - provider: 'rackspace', - providerOptions: { - username: env('RACKSPACE_USERNAME'), - apiKey: env('RACKSPACE_KEY'), - region: env('RACKSPACE_REGION'), - container: env('RACKSPACE_CONTAINER'), - }, - actionOptions: { - upload: {}, - uploadStream: {}, - delete: {}, - }, - }, - }, - // ... -}); -``` - -### Security Middleware Configuration - -Due to the default settings in the Strapi Security Middleware you will need to modify the `contentSecurityPolicy` settings to properly see thumbnail previews in the Media Library. You should replace `strapi::security` string with the object bellow instead as explained in the [middleware configuration](https://docs.strapi.io/developer-docs/latest/setup-deployment-guides/configurations/required/middlewares.html#loading-order) documentation. - -`./config/middlewares.js` - -```js -module.exports = [ - // ... - { - name: 'strapi::security', - config: { - contentSecurityPolicy: { - useDefaults: true, - directives: { - 'connect-src': ["'self'", 'https:'], - 'img-src': ["'self'", 'data:', 'blob:', 'storage.clouddrive.com'], - 'media-src': ["'self'", 'data:', 'blob:', 'storage.clouddrive.com'], - upgradeInsecureRequests: null, - }, - }, - }, - }, - // ... -]; -``` diff --git a/packages/providers/upload-rackspace/lib/index.js b/packages/providers/upload-rackspace/lib/index.js deleted file mode 100644 index 63ddad2afc..0000000000 --- a/packages/providers/upload-rackspace/lib/index.js +++ /dev/null @@ -1,63 +0,0 @@ -'use strict'; - -/** - * Module dependencies - */ - -// Public node modules. -const pkgcloud = require('pkgcloud'); -const streamifier = require('streamifier'); - -module.exports = { - init(config) { - const options = { container: config.container }; - const client = pkgcloud.storage.createClient({ - provider: 'rackspace', - ...config, - }); - - const remoteURL = () => - new Promise((resolve, reject) => { - return client.getContainer(config.container, (err, res) => { - if (err && !res) return reject(err); - return resolve(res); - }); - }); - - return { - upload(file) { - const readStream = streamifier.createReadStream(file.buffer); - const writeStream = client.upload({ - ...options, - remote: file.hash, - contentType: file.mime, - }); - - return new Promise((resolve, reject) => { - readStream.pipe(writeStream); - writeStream.on('error', error => error && reject(error)); - writeStream.on('success', result => { - remoteURL() - .then(data => { - resolve( - Object.assign(file, { - mime: result.contentType, - url: `${data.cdnSslUri}/${result.name}`, - }) - ); - }) - .catch(err => console.error(err) && reject(err)); - }); - }); - }, - delete(file) { - return new Promise((resolve, reject) => { - client.removeFile(config.container, file.hash, error => { - if (error) return reject(error); - return resolve(); - }); - }); - }, - }; - }, -}; diff --git a/packages/providers/upload-rackspace/package.json b/packages/providers/upload-rackspace/package.json deleted file mode 100644 index 782a2ee388..0000000000 --- a/packages/providers/upload-rackspace/package.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "@strapi/provider-upload-rackspace", - "version": "4.3.2", - "description": "Rackspace provider for strapi upload", - "repository": { - "type": "git", - "url": "https://github.com/strapi/strapi.git", - "directory": "packages/providers/upload-rackspace" - }, - "keywords": [], - "license": "SEE LICENSE IN LICENSE", - "author": { - "name": "Pongstr Ordillo", - "url": "https://github.com/pongstr" - }, - "maintainers": [ - { - "name": "Strapi Solutions SAS", - "email": "hi@strapi.io", - "url": "https://strapi.io" - } - ], - "main": "./lib", - "scripts": { - "test": "echo \"no tests yet\"" - }, - "dependencies": { - "pkgcloud": "2.2.0", - "streamifier": "0.1.1" - }, - "engines": { - "node": ">=14.19.1 <=16.x.x", - "npm": ">=6.0.0" - } -} From 8b2108a9405771f3cac002ef7c1b71c171dc1deb Mon Sep 17 00:00:00 2001 From: Alexandre Bodin Date: Wed, 10 Aug 2022 11:39:34 +0200 Subject: [PATCH 37/64] Clear rackspace deps after delete --- yarn.lock | 554 +++--------------------------------------------------- 1 file changed, 23 insertions(+), 531 deletions(-) diff --git a/yarn.lock b/yarn.lock index 87df0cfa2d..7ea8939860 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1952,70 +1952,6 @@ resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== -"@google-cloud/common@^0.32.0": - version "0.32.1" - resolved "https://registry.yarnpkg.com/@google-cloud/common/-/common-0.32.1.tgz#6a32c340172cea3db6674d0e0e34e78740a0073f" - integrity sha512-bLdPzFvvBMtVkwsoBtygE9oUm3yrNmPa71gvOgucYI/GqvNP2tb6RYsDHPq98kvignhcgHGDI5wyNgxaCo8bKQ== - dependencies: - "@google-cloud/projectify" "^0.3.3" - "@google-cloud/promisify" "^0.4.0" - "@types/request" "^2.48.1" - arrify "^2.0.0" - duplexify "^3.6.0" - ent "^2.2.0" - extend "^3.0.2" - google-auth-library "^3.1.1" - pify "^4.0.1" - retry-request "^4.0.0" - teeny-request "^3.11.3" - -"@google-cloud/paginator@^0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@google-cloud/paginator/-/paginator-0.2.0.tgz#eab2e6aa4b81df7418f6c51e2071f64dab2c2fa5" - integrity sha512-2ZSARojHDhkLvQ+CS32K+iUhBsWg3AEw+uxtqblA7xoCABDyhpj99FPp35xy6A+XlzMhOSrHHaxFE+t6ZTQq0w== - dependencies: - arrify "^1.0.1" - extend "^3.0.1" - split-array-stream "^2.0.0" - stream-events "^1.0.4" - -"@google-cloud/projectify@^0.3.3": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@google-cloud/projectify/-/projectify-0.3.3.tgz#bde9103d50b20a3ea3337df8c6783a766e70d41d" - integrity sha512-7522YHQ4IhaafgSunsFF15nG0TGVmxgXidy9cITMe+256RgqfcrfWphiMufW+Ou4kqagW/u3yxwbzVEW3dk2Uw== - -"@google-cloud/promisify@^0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@google-cloud/promisify/-/promisify-0.4.0.tgz#4fbfcf4d85bb6a2e4ccf05aa63d2b10d6c9aad9b" - integrity sha512-4yAHDC52TEMCNcMzVC8WlqnKKKq+Ssi2lXoUg9zWWkZ6U6tq9ZBRYLHHCRdfU+EU9YJsVmivwGcKYCjRGjnf4Q== - -"@google-cloud/storage@^2.4.3": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@google-cloud/storage/-/storage-2.5.0.tgz#9dd3566d8155cf5ba0c212208f69f9ecd47fbd7e" - integrity sha512-q1mwB6RUebIahbA3eriRs8DbG2Ij81Ynb9k8hMqTPkmbd8/S6Z0d6hVvfPmnyvX9Ej13IcmEYIbymuq/RBLghA== - dependencies: - "@google-cloud/common" "^0.32.0" - "@google-cloud/paginator" "^0.2.0" - "@google-cloud/promisify" "^0.4.0" - arrify "^1.0.0" - async "^2.0.1" - compressible "^2.0.12" - concat-stream "^2.0.0" - date-and-time "^0.6.3" - duplexify "^3.5.0" - extend "^3.0.0" - gcs-resumable-upload "^1.0.0" - hash-stream-validation "^0.2.1" - mime "^2.2.0" - mime-types "^2.0.8" - onetime "^5.1.0" - pumpify "^1.5.1" - snakeize "^0.1.0" - stream-events "^1.0.1" - teeny-request "^3.11.3" - through2 "^3.0.0" - xdg-basedir "^3.0.0" - "@graphql-tools/merge@8.3.1", "@graphql-tools/merge@^8.0.2": version "8.3.1" resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.3.1.tgz#06121942ad28982a14635dbc87b5d488a041d722" @@ -5535,11 +5471,6 @@ "@types/node" "*" "@types/responselike" "*" -"@types/caseless@*": - version "0.12.2" - resolved "https://registry.yarnpkg.com/@types/caseless/-/caseless-0.12.2.tgz#f65d3d6389e01eeb458bd54dc8f52b95a9463bc8" - integrity sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w== - "@types/color-convert@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@types/color-convert/-/color-convert-2.0.0.tgz#8f5ee6b9e863dcbee5703f5a517ffb13d3ea4e22" @@ -5972,16 +5903,6 @@ "@types/scheduler" "*" csstype "^3.0.2" -"@types/request@^2.48.1": - version "2.48.8" - resolved "https://registry.yarnpkg.com/@types/request/-/request-2.48.8.tgz#0b90fde3b655ab50976cb8c5ac00faca22f5a82c" - integrity sha512-whjk1EDJPcAR2kYHRbFl/lKeeKYTi05A15K9bnLInCVroNDCtXce57xKdI0/rQaA3K+6q0eFyUBPmqfSndUZdQ== - dependencies: - "@types/caseless" "*" - "@types/node" "*" - "@types/tough-cookie" "*" - form-data "^2.5.0" - "@types/responselike@*", "@types/responselike@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" @@ -6064,11 +5985,6 @@ dependencies: "@types/node" "*" -"@types/tough-cookie@*": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.2.tgz#6286b4c7228d58ab7866d19716f3696e03a09397" - integrity sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw== - "@types/uglify-js@*": version "3.16.0" resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.16.0.tgz#2cf74a0e6ebb6cd54c0d48e509d5bd91160a9602" @@ -6494,13 +6410,6 @@ abbrev@1.0.x: resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" integrity sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q== -abort-controller@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-2.0.3.tgz#b174827a732efadff81227ed4b8d1cc569baf20a" - integrity sha512-EPSq5wr2aFyAZ1PejJB32IX9Qd4Nwus+adnp7STYFM5/23nLPBazqZ1oor6ZqbH+4otaaGXTlC8RN5hq3C8w9Q== - dependencies: - event-target-shim "^5.0.0" - abort-controller@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" @@ -6581,13 +6490,6 @@ agent-base@6, agent-base@^6.0.0, agent-base@^6.0.2: dependencies: debug "4" -agent-base@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" - integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== - dependencies: - es6-promisify "^5.0.0" - agentkeepalive@^4.1.3, agentkeepalive@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.1.tgz#a7975cbb9f83b367f06c90cc51ff28fe7d499717" @@ -7094,12 +6996,12 @@ array.prototype.reduce@^1.0.4: es-array-method-boxes-properly "^1.0.0" is-string "^1.0.7" -arrify@^1.0.0, arrify@^1.0.1: +arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== -arrify@^2.0.0, arrify@^2.0.1: +arrify@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== @@ -7195,13 +7097,6 @@ async@1.x: resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" integrity sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w== -async@^2.0.1, async@^2.6.1: - version "2.6.4" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" - integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== - dependencies: - lodash "^4.17.14" - async@^3.1.0: version "3.2.4" resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" @@ -7240,7 +7135,7 @@ available-typed-arrays@^1.0.5: resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== -aws-sdk@2.1188.0, aws-sdk@^2.382.0: +aws-sdk@2.1188.0: version "2.1188.0" resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1188.0.tgz#94b710948ef2924093a8d6fe42443a792385afa2" integrity sha512-4KXwjRjbCzU1luTOeH+ded92H51I4UuHaZzx2EI+JA0II1+q48heTxFlFd7yp7jGz9UwjPb6k12Jv1W3r0JWxA== @@ -7552,7 +7447,7 @@ base-64@^1.0.0: resolved "https://registry.yarnpkg.com/base-64/-/base-64-1.0.0.tgz#09d0f2084e32a3fd08c2475b973788eee6ae8f4a" integrity sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg== -base64-js@^1.0.2, base64-js@^1.3.0, base64-js@^1.3.1: +base64-js@^1.0.2, base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== @@ -7633,11 +7528,6 @@ bignumber.js@9.0.0: resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.0.tgz#805880f84a329b5eac6e7cb6f8274b6d82bdf075" integrity sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A== -bignumber.js@^9.0.0: - version "9.0.2" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.2.tgz#71c6c6bed38de64e24a65ebe16cfcf23ae693673" - integrity sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw== - bin-links@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-3.0.1.tgz#cc70ffb481988b22c527d3e6e454787876987a49" @@ -8812,16 +8702,6 @@ comma-separated-tokens@^1.0.0: resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea" integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw== -commander@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-0.6.1.tgz#fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06" - integrity sha512-0fLycpl1UMTGX257hRsu/arL/cUbcvQM4zMKwvLvzXtfdezIV4yotPS2dYtknF+NmEfWSoCEF6+hj9XLm/6hEw== - -commander@2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.3.0.tgz#fd430e889832ec353b9acd1de217c11cb3eef873" - integrity sha512-CD452fnk0jQyk3NfnK+KkR/hUPoHt5pVaKHogtyyv3N0U4QfAal9W0/rXLOg/vVZgQKa7jdtXypKs1YAip11uQ== - commander@6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/commander/-/commander-6.1.0.tgz#f8d722b78103141006b66f4c7ba1e97315ba75bc" @@ -8908,7 +8788,7 @@ compress-brotli@^1.3.8: "@types/json-buffer" "~3.0.0" json-buffer "~3.0.1" -compressible@^2.0.0, compressible@^2.0.12, compressible@~2.0.16: +compressible@^2.0.0, compressible@~2.0.16: version "2.0.18" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== @@ -8978,18 +8858,6 @@ configstore@5.0.1: write-file-atomic "^3.0.0" xdg-basedir "^4.0.0" -configstore@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-4.0.0.tgz#5933311e95d3687efb592c528b922d9262d227e7" - integrity sha512-CmquAXFBocrzaSM8mtGPMM/HiWmyIpr4CcJl/rgY2uCObZ/S7cKU0silxslqJejl+t/T9HS8E0PUNQD81JGUEQ== - dependencies: - dot-prop "^4.1.0" - graceful-fs "^4.1.2" - make-dir "^1.0.0" - unique-string "^1.0.0" - write-file-atomic "^2.0.0" - xdg-basedir "^3.0.0" - confusing-browser-globals@^1.0.10: version "1.0.11" resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" @@ -9381,11 +9249,6 @@ crypto-browserify@^3.11.0, crypto-browserify@^3.12.0: randombytes "^2.0.0" randomfill "^1.0.3" -crypto-random-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" - integrity sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg== - crypto-random-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" @@ -9576,11 +9439,6 @@ data-urls@^2.0.0: whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" -date-and-time@^0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/date-and-time/-/date-and-time-0.6.3.tgz#2daee52df67c28bd93bce862756ac86b68cf4237" - integrity sha512-lcWy3AXDRJOD7MplwZMmNSRM//kZtJaLz4n6D1P5z9wEmZGBKhJRBIr1Xs9KNQJmdXPblvgffynYji4iylUTcA== - date-fns@2.28.0: version "2.28.0" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.28.0.tgz#9570d656f5fc13143e50c975a3b6bbeb46cd08b2" @@ -9591,13 +9449,6 @@ dateformat@^3.0.0: resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== -debug@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" - integrity sha512-X0rGvJcskG1c3TgSCPqHJ0XJgwlcvOC7elJ5Y0hYuKBZoVqWpAMfLOeIh2UI/DCQ5ruodIjvsugZtjUYUw2pUw== - dependencies: - ms "0.7.1" - debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -9925,11 +9776,6 @@ diff-sequences@^28.1.1: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-28.1.1.tgz#9989dc731266dc2903457a70e996f3a041913ac6" integrity sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw== -diff@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" - integrity sha512-VzVc42hMZbYU9Sx/ltb7KYuQ6pqAw+cbFWVy4XKdkuEL2CFaRLGEnISPs7YdzaUGpi+CpIqvRmu7hPQ4T7EQ5w== - diffie-hellman@^5.0.0: version "5.0.3" resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" @@ -10135,13 +9981,6 @@ dot-case@^3.0.4: no-case "^3.0.4" tslib "^2.0.3" -dot-prop@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.1.tgz#45884194a71fc2cda71cbb4bceb3a4dd2f433ba4" - integrity sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ== - dependencies: - is-obj "^1.0.0" - dot-prop@^5.1.0, dot-prop@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" @@ -10197,7 +10036,7 @@ duplexer@^0.1.1, duplexer@^0.1.2: resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== -duplexify@^3.4.2, duplexify@^3.5.0, duplexify@^3.6.0: +duplexify@^3.4.2, duplexify@^3.6.0: version "3.7.1" resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== @@ -10369,11 +10208,6 @@ enquirer@^2.3.5, enquirer@^2.3.6, enquirer@~2.3.6: dependencies: ansi-colors "^4.1.1" -ent@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" - integrity sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA== - entities@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" @@ -10430,11 +10264,6 @@ error-stack-parser@^2.0.6: dependencies: stackframe "^1.3.4" -errs@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/errs/-/errs-0.3.2.tgz#798099b2dbd37ca2bc749e538a7c1307d0b50499" - integrity sha512-r+/tydov04FSwTi+PrGd0IdY195Y1jZW2g27TJ+cErU8vvr9V4hHYxtRF8bMjv4zYEhap7wK7zBQ2i99LRo6kA== - es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5, es-abstract@^1.20.0, es-abstract@^1.20.1: version "1.20.1" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.1.tgz#027292cd6ef44bd12b1913b828116f54787d1814" @@ -10514,18 +10343,6 @@ es6-object-assign@^1.1.0: resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" integrity sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw== -es6-promise@^4.0.3: - version "4.2.8" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" - integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== - -es6-promisify@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" - integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== - dependencies: - es6-promise "^4.0.3" - es6-shim@^0.35.5: version "0.35.6" resolved "https://registry.yarnpkg.com/es6-shim/-/es6-shim-0.35.6.tgz#d10578301a83af2de58b9eadb7c2c9945f7388a0" @@ -10679,11 +10496,6 @@ escape-html@^1.0.3, escape-html@~1.0.3: resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== -escape-string-regexp@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz#4dbc2fe674e71949caf3fb2695ce7f2dc1d9a8d1" - integrity sha512-cQpUid7bdTUnFin8S7BnNdOk+/eDqQmKgCANSyd/jAhrKEvxUvr9VQ8XZzXiOtest8NLfk3FSBZzwvemZNQ6Vg== - escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" @@ -11035,11 +10847,6 @@ event-target-shim@^5.0.0: resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== -eventemitter2@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-5.0.1.tgz#6197a095d5fb6b57e8942f6fd7eaad63a09c9452" - integrity sha512-5EM1GHXycJBS6mauYAbVKT1cVs7POKWb2NXD4Vyt8dDqeZa7LaDK1/sjtL+Zb0lzTpSNil4596Dyu97hz37QLg== - eventemitter3@^3.1.0: version "3.1.2" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" @@ -11217,7 +11024,7 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: assign-symbols "^1.0.0" is-extendable "^1.0.1" -extend@^3.0.0, extend@^3.0.1, extend@^3.0.2, extend@~3.0.2: +extend@^3.0.0, extend@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== @@ -11260,11 +11067,6 @@ fast-deep-equal@3.1.3, fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-deep-equal@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" - integrity sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w== - fast-glob@3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" @@ -11304,13 +11106,6 @@ fast-json-parse@^1.0.3: resolved "https://registry.yarnpkg.com/fast-json-parse/-/fast-json-parse-1.0.3.tgz#43e5c61ee4efa9265633046b770fb682a7577c4d" integrity sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw== -fast-json-patch@^2.1.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/fast-json-patch/-/fast-json-patch-2.2.1.tgz#18150d36c9ab65c7209e7d4eb113f4f8eaabe6d9" - integrity sha512-4j5uBaTnsYAV5ebkidvxiLUYOwjQ+JSFljeqfTxCrH9bDmlCQaOJFS84oDJ2rAXZq2yskmk3ORfoP9DCwqFNig== - dependencies: - fast-deep-equal "^2.0.1" - fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" @@ -11326,11 +11121,6 @@ fast-safe-stringify@^2.1.1: resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== -fast-text-encoding@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/fast-text-encoding/-/fast-text-encoding-1.0.4.tgz#bf1898ad800282a4e53c0ea9690704dd26e4298e" - integrity sha512-x6lDDm/tBAzX9kmsPcZsNbvDs3Zey3+scsxaZElS8xWLgUMAg/oFLeewfUz0mu1CblHhhsu15jGkraldkFh8KQ== - fastest-levenshtein@^1.0.12: version "1.0.14" resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.14.tgz#9054384e4b7a78c88d01a4432dc18871af0ac859" @@ -11424,13 +11214,6 @@ file-uri-to-path@2: resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz#7b415aeba227d575851e0a5b0c640d7656403fba" integrity sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg== -filed-mimefix@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/filed-mimefix/-/filed-mimefix-0.1.3.tgz#0b0b67d075a63fc74f26fdf39c7f9d4314967bb5" - integrity sha512-YA0WJ1XrZLvsd/4VWj/R54+eaTTecjTlxBl5Kh0iPe2gh176tD/YMZG18muZ1NHCyeN6jRNcLgjoLB/ch4x3Fw== - dependencies: - mime "^1.4.0" - fill-range@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" @@ -11680,15 +11463,6 @@ fork-ts-checker-webpack-plugin@^6.0.4: semver "^7.3.2" tapable "^1.0.0" -form-data@^2.5.0: - version "2.5.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4" - integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - form-data@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" @@ -11981,36 +11755,6 @@ gauge@~2.7.3: strip-ansi "^3.0.1" wide-align "^1.1.0" -gaxios@^1.0.2, gaxios@^1.0.4, gaxios@^1.2.1, gaxios@^1.5.0: - version "1.8.4" - resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-1.8.4.tgz#e08c34fe93c0a9b67a52b7b9e7a64e6435f9a339" - integrity sha512-BoENMnu1Gav18HcpV9IleMPZ9exM+AvUjrAOV4Mzs/vfz2Lu/ABv451iEXByKiMPn2M140uul1txXCg83sAENw== - dependencies: - abort-controller "^3.0.0" - extend "^3.0.2" - https-proxy-agent "^2.2.1" - node-fetch "^2.3.0" - -gcp-metadata@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/gcp-metadata/-/gcp-metadata-1.0.0.tgz#5212440229fa099fc2f7c2a5cdcb95575e9b2ca6" - integrity sha512-Q6HrgfrCQeEircnNP3rCcEgiDv7eF9+1B+1MMgpE190+/+0mjQR8PxeOaRgxZWmdDAF9EIryHB9g1moPiw1SbQ== - dependencies: - gaxios "^1.0.2" - json-bigint "^0.3.0" - -gcs-resumable-upload@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/gcs-resumable-upload/-/gcs-resumable-upload-1.1.0.tgz#2b06f5876dcf60f18a309343f79ed951aff01399" - integrity sha512-uBz7uHqp44xjSDzG3kLbOYZDjxxR/UAGbB47A0cC907W6yd2LkcyFDTHg+bjivkHMwiJlKv4guVWcjPCk2zScg== - dependencies: - abort-controller "^2.0.2" - configstore "^4.0.0" - gaxios "^1.5.0" - google-auth-library "^3.0.0" - pumpify "^1.5.1" - stream-events "^1.0.4" - gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" @@ -12222,14 +11966,6 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@3.2.11: - version "3.2.11" - resolved "https://registry.yarnpkg.com/glob/-/glob-3.2.11.tgz#4a973f635b9190f715d10987d5c00fd2815ebe3d" - integrity sha512-hVb0zwEZwC1FXSKRPFTeOtN7AArJcJlI6ULGLtrstaswKNlrTJqAA+1lYlSUop4vjA423xlBzqfVS3iWGlqJ+g== - dependencies: - inherits "2" - minimatch "0.3" - glob@7.1.4: version "7.1.4" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" @@ -12403,29 +12139,6 @@ gonzales-pe@^4.3.0: dependencies: minimist "^1.2.5" -google-auth-library@^3.0.0, google-auth-library@^3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-3.1.2.tgz#ff2f88cd5cd2118a57bd3d5ad3c093c8837fc350" - integrity sha512-cDQMzTotwyWMrg5jRO7q0A4TL/3GWBgO7I7q5xGKNiiFf9SmGY/OJ1YsLMgI2MVHHsEGyrqYnbnmV1AE+Z6DnQ== - dependencies: - base64-js "^1.3.0" - fast-text-encoding "^1.0.0" - gaxios "^1.2.1" - gcp-metadata "^1.0.0" - gtoken "^2.3.2" - https-proxy-agent "^2.2.1" - jws "^3.1.5" - lru-cache "^5.0.0" - semver "^5.5.0" - -google-p12-pem@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-1.0.5.tgz#0b4721cdfc818759d884f0c62803518decdaf0d0" - integrity sha512-50rTrqYPTPPwlu9TNl/HkJbBENEpbRzTOVLFJ4YWM86njZgXHFy+FP+tLRSd9m132Li9Dqi27Z3KIWDEv5y+EA== - dependencies: - node-forge "^0.10.0" - pify "^4.0.0" - got@^11.8.2: version "11.8.5" resolved "https://registry.yarnpkg.com/got/-/got-11.8.5.tgz#ce77d045136de56e8f024bebb82ea349bc730046" @@ -12524,27 +12237,11 @@ graphql@^16.3.0: resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.5.0.tgz#41b5c1182eaac7f3d47164fb247f61e4dfb69c85" integrity sha512-qbHgh8Ix+j/qY+a/ZcJnFQ+j8ezakqPiHwPiZhV/3PgGlgf96QMBB5/f2rkiC9sgLoy/xvT6TSiaf2nTHJh5iA== -growl@1.9.2: - version "1.9.2" - resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" - integrity sha512-RTBwDHhNuOx4F0hqzItc/siXCasGfC4DeWcBamclWd+6jWtBaeB/SGbMkGf0eiQoW7ib8JpvOgnUsmgMHI3Mfw== - growly@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" integrity sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw== -gtoken@^2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-2.3.3.tgz#8a7fe155c5ce0c4b71c886cfb282a9060d94a641" - integrity sha512-EaB49bu/TCoNeQjhCYKI/CurooBKkGxIqFHsWABW0b25fobBYVTMe84A8EBVVZhl8emiUdNypil9huMOTmyAnw== - dependencies: - gaxios "^1.0.4" - google-p12-pem "^1.0.0" - jws "^3.1.5" - mime "^2.2.0" - pify "^4.0.0" - gzip-size@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" @@ -12692,11 +12389,6 @@ hash-base@^3.0.0: readable-stream "^3.6.0" safe-buffer "^5.2.0" -hash-stream-validation@^0.2.1: - version "0.2.4" - resolved "https://registry.yarnpkg.com/hash-stream-validation/-/hash-stream-validation-0.2.4.tgz#ee68b41bf822f7f44db1142ec28ba9ee7ccb7512" - integrity sha512-Gjzu0Xn7IagXVkSu9cSFuK1fqzwtLwFhNhVL8IFJijRNMgUttFbBSIAzKuSIrsFMO1+g1RlsoN49zPIbwPDMGQ== - hash.js@^1.0.0, hash.js@^1.0.3: version "1.1.7" resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" @@ -13126,14 +12818,6 @@ https-proxy-agent@5, https-proxy-agent@^5.0.0: agent-base "6" debug "4" -https-proxy-agent@^2.2.1: - version "2.2.4" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" - integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg== - dependencies: - agent-base "^4.3.0" - debug "^3.1.0" - human-signals@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" @@ -13775,7 +13459,7 @@ is-number@^7.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -is-obj@^1.0.0, is-obj@^1.0.1: +is-obj@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== @@ -13876,11 +13560,6 @@ is-ssh@^1.3.0: dependencies: protocols "^2.0.1" -is-stream-ended@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-stream-ended/-/is-stream-ended-0.1.4.tgz#f50224e95e06bce0e356d440a4827cd35b267eda" - integrity sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw== - is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -14150,14 +13829,6 @@ iterate-value@^1.0.2: es-get-iterator "^1.0.2" iterate-iterator "^1.0.1" -jade@0.26.3: - version "0.26.3" - resolved "https://registry.yarnpkg.com/jade/-/jade-0.26.3.tgz#8f10d7977d8d79f2f6ff862a81b0513ccb25686c" - integrity sha512-mkk3vzUHFjzKjpCXeu+IjXeZD+QOTjUUdubgmHtHTDwvAO2ZTkMTTVrapts5CWz3JvJryh/4KWZpjeZrCepZ3A== - dependencies: - commander "0.6.1" - mkdirp "0.3.0" - jest-changed-files@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" @@ -14765,13 +14436,6 @@ jsesc@~0.5.0: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== -json-bigint@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/json-bigint/-/json-bigint-0.3.1.tgz#0c1729d679f580d550899d6a2226c228564afe60" - integrity sha512-DGWnSzmusIreWlEupsUelHrhwmPPE+FiQvg+drKfk2p+bdEYa5mp4PJ8JsCWqae0M2jQNb0HPvnwvf1qOTThzQ== - dependencies: - bignumber.js "^9.0.0" - json-buffer@3.0.1, json-buffer@~3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" @@ -14931,7 +14595,7 @@ jwk-to-pem@^2.0.5: elliptic "^6.5.4" safe-buffer "^5.0.1" -jws@^3.1.5, jws@^3.2.2: +jws@^3.2.2: version "3.2.2" resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== @@ -15295,14 +14959,6 @@ libnpmpublish@^4.0.0: semver "^7.1.3" ssri "^8.0.1" -liboneandone@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/liboneandone/-/liboneandone-1.2.0.tgz#8d2c91c72a6323a96aed8410de05e06d6584b602" - integrity sha512-EB6Ak9qw+U4HAOnKqPtatxQ9pLclvtsBsggrvOuD4zclJ5xOeEASojsLKEC3O8KJ1Q4obE2JHhOeDuqWXvkoUQ== - dependencies: - mocha "^2.5.3" - request "^2.74.0" - libqp@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/libqp/-/libqp-1.1.0.tgz#f5e6e06ad74b794fb5b5b66988bf728ef1dedbe8" @@ -15538,7 +15194,7 @@ lodash.uniq@4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== -lodash@4.17.21, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0: +lodash@4.17.21, lodash@^4.17.11, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -15646,12 +15302,7 @@ lowlight@^1.14.0, lowlight@^1.17.0: fault "^1.0.0" highlight.js "~10.7.0" -lru-cache@2: - version "2.7.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" - integrity sha512-WpibWJ60c3AgAz8a2iYErDrcT2C7OmKnsWhIcHOjkUHFjkXncJhtLxNSqUmxRxRunpb5I8Vprd7aNSd2NtksJQ== - -lru-cache@^5.0.0, lru-cache@^5.1.1: +lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== @@ -15706,13 +15357,6 @@ mailgun.js@5.2.2: web-streams-polyfill "^3.0.1" webpack-merge "^5.4.0" -make-dir@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" - integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== - dependencies: - pify "^3.0.0" - make-dir@^2.0.0, make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -16185,19 +15829,19 @@ mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== -mime-types@2.1.35, mime-types@^2.0.8, mime-types@^2.1.12, mime-types@^2.1.18, mime-types@^2.1.27, mime-types@^2.1.28, mime-types@^2.1.30, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: +mime-types@2.1.35, mime-types@^2.1.12, mime-types@^2.1.18, mime-types@^2.1.27, mime-types@^2.1.28, mime-types@^2.1.30, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.35" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== dependencies: mime-db "1.52.0" -mime@1.6.0, mime@^1.4.0: +mime@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== -mime@2.6.0, mime@^2.2.0, mime@^2.4.1, mime@^2.4.4: +mime@2.6.0, mime@^2.4.4: version "2.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== @@ -16264,14 +15908,6 @@ minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== -minimatch@0.3: - version "0.3.0" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.3.0.tgz#275d8edaac4f1bb3326472089e7949c8394699dd" - integrity sha512-WFX1jI1AaxNTZVOHLBVazwTWKaQjoykSzCBNXB72vDTCzopQGtyP91tKdFK5cv1+qMwPyiTu1HqUriqplI8pcA== - dependencies: - lru-cache "2" - sigmund "~1.0.0" - "minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" @@ -16302,11 +15938,6 @@ minimist-options@4.1.0: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - integrity sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q== - minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@^1.2.6: version "1.2.6" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" @@ -16438,18 +16069,6 @@ mkdirp-infer-owner@^2.0.0: infer-owner "^1.0.4" mkdirp "^1.0.3" -mkdirp@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e" - integrity sha512-OHsdUcVAQ6pOtg5JYWpCBo9W/GySVuwvP9hueRMW7UqshC0tbfzLv8wjySTPm3tfUZ/21CE9E1pJagOA91Pxew== - -mkdirp@0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - integrity sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA== - dependencies: - minimist "0.0.8" - mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5: version "0.5.6" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" @@ -16462,22 +16081,6 @@ mkdirp@^1.0.3, mkdirp@^1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -mocha@^2.5.3: - version "2.5.3" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-2.5.3.tgz#161be5bdeb496771eb9b35745050b622b5aefc58" - integrity sha512-jNt2iEk9FPmZLzL+sm4FNyOIDYXf2wUU6L4Cc8OIKK/kzgMHKPi4YhTZqG4bW4kQVdIv6wutDybRhXfdnujA1Q== - dependencies: - commander "2.3.0" - debug "2.2.0" - diff "1.4.0" - escape-string-regexp "1.0.2" - glob "3.2.11" - growl "1.9.2" - jade "0.26.3" - mkdirp "0.5.1" - supports-color "1.2.0" - to-iso-string "0.0.2" - modify-values@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" @@ -16500,11 +16103,6 @@ mrmime@^1.0.0: resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-1.0.1.tgz#5f90c825fad4bdd41dc914eff5d1a8cfdaf24f27" integrity sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw== -ms@0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" - integrity sha512-lRLiIR9fSNpnP6TC4v8+4OU7oStC01esuNowdQ34L+Gk8e5Puoc88IqJ+XAY/B3Mn2ZKis8l8HX90oU8ivzUHg== - ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -16737,7 +16335,7 @@ node-dir@^0.1.10: dependencies: minimatch "^3.0.2" -node-fetch@2.6.7, node-fetch@^2.2.0, node-fetch@^2.3.0, node-fetch@^2.6.1, node-fetch@^2.6.7: +node-fetch@2.6.7, node-fetch@^2.6.1, node-fetch@^2.6.7: version "2.6.7" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== @@ -16752,11 +16350,6 @@ node-fetch@3.0.0-beta.9: data-uri-to-buffer "^3.0.1" fetch-blob "^2.1.1" -node-forge@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" - integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== - node-forge@^1: version "1.3.1" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" @@ -18055,6 +17648,8 @@ path-case@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/path-case/-/path-case-2.1.1.tgz#94b8037c372d3fe2906e465bb45e25d226e8eea5" integrity sha1-lLgDfDctP+KQbkZbtF4l0ibo7qU= + dependencies: + no-case "^2.2.0" path-dirname@^1.0.0: version "1.0.2" @@ -18250,7 +17845,7 @@ pify@^3.0.0: resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== -pify@^4.0.0, pify@^4.0.1: +pify@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== @@ -18298,28 +17893,6 @@ pkg-dir@^5.0.0: dependencies: find-up "^5.0.0" -pkgcloud@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/pkgcloud/-/pkgcloud-2.2.0.tgz#2b4e644b6da53c76c0a30bcc0c3861971011a714" - integrity sha512-ZbbGqJA8gMwR0peq57aNbjzgLbDj52oi59QJEShZmGUl3ckFBZ92j0h/C2L0tJeCb2VE12tnTwmftBgQ0f3gNw== - dependencies: - "@google-cloud/storage" "^2.4.3" - async "^2.6.1" - aws-sdk "^2.382.0" - errs "^0.3.2" - eventemitter2 "^5.0.1" - fast-json-patch "^2.1.0" - filed-mimefix "^0.1.3" - ip "^1.1.5" - liboneandone "^1.2.0" - lodash "^4.17.10" - mime "^2.4.1" - qs "^6.5.2" - request "^2.88.0" - through2 "^3.0.1" - url-join "^4.0.0" - xml2js "^0.4.19" - please-upgrade-node@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" @@ -18845,7 +18418,7 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" -pumpify@^1.3.3, pumpify@^1.5.1: +pumpify@^1.3.3: version "1.5.1" resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== @@ -19509,7 +19082,7 @@ readable-stream@1.1.x: isarray "0.0.1" string_decoder "~0.10.x" -"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: +readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -19884,7 +19457,7 @@ request-promise-native@1.0.9: stealthy-require "^1.1.1" tough-cookie "^2.3.3" -request@2.88.2, request@^2.74.0, request@^2.83.0, request@^2.87.0, request@^2.88.0: +request@2.88.2, request@^2.83.0, request@^2.87.0: version "2.88.2" resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -20052,14 +19625,6 @@ ret@~0.1.10: resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== -retry-request@^4.0.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/retry-request/-/retry-request-4.2.2.tgz#b7d82210b6d2651ed249ba3497f07ea602f1a903" - integrity sha512-xA93uxUD/rogV7BV59agW/JHPGXeREMWiZc9jhcwY4YdZ7QOtC7qbomYg0n4wyk2lJhggjvKvhNX8wln/Aldhg== - dependencies: - debug "^4.1.1" - extend "^3.0.2" - retry@0.13.1, retry@^0.13.1: version "0.13.1" resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" @@ -20533,11 +20098,6 @@ sift@13.5.4: resolved "https://registry.yarnpkg.com/sift/-/sift-13.5.4.tgz#7b2a67f724c8b2fca121fcfdef4011bb1ea4e3ef" integrity sha512-J/d0r/MJlD7vG3j6FZI3/KnN+MxEmPUx2nyKNawysbl2ktisEnAWI5j0AgHM19p4xFA2vDXve4i8TQYYfi9O6Q== -sigmund@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" - integrity sha512-fCvEXfh6NWpm+YSuY2bpXb/VIihqWA6hLsgboC+0nl71Q7N7o2eaCW8mJa/NLvQhs6jpd3VZV4UiUQlV6+lc8g== - signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" @@ -20618,11 +20178,6 @@ snake-case@^2.1.0: dependencies: no-case "^2.2.0" -snakeize@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/snakeize/-/snakeize-0.1.0.tgz#10c088d8b58eb076b3229bb5a04e232ce126422d" - integrity sha512-ot3bb6pQt6IVq5G/JQ640ceSYTPtriVrwNyfoUw1LmQQGzPMAGxE5F+ded2UwSUCyf2PW1fFAYUnVEX21PWbpQ== - snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -20838,13 +20393,6 @@ speed-measure-webpack-plugin@1.5.0: dependencies: chalk "^4.1.0" -split-array-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/split-array-stream/-/split-array-stream-2.0.0.tgz#85a4f8bfe14421d7bca7f33a6d176d0c076a53b1" - integrity sha512-hmMswlVY91WvGMxs0k8MRgq8zb2mSen4FmDNc5AFiTWtrBpdZN6nwD6kROVe4vNL+ywrvbCKsWVCnEd4riELIg== - dependencies: - is-stream-ended "^0.1.4" - split-on-first@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" @@ -21016,13 +20564,6 @@ stream-each@^1.1.0: end-of-stream "^1.1.0" stream-shift "^1.0.0" -stream-events@^1.0.1, stream-events@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/stream-events/-/stream-events-1.0.5.tgz#bbc898ec4df33a4902d892333d47da9bf1c406d5" - integrity sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg== - dependencies: - stubs "^3.0.0" - stream-http@^2.7.2: version "2.8.3" resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" @@ -21054,11 +20595,6 @@ stream-slice@^0.1.2: resolved "https://registry.yarnpkg.com/stream-slice/-/stream-slice-0.1.2.tgz#2dc4f4e1b936fb13f3eb39a2def1932798d07a4b" integrity sha512-QzQxpoacatkreL6jsxnVb7X5R/pGw9OUv2qWTYWnmLpg4NdN31snPy/f3TdQE1ZUXaThRvj1Zw4/OGg0ZkaLMA== -streamifier@0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/streamifier/-/streamifier-0.1.1.tgz#97e98d8fa4d105d62a2691d1dc07e820db8dfc4f" - integrity sha512-zDgl+muIlWzXNsXeyUfOk9dChMjlpkq0DRsxujtYPgyJ676yQ8jEm6zzaaWHFDg5BNcLuif0eD2MTyJdZqXpdg== - streamsearch@0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a" @@ -21275,11 +20811,6 @@ strong-log-transformer@^2.1.0: minimist "^1.2.0" through "^2.3.4" -stubs@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/stubs/-/stubs-3.0.0.tgz#e8d2ba1fa9c90570303c030b6900f7d5f89abe5b" - integrity sha512-PdHt7hHUJKxvTCgbKX9C1V/ftOcjJQgz8BZwNfV5c4B6dcGqlpelTbJ999jBGZ2jYiPAwcX5dP6oBwVlBlUbxw== - style-loader@3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.1.tgz#057dfa6b3d4d7c7064462830f9113ed417d38575" @@ -21451,11 +20982,6 @@ supertest@6.2.4: methods "^1.1.2" superagent "^8.0.0" -supports-color@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-1.2.0.tgz#ff1ed1e61169d06b3cf2d588e188b18d8847e17e" - integrity sha512-mS5xsnjTh5b7f2DM6bch6lR582UCOTphzINlZnDsfpIRrwI6r58rb6YSSGsdexkm8qw2bBVO2ID2fnJOTuLiPA== - supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -21626,15 +21152,6 @@ tarn@^3.0.2: resolved "https://registry.yarnpkg.com/tarn/-/tarn-3.0.2.tgz#73b6140fbb881b71559c4f8bfde3d9a4b3d27693" integrity sha512-51LAVKUSZSVfI05vjPESNc5vwqqZpbXCsU+/+wxlOrUjk2SnFTt97v9ZgQrD4YmxYW1Px6w2KjaDitCfkvgxMQ== -teeny-request@^3.11.3: - version "3.11.3" - resolved "https://registry.yarnpkg.com/teeny-request/-/teeny-request-3.11.3.tgz#335c629f7645e5d6599362df2f3230c4cbc23a55" - integrity sha512-CKncqSF7sH6p4rzCgkb/z/Pcos5efl0DmolzvlqRQUNcpRIruOhY9+T1FsIlyEbfWd7MsFpodROOwHYh2BaXzw== - dependencies: - https-proxy-agent "^2.2.1" - node-fetch "^2.2.0" - uuid "^3.3.2" - telejson@^5.3.2: version "5.3.3" resolved "https://registry.yarnpkg.com/telejson/-/telejson-5.3.3.tgz#fa8ca84543e336576d8734123876a9f02bf41d2e" @@ -21792,14 +21309,6 @@ through2@^2.0.0: readable-stream "~2.3.6" xtend "~4.0.1" -through2@^3.0.0, through2@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4" - integrity sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ== - dependencies: - inherits "^2.0.4" - readable-stream "2 || 3" - through2@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" @@ -21876,11 +21385,6 @@ to-fast-properties@^2.0.0: resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== -to-iso-string@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/to-iso-string/-/to-iso-string-0.0.2.tgz#4dc19e664dfccbe25bd8db508b00c6da158255d1" - integrity sha512-oeHLgfWA7d0CPQa6h0+i5DAJZISz5un0d5SHPkw+Untclcvzv9T+AC3CvGXlZJdOlIbxbTfyyzlqCXc5hjpXYg== - to-object-path@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" @@ -22274,13 +21778,6 @@ unique-slug@^2.0.0: dependencies: imurmurhash "^0.1.4" -unique-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" - integrity sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg== - dependencies: - crypto-random-string "^1.0.0" - unique-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" @@ -22438,7 +21935,7 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== -url-join@4.0.1, url-join@^4.0.0, url-join@^4.0.1: +url-join@4.0.1, url-join@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7" integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA== @@ -23208,7 +22705,7 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -write-file-atomic@^2.0.0, write-file-atomic@^2.4.2: +write-file-atomic@^2.4.2: version "2.4.3" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== @@ -23285,11 +22782,6 @@ x-default-browser@^0.4.0: optionalDependencies: default-browser-id "^1.0.4" -xdg-basedir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" - integrity sha512-1Dly4xqlulvPD3fZUQJLY+FUIeqN3N2MM3uqe4rCJftAvOjFa3jFGfctOgluGx4ahPbUCsZkmJILiP0Vi4T6lQ== - xdg-basedir@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" From 556c0e789de2a641598386b2a0ff0e89aa2c4c18 Mon Sep 17 00:00:00 2001 From: Alex Dupre Date: Wed, 22 Jun 2022 09:36:48 +0200 Subject: [PATCH 38/64] Fix CORS response headers. The combination of `Access-Control-Allow-Credentials: true` and `Access-Control-Allow-Origin: *` is illegal for CORS specifications: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS --- packages/core/strapi/lib/middlewares/cors.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/strapi/lib/middlewares/cors.js b/packages/core/strapi/lib/middlewares/cors.js index ef5f934904..24abeb3199 100644 --- a/packages/core/strapi/lib/middlewares/cors.js +++ b/packages/core/strapi/lib/middlewares/cors.js @@ -40,7 +40,7 @@ module.exports = config => { const requestOrigin = ctx.accept.headers.origin; if (whitelist.includes('*')) { - return '*'; + return credentials ? requestOrigin : '*'; } if (!whitelist.includes(requestOrigin)) { From 135336e4be580d5589c58553586ba896d3142cd6 Mon Sep 17 00:00:00 2001 From: Marc-Roig Date: Wed, 10 Aug 2022 13:06:06 +0200 Subject: [PATCH 39/64] test entity service webhooks --- .../__tests__/entity-service-events.test.js | 116 ++++++++++++++++++ .../lib/services/entity-service/index.js | 4 +- 2 files changed, 118 insertions(+), 2 deletions(-) create mode 100644 packages/core/strapi/lib/services/entity-service/__tests__/entity-service-events.test.js diff --git a/packages/core/strapi/lib/services/entity-service/__tests__/entity-service-events.test.js b/packages/core/strapi/lib/services/entity-service/__tests__/entity-service-events.test.js new file mode 100644 index 0000000000..28c8aa3e80 --- /dev/null +++ b/packages/core/strapi/lib/services/entity-service/__tests__/entity-service-events.test.js @@ -0,0 +1,116 @@ +'use strict'; + +jest.mock('bcryptjs', () => ({ hashSync: () => 'secret-password' })); + +const createEntityService = require('../'); +const entityValidator = require('../../entity-validator'); + +describe('Entity service triggers webhooks', () => { + global.strapi = { + getModel: () => ({}), + config: { + get: () => [], + }, + }; + + let instance; + let eventHub = { emit: jest.fn() }; + let fakeDB = { + query: () => ({ + count: () => 0, + create: ({ data }) => data, + update: ({ data }) => data, + findOne: () => ({ attr: 'value' }), + findMany: () => [{ attr: 'value' }, { attr: 'value2' }], + delete: () => ({}), + deleteMany: () => ({}), + }), + }; + + beforeAll(() => { + instance = createEntityService({ + strapi: { + getModel: () => ({ + kind: 'singleType', + modelName: 'test-model', + privateAttributes: [], + attributes: { + attr: { type: 'string' }, + }, + }), + }, + db: fakeDB, + eventHub, + entityValidator, + }); + }); + + test('Emit event: Create', async () => { + const data = { attr: 'value' }; + + // Create entity + await instance.create('test-model', { data }); + + // Expect entry.create event to be emitted + expect(eventHub.emit).toHaveBeenCalledWith('entry.create', { + entry: data, + model: 'test-model', + }); + + eventHub.emit.mockClear(); + }); + + test('Emit event: Update', async () => { + const data = { attr: 'value' }; + + // Update entity + await instance.update('test-model', 'entity-id', { data }); + + // Expect entry.update event to be emitted + expect(eventHub.emit).toHaveBeenCalledWith('entry.update', { + entry: data, + model: 'test-model', + }); + + eventHub.emit.mockClear(); + }); + + test('Emit event: Delete', async () => { + // Delete entity + await instance.delete('test-model', 'entity-id', {}); + + // Expect entry.create event to be emitted + expect(eventHub.emit).toHaveBeenCalledWith('entry.delete', { + entry: { attr: 'value' }, + model: 'test-model', + }); + + eventHub.emit.mockClear(); + }); + + test('Emit event: Delete Many', async () => { + // Delete entity + await instance.deleteMany('test-model', {}); + + // Expect entry.create event to be emitted + expect(eventHub.emit).toHaveBeenCalledWith('entry.delete', { + entry: { attr: 'value' }, + model: 'test-model', + }); + // One event per each entity deleted + expect(eventHub.emit).toHaveBeenCalledTimes(2); + + eventHub.emit.mockClear(); + }); + + test('Do not emit event when no deleted entity', async () => { + fakeDB.query = () => ({ findOne: () => null }); + // Delete entity + await instance.delete('test-model', 'entity-id', {}); + + // Expect entry.create event to be emitted + expect(eventHub.emit).toHaveBeenCalledTimes(0); + + eventHub.emit.mockClear(); + }); +}); diff --git a/packages/core/strapi/lib/services/entity-service/index.js b/packages/core/strapi/lib/services/entity-service/index.js index acf4e44443..2bd5becff3 100644 --- a/packages/core/strapi/lib/services/entity-service/index.js +++ b/packages/core/strapi/lib/services/entity-service/index.js @@ -287,12 +287,12 @@ const createDefaultImplementation = ({ strapi, db, eventHub, entityValidator }) // Delete all the entities components first, and then the entities await Promise.all(entitiesToDelete.map(entity => deleteComponents(uid, entity))); - const result = await db.query(uid).deleteMany(query); + const deletedEntities = await db.query(uid).deleteMany(query); // Trigger webhooks. One for each entity await Promise.all(entitiesToDelete.map(entity => this.emitEvent(uid, ENTRY_DELETE, entity))); - return result; + return deletedEntities; }, load(uid, entity, field, params = {}) { From 1d2e24096101d618483ea09b1b8a534548307811 Mon Sep 17 00:00:00 2001 From: Marc-Roig Date: Wed, 10 Aug 2022 13:21:59 +0200 Subject: [PATCH 40/64] create entity variable in webhook test --- .../__tests__/entity-service-events.test.js | 44 +++++++++---------- 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/packages/core/strapi/lib/services/entity-service/__tests__/entity-service-events.test.js b/packages/core/strapi/lib/services/entity-service/__tests__/entity-service-events.test.js index 28c8aa3e80..ee222d58d6 100644 --- a/packages/core/strapi/lib/services/entity-service/__tests__/entity-service-events.test.js +++ b/packages/core/strapi/lib/services/entity-service/__tests__/entity-service-events.test.js @@ -15,17 +15,7 @@ describe('Entity service triggers webhooks', () => { let instance; let eventHub = { emit: jest.fn() }; - let fakeDB = { - query: () => ({ - count: () => 0, - create: ({ data }) => data, - update: ({ data }) => data, - findOne: () => ({ attr: 'value' }), - findMany: () => [{ attr: 'value' }, { attr: 'value2' }], - delete: () => ({}), - deleteMany: () => ({}), - }), - }; + let entity = { attr: 'value' }; beforeAll(() => { instance = createEntityService({ @@ -39,21 +29,29 @@ describe('Entity service triggers webhooks', () => { }, }), }, - db: fakeDB, + db: { + query: () => ({ + count: () => 0, + create: ({ data }) => data, + update: ({ data }) => data, + findOne: () => entity, + findMany: () => [entity, entity], + delete: () => ({}), + deleteMany: () => ({}), + }), + }, eventHub, entityValidator, }); }); test('Emit event: Create', async () => { - const data = { attr: 'value' }; - // Create entity - await instance.create('test-model', { data }); + await instance.create('test-model', { data: entity }); // Expect entry.create event to be emitted expect(eventHub.emit).toHaveBeenCalledWith('entry.create', { - entry: data, + entry: entity, model: 'test-model', }); @@ -61,14 +59,12 @@ describe('Entity service triggers webhooks', () => { }); test('Emit event: Update', async () => { - const data = { attr: 'value' }; - // Update entity - await instance.update('test-model', 'entity-id', { data }); + await instance.update('test-model', 'entity-id', { data: entity }); // Expect entry.update event to be emitted expect(eventHub.emit).toHaveBeenCalledWith('entry.update', { - entry: data, + entry: entity, model: 'test-model', }); @@ -81,7 +77,7 @@ describe('Entity service triggers webhooks', () => { // Expect entry.create event to be emitted expect(eventHub.emit).toHaveBeenCalledWith('entry.delete', { - entry: { attr: 'value' }, + entry: entity, model: 'test-model', }); @@ -94,7 +90,7 @@ describe('Entity service triggers webhooks', () => { // Expect entry.create event to be emitted expect(eventHub.emit).toHaveBeenCalledWith('entry.delete', { - entry: { attr: 'value' }, + entry: entity, model: 'test-model', }); // One event per each entity deleted @@ -104,8 +100,8 @@ describe('Entity service triggers webhooks', () => { }); test('Do not emit event when no deleted entity', async () => { - fakeDB.query = () => ({ findOne: () => null }); - // Delete entity + entity = null; + // Delete non existent entity await instance.delete('test-model', 'entity-id', {}); // Expect entry.create event to be emitted From aeb980dd5957d14b6c1cf8953bad1394d2c2b6c8 Mon Sep 17 00:00:00 2001 From: Marc-Roig Date: Wed, 10 Aug 2022 13:57:09 +0200 Subject: [PATCH 41/64] remove mock from webhook test --- .../entity-service/__tests__/entity-service-events.test.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/core/strapi/lib/services/entity-service/__tests__/entity-service-events.test.js b/packages/core/strapi/lib/services/entity-service/__tests__/entity-service-events.test.js index ee222d58d6..0c0202d2b6 100644 --- a/packages/core/strapi/lib/services/entity-service/__tests__/entity-service-events.test.js +++ b/packages/core/strapi/lib/services/entity-service/__tests__/entity-service-events.test.js @@ -1,7 +1,5 @@ 'use strict'; -jest.mock('bcryptjs', () => ({ hashSync: () => 'secret-password' })); - const createEntityService = require('../'); const entityValidator = require('../../entity-validator'); From 4d60bfdeee6eb5e9b42b5a614690d7bb86c5f84a Mon Sep 17 00:00:00 2001 From: Alexandre Bodin Date: Wed, 10 Aug 2022 14:08:54 +0200 Subject: [PATCH 42/64] v4.3.3 --- .github/actions/check-pr-status/package.json | 2 +- examples/getstarted/package.json | 20 ++++++++-------- examples/kitchensink-ts/package.json | 8 +++---- examples/kitchensink/package.json | 10 ++++---- lerna.json | 2 +- packages/admin-test-utils/package.json | 2 +- packages/cli/create-strapi-app/package.json | 4 ++-- .../cli/create-strapi-starter/package.json | 4 ++-- packages/core/admin/package.json | 10 ++++---- packages/core/content-manager/package.json | 4 ++-- .../core/content-type-builder/package.json | 8 +++---- packages/core/database/package.json | 2 +- packages/core/email/package.json | 8 +++---- packages/core/helper-plugin/package.json | 2 +- packages/core/strapi/package.json | 24 +++++++++---------- packages/core/upload/package.json | 8 +++---- packages/core/utils/package.json | 2 +- packages/generators/app/package.json | 2 +- packages/generators/generators/package.json | 6 ++--- packages/plugins/documentation/package.json | 6 ++--- packages/plugins/graphql/package.json | 4 ++-- packages/plugins/i18n/package.json | 4 ++-- packages/plugins/sentry/package.json | 2 +- .../plugins/users-permissions/package.json | 6 ++--- .../providers/email-amazon-ses/package.json | 4 ++-- packages/providers/email-mailgun/package.json | 4 ++-- .../providers/email-nodemailer/package.json | 2 +- .../providers/email-sendgrid/package.json | 4 ++-- .../providers/email-sendmail/package.json | 4 ++-- packages/providers/upload-aws-s3/package.json | 2 +- .../providers/upload-cloudinary/package.json | 4 ++-- packages/providers/upload-local/package.json | 4 ++-- .../babel-plugin-switch-ee-ce/package.json | 2 +- packages/utils/logger/package.json | 2 +- packages/utils/typescript/package.json | 2 +- 35 files changed, 92 insertions(+), 92 deletions(-) diff --git a/.github/actions/check-pr-status/package.json b/.github/actions/check-pr-status/package.json index 64b254737b..89457e14d6 100644 --- a/.github/actions/check-pr-status/package.json +++ b/.github/actions/check-pr-status/package.json @@ -1,6 +1,6 @@ { "name": "check-pr-status", - "version": "4.3.2", + "version": "4.3.3", "main": "dist/index.js", "license": "MIT", "private": true, diff --git a/examples/getstarted/package.json b/examples/getstarted/package.json index a14432be8e..9ec454cffa 100644 --- a/examples/getstarted/package.json +++ b/examples/getstarted/package.json @@ -1,7 +1,7 @@ { "name": "getstarted", "private": true, - "version": "4.3.2", + "version": "4.3.3", "description": "A Strapi application.", "scripts": { "develop": "strapi develop", @@ -12,15 +12,15 @@ "strapi": "strapi" }, "dependencies": { - "@strapi/plugin-documentation": "4.3.2", - "@strapi/plugin-graphql": "4.3.2", - "@strapi/plugin-i18n": "4.3.2", - "@strapi/plugin-sentry": "4.3.2", - "@strapi/plugin-users-permissions": "4.3.2", - "@strapi/provider-email-mailgun": "4.3.2", - "@strapi/provider-upload-aws-s3": "4.3.2", - "@strapi/provider-upload-cloudinary": "4.3.2", - "@strapi/strapi": "4.3.2", + "@strapi/plugin-documentation": "4.3.3", + "@strapi/plugin-graphql": "4.3.3", + "@strapi/plugin-i18n": "4.3.3", + "@strapi/plugin-sentry": "4.3.3", + "@strapi/plugin-users-permissions": "4.3.3", + "@strapi/provider-email-mailgun": "4.3.3", + "@strapi/provider-upload-aws-s3": "4.3.3", + "@strapi/provider-upload-cloudinary": "4.3.3", + "@strapi/strapi": "4.3.3", "@vscode/sqlite3": "5.0.8", "better-sqlite3": "7.4.6", "lodash": "4.17.21", diff --git a/examples/kitchensink-ts/package.json b/examples/kitchensink-ts/package.json index ee6d02efbb..ff1aec674d 100644 --- a/examples/kitchensink-ts/package.json +++ b/examples/kitchensink-ts/package.json @@ -1,7 +1,7 @@ { "name": "kitchensink-ts", "private": true, - "version": "4.3.2", + "version": "4.3.3", "description": "A Strapi application", "scripts": { "develop": "strapi develop", @@ -10,9 +10,9 @@ "strapi": "strapi" }, "dependencies": { - "@strapi/plugin-i18n": "4.3.2", - "@strapi/plugin-users-permissions": "4.3.2", - "@strapi/strapi": "4.3.2", + "@strapi/plugin-i18n": "4.3.3", + "@strapi/plugin-users-permissions": "4.3.3", + "@strapi/strapi": "4.3.3", "better-sqlite3": "7.4.6" }, "author": { diff --git a/examples/kitchensink/package.json b/examples/kitchensink/package.json index bcde92c31a..3e68a5c30d 100644 --- a/examples/kitchensink/package.json +++ b/examples/kitchensink/package.json @@ -1,7 +1,7 @@ { "name": "kitchensink", "private": true, - "version": "4.3.2", + "version": "4.3.3", "description": "A Strapi application.", "scripts": { "develop": "strapi develop", @@ -12,10 +12,10 @@ "strapi": "strapi" }, "dependencies": { - "@strapi/provider-email-mailgun": "4.3.2", - "@strapi/provider-upload-aws-s3": "4.3.2", - "@strapi/provider-upload-cloudinary": "4.3.2", - "@strapi/strapi": "4.3.2", + "@strapi/provider-email-mailgun": "4.3.3", + "@strapi/provider-upload-aws-s3": "4.3.3", + "@strapi/provider-upload-cloudinary": "4.3.3", + "@strapi/strapi": "4.3.3", "lodash": "4.17.21", "mysql": "2.18.1", "passport-google-oauth2": "0.2.0", diff --git a/lerna.json b/lerna.json index b0ecc93477..332ab9ee15 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "4.3.2", + "version": "4.3.3", "packages": [ "packages/*", "examples/*" diff --git a/packages/admin-test-utils/package.json b/packages/admin-test-utils/package.json index 37f8962df9..46c42d1dcd 100644 --- a/packages/admin-test-utils/package.json +++ b/packages/admin-test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/admin-test-utils", - "version": "4.3.2", + "version": "4.3.3", "private": true, "description": "Test utilities for the Strapi administration panel", "license": "MIT", diff --git a/packages/cli/create-strapi-app/package.json b/packages/cli/create-strapi-app/package.json index 5fd080e886..3f8be4e62b 100644 --- a/packages/cli/create-strapi-app/package.json +++ b/packages/cli/create-strapi-app/package.json @@ -1,6 +1,6 @@ { "name": "create-strapi-app", - "version": "4.3.2", + "version": "4.3.3", "description": "Generate a new Strapi application.", "keywords": [ "create-strapi-app", @@ -38,7 +38,7 @@ "test": "echo \"no tests yet\"" }, "dependencies": { - "@strapi/generate-new": "4.3.2", + "@strapi/generate-new": "4.3.3", "commander": "6.1.0", "inquirer": "8.2.4" }, diff --git a/packages/cli/create-strapi-starter/package.json b/packages/cli/create-strapi-starter/package.json index e03af74097..eb23669265 100644 --- a/packages/cli/create-strapi-starter/package.json +++ b/packages/cli/create-strapi-starter/package.json @@ -1,6 +1,6 @@ { "name": "create-strapi-starter", - "version": "4.3.2", + "version": "4.3.3", "description": "Generate a new Strapi application.", "keywords": [ "create-strapi-starter", @@ -38,7 +38,7 @@ "test": "echo \"no tests yet\"" }, "dependencies": { - "@strapi/generate-new": "4.3.2", + "@strapi/generate-new": "4.3.3", "chalk": "4.1.1", "ci-info": "3.3.2", "commander": "7.1.0", diff --git a/packages/core/admin/package.json b/packages/core/admin/package.json index 4b8215049b..aaf36932d7 100644 --- a/packages/core/admin/package.json +++ b/packages/core/admin/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/admin", - "version": "4.3.2", + "version": "4.3.3", "description": "Strapi Admin", "repository": { "type": "git", @@ -51,12 +51,12 @@ "@fortawesome/free-solid-svg-icons": "^5.15.3", "@fortawesome/react-fontawesome": "^0.2.0", "@pmmmwh/react-refresh-webpack-plugin": "0.5.7", - "@strapi/babel-plugin-switch-ee-ce": "4.3.2", + "@strapi/babel-plugin-switch-ee-ce": "4.3.3", "@strapi/design-system": "1.2.1", - "@strapi/helper-plugin": "4.3.2", + "@strapi/helper-plugin": "4.3.3", "@strapi/icons": "1.2.1", - "@strapi/typescript-utils": "4.3.2", - "@strapi/utils": "4.3.2", + "@strapi/typescript-utils": "4.3.3", + "@strapi/utils": "4.3.3", "axios": "0.24.0", "babel-loader": "8.2.5", "babel-plugin-styled-components": "2.0.2", diff --git a/packages/core/content-manager/package.json b/packages/core/content-manager/package.json index 6d8be29880..cfd5bc07d7 100644 --- a/packages/core/content-manager/package.json +++ b/packages/core/content-manager/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/plugin-content-manager", - "version": "4.3.2", + "version": "4.3.3", "description": "A powerful UI to easily manage your data.", "repository": { "type": "git", @@ -24,7 +24,7 @@ }, "dependencies": { "@sindresorhus/slugify": "1.1.0", - "@strapi/utils": "4.3.2", + "@strapi/utils": "4.3.3", "lodash": "4.17.21" }, "engines": { diff --git a/packages/core/content-type-builder/package.json b/packages/core/content-type-builder/package.json index e8d2d20542..836b549654 100644 --- a/packages/core/content-type-builder/package.json +++ b/packages/core/content-type-builder/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/plugin-content-type-builder", - "version": "4.3.2", + "version": "4.3.3", "description": "Strapi plugin to create content type", "repository": { "type": "git", @@ -28,9 +28,9 @@ }, "dependencies": { "@sindresorhus/slugify": "1.1.0", - "@strapi/generators": "4.3.2", - "@strapi/helper-plugin": "4.3.2", - "@strapi/utils": "4.3.2", + "@strapi/generators": "4.3.3", + "@strapi/helper-plugin": "4.3.3", + "@strapi/utils": "4.3.3", "fs-extra": "10.0.0", "lodash": "4.17.21", "pluralize": "^8.0.0", diff --git a/packages/core/database/package.json b/packages/core/database/package.json index cb87db438d..6aef599497 100644 --- a/packages/core/database/package.json +++ b/packages/core/database/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/database", - "version": "4.3.2", + "version": "4.3.3", "description": "Strapi's database layer", "homepage": "https://strapi.io", "bugs": { diff --git a/packages/core/email/package.json b/packages/core/email/package.json index b23e50a158..c3001c0644 100644 --- a/packages/core/email/package.json +++ b/packages/core/email/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/plugin-email", - "version": "4.3.2", + "version": "4.3.3", "description": "Easily configure your Strapi application to send emails.", "repository": { "type": "git", @@ -26,12 +26,12 @@ "test:front:watch:ce": "cross-env IS_EE=false jest --config ./jest.config.front.js --watchAll" }, "dependencies": { - "@strapi/provider-email-sendmail": "4.3.2", - "@strapi/utils": "4.3.2", + "@strapi/provider-email-sendmail": "4.3.3", + "@strapi/utils": "4.3.3", "lodash": "4.17.21" }, "devDependencies": { - "@strapi/helper-plugin": "4.3.2" + "@strapi/helper-plugin": "4.3.3" }, "engines": { "node": ">=14.19.1 <=16.x.x", diff --git a/packages/core/helper-plugin/package.json b/packages/core/helper-plugin/package.json index e5088cdb3f..068dae58a6 100644 --- a/packages/core/helper-plugin/package.json +++ b/packages/core/helper-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/helper-plugin", - "version": "4.3.2", + "version": "4.3.3", "description": "Helper for Strapi plugins development", "repository": { "type": "git", diff --git a/packages/core/strapi/package.json b/packages/core/strapi/package.json index 98750c39d1..ef9cd4bffe 100644 --- a/packages/core/strapi/package.json +++ b/packages/core/strapi/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/strapi", - "version": "4.3.2", + "version": "4.3.3", "description": "An open source headless CMS solution to create and manage your own API. It provides a powerful dashboard and features to make your life easier. Databases supported: MySQL, MariaDB, PostgreSQL, SQLite", "keywords": [ "strapi", @@ -80,17 +80,17 @@ "dependencies": { "@koa/cors": "3.1.0", "@koa/router": "10.1.1", - "@strapi/admin": "4.3.2", - "@strapi/database": "4.3.2", - "@strapi/generate-new": "4.3.2", - "@strapi/generators": "4.3.2", - "@strapi/logger": "4.3.2", - "@strapi/plugin-content-manager": "4.3.2", - "@strapi/plugin-content-type-builder": "4.3.2", - "@strapi/plugin-email": "4.3.2", - "@strapi/plugin-upload": "4.3.2", - "@strapi/typescript-utils": "4.3.2", - "@strapi/utils": "4.3.2", + "@strapi/admin": "4.3.3", + "@strapi/database": "4.3.3", + "@strapi/generate-new": "4.3.3", + "@strapi/generators": "4.3.3", + "@strapi/logger": "4.3.3", + "@strapi/plugin-content-manager": "4.3.3", + "@strapi/plugin-content-type-builder": "4.3.3", + "@strapi/plugin-email": "4.3.3", + "@strapi/plugin-upload": "4.3.3", + "@strapi/typescript-utils": "4.3.3", + "@strapi/utils": "4.3.3", "bcryptjs": "2.4.3", "boxen": "5.1.2", "chalk": "4.1.2", diff --git a/packages/core/upload/package.json b/packages/core/upload/package.json index 379226c71e..0d8fbe46a8 100644 --- a/packages/core/upload/package.json +++ b/packages/core/upload/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/plugin-upload", - "version": "4.3.2", + "version": "4.3.3", "description": "Makes it easy to upload images and files to your Strapi Application.", "license": "SEE LICENSE IN LICENSE", "author": { @@ -23,9 +23,9 @@ "test:front:watch:ce": "cross-env IS_EE=false jest --config ./jest.config.front.js --watchAll" }, "dependencies": { - "@strapi/helper-plugin": "4.3.2", - "@strapi/provider-upload-local": "4.3.2", - "@strapi/utils": "4.3.2", + "@strapi/helper-plugin": "4.3.3", + "@strapi/provider-upload-local": "4.3.3", + "@strapi/utils": "4.3.3", "byte-size": "7.0.1", "cropperjs": "1.5.12", "date-fns": "2.28.0", diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index 1293c04414..73159f6c27 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/utils", - "version": "4.3.2", + "version": "4.3.3", "description": "Shared utilities for the Strapi packages", "keywords": [ "strapi", diff --git a/packages/generators/app/package.json b/packages/generators/app/package.json index acb60a334c..680bb255fc 100644 --- a/packages/generators/app/package.json +++ b/packages/generators/app/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/generate-new", - "version": "4.3.2", + "version": "4.3.3", "description": "Generate a new Strapi application.", "keywords": [ "generate", diff --git a/packages/generators/generators/package.json b/packages/generators/generators/package.json index 7cdd0a7266..4ae819af60 100644 --- a/packages/generators/generators/package.json +++ b/packages/generators/generators/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/generators", - "version": "4.3.2", + "version": "4.3.3", "description": "Interactive API generator.", "keywords": [ "strapi", @@ -30,8 +30,8 @@ "main": "lib/index.js", "dependencies": { "@sindresorhus/slugify": "1.1.0", - "@strapi/typescript-utils": "4.3.2", - "@strapi/utils": "4.3.2", + "@strapi/typescript-utils": "4.3.3", + "@strapi/utils": "4.3.3", "chalk": "4.1.2", "fs-extra": "10.0.0", "node-plop": "0.26.3", diff --git a/packages/plugins/documentation/package.json b/packages/plugins/documentation/package.json index 507bb04c81..b2bafb43a7 100644 --- a/packages/plugins/documentation/package.json +++ b/packages/plugins/documentation/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/plugin-documentation", - "version": "4.3.2", + "version": "4.3.3", "description": "Create an OpenAPI Document and visualize your API with SWAGGER UI.", "repository": { "type": "git", @@ -24,8 +24,8 @@ "test": "echo \"no tests yet\"" }, "dependencies": { - "@strapi/helper-plugin": "4.3.2", - "@strapi/utils": "4.3.2", + "@strapi/helper-plugin": "4.3.3", + "@strapi/utils": "4.3.3", "bcryptjs": "2.4.3", "cheerio": "^1.0.0-rc.12", "fs-extra": "10.0.0", diff --git a/packages/plugins/graphql/package.json b/packages/plugins/graphql/package.json index 404cd6f198..5d8a16bf07 100644 --- a/packages/plugins/graphql/package.json +++ b/packages/plugins/graphql/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/plugin-graphql", - "version": "4.3.2", + "version": "4.3.3", "description": "Adds GraphQL endpoint with default API methods.", "repository": { "type": "git", @@ -29,7 +29,7 @@ "dependencies": { "@graphql-tools/schema": "8.1.2", "@graphql-tools/utils": "^8.9.0", - "@strapi/utils": "4.3.2", + "@strapi/utils": "4.3.3", "apollo-server-core": "3.1.2", "apollo-server-koa": "3.10.0", "glob": "^7.1.7", diff --git a/packages/plugins/i18n/package.json b/packages/plugins/i18n/package.json index 58691ac89b..ef0a94da0c 100644 --- a/packages/plugins/i18n/package.json +++ b/packages/plugins/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/plugin-i18n", - "version": "4.3.2", + "version": "4.3.3", "description": "This plugin enables to create, to read and to update content in different languages, both from the Admin Panel and from the API", "repository": { "type": "git", @@ -24,7 +24,7 @@ "test:unit": "jest --verbose" }, "dependencies": { - "@strapi/utils": "4.3.2", + "@strapi/utils": "4.3.3", "lodash": "4.17.21" }, "engines": { diff --git a/packages/plugins/sentry/package.json b/packages/plugins/sentry/package.json index 2017912852..948c716497 100644 --- a/packages/plugins/sentry/package.json +++ b/packages/plugins/sentry/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/plugin-sentry", - "version": "4.3.2", + "version": "4.3.3", "description": "Send Strapi error events to Sentry", "repository": { "type": "git", diff --git a/packages/plugins/users-permissions/package.json b/packages/plugins/users-permissions/package.json index d08e6109e2..0353bf3da5 100644 --- a/packages/plugins/users-permissions/package.json +++ b/packages/plugins/users-permissions/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/plugin-users-permissions", - "version": "4.3.2", + "version": "4.3.3", "description": "Protect your API with a full-authentication process based on JWT", "repository": { "type": "git", @@ -27,8 +27,8 @@ "test:front:watch:ce": "cross-env IS_EE=false jest --config ./jest.config.front.js --watchAll" }, "dependencies": { - "@strapi/helper-plugin": "4.3.2", - "@strapi/utils": "4.3.2", + "@strapi/helper-plugin": "4.3.3", + "@strapi/utils": "4.3.3", "bcryptjs": "2.4.3", "grant-koa": "5.4.8", "jsonwebtoken": "^8.1.0", diff --git a/packages/providers/email-amazon-ses/package.json b/packages/providers/email-amazon-ses/package.json index af34fc1f34..c2bfc1c6fc 100644 --- a/packages/providers/email-amazon-ses/package.json +++ b/packages/providers/email-amazon-ses/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/provider-email-amazon-ses", - "version": "4.3.2", + "version": "4.3.3", "description": "Amazon SES provider for strapi email", "keywords": [ "email", @@ -36,7 +36,7 @@ "test": "echo \"no tests yet\"" }, "dependencies": { - "@strapi/utils": "4.3.2", + "@strapi/utils": "4.3.3", "node-ses": "^3.0.3" }, "engines": { diff --git a/packages/providers/email-mailgun/package.json b/packages/providers/email-mailgun/package.json index 2c087fc050..be96039200 100644 --- a/packages/providers/email-mailgun/package.json +++ b/packages/providers/email-mailgun/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/provider-email-mailgun", - "version": "4.3.2", + "version": "4.3.3", "description": "Mailgun provider for strapi email plugin", "keywords": [ "email", @@ -36,7 +36,7 @@ "test": "echo \"no tests yet\"" }, "dependencies": { - "@strapi/utils": "4.3.2", + "@strapi/utils": "4.3.3", "form-data": "^4.0.0", "mailgun.js": "5.2.2" }, diff --git a/packages/providers/email-nodemailer/package.json b/packages/providers/email-nodemailer/package.json index cadba8e3e2..48357dd645 100644 --- a/packages/providers/email-nodemailer/package.json +++ b/packages/providers/email-nodemailer/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/provider-email-nodemailer", - "version": "4.3.2", + "version": "4.3.3", "description": "Nodemailer provider for Strapi 3", "keywords": [ "strapi", diff --git a/packages/providers/email-sendgrid/package.json b/packages/providers/email-sendgrid/package.json index 08e60000a8..6608db3371 100644 --- a/packages/providers/email-sendgrid/package.json +++ b/packages/providers/email-sendgrid/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/provider-email-sendgrid", - "version": "4.3.2", + "version": "4.3.3", "description": "Sendgrid provider for strapi email", "keywords": [ "email", @@ -37,7 +37,7 @@ }, "dependencies": { "@sendgrid/mail": "7.4.7", - "@strapi/utils": "4.3.2" + "@strapi/utils": "4.3.3" }, "engines": { "node": ">=14.19.1 <=16.x.x", diff --git a/packages/providers/email-sendmail/package.json b/packages/providers/email-sendmail/package.json index 35ad5acb60..d32fa98951 100644 --- a/packages/providers/email-sendmail/package.json +++ b/packages/providers/email-sendmail/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/provider-email-sendmail", - "version": "4.3.2", + "version": "4.3.3", "description": "Sendmail provider for strapi email", "keywords": [ "email", @@ -35,7 +35,7 @@ "test": "echo \"no tests yet\"" }, "dependencies": { - "@strapi/utils": "4.3.2", + "@strapi/utils": "4.3.3", "sendmail": "^1.6.1" }, "engines": { diff --git a/packages/providers/upload-aws-s3/package.json b/packages/providers/upload-aws-s3/package.json index 3d7dd19fd4..5f07962d05 100644 --- a/packages/providers/upload-aws-s3/package.json +++ b/packages/providers/upload-aws-s3/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/provider-upload-aws-s3", - "version": "4.3.2", + "version": "4.3.3", "description": "AWS S3 provider for strapi upload", "keywords": [ "upload", diff --git a/packages/providers/upload-cloudinary/package.json b/packages/providers/upload-cloudinary/package.json index 705379daed..3ca5f1085d 100644 --- a/packages/providers/upload-cloudinary/package.json +++ b/packages/providers/upload-cloudinary/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/provider-upload-cloudinary", - "version": "4.3.2", + "version": "4.3.3", "description": "Cloudinary provider for strapi upload", "keywords": [ "upload", @@ -36,7 +36,7 @@ "test": "echo \"no tests yet\"" }, "dependencies": { - "@strapi/utils": "4.3.2", + "@strapi/utils": "4.3.3", "cloudinary": "^1.30.1", "into-stream": "^5.1.0" }, diff --git a/packages/providers/upload-local/package.json b/packages/providers/upload-local/package.json index a8cb34e118..fb2f123023 100644 --- a/packages/providers/upload-local/package.json +++ b/packages/providers/upload-local/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/provider-upload-local", - "version": "4.3.2", + "version": "4.3.3", "description": "Local provider for strapi upload", "keywords": [ "upload", @@ -35,7 +35,7 @@ "test": "echo \"no tests yet\"" }, "dependencies": { - "@strapi/utils": "4.3.2", + "@strapi/utils": "4.3.3", "fs-extra": "10.0.0" }, "engines": { diff --git a/packages/utils/babel-plugin-switch-ee-ce/package.json b/packages/utils/babel-plugin-switch-ee-ce/package.json index 246725217e..c242e2fee5 100644 --- a/packages/utils/babel-plugin-switch-ee-ce/package.json +++ b/packages/utils/babel-plugin-switch-ee-ce/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/babel-plugin-switch-ee-ce", - "version": "4.3.2", + "version": "4.3.3", "private": false, "description": "Babel plugin to switch from CE to EE at runtime", "repository": "git://github.com/strapi/strapi.git", diff --git a/packages/utils/logger/package.json b/packages/utils/logger/package.json index b3919fd2c9..a4ee3d9ec5 100644 --- a/packages/utils/logger/package.json +++ b/packages/utils/logger/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/logger", - "version": "4.3.2", + "version": "4.3.3", "description": "Strapi's logger", "homepage": "https://strapi.io", "bugs": { diff --git a/packages/utils/typescript/package.json b/packages/utils/typescript/package.json index 8bed8e3673..ae384182dd 100644 --- a/packages/utils/typescript/package.json +++ b/packages/utils/typescript/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/typescript-utils", - "version": "4.3.2", + "version": "4.3.3", "description": "Typescript support for Strapi", "keywords": [ "strapi", From bdb7c3adef1b02aa2a43c73d2c66c7ba372d7bb1 Mon Sep 17 00:00:00 2001 From: Dmitriy Date: Wed, 10 Aug 2022 22:58:41 +0300 Subject: [PATCH 43/64] Update content-api.yaml Fixed typo in documentation --- .../plugins/users-permissions/documentation/content-api.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/plugins/users-permissions/documentation/content-api.yaml b/packages/plugins/users-permissions/documentation/content-api.yaml index f01f9f1b30..caf659266a 100644 --- a/packages/plugins/users-permissions/documentation/content-api.yaml +++ b/packages/plugins/users-permissions/documentation/content-api.yaml @@ -44,7 +44,7 @@ paths: password: type: string example: - identier: foobar + identifier: foobar password: Test1234 required: true responses: From dd357e63e609c04943d4c78777d42c5defde284d Mon Sep 17 00:00:00 2001 From: Alexandre Bodin Date: Thu, 11 Aug 2022 10:04:46 +0200 Subject: [PATCH 44/64] Put missing code back --- .../users-permissions/server/controllers/auth.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/plugins/users-permissions/server/controllers/auth.js b/packages/plugins/users-permissions/server/controllers/auth.js index 0ce4ec3703..19c0c4863a 100644 --- a/packages/plugins/users-permissions/server/controllers/auth.js +++ b/packages/plugins/users-permissions/server/controllers/auth.js @@ -91,6 +91,18 @@ module.exports = { user: await sanitizeUser(user, ctx), }); } + + // Connect the user with the third-party provider. + try { + const user = await getService('providers').connect(provider, ctx.query); + + return ctx.send({ + jwt: getService('jwt').issue({ id: user.id }), + user: await sanitizeUser(user, ctx), + }); + } catch (error) { + throw new ApplicationError(error.message); + } }, async changePassword(ctx) { From 28a2a00db8234ffcf644661c4c8092aa82f8c119 Mon Sep 17 00:00:00 2001 From: Alexandre Bodin Date: Thu, 11 Aug 2022 10:17:34 +0200 Subject: [PATCH 45/64] v4.3.4 --- .github/actions/check-pr-status/package.json | 2 +- examples/getstarted/package.json | 20 ++++++++-------- examples/kitchensink-ts/package.json | 8 +++---- examples/kitchensink/package.json | 10 ++++---- lerna.json | 2 +- packages/admin-test-utils/package.json | 2 +- packages/cli/create-strapi-app/package.json | 4 ++-- .../cli/create-strapi-starter/package.json | 4 ++-- packages/core/admin/package.json | 10 ++++---- packages/core/content-manager/package.json | 4 ++-- .../core/content-type-builder/package.json | 8 +++---- packages/core/database/package.json | 2 +- packages/core/email/package.json | 8 +++---- packages/core/helper-plugin/package.json | 2 +- packages/core/strapi/package.json | 24 +++++++++---------- packages/core/upload/package.json | 8 +++---- packages/core/utils/package.json | 2 +- packages/generators/app/package.json | 2 +- packages/generators/generators/package.json | 6 ++--- packages/plugins/documentation/package.json | 6 ++--- packages/plugins/graphql/package.json | 4 ++-- packages/plugins/i18n/package.json | 4 ++-- packages/plugins/sentry/package.json | 2 +- .../plugins/users-permissions/package.json | 6 ++--- .../providers/email-amazon-ses/package.json | 4 ++-- packages/providers/email-mailgun/package.json | 4 ++-- .../providers/email-nodemailer/package.json | 2 +- .../providers/email-sendgrid/package.json | 4 ++-- .../providers/email-sendmail/package.json | 4 ++-- packages/providers/upload-aws-s3/package.json | 2 +- .../providers/upload-cloudinary/package.json | 4 ++-- packages/providers/upload-local/package.json | 4 ++-- .../babel-plugin-switch-ee-ce/package.json | 2 +- packages/utils/logger/package.json | 2 +- packages/utils/typescript/package.json | 2 +- 35 files changed, 92 insertions(+), 92 deletions(-) diff --git a/.github/actions/check-pr-status/package.json b/.github/actions/check-pr-status/package.json index 89457e14d6..af3184bd2d 100644 --- a/.github/actions/check-pr-status/package.json +++ b/.github/actions/check-pr-status/package.json @@ -1,6 +1,6 @@ { "name": "check-pr-status", - "version": "4.3.3", + "version": "4.3.4", "main": "dist/index.js", "license": "MIT", "private": true, diff --git a/examples/getstarted/package.json b/examples/getstarted/package.json index 9ec454cffa..30d40e3541 100644 --- a/examples/getstarted/package.json +++ b/examples/getstarted/package.json @@ -1,7 +1,7 @@ { "name": "getstarted", "private": true, - "version": "4.3.3", + "version": "4.3.4", "description": "A Strapi application.", "scripts": { "develop": "strapi develop", @@ -12,15 +12,15 @@ "strapi": "strapi" }, "dependencies": { - "@strapi/plugin-documentation": "4.3.3", - "@strapi/plugin-graphql": "4.3.3", - "@strapi/plugin-i18n": "4.3.3", - "@strapi/plugin-sentry": "4.3.3", - "@strapi/plugin-users-permissions": "4.3.3", - "@strapi/provider-email-mailgun": "4.3.3", - "@strapi/provider-upload-aws-s3": "4.3.3", - "@strapi/provider-upload-cloudinary": "4.3.3", - "@strapi/strapi": "4.3.3", + "@strapi/plugin-documentation": "4.3.4", + "@strapi/plugin-graphql": "4.3.4", + "@strapi/plugin-i18n": "4.3.4", + "@strapi/plugin-sentry": "4.3.4", + "@strapi/plugin-users-permissions": "4.3.4", + "@strapi/provider-email-mailgun": "4.3.4", + "@strapi/provider-upload-aws-s3": "4.3.4", + "@strapi/provider-upload-cloudinary": "4.3.4", + "@strapi/strapi": "4.3.4", "@vscode/sqlite3": "5.0.8", "better-sqlite3": "7.4.6", "lodash": "4.17.21", diff --git a/examples/kitchensink-ts/package.json b/examples/kitchensink-ts/package.json index ff1aec674d..9779f720d1 100644 --- a/examples/kitchensink-ts/package.json +++ b/examples/kitchensink-ts/package.json @@ -1,7 +1,7 @@ { "name": "kitchensink-ts", "private": true, - "version": "4.3.3", + "version": "4.3.4", "description": "A Strapi application", "scripts": { "develop": "strapi develop", @@ -10,9 +10,9 @@ "strapi": "strapi" }, "dependencies": { - "@strapi/plugin-i18n": "4.3.3", - "@strapi/plugin-users-permissions": "4.3.3", - "@strapi/strapi": "4.3.3", + "@strapi/plugin-i18n": "4.3.4", + "@strapi/plugin-users-permissions": "4.3.4", + "@strapi/strapi": "4.3.4", "better-sqlite3": "7.4.6" }, "author": { diff --git a/examples/kitchensink/package.json b/examples/kitchensink/package.json index 3e68a5c30d..1fb3e33a93 100644 --- a/examples/kitchensink/package.json +++ b/examples/kitchensink/package.json @@ -1,7 +1,7 @@ { "name": "kitchensink", "private": true, - "version": "4.3.3", + "version": "4.3.4", "description": "A Strapi application.", "scripts": { "develop": "strapi develop", @@ -12,10 +12,10 @@ "strapi": "strapi" }, "dependencies": { - "@strapi/provider-email-mailgun": "4.3.3", - "@strapi/provider-upload-aws-s3": "4.3.3", - "@strapi/provider-upload-cloudinary": "4.3.3", - "@strapi/strapi": "4.3.3", + "@strapi/provider-email-mailgun": "4.3.4", + "@strapi/provider-upload-aws-s3": "4.3.4", + "@strapi/provider-upload-cloudinary": "4.3.4", + "@strapi/strapi": "4.3.4", "lodash": "4.17.21", "mysql": "2.18.1", "passport-google-oauth2": "0.2.0", diff --git a/lerna.json b/lerna.json index 332ab9ee15..f6a98ff216 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "4.3.3", + "version": "4.3.4", "packages": [ "packages/*", "examples/*" diff --git a/packages/admin-test-utils/package.json b/packages/admin-test-utils/package.json index 46c42d1dcd..fa82dd43eb 100644 --- a/packages/admin-test-utils/package.json +++ b/packages/admin-test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/admin-test-utils", - "version": "4.3.3", + "version": "4.3.4", "private": true, "description": "Test utilities for the Strapi administration panel", "license": "MIT", diff --git a/packages/cli/create-strapi-app/package.json b/packages/cli/create-strapi-app/package.json index 3f8be4e62b..1b501057a6 100644 --- a/packages/cli/create-strapi-app/package.json +++ b/packages/cli/create-strapi-app/package.json @@ -1,6 +1,6 @@ { "name": "create-strapi-app", - "version": "4.3.3", + "version": "4.3.4", "description": "Generate a new Strapi application.", "keywords": [ "create-strapi-app", @@ -38,7 +38,7 @@ "test": "echo \"no tests yet\"" }, "dependencies": { - "@strapi/generate-new": "4.3.3", + "@strapi/generate-new": "4.3.4", "commander": "6.1.0", "inquirer": "8.2.4" }, diff --git a/packages/cli/create-strapi-starter/package.json b/packages/cli/create-strapi-starter/package.json index eb23669265..82eb658f95 100644 --- a/packages/cli/create-strapi-starter/package.json +++ b/packages/cli/create-strapi-starter/package.json @@ -1,6 +1,6 @@ { "name": "create-strapi-starter", - "version": "4.3.3", + "version": "4.3.4", "description": "Generate a new Strapi application.", "keywords": [ "create-strapi-starter", @@ -38,7 +38,7 @@ "test": "echo \"no tests yet\"" }, "dependencies": { - "@strapi/generate-new": "4.3.3", + "@strapi/generate-new": "4.3.4", "chalk": "4.1.1", "ci-info": "3.3.2", "commander": "7.1.0", diff --git a/packages/core/admin/package.json b/packages/core/admin/package.json index aaf36932d7..667e62559f 100644 --- a/packages/core/admin/package.json +++ b/packages/core/admin/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/admin", - "version": "4.3.3", + "version": "4.3.4", "description": "Strapi Admin", "repository": { "type": "git", @@ -51,12 +51,12 @@ "@fortawesome/free-solid-svg-icons": "^5.15.3", "@fortawesome/react-fontawesome": "^0.2.0", "@pmmmwh/react-refresh-webpack-plugin": "0.5.7", - "@strapi/babel-plugin-switch-ee-ce": "4.3.3", + "@strapi/babel-plugin-switch-ee-ce": "4.3.4", "@strapi/design-system": "1.2.1", - "@strapi/helper-plugin": "4.3.3", + "@strapi/helper-plugin": "4.3.4", "@strapi/icons": "1.2.1", - "@strapi/typescript-utils": "4.3.3", - "@strapi/utils": "4.3.3", + "@strapi/typescript-utils": "4.3.4", + "@strapi/utils": "4.3.4", "axios": "0.24.0", "babel-loader": "8.2.5", "babel-plugin-styled-components": "2.0.2", diff --git a/packages/core/content-manager/package.json b/packages/core/content-manager/package.json index cfd5bc07d7..64808c7863 100644 --- a/packages/core/content-manager/package.json +++ b/packages/core/content-manager/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/plugin-content-manager", - "version": "4.3.3", + "version": "4.3.4", "description": "A powerful UI to easily manage your data.", "repository": { "type": "git", @@ -24,7 +24,7 @@ }, "dependencies": { "@sindresorhus/slugify": "1.1.0", - "@strapi/utils": "4.3.3", + "@strapi/utils": "4.3.4", "lodash": "4.17.21" }, "engines": { diff --git a/packages/core/content-type-builder/package.json b/packages/core/content-type-builder/package.json index 836b549654..15a0845f2f 100644 --- a/packages/core/content-type-builder/package.json +++ b/packages/core/content-type-builder/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/plugin-content-type-builder", - "version": "4.3.3", + "version": "4.3.4", "description": "Strapi plugin to create content type", "repository": { "type": "git", @@ -28,9 +28,9 @@ }, "dependencies": { "@sindresorhus/slugify": "1.1.0", - "@strapi/generators": "4.3.3", - "@strapi/helper-plugin": "4.3.3", - "@strapi/utils": "4.3.3", + "@strapi/generators": "4.3.4", + "@strapi/helper-plugin": "4.3.4", + "@strapi/utils": "4.3.4", "fs-extra": "10.0.0", "lodash": "4.17.21", "pluralize": "^8.0.0", diff --git a/packages/core/database/package.json b/packages/core/database/package.json index 6aef599497..6293c77af2 100644 --- a/packages/core/database/package.json +++ b/packages/core/database/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/database", - "version": "4.3.3", + "version": "4.3.4", "description": "Strapi's database layer", "homepage": "https://strapi.io", "bugs": { diff --git a/packages/core/email/package.json b/packages/core/email/package.json index c3001c0644..b7e8d36eab 100644 --- a/packages/core/email/package.json +++ b/packages/core/email/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/plugin-email", - "version": "4.3.3", + "version": "4.3.4", "description": "Easily configure your Strapi application to send emails.", "repository": { "type": "git", @@ -26,12 +26,12 @@ "test:front:watch:ce": "cross-env IS_EE=false jest --config ./jest.config.front.js --watchAll" }, "dependencies": { - "@strapi/provider-email-sendmail": "4.3.3", - "@strapi/utils": "4.3.3", + "@strapi/provider-email-sendmail": "4.3.4", + "@strapi/utils": "4.3.4", "lodash": "4.17.21" }, "devDependencies": { - "@strapi/helper-plugin": "4.3.3" + "@strapi/helper-plugin": "4.3.4" }, "engines": { "node": ">=14.19.1 <=16.x.x", diff --git a/packages/core/helper-plugin/package.json b/packages/core/helper-plugin/package.json index 068dae58a6..29df4f4ad7 100644 --- a/packages/core/helper-plugin/package.json +++ b/packages/core/helper-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/helper-plugin", - "version": "4.3.3", + "version": "4.3.4", "description": "Helper for Strapi plugins development", "repository": { "type": "git", diff --git a/packages/core/strapi/package.json b/packages/core/strapi/package.json index ef9cd4bffe..ad3b338545 100644 --- a/packages/core/strapi/package.json +++ b/packages/core/strapi/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/strapi", - "version": "4.3.3", + "version": "4.3.4", "description": "An open source headless CMS solution to create and manage your own API. It provides a powerful dashboard and features to make your life easier. Databases supported: MySQL, MariaDB, PostgreSQL, SQLite", "keywords": [ "strapi", @@ -80,17 +80,17 @@ "dependencies": { "@koa/cors": "3.1.0", "@koa/router": "10.1.1", - "@strapi/admin": "4.3.3", - "@strapi/database": "4.3.3", - "@strapi/generate-new": "4.3.3", - "@strapi/generators": "4.3.3", - "@strapi/logger": "4.3.3", - "@strapi/plugin-content-manager": "4.3.3", - "@strapi/plugin-content-type-builder": "4.3.3", - "@strapi/plugin-email": "4.3.3", - "@strapi/plugin-upload": "4.3.3", - "@strapi/typescript-utils": "4.3.3", - "@strapi/utils": "4.3.3", + "@strapi/admin": "4.3.4", + "@strapi/database": "4.3.4", + "@strapi/generate-new": "4.3.4", + "@strapi/generators": "4.3.4", + "@strapi/logger": "4.3.4", + "@strapi/plugin-content-manager": "4.3.4", + "@strapi/plugin-content-type-builder": "4.3.4", + "@strapi/plugin-email": "4.3.4", + "@strapi/plugin-upload": "4.3.4", + "@strapi/typescript-utils": "4.3.4", + "@strapi/utils": "4.3.4", "bcryptjs": "2.4.3", "boxen": "5.1.2", "chalk": "4.1.2", diff --git a/packages/core/upload/package.json b/packages/core/upload/package.json index 0d8fbe46a8..82c9e7491f 100644 --- a/packages/core/upload/package.json +++ b/packages/core/upload/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/plugin-upload", - "version": "4.3.3", + "version": "4.3.4", "description": "Makes it easy to upload images and files to your Strapi Application.", "license": "SEE LICENSE IN LICENSE", "author": { @@ -23,9 +23,9 @@ "test:front:watch:ce": "cross-env IS_EE=false jest --config ./jest.config.front.js --watchAll" }, "dependencies": { - "@strapi/helper-plugin": "4.3.3", - "@strapi/provider-upload-local": "4.3.3", - "@strapi/utils": "4.3.3", + "@strapi/helper-plugin": "4.3.4", + "@strapi/provider-upload-local": "4.3.4", + "@strapi/utils": "4.3.4", "byte-size": "7.0.1", "cropperjs": "1.5.12", "date-fns": "2.28.0", diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index 73159f6c27..6d08e96c31 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/utils", - "version": "4.3.3", + "version": "4.3.4", "description": "Shared utilities for the Strapi packages", "keywords": [ "strapi", diff --git a/packages/generators/app/package.json b/packages/generators/app/package.json index 680bb255fc..558f988e62 100644 --- a/packages/generators/app/package.json +++ b/packages/generators/app/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/generate-new", - "version": "4.3.3", + "version": "4.3.4", "description": "Generate a new Strapi application.", "keywords": [ "generate", diff --git a/packages/generators/generators/package.json b/packages/generators/generators/package.json index 4ae819af60..dcf3af70f4 100644 --- a/packages/generators/generators/package.json +++ b/packages/generators/generators/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/generators", - "version": "4.3.3", + "version": "4.3.4", "description": "Interactive API generator.", "keywords": [ "strapi", @@ -30,8 +30,8 @@ "main": "lib/index.js", "dependencies": { "@sindresorhus/slugify": "1.1.0", - "@strapi/typescript-utils": "4.3.3", - "@strapi/utils": "4.3.3", + "@strapi/typescript-utils": "4.3.4", + "@strapi/utils": "4.3.4", "chalk": "4.1.2", "fs-extra": "10.0.0", "node-plop": "0.26.3", diff --git a/packages/plugins/documentation/package.json b/packages/plugins/documentation/package.json index b2bafb43a7..419eaa1ebb 100644 --- a/packages/plugins/documentation/package.json +++ b/packages/plugins/documentation/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/plugin-documentation", - "version": "4.3.3", + "version": "4.3.4", "description": "Create an OpenAPI Document and visualize your API with SWAGGER UI.", "repository": { "type": "git", @@ -24,8 +24,8 @@ "test": "echo \"no tests yet\"" }, "dependencies": { - "@strapi/helper-plugin": "4.3.3", - "@strapi/utils": "4.3.3", + "@strapi/helper-plugin": "4.3.4", + "@strapi/utils": "4.3.4", "bcryptjs": "2.4.3", "cheerio": "^1.0.0-rc.12", "fs-extra": "10.0.0", diff --git a/packages/plugins/graphql/package.json b/packages/plugins/graphql/package.json index 5d8a16bf07..2e2ba97783 100644 --- a/packages/plugins/graphql/package.json +++ b/packages/plugins/graphql/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/plugin-graphql", - "version": "4.3.3", + "version": "4.3.4", "description": "Adds GraphQL endpoint with default API methods.", "repository": { "type": "git", @@ -29,7 +29,7 @@ "dependencies": { "@graphql-tools/schema": "8.1.2", "@graphql-tools/utils": "^8.9.0", - "@strapi/utils": "4.3.3", + "@strapi/utils": "4.3.4", "apollo-server-core": "3.1.2", "apollo-server-koa": "3.10.0", "glob": "^7.1.7", diff --git a/packages/plugins/i18n/package.json b/packages/plugins/i18n/package.json index ef0a94da0c..aee05bbd76 100644 --- a/packages/plugins/i18n/package.json +++ b/packages/plugins/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/plugin-i18n", - "version": "4.3.3", + "version": "4.3.4", "description": "This plugin enables to create, to read and to update content in different languages, both from the Admin Panel and from the API", "repository": { "type": "git", @@ -24,7 +24,7 @@ "test:unit": "jest --verbose" }, "dependencies": { - "@strapi/utils": "4.3.3", + "@strapi/utils": "4.3.4", "lodash": "4.17.21" }, "engines": { diff --git a/packages/plugins/sentry/package.json b/packages/plugins/sentry/package.json index 948c716497..b96e9c77ba 100644 --- a/packages/plugins/sentry/package.json +++ b/packages/plugins/sentry/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/plugin-sentry", - "version": "4.3.3", + "version": "4.3.4", "description": "Send Strapi error events to Sentry", "repository": { "type": "git", diff --git a/packages/plugins/users-permissions/package.json b/packages/plugins/users-permissions/package.json index 0353bf3da5..06e90304b4 100644 --- a/packages/plugins/users-permissions/package.json +++ b/packages/plugins/users-permissions/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/plugin-users-permissions", - "version": "4.3.3", + "version": "4.3.4", "description": "Protect your API with a full-authentication process based on JWT", "repository": { "type": "git", @@ -27,8 +27,8 @@ "test:front:watch:ce": "cross-env IS_EE=false jest --config ./jest.config.front.js --watchAll" }, "dependencies": { - "@strapi/helper-plugin": "4.3.3", - "@strapi/utils": "4.3.3", + "@strapi/helper-plugin": "4.3.4", + "@strapi/utils": "4.3.4", "bcryptjs": "2.4.3", "grant-koa": "5.4.8", "jsonwebtoken": "^8.1.0", diff --git a/packages/providers/email-amazon-ses/package.json b/packages/providers/email-amazon-ses/package.json index c2bfc1c6fc..48f568fdd9 100644 --- a/packages/providers/email-amazon-ses/package.json +++ b/packages/providers/email-amazon-ses/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/provider-email-amazon-ses", - "version": "4.3.3", + "version": "4.3.4", "description": "Amazon SES provider for strapi email", "keywords": [ "email", @@ -36,7 +36,7 @@ "test": "echo \"no tests yet\"" }, "dependencies": { - "@strapi/utils": "4.3.3", + "@strapi/utils": "4.3.4", "node-ses": "^3.0.3" }, "engines": { diff --git a/packages/providers/email-mailgun/package.json b/packages/providers/email-mailgun/package.json index be96039200..9824e52f85 100644 --- a/packages/providers/email-mailgun/package.json +++ b/packages/providers/email-mailgun/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/provider-email-mailgun", - "version": "4.3.3", + "version": "4.3.4", "description": "Mailgun provider for strapi email plugin", "keywords": [ "email", @@ -36,7 +36,7 @@ "test": "echo \"no tests yet\"" }, "dependencies": { - "@strapi/utils": "4.3.3", + "@strapi/utils": "4.3.4", "form-data": "^4.0.0", "mailgun.js": "5.2.2" }, diff --git a/packages/providers/email-nodemailer/package.json b/packages/providers/email-nodemailer/package.json index 48357dd645..76eb79a3ab 100644 --- a/packages/providers/email-nodemailer/package.json +++ b/packages/providers/email-nodemailer/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/provider-email-nodemailer", - "version": "4.3.3", + "version": "4.3.4", "description": "Nodemailer provider for Strapi 3", "keywords": [ "strapi", diff --git a/packages/providers/email-sendgrid/package.json b/packages/providers/email-sendgrid/package.json index 6608db3371..a0bf633f97 100644 --- a/packages/providers/email-sendgrid/package.json +++ b/packages/providers/email-sendgrid/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/provider-email-sendgrid", - "version": "4.3.3", + "version": "4.3.4", "description": "Sendgrid provider for strapi email", "keywords": [ "email", @@ -37,7 +37,7 @@ }, "dependencies": { "@sendgrid/mail": "7.4.7", - "@strapi/utils": "4.3.3" + "@strapi/utils": "4.3.4" }, "engines": { "node": ">=14.19.1 <=16.x.x", diff --git a/packages/providers/email-sendmail/package.json b/packages/providers/email-sendmail/package.json index d32fa98951..359cac9f28 100644 --- a/packages/providers/email-sendmail/package.json +++ b/packages/providers/email-sendmail/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/provider-email-sendmail", - "version": "4.3.3", + "version": "4.3.4", "description": "Sendmail provider for strapi email", "keywords": [ "email", @@ -35,7 +35,7 @@ "test": "echo \"no tests yet\"" }, "dependencies": { - "@strapi/utils": "4.3.3", + "@strapi/utils": "4.3.4", "sendmail": "^1.6.1" }, "engines": { diff --git a/packages/providers/upload-aws-s3/package.json b/packages/providers/upload-aws-s3/package.json index 5f07962d05..9b6f8f7fcc 100644 --- a/packages/providers/upload-aws-s3/package.json +++ b/packages/providers/upload-aws-s3/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/provider-upload-aws-s3", - "version": "4.3.3", + "version": "4.3.4", "description": "AWS S3 provider for strapi upload", "keywords": [ "upload", diff --git a/packages/providers/upload-cloudinary/package.json b/packages/providers/upload-cloudinary/package.json index 3ca5f1085d..fd394cc89d 100644 --- a/packages/providers/upload-cloudinary/package.json +++ b/packages/providers/upload-cloudinary/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/provider-upload-cloudinary", - "version": "4.3.3", + "version": "4.3.4", "description": "Cloudinary provider for strapi upload", "keywords": [ "upload", @@ -36,7 +36,7 @@ "test": "echo \"no tests yet\"" }, "dependencies": { - "@strapi/utils": "4.3.3", + "@strapi/utils": "4.3.4", "cloudinary": "^1.30.1", "into-stream": "^5.1.0" }, diff --git a/packages/providers/upload-local/package.json b/packages/providers/upload-local/package.json index fb2f123023..750232e947 100644 --- a/packages/providers/upload-local/package.json +++ b/packages/providers/upload-local/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/provider-upload-local", - "version": "4.3.3", + "version": "4.3.4", "description": "Local provider for strapi upload", "keywords": [ "upload", @@ -35,7 +35,7 @@ "test": "echo \"no tests yet\"" }, "dependencies": { - "@strapi/utils": "4.3.3", + "@strapi/utils": "4.3.4", "fs-extra": "10.0.0" }, "engines": { diff --git a/packages/utils/babel-plugin-switch-ee-ce/package.json b/packages/utils/babel-plugin-switch-ee-ce/package.json index c242e2fee5..6f3046a9cf 100644 --- a/packages/utils/babel-plugin-switch-ee-ce/package.json +++ b/packages/utils/babel-plugin-switch-ee-ce/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/babel-plugin-switch-ee-ce", - "version": "4.3.3", + "version": "4.3.4", "private": false, "description": "Babel plugin to switch from CE to EE at runtime", "repository": "git://github.com/strapi/strapi.git", diff --git a/packages/utils/logger/package.json b/packages/utils/logger/package.json index a4ee3d9ec5..57868fb959 100644 --- a/packages/utils/logger/package.json +++ b/packages/utils/logger/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/logger", - "version": "4.3.3", + "version": "4.3.4", "description": "Strapi's logger", "homepage": "https://strapi.io", "bugs": { diff --git a/packages/utils/typescript/package.json b/packages/utils/typescript/package.json index ae384182dd..37e67336ff 100644 --- a/packages/utils/typescript/package.json +++ b/packages/utils/typescript/package.json @@ -1,6 +1,6 @@ { "name": "@strapi/typescript-utils", - "version": "4.3.3", + "version": "4.3.4", "description": "Typescript support for Strapi", "keywords": [ "strapi", From b9d0786eff77e026f30450a3adc36f1f8fcba985 Mon Sep 17 00:00:00 2001 From: Alexandre Bodin Date: Mon, 8 Aug 2022 15:37:37 +0200 Subject: [PATCH 46/64] Use @strapi/eslint-config --- .eslintrc.back.js | 6 +- package.json | 8 +- yarn.lock | 396 ++++++++++++++++++++++++++++++++++------------ 3 files changed, 299 insertions(+), 111 deletions(-) diff --git a/.eslintrc.back.js b/.eslintrc.back.js index 44328c8637..b19daeefa7 100644 --- a/.eslintrc.back.js +++ b/.eslintrc.back.js @@ -2,11 +2,7 @@ module.exports = { extends: [ - 'eslint:recommended', - 'prettier', - 'plugin:import/errors', - 'plugin:import/warnings', - 'plugin:node/recommended', + '@strapi/eslint-config/back', // 'plugin:jsdoc/recommended', ], plugins: ['jsdoc'], diff --git a/package.json b/package.json index 183757cbeb..5a2d09cac8 100644 --- a/package.json +++ b/package.json @@ -71,6 +71,7 @@ "@babel/polyfill": "7.12.1" }, "devDependencies": { + "@strapi/eslint-config": "0.1.0", "@swc/core": "1.2.224", "@swc/jest": "0.2.22", "@testing-library/react": "11.2.7", @@ -82,10 +83,9 @@ "chokidar": "3.5.3", "cross-env": "7.0.3", "dotenv": "14.2.0", - "eslint": "7.32.0", - "eslint-config-airbnb": "18.2.1", - "eslint-config-airbnb-base": "14.2.1", - "eslint-config-prettier": "6.15.0", + "eslint": "8.21.0", + "eslint-config-airbnb-base": "15.0.0", + "eslint-config-prettier": "8.5.0", "eslint-plugin-import": "2.26.0", "eslint-plugin-jsdoc": "36.1.1", "eslint-plugin-jsx-a11y": "6.6.1", diff --git a/yarn.lock b/yarn.lock index 7ea8939860..b98d210825 100644 --- a/yarn.lock +++ b/yarn.lock @@ -145,13 +145,6 @@ "@nicolo-ribaudo/chokidar-2" "2.1.8-no-fsevents.3" chokidar "^3.4.0" -"@babel/code-frame@7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" - "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.5.5", "@babel/code-frame@^7.8.3": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" @@ -553,7 +546,7 @@ "@babel/traverse" "^7.18.9" "@babel/types" "^7.18.9" -"@babel/highlight@^7.10.4", "@babel/highlight@^7.18.6": +"@babel/highlight@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== @@ -567,6 +560,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.10.tgz#94b5f8522356e69e8277276adf67ed280c90ecc1" integrity sha512-TYk3OA0HKL6qNryUayb5UUEhM/rkOQozIBEA5ITXh5DWrSp0TlUQXMyZmnWxG/DizSWBeeQ0Zbc5z8UGaaqoeg== +"@babel/parser@^7.0.0", "@babel/parser@^7.18.11": + version "7.18.11" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.11.tgz#68bb07ab3d380affa9a3f96728df07969645d2d9" + integrity sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ== + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" @@ -1486,6 +1484,22 @@ "@babel/parser" "^7.18.10" "@babel/types" "^7.18.10" +"@babel/traverse@^7.0.0": + version "7.18.11" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.11.tgz#3d51f2afbd83ecf9912bcbb5c4d94e3d2ddaa16f" + integrity sha512-TG9PiM2R/cWCAy6BPJKeHzNbu4lPzOSZpeMfeNErskGpTJx6trEvFaVCbDvpcxwy49BKWmEPwiW8mrysNiDvIQ== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.18.10" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.18.11" + "@babel/types" "^7.18.10" + debug "^4.1.0" + globals "^11.1.0" + "@babel/traverse@^7.1.0", "@babel/traverse@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.9.tgz#deeff3e8f1bad9786874cb2feda7a2d77a904f98" @@ -1824,19 +1838,19 @@ esquery "^1.4.0" jsdoc-type-pratt-parser "1.1.1" -"@eslint/eslintrc@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" - integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== +"@eslint/eslintrc@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.0.tgz#29f92c30bb3e771e4a2048c95fa6855392dfac4f" + integrity sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw== dependencies: ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^13.9.0" - ignore "^4.0.6" + debug "^4.3.2" + espree "^9.3.2" + globals "^13.15.0" + ignore "^5.2.0" import-fresh "^3.2.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" + js-yaml "^4.1.0" + minimatch "^3.1.2" strip-json-comments "^3.1.1" "@fingerprintjs/fingerprintjs@3.3.3": @@ -1997,16 +2011,21 @@ dependencies: tslib "^2.4.0" -"@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" - integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== +"@humanwhocodes/config-array@^0.10.4": + version "0.10.4" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.4.tgz#01e7366e57d2ad104feea63e72248f22015c520c" + integrity sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw== dependencies: - "@humanwhocodes/object-schema" "^1.2.0" + "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" minimatch "^3.0.4" -"@humanwhocodes/object-schema@^1.2.0": +"@humanwhocodes/gitignore-to-minimatch@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz#316b0a63b91c10e53f242efb4ace5c3b34e8728d" + integrity sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA== + +"@humanwhocodes/object-schema@^1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== @@ -5192,6 +5211,26 @@ compute-scroll-into-view "^1.0.17" prop-types "^15.7.2" +"@strapi/eslint-config@0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@strapi/eslint-config/-/eslint-config-0.1.0.tgz#7d42ddcc8046ded7222ca639bb36957cfc2c8d1b" + integrity sha512-eEGyGt0L5hJ+Lvik9VhRKxlwftSZQZIBCJKWkT8bhxxxN9fUcRuGvXb6Gqlj4TOatNkGiHAbVs4lZkE01KsA9g== + dependencies: + "@typescript-eslint/eslint-plugin" "^5.14.0" + "@typescript-eslint/parser" "^5.14.0" + babel-eslint "10.0.0" + eslint "^8.10.0" + eslint-config-airbnb "^19.0.4" + eslint-config-airbnb-base "^15.0.0" + eslint-config-airbnb-typescript "^16.1.1" + eslint-config-prettier "^8.5.0" + eslint-plugin-import "^2.25.4" + eslint-plugin-jsx-a11y "^6.5.1" + eslint-plugin-node "^11.1.0" + eslint-plugin-prettier "^4.0.0" + eslint-plugin-react "^7.29.3" + eslint-plugin-react-hooks "^4.3.0" + "@strapi/icons@1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@strapi/icons/-/icons-1.2.1.tgz#780e74a8284bc18c268e61b37ff8a1b75d49c9b3" @@ -6049,6 +6088,86 @@ dependencies: "@types/yargs-parser" "*" +"@typescript-eslint/eslint-plugin@^5.14.0": + version "5.32.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.32.0.tgz#e27e38cffa4a61226327c874a7be965e9a861624" + integrity sha512-CHLuz5Uz7bHP2WgVlvoZGhf0BvFakBJKAD/43Ty0emn4wXWv5k01ND0C0fHcl/Im8Td2y/7h44E9pca9qAu2ew== + dependencies: + "@typescript-eslint/scope-manager" "5.32.0" + "@typescript-eslint/type-utils" "5.32.0" + "@typescript-eslint/utils" "5.32.0" + debug "^4.3.4" + functional-red-black-tree "^1.0.1" + ignore "^5.2.0" + regexpp "^3.2.0" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/parser@^5.14.0": + version "5.32.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.32.0.tgz#1de243443bc6186fb153b9e395b842e46877ca5d" + integrity sha512-IxRtsehdGV9GFQ35IGm5oKKR2OGcazUoiNBxhRV160iF9FoyuXxjY+rIqs1gfnd+4eL98OjeGnMpE7RF/NBb3A== + dependencies: + "@typescript-eslint/scope-manager" "5.32.0" + "@typescript-eslint/types" "5.32.0" + "@typescript-eslint/typescript-estree" "5.32.0" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@5.32.0": + version "5.32.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.32.0.tgz#763386e963a8def470580cc36cf9228864190b95" + integrity sha512-KyAE+tUON0D7tNz92p1uetRqVJiiAkeluvwvZOqBmW9z2XApmk5WSMV9FrzOroAcVxJZB3GfUwVKr98Dr/OjOg== + dependencies: + "@typescript-eslint/types" "5.32.0" + "@typescript-eslint/visitor-keys" "5.32.0" + +"@typescript-eslint/type-utils@5.32.0": + version "5.32.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.32.0.tgz#45a14506fe3fb908600b4cef2f70778f7b5cdc79" + integrity sha512-0gSsIhFDduBz3QcHJIp3qRCvVYbqzHg8D6bHFsDMrm0rURYDj+skBK2zmYebdCp+4nrd9VWd13egvhYFJj/wZg== + dependencies: + "@typescript-eslint/utils" "5.32.0" + debug "^4.3.4" + tsutils "^3.21.0" + +"@typescript-eslint/types@5.32.0": + version "5.32.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.32.0.tgz#484273021eeeae87ddb288f39586ef5efeb6dcd8" + integrity sha512-EBUKs68DOcT/EjGfzywp+f8wG9Zw6gj6BjWu7KV/IYllqKJFPlZlLSYw/PTvVyiRw50t6wVbgv4p9uE2h6sZrQ== + +"@typescript-eslint/typescript-estree@5.32.0": + version "5.32.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.32.0.tgz#282943f34babf07a4afa7b0ff347a8e7b6030d12" + integrity sha512-ZVAUkvPk3ITGtCLU5J4atCw9RTxK+SRc6hXqLtllC2sGSeMFWN+YwbiJR9CFrSFJ3w4SJfcWtDwNb/DmUIHdhg== + dependencies: + "@typescript-eslint/types" "5.32.0" + "@typescript-eslint/visitor-keys" "5.32.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.32.0": + version "5.32.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.32.0.tgz#eccb6b672b94516f1afc6508d05173c45924840c" + integrity sha512-W7lYIAI5Zlc5K082dGR27Fczjb3Q57ECcXefKU/f0ajM5ToM0P+N9NmJWip8GmGu/g6QISNT+K6KYB+iSHjXCQ== + dependencies: + "@types/json-schema" "^7.0.9" + "@typescript-eslint/scope-manager" "5.32.0" + "@typescript-eslint/types" "5.32.0" + "@typescript-eslint/typescript-estree" "5.32.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + +"@typescript-eslint/visitor-keys@5.32.0": + version "5.32.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.32.0.tgz#b9715d0b11fdb5dd10fd0c42ff13987470525394" + integrity sha512-S54xOHZgfThiZ38/ZGTgB2rqx51CMJ5MCfVT2IplK4Q7hgzGfe0nLzLCcenDnc/cSjP568hdeKfeDcBgqNHD/g== + dependencies: + "@typescript-eslint/types" "5.32.0" + eslint-visitor-keys "^3.3.0" + "@ucast/core@^1.0.0", "@ucast/core@^1.4.1", "@ucast/core@^1.6.1": version "1.10.1" resolved "https://registry.yarnpkg.com/@ucast/core/-/core-1.10.1.tgz#03a77a7804bcb5002a5cad3681e86cd1897e2e1f" @@ -6438,7 +6557,7 @@ acorn-import-assertions@^1.7.6: resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== -acorn-jsx@^5.3.1: +acorn-jsx@^5.3.1, acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== @@ -6458,12 +6577,12 @@ acorn@^6.4.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== -acorn@^7.1.1, acorn@^7.4.0, acorn@^7.4.1: +acorn@^7.1.1, acorn@^7.4.1: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.0.4, acorn@^8.2.4, acorn@^8.5.0, acorn@^8.7.0, acorn@^8.7.1: +acorn@^8.0.4, acorn@^8.2.4, acorn@^8.5.0, acorn@^8.7.0, acorn@^8.7.1, acorn@^8.8.0: version "8.8.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== @@ -7206,6 +7325,18 @@ axobject-query@^2.2.0: resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== +babel-eslint@10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.0.tgz#0bb43e6b11a119bf3defbb1ee2521f42e2d413c9" + integrity sha512-GDQOtoj8CFtEe1HlbuEb6rwdbxRr4Y5DWyddivdsriEj6ulDda+fS43Zfe/Ku0tuMNnxC9JK1bmIovsLq5+hUA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.0.0" + "@babel/traverse" "^7.0.0" + "@babel/types" "^7.0.0" + eslint-scope "3.7.1" + eslint-visitor-keys "^1.0.0" + babel-eslint@10.1.0: version "10.1.0" resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" @@ -9456,7 +9587,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: dependencies: ms "2.0.0" -debug@4, debug@4.3.4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: +debug@4, debug@4.3.4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -10201,7 +10332,7 @@ enhanced-resolve@^5.10.0: graceful-fs "^4.2.4" tapable "^2.2.0" -enquirer@^2.3.5, enquirer@^2.3.6, enquirer@~2.3.6: +enquirer@^2.3.6, enquirer@~2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== @@ -10547,30 +10678,36 @@ escodegen@^2.0.0: optionalDependencies: source-map "~0.6.1" -eslint-config-airbnb-base@14.2.1, eslint-config-airbnb-base@^14.2.1: - version "14.2.1" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz#8a2eb38455dc5a312550193b319cdaeef042cd1e" - integrity sha512-GOrQyDtVEc1Xy20U7vsB2yAoB4nBlfH5HZJeatRXHleO+OS5Ot+MWij4Dpltw4/DyIkqUfqz1epfhVR5XWWQPA== +eslint-config-airbnb-base@15.0.0, eslint-config-airbnb-base@^15.0.0: + version "15.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz#6b09add90ac79c2f8d723a2580e07f3925afd236" + integrity sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig== dependencies: confusing-browser-globals "^1.0.10" object.assign "^4.1.2" - object.entries "^1.1.2" + object.entries "^1.1.5" + semver "^6.3.0" -eslint-config-airbnb@18.2.1: - version "18.2.1" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-18.2.1.tgz#b7fe2b42f9f8173e825b73c8014b592e449c98d9" - integrity sha512-glZNDEZ36VdlZWoxn/bUR1r/sdFKPd1mHPbqUtkctgNG4yT2DLLtJ3D+yCV+jzZCc2V1nBVkmdknOJBZ5Hc0fg== +eslint-config-airbnb-typescript@^16.1.1: + version "16.2.0" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-16.2.0.tgz#9193fafd62f1cbf444895f4495eae334baf3265b" + integrity sha512-OUaMPZpTOZGKd5tXOjJ9PRU4iYNW/Z5DoHIynjsVK/FpkWdiY5+nxQW6TiJAlLwVI1l53xUOrnlZWtVBVQzuWA== dependencies: - eslint-config-airbnb-base "^14.2.1" + eslint-config-airbnb-base "^15.0.0" + +eslint-config-airbnb@^19.0.4: + version "19.0.4" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-19.0.4.tgz#84d4c3490ad70a0ffa571138ebcdea6ab085fdc3" + integrity sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew== + dependencies: + eslint-config-airbnb-base "^15.0.0" object.assign "^4.1.2" - object.entries "^1.1.2" + object.entries "^1.1.5" -eslint-config-prettier@6.15.0: - version "6.15.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz#7f93f6cb7d45a92f1537a70ecc06366e1ac6fed9" - integrity sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw== - dependencies: - get-stdin "^6.0.0" +eslint-config-prettier@8.5.0, eslint-config-prettier@^8.5.0: + version "8.5.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" + integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== eslint-import-resolver-node@^0.3.6: version "0.3.6" @@ -10596,7 +10733,7 @@ eslint-plugin-es@^3.0.0: eslint-utils "^2.0.0" regexpp "^3.0.0" -eslint-plugin-import@2.26.0: +eslint-plugin-import@2.26.0, eslint-plugin-import@^2.25.4: version "2.26.0" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b" integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== @@ -10630,7 +10767,7 @@ eslint-plugin-jsdoc@36.1.1: semver "^7.3.5" spdx-expression-parse "^3.0.1" -eslint-plugin-jsx-a11y@6.6.1: +eslint-plugin-jsx-a11y@6.6.1, eslint-plugin-jsx-a11y@^6.5.1: version "6.6.1" resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz#93736fc91b83fdc38cc8d115deedfc3091aef1ff" integrity sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q== @@ -10649,7 +10786,7 @@ eslint-plugin-jsx-a11y@6.6.1: minimatch "^3.1.2" semver "^6.3.0" -eslint-plugin-node@11.1.0: +eslint-plugin-node@11.1.0, eslint-plugin-node@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== @@ -10661,12 +10798,19 @@ eslint-plugin-node@11.1.0: resolve "^1.10.1" semver "^6.1.0" -eslint-plugin-react-hooks@4.6.0: +eslint-plugin-prettier@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz#651cbb88b1dab98bfd42f017a12fa6b2d993f94b" + integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== + dependencies: + prettier-linter-helpers "^1.0.0" + +eslint-plugin-react-hooks@4.6.0, eslint-plugin-react-hooks@^4.3.0: version "4.6.0" resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== -eslint-plugin-react@7.30.1: +eslint-plugin-react@7.30.1, eslint-plugin-react@^7.29.3: version "7.30.1" resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.30.1.tgz#2be4ab23ce09b5949c6631413ba64b2810fd3e22" integrity sha512-NbEvI9jtqO46yJA3wcRF9Mo0lF9T/jhdHqhCHXiXtD+Zcb98812wvokjWpU7Q4QH5edo6dmqrukxVvWWXHlsUg== @@ -10691,6 +10835,14 @@ eslint-plugin-redux-saga@1.3.2: resolved "https://registry.yarnpkg.com/eslint-plugin-redux-saga/-/eslint-plugin-redux-saga-1.3.2.tgz#e9b386c4c9a3cd87b029a3f71ff8f791d53531d3" integrity sha512-cqkzrmXhp9DEPnjqSb1dL89+0FQPydnLNsEb6MDie2tQWkYZqxq/OjUpOpT6IWJ9+weG4i/MBfbLFpP6zW+g4g== +eslint-scope@3.7.1: + version "3.7.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" + integrity sha512-ivpbtpUgg9SJS4TLjK7KdcDhqc/E3CGItsvQbBNLkNGUeMhd5qnJcryba/brESS+dg3vrLqPuc/UcS7jRJdN5A== + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + eslint-scope@5.1.1, eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" @@ -10707,14 +10859,29 @@ eslint-scope@^4.0.3: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-utils@^2.0.0, eslint-utils@^2.1.0: +eslint-scope@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" + integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-utils@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== dependencies: eslint-visitor-keys "^1.1.0" -eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== @@ -10724,49 +10891,53 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint@7.32.0: - version "7.32.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" - integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== +eslint-visitor-keys@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" + integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== + +eslint@8.21.0, eslint@^8.10.0: + version "8.21.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.21.0.tgz#1940a68d7e0573cef6f50037addee295ff9be9ef" + integrity sha512-/XJ1+Qurf1T9G2M5IHrsjp+xrGT73RZf23xA1z5wB1ZzzEAWSZKvRwhWxTFp1rvkvCfwcvAUNAP31bhKTTGfDA== dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.3" - "@humanwhocodes/config-array" "^0.5.0" + "@eslint/eslintrc" "^1.3.0" + "@humanwhocodes/config-array" "^0.10.4" + "@humanwhocodes/gitignore-to-minimatch" "^1.0.2" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" - debug "^4.0.1" + debug "^4.3.2" doctrine "^3.0.0" - enquirer "^2.3.5" escape-string-regexp "^4.0.0" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" + eslint-scope "^7.1.1" + eslint-utils "^3.0.0" + eslint-visitor-keys "^3.3.0" + espree "^9.3.3" esquery "^1.4.0" esutils "^2.0.2" fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" + find-up "^5.0.0" functional-red-black-tree "^1.0.1" - glob-parent "^5.1.2" - globals "^13.6.0" - ignore "^4.0.6" + glob-parent "^6.0.1" + globals "^13.15.0" + globby "^11.1.0" + grapheme-splitter "^1.0.4" + ignore "^5.2.0" import-fresh "^3.0.0" imurmurhash "^0.1.4" is-glob "^4.0.0" - js-yaml "^3.13.1" + js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" lodash.merge "^4.6.2" - minimatch "^3.0.4" + minimatch "^3.1.2" natural-compare "^1.4.0" optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" + regexpp "^3.2.0" + strip-ansi "^6.0.1" strip-json-comments "^3.1.0" - table "^6.0.9" text-table "^0.2.0" v8-compile-cache "^2.0.3" @@ -10775,14 +10946,14 @@ esm@^3.2.25: resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== -espree@^7.3.0, espree@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" - integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== +espree@^9.3.2, espree@^9.3.3: + version "9.3.3" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.3.tgz#2dd37c4162bb05f433ad3c1a52ddf8a49dc08e9d" + integrity sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng== dependencies: - acorn "^7.4.0" - acorn-jsx "^5.3.1" - eslint-visitor-keys "^1.3.0" + acorn "^8.8.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.3.0" esprima@2.7.x, esprima@^2.7.1: version "2.7.3" @@ -11067,6 +11238,11 @@ fast-deep-equal@3.1.3, fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== +fast-diff@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" + integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== + fast-glob@3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" @@ -11804,11 +11980,6 @@ get-stdin@^4.0.1: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" integrity sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw== -get-stdin@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" - integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== - get-stdin@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6" @@ -11949,6 +12120,13 @@ glob-parent@^5.1.1, glob-parent@^5.1.2, glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" +glob-parent@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + glob-promise@^3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/glob-promise/-/glob-promise-3.4.0.tgz#b6b8f084504216f702dc2ce8c9bc9ac8866fdb20" @@ -12073,7 +12251,7 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^13.6.0, globals@^13.9.0: +globals@^13.15.0: version "13.17.0" resolved "https://registry.yarnpkg.com/globals/-/globals-13.17.0.tgz#902eb1e680a41da93945adbdcb5a9f361ba69bd4" integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw== @@ -12101,7 +12279,7 @@ globby@^10.0.1: merge2 "^1.2.3" slash "^3.0.0" -globby@^11.0.2, globby@^11.0.3: +globby@^11.0.2, globby@^11.0.3, globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== @@ -12182,6 +12360,11 @@ grant@^5.4.8: jwk-to-pem "^2.0.5" jws "^4.0.0" +grapheme-splitter@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" + integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== + graphql-depth-limit@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/graphql-depth-limit/-/graphql-depth-limit-1.1.0.tgz#59fe6b2acea0ab30ee7344f4c75df39cc18244e8" @@ -12917,7 +13100,7 @@ ignore-walk@^5.0.1: dependencies: minimatch "^5.0.1" -ignore@^4.0.3, ignore@^4.0.6: +ignore@^4.0.3: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== @@ -14371,7 +14554,7 @@ js-yaml@3.x, js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@4.1.0: +js-yaml@4.1.0, js-yaml@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== @@ -16951,7 +17134,7 @@ object.defaults@^1.1.0: for-own "^1.0.0" isobject "^3.0.0" -object.entries@^1.1.0, object.entries@^1.1.2, object.entries@^1.1.5: +object.entries@^1.1.0, object.entries@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== @@ -18153,6 +18336,13 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + prettier@1.19.1: version "1.19.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" @@ -18253,11 +18443,6 @@ process@^0.11.10: resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - promise-all-reject-late@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz#f8ebf13483e5ca91ad809ccc2fcf25f26f8643c2" @@ -19216,7 +19401,7 @@ regexp.prototype.flags@^1.4.1, regexp.prototype.flags@^1.4.3: define-properties "^1.1.3" functions-have-names "^1.2.2" -regexpp@^3.0.0, regexpp@^3.1.0: +regexpp@^3.0.0, regexpp@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== @@ -19874,7 +20059,7 @@ semver@7.3.4: dependencies: lru-cache "^6.0.0" -semver@7.3.7, semver@^7.0.0, semver@^7.1.1, semver@^7.1.3, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7: +semver@7.3.7, semver@^7.0.0, semver@^7.1.1, semver@^7.1.3, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7: version "7.3.7" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== @@ -21071,7 +21256,7 @@ synchronous-promise@^2.0.15: resolved "https://registry.yarnpkg.com/synchronous-promise/-/synchronous-promise-2.0.15.tgz#07ca1822b9de0001f5ff73595f3d08c4f720eb8e" integrity sha512-k8uzYIkIVwmT+TcglpdN50pS2y1BDcUnBPK9iJeGu0Pl1lOI8pD6wtzgw91Pjpe+RxtTncw32tLxs/R0yNL2Mg== -table@^6.0.9, table@^6.6.0: +table@^6.6.0: version "6.8.0" resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca" integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA== @@ -21521,7 +21706,7 @@ tsconfig-paths@^3.14.1, tsconfig-paths@^3.9.0: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@^1.10.0, tslib@^1.9.0, tslib@^1.9.3: +tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== @@ -21541,6 +21726,13 @@ tsscmp@1.0.6: resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb" integrity sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA== +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + tty-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" From 75d83a0c344585c5d819848efe7694d523926e72 Mon Sep 17 00:00:00 2001 From: Alexandre Bodin Date: Mon, 8 Aug 2022 15:42:42 +0200 Subject: [PATCH 47/64] Update eslint back --- .eslintrc.back.js | 36 +----------------------------------- 1 file changed, 1 insertion(+), 35 deletions(-) diff --git a/.eslintrc.back.js b/.eslintrc.back.js index b19daeefa7..f75e9cfbe3 100644 --- a/.eslintrc.back.js +++ b/.eslintrc.back.js @@ -1,51 +1,17 @@ 'use strict'; module.exports = { - extends: [ - '@strapi/eslint-config/back', - // 'plugin:jsdoc/recommended', - ], - plugins: ['jsdoc'], - env: { - es6: true, - node: true, - jest: true, - }, + extends: '@strapi/eslint-config/back', globals: { strapi: false, }, rules: { - // 'jsdoc/require-jsdoc': [ - // 'warn', - // { - // publicOnly: true, - // require: { - // ArrowFunctionExpression: true, - // ClassDeclaration: true, - // ClassExpression: true, - // FunctionDeclaration: true, - // FunctionExpression: true, - // MethodDefinition: true, - // }, - // }, - // ], 'node/no-unpublished-require': 'off', - 'require-atomic-updates': 'off', 'no-process-exit': 'off', - strict: ['error', 'global'], - 'no-return-await': 'error', - 'object-shorthand': ['error', 'always', { avoidExplicitReturnArrows: true }], - 'import/order': 'error', - 'import/no-cycle': 'error', - 'import/no-useless-path-segments': 'error', - 'import/first': 'error', - 'import/extensions': ['error', 'never'], - 'import/newline-after-import': 'error', 'node/exports-style': ['error', 'module.exports'], 'node/no-new-require': 'error', 'node/no-path-concat': 'error', 'node/no-callback-literal': 'error', 'node/handle-callback-err': 'error', - 'one-var': ['error', 'never'], }, }; From 0ae14c06cb0984b2a89ff00ecb8d8b2ed7a167a4 Mon Sep 17 00:00:00 2001 From: Alexandre Bodin Date: Mon, 8 Aug 2022 15:50:34 +0200 Subject: [PATCH 48/64] 1st fix pass --- packages/cli/create-strapi-app/index.js | 1 + packages/cli/create-strapi-starter/index.js | 1 + .../utils/child-process.js | 9 +- .../utils/stop-process.js | 1 + .../core/admin/ee/server/controllers/role.js | 2 +- .../action/__tests__/action-domain.test.js | 2 +- .../action/__tests__/action-provider.test.js | 2 +- .../__tests__/condition-domain.test.js | 2 +- .../__tests__/condition-provider.test.js | 2 +- .../admin/server/domain/condition/provider.js | 2 +- .../__tests__/permission-domain.test.js | 2 +- .../admin/server/routes/serve-admin-panel.js | 2 +- packages/core/admin/server/services/role.js | 4 +- .../admin/server/tests/admin-auth.test.e2e.js | 2 +- .../server/tests/admin-permission.test.e2e.js | 2 +- .../admin-permissions-conditions.test.e2e.js | 2 +- .../admin/server/tests/admin-role.test.e2e.js | 6 +- .../admin/server/tests/admin-user.test.e2e.js | 2 +- .../check-fields-are-correctly-nested.js | 3 +- .../check-fields-dont-have-duplicates.js | 3 +- packages/core/admin/webpack.config.dev.js | 2 +- packages/core/admin/webpack.config.js | 2 +- .../services/utils/configuration/layouts.js | 12 +-- .../services/utils/configuration/metadatas.js | 2 +- .../api/basic-compo-repeatable.test.e2e.js | 2 +- .../server/tests/api/basic-compo.test.e2e.js | 2 +- .../api/basic-dp-compo-repeatable.test.e2e.js | 2 +- .../tests/api/basic-dp-compo.test.e2e.js | 2 +- .../server/tests/api/basic-dp-dz.test.e2e.js | 2 +- .../server/tests/api/basic-dp.test.e2e.js | 10 +-- .../server/tests/api/basic-dz.test.e2e.js | 2 +- .../tests/api/basic-relations.test.e2e.js | 2 +- .../server/tests/api/basic.test.e2e.js | 2 +- .../server/tests/api/populate-dz.test.e2e.js | 2 +- .../api/x-to-many-rf-preview.test.e2e.js | 2 +- .../tests/content-manager/uid.test.e2e.js | 2 +- .../server/tests/fields/boolean.test.e2e.js | 2 +- .../server/tests/index.test.e2e.js | 84 ++++++++----------- .../server/tests/relation-list.test.e2e.js | 2 +- .../server/tests/search.test.e2e.js | 2 +- .../server/tests/single-type.test.e2e.js | 2 +- .../server/controllers/validation/common.js | 10 +-- .../services/schema-builder/schema-handler.js | 4 +- .../server/utils/attributes.js | 6 +- .../tests/collection-type.test.e2e.js | 1 + .../tests/single-type.test.e2e.js | 1 + .../database/lib/__tests__/lifecycles.test.js | 2 +- packages/core/database/lib/connection.js | 1 + .../core/database/lib/dialects/dialect.js | 2 + .../core/database/lib/dialects/mysql/index.js | 4 +- packages/core/database/lib/entity-manager.js | 2 +- packages/core/database/lib/fields.js | 10 +-- .../core/database/lib/metadata/relations.js | 14 ++-- .../core/database/lib/query/helpers/join.js | 4 +- packages/core/database/lib/schema/diff.js | 2 +- packages/core/database/lib/schema/index.js | 1 - .../core/email/server/controllers/email.js | 2 +- packages/core/strapi/bin/strapi.js | 7 +- .../__tests__/generate-template.test.js | 1 + packages/core/strapi/lib/commands/build.js | 2 +- packages/core/strapi/lib/commands/develop.js | 3 +- packages/core/strapi/lib/commands/install.js | 4 +- .../strapi/lib/commands/opt-in-telemetry.js | 19 ++--- .../strapi/lib/commands/opt-out-telemetry.js | 2 +- packages/core/strapi/lib/commands/start.js | 1 + .../core/strapi/lib/commands/uninstall.js | 6 +- .../lib/core-api/__tests__/controller.test.js | 1 + .../lib/core/domain/content-type/index.js | 2 +- .../lib/core/domain/module/validation.js | 3 +- .../loaders/plugins/get-enabled-plugins.js | 2 +- .../strapi/lib/core/loaders/plugins/index.js | 9 +- .../core/strapi/lib/core/registries/config.js | 2 +- packages/core/strapi/lib/core/utils.js | 9 +- packages/core/strapi/lib/factories.js | 4 +- .../strapi/lib/load/filepath-to-prop-path.js | 2 +- packages/core/strapi/lib/load/load-files.js | 2 +- .../core/strapi/lib/middlewares/logger.js | 1 + .../strapi/lib/middlewares/response-time.js | 2 +- .../core/strapi/lib/middlewares/responses.js | 2 +- .../core/strapi/lib/middlewares/session.js | 4 +- .../core/strapi/lib/services/auth/index.js | 2 - .../__tests__/entity-service.test.js | 2 +- .../lib/services/entity-service/components.js | 4 +- .../lib/services/entity-service/index.js | 2 +- .../lib/services/entity-validator/index.js | 1 + .../services/entity-validator/validators.js | 2 +- .../core/strapi/lib/services/event-hub.js | 1 + .../core/strapi/lib/services/metrics/index.js | 1 + .../core/strapi/lib/services/server/koa.js | 2 +- .../services/server/register-middlewares.js | 2 - .../strapi/lib/services/utils/upload-files.js | 2 +- .../strapi/lib/services/webhook-runner.js | 1 + .../core/strapi/lib/services/webhook-store.js | 1 + .../core/strapi/lib/services/worker-queue.js | 1 + packages/core/strapi/lib/utils/addSlash.js | 4 +- .../core/strapi/lib/utils/open-browser.js | 2 +- packages/core/strapi/lib/utils/run-checks.js | 4 +- .../core/strapi/lib/utils/startup-logger.js | 2 +- packages/core/strapi/lib/utils/success.js | 2 +- .../api/basic-compo-repeatable.test.e2e.js | 2 +- .../strapi/tests/api/basic-compo.test.e2e.js | 2 +- .../api/basic-dp-compo-repeatable.test.e2e.js | 2 +- .../tests/api/basic-dp-compo.test.e2e.js | 2 +- .../strapi/tests/api/basic-dp.test.e2e.js | 2 +- .../core/strapi/tests/api/basic.test.e2e.js | 2 +- .../core/strapi/tests/endpoint.test.e2e.js | 26 ++---- .../core/strapi/tests/filtering.test.e2e.js | 2 +- .../lifecycles/before-delete.test.e2e.js | 2 +- .../migration-draft-publish.test.e2e.js | 8 +- .../migration-required-attribute.test.e2e.js | 4 +- .../migration-unique-attribute.test.e2e.js | 4 +- packages/core/strapi/tests/search.test.e2e.js | 2 +- .../core/strapi/tests/single-type.test.e2e.js | 4 +- .../server/controllers/admin-folder-file.js | 2 +- packages/core/upload/server/graphql.js | 10 +-- .../server/services/__tests__/folder.test.js | 2 +- .../server/services/__tests__/metrics.js | 2 +- .../__tests__/upload/uploadImage.test.js | 4 +- .../core/upload/server/services/folder.js | 4 +- .../server/services/image-manipulation.js | 3 +- .../core/upload/server/services/metrics.js | 2 +- packages/core/upload/server/utils/file.js | 1 + .../tests/admin/file-folder.test.e2e.js | 2 +- .../tests/admin/folder-file.test.e2e.js | 2 +- .../tests/admin/folder-structure.test.e2e.js | 2 +- .../upload/tests/admin/folder.test.e2e.js | 4 +- packages/core/utils/lib/build-query.js | 5 +- packages/core/utils/lib/config.js | 4 +- .../core/utils/lib/convert-query-params.js | 10 +-- packages/core/utils/lib/parse-type.js | 2 +- packages/core/utils/lib/policy.js | 1 + packages/core/utils/lib/print-value.js | 16 ++-- .../sanitize/visitors/restricted-fields.js | 1 - packages/core/utils/lib/string-formatting.js | 1 + packages/core/utils/lib/validators.js | 9 +- packages/generators/admin/plopfile.js | 10 +-- .../app/lib/create-cli-db-project.js | 2 +- .../app/lib/create-customized-project.js | 5 +- packages/generators/app/lib/index.js | 2 +- .../lib/resources/json/common/package.json.js | 9 +- .../app/lib/utils/check-requirements.js | 6 +- packages/generators/app/lib/utils/usage.js | 14 ++-- .../plops/prompts/get-destination-prompts.js | 1 + .../__tests__/build-component-schema.test.js | 16 ++-- .../plugins/documentation/server/bootstrap.js | 1 + .../documentation/server/routes/index.js | 1 + .../helpers/build-api-endpoint-path.js | 2 +- .../helpers/build-component-schema.js | 1 + .../helpers/utils/loop-content-type-names.js | 1 + .../server/services/builders/entity-meta.js | 2 +- .../builders/resolvers/association.js | 2 +- .../graphql/server/services/builders/type.js | 4 +- .../graphql/server/services/builders/utils.js | 4 +- .../server/services/internals/scalars/time.js | 2 +- .../plugins/graphql/tests/crud.test.e2e.js | 4 +- .../graphql/tests/relations.test.e2e.js | 6 +- .../server/constants/__tests__/index.test.js | 2 +- .../i18n/server/controllers/content-types.js | 2 +- .../i18n/server/controllers/locales.js | 2 +- packages/plugins/i18n/server/graphql.js | 2 +- .../migrations/field/migrate-for-bookshelf.js | 2 +- .../services/__tests__/core-api.test.js | 1 + .../entity-service-decorator.test.js | 2 +- .../server/services/__tests__/metrics.test.js | 2 +- .../i18n/server/services/content-types.js | 2 +- .../plugins/i18n/server/services/locales.js | 5 +- .../content-manager/list-relation.test.e2e.js | 2 +- .../plugins/i18n/tests/locales.test.e2e.js | 20 ++--- .../sentry/server/services/sentry/index.js | 1 + .../server/controllers/auth.js | 2 +- .../server/controllers/settings.js | 2 +- .../server/controllers/user.js | 2 +- .../controllers/validation/email-template.js | 2 +- .../server/middlewares/rateLimit.js | 21 ++--- .../users-permissions/server/register.js | 1 + .../server/services/providers-registry.js | 4 +- .../users-permissions/server/services/user.js | 2 +- .../server/strategies/users-permissions.js | 2 +- .../tests/admin/roles-api.test.e2e.js | 8 +- .../providers/email-amazon-ses/lib/index.js | 4 +- packages/providers/email-mailgun/lib/index.js | 2 +- .../providers/email-sendgrid/lib/index.js | 2 +- .../providers/email-sendmail/lib/index.js | 2 +- .../utils/logger/lib/formats/log-errors.js | 4 +- .../lib/generators/schemas/utils.js | 4 +- .../typescript/lib/utils/resolve-outdir.js | 1 + .../add-missing-keys-to-other-language.js | 1 + .../merge-duplicated-translations/index.js | 3 +- scripts/front/utils/translation-files.js | 2 +- test/helpers/builder/index.js | 2 +- test/helpers/strapi.js | 4 +- 191 files changed, 372 insertions(+), 386 deletions(-) diff --git a/packages/cli/create-strapi-app/index.js b/packages/cli/create-strapi-app/index.js index ef3a3ce78e..7f34f0f3f2 100755 --- a/packages/cli/create-strapi-app/index.js +++ b/packages/cli/create-strapi-app/index.js @@ -1,4 +1,5 @@ #!/usr/bin/env node + 'use strict'; require('./create-strapi-app'); diff --git a/packages/cli/create-strapi-starter/index.js b/packages/cli/create-strapi-starter/index.js index 01bfe1deee..3f4347847e 100755 --- a/packages/cli/create-strapi-starter/index.js +++ b/packages/cli/create-strapi-starter/index.js @@ -1,4 +1,5 @@ #!/usr/bin/env node + 'use strict'; require('./create-strapi-starter'); diff --git a/packages/cli/create-strapi-starter/utils/child-process.js b/packages/cli/create-strapi-starter/utils/child-process.js index 9ba241e5df..bc532bbd5e 100644 --- a/packages/cli/create-strapi-starter/utils/child-process.js +++ b/packages/cli/create-strapi-starter/utils/child-process.js @@ -27,12 +27,11 @@ function runApp(rootPath, { useYarn } = {}) { stdio: 'inherit', cwd: rootPath, }); - } else { - return execa('npm', ['run', 'develop'], { - stdio: 'inherit', - cwd: rootPath, - }); } + return execa('npm', ['run', 'develop'], { + stdio: 'inherit', + cwd: rootPath, + }); } async function initGit(rootPath) { diff --git a/packages/cli/create-strapi-starter/utils/stop-process.js b/packages/cli/create-strapi-starter/utils/stop-process.js index af8137f61b..e2f3360057 100644 --- a/packages/cli/create-strapi-starter/utils/stop-process.js +++ b/packages/cli/create-strapi-starter/utils/stop-process.js @@ -1,4 +1,5 @@ 'use strict'; + const logger = require('./logger'); module.exports = function stopProcess(message) { diff --git a/packages/core/admin/ee/server/controllers/role.js b/packages/core/admin/ee/server/controllers/role.js index 788a3a2abc..5c98e20fa4 100644 --- a/packages/core/admin/ee/server/controllers/role.js +++ b/packages/core/admin/ee/server/controllers/role.js @@ -6,7 +6,7 @@ const { validateRoleDeleteInput, validateRolesDeleteInput, } = require('../validation/role'); -const { getService } = require('../../../server//utils'); +const { getService } = require('../../../server/utils'); const { validatedUpdatePermissionsInput } = require('../validation/permission'); const { SUPER_ADMIN_CODE } = require('../../../server/services/constants'); diff --git a/packages/core/admin/server/domain/action/__tests__/action-domain.test.js b/packages/core/admin/server/domain/action/__tests__/action-domain.test.js index c2f7297798..90668b17b3 100644 --- a/packages/core/admin/server/domain/action/__tests__/action-domain.test.js +++ b/packages/core/admin/server/domain/action/__tests__/action-domain.test.js @@ -1,6 +1,6 @@ 'use strict'; -const domain = require('../'); +const domain = require('..'); describe('Action Domain', () => { describe('appliesToProperty', () => { diff --git a/packages/core/admin/server/domain/action/__tests__/action-provider.test.js b/packages/core/admin/server/domain/action/__tests__/action-provider.test.js index a8aee66c22..aa9d140e56 100644 --- a/packages/core/admin/server/domain/action/__tests__/action-provider.test.js +++ b/packages/core/admin/server/domain/action/__tests__/action-provider.test.js @@ -2,7 +2,7 @@ const { omit } = require('lodash/fp'); const createActionProvider = require('../provider'); -const domain = require('../'); +const domain = require('..'); const providerMethods = [ 'register', diff --git a/packages/core/admin/server/domain/condition/__tests__/condition-domain.test.js b/packages/core/admin/server/domain/condition/__tests__/condition-domain.test.js index 29b328cf4d..080a1126a3 100644 --- a/packages/core/admin/server/domain/condition/__tests__/condition-domain.test.js +++ b/packages/core/admin/server/domain/condition/__tests__/condition-domain.test.js @@ -1,6 +1,6 @@ 'use strict'; -const domain = require('../'); +const domain = require('..'); describe('Condition Domain', () => { describe('assignConditionId', () => { diff --git a/packages/core/admin/server/domain/condition/__tests__/condition-provider.test.js b/packages/core/admin/server/domain/condition/__tests__/condition-provider.test.js index 7a7c74b9c4..3294ed47ac 100644 --- a/packages/core/admin/server/domain/condition/__tests__/condition-provider.test.js +++ b/packages/core/admin/server/domain/condition/__tests__/condition-provider.test.js @@ -2,7 +2,7 @@ const { omit } = require('lodash/fp'); const createConditionProvider = require('../provider'); -const domain = require('../'); +const domain = require('..'); const providerMethods = [ 'register', diff --git a/packages/core/admin/server/domain/condition/provider.js b/packages/core/admin/server/domain/condition/provider.js index ea5f1f8220..5275071cf9 100644 --- a/packages/core/admin/server/domain/condition/provider.js +++ b/packages/core/admin/server/domain/condition/provider.js @@ -1,7 +1,7 @@ 'use strict'; const { providerFactory } = require('@strapi/utils'); -const domain = require('./'); +const domain = require('.'); /** * @typedef ConditionProviderOverride diff --git a/packages/core/admin/server/domain/permission/__tests__/permission-domain.test.js b/packages/core/admin/server/domain/permission/__tests__/permission-domain.test.js index 0ad6548285..88c52001a2 100644 --- a/packages/core/admin/server/domain/permission/__tests__/permission-domain.test.js +++ b/packages/core/admin/server/domain/permission/__tests__/permission-domain.test.js @@ -1,6 +1,6 @@ 'use strict'; -const domain = require('../'); +const domain = require('..'); describe('Permission Domain', () => { describe('addCondition', () => { diff --git a/packages/core/admin/server/routes/serve-admin-panel.js b/packages/core/admin/server/routes/serve-admin-panel.js index 1b225b36a4..3111f5760f 100644 --- a/packages/core/admin/server/routes/serve-admin-panel.js +++ b/packages/core/admin/server/routes/serve-admin-panel.js @@ -23,7 +23,7 @@ const registerAdminPanelRoute = ({ strapi }) => { } ctx.type = 'html'; - ctx.body = fse.createReadStream(join(buildDir + '/index.html')); + ctx.body = fse.createReadStream(join(`${buildDir}/index.html`)); }; strapi.server.routes([ diff --git a/packages/core/admin/server/services/role.js b/packages/core/admin/server/services/role.js index 6059f5b78d..a8012a6ae4 100644 --- a/packages/core/admin/server/services/role.js +++ b/packages/core/admin/server/services/role.js @@ -109,7 +109,7 @@ const find = (params = {}, populate) => { */ const findAllWithUsersCount = async populate => { const roles = await strapi.query('admin::role').findMany({ populate }); - for (let role of roles) { + for (const role of roles) { role.usersCount = await getUsersCount(role.id); } @@ -171,7 +171,7 @@ const checkRolesIdForDeletion = async (ids = []) => { throw new ApplicationError('You cannot delete the super admin role'); } - for (let roleId of ids) { + for (const roleId of ids) { const usersCount = await getUsersCount(roleId); if (usersCount !== 0) { throw new ApplicationError('Some roles are still assigned to some users'); diff --git a/packages/core/admin/server/tests/admin-auth.test.e2e.js b/packages/core/admin/server/tests/admin-auth.test.e2e.js index 0fdc5ffdd7..4678e48af3 100644 --- a/packages/core/admin/server/tests/admin-auth.test.e2e.js +++ b/packages/core/admin/server/tests/admin-auth.test.e2e.js @@ -7,7 +7,7 @@ const { createUtils } = require('../../../../../test/helpers/utils'); const edition = process.env.STRAPI_DISABLE_EE === 'true' ? 'CE' : 'EE'; -let internals = { +const internals = { role: null, }; diff --git a/packages/core/admin/server/tests/admin-permission.test.e2e.js b/packages/core/admin/server/tests/admin-permission.test.e2e.js index b4fe3bd85a..e9ca0933b6 100644 --- a/packages/core/admin/server/tests/admin-permission.test.e2e.js +++ b/packages/core/admin/server/tests/admin-permission.test.e2e.js @@ -21,7 +21,7 @@ describe('Role CRUD End to End', () => { }); test('Can get the existing permissions', async () => { - let res = await rq({ + const res = await rq({ url: '/admin/permissions', method: 'GET', }); diff --git a/packages/core/admin/server/tests/admin-permissions-conditions.test.e2e.js b/packages/core/admin/server/tests/admin-permissions-conditions.test.e2e.js index f0280381eb..8b51078449 100644 --- a/packages/core/admin/server/tests/admin-permissions-conditions.test.e2e.js +++ b/packages/core/admin/server/tests/admin-permissions-conditions.test.e2e.js @@ -13,7 +13,7 @@ if (edition === 'EE') { let strapi; let utils; const builder = createTestBuilder(); - let requests = { + const requests = { public: null, admin: null, }; diff --git a/packages/core/admin/server/tests/admin-role.test.e2e.js b/packages/core/admin/server/tests/admin-role.test.e2e.js index b2ffb6e4d2..178666064d 100644 --- a/packages/core/admin/server/tests/admin-role.test.e2e.js +++ b/packages/core/admin/server/tests/admin-role.test.e2e.js @@ -255,7 +255,7 @@ describe('Role CRUD End to End', () => { ]; test.each(rolesToCreate)('can create %p', async role => { - let res = await rq({ + const res = await rq({ url: '/admin/roles', method: 'POST', body: role, @@ -465,7 +465,7 @@ describe('Role CRUD End to End', () => { }, }); - for (let role of roles) { + for (const role of roles) { res = await rq({ url: `/admin/roles/${role.id}`, method: 'GET', @@ -506,7 +506,7 @@ describe('Role CRUD End to End', () => { expect(res.statusCode).toBe(200); expect(res.body.data).toMatchObject(roles); - for (let roleId of rolesIds) { + for (const roleId of rolesIds) { res = await rq({ url: `/admin/roles/${roleId}`, method: 'GET', diff --git a/packages/core/admin/server/tests/admin-user.test.e2e.js b/packages/core/admin/server/tests/admin-user.test.e2e.js index f1d037b902..bc7e0fc17a 100644 --- a/packages/core/admin/server/tests/admin-user.test.e2e.js +++ b/packages/core/admin/server/tests/admin-user.test.e2e.js @@ -39,7 +39,7 @@ describe('Admin User CRUD (e2e)', () => { let strapi; // Local test data used across the test suite - let testData = { + const testData = { firstSuperAdminUser: undefined, otherSuperAdminUsers: [], user: undefined, diff --git a/packages/core/admin/server/validation/common-functions/check-fields-are-correctly-nested.js b/packages/core/admin/server/validation/common-functions/check-fields-are-correctly-nested.js index 06af084932..fbb61501df 100644 --- a/packages/core/admin/server/validation/common-functions/check-fields-are-correctly-nested.js +++ b/packages/core/admin/server/validation/common-functions/check-fields-are-correctly-nested.js @@ -6,7 +6,8 @@ const checkFieldsAreCorrectlyNested = fields => { if (_.isNil(fields)) { // Only check if the fields exist return true; - } else if (!Array.isArray(fields)) { + } + if (!Array.isArray(fields)) { return false; } diff --git a/packages/core/admin/server/validation/common-functions/check-fields-dont-have-duplicates.js b/packages/core/admin/server/validation/common-functions/check-fields-dont-have-duplicates.js index 8c4a252814..cce295e815 100644 --- a/packages/core/admin/server/validation/common-functions/check-fields-dont-have-duplicates.js +++ b/packages/core/admin/server/validation/common-functions/check-fields-dont-have-duplicates.js @@ -6,7 +6,8 @@ const checkFieldsDontHaveDuplicates = fields => { if (_.isNil(fields)) { // Only check if the fields exist return true; - } else if (!Array.isArray(fields)) { + } + if (!Array.isArray(fields)) { return false; } diff --git a/packages/core/admin/webpack.config.dev.js b/packages/core/admin/webpack.config.dev.js index 02581169d0..74a7b1dc3f 100644 --- a/packages/core/admin/webpack.config.dev.js +++ b/packages/core/admin/webpack.config.dev.js @@ -1,7 +1,7 @@ 'use strict'; const path = require('path'); -const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; +const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer'); const { DuplicateReporterPlugin } = require('duplicate-dependencies-webpack-plugin'); const getPluginsPath = require('./utils/get-plugins-path'); const webpackConfig = require('./webpack.config'); diff --git a/packages/core/admin/webpack.config.js b/packages/core/admin/webpack.config.js index 96cdabf5d8..e105adc651 100644 --- a/packages/core/admin/webpack.config.js +++ b/packages/core/admin/webpack.config.js @@ -56,7 +56,7 @@ module.exports = ({ return { mode: isProduction ? 'production' : 'development', - bail: isProduction ? true : false, + bail: !!isProduction, devtool: isProduction ? false : 'eval-source-map', experiments: { topLevelAwait: true, diff --git a/packages/core/content-manager/server/services/utils/configuration/layouts.js b/packages/core/content-manager/server/services/utils/configuration/layouts.js index 27188370a4..4628ccafe9 100644 --- a/packages/core/content-manager/server/services/utils/configuration/layouts.js +++ b/packages/core/content-manager/server/services/utils/configuration/layouts.js @@ -79,12 +79,12 @@ function syncLayouts(configuration, schema) { let cleanEditRelations = editRelations.filter(attr => hasRelationAttribute(schema, attr)); - let elementsToReAppend = []; + const elementsToReAppend = []; let cleanEdit = []; - for (let row of edit) { - let newRow = []; + for (const row of edit) { + const newRow = []; - for (let el of row) { + for (const el of row) { if (!hasEditableAttribute(schema, el.name)) continue; /* if the type of a field was changed (ex: string -> json) or a new field was added in the schema @@ -153,11 +153,11 @@ const appendToEditLayout = (layout = [], keysToAppend, schema) => { layout[currentRowIndex] = []; } - for (let key of keysToAppend) { + for (const key of keysToAppend) { const attribute = schema.attributes[key]; const attributeSize = getDefaultFieldSize(attribute.type); - let currenRowSize = rowSize(layout[currentRowIndex]); + const currenRowSize = rowSize(layout[currentRowIndex]); if (currenRowSize + attributeSize > MAX_ROW_SIZE) { currentRowIndex += 1; diff --git a/packages/core/content-manager/server/services/utils/configuration/metadatas.js b/packages/core/content-manager/server/services/utils/configuration/metadatas.js index 03227d73fa..efeeabc4b7 100644 --- a/packages/core/content-manager/server/services/utils/configuration/metadatas.js +++ b/packages/core/content-manager/server/services/utils/configuration/metadatas.js @@ -91,7 +91,7 @@ async function syncMetadatas(configuration, schema) { const { edit, list } = metasWithDefaults[key]; const attr = schema.attributes[key]; - let updatedMeta = { edit, list }; + const updatedMeta = { edit, list }; // update sortable attr if (list.sortable && !isSortable(schema, key)) { _.set(updatedMeta, ['list', 'sortable'], false); diff --git a/packages/core/content-manager/server/tests/api/basic-compo-repeatable.test.e2e.js b/packages/core/content-manager/server/tests/api/basic-compo-repeatable.test.e2e.js index 04073f729c..456c7915ba 100644 --- a/packages/core/content-manager/server/tests/api/basic-compo-repeatable.test.e2e.js +++ b/packages/core/content-manager/server/tests/api/basic-compo-repeatable.test.e2e.js @@ -7,7 +7,7 @@ const { createAuthRequest } = require('../../../../../../test/helpers/request'); const builder = createTestBuilder(); let strapi; let rq; -let data = { +const data = { productsWithCompo: [], }; diff --git a/packages/core/content-manager/server/tests/api/basic-compo.test.e2e.js b/packages/core/content-manager/server/tests/api/basic-compo.test.e2e.js index 139756d0ea..3af2222038 100644 --- a/packages/core/content-manager/server/tests/api/basic-compo.test.e2e.js +++ b/packages/core/content-manager/server/tests/api/basic-compo.test.e2e.js @@ -7,7 +7,7 @@ const { createAuthRequest } = require('../../../../../../test/helpers/request'); const builder = createTestBuilder(); let strapi; let rq; -let data = { +const data = { productsWithCompo: [], }; diff --git a/packages/core/content-manager/server/tests/api/basic-dp-compo-repeatable.test.e2e.js b/packages/core/content-manager/server/tests/api/basic-dp-compo-repeatable.test.e2e.js index 0f81ce5aab..1429a43d4d 100644 --- a/packages/core/content-manager/server/tests/api/basic-dp-compo-repeatable.test.e2e.js +++ b/packages/core/content-manager/server/tests/api/basic-dp-compo-repeatable.test.e2e.js @@ -9,7 +9,7 @@ const { createAuthRequest } = require('../../../../../../test/helpers/request'); const builder = createTestBuilder(); let strapi; let rq; -let data = { +const data = { productsWithCompoAndDP: [], }; diff --git a/packages/core/content-manager/server/tests/api/basic-dp-compo.test.e2e.js b/packages/core/content-manager/server/tests/api/basic-dp-compo.test.e2e.js index 7c6f16f7e1..133ecf05b4 100644 --- a/packages/core/content-manager/server/tests/api/basic-dp-compo.test.e2e.js +++ b/packages/core/content-manager/server/tests/api/basic-dp-compo.test.e2e.js @@ -9,7 +9,7 @@ const { createAuthRequest } = require('../../../../../../test/helpers/request'); const builder = createTestBuilder(); let strapi; let rq; -let data = { +const data = { productsWithCompoAndDP: [], }; diff --git a/packages/core/content-manager/server/tests/api/basic-dp-dz.test.e2e.js b/packages/core/content-manager/server/tests/api/basic-dp-dz.test.e2e.js index a8e2e61f79..d3c267290a 100644 --- a/packages/core/content-manager/server/tests/api/basic-dp-dz.test.e2e.js +++ b/packages/core/content-manager/server/tests/api/basic-dp-dz.test.e2e.js @@ -9,7 +9,7 @@ const { createAuthRequest } = require('../../../../../../test/helpers/request'); const builder = createTestBuilder(); let strapi; let rq; -let data = { +const data = { productsWithDzAndDP: [], }; diff --git a/packages/core/content-manager/server/tests/api/basic-dp.test.e2e.js b/packages/core/content-manager/server/tests/api/basic-dp.test.e2e.js index 4c61c19bcb..26950f87f9 100644 --- a/packages/core/content-manager/server/tests/api/basic-dp.test.e2e.js +++ b/packages/core/content-manager/server/tests/api/basic-dp.test.e2e.js @@ -9,7 +9,7 @@ const { createAuthRequest } = require('../../../../../../test/helpers/request'); const builder = createTestBuilder(); let strapi; let rq; -let data = { +const data = { productsWithDP: [], }; @@ -161,7 +161,7 @@ describe('CM API - Basic + draftAndPublish', () => { test('Publish a product, expect publishedAt to be defined', async () => { const entry = data.productsWithDP[0]; - let { body } = await rq({ + const { body } = await rq({ url: `/content-manager/collection-types/api::product-with-dp.product-with-dp/${entry.id}/actions/publish`, method: 'POST', }); @@ -174,7 +174,7 @@ describe('CM API - Basic + draftAndPublish', () => { test('Publish article1, expect article1 to be already published', async () => { const entry = data.productsWithDP[0]; - let { body } = await rq({ + const { body } = await rq({ url: `/content-manager/collection-types/api::product-with-dp.product-with-dp/${entry.id}/actions/publish`, method: 'POST', }); @@ -193,7 +193,7 @@ describe('CM API - Basic + draftAndPublish', () => { test('Unpublish article1, expect article1 to be set to null', async () => { const entry = data.productsWithDP[0]; - let { body } = await rq({ + const { body } = await rq({ url: `/content-manager/collection-types/api::product-with-dp.product-with-dp/${entry.id}/actions/unpublish`, method: 'POST', }); @@ -206,7 +206,7 @@ describe('CM API - Basic + draftAndPublish', () => { test('Unpublish article1, expect article1 to already be a draft', async () => { const entry = data.productsWithDP[0]; - let { body } = await rq({ + const { body } = await rq({ url: `/content-manager/collection-types/api::product-with-dp.product-with-dp/${entry.id}/actions/unpublish`, method: 'POST', }); diff --git a/packages/core/content-manager/server/tests/api/basic-dz.test.e2e.js b/packages/core/content-manager/server/tests/api/basic-dz.test.e2e.js index 532d4c5315..e41469972e 100644 --- a/packages/core/content-manager/server/tests/api/basic-dz.test.e2e.js +++ b/packages/core/content-manager/server/tests/api/basic-dz.test.e2e.js @@ -7,7 +7,7 @@ const { createAuthRequest } = require('../../../../../../test/helpers/request'); const builder = createTestBuilder(); let strapi; let rq; -let data = { +const data = { productsWithDz: [], }; diff --git a/packages/core/content-manager/server/tests/api/basic-relations.test.e2e.js b/packages/core/content-manager/server/tests/api/basic-relations.test.e2e.js index df6b628767..9e212122b3 100644 --- a/packages/core/content-manager/server/tests/api/basic-relations.test.e2e.js +++ b/packages/core/content-manager/server/tests/api/basic-relations.test.e2e.js @@ -8,7 +8,7 @@ let strapi; let rq; const builder = createTestBuilder(); -let data = { +const data = { stamps: [], collectors: [], }; diff --git a/packages/core/content-manager/server/tests/api/basic.test.e2e.js b/packages/core/content-manager/server/tests/api/basic.test.e2e.js index 7258c037a1..5f38eaa768 100644 --- a/packages/core/content-manager/server/tests/api/basic.test.e2e.js +++ b/packages/core/content-manager/server/tests/api/basic.test.e2e.js @@ -9,7 +9,7 @@ const { createAuthRequest } = require('../../../../../../test/helpers/request'); const builder = createTestBuilder(); let strapi; let rq; -let data = { +const data = { products: [], }; diff --git a/packages/core/content-manager/server/tests/api/populate-dz.test.e2e.js b/packages/core/content-manager/server/tests/api/populate-dz.test.e2e.js index 3f2fe7ab13..e0e8bb37f7 100644 --- a/packages/core/content-manager/server/tests/api/populate-dz.test.e2e.js +++ b/packages/core/content-manager/server/tests/api/populate-dz.test.e2e.js @@ -7,7 +7,7 @@ const { createAuthRequest } = require('../../../../../../test/helpers/request'); const builder = createTestBuilder(); let strapi; let rq; -let data = { +const data = { productsWithDz: [], categories: [], }; diff --git a/packages/core/content-manager/server/tests/api/x-to-many-rf-preview.test.e2e.js b/packages/core/content-manager/server/tests/api/x-to-many-rf-preview.test.e2e.js index 8c48fdc49c..19d7a437a0 100644 --- a/packages/core/content-manager/server/tests/api/x-to-many-rf-preview.test.e2e.js +++ b/packages/core/content-manager/server/tests/api/x-to-many-rf-preview.test.e2e.js @@ -168,7 +168,7 @@ describe('x-to-many RF Preview', () => { describe('Relation Nature', () => { test(`Throws if the relation's nature is not a x-to-many`, async () => { const url = getCMPrefixUrl(categoryModel.singularName); - const id = data.category[0].id; + const { id } = data.category[0]; const { body, statusCode } = await rq.get(`${url}/${id}/product`); diff --git a/packages/core/content-manager/server/tests/content-manager/uid.test.e2e.js b/packages/core/content-manager/server/tests/content-manager/uid.test.e2e.js index 8be18276e1..0815ab7128 100644 --- a/packages/core/content-manager/server/tests/content-manager/uid.test.e2e.js +++ b/packages/core/content-manager/server/tests/content-manager/uid.test.e2e.js @@ -8,7 +8,7 @@ const { createAuthRequest } = require('../../../../../../test/helpers/request'); const builder = createTestBuilder(); let strapi; let rq; -let uid = 'api::uid-model.uid-model'; +const uid = 'api::uid-model.uid-model'; const model = { kind: 'collectionType', diff --git a/packages/core/content-manager/server/tests/fields/boolean.test.e2e.js b/packages/core/content-manager/server/tests/fields/boolean.test.e2e.js index 4ce47dc347..44bb1f4429 100644 --- a/packages/core/content-manager/server/tests/fields/boolean.test.e2e.js +++ b/packages/core/content-manager/server/tests/fields/boolean.test.e2e.js @@ -46,7 +46,7 @@ describe('Test type boolean', () => { }); test('Throws on invalid boolean value', async () => { - let res = await rq.post('/content-manager/collection-types/api::withboolean.withboolean', { + const res = await rq.post('/content-manager/collection-types/api::withboolean.withboolean', { body: { field: 'random' }, }); diff --git a/packages/core/content-manager/server/tests/index.test.e2e.js b/packages/core/content-manager/server/tests/index.test.e2e.js index d63d989e0b..7bc113acbd 100644 --- a/packages/core/content-manager/server/tests/index.test.e2e.js +++ b/packages/core/content-manager/server/tests/index.test.e2e.js @@ -69,7 +69,7 @@ describe('Content Manager End to End', () => { }); test('Create tag1', async () => { - let { body } = await rq({ + const { body } = await rq({ url: '/content-manager/collection-types/api::tag.tag', method: 'POST', body: { @@ -98,7 +98,7 @@ describe('Content Manager End to End', () => { }); test('Create tag2', async () => { - let { body } = await rq({ + const { body } = await rq({ url: '/content-manager/collection-types/api::tag.tag', method: 'POST', body: { @@ -127,7 +127,7 @@ describe('Content Manager End to End', () => { }); test('Create tag3', async () => { - let { body } = await rq({ + const { body } = await rq({ url: '/content-manager/collection-types/api::tag.tag', method: 'POST', body: { @@ -162,7 +162,7 @@ describe('Content Manager End to End', () => { date: '2019-08-13T00:00:00.000Z', }; - let { body } = await rq({ + const { body } = await rq({ url: '/content-manager/collection-types/api::article.article', method: 'POST', body: entry, @@ -197,7 +197,7 @@ describe('Content Manager End to End', () => { tags: [data.tags[0].id], }; - let { body } = await rq({ + const { body } = await rq({ url: '/content-manager/collection-types/api::article.article', method: 'POST', body: entry, @@ -227,13 +227,11 @@ describe('Content Manager End to End', () => { }); test('Update article1 add tag2', async () => { - const entry = Object.assign({}, data.articles[0], { - tags: [data.tags[1].id], - }); + const entry = { ...data.articles[0], tags: [data.tags[1].id] }; cleanDate(entry); - let { body } = await rq({ + const { body } = await rq({ url: `/content-manager/collection-types/api::article.article/${entry.id}`, method: 'PUT', body: entry, @@ -263,7 +261,7 @@ describe('Content Manager End to End', () => { }); test('Update article1 add tag1 and tag3', async () => { - const entry = Object.assign({}, data.articles[0]); + const entry = { ...data.articles[0] }; entry.tags = entry.tags.map(tag => tag.id); entry.tags.push(data.tags[0].id); @@ -271,7 +269,7 @@ describe('Content Manager End to End', () => { cleanDate(entry); - let { body } = await rq({ + const { body } = await rq({ url: `/content-manager/collection-types/api::article.article/${entry.id}`, method: 'PUT', body: entry, @@ -300,12 +298,12 @@ describe('Content Manager End to End', () => { }); test('Update article1 remove one tag', async () => { - const entry = Object.assign({}, data.articles[0]); + const entry = { ...data.articles[0] }; entry.tags = entry.tags.slice(1).map(tag => tag.id); cleanDate(entry); - let { body } = await rq({ + const { body } = await rq({ url: `/content-manager/collection-types/api::article.article/${entry.id}`, method: 'PUT', body: entry, @@ -334,13 +332,11 @@ describe('Content Manager End to End', () => { }); test('Update article1 remove all tag', async () => { - const entry = Object.assign({}, data.articles[0], { - tags: [], - }); + const entry = { ...data.articles[0], tags: [] }; cleanDate(entry); - let { body } = await rq({ + const { body } = await rq({ url: `/content-manager/collection-types/api::article.article/${entry.id}`, method: 'PUT', body: entry, @@ -409,7 +405,7 @@ describe('Content Manager End to End', () => { expect(Array.isArray(articles[1].tags)).toBeTruthy(); expect(articles[1].tags.length).toBe(1); - let { body: foundTag } = await rq({ + const { body: foundTag } = await rq({ url: `/content-manager/collection-types/api::tag.tag/${createdTag.id}`, method: 'GET', }); @@ -425,7 +421,7 @@ describe('Content Manager End to End', () => { }, }); - let { body: foundTag2 } = await rq({ + const { body: foundTag2 } = await rq({ url: `/content-manager/collection-types/api::tag.tag/${createdTag.id}`, method: 'GET', }); @@ -462,7 +458,7 @@ describe('Content Manager End to End', () => { tags: [createdTag.id], }; - let { body } = await rq({ + const { body } = await rq({ url: '/content-manager/collection-types/api::articlewithtag.articlewithtag', method: 'POST', body: entry, @@ -502,7 +498,7 @@ describe('Content Manager End to End', () => { }); test('Create cat1', async () => { - let { body } = await rq({ + const { body } = await rq({ url: '/content-manager/collection-types/api::category.category', method: 'POST', body: { @@ -531,7 +527,7 @@ describe('Content Manager End to End', () => { }); test('Create cat2', async () => { - let { body } = await rq({ + const { body } = await rq({ url: '/content-manager/collection-types/api::category.category', method: 'POST', body: { @@ -566,7 +562,7 @@ describe('Content Manager End to End', () => { category: data.categories[0].id, }; - let { body } = await rq({ + const { body } = await rq({ url: '/content-manager/collection-types/api::article.article', method: 'POST', body: entry, @@ -594,13 +590,11 @@ describe('Content Manager End to End', () => { }); test('Update article1 with cat2', async () => { - const entry = Object.assign({}, data.articles[0], { - category: data.categories[1].id, - }); + const entry = { ...data.articles[0], category: data.categories[1].id }; cleanDate(entry); - let { body } = await rq({ + const { body } = await rq({ url: `/content-manager/collection-types/api::article.article/${entry.id}`, method: 'PUT', body: entry, @@ -633,7 +627,7 @@ describe('Content Manager End to End', () => { content: 'Content 2', }; - let { body } = await rq({ + const { body } = await rq({ url: '/content-manager/collection-types/api::article.article', method: 'POST', body: entry, @@ -660,13 +654,11 @@ describe('Content Manager End to End', () => { }); test('Update article2 with cat2', async () => { - const entry = Object.assign({}, data.articles[1], { - category: data.categories[1].id, - }); + const entry = { ...data.articles[1], category: data.categories[1].id }; cleanDate(entry); - let { body } = await rq({ + const { body } = await rq({ url: `/content-manager/collection-types/api::article.article/${entry.id}`, method: 'PUT', body: entry, @@ -694,13 +686,13 @@ describe('Content Manager End to End', () => { }); test('Update cat1 with article1', async () => { - const entry = Object.assign({}, data.categories[0]); + const entry = { ...data.categories[0] }; entry.articles = entry.articles.map(article => article.id); entry.articles.push(data.articles[0].id); cleanDate(entry); - let { body } = await rq({ + const { body } = await rq({ url: `/content-manager/collection-types/api::category.category/${entry.id}`, method: 'PUT', body: entry, @@ -732,7 +724,7 @@ describe('Content Manager End to End', () => { articles: [data.articles[0].id], }; - let { body } = await rq({ + const { body } = await rq({ url: '/content-manager/collection-types/api::category.category', method: 'POST', body: entry, @@ -759,7 +751,7 @@ describe('Content Manager End to End', () => { }); test('Get article1 with cat3', async () => { - let { body } = await rq({ + const { body } = await rq({ url: `/content-manager/collection-types/api::article.article/${data.articles[0].id}`, method: 'GET', }); @@ -781,7 +773,7 @@ describe('Content Manager End to End', () => { }); test('Get article2 with cat2', async () => { - let { body } = await rq({ + const { body } = await rq({ url: `/content-manager/collection-types/api::article.article/${data.articles[1].id}`, method: 'GET', }); @@ -803,7 +795,7 @@ describe('Content Manager End to End', () => { }); test('Get cat1 without relations', async () => { - let { body } = await rq({ + const { body } = await rq({ url: `/content-manager/collection-types/api::category.category/${data.categories[0].id}`, method: 'GET', }); @@ -825,7 +817,7 @@ describe('Content Manager End to End', () => { }); test('Get cat2 with article2', async () => { - let { body } = await rq({ + const { body } = await rq({ url: `/content-manager/collection-types/api::category.category/${data.categories[1].id}`, method: 'GET', }); @@ -848,7 +840,7 @@ describe('Content Manager End to End', () => { }); test('Get cat3 with article1', async () => { - let { body } = await rq({ + const { body } = await rq({ url: `/content-manager/collection-types/api::category.category/${data.categories[2].id}`, method: 'GET', }); @@ -884,7 +876,7 @@ describe('Content Manager End to End', () => { }); test('Create ref1', async () => { - let { body } = await rq({ + const { body } = await rq({ url: '/content-manager/collection-types/api::reference.reference', method: 'POST', body: { @@ -916,7 +908,7 @@ describe('Content Manager End to End', () => { content: 'Content 1', }; - let { body } = await rq({ + const { body } = await rq({ url: '/content-manager/collection-types/api::article.article', method: 'POST', body: entry, @@ -943,13 +935,11 @@ describe('Content Manager End to End', () => { }); test('Update article1 with ref1', async () => { - const entry = Object.assign({}, data.articles[0], { - reference: data.references[0].id, - }); + const entry = { ...data.articles[0], reference: data.references[0].id }; cleanDate(entry); - let { body } = await rq({ + const { body } = await rq({ url: `/content-manager/collection-types/api::article.article/${entry.id}`, method: 'PUT', body: entry, @@ -982,7 +972,7 @@ describe('Content Manager End to End', () => { reference: data.references[0].id, }; - let { body } = await rq({ + const { body } = await rq({ url: '/content-manager/collection-types/api::article.article', method: 'POST', body: entry, diff --git a/packages/core/content-manager/server/tests/relation-list.test.e2e.js b/packages/core/content-manager/server/tests/relation-list.test.e2e.js index ab685e5bb6..828797cc5f 100644 --- a/packages/core/content-manager/server/tests/relation-list.test.e2e.js +++ b/packages/core/content-manager/server/tests/relation-list.test.e2e.js @@ -10,7 +10,7 @@ const { createAuthRequest } = require('../../../../../test/helpers/request'); let strapi; let rq; -let data = { +const data = { products: [], shops: [], }; diff --git a/packages/core/content-manager/server/tests/search.test.e2e.js b/packages/core/content-manager/server/tests/search.test.e2e.js index f430b29d08..bcdd063bb2 100644 --- a/packages/core/content-manager/server/tests/search.test.e2e.js +++ b/packages/core/content-manager/server/tests/search.test.e2e.js @@ -11,7 +11,7 @@ const CREATOR_FIELDS = ['updatedBy', 'createdBy']; const builder = createTestBuilder(); let strapi; let rq; -let data = { +const data = { beds: [], }; diff --git a/packages/core/content-manager/server/tests/single-type.test.e2e.js b/packages/core/content-manager/server/tests/single-type.test.e2e.js index f2e5279bfa..4c46957522 100644 --- a/packages/core/content-manager/server/tests/single-type.test.e2e.js +++ b/packages/core/content-manager/server/tests/single-type.test.e2e.js @@ -8,7 +8,7 @@ const { createAuthRequest } = require('../../../../../test/helpers/request'); const builder = createTestBuilder(); let strapi; let rq; -let uid = 'api::single-type-model.single-type-model'; +const uid = 'api::single-type-model.single-type-model'; const ct = { kind: 'singleType', diff --git a/packages/core/content-type-builder/server/controllers/validation/common.js b/packages/core/content-type-builder/server/controllers/validation/common.js index bf25b0d115..ff74fa514a 100644 --- a/packages/core/content-type-builder/server/controllers/validation/common.js +++ b/packages/core/content-type-builder/server/controllers/validation/common.js @@ -24,31 +24,31 @@ const UID_REGEX = new RegExp('^[A-Za-z0-9-_.~]*$'); const isValidName = { name: 'isValidName', - message: '${path} must match the following regex: ' + NAME_REGEX, + message: `\${path} must match the following regex: ${NAME_REGEX}`, test: val => val === '' || NAME_REGEX.test(val), }; const isValidUID = { name: 'isValidUID', - message: '${path} must match the following regex: ' + UID_REGEX, + message: `\${path} must match the following regex: ${UID_REGEX}`, test: val => val === '' || UID_REGEX.test(val), }; const isValidCategoryName = { name: 'isValidCategoryName', - message: '${path} must match the following regex: ' + CATEGORY_NAME_REGEX, + message: `\${path} must match the following regex: ${CATEGORY_NAME_REGEX}`, test: val => val === '' || CATEGORY_NAME_REGEX.test(val), }; const isValidCollectionName = { name: 'isValidCollectionName', - message: '${path} must match the following regex: ' + COLLECTION_NAME_REGEX, + message: `\${path} must match the following regex: ${COLLECTION_NAME_REGEX}`, test: val => val === '' || COLLECTION_NAME_REGEX.test(val), }; const isValidIcon = { name: 'isValidIcon', - message: '${path} must match the following regex: ' + ICON_REGEX, + message: `\${path} must match the following regex: ${ICON_REGEX}`, test: val => val === '' || ICON_REGEX.test(val), }; diff --git a/packages/core/content-type-builder/server/services/schema-builder/schema-handler.js b/packages/core/content-type-builder/server/services/schema-builder/schema-handler.js index fba87f26df..60cb4ede21 100644 --- a/packages/core/content-type-builder/server/services/schema-builder/schema-handler.js +++ b/packages/core/content-type-builder/server/services/schema-builder/schema-handler.js @@ -123,14 +123,14 @@ module.exports = function createSchemaHandler(infos) { setAttributes(newAttributes) { // delete old configurable attributes - for (let key in this.schema.attributes) { + for (const key in this.schema.attributes) { if (isConfigurable(this.schema.attributes[key])) { this.deleteAttribute(key); } } // set new Attributes - for (let key in newAttributes) { + for (const key in newAttributes) { this.setAttribute(key, newAttributes[key]); } diff --git a/packages/core/content-type-builder/server/utils/attributes.js b/packages/core/content-type-builder/server/utils/attributes.js index e90fc1fd1a..6b0ed1e9a1 100644 --- a/packages/core/content-type-builder/server/utils/attributes.js +++ b/packages/core/content-type-builder/server/utils/attributes.js @@ -45,8 +45,8 @@ const formatAttribute = (key, attribute) => { if (attribute.type === 'media') { return { type: 'media', - multiple: attribute.multiple ? true : false, - required: required ? true : false, + multiple: !!attribute.multiple, + required: !!required, configurable: configurable === false ? false : undefined, allowedTypes: attribute.allowedTypes, pluginOptions, @@ -60,7 +60,7 @@ const formatAttribute = (key, attribute) => { target: attribute.target, targetAttribute: attribute.inversedBy || attribute.mappedBy || null, configurable: configurable === false ? false : undefined, - private: attribute.private ? true : false, + private: !!attribute.private, pluginOptions, // TODO: remove autoPopulate, diff --git a/packages/core/content-type-builder/tests/collection-type.test.e2e.js b/packages/core/content-type-builder/tests/collection-type.test.e2e.js index 91f732a7c9..9bf2a8bc38 100644 --- a/packages/core/content-type-builder/tests/collection-type.test.e2e.js +++ b/packages/core/content-type-builder/tests/collection-type.test.e2e.js @@ -1,6 +1,7 @@ /** * Integration test for the content-type-builder content types management apis */ + 'use strict'; const { createStrapiInstance } = require('../../../../test/helpers/strapi'); diff --git a/packages/core/content-type-builder/tests/single-type.test.e2e.js b/packages/core/content-type-builder/tests/single-type.test.e2e.js index a86d6c1fdf..b6c9263bb8 100644 --- a/packages/core/content-type-builder/tests/single-type.test.e2e.js +++ b/packages/core/content-type-builder/tests/single-type.test.e2e.js @@ -1,6 +1,7 @@ /** * Integration test for the content-type-builder content types management apis */ + 'use strict'; const { createStrapiInstance } = require('../../../../test/helpers/strapi'); diff --git a/packages/core/database/lib/__tests__/lifecycles.test.js b/packages/core/database/lib/__tests__/lifecycles.test.js index 717942bcec..1dbbf35255 100644 --- a/packages/core/database/lib/__tests__/lifecycles.test.js +++ b/packages/core/database/lib/__tests__/lifecycles.test.js @@ -6,7 +6,7 @@ describe('LifecycleProvider', () => { describe('run', () => { /** @type {import("../lifecycles").LifecycleProvider} */ let provider; - let dbMetadataGetStub = jest.fn(uid => ({ uid, name: 'TestModel' })); + const dbMetadataGetStub = jest.fn(uid => ({ uid, name: 'TestModel' })); beforeEach(() => { const db = { diff --git a/packages/core/database/lib/connection.js b/packages/core/database/lib/connection.js index e03e884cb2..67201993cb 100644 --- a/packages/core/database/lib/connection.js +++ b/packages/core/database/lib/connection.js @@ -1,5 +1,6 @@ /* eslint-disable node/no-missing-require */ /* eslint-disable node/no-extraneous-require */ + 'use strict'; const knex = require('knex'); diff --git a/packages/core/database/lib/dialects/dialect.js b/packages/core/database/lib/dialects/dialect.js index f3b374f78c..5e92b31a7f 100644 --- a/packages/core/database/lib/dialects/dialect.js +++ b/packages/core/database/lib/dialects/dialect.js @@ -6,6 +6,7 @@ class Dialect { } configure() {} + initialize() {} getSqlType(type) { @@ -29,6 +30,7 @@ class Dialect { } async startSchemaUpdate() {} + async endSchemaUpdate() {} transformErrors(error) { diff --git a/packages/core/database/lib/dialects/mysql/index.js b/packages/core/database/lib/dialects/mysql/index.js index dcace979d5..9e01d5e0b1 100644 --- a/packages/core/database/lib/dialects/mysql/index.js +++ b/packages/core/database/lib/dialects/mysql/index.js @@ -15,12 +15,12 @@ class MysqlDialect extends Dialect { this.db.config.connection.connection.bigNumberStrings = true; this.db.config.connection.connection.typeCast = (field, next) => { if (field.type === 'DECIMAL' || field.type === 'NEWDECIMAL') { - var value = field.string(); + const value = field.string(); return value === null ? null : Number(value); } if (field.type === 'TINY' && field.length === 1) { - let value = field.string(); + const value = field.string(); return value ? value === '1' : null; } diff --git a/packages/core/database/lib/entity-manager.js b/packages/core/database/lib/entity-manager.js index 0233bb1e23..7bb18e5032 100644 --- a/packages/core/database/lib/entity-manager.js +++ b/packages/core/database/lib/entity-manager.js @@ -817,7 +817,7 @@ const createEntityManager = db => { populate, }); - return Object.assign({}, entity, entry); + return { ...entity, ...entry }; }, // TODO: support multiple relations at once with the populate syntax diff --git a/packages/core/database/lib/fields.js b/packages/core/database/lib/fields.js index ebf08b2948..103f411f6b 100644 --- a/packages/core/database/lib/fields.js +++ b/packages/core/database/lib/fields.js @@ -63,11 +63,11 @@ class BooleanField extends Field { if (strVal === '1') { return true; - } else if (strVal === '0') { - return false; - } else { - return null; } + if (strVal === '0') { + return false; + } + return null; } } @@ -131,7 +131,7 @@ const parseDate = value => { ); } - let date = dateFns.parseISO(extractedValue); + const date = dateFns.parseISO(extractedValue); if (!dateFns.isValid(date)) { throw new InvalidDateError(`Invalid date`); } diff --git a/packages/core/database/lib/metadata/relations.js b/packages/core/database/lib/metadata/relations.js index 155453b456..178906cd4c 100644 --- a/packages/core/database/lib/metadata/relations.js +++ b/packages/core/database/lib/metadata/relations.js @@ -75,12 +75,8 @@ const createOneToMany = (attributeName, attribute, meta, metadata) => { attributeName, meta, }); - } else { - if (isOwner(attribute)) { - throw new Error( - 'one side of a oneToMany cannot be the owner side in a bidirectional relation' - ); - } + } else if (isOwner(attribute)) { + throw new Error('one side of a oneToMany cannot be the owner side in a bidirectional relation'); } }; @@ -169,7 +165,7 @@ const createManyToMany = (attributeName, attribute, meta, metadata) => { * @param {ModelMetadata} meta * @param {Metadata} metadata */ -const createMorphToOne = (attributeName, attribute /*meta, metadata*/) => { +const createMorphToOne = (attributeName, attribute /* meta, metadata */) => { const idColumnName = 'target_id'; const typeColumnName = 'target_type'; @@ -354,7 +350,7 @@ const createRelation = (attributeName, attribute, meta, metadata) => { * @param {string} param.attributeName name of the associated attribute * @param {Object} param.meta model metadata */ -const createJoinColum = (metadata, { attribute, attributeName /*meta */ }) => { +const createJoinColum = (metadata, { attribute, attributeName /* meta */ }) => { const targetMeta = metadata.get(attribute.target); const joinColumnName = _.snakeCase(`${attributeName}_id`); @@ -395,7 +391,7 @@ const createJoinTable = (metadata, { attributeName, attribute, meta }) => { const joinTableName = _.snakeCase(`${meta.tableName}_${attributeName}_links`); - let joinColumnName = _.snakeCase(`${meta.singularName}_id`); + const joinColumnName = _.snakeCase(`${meta.singularName}_id`); let inverseJoinColumnName = _.snakeCase(`${targetMeta.singularName}_id`); // if relation is slef referencing diff --git a/packages/core/database/lib/query/helpers/join.js b/packages/core/database/lib/query/helpers/join.js index c46cd5133e..3539cf15c4 100644 --- a/packages/core/database/lib/query/helpers/join.js +++ b/packages/core/database/lib/query/helpers/join.js @@ -32,7 +32,7 @@ const createJoin = (ctx, { alias, attributeName, attribute }) => { const tragetMeta = db.metadata.get(attribute.target); - const joinColumn = attribute.joinColumn; + const { joinColumn } = attribute; if (joinColumn) { const subAlias = qb.getAlias(); @@ -46,7 +46,7 @@ const createJoin = (ctx, { alias, attributeName, attribute }) => { return subAlias; } - const joinTable = attribute.joinTable; + const { joinTable } = attribute; if (joinTable) { return createPivotJoin(qb, joinTable, alias, tragetMeta); } diff --git a/packages/core/database/lib/schema/diff.js b/packages/core/database/lib/schema/diff.js index abd98bb85e..318c5c1ad9 100644 --- a/packages/core/database/lib/schema/diff.js +++ b/packages/core/database/lib/schema/diff.js @@ -117,7 +117,7 @@ module.exports = db => { const diffDefault = (oldColumn, column) => { const oldDefaultTo = oldColumn.defaultTo; - const defaultTo = column.defaultTo; + const { defaultTo } = column; if (oldDefaultTo === null || _.toLower(oldDefaultTo) === 'null') { return _.isNil(defaultTo) || _.toLower(defaultTo) === 'null'; diff --git a/packages/core/database/lib/schema/index.js b/packages/core/database/lib/schema/index.js index b8f97a3d0a..2a395d65e3 100644 --- a/packages/core/database/lib/schema/index.js +++ b/packages/core/database/lib/schema/index.js @@ -87,7 +87,6 @@ const createSchemaProvider = db => { } debug('Schema unchanged'); - return; }, }; }; diff --git a/packages/core/email/server/controllers/email.js b/packages/core/email/server/controllers/email.js index 12b60d2a06..8ae0e5c587 100644 --- a/packages/core/email/server/controllers/email.js +++ b/packages/core/email/server/controllers/email.js @@ -10,7 +10,7 @@ const { ApplicationError } = require('@strapi/utils').errors; */ module.exports = { async send(ctx) { - let options = ctx.request.body; + const options = ctx.request.body; try { await strapi diff --git a/packages/core/strapi/bin/strapi.js b/packages/core/strapi/bin/strapi.js index b2b63fe638..74a0617066 100755 --- a/packages/core/strapi/bin/strapi.js +++ b/packages/core/strapi/bin/strapi.js @@ -1,4 +1,5 @@ #!/usr/bin/env node + 'use strict'; // FIXME @@ -13,7 +14,7 @@ const program = new Command(); const packageJSON = require('../package.json'); const checkCwdIsStrapiApp = name => { - let logErrorAndExit = () => { + const logErrorAndExit = () => { console.log( `You need to run ${yellow( `strapi ${name}` @@ -23,7 +24,7 @@ const checkCwdIsStrapiApp = name => { }; try { - const pkgJSON = require(process.cwd() + '/package.json'); + const pkgJSON = require(`${process.cwd()}/package.json`); if (!_.has(pkgJSON, 'dependencies.@strapi/strapi')) { logErrorAndExit(name); } @@ -69,7 +70,7 @@ program .command('version') .description('Output the version of Strapi') .action(() => { - process.stdout.write(packageJSON.version + '\n'); + process.stdout.write(`${packageJSON.version}\n`); process.exit(0); }); diff --git a/packages/core/strapi/lib/commands/__tests__/generate-template.test.js b/packages/core/strapi/lib/commands/__tests__/generate-template.test.js index 8ff4d60627..de6bfbeba5 100644 --- a/packages/core/strapi/lib/commands/__tests__/generate-template.test.js +++ b/packages/core/strapi/lib/commands/__tests__/generate-template.test.js @@ -1,4 +1,5 @@ 'use strict'; + jest.mock('fs-extra', () => ({ ensureDir: jest.fn(() => Promise.resolve()), copy: jest.fn(() => Promise.resolve()), diff --git a/packages/core/strapi/lib/commands/build.js b/packages/core/strapi/lib/commands/build.js index c96f9947ae..29b99dfd8d 100644 --- a/packages/core/strapi/lib/commands/build.js +++ b/packages/core/strapi/lib/commands/build.js @@ -1,6 +1,6 @@ 'use strict'; -const strapi = require('../'); +const strapi = require('..'); const { buildAdmin } = require('./builders'); /** diff --git a/packages/core/strapi/lib/commands/develop.js b/packages/core/strapi/lib/commands/develop.js index 23f25b7c81..4d1df431ab 100644 --- a/packages/core/strapi/lib/commands/develop.js +++ b/packages/core/strapi/lib/commands/develop.js @@ -97,7 +97,6 @@ const primaryProcess = async ({ distDir, appDir, build, isTSProject, watchAdmin, case 'stop': process.exit(1); default: - return; } }); @@ -108,7 +107,7 @@ const workerProcess = ({ appDir, distDir, watchAdmin, polling, isTSProject }) => const strapiInstance = strapi({ distDir, autoReload: true, - serveAdminPanel: watchAdmin ? false : true, + serveAdminPanel: !watchAdmin, }); const adminWatchIgnoreFiles = strapiInstance.config.get('admin.watchIgnoreFiles', []); diff --git a/packages/core/strapi/lib/commands/install.js b/packages/core/strapi/lib/commands/install.js index a5434182e0..288a835222 100644 --- a/packages/core/strapi/lib/commands/install.js +++ b/packages/core/strapi/lib/commands/install.js @@ -28,8 +28,8 @@ module.exports = async plugins => { // check if rebuild is necessary let shouldRebuild = false; - for (let name of plugins) { - let pkgPath = findPackagePath(`@strapi/plugin-${name}`); + for (const name of plugins) { + const pkgPath = findPackagePath(`@strapi/plugin-${name}`); if (existsSync(join(pkgPath, 'admin', 'src', 'index.js'))) { shouldRebuild = true; } diff --git a/packages/core/strapi/lib/commands/opt-in-telemetry.js b/packages/core/strapi/lib/commands/opt-in-telemetry.js index 9086d0fbe1..f811278755 100644 --- a/packages/core/strapi/lib/commands/opt-in-telemetry.js +++ b/packages/core/strapi/lib/commands/opt-in-telemetry.js @@ -40,16 +40,15 @@ const generateNewPackageJSON = packageObj => { telemetryDisabled: false, }, }; - } else { - return { - ...packageObj, - strapi: { - ...packageObj.strapi, - uuid: packageObj.strapi.uuid ? packageObj.strapi.uuid : uuidv4(), - telemetryDisabled: false, - }, - }; } + return { + ...packageObj, + strapi: { + ...packageObj.strapi, + uuid: packageObj.strapi.uuid ? packageObj.strapi.uuid : uuidv4(), + telemetryDisabled: false, + }, + }; }; const sendEvent = async uuid => { @@ -64,7 +63,7 @@ const sendEvent = async uuid => { headers: { 'Content-Type': 'application/json' }, }); } catch (e) { - //... + // ... } }; diff --git a/packages/core/strapi/lib/commands/opt-out-telemetry.js b/packages/core/strapi/lib/commands/opt-out-telemetry.js index 6fa60ea454..2dafd8a0f0 100644 --- a/packages/core/strapi/lib/commands/opt-out-telemetry.js +++ b/packages/core/strapi/lib/commands/opt-out-telemetry.js @@ -38,7 +38,7 @@ const sendEvent = async uuid => { headers: { 'Content-Type': 'application/json' }, }); } catch (e) { - //... + // ... } }; diff --git a/packages/core/strapi/lib/commands/start.js b/packages/core/strapi/lib/commands/start.js index 9f0299e631..829a7cf66e 100644 --- a/packages/core/strapi/lib/commands/start.js +++ b/packages/core/strapi/lib/commands/start.js @@ -1,4 +1,5 @@ 'use strict'; + const fs = require('fs'); const tsUtils = require('@strapi/typescript-utils'); const strapi = require('../index'); diff --git a/packages/core/strapi/lib/commands/uninstall.js b/packages/core/strapi/lib/commands/uninstall.js index 31d091d1c4..d00e607403 100644 --- a/packages/core/strapi/lib/commands/uninstall.js +++ b/packages/core/strapi/lib/commands/uninstall.js @@ -26,8 +26,8 @@ module.exports = async (plugins, { deleteFiles }) => { try { // verify should rebuild before removing the pacakge let shouldRebuild = false; - for (let name of plugins) { - let pkgPath = findPackagePath(`@strapi/plugin-${name}`); + for (const name of plugins) { + const pkgPath = findPackagePath(`@strapi/plugin-${name}`); if (existsSync(join(pkgPath, 'admin', 'src', 'index.js'))) { shouldRebuild = true; } @@ -46,7 +46,7 @@ module.exports = async (plugins, { deleteFiles }) => { if (deleteFiles === true || answers.deleteFiles === true) { loader.start('Deleting old files'); - for (let name of plugins) { + for (const name of plugins) { const pluginDir = join(dir, 'extensions', name); if (existsSync(pluginDir)) { removeSync(pluginDir); diff --git a/packages/core/strapi/lib/core-api/__tests__/controller.test.js b/packages/core/strapi/lib/core-api/__tests__/controller.test.js index 60cdf9e251..93f589b0e3 100644 --- a/packages/core/strapi/lib/core-api/__tests__/controller.test.js +++ b/packages/core/strapi/lib/core-api/__tests__/controller.test.js @@ -1,4 +1,5 @@ 'use strict'; + const { createController } = require('../controller'); describe('Default Controller', () => { diff --git a/packages/core/strapi/lib/core/domain/content-type/index.js b/packages/core/strapi/lib/core/domain/content-type/index.js index 99a9d725e8..6d390ba228 100644 --- a/packages/core/strapi/lib/core/domain/content-type/index.js +++ b/packages/core/strapi/lib/core/domain/content-type/index.js @@ -114,7 +114,7 @@ const createContentType = (uid, definition) => { }; const getGlobalId = (model, modelName, prefix) => { - let globalId = prefix ? `${prefix}-${modelName}` : modelName; + const globalId = prefix ? `${prefix}-${modelName}` : modelName; return model.globalId || _.upperFirst(_.camelCase(globalId)); }; diff --git a/packages/core/strapi/lib/core/domain/module/validation.js b/packages/core/strapi/lib/core/domain/module/validation.js index 1c20d9b5e9..6ffa18d4d9 100644 --- a/packages/core/strapi/lib/core/domain/module/validation.js +++ b/packages/core/strapi/lib/core/domain/module/validation.js @@ -12,9 +12,8 @@ const strapiServerSchema = yup routes: yup.lazy(value => { if (Array.isArray(value)) { return yup.array(); - } else { - return yup.object(); } + return yup.object(); }), controllers: yup.object(), services: yup.object(), diff --git a/packages/core/strapi/lib/core/loaders/plugins/get-enabled-plugins.js b/packages/core/strapi/lib/core/loaders/plugins/get-enabled-plugins.js index bae4f51eed..3763af0671 100644 --- a/packages/core/strapi/lib/core/loaders/plugins/get-enabled-plugins.js +++ b/packages/core/strapi/lib/core/loaders/plugins/get-enabled-plugins.js @@ -26,7 +26,7 @@ const toDetailedDeclaration = declaration => { return { enabled: declaration }; } - let detailedDeclaration = pick(['enabled'], declaration); + const detailedDeclaration = pick(['enabled'], declaration); if (has('resolve', declaration)) { let pathToPlugin = ''; diff --git a/packages/core/strapi/lib/core/loaders/plugins/index.js b/packages/core/strapi/lib/core/loaders/plugins/index.js index 817d13975d..0c51d5823b 100644 --- a/packages/core/strapi/lib/core/loaders/plugins/index.js +++ b/packages/core/strapi/lib/core/loaders/plugins/index.js @@ -40,11 +40,10 @@ const applyUserExtension = async plugins => { for (const ctName in plugin.contentTypes) { const extendedSchema = get([pluginName, 'content-types', ctName, 'schema'], extendedSchemas); if (extendedSchema) { - plugin.contentTypes[ctName].schema = Object.assign( - {}, - plugin.contentTypes[ctName].schema, - extendedSchema - ); + plugin.contentTypes[ctName].schema = { + ...plugin.contentTypes[ctName].schema, + ...extendedSchema, + }; } } // second: execute strapi-server extension diff --git a/packages/core/strapi/lib/core/registries/config.js b/packages/core/strapi/lib/core/registries/config.js index c58cf32967..87c36169a8 100644 --- a/packages/core/strapi/lib/core/registries/config.js +++ b/packages/core/strapi/lib/core/registries/config.js @@ -3,7 +3,7 @@ const _ = require('lodash'); module.exports = (initialConfig = {}) => { - const _config = Object.assign({}, initialConfig); // not deep clone because it would break some config + const _config = { ...initialConfig }; // not deep clone because it would break some config return { ..._config, // TODO: to remove diff --git a/packages/core/strapi/lib/core/utils.js b/packages/core/strapi/lib/core/utils.js index bcb214c313..f4cbb6e94d 100644 --- a/packages/core/strapi/lib/core/utils.js +++ b/packages/core/strapi/lib/core/utils.js @@ -7,25 +7,22 @@ const hasNamespace = (name, namespace) => { if (namespace.endsWith('::')) { return name.startsWith(namespace); - } else { - return name.startsWith(`${namespace}.`); } + return name.startsWith(`${namespace}.`); }; const addNamespace = (name, namespace) => { if (namespace.endsWith('::')) { return `${namespace}${name}`; - } else { - return `${namespace}.${name}`; } + return `${namespace}.${name}`; }; const removeNamespace = (name, namespace) => { if (namespace.endsWith('::')) { return name.replace(namespace, ''); - } else { - return name.replace(`${namespace}.`, ''); } + return name.replace(`${namespace}.`, ''); }; module.exports = { diff --git a/packages/core/strapi/lib/factories.js b/packages/core/strapi/lib/factories.js index cb90ae021d..122ab9362d 100644 --- a/packages/core/strapi/lib/factories.js +++ b/packages/core/strapi/lib/factories.js @@ -12,7 +12,7 @@ const createCoreController = (uid, cfg = {}) => { contentType: strapi.contentType(uid), }); - let userCtrl = typeof cfg === 'function' ? cfg({ strapi }) : cfg; + const userCtrl = typeof cfg === 'function' ? cfg({ strapi }) : cfg; for (const methodName of Object.keys(baseController)) { if (userCtrl[methodName] === undefined) { @@ -31,7 +31,7 @@ const createCoreService = (uid, cfg = {}) => { contentType: strapi.contentType(uid), }); - let userService = typeof cfg === 'function' ? cfg({ strapi }) : cfg; + const userService = typeof cfg === 'function' ? cfg({ strapi }) : cfg; for (const methodName of Object.keys(baseService)) { if (userService[methodName] === undefined) { diff --git a/packages/core/strapi/lib/load/filepath-to-prop-path.js b/packages/core/strapi/lib/load/filepath-to-prop-path.js index 096abb56a0..afd48f1a90 100644 --- a/packages/core/strapi/lib/load/filepath-to-prop-path.js +++ b/packages/core/strapi/lib/load/filepath-to-prop-path.js @@ -8,7 +8,7 @@ const _ = require('lodash'); * @param {boolean} useFileNameAsKey - wethear to skip the last path key */ module.exports = (filePath, useFileNameAsKey = true) => { - let cleanPath = filePath.startsWith('./') ? filePath.slice(2) : filePath; + const cleanPath = filePath.startsWith('./') ? filePath.slice(2) : filePath; const prop = cleanPath .replace(/(\.settings|\.json|\.js)/g, '') diff --git a/packages/core/strapi/lib/load/load-files.js b/packages/core/strapi/lib/load/load-files.js index e7c35ed460..ccb4f9a178 100644 --- a/packages/core/strapi/lib/load/load-files.js +++ b/packages/core/strapi/lib/load/load-files.js @@ -26,7 +26,7 @@ const loadFiles = async ( const root = {}; const files = await glob(pattern, { cwd: dir, ...globArgs }); - for (let file of files) { + for (const file of files) { const absolutePath = path.resolve(dir, file); // load module diff --git a/packages/core/strapi/lib/middlewares/logger.js b/packages/core/strapi/lib/middlewares/logger.js index a613057453..88bb7ef711 100644 --- a/packages/core/strapi/lib/middlewares/logger.js +++ b/packages/core/strapi/lib/middlewares/logger.js @@ -1,4 +1,5 @@ 'use strict'; + const chalk = require('chalk'); const codeToColor = code => { diff --git a/packages/core/strapi/lib/middlewares/response-time.js b/packages/core/strapi/lib/middlewares/response-time.js index c8510b4017..a3f5e544da 100644 --- a/packages/core/strapi/lib/middlewares/response-time.js +++ b/packages/core/strapi/lib/middlewares/response-time.js @@ -10,6 +10,6 @@ module.exports = () => { await next(); const delta = Math.ceil(Date.now() - start); - ctx.set('X-Response-Time', delta + 'ms'); + ctx.set('X-Response-Time', `${delta}ms`); }; }; diff --git a/packages/core/strapi/lib/middlewares/responses.js b/packages/core/strapi/lib/middlewares/responses.js index b66e3895df..370152a80e 100644 --- a/packages/core/strapi/lib/middlewares/responses.js +++ b/packages/core/strapi/lib/middlewares/responses.js @@ -9,7 +9,7 @@ module.exports = (config = {}) => { return async (ctx, next) => { await next(); - const status = ctx.status; + const { status } = ctx; const handler = prop(`handlers.${status}`, config); if (isFunction(handler)) { diff --git a/packages/core/strapi/lib/middlewares/session.js b/packages/core/strapi/lib/middlewares/session.js index b60312f58e..87f185246c 100644 --- a/packages/core/strapi/lib/middlewares/session.js +++ b/packages/core/strapi/lib/middlewares/session.js @@ -12,12 +12,12 @@ const defaultConfig = { signed: true, rolling: false, renew: false, - secure: process.env.NODE_ENV === 'production' ? true : false, + secure: process.env.NODE_ENV === 'production', sameSite: null, }; module.exports = (userConfig, { strapi }) => { - const keys = strapi.server.app.keys; + const { keys } = strapi.server.app; if (!isArray(keys) || isEmpty(keys) || keys.some(isEmpty)) { throw new Error( `App keys are required. Please set app.keys in config/server.js (ex: keys: ['myKeyA', 'myKeyB'])` diff --git a/packages/core/strapi/lib/services/auth/index.js b/packages/core/strapi/lib/services/auth/index.js index ccf96614af..e40442f5b4 100644 --- a/packages/core/strapi/lib/services/auth/index.js +++ b/packages/core/strapi/lib/services/auth/index.js @@ -78,8 +78,6 @@ const createAuthentication = () => { if (typeof auth.strategy.verify === 'function') { return auth.strategy.verify(auth, config); } - - return; }, }; }; diff --git a/packages/core/strapi/lib/services/entity-service/__tests__/entity-service.test.js b/packages/core/strapi/lib/services/entity-service/__tests__/entity-service.test.js index 5ad4924b55..2d0a4c4f6a 100644 --- a/packages/core/strapi/lib/services/entity-service/__tests__/entity-service.test.js +++ b/packages/core/strapi/lib/services/entity-service/__tests__/entity-service.test.js @@ -3,7 +3,7 @@ jest.mock('bcryptjs', () => ({ hashSync: () => 'secret-password' })); const { EventEmitter } = require('events'); -const createEntityService = require('../'); +const createEntityService = require('..'); const entityValidator = require('../../entity-validator'); describe('Entity service', () => { diff --git a/packages/core/strapi/lib/services/entity-service/components.js b/packages/core/strapi/lib/services/entity-service/components.js index e93a7d360d..c9938e8a6c 100644 --- a/packages/core/strapi/lib/services/entity-service/components.js +++ b/packages/core/strapi/lib/services/entity-service/components.js @@ -307,9 +307,9 @@ const deleteComponents = async (uid, entityToDelete) => { } }; -/*************************** +/** ************************* Component queries -***************************/ +************************** */ // components can have nested compos so this must be recursive const createComponent = async (uid, data) => { diff --git a/packages/core/strapi/lib/services/entity-service/index.js b/packages/core/strapi/lib/services/entity-service/index.js index 9dcc4b5f94..e11fe99761 100644 --- a/packages/core/strapi/lib/services/entity-service/index.js +++ b/packages/core/strapi/lib/services/entity-service/index.js @@ -47,7 +47,7 @@ module.exports = ctx => { throw new Error(`Decorator must be a function, received ${typeof decorator}`); } - this.implementation = Object.assign({}, this.implementation, decorator(this.implementation)); + this.implementation = { ...this.implementation, ...decorator(this.implementation) }; return this; }, }; diff --git a/packages/core/strapi/lib/services/entity-validator/index.js b/packages/core/strapi/lib/services/entity-validator/index.js index 448d19da03..15a35cfe27 100644 --- a/packages/core/strapi/lib/services/entity-validator/index.js +++ b/packages/core/strapi/lib/services/entity-validator/index.js @@ -2,6 +2,7 @@ * Entity validator * Module that will validate input data for entity creation or edition */ + 'use strict'; const { has, assoc, prop, isObject } = require('lodash/fp'); diff --git a/packages/core/strapi/lib/services/entity-validator/validators.js b/packages/core/strapi/lib/services/entity-validator/validators.js index bfcad9ed87..def75c6c31 100644 --- a/packages/core/strapi/lib/services/entity-validator/validators.js +++ b/packages/core/strapi/lib/services/entity-validator/validators.js @@ -143,7 +143,7 @@ const addUniqueValidator = (validator, { attr, model, updatedAttribute, entity } return true; } - let whereParams = entity + const whereParams = entity ? { $and: [{ [updatedAttribute.name]: value }, { $not: { id: entity.id } }] } : { [updatedAttribute.name]: value }; diff --git a/packages/core/strapi/lib/services/event-hub.js b/packages/core/strapi/lib/services/event-hub.js index 79800a2bee..175ef992c9 100644 --- a/packages/core/strapi/lib/services/event-hub.js +++ b/packages/core/strapi/lib/services/event-hub.js @@ -1,6 +1,7 @@ /** * The event hub is Strapi's event control center. */ + 'use strict'; const EventEmitter = require('events'); diff --git a/packages/core/strapi/lib/services/metrics/index.js b/packages/core/strapi/lib/services/metrics/index.js index accd4068a6..5bd85a3604 100644 --- a/packages/core/strapi/lib/services/metrics/index.js +++ b/packages/core/strapi/lib/services/metrics/index.js @@ -1,4 +1,5 @@ 'use strict'; + /** * Strapi telemetry package. * You can learn more at https://docs.strapi.io/developer-docs/latest/getting-started/usage-information.html diff --git a/packages/core/strapi/lib/services/server/koa.js b/packages/core/strapi/lib/services/server/koa.js index 1c98f6160f..0791efe3c8 100644 --- a/packages/core/strapi/lib/services/server/koa.js +++ b/packages/core/strapi/lib/services/server/koa.js @@ -4,7 +4,7 @@ const { isNil, camelCase } = require('lodash/fp'); const Koa = require('koa'); const createError = require('http-errors'); const delegate = require('delegates'); -var statuses = require('statuses'); +const statuses = require('statuses'); const { formatHttpError } = require('../errors'); const addCustomMethods = app => { diff --git a/packages/core/strapi/lib/services/server/register-middlewares.js b/packages/core/strapi/lib/services/server/register-middlewares.js index de330f29d7..69f7aaaae2 100644 --- a/packages/core/strapi/lib/services/server/register-middlewares.js +++ b/packages/core/strapi/lib/services/server/register-middlewares.js @@ -104,8 +104,6 @@ const checkRequiredMiddlewares = middlewares => { )}".` ); } - - return; }; module.exports = registerApplicationMiddlewares; diff --git a/packages/core/strapi/lib/services/utils/upload-files.js b/packages/core/strapi/lib/services/utils/upload-files.js index f12fdf56ea..dcbc1bf8b1 100644 --- a/packages/core/strapi/lib/services/utils/upload-files.js +++ b/packages/core/strapi/lib/services/utils/upload-files.js @@ -23,7 +23,7 @@ module.exports = async (uid, entity, files) => { return uid; } - let currentPath = []; + const currentPath = []; let tmpModel = modelDef; let modelUID = uid; diff --git a/packages/core/strapi/lib/services/webhook-runner.js b/packages/core/strapi/lib/services/webhook-runner.js index 532b983283..3bf3777862 100644 --- a/packages/core/strapi/lib/services/webhook-runner.js +++ b/packages/core/strapi/lib/services/webhook-runner.js @@ -1,6 +1,7 @@ /** * The event hub is Strapi's event control center. */ + 'use strict'; const debug = require('debug')('strapi:webhook'); diff --git a/packages/core/strapi/lib/services/webhook-store.js b/packages/core/strapi/lib/services/webhook-store.js index 9aa87eca97..39423edbc7 100644 --- a/packages/core/strapi/lib/services/webhook-store.js +++ b/packages/core/strapi/lib/services/webhook-store.js @@ -1,6 +1,7 @@ /** * Webhook store is the implementation of webhook storage over the core_store */ + 'use strict'; const webhookModel = { diff --git a/packages/core/strapi/lib/services/worker-queue.js b/packages/core/strapi/lib/services/worker-queue.js index 7eaabfc174..bece4f70b8 100644 --- a/packages/core/strapi/lib/services/worker-queue.js +++ b/packages/core/strapi/lib/services/worker-queue.js @@ -1,6 +1,7 @@ /** * Simple worker queue in memory */ + 'use strict'; const debug = require('debug')('strapi:worker-queue'); diff --git a/packages/core/strapi/lib/utils/addSlash.js b/packages/core/strapi/lib/utils/addSlash.js index d30bf5bebc..81dd403c33 100644 --- a/packages/core/strapi/lib/utils/addSlash.js +++ b/packages/core/strapi/lib/utils/addSlash.js @@ -4,7 +4,7 @@ module.exports = path => { if (typeof path !== 'string') throw new Error('admin.url must be a string'); if (path === '' || path === '/') return '/'; - if (path[0] != '/') path = '/' + path; - if (path[path.length - 1] != '/') path = path + '/'; + if (path[0] != '/') path = `/${path}`; + if (path[path.length - 1] != '/') path += '/'; return path; }; diff --git a/packages/core/strapi/lib/utils/open-browser.js b/packages/core/strapi/lib/utils/open-browser.js index 4f2702001f..697a6ccd1e 100644 --- a/packages/core/strapi/lib/utils/open-browser.js +++ b/packages/core/strapi/lib/utils/open-browser.js @@ -1,6 +1,6 @@ 'use strict'; -var open = require('open'); +const open = require('open'); const { getAbsoluteAdminUrl } = require('@strapi/utils'); async function openBrowser(config) { diff --git a/packages/core/strapi/lib/utils/run-checks.js b/packages/core/strapi/lib/utils/run-checks.js index 1a93dfc516..6f9a3ec1eb 100644 --- a/packages/core/strapi/lib/utils/run-checks.js +++ b/packages/core/strapi/lib/utils/run-checks.js @@ -5,8 +5,8 @@ const fs = require('fs-extra'); const requiredPaths = ['api', 'extensions', 'plugins', 'config', 'public']; const checkFoldersExist = ({ appPath }) => { - let missingPaths = []; - for (let reqPath of requiredPaths) { + const missingPaths = []; + for (const reqPath of requiredPaths) { if (!fs.pathExistsSync(path.resolve(appPath, reqPath))) { missingPaths.push(reqPath); } diff --git a/packages/core/strapi/lib/utils/startup-logger.js b/packages/core/strapi/lib/utils/startup-logger.js index 214dd5c9c6..0b26dc919b 100644 --- a/packages/core/strapi/lib/utils/startup-logger.js +++ b/packages/core/strapi/lib/utils/startup-logger.js @@ -23,7 +23,7 @@ module.exports = app => { infoTable.push( [chalk.blue('Time'), `${new Date()}`], - [chalk.blue('Launched in'), Date.now() - app.config.launchedAt + ' ms'], + [chalk.blue('Launched in'), `${Date.now() - app.config.launchedAt} ms`], [chalk.blue('Environment'), app.config.environment], [chalk.blue('Process PID'), process.pid], [chalk.blue('Version'), `${app.config.info.strapi} (node ${process.version})`], diff --git a/packages/core/strapi/lib/utils/success.js b/packages/core/strapi/lib/utils/success.js index 397656679d..231442f0fb 100644 --- a/packages/core/strapi/lib/utils/success.js +++ b/packages/core/strapi/lib/utils/success.js @@ -27,5 +27,5 @@ try { }).catch(() => {}); } } catch (e) { - //... + // ... } diff --git a/packages/core/strapi/tests/api/basic-compo-repeatable.test.e2e.js b/packages/core/strapi/tests/api/basic-compo-repeatable.test.e2e.js index a4a8d54f8d..1eb9984f43 100644 --- a/packages/core/strapi/tests/api/basic-compo-repeatable.test.e2e.js +++ b/packages/core/strapi/tests/api/basic-compo-repeatable.test.e2e.js @@ -7,7 +7,7 @@ const { createContentAPIRequest } = require('../../../../../test/helpers/request const builder = createTestBuilder(); let strapi; let rq; -let data = { +const data = { productsWithCompo: [], }; diff --git a/packages/core/strapi/tests/api/basic-compo.test.e2e.js b/packages/core/strapi/tests/api/basic-compo.test.e2e.js index 6e7a3c5d2c..757d4d5b6b 100644 --- a/packages/core/strapi/tests/api/basic-compo.test.e2e.js +++ b/packages/core/strapi/tests/api/basic-compo.test.e2e.js @@ -7,7 +7,7 @@ const { createContentAPIRequest } = require('../../../../../test/helpers/request const builder = createTestBuilder(); let strapi; let rq; -let data = { +const data = { productsWithCompo: [], }; diff --git a/packages/core/strapi/tests/api/basic-dp-compo-repeatable.test.e2e.js b/packages/core/strapi/tests/api/basic-dp-compo-repeatable.test.e2e.js index c4d0b74ee2..60f09fe1c4 100644 --- a/packages/core/strapi/tests/api/basic-dp-compo-repeatable.test.e2e.js +++ b/packages/core/strapi/tests/api/basic-dp-compo-repeatable.test.e2e.js @@ -7,7 +7,7 @@ const { createContentAPIRequest } = require('../../../../../test/helpers/request const builder = createTestBuilder(); let strapi; let rq; -let data = { +const data = { productsWithCompoAndDP: [], }; diff --git a/packages/core/strapi/tests/api/basic-dp-compo.test.e2e.js b/packages/core/strapi/tests/api/basic-dp-compo.test.e2e.js index 613d6cbaae..b72a6a3876 100644 --- a/packages/core/strapi/tests/api/basic-dp-compo.test.e2e.js +++ b/packages/core/strapi/tests/api/basic-dp-compo.test.e2e.js @@ -7,7 +7,7 @@ const { createContentAPIRequest } = require('../../../../../test/helpers/request const builder = createTestBuilder(); let strapi; let rq; -let data = { +const data = { productsWithCompoAndDP: [], }; diff --git a/packages/core/strapi/tests/api/basic-dp.test.e2e.js b/packages/core/strapi/tests/api/basic-dp.test.e2e.js index 47785b0a5c..84781a9287 100644 --- a/packages/core/strapi/tests/api/basic-dp.test.e2e.js +++ b/packages/core/strapi/tests/api/basic-dp.test.e2e.js @@ -9,7 +9,7 @@ const { createContentAPIRequest } = require('../../../../../test/helpers/request const builder = createTestBuilder(); let strapi; let rq; -let data = { +const data = { products: [], }; diff --git a/packages/core/strapi/tests/api/basic.test.e2e.js b/packages/core/strapi/tests/api/basic.test.e2e.js index c332ea89dd..0e6603bd2c 100644 --- a/packages/core/strapi/tests/api/basic.test.e2e.js +++ b/packages/core/strapi/tests/api/basic.test.e2e.js @@ -7,7 +7,7 @@ const { createContentAPIRequest } = require('../../../../../test/helpers/request const builder = createTestBuilder(); let strapi; let rq; -let data = { +const data = { product: [], }; diff --git a/packages/core/strapi/tests/endpoint.test.e2e.js b/packages/core/strapi/tests/endpoint.test.e2e.js index afc857e0bb..96555874ee 100644 --- a/packages/core/strapi/tests/endpoint.test.e2e.js +++ b/packages/core/strapi/tests/endpoint.test.e2e.js @@ -145,9 +145,7 @@ describe('Create Strapi API End to End', () => { test('Update article1 add tag2', async () => { const { id, attributes } = data.articles[0]; - const entry = Object.assign({}, attributes, { - tags: [data.tags[1].id], - }); + const entry = { ...attributes, tags: [data.tags[1].id] }; cleanDate(entry); @@ -174,7 +172,7 @@ describe('Create Strapi API End to End', () => { test('Update article1 add tag1 and tag3', async () => { const { id, attributes } = data.articles[0]; - const entry = Object.assign({}, attributes); + const entry = { ...attributes }; entry.tags = data.tags.map(t => t.id); cleanDate(entry); @@ -202,7 +200,7 @@ describe('Create Strapi API End to End', () => { test('Update article1 remove one tag', async () => { const { id, attributes } = data.articles[0]; - const entry = Object.assign({}, attributes); + const entry = { ...attributes }; entry.tags = entry.tags.data.slice(1).map(t => t.id); cleanDate(entry); @@ -229,9 +227,7 @@ describe('Create Strapi API End to End', () => { test('Update article1 remove all tag', async () => { const { id, attributes } = data.articles[0]; - const entry = Object.assign({}, attributes, { - tags: [], - }); + const entry = { ...attributes, tags: [] }; cleanDate(entry); @@ -338,9 +334,7 @@ describe('Create Strapi API End to End', () => { test('Update article1 with cat2', async () => { const { id, attributes } = data.articles[0]; - const entry = Object.assign({}, attributes, { - category: data.categories[1].id, - }); + const entry = { ...attributes, category: data.categories[1].id }; cleanDate(entry); @@ -389,9 +383,7 @@ describe('Create Strapi API End to End', () => { test('Update article2 with cat2', async () => { const { id, attributes } = data.articles[1]; - const entry = Object.assign({}, attributes, { - category: data.categories[1].id, - }); + const entry = { ...attributes, category: data.categories[1].id }; cleanDate(entry); @@ -419,7 +411,7 @@ describe('Create Strapi API End to End', () => { test('Update cat1 with article1', async () => { const { id, attributes } = data.categories[0]; - const entry = Object.assign({}, attributes); + const entry = { ...attributes }; entry.articles = data.categories[0].attributes.articles.data .map(a => a.id) .concat(data.articles[0].id); @@ -590,9 +582,7 @@ describe('Create Strapi API End to End', () => { test('Update article1 with ref1', async () => { const { id, attributes } = data.articles[0]; - const entry = Object.assign({}, attributes, { - reference: data.references[0].id, - }); + const entry = { ...attributes, reference: data.references[0].id }; cleanDate(entry); diff --git a/packages/core/strapi/tests/filtering.test.e2e.js b/packages/core/strapi/tests/filtering.test.e2e.js index 076d2e61d8..3e575f5d4c 100644 --- a/packages/core/strapi/tests/filtering.test.e2e.js +++ b/packages/core/strapi/tests/filtering.test.e2e.js @@ -1261,7 +1261,7 @@ describe('Filtering API', () => { }); test('Combined filters', async () => { - let res = await rq({ + const res = await rq({ method: 'GET', url: '/products', qs: { diff --git a/packages/core/strapi/tests/lifecycles/before-delete.test.e2e.js b/packages/core/strapi/tests/lifecycles/before-delete.test.e2e.js index 0e986eb440..f33ea982c2 100644 --- a/packages/core/strapi/tests/lifecycles/before-delete.test.e2e.js +++ b/packages/core/strapi/tests/lifecycles/before-delete.test.e2e.js @@ -7,7 +7,7 @@ const { createContentAPIRequest } = require('../../../../../test/helpers/request let builder; let strapi; let rq; -let data = { +const data = { productsWithCompo: [], }; diff --git a/packages/core/strapi/tests/migrations/migration-draft-publish.test.e2e.js b/packages/core/strapi/tests/migrations/migration-draft-publish.test.e2e.js index 224fe86a7e..acd0abebe8 100644 --- a/packages/core/strapi/tests/migrations/migration-draft-publish.test.e2e.js +++ b/packages/core/strapi/tests/migrations/migration-draft-publish.test.e2e.js @@ -10,7 +10,7 @@ const modelsUtils = require('../../../../../test/helpers/models'); let builder; let strapi; let rq; -let data = { +const data = { dogs: [], }; const dogModel = { @@ -76,7 +76,7 @@ describe('Migration - draft and publish', () => { describe('Enabling D&P on a content-type', () => { test('No publishedAt before enabling the feature', async () => { - let { body } = await rq({ + const { body } = await rq({ url: '/content-manager/collection-types/api::dog.dog', method: 'GET', }); @@ -105,7 +105,7 @@ describe('Migration - draft and publish', () => { await restart(); - let { body } = await rq({ + const { body } = await rq({ method: 'GET', url: '/content-manager/collection-types/api::dog.dog', }); @@ -149,7 +149,7 @@ describe('Migration - draft and publish', () => { // drafts should have been deleted with the migration, so we remove them data.dogs = data.dogs.filter(dog => !_.isNil(dog.publishedAt)); - let { body } = await rq({ + const { body } = await rq({ url: '/content-manager/collection-types/api::dog.dog', method: 'GET', }); diff --git a/packages/core/strapi/tests/migrations/migration-required-attribute.test.e2e.js b/packages/core/strapi/tests/migrations/migration-required-attribute.test.e2e.js index 750b374412..33b2e9832d 100644 --- a/packages/core/strapi/tests/migrations/migration-required-attribute.test.e2e.js +++ b/packages/core/strapi/tests/migrations/migration-required-attribute.test.e2e.js @@ -8,7 +8,7 @@ const modelsUtils = require('../../../../../test/helpers/models'); const builder = createTestBuilder(); let strapi; let rq; -let data = { +const data = { dogs: [], }; @@ -63,7 +63,7 @@ describe('Migration - required attribute', () => { describe('Required: false -> true', () => { test('Can be null before migration', async () => { - let { body } = await rq({ + const { body } = await rq({ method: 'GET', url: '/content-manager/collection-types/api::dog.dog', }); diff --git a/packages/core/strapi/tests/migrations/migration-unique-attribute.test.e2e.js b/packages/core/strapi/tests/migrations/migration-unique-attribute.test.e2e.js index a9fd43c429..b66ef4204e 100644 --- a/packages/core/strapi/tests/migrations/migration-unique-attribute.test.e2e.js +++ b/packages/core/strapi/tests/migrations/migration-unique-attribute.test.e2e.js @@ -8,7 +8,7 @@ const modelsUtils = require('../../../../../test/helpers/models'); const builder = createTestBuilder(); let strapi; let rq; -let data = { +const data = { dogs: [], }; @@ -63,7 +63,7 @@ describe('Migration - unique attribute', () => { describe('Unique: false -> true', () => { test('Can have duplicates before migration', async () => { - let { body } = await rq({ + const { body } = await rq({ url: '/content-manager/collection-types/api::dog.dog', method: 'GET', }); diff --git a/packages/core/strapi/tests/search.test.e2e.js b/packages/core/strapi/tests/search.test.e2e.js index 5fd7432708..b3dc06233e 100644 --- a/packages/core/strapi/tests/search.test.e2e.js +++ b/packages/core/strapi/tests/search.test.e2e.js @@ -11,7 +11,7 @@ const { const builder = createTestBuilder(); let rq; let strapi; -let data = { +const data = { bed: [], }; diff --git a/packages/core/strapi/tests/single-type.test.e2e.js b/packages/core/strapi/tests/single-type.test.e2e.js index 3c5259c2bf..5682f6b12d 100644 --- a/packages/core/strapi/tests/single-type.test.e2e.js +++ b/packages/core/strapi/tests/single-type.test.e2e.js @@ -8,8 +8,8 @@ const { createTestBuilder } = require('../../../../test/helpers/builder'); const builder = createTestBuilder(); let strapi; let rq; -let uid = 'single-type'; -let data = {}; +const uid = 'single-type'; +const data = {}; const model = { kind: 'singleType', diff --git a/packages/core/upload/server/controllers/admin-folder-file.js b/packages/core/upload/server/controllers/admin-folder-file.js index 5584aff281..dde093bc21 100644 --- a/packages/core/upload/server/controllers/admin-folder-file.js +++ b/packages/core/upload/server/controllers/admin-folder-file.js @@ -118,7 +118,7 @@ module.exports = { if (existingFolders.length > 0) { // update folders' parent relation - const joinTable = strapi.db.metadata.get(FOLDER_MODEL_UID).attributes.parent.joinTable; + const { joinTable } = strapi.db.metadata.get(FOLDER_MODEL_UID).attributes.parent; await strapi.db .queryBuilder(joinTable.name) .transacting(trx) diff --git a/packages/core/upload/server/graphql.js b/packages/core/upload/server/graphql.js index 2fc6e7b850..0922dfdb0d 100644 --- a/packages/core/upload/server/graphql.js +++ b/packages/core/upload/server/graphql.js @@ -236,11 +236,11 @@ module.exports = ({ strapi }) => { types: [fileInfoInputType, mutations], resolversConfig: { // Use custom scopes for the upload file CRUD operations - ['Query.uploadFiles']: { auth: { scope: 'plugin::upload.content-api.find' } }, - ['Query.uploadFile']: { auth: { scope: 'plugin::upload.content-api.findOne' } }, - ['Mutation.createUploadFile']: { auth: { scope: 'plugin::upload.content-api.upload' } }, - ['Mutation.updateUploadFile']: { auth: { scope: 'plugin::upload.content-api.upload' } }, - ['Mutation.deleteUploadFile']: { auth: { scope: 'plugin::upload.content-api.destroy' } }, + 'Query.uploadFiles': { auth: { scope: 'plugin::upload.content-api.find' } }, + 'Query.uploadFile': { auth: { scope: 'plugin::upload.content-api.findOne' } }, + 'Mutation.createUploadFile': { auth: { scope: 'plugin::upload.content-api.upload' } }, + 'Mutation.updateUploadFile': { auth: { scope: 'plugin::upload.content-api.upload' } }, + 'Mutation.deleteUploadFile': { auth: { scope: 'plugin::upload.content-api.destroy' } }, [`Mutation.${UPLOAD_MUTATION_NAME}`]: { auth: { scope: 'plugin::upload.content-api.upload' }, diff --git a/packages/core/upload/server/services/__tests__/folder.test.js b/packages/core/upload/server/services/__tests__/folder.test.js index 6165931b00..c6308e2a7a 100644 --- a/packages/core/upload/server/services/__tests__/folder.test.js +++ b/packages/core/upload/server/services/__tests__/folder.test.js @@ -4,7 +4,7 @@ const { setPathIdAndPath } = require('../folder'); const folderUID = '1'; const rootPathRegex = /^\/[0-9]*$/i; -const folderPathRegex = new RegExp('^/' + folderUID + '/[0-9]*$', 'i'); +const folderPathRegex = new RegExp(`^/${folderUID}/[0-9]*$`, 'i'); describe('folder', () => { describe('setPathIdAndPath', () => { diff --git a/packages/core/upload/server/services/__tests__/metrics.js b/packages/core/upload/server/services/__tests__/metrics.js index 8bb0a2016e..8f19a7b617 100644 --- a/packages/core/upload/server/services/__tests__/metrics.js +++ b/packages/core/upload/server/services/__tests__/metrics.js @@ -4,7 +4,7 @@ const metricsService = require('../metrics'); // TODO: the matcher exists in jest@28 const closeTo = (expected, precision = 2) => ({ - asymmetricMatch: actual => Math.abs(expected - actual) < Math.pow(10, -precision) / 2, + asymmetricMatch: actual => Math.abs(expected - actual) < 10 ** -precision / 2, }); describe('metrics', () => { diff --git a/packages/core/upload/server/services/__tests__/upload/uploadImage.test.js b/packages/core/upload/server/services/__tests__/upload/uploadImage.test.js index 6a6e572df6..d7e4473bb5 100644 --- a/packages/core/upload/server/services/__tests__/upload/uploadImage.test.js +++ b/packages/core/upload/server/services/__tests__/upload/uploadImage.test.js @@ -70,7 +70,7 @@ describe('Upload image', () => { }); test('Upload with thubmnail', async () => { - let fileData = getFileData(imageFilePath); + const fileData = getFileData(imageFilePath); const upload = jest.fn(); mockUploadProvider(upload); @@ -79,7 +79,7 @@ describe('Upload image', () => { }); test('Upload with responsive formats', async () => { - let fileData = getFileData(imageFilePath); + const fileData = getFileData(imageFilePath); const upload = jest.fn(); mockUploadProvider(upload, { responsiveDimensions: true }); diff --git a/packages/core/upload/server/services/folder.js b/packages/core/upload/server/services/folder.js index ebc7092668..49db2362b4 100644 --- a/packages/core/upload/server/services/folder.js +++ b/packages/core/upload/server/services/folder.js @@ -113,7 +113,7 @@ const update = async (id, { name, parent }, { user }) => { .execute(); // update parent folder (delete + insert; upsert not possible) - const joinTable = strapi.db.metadata.get(FOLDER_MODEL_UID).attributes.parent.joinTable; + const { joinTable } = strapi.db.metadata.get(FOLDER_MODEL_UID).attributes.parent; await strapi.db .queryBuilder(joinTable.name) .transacting(trx) @@ -207,7 +207,7 @@ const exists = async (params = {}) => { * @returns {Promise} */ const getStructure = async () => { - const joinTable = strapi.db.metadata.get(FOLDER_MODEL_UID).attributes.parent.joinTable; + const { joinTable } = strapi.db.metadata.get(FOLDER_MODEL_UID).attributes.parent; const qb = strapi.db.queryBuilder(FOLDER_MODEL_UID); const alias = qb.getAlias(); const folders = await qb diff --git a/packages/core/upload/server/services/image-manipulation.js b/packages/core/upload/server/services/image-manipulation.js index 1828c3468e..4bb4a2b2cd 100644 --- a/packages/core/upload/server/services/image-manipulation.js +++ b/packages/core/upload/server/services/image-manipulation.js @@ -1,4 +1,5 @@ 'use strict'; + /** * Image manipulation functions */ @@ -111,7 +112,7 @@ const optimize = async file => { if (newSize > size) { // Ignore optimization if output is bigger than original - return Object.assign({}, file, { width, height, size: bytesToKbytes(size) }); + return { ...file, width, height, size: bytesToKbytes(size) }; } return Object.assign(newFile, { diff --git a/packages/core/upload/server/services/metrics.js b/packages/core/upload/server/services/metrics.js index bc03f34187..67f08fd8b9 100644 --- a/packages/core/upload/server/services/metrics.js +++ b/packages/core/upload/server/services/metrics.js @@ -21,7 +21,7 @@ module.exports = ({ strapi }) => ({ const folderTable = strapi.getModel(FOLDER_MODEL_UID).collectionName; let keepOnlySlashesSQLString = '??'; - let queryParams = [pathColName]; + const queryParams = [pathColName]; for (let i = 0; i < 10; i += 1) { keepOnlySlashesSQLString = `REPLACE(${keepOnlySlashesSQLString}, ?, ?)`; queryParams.push(String(i), ''); diff --git a/packages/core/upload/server/utils/file.js b/packages/core/upload/server/utils/file.js index beca4be334..5b8d382eed 100644 --- a/packages/core/upload/server/utils/file.js +++ b/packages/core/upload/server/utils/file.js @@ -1,4 +1,5 @@ 'use strict'; + /** * Utils file containing file treatment utils */ diff --git a/packages/core/upload/tests/admin/file-folder.test.e2e.js b/packages/core/upload/tests/admin/file-folder.test.e2e.js index bcb8070ca6..98aa6c33d1 100644 --- a/packages/core/upload/tests/admin/file-folder.test.e2e.js +++ b/packages/core/upload/tests/admin/file-folder.test.e2e.js @@ -9,7 +9,7 @@ const { createAuthRequest } = require('../../../../../test/helpers/request'); let strapi; let rq; -let data = { +const data = { folders: [], files: [], }; diff --git a/packages/core/upload/tests/admin/folder-file.test.e2e.js b/packages/core/upload/tests/admin/folder-file.test.e2e.js index 1f9ce98624..ea1616da2d 100644 --- a/packages/core/upload/tests/admin/folder-file.test.e2e.js +++ b/packages/core/upload/tests/admin/folder-file.test.e2e.js @@ -9,7 +9,7 @@ const { createAuthRequest } = require('../../../../../test/helpers/request'); let strapi; let rq; -let data = { +const data = { folders: [], files: [], }; diff --git a/packages/core/upload/tests/admin/folder-structure.test.e2e.js b/packages/core/upload/tests/admin/folder-structure.test.e2e.js index 3ab8e23924..0a6bf2d945 100644 --- a/packages/core/upload/tests/admin/folder-structure.test.e2e.js +++ b/packages/core/upload/tests/admin/folder-structure.test.e2e.js @@ -6,7 +6,7 @@ const { createAuthRequest } = require('../../../../../test/helpers/request'); let strapi; let rq; -let data = { +const data = { folders: [], }; diff --git a/packages/core/upload/tests/admin/folder.test.e2e.js b/packages/core/upload/tests/admin/folder.test.e2e.js index c4356f8d90..7ef2ec2ce1 100644 --- a/packages/core/upload/tests/admin/folder.test.e2e.js +++ b/packages/core/upload/tests/admin/folder.test.e2e.js @@ -11,12 +11,12 @@ const { createAuthRequest } = require('../../../../../test/helpers/request'); let strapi; let rq; -let data = { +const data = { folders: [], }; const rootPathRegex = /^\/[0-9]*$/i; -const getFolderPathRegex = pathId => new RegExp('^/' + pathId + '/[0-9]*$', 'i'); +const getFolderPathRegex = pathId => new RegExp(`^/${pathId}/[0-9]*$`, 'i'); const createFolder = async (name, parent = null) => { const res = await rq({ diff --git a/packages/core/utils/lib/build-query.js b/packages/core/utils/lib/build-query.js index 35c7f7da37..b2814cfe1d 100644 --- a/packages/core/utils/lib/build-query.js +++ b/packages/core/utils/lib/build-query.js @@ -1,6 +1,6 @@ 'use strict'; -//TODO: move to dbal +// TODO: move to dbal const _ = require('lodash'); const parseType = require('./parse-type'); @@ -114,7 +114,8 @@ const normalizeWhereClauses = (whereClauses, { model }) => { .filter(({ field, value }) => { if (_.isNull(value)) { return false; - } else if (_.isUndefined(value)) { + } + if (_.isUndefined(value)) { strapi.log.warn(`The value of field: '${field}', in your where filter, is undefined.`); return false; } diff --git a/packages/core/utils/lib/config.js b/packages/core/utils/lib/config.js index 9a653aa4d9..26ea365fc6 100644 --- a/packages/core/utils/lib/config.js +++ b/packages/core/utils/lib/config.js @@ -64,13 +64,13 @@ const getConfigUrls = (config, forAdminBuild = false) => { const getAbsoluteUrl = adminOrServer => (config, forAdminBuild = false) => { const { serverUrl, adminUrl } = getConfigUrls(config, forAdminBuild); - let url = adminOrServer === 'server' ? serverUrl : adminUrl; + const url = adminOrServer === 'server' ? serverUrl : adminUrl; if (url.startsWith('http')) { return url; } - let hostname = + const hostname = config.get('environment') === 'development' && ['127.0.0.1', '0.0.0.0'].includes(config.get('server.host')) ? 'localhost' diff --git a/packages/core/utils/lib/convert-query-params.js b/packages/core/utils/lib/convert-query-params.js index 1640bc5de4..6c4093175c 100644 --- a/packages/core/utils/lib/convert-query-params.js +++ b/packages/core/utils/lib/convert-query-params.js @@ -336,12 +336,10 @@ const convertAndSanitizeFilters = (filters, schema) => { } // Handle operators - else { - if (['$null', '$notNull'].includes(key)) { - filters[key] = parseType({ type: 'boolean', value: filters[key], forceCast: true }); - } else if (isObject(value)) { - filters[key] = convertAndSanitizeFilters(value, schema); - } + else if (['$null', '$notNull'].includes(key)) { + filters[key] = parseType({ type: 'boolean', value: filters[key], forceCast: true }); + } else if (isObject(value)) { + filters[key] = convertAndSanitizeFilters(value, schema); } // Remove empty objects & arrays diff --git a/packages/core/utils/lib/parse-type.js b/packages/core/utils/lib/parse-type.js index f96052ebe9..bb6e0b03a0 100644 --- a/packages/core/utils/lib/parse-type.js +++ b/packages/core/utils/lib/parse-type.js @@ -26,7 +26,7 @@ const parseTime = value => { const parseDate = value => { if (dates.isDate(value)) return dates.format(value, 'yyyy-MM-dd'); try { - let date = dates.parseISO(value); + const date = dates.parseISO(value); if (dates.isValid(date)) return dates.format(date, 'yyyy-MM-dd'); diff --git a/packages/core/utils/lib/policy.js b/packages/core/utils/lib/policy.js index 5474e9c1ec..7eec9c7ade 100644 --- a/packages/core/utils/lib/policy.js +++ b/packages/core/utils/lib/policy.js @@ -1,6 +1,7 @@ /** * Policies util */ + 'use strict'; const _ = require('lodash'); diff --git a/packages/core/utils/lib/print-value.js b/packages/core/utils/lib/print-value.js index 0645e99f61..ec258eed7d 100644 --- a/packages/core/utils/lib/print-value.js +++ b/packages/core/utils/lib/print-value.js @@ -3,7 +3,7 @@ // Code copied from the yup library (https://github.com/jquense/yup) // https://github.com/jquense/yup/blob/2778b88bdacd5260d593c6468793da2e77daf21f/src/util/printValue.ts -const toString = Object.prototype.toString; +const { toString } = Object.prototype; const errorToString = Error.prototype.toString; const regExpToString = RegExp.prototype.toString; const symbolToString = typeof Symbol !== 'undefined' ? Symbol.prototype.toString : () => ''; @@ -13,34 +13,34 @@ const SYMBOL_REGEXP = /^Symbol\((.*)\)(.*)$/; function printNumber(val) { if (val != +val) return 'NaN'; const isNegativeZero = val === 0 && 1 / val < 0; - return isNegativeZero ? '-0' : '' + val; + return isNegativeZero ? '-0' : `${val}`; } function printSimpleValue(val, quoteStrings = false) { - if (val == null || val === true || val === false) return '' + val; + if (val == null || val === true || val === false) return `${val}`; const typeOf = typeof val; if (typeOf === 'number') return printNumber(val); if (typeOf === 'string') return quoteStrings ? `"${val}"` : val; - if (typeOf === 'function') return '[Function ' + (val.name || 'anonymous') + ']'; + if (typeOf === 'function') return `[Function ${val.name || 'anonymous'}]`; if (typeOf === 'symbol') return symbolToString.call(val).replace(SYMBOL_REGEXP, 'Symbol($1)'); const tag = toString.call(val).slice(8, -1); - if (tag === 'Date') return isNaN(val.getTime()) ? '' + val : val.toISOString(val); - if (tag === 'Error' || val instanceof Error) return '[' + errorToString.call(val) + ']'; + if (tag === 'Date') return isNaN(val.getTime()) ? `${val}` : val.toISOString(val); + if (tag === 'Error' || val instanceof Error) return `[${errorToString.call(val)}]`; if (tag === 'RegExp') return regExpToString.call(val); return null; } function printValue(value, quoteStrings) { - let result = printSimpleValue(value, quoteStrings); + const result = printSimpleValue(value, quoteStrings); if (result !== null) return result; return JSON.stringify( value, function(key, value) { - let result = printSimpleValue(this[key], quoteStrings); + const result = printSimpleValue(this[key], quoteStrings); if (result !== null) return result; return value; }, diff --git a/packages/core/utils/lib/sanitize/visitors/restricted-fields.js b/packages/core/utils/lib/sanitize/visitors/restricted-fields.js index d3f1805d5f..08232ea83a 100644 --- a/packages/core/utils/lib/sanitize/visitors/restricted-fields.js +++ b/packages/core/utils/lib/sanitize/visitors/restricted-fields.js @@ -26,6 +26,5 @@ module.exports = (restrictedFields = null) => ({ key, path }, { remove }) => { ); if (isRestrictedNested) { remove(key); - return; } }; diff --git a/packages/core/utils/lib/string-formatting.js b/packages/core/utils/lib/string-formatting.js index dbef3c2413..a7969a8a43 100644 --- a/packages/core/utils/lib/string-formatting.js +++ b/packages/core/utils/lib/string-formatting.js @@ -1,4 +1,5 @@ 'use strict'; + const _ = require('lodash'); const { trimChars, trimCharsEnd, trimCharsStart } = require('lodash/fp'); const slugify = require('@sindresorhus/slugify'); diff --git a/packages/core/utils/lib/validators.js b/packages/core/utils/lib/validators.js index 59d7a4381e..dcce78cfc9 100644 --- a/packages/core/utils/lib/validators.js +++ b/packages/core/utils/lib/validators.js @@ -87,11 +87,12 @@ const validateYupSchemaSync = (schema, options = {}) => (body, errorMessage) => yup.setLocale({ mixed: { notType({ path, type, value, originalValue }) { - let isCast = originalValue != null && originalValue !== value; - let msg = + const isCast = originalValue != null && originalValue !== value; + const msg = `${path} must be a \`${type}\` type, ` + - `but the final value was: \`${printValue(value, true)}\`` + - (isCast ? ` (cast from the value \`${printValue(originalValue, true)}\`).` : '.'); + `but the final value was: \`${printValue(value, true)}\`${ + isCast ? ` (cast from the value \`${printValue(originalValue, true)}\`).` : '.' + }`; /* Remove comment that is not supposed to be seen by the enduser if (value === null) { diff --git a/packages/generators/admin/plopfile.js b/packages/generators/admin/plopfile.js index 54b0f15d27..629668e34e 100644 --- a/packages/generators/admin/plopfile.js +++ b/packages/generators/admin/plopfile.js @@ -46,10 +46,9 @@ module.exports = function( if (arguments.length === 2) { const condition = arguments[0]; return leftShift(condition ? fn(this) : inverse(this)); - } else { - const [a, operator, b] = Array.from(arguments).slice(0, end); - return leftShift(evaluateExpression(a, operator, b) ? fn(this) : inverse(this)); } + const [a, operator, b] = Array.from(arguments).slice(0, end); + return leftShift(evaluateExpression(a, operator, b) ? fn(this) : inverse(this)); }); plop.setHelper('unless', function(/* ...args, options */) { const end = arguments.length - 1; @@ -57,10 +56,9 @@ module.exports = function( if (arguments.length === 2) { const condition = arguments[0]; return leftShift(!condition ? fn(this) : inverse(this)); - } else { - const [a, operator, b] = Array.from(arguments).slice(0, end); - return leftShift(!evaluateExpression(a, operator, b) ? fn(this) : inverse(this)); } + const [a, operator, b] = Array.from(arguments).slice(0, end); + return leftShift(!evaluateExpression(a, operator, b) ? fn(this) : inverse(this)); }); plop.setHelper('else', function(_, { fn }) { return leftShift(fn(this)); diff --git a/packages/generators/app/lib/create-cli-db-project.js b/packages/generators/app/lib/create-cli-db-project.js index 5c5f6eb926..36caf473a1 100644 --- a/packages/generators/app/lib/create-cli-db-project.js +++ b/packages/generators/app/lib/create-cli-db-project.js @@ -12,7 +12,7 @@ module.exports = async scope => { console.log('Creating a project from the database CLI arguments.'); await trackUsage({ event: 'didChooseCustomDatabase', scope }); - const client = scope.database.client; + const { client } = scope.database; const configuration = { client: getClientName({ client }), connection: merge({}, defaultConfigs[client] || {}, scope.database), diff --git a/packages/generators/app/lib/create-customized-project.js b/packages/generators/app/lib/create-customized-project.js index 19fca39f8c..e68dc08e41 100644 --- a/packages/generators/app/lib/create-customized-project.js +++ b/packages/generators/app/lib/create-customized-project.js @@ -1,4 +1,5 @@ /* eslint-disable no-unreachable */ + 'use strict'; const { join } = require('path'); @@ -151,8 +152,8 @@ async function askDatabaseInfos(scope) { } async function installDatabaseTestingDep({ scope, configuration }) { - let packageManager = scope.useYarn ? 'yarnpkg' : 'npm'; - let cmd = scope.useYarn + const packageManager = scope.useYarn ? 'yarnpkg' : 'npm'; + const cmd = scope.useYarn ? ['--cwd', scope.tmpPath, 'add'] : ['install', '--prefix', scope.tmpPath]; diff --git a/packages/generators/app/lib/index.js b/packages/generators/app/lib/index.js index 3fb6e42d42..99bd327d4b 100644 --- a/packages/generators/app/lib/index.js +++ b/packages/generators/app/lib/index.js @@ -32,7 +32,7 @@ const generateNewApp = (projectDirectory, cliArguments) => { rootPath, name: basename(rootPath), // disable quickstart run app after creation - runQuickstartApp: cliArguments.run === false ? false : true, + runQuickstartApp: cliArguments.run !== false, // use pacakge version as strapiVersion (all packages have the same version); strapiVersion: require('../package.json').version, debug: cliArguments.debug !== undefined, diff --git a/packages/generators/app/lib/resources/json/common/package.json.js b/packages/generators/app/lib/resources/json/common/package.json.js index 7760415ddb..e26fb4c864 100644 --- a/packages/generators/app/lib/resources/json/common/package.json.js +++ b/packages/generators/app/lib/resources/json/common/package.json.js @@ -28,14 +28,13 @@ module.exports = opts => { strapi: 'strapi', }, devDependencies: {}, - dependencies: Object.assign( - {}, - strapiDependencies.reduce((acc, key) => { + dependencies: { + ...strapiDependencies.reduce((acc, key) => { acc[key] = strapiVersion; return acc; }, {}), - additionalsDependencies - ), + ...additionalsDependencies, + }, author: { name: 'A Strapi developer', }, diff --git a/packages/generators/app/lib/utils/check-requirements.js b/packages/generators/app/lib/utils/check-requirements.js index 09e6a91ef8..8aee891e8f 100644 --- a/packages/generators/app/lib/utils/check-requirements.js +++ b/packages/generators/app/lib/utils/check-requirements.js @@ -1,9 +1,9 @@ 'use strict'; module.exports = function checkBeforeInstall() { - var currentNodeVersion = process.versions.node; - var semver = currentNodeVersion.split('.'); - var major = semver[0]; + const currentNodeVersion = process.versions.node; + const semver = currentNodeVersion.split('.'); + const major = semver[0]; if (major < 12) { console.error(`You are running Node ${currentNodeVersion}`); diff --git a/packages/generators/app/lib/utils/usage.js b/packages/generators/app/lib/utils/usage.js index 196c1c6b82..34745d4a3c 100644 --- a/packages/generators/app/lib/utils/usage.js +++ b/packages/generators/app/lib/utils/usage.js @@ -21,7 +21,7 @@ async function captureException(error) { sentry.captureException(error); await sentry.flush(); } catch (err) { - /** ignore errors*/ + /** ignore errors */ return Promise.resolve(); } } @@ -31,7 +31,7 @@ async function captureError(message) { sentry.captureMessage(message, 'error'); await sentry.flush(); } catch (err) { - /** ignore errors*/ + /** ignore errors */ return Promise.resolve(); } } @@ -69,7 +69,7 @@ function trackEvent(event, body) { headers: { 'Content-Type': 'application/json' }, }).catch(() => {}); } catch (err) { - /** ignore errors*/ + /** ignore errors */ return Promise.resolve(); } } @@ -78,7 +78,7 @@ function trackError({ scope, error }) { const { uuid } = scope; const properties = { - error: typeof error == 'string' ? error : error && error.message, + error: typeof error === 'string' ? error : error && error.message, os: os.type(), platform: os.platform(), release: os.release(), @@ -97,7 +97,7 @@ function trackError({ scope, error }) { properties: addPackageJsonStrapiMetadata(properties, scope), }); } catch (err) { - /** ignore errors*/ + /** ignore errors */ return Promise.resolve(); } } @@ -106,7 +106,7 @@ function trackUsage({ event, scope, error }) { const { uuid } = scope; const properties = { - error: typeof error == 'string' ? error : error && error.message, + error: typeof error === 'string' ? error : error && error.message, os: os.type(), os_platform: os.platform(), os_release: os.release(), @@ -126,7 +126,7 @@ function trackUsage({ event, scope, error }) { properties: addPackageJsonStrapiMetadata(properties, scope), }); } catch (err) { - /** ignore errors*/ + /** ignore errors */ return Promise.resolve(); } } diff --git a/packages/generators/generators/lib/plops/prompts/get-destination-prompts.js b/packages/generators/generators/lib/plops/prompts/get-destination-prompts.js index 77d9c12b99..5f3fdb0a53 100644 --- a/packages/generators/generators/lib/plops/prompts/get-destination-prompts.js +++ b/packages/generators/generators/lib/plops/prompts/get-destination-prompts.js @@ -1,4 +1,5 @@ 'use strict'; + const { join } = require('path'); const fs = require('fs-extra'); diff --git a/packages/plugins/documentation/__tests__/build-component-schema.test.js b/packages/plugins/documentation/__tests__/build-component-schema.test.js index e0f23dd2a6..ebbd1d6ac2 100644 --- a/packages/plugins/documentation/__tests__/build-component-schema.test.js +++ b/packages/plugins/documentation/__tests__/build-component-schema.test.js @@ -79,8 +79,8 @@ describe('Build Component Schema', () => { } const schemaNames = Object.keys(schemas); - const pluginListResponseValue = schemas['UsersPermissionsRoleListResponse']; - const apiListResponseValue = schemas['RestaurantListResponse']; + const pluginListResponseValue = schemas.UsersPermissionsRoleListResponse; + const apiListResponseValue = schemas.RestaurantListResponse; const expectedShape = { type: 'object', @@ -144,8 +144,8 @@ describe('Build Component Schema', () => { } const schemaNames = Object.keys(schemas); - const pluginListResponseValue = schemas['UsersPermissionsRoleRequest']; - const apiListResponseValue = schemas['RestaurantRequest']; + const pluginListResponseValue = schemas.UsersPermissionsRoleRequest; + const apiListResponseValue = schemas.RestaurantRequest; const expectedShape = { type: 'object', @@ -192,8 +192,8 @@ describe('Build Component Schema', () => { } const schemaNames = Object.keys(schemas); - const pluginListResponseValue = schemas['UsersPermissionsRoleLocalizationResponse']; - const apiListResponseValue = schemas['RestaurantLocalizationResponse']; + const pluginListResponseValue = schemas.UsersPermissionsRoleLocalizationResponse; + const apiListResponseValue = schemas.RestaurantLocalizationResponse; const expectedShape = { type: 'object', @@ -236,8 +236,8 @@ describe('Build Component Schema', () => { } const schemaNames = Object.keys(schemas); - const pluginListResponseValue = schemas['UsersPermissionsRoleLocalizationRequest']; - const apiListResponseValue = schemas['RestaurantLocalizationRequest']; + const pluginListResponseValue = schemas.UsersPermissionsRoleLocalizationRequest; + const apiListResponseValue = schemas.RestaurantLocalizationRequest; const expectedShape = { type: 'object', diff --git a/packages/plugins/documentation/server/bootstrap.js b/packages/plugins/documentation/server/bootstrap.js index d0dac9cd26..c2601c7a14 100755 --- a/packages/plugins/documentation/server/bootstrap.js +++ b/packages/plugins/documentation/server/bootstrap.js @@ -1,4 +1,5 @@ /* eslint-disable no-unreachable */ + 'use strict'; // Add permissions diff --git a/packages/plugins/documentation/server/routes/index.js b/packages/plugins/documentation/server/routes/index.js index 6e8821e18f..9a2ef067de 100644 --- a/packages/plugins/documentation/server/routes/index.js +++ b/packages/plugins/documentation/server/routes/index.js @@ -1,4 +1,5 @@ 'use strict'; + const restrictAccess = require('../middlewares/restrict-access'); module.exports = [ diff --git a/packages/plugins/documentation/server/services/helpers/build-api-endpoint-path.js b/packages/plugins/documentation/server/services/helpers/build-api-endpoint-path.js index 156ae8bf7d..c4409a0eeb 100644 --- a/packages/plugins/documentation/server/services/helpers/build-api-endpoint-path.js +++ b/packages/plugins/documentation/server/services/helpers/build-api-endpoint-path.js @@ -20,7 +20,7 @@ const parsePathWithVariables = routePath => { .parse(routePath) .map(token => { if (_.isObject(token)) { - return token.prefix + '{' + token.name + '}'; + return `${token.prefix}{${token.name}}`; } return token; diff --git a/packages/plugins/documentation/server/services/helpers/build-component-schema.js b/packages/plugins/documentation/server/services/helpers/build-component-schema.js index e245bddeb7..d3ed845894 100644 --- a/packages/plugins/documentation/server/services/helpers/build-component-schema.js +++ b/packages/plugins/documentation/server/services/helpers/build-component-schema.js @@ -1,4 +1,5 @@ 'use strict'; + const _ = require('lodash'); const cleanSchemaAttributes = require('./utils/clean-schema-attributes'); diff --git a/packages/plugins/documentation/server/services/helpers/utils/loop-content-type-names.js b/packages/plugins/documentation/server/services/helpers/utils/loop-content-type-names.js index 67d37b46d3..aa2f700087 100644 --- a/packages/plugins/documentation/server/services/helpers/utils/loop-content-type-names.js +++ b/packages/plugins/documentation/server/services/helpers/utils/loop-content-type-names.js @@ -1,4 +1,5 @@ 'use strict'; + const _ = require('lodash'); /** diff --git a/packages/plugins/graphql/server/services/builders/entity-meta.js b/packages/plugins/graphql/server/services/builders/entity-meta.js index 4d7c3aff49..8a525ca130 100644 --- a/packages/plugins/graphql/server/services/builders/entity-meta.js +++ b/packages/plugins/graphql/server/services/builders/entity-meta.js @@ -1,6 +1,6 @@ 'use strict'; -function buildEntityMetaDefinition(/*contentType*/) {} +function buildEntityMetaDefinition(/* contentType */) {} module.exports = () => ({ buildEntityMetaDefinition, diff --git a/packages/plugins/graphql/server/services/builders/resolvers/association.js b/packages/plugins/graphql/server/services/builders/resolvers/association.js index cb9006b674..3d99692418 100644 --- a/packages/plugins/graphql/server/services/builders/resolvers/association.js +++ b/packages/plugins/graphql/server/services/builders/resolvers/association.js @@ -72,7 +72,7 @@ module.exports = ({ strapi }) => { // If this is a to-many relation, it returns an object that // matches what the entity-response-collection's resolvers expect - else if (isToMany) { + if (isToMany) { return toEntityResponseCollection(data, info); } diff --git a/packages/plugins/graphql/server/services/builders/type.js b/packages/plugins/graphql/server/services/builders/type.js index 24202aeade..55cb3dde25 100644 --- a/packages/plugins/graphql/server/services/builders/type.js +++ b/packages/plugins/graphql/server/services/builders/type.js @@ -130,7 +130,7 @@ module.exports = context => { const { buildAssociationResolver } = getGraphQLService('builders').get('content-api'); const extension = getGraphQLService('extension'); - let { builder } = options; + const { builder } = options; const { attributeName, attribute, contentType } = options; const fileUID = 'plugin::upload.file'; @@ -207,7 +207,7 @@ module.exports = context => { const { buildAssociationResolver } = getGraphQLService('builders').get('content-api'); const extension = getGraphQLService('extension'); - let { builder } = options; + const { builder } = options; const { attributeName, attribute, contentType } = options; if (extension.shadowCRUD(attribute.target).isDisabled()) { diff --git a/packages/plugins/graphql/server/services/builders/utils.js b/packages/plugins/graphql/server/services/builders/utils.js index cb6c15f30a..214d1eb77c 100644 --- a/packages/plugins/graphql/server/services/builders/utils.js +++ b/packages/plugins/graphql/server/services/builders/utils.js @@ -35,7 +35,7 @@ module.exports = ({ strapi }) => { } // Collection Types - else if (kind === 'collectionType') { + if (kind === 'collectionType') { if (!multiple) { return { id: 'ID' }; } @@ -54,7 +54,7 @@ module.exports = ({ strapi }) => { } // Single Types - else if (kind === 'singleType') { + if (kind === 'singleType') { const params = {}; if (hasDraftAndPublish(contentType)) { diff --git a/packages/plugins/graphql/server/services/internals/scalars/time.js b/packages/plugins/graphql/server/services/internals/scalars/time.js index 06134f2fd9..201d9b2fa2 100644 --- a/packages/plugins/graphql/server/services/internals/scalars/time.js +++ b/packages/plugins/graphql/server/services/internals/scalars/time.js @@ -27,7 +27,7 @@ const TimeScalar = new GraphQLScalarType({ throw new ValidationError('Time cannot represent non string type'); } - const value = ast.value; + const { value } = ast; return parseType({ type: 'time', value }); }, diff --git a/packages/plugins/graphql/tests/crud.test.e2e.js b/packages/plugins/graphql/tests/crud.test.e2e.js index e8873debdb..57dffdc559 100644 --- a/packages/plugins/graphql/tests/crud.test.e2e.js +++ b/packages/plugins/graphql/tests/crud.test.e2e.js @@ -61,7 +61,7 @@ describe('Test Graphql API End to End', () => { { name: 'post 1', bigint: 1316130638171, nullable: 'value', category: 'BLOG' }, { name: 'post 2', bigint: 1416130639261, nullable: null, category: 'PRODUCT' }, ]; - let data = { + const data = { posts: [], }; @@ -487,7 +487,7 @@ describe('Test Graphql API End to End', () => { }); test('Delete Posts', async () => { - for (let post of data.posts) { + for (const post of data.posts) { const res = await graphqlQuery({ query: /* GraphQL */ ` mutation deletePost($id: ID!) { diff --git a/packages/plugins/graphql/tests/relations.test.e2e.js b/packages/plugins/graphql/tests/relations.test.e2e.js index 51047fc89a..08ed8f30b5 100644 --- a/packages/plugins/graphql/tests/relations.test.e2e.js +++ b/packages/plugins/graphql/tests/relations.test.e2e.js @@ -134,7 +134,7 @@ describe('Test Graphql Relations API End to End', () => { }); describe('Test relations features', () => { - let data = { + const data = { labels: [], documents: [], people: [], @@ -488,7 +488,7 @@ describe('Test Graphql Relations API End to End', () => { }); test('Delete Labels and test Documents relations', async () => { - for (let label of data.labels) { + for (const label of data.labels) { const res = await graphqlQuery({ query: /* GraphQL */ ` mutation deleteLabel($id: ID!) { @@ -579,7 +579,7 @@ describe('Test Graphql Relations API End to End', () => { }); test('Delete Documents', async () => { - for (let document of data.documents) { + for (const document of data.documents) { const res = await graphqlQuery({ query: /* GraphQL */ ` mutation deleteDocument($id: ID!) { diff --git a/packages/plugins/i18n/server/constants/__tests__/index.test.js b/packages/plugins/i18n/server/constants/__tests__/index.test.js index 8112154766..e0618330c6 100644 --- a/packages/plugins/i18n/server/constants/__tests__/index.test.js +++ b/packages/plugins/i18n/server/constants/__tests__/index.test.js @@ -1,6 +1,6 @@ 'use strict'; -const { getInitLocale } = require('../'); +const { getInitLocale } = require('..'); describe('I18N default locale', () => { describe('getInitLocale', () => { diff --git a/packages/plugins/i18n/server/controllers/content-types.js b/packages/plugins/i18n/server/controllers/content-types.js index e1bbd7e4c0..d6db512ab1 100644 --- a/packages/plugins/i18n/server/controllers/content-types.js +++ b/packages/plugins/i18n/server/controllers/content-types.js @@ -34,7 +34,7 @@ module.exports = { throw new ApplicationError('model.not.localized'); } - let params = modelDef.kind === 'singleType' ? {} : { id }; + const params = modelDef.kind === 'singleType' ? {} : { id }; const entity = await strapi .query(model) diff --git a/packages/plugins/i18n/server/controllers/locales.js b/packages/plugins/i18n/server/controllers/locales.js index 1e48113cbe..9f7ec74a79 100644 --- a/packages/plugins/i18n/server/controllers/locales.js +++ b/packages/plugins/i18n/server/controllers/locales.js @@ -57,7 +57,7 @@ module.exports = { const { user } = ctx.state; const { id } = ctx.params; const { body } = ctx.request; - let { isDefault, ...updates } = body; + const { isDefault, ...updates } = body; await validateUpdateLocaleInput(body); diff --git a/packages/plugins/i18n/server/graphql.js b/packages/plugins/i18n/server/graphql.js index e6105196f0..b2bffd337e 100644 --- a/packages/plugins/i18n/server/graphql.js +++ b/packages/plugins/i18n/server/graphql.js @@ -209,7 +209,7 @@ module.exports = ({ strapi }) => ({ return; } - const contentType = registryType.config.contentType; + const { contentType } = registryType.config; // Ignore non-localized content types if (!isLocalizedContentType(contentType)) { diff --git a/packages/plugins/i18n/server/migrations/field/migrate-for-bookshelf.js b/packages/plugins/i18n/server/migrations/field/migrate-for-bookshelf.js index 3f9852ef10..17c9f76c80 100644 --- a/packages/plugins/i18n/server/migrations/field/migrate-for-bookshelf.js +++ b/packages/plugins/i18n/server/migrations/field/migrate-for-bookshelf.js @@ -16,7 +16,7 @@ const batchInsertInTmpTable = async ({ updatesInfo }, { transacting: trx }) => { }; const updateFromTmpTable = async ({ model, attributesToMigrate }, { transacting: trx }) => { - const collectionName = model.collectionName; + const { collectionName } = model; if (model.client === 'pg') { const substitutes = attributesToMigrate.map(() => '?? = ??.??').join(','); const bindings = [collectionName]; diff --git a/packages/plugins/i18n/server/services/__tests__/core-api.test.js b/packages/plugins/i18n/server/services/__tests__/core-api.test.js index 31bcff9c92..2ede2f120a 100644 --- a/packages/plugins/i18n/server/services/__tests__/core-api.test.js +++ b/packages/plugins/i18n/server/services/__tests__/core-api.test.js @@ -1,4 +1,5 @@ 'use strict'; + const { createSanitizer } = require('../core-api')(); describe('Core API', () => { diff --git a/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js b/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js index fc809381a6..ec2379b4b2 100644 --- a/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js +++ b/packages/plugins/i18n/server/services/__tests__/entity-service-decorator.test.js @@ -134,7 +134,7 @@ describe('Entity service decorator', () => { }; const service = decorator(defaultService); - const input = Object.assign({ populate: ['test'], ...params }); + const input = { populate: ['test'], ...params }; const output = await service.wrapParams(input, { uid: 'test-model', action }); expect(output).toEqual({ populate: ['test'], ...params }); diff --git a/packages/plugins/i18n/server/services/__tests__/metrics.test.js b/packages/plugins/i18n/server/services/__tests__/metrics.test.js index c6f7af2951..341e921ee7 100644 --- a/packages/plugins/i18n/server/services/__tests__/metrics.test.js +++ b/packages/plugins/i18n/server/services/__tests__/metrics.test.js @@ -28,7 +28,7 @@ describe('Metrics', () => { plugins: { i18n: { services: { - ['content-types']: { + 'content-types': { isLocalizedContentType, }, }, diff --git a/packages/plugins/i18n/server/services/content-types.js b/packages/plugins/i18n/server/services/content-types.js index 6c17568d00..1e6a34080c 100644 --- a/packages/plugins/i18n/server/services/content-types.js +++ b/packages/plugins/i18n/server/services/content-types.js @@ -203,7 +203,7 @@ const getNestedPopulateOfNonLocalizedAttributes = modelUID => { const currentAttributesToPopulate = difference(nonLocalizedAttributes, scalarAttributes); const attributesToPopulate = [...currentAttributesToPopulate]; - for (let attrName of currentAttributesToPopulate) { + for (const attrName of currentAttributesToPopulate) { const attr = schema.attributes[attrName]; if (attr.type === 'component') { const nestedPopulate = getNestedPopulateOfNonLocalizedAttributes(attr.component).map( diff --git a/packages/plugins/i18n/server/services/locales.js b/packages/plugins/i18n/server/services/locales.js index 4841573ff4..67fa854685 100644 --- a/packages/plugins/i18n/server/services/locales.js +++ b/packages/plugins/i18n/server/services/locales.js @@ -58,10 +58,9 @@ const setIsDefault = async locales => { if (Array.isArray(locales)) { return locales.map(locale => ({ ...locale, isDefault: actualDefault === locale.code })); - } else { - // single locale - return { ...locales, isDefault: actualDefault === locales.code }; } + // single locale + return { ...locales, isDefault: actualDefault === locales.code }; }; const initDefaultLocale = async () => { diff --git a/packages/plugins/i18n/tests/content-manager/list-relation.test.e2e.js b/packages/plugins/i18n/tests/content-manager/list-relation.test.e2e.js index 601c58d231..e64abcc963 100644 --- a/packages/plugins/i18n/tests/content-manager/list-relation.test.e2e.js +++ b/packages/plugins/i18n/tests/content-manager/list-relation.test.e2e.js @@ -8,7 +8,7 @@ const { createAuthRequest } = require('../../../../../test/helpers/request'); let strapi; let rq; -let data = { +const data = { products: [], shops: [], }; diff --git a/packages/plugins/i18n/tests/locales.test.e2e.js b/packages/plugins/i18n/tests/locales.test.e2e.js index 4afed3fb40..b7a4823f09 100644 --- a/packages/plugins/i18n/tests/locales.test.e2e.js +++ b/packages/plugins/i18n/tests/locales.test.e2e.js @@ -56,7 +56,7 @@ describe('CRUD locales', () => { describe('Default locale', () => { test('Default locale is already created', async () => { - let res = await rq({ + const res = await rq({ url: '/i18n/locales', method: 'GET', }); @@ -76,7 +76,7 @@ describe('CRUD locales', () => { isDefault: false, }; - let res = await rq({ + const res = await rq({ url: '/i18n/locales', method: 'POST', body: locale, @@ -95,7 +95,7 @@ describe('CRUD locales', () => { name: 'Italian', }; - let res = await rq({ + const res = await rq({ url: '/i18n/locales', method: 'POST', body: locale, @@ -133,7 +133,7 @@ describe('CRUD locales', () => { isDefault: false, }; - let res = await rq({ + const res = await rq({ url: '/i18n/locales', method: 'POST', body: locale, @@ -158,7 +158,7 @@ describe('CRUD locales', () => { isDefault: false, }; - let res = await rq({ + const res = await rq({ url: '/i18n/locales', method: 'POST', body: locale, @@ -209,7 +209,7 @@ describe('CRUD locales', () => { describe('Read', () => { test('Can list the locales', async () => { - let res = await rq({ + const res = await rq({ url: '/i18n/locales', method: 'GET', }); @@ -229,7 +229,7 @@ describe('CRUD locales', () => { isDefault: false, }; - let res = await rq({ + const res = await rq({ url: `/i18n/locales/${data.locales[1].id}`, method: 'PUT', body: localeUpdate, @@ -248,7 +248,7 @@ describe('CRUD locales', () => { code: 'ak', }; - let res = await rq({ + const res = await rq({ url: `/i18n/locales/${data.locales[0].id}`, method: 'PUT', body: localeUpdate, @@ -280,7 +280,7 @@ describe('CRUD locales', () => { code: 'ak', }; - let res = await rq({ + const res = await rq({ url: `/i18n/locales/${data.locales[0].id}`, method: 'PUT', body: localeUpdate, @@ -450,7 +450,7 @@ describe('CRUD locales', () => { }); test('Cannot delete not found locale', async () => { - let res = await rq({ + const res = await rq({ url: `/i18n/locales/${data.deletedLocales[0].id}`, method: 'DELETE', }); diff --git a/packages/plugins/sentry/server/services/sentry/index.js b/packages/plugins/sentry/server/services/sentry/index.js index 8755ae8ddd..617b08715c 100644 --- a/packages/plugins/sentry/server/services/sentry/index.js +++ b/packages/plugins/sentry/server/services/sentry/index.js @@ -1,4 +1,5 @@ 'use strict'; + // FIXME /* eslint-disable import/extensions */ const Sentry = require('@sentry/node'); diff --git a/packages/plugins/users-permissions/server/controllers/auth.js b/packages/plugins/users-permissions/server/controllers/auth.js index 19c0c4863a..3ac4c56075 100644 --- a/packages/plugins/users-permissions/server/controllers/auth.js +++ b/packages/plugins/users-permissions/server/controllers/auth.js @@ -326,7 +326,7 @@ module.exports = { } } - let newUser = { + const newUser = { ...params, role: role.id, email: email.toLowerCase(), diff --git a/packages/plugins/users-permissions/server/controllers/settings.js b/packages/plugins/users-permissions/server/controllers/settings.js index f4475bc19c..0fed222d5b 100644 --- a/packages/plugins/users-permissions/server/controllers/settings.js +++ b/packages/plugins/users-permissions/server/controllers/settings.js @@ -17,7 +17,7 @@ module.exports = { const emailTemplates = ctx.request.body['email-templates']; - for (let key in emailTemplates) { + for (const key in emailTemplates) { const template = emailTemplates[key].options.message; if (!isValidEmailTemplate(template)) { diff --git a/packages/plugins/users-permissions/server/controllers/user.js b/packages/plugins/users-permissions/server/controllers/user.js index 94b7d42421..0f685738eb 100644 --- a/packages/plugins/users-permissions/server/controllers/user.js +++ b/packages/plugins/users-permissions/server/controllers/user.js @@ -121,7 +121,7 @@ module.exports = { ctx.request.body.email = ctx.request.body.email.toLowerCase(); } - let updateData = { + const updateData = { ...ctx.request.body, }; diff --git a/packages/plugins/users-permissions/server/controllers/validation/email-template.js b/packages/plugins/users-permissions/server/controllers/validation/email-template.js index 8f3581d7b1..0a2bd1672f 100644 --- a/packages/plugins/users-permissions/server/controllers/validation/email-template.js +++ b/packages/plugins/users-permissions/server/controllers/validation/email-template.js @@ -28,7 +28,7 @@ const matchAll = (pattern, src) => { }; const isValidEmailTemplate = template => { - for (let reg of invalidPatternsRegexes) { + for (const reg of invalidPatternsRegexes) { if (reg.test(template)) { return false; } diff --git a/packages/plugins/users-permissions/server/middlewares/rateLimit.js b/packages/plugins/users-permissions/server/middlewares/rateLimit.js index c35f3b6c9e..09716806e3 100644 --- a/packages/plugins/users-permissions/server/middlewares/rateLimit.js +++ b/packages/plugins/users-permissions/server/middlewares/rateLimit.js @@ -14,17 +14,12 @@ module.exports = (config, { strapi }) => async (ctx, next) => { }, ]; - return ratelimit.middleware( - Object.assign( - {}, - { - interval: 1 * 60 * 1000, - max: 5, - prefixKey: `${ctx.request.path}:${ctx.request.ip}`, - message, - }, - strapi.config.get('plugin.users-permissions.ratelimit'), - config - ) - )(ctx, next); + return ratelimit.middleware({ + interval: 1 * 60 * 1000, + max: 5, + prefixKey: `${ctx.request.path}:${ctx.request.ip}`, + message, + ...strapi.config.get('plugin.users-permissions.ratelimit'), + ...config, + })(ctx, next); }; diff --git a/packages/plugins/users-permissions/server/register.js b/packages/plugins/users-permissions/server/register.js index 21d7151a46..35c7f3d8ee 100644 --- a/packages/plugins/users-permissions/server/register.js +++ b/packages/plugins/users-permissions/server/register.js @@ -1,4 +1,5 @@ 'use strict'; + const fs = require('fs'); const path = require('path'); diff --git a/packages/plugins/users-permissions/server/services/providers-registry.js b/packages/plugins/users-permissions/server/services/providers-registry.js index bdd07d939a..7bd8ac9548 100644 --- a/packages/plugins/users-permissions/server/services/providers-registry.js +++ b/packages/plugins/users-permissions/server/services/providers-registry.js @@ -12,7 +12,7 @@ const getInitialProviders = ({ purest }) => ({ .request() .then(({ body }) => { // Combine username and discriminator because discord username is not unique - var username = `${body.username}#${body.discriminator}`; + const username = `${body.username}#${body.discriminator}`; return { username, email: body.email, @@ -264,7 +264,7 @@ const getInitialProviders = ({ purest }) => ({ : body.strapiemail || body.email; if (!username || !email) { strapi.log.warn( - 'CAS Response Body did not contain required attributes: ' + JSON.stringify(body) + `CAS Response Body did not contain required attributes: ${JSON.stringify(body)}` ); } return { diff --git a/packages/plugins/users-permissions/server/services/user.js b/packages/plugins/users-permissions/server/services/user.js index d9e96b10ce..3a99a745a3 100644 --- a/packages/plugins/users-permissions/server/services/user.js +++ b/packages/plugins/users-permissions/server/services/user.js @@ -99,7 +99,7 @@ module.exports = ({ strapi }) => ({ const settings = await pluginStore .get({ key: 'email' }) - .then(storeEmail => storeEmail['email_confirmation'].options); + .then(storeEmail => storeEmail.email_confirmation.options); // Sanitize the template's user information const sanitizedUserInfo = await sanitize.sanitizers.defaultSanitizeOutput(userSchema, user); diff --git a/packages/plugins/users-permissions/server/strategies/users-permissions.js b/packages/plugins/users-permissions/server/strategies/users-permissions.js index 88b556fce9..48d6bf4562 100644 --- a/packages/plugins/users-permissions/server/strategies/users-permissions.js +++ b/packages/plugins/users-permissions/server/strategies/users-permissions.js @@ -77,7 +77,7 @@ const verify = async (auth, config) => { } } - let allowedActions = auth.allowedActions; + let { allowedActions } = auth; if (!allowedActions) { const permissions = await strapi.query('plugin::users-permissions.permission').findMany({ diff --git a/packages/plugins/users-permissions/tests/admin/roles-api.test.e2e.js b/packages/plugins/users-permissions/tests/admin/roles-api.test.e2e.js index 68f4c10a87..85cebc1c2b 100644 --- a/packages/plugins/users-permissions/tests/admin/roles-api.test.e2e.js +++ b/packages/plugins/users-permissions/tests/admin/roles-api.test.e2e.js @@ -7,17 +7,17 @@ const { createAuthRequest } = require('../../../../../test/helpers/request'); let strapi; let rq; -let data = {}; -let internals = { +const data = {}; +const internals = { role: { name: 'Test Role', description: 'Some random test role', }, }; -/***************************** +/** *************************** * TESTS - *****************************/ + **************************** */ describe('Roles API', () => { beforeAll(async () => { strapi = await createStrapiInstance(); diff --git a/packages/providers/email-amazon-ses/lib/index.js b/packages/providers/email-amazon-ses/lib/index.js index bd12fd4ddb..13244ee114 100644 --- a/packages/providers/email-amazon-ses/lib/index.js +++ b/packages/providers/email-amazon-ses/lib/index.js @@ -5,14 +5,14 @@ const { removeUndefined } = require('@strapi/utils'); module.exports = { init(providerOptions = {}, settings = {}) { - var client = nodeSES.createClient({ ...providerOptions }); + const client = nodeSES.createClient({ ...providerOptions }); return { send(options) { return new Promise((resolve, reject) => { const { from, to, cc, bcc, replyTo, subject, text, html, ...rest } = options; - let msg = { + const msg = { from: from || settings.defaultFrom, to, cc, diff --git a/packages/providers/email-mailgun/lib/index.js b/packages/providers/email-mailgun/lib/index.js index cebe153b69..57ffd34b02 100644 --- a/packages/providers/email-mailgun/lib/index.js +++ b/packages/providers/email-mailgun/lib/index.js @@ -35,7 +35,7 @@ module.exports = { send(options) { const { from, to, cc, bcc, replyTo, subject, text, html, ...rest } = options; - let data = { + const data = { from: from || settings.defaultFrom, to, cc, diff --git a/packages/providers/email-sendgrid/lib/index.js b/packages/providers/email-sendgrid/lib/index.js index 5ad3b9572a..9aa7088bb2 100644 --- a/packages/providers/email-sendgrid/lib/index.js +++ b/packages/providers/email-sendgrid/lib/index.js @@ -12,7 +12,7 @@ module.exports = { return new Promise((resolve, reject) => { const { from, to, cc, bcc, replyTo, subject, text, html, ...rest } = options; - let msg = { + const msg = { from: from || settings.defaultFrom, to, cc, diff --git a/packages/providers/email-sendmail/lib/index.js b/packages/providers/email-sendmail/lib/index.js index 3b7499ec68..d2a8b13dec 100644 --- a/packages/providers/email-sendmail/lib/index.js +++ b/packages/providers/email-sendmail/lib/index.js @@ -14,7 +14,7 @@ module.exports = { return new Promise((resolve, reject) => { const { from, to, cc, bcc, replyTo, subject, text, html, ...rest } = options; - let msg = { + const msg = { from: from || settings.defaultFrom, to, cc, diff --git a/packages/utils/logger/lib/formats/log-errors.js b/packages/utils/logger/lib/formats/log-errors.js index 60c1b6b527..73a1bb5fec 100644 --- a/packages/utils/logger/lib/formats/log-errors.js +++ b/packages/utils/logger/lib/formats/log-errors.js @@ -4,9 +4,7 @@ const { format } = require('winston'); module.exports = format(info => { if (info instanceof Error) { - return Object.assign({}, info, { - message: `${info.message}${info.stack ? `\n` + info.stack : ''}`, - }); + return { ...info, message: `${info.message}${info.stack ? `\n${info.stack}` : ''}` }; } return info; diff --git a/packages/utils/typescript/lib/generators/schemas/utils.js b/packages/utils/typescript/lib/generators/schemas/utils.js index b6942551da..41bcbbb731 100644 --- a/packages/utils/typescript/lib/generators/schemas/utils.js +++ b/packages/utils/typescript/lib/generators/schemas/utils.js @@ -42,7 +42,7 @@ const getSchemaInterfaceName = pipe(replace(/(:.)/, ' '), camelCase, upperFirst) const getSchemaExtendsTypeName = schema => { const base = getSchemaModelType(schema); - return upperFirst(base) + 'Schema'; + return `${upperFirst(base)}Schema`; }; const getSchemaModelType = schema => { @@ -54,7 +54,7 @@ const getSchemaModelType = schema => { } // Content-Types - else if (modelType === 'contentType') { + if (modelType === 'contentType') { return kind; } diff --git a/packages/utils/typescript/lib/utils/resolve-outdir.js b/packages/utils/typescript/lib/utils/resolve-outdir.js index cdeba7fd70..b9e090b57d 100644 --- a/packages/utils/typescript/lib/utils/resolve-outdir.js +++ b/packages/utils/typescript/lib/utils/resolve-outdir.js @@ -1,4 +1,5 @@ 'use strict'; + const path = require('path'); const resolveConfigOptions = require('./resolve-config-options'); const isUsingTypescript = require('./is-using-typescript'); diff --git a/scripts/front/add-missing-keys-to-other-language.js b/scripts/front/add-missing-keys-to-other-language.js index 184f27f0ed..d573052ab0 100644 --- a/scripts/front/add-missing-keys-to-other-language.js +++ b/scripts/front/add-missing-keys-to-other-language.js @@ -4,6 +4,7 @@ // node scripts/front/add-missing-keys-to-other-language.js [language] // Example: // node scripts/front/add-missing-keys-to-other-language.js vi + 'use strict'; const { join, dirname } = require('path'); diff --git a/scripts/front/merge-duplicated-translations/index.js b/scripts/front/merge-duplicated-translations/index.js index b0dcf6697d..b9ceac4c73 100644 --- a/scripts/front/merge-duplicated-translations/index.js +++ b/scripts/front/merge-duplicated-translations/index.js @@ -1,4 +1,5 @@ /* eslint-disable node/no-extraneous-require */ + 'use strict'; const path = require('path'); @@ -122,7 +123,7 @@ const merge = async valuesToMerge => { let current = 1; let mergedCount = 0; - for (let valueGroup of valuesToMerge) { + for (const valueGroup of valuesToMerge) { // Display console.clear(); console.log(`${current}/${valuesToMerge.length}`); diff --git a/scripts/front/utils/translation-files.js b/scripts/front/utils/translation-files.js index 773be49a97..29ed909e09 100644 --- a/scripts/front/utils/translation-files.js +++ b/scripts/front/utils/translation-files.js @@ -18,7 +18,7 @@ const readTranslationFile = filePath => ({ }); const writeTranslationFile = file => { - fs.writeFileSync(file.filePath, JSON.stringify(file.fileContent, null, 2) + '\n'); + fs.writeFileSync(file.filePath, `${JSON.stringify(file.fileContent, null, 2)}\n`); }; const readAllTranslationFiles = () => { diff --git a/test/helpers/builder/index.js b/test/helpers/builder/index.js index b6fc43120e..7894389485 100644 --- a/test/helpers/builder/index.js +++ b/test/helpers/builder/index.js @@ -21,7 +21,7 @@ const createTestBuilder = (options = {}) => { }, async sanitizedFixtures(strapi) { - const fixtures = this.fixtures; + const { fixtures } = this; for (const key of Object.keys(fixtures)) { fixtures[key] = await this.sanitizedFixturesFor(key, strapi); diff --git a/test/helpers/strapi.js b/test/helpers/strapi.js index 5a0aea6b65..b53c8a4da5 100644 --- a/test/helpers/strapi.js +++ b/test/helpers/strapi.js @@ -36,9 +36,7 @@ const createStrapiInstance = async ({ authenticate() { return { authenticated: true }; }, - verify() { - return; - }, + verify() {}, }); } await instance.load(); From cf49ddbbfc33fa6a0145f9ddf50677e31c1d711e Mon Sep 17 00:00:00 2001 From: Alexandre Bodin Date: Mon, 8 Aug 2022 23:33:39 +0200 Subject: [PATCH 49/64] Prettier and backend fix --- .eslintrc.back.js | 33 +- .eslintrc.front.js | 99 +----- .../check-pr-status/__tests__/action.test.js | 2 +- .github/actions/check-pr-status/index.js | 8 +- .prettierrc.js | 1 + .../config/src/response-handlers.js | 2 +- .../address/middlewares/address-middleware.js | 2 +- .../src/api/address/services/address.js | 2 +- .../users-permissions/strapi-server.js | 2 +- .../src/plugins/myplugin/admin/src/index.js | 2 +- .../myplugin/admin/src/utils/getTrad.js | 2 +- .../plugins/myplugin/server/config/index.js | 2 +- examples/kitchensink/src/admin/app.example.js | 8 +- examples/kitchensink/src/admin/app.js | 8 +- package.json | 15 +- .../lib/fixtures/store/index.js | 1 - packages/admin-test-utils/lib/setup/strapi.js | 2 +- .../lib/setup/test-bundler.js | 1 - packages/admin-test-utils/package.json | 3 + .../create-strapi-app/create-strapi-app.js | 4 +- .../create-strapi-starter.js | 6 +- .../utils/build-starter.js | 15 +- packages/core/admin/admin/src/StrapiApp.js | 46 +-- .../src/components/AuthenticatedApp/index.js | 7 +- .../AuthenticatedApp/tests/index.test.js | 16 +- .../components/AuthenticatedApp/utils/api.js | 2 +- .../AutoReloadOverlayBlockerProvider/index.js | 4 +- .../ConfigurationsProvider/reducer.js | 2 +- .../GuidedTour/Homepage/components/Stepper.js | 2 +- .../Homepage/components/tests/Stepper.test.js | 2 +- .../components/GuidedTour/Homepage/index.js | 4 +- .../GuidedTour/Modal/components/Content.js | 12 +- .../GuidedTour/Modal/components/Modal.js | 2 +- .../src/components/GuidedTour/Modal/index.js | 6 +- .../components/GuidedTour/Modal/reducer.js | 2 +- .../admin/src/components/GuidedTour/index.js | 8 +- .../admin/src/components/GuidedTour/init.js | 4 +- .../src/components/GuidedTour/reducer.js | 2 +- .../GuidedTour/utils/isGuidedTourCompleted.js | 2 +- .../utils/persistStateToLocaleStorage.js | 8 +- .../src/components/LanguageProvider/index.js | 2 +- .../src/components/LanguageProvider/init.js | 2 +- .../admin/src/components/LeftMenu/index.js | 12 +- .../Notifications/Notification/index.js | 7 +- .../src/components/Notifications/index.js | 4 +- .../src/components/Notifications/reducer.js | 4 +- .../Notifications/tests/index.test.js | 4 +- .../components/PluginsInitializer/index.js | 6 +- .../src/components/PluginsInitializer/init.js | 2 +- .../components/PluginsInitializer/reducer.js | 2 +- .../PluginsInitializer/tests/index.test.js | 8 +- .../src/components/PrivateRoute/index.js | 2 +- .../src/components/RBACProvider/actions.js | 2 +- .../src/components/RBACProvider/index.js | 2 +- .../src/components/RBACProvider/reducer.js | 4 +- .../RBACProvider/tests/reducer.test.js | 2 +- .../components/ThemeToggleProvider/index.js | 2 +- .../src/components/UpgradePlanModal/index.js | 2 +- .../components/AttributeFilter/Filters.js | 2 +- .../hooks/useAllowedAttributes.js | 2 +- .../components/AttributeFilter/index.js | 2 +- .../content-manager/components/Block/index.js | 2 +- .../CollectionTypeFormWrapper/index.js | 19 +- .../components/DragLayer/index.js | 2 +- .../CellContent/RelationMultiple/index.js | 2 +- .../CellContent/RepeatableComponent/index.js | 2 +- .../utils/tests/isSingleRelation.test.js | 2 +- .../DynamicTable/TableRows/index.js | 8 +- .../components/DynamicTable/index.js | 4 +- .../components/AddComponentButton/index.js | 38 ++- .../DynamicZone/components/Component/index.js | 2 +- .../Category/ComponentCard/index.js | 2 +- .../components/ComponentPicker/index.js | 6 +- .../components/DynamicZone/index.js | 20 +- .../components/DynamicZone/utils/connect.js | 2 +- .../components/DynamicZone/utils/select.js | 2 +- .../EditViewDataManagerProvider/index.js | 12 +- .../EditViewDataManagerProvider/reducer.js | 2 +- .../utils/cleanData.js | 8 +- .../utils/schema.js | 36 +-- .../FieldComponent/utils/connect.js | 2 +- .../components/FieldComponent/utils/select.js | 12 +- .../components/FormTitle/index.js | 2 +- .../components/InjectionZoneList/index.js | 2 +- .../components/InputJSON/index.js | 11 +- .../components/InputJSON/jsonlint.js | 26 +- .../components/InputUID/index.js | 2 +- .../components/Inputs/index.js | 8 +- .../components/Inputs/utils/connect.js | 2 +- .../Inputs/utils/generateOptions.js | 2 +- .../components/Inputs/utils/getStep.js | 2 +- .../components/LayoutDndProvider/index.js | 12 +- .../NonRepeatableComponent/index.js | 8 +- .../PreviewWysiwyg/utils/mdRenderer.js | 2 +- .../PreviewWysiwyg/utils/satinizeHtml.js | 2 +- .../AccordionGroupCustom/index.js | 2 +- .../RepeatableComponent/DraggedItem/index.js | 24 +- .../DraggedItem/utils/connect.js | 2 +- .../components/RepeatableComponent/index.js | 10 +- .../RepeatableComponent/utils/connect.js | 2 +- .../utils/getComponentErrorKeys.js | 4 +- .../components/SectionTitle/index.js | 2 +- .../components/SelectMany/ListItem.js | 2 +- .../components/SelectMany/index.js | 2 +- .../components/SelectOne/SingleValue.js | 2 +- .../components/SelectWrapper/Option.js | 2 +- .../components/SelectWrapper/index.js | 42 +-- .../components/SelectWrapper/utils/connect.js | 2 +- .../components/SingleTypeFormWrapper/index.js | 17 +- .../utils/getRequestUrl.js | 2 +- .../components/Wysiwyg/Editor.js | 2 +- .../components/Wysiwyg/EditorLayout.js | 2 +- .../components/Wysiwyg/WysiwygFooter.js | 2 +- .../components/Wysiwyg/WysiwygNav.js | 8 +- .../components/Wysiwyg/index.js | 10 +- .../components/Wysiwyg/tests/index.test.js | 12 +- .../components/Wysiwyg/utils/utils.js | 8 +- .../hooks/useContentTypeLayout/index.js | 2 +- .../hooks/useFetchContentTypeLayout/index.js | 6 +- .../useFetchContentTypeLayout/reducer.js | 2 +- .../tests/reducer.test.js | 6 +- .../utils/formatLayouts.js | 14 +- .../hooks/useFindRedirectionLink/index.js | 2 +- .../hooks/useFindRedirectionLink/selectors.js | 2 +- .../tests/selectors.test.js | 2 +- .../hooks/useSyncRbac/reducer.js | 2 +- .../hooks/useSyncRbac/selectors.js | 4 +- .../hooks/useSyncRbac/tests/selectors.test.js | 2 +- .../pages/App/LeftMenu/index.js | 16 +- .../src/content-manager/pages/App/index.js | 6 +- .../src/content-manager/pages/App/reducer.js | 2 +- .../content-manager/pages/App/selectors.js | 8 +- .../pages/App/tests/index.test.js | 8 +- .../pages/App/tests/reducer.test.js | 4 +- .../pages/App/tests/selectors.test.js | 2 +- .../content-manager/pages/App/useModels.js | 2 +- .../pages/App/utils/generateModelsLinks.js | 4 +- .../App/utils/tests/getContentTypeLinks.js | 2 +- .../CollectionTypeRecursivePath/index.js | 2 +- .../pages/ComponentSetttingsView/index.js | 4 +- .../components/ComponentFieldList.js | 2 +- .../components/DisplayedFieldButton.js | 10 +- .../components/DisplayedFields.js | 2 +- .../components/DynamicZoneList.js | 2 +- .../components/GenericInput.js | 6 +- .../EditSettingsView/components/ModalForm.js | 10 +- .../components/RelationalFieldButton.js | 6 +- .../components/RelationalFields.js | 2 +- .../pages/EditSettingsView/index.js | 42 +-- .../pages/EditSettingsView/reducer.js | 2 +- ...ossibleMainFieldsForModelsAndComponents.js | 4 +- .../EditSettingsView/utils/getInputProps.js | 2 +- .../pages/EditSettingsView/utils/layout.js | 24 +- .../pages/EditView/DeleteLink/index.js | 2 +- .../EditView/DeleteLink/utils/connect.js | 2 +- .../DraftAndPublishBadge/tests/index.test.js | 2 +- .../DraftAndPublishBadge/utils/connect.js | 2 +- .../pages/EditView/Header/index.js | 8 +- .../pages/EditView/Header/utils/connect.js | 2 +- .../Header/utils/getDraftRelations.js | 6 +- .../EditView/Informations/utils/getUnits.js | 2 +- .../content-manager/pages/EditView/index.js | 17 +- .../EditView/utils/createAttributesLayout.js | 4 +- .../getFieldsActionMatchingPermissions.js | 2 +- .../EditViewLayoutManager/Permissions.js | 2 +- .../pages/EditViewLayoutManager/reducer.js | 2 +- .../pages/EditViewLayoutManager/selectors.js | 2 +- .../components/DraggableCard.js | 12 +- .../components/EditFieldForm.js | 7 +- .../ListSettingsView/components/Settings.js | 18 +- .../components/SortDisplayedFields.js | 4 +- .../pages/ListSettingsView/index.js | 18 +- .../pages/ListSettingsView/reducer.js | 2 +- .../ListSettingsView/tests/index.test.js | 2 +- .../utils/ellipsisCardTitle.js | 2 +- .../pages/ListView/FieldPicker/index.js | 15 +- .../FieldPicker/utils/getAllAllowedHeader.js | 2 +- .../content-manager/pages/ListView/actions.js | 2 +- .../content-manager/pages/ListView/index.js | 6 +- .../content-manager/pages/ListView/reducer.js | 4 +- .../pages/ListView/selectors.js | 6 +- .../pages/ListView/tests/reducer.test.js | 4 +- .../ListView/utils/createPluginsFilter.js | 2 +- .../ListViewLayoutManager/Permissions.js | 4 +- .../sharedReducers/crudReducer/actions.js | 6 +- .../sharedReducers/crudReducer/reducer.js | 2 +- .../sharedReducers/crudReducer/selectors.js | 2 +- .../crudReducer/tests/crudReducer.test.js | 12 +- .../utils/checkIfAttributeIsDisplayable.js | 2 +- .../utils/formatLayoutToApi.js | 4 +- .../utils/generatePermissionsObject.js | 5 +- .../src/content-manager/utils/getFieldName.js | 4 +- .../content-manager/utils/getMaxTempKey.js | 4 +- .../content-manager/utils/getRequestUrl.js | 2 +- .../src/content-manager/utils/getTrad.js | 2 +- .../utils/mergeMetasWithSchema.js | 4 +- .../utils/removeKeyInObject.js | 2 +- .../utils/removePasswordFieldsFromData.js | 4 +- .../core/admin/admin/src/core/apis/Plugin.js | 2 +- .../admin/src/core/store/configureStore.js | 2 +- .../admin/src/core/store/createReducer.js | 2 +- .../admin/src/core/utils/axiosInstance.js | 8 +- .../admin/admin/src/core/utils/createHook.js | 4 +- .../src/core/utils/tests/createHook.test.js | 12 +- .../src/hooks/useFetchEnabledPlugins/index.js | 6 +- .../hooks/useFetchMarketplacePlugins/index.js | 6 +- .../useFetchMarketplacePlugins/utils/api.js | 2 +- .../useFetchMarketplaceProviders/index.js | 6 +- .../hooks/useFetchPermissionsLayout/index.js | 2 +- .../useFetchPermissionsLayout/reducer.js | 2 +- .../admin/src/hooks/useFetchRole/index.js | 8 +- .../admin/src/hooks/useFetchRole/reducer.js | 2 +- .../admin/admin/src/hooks/useMenu/reducer.js | 2 +- .../hooks/useMenu/utils/getGeneralLinks.js | 4 +- .../admin/admin/src/hooks/useModels/index.js | 2 +- .../admin/src/hooks/useModels/reducer.js | 6 +- .../admin/src/hooks/useRolesList/reducer.js | 2 +- .../admin/src/hooks/useSettingsForm/index.js | 4 +- .../src/hooks/useSettingsForm/reducer.js | 2 +- .../admin/src/hooks/useSettingsMenu/index.js | 4 +- .../admin/src/hooks/useSettingsMenu/init.js | 2 +- .../src/hooks/useSettingsMenu/reducer.js | 6 +- .../useSettingsMenu/utils/formatLinks.js | 6 +- .../hooks/useSettingsMenu/utils/sortLinks.js | 2 +- packages/core/admin/admin/src/index.js | 2 +- .../LocaleToggle/index.js | 2 +- .../admin/src/pages/Admin/Onboarding/index.js | 4 +- .../core/admin/admin/src/pages/Admin/index.js | 4 +- .../admin/src/pages/Admin/tests/index.test.js | 18 +- .../core/admin/admin/src/pages/App/index.js | 4 +- .../core/admin/admin/src/pages/App/reducer.js | 2 +- .../components/ForgotPassword/index.js | 2 +- .../AuthPage/components/Login/BaseLogin.js | 8 +- .../pages/AuthPage/components/Login/index.js | 4 +- .../components/Oops/tests/index.test.js | 2 +- .../AuthPage/components/Register/index.js | 12 +- .../components/Register/tests/index.test.js | 2 +- .../components/ResetPassword/index.js | 10 +- .../ResetPassword/tests/index.test.js | 2 +- .../admin/admin/src/pages/AuthPage/init.js | 2 +- .../admin/admin/src/pages/AuthPage/reducer.js | 2 +- .../admin/src/pages/AuthPage/utils/forms.js | 10 +- .../admin/src/pages/HomePage/ContentBlocks.js | 2 +- .../admin/src/pages/HomePage/SocialLinks.js | 2 +- .../admin/admin/src/pages/HomePage/index.js | 6 +- .../components/NpmPackagesGrid/index.js | 4 +- .../admin/src/pages/MarketplacePage/index.js | 16 +- .../pages/MarketplacePage/tests/index.test.js | 8 +- .../src/pages/MarketplacePage/tests/server.js | 276 ++++++---------- .../admin/src/pages/ProfilePage/index.js | 43 ++- .../src/pages/ProfilePage/tests/index.test.js | 2 +- .../admin/src/pages/ProfilePage/utils/api.js | 2 +- .../components/SettingsNav/index.js | 8 +- .../pages/ApiTokens/EditView/index.js | 4 +- .../ApiTokens/ListView/DynamicTable/index.js | 6 +- .../pages/ApiTokens/ListView/index.js | 20 +- .../ApiTokens/ListView/tests/index.test.js | 2 +- .../components/Form/index.js | 2 +- .../components/Form/reducer.js | 2 +- .../components/LogoInput/index.js | 2 +- .../components/LogoInput/reducer.js | 2 +- .../components/LogoInput/tests/index.test.js | 2 +- .../LogoModalStepper/FromComputerForm.js | 2 +- .../LogoModalStepper/FromUrlForm.js | 4 +- .../components/LogoModalStepper/index.js | 2 +- .../components/LogoModalStepper/reducer.js | 2 +- .../pages/ApplicationInfosPage/index.js | 8 +- .../pages/ApplicationInfosPage/utils/api.js | 2 +- .../ApplicationInfosPage/utils/getFormData.js | 2 +- .../utils/parseFileMetadatas.js | 8 +- .../utils/prefixAllUrls.js | 2 +- .../ApplicationInfosPage/utils/urlToFile.js | 2 +- .../ConditionsModal/ActionRow/index.js | 8 +- .../components/ConditionsModal/index.js | 4 +- .../ContentTypeCollapse/Collapse/index.js | 13 +- .../utils/generateCheckboxesActions.js | 2 +- .../CollapsePropertyMatrix/ActionRow/index.js | 6 +- .../utils/getRowLabelCheckboxeState.js | 2 +- .../CollapsePropertyMatrix/Header/index.js | 2 +- .../SubActionRow/index.js | 20 +- .../utils/generateHeadersFromActions.js | 2 +- .../ContentTypeCollapse/utils/activeStyle.js | 2 +- .../utils/getAvailableActions.js | 2 +- .../components/ContentTypeCollapses/index.js | 2 +- .../Roles/EditPage/components/Curve/index.js | 2 +- .../components/GlobalActions/index.js | 2 +- .../utils/findDisplayedActions.js | 2 +- .../utils/getRowLabelCheckboxesState.js | 4 +- .../EditPage/components/Permissions/index.js | 17 +- .../components/Permissions/reducer.js | 8 +- .../utils/createDefaultCTFormFromLayout.js | 2 +- .../utils/findMatchingPermissions.js | 2 +- .../formatContentTypesPermissionToAPI.js | 4 +- .../formatLayoutForSettingsAndPlugins.js | 2 +- .../utils/formatPermissionsToAPI.js | 2 +- .../utils/formatSettingsPermissionsToAPI.js | 8 +- .../utils/updateConditionsToFalse.js | 4 +- .../PluginsAndSettings/SubCategory/index.js | 13 +- .../SubCategory/utils/formatActions.js | 4 +- .../utils/getConditionsButtonState.js | 4 +- .../components/PluginsAndSettings/index.js | 2 +- .../EditPage/components/RoleForm/index.js | 136 ++++---- .../components/RowLabelWithCheckbox/index.js | 7 +- .../components/utils/createArrayOfValues.js | 4 +- .../components/utils/getCheckboxState.js | 6 +- .../utils/removeConditionKeyFromData.js | 2 +- .../pages/Roles/EditPage/index.js | 118 ++++--- .../pages/Roles/EditPage/tests/index.test.js | 2 +- .../pages/Roles/ListPage/index.js | 16 +- .../pages/Roles/ListPage/tests/index.test.js | 2 +- .../pages/Users/EditPage/index.js | 6 +- .../pages/Users/EditPage/utils/api.js | 2 +- .../ListPage/DynamicTable/TableRows/index.js | 8 +- .../pages/Users/ListPage/Filters/index.js | 2 +- .../pages/Users/ListPage/ModalForm/index.js | 16 +- .../Users/ListPage/ModalForm/utils/schema.js | 10 +- .../pages/Users/ListPage/index.js | 16 +- .../pages/Users/ListPage/tests/index.test.js | 2 +- .../pages/Users/ListPage/utils/api.js | 2 +- .../Users/ListPage/utils/tableHeaders.js | 6 +- .../Users/components/SelectRoles/index.js | 4 +- .../Users/utils/validations/users/profile.js | 6 +- .../Users/utils/validations/users/roles.js | 5 +- .../components/EventInput/EventRow.js | 10 +- .../EditView/components/EventInput/index.js | 8 +- .../EventInput/utils/formatValue.js | 2 +- .../components/HeadersInput/Combobox.js | 8 +- .../components/TriggerContainer/index.js | 2 +- .../WebhookForm/tests/index.test.js | 2 +- .../EditView/components/utils/fieldsRegex.js | 4 +- .../EditView/components/utils/schema.js | 2 +- .../pages/Webhooks/EditView/index.js | 18 +- .../pages/Webhooks/EditView/reducer.js | 4 +- .../Webhooks/EditView/utils/formatData.js | 4 +- .../pages/Webhooks/ListView/index.js | 12 +- .../pages/Webhooks/ListView/reducer.js | 8 +- .../pages/SettingsPage/tests/index.test.js | 8 +- .../utils/createSectionsRoutes.js | 6 +- .../pages/SettingsPage/utils/defaultRoutes.js | 24 +- .../utils/getSectionsToDisplay.js | 4 +- .../admin/src/pages/UseCasePage/index.js | 4 +- .../src/pages/UseCasePage/tests/index.test.js | 2 +- .../shared/components/InjectionZone/index.js | 2 +- .../shared/hooks/useInjectionZone/index.js | 2 +- .../admin/admin/src/tests/StrapiApp.test.js | 14 +- .../src/translations/tests/index.test.js | 6 +- .../src/translations/tests/plural.test.js | 2 +- .../admin/src/utils/getAttributesToDisplay.js | 2 +- .../admin/src/utils/getExistingActions.js | 4 +- .../core/admin/admin/src/utils/getFullName.js | 2 +- .../admin/admin/src/utils/getRequestUrl.js | 2 +- .../admin/admin/src/utils/makeUniqueRoutes.js | 4 +- .../core/admin/admin/src/utils/sortLinks.js | 2 +- .../admin/hooks/useAuthProviders/reducer.js | 2 +- .../pages/AuthPage/components/Login/index.js | 4 +- .../components/Providers/SSOProviders.js | 6 +- .../pages/SettingsPage/SingleSignOn/index.js | 6 +- .../pages/Roles/CreatePage/index.js | 20 +- .../Roles/CreatePage/tests/index.test.js | 2 +- .../pages/Roles/ListPage/index.js | 16 +- .../pages/Roles/ListPage/reducer.js | 2 +- .../pages/Roles/ListPage/tests/index.test.js | 2 +- .../pages/SettingsPage/utils/customRoutes.js | 2 +- .../controllers/authentication/middlewares.js | 2 +- .../controllers/authentication/utils.js | 2 +- .../core/admin/ee/server/controllers/role.js | 6 +- .../services/__tests__/passport.test.js | 2 +- .../ee/server/services/__tests__/sso.test.js | 2 +- .../core/admin/ee/server/services/passport.js | 2 +- .../services/passport/provider-registry.js | 2 +- .../admin/ee/server/services/passport/sso.js | 2 +- .../core/admin/ee/server/services/role.js | 2 +- .../server/tests/provider-login.test.e2e.js | 2 +- .../ee/server/validation/authentication.js | 2 +- .../core/admin/ee/server/validation/role.js | 9 +- .../core/admin/ee/server/validation/user.js | 2 +- packages/core/admin/env.js | 4 +- packages/core/admin/index.js | 4 +- packages/core/admin/jest.config.front.js | 2 +- packages/core/admin/jest.config.js | 2 +- packages/core/admin/package.json | 4 +- packages/core/admin/scripts/build.js | 4 +- .../admin/scripts/create-dev-plugins-file.js | 11 +- .../core/admin/scripts/create-plugins-file.js | 4 +- .../admin/server/config/admin-conditions.js | 6 +- .../controllers/__tests__/permission.test.js | 2 +- .../server/controllers/__tests__/role.test.js | 8 +- .../server/controllers/__tests__/user.test.js | 10 +- .../core/admin/server/controllers/admin.js | 2 +- .../server/controllers/authentication.js | 2 +- .../formatters/format-actions-by-sections.js | 13 +- .../core/admin/server/controllers/role.js | 2 +- .../core/admin/server/controllers/user.js | 2 +- .../core/admin/server/controllers/webhooks.js | 22 +- .../action/__tests__/action-domain.test.js | 8 +- .../action/__tests__/action-provider.test.js | 10 +- .../core/admin/server/domain/action/index.js | 6 +- .../admin/server/domain/action/provider.js | 4 +- .../__tests__/condition-domain.test.js | 4 +- .../__tests__/condition-provider.test.js | 2 +- .../admin/server/domain/condition/index.js | 4 +- .../__tests__/permission-domain.test.js | 6 +- .../admin/server/domain/permission/index.js | 6 +- packages/core/admin/server/domain/user.js | 4 +- .../admin/server/policies/hasPermissions.js | 10 +- .../server/policies/isAuthenticatedAdmin.js | 2 +- .../server/services/__tests__/action.test.js | 2 +- .../server/services/__tests__/auth.test.js | 2 +- .../services/__tests__/passport.test.js | 4 +- .../services/__tests__/permission.test.js | 8 +- .../permissions-manager-sanitize.test.js | 6 +- .../__tests__/permissions-manager.test.js | 18 +- .../__tests__/permissions.engine.test.js | 8 +- ...ermissions.section-builder.section.test.js | 8 +- .../server/services/__tests__/role.test.js | 23 +- .../server/services/__tests__/token.test.js | 2 +- .../server/services/__tests__/user.test.js | 8 +- packages/core/admin/server/services/action.js | 2 +- .../core/admin/server/services/api-token.js | 10 +- packages/core/admin/server/services/auth.js | 4 +- .../core/admin/server/services/condition.js | 2 +- .../admin/server/services/content-type.js | 8 +- .../core/admin/server/services/passport.js | 6 +- .../services/passport/local-strategy.js | 4 +- .../services/permission/engine-hooks.js | 2 +- .../server/services/permission/engine.js | 18 +- .../permissions-manager/query-builers.js | 10 +- .../permissions-manager/sanitize.js | 16 +- .../server/services/permission/queries.js | 25 +- .../permission/sections-builder/handlers.js | 36 ++- .../permission/sections-builder/section.js | 4 +- .../permission/sections-builder/utils.js | 10 +- .../admin/server/services/project-settings.js | 34 +- packages/core/admin/server/services/role.js | 24 +- packages/core/admin/server/services/token.js | 4 +- packages/core/admin/server/services/user.js | 22 +- .../core/admin/server/strategies/admin.js | 2 +- .../core/admin/server/strategies/api-token.js | 6 +- .../server/tests/admin-permission.test.e2e.js | 2 +- .../admin-permissions-conditions.test.e2e.js | 2 +- .../admin/server/tests/admin-role.test.e2e.js | 41 +-- .../admin/server/tests/admin-user.test.e2e.js | 4 +- packages/core/admin/server/utils/index.js | 2 +- .../server/validation/action-provider.js | 18 +- .../admin/server/validation/api-tokens.js | 20 +- .../validation/authentication/renew-token.js | 6 +- .../check-fields-are-correctly-nested.js | 5 +- .../check-fields-dont-have-duplicates.js | 2 +- .../server/validation/common-validators.js | 141 ++++---- .../admin/server/validation/permission.js | 26 +- .../validation/policies/hasPermissions.js | 8 +- packages/core/admin/server/validation/user.js | 6 +- .../utils/__tests__/get-plugins-path.test.js | 14 +- packages/core/admin/utils/create-cache-dir.js | 6 +- .../admin/utils/get-custom-app-config-file.js | 6 +- packages/core/admin/utils/get-plugins-path.js | 5 +- .../core/admin/utils/should-build-admin.js | 8 +- packages/core/admin/webpack.config.dev.js | 2 + packages/core/content-manager/jest.config.js | 2 +- .../__tests__/single-types.test.js | 20 +- .../server/controllers/collection-types.js | 2 +- .../server/controllers/content-types.js | 4 +- .../server/controllers/validation/index.js | 21 +- .../validation/model-configuration.js | 64 +--- .../server/policies/hasPermissions.js | 4 +- .../services/__tests__/entity-manager.test.js | 4 +- .../server/services/__tests__/uid.test.js | 2 +- .../server/services/components.js | 2 +- .../server/services/configuration.js | 18 +- .../server/services/data-mapper.js | 6 +- .../server/services/entity-manager.js | 6 +- .../server/services/metrics.js | 6 +- .../server/services/permission-checker.js | 100 +++--- .../content-manager/server/services/uid.js | 2 +- .../utils/configuration/attributes.js | 10 +- .../services/utils/configuration/layouts.js | 20 +- .../services/utils/configuration/metadatas.js | 2 +- .../server/services/utils/store.js | 10 +- .../api/basic-compo-repeatable.test.e2e.js | 5 +- .../server/tests/api/basic-compo.test.e2e.js | 5 +- .../api/basic-dp-compo-repeatable.test.e2e.js | 20 +- .../tests/api/basic-dp-compo.test.e2e.js | 20 +- .../server/tests/api/basic-dp-dz.test.e2e.js | 7 +- .../server/tests/api/basic-dp.test.e2e.js | 7 +- .../server/tests/api/basic-dz.test.e2e.js | 5 +- .../tests/api/basic-relations.test.e2e.js | 4 +- .../server/tests/api/basic.test.e2e.js | 2 +- .../api/x-to-many-rf-preview.test.e2e.js | 8 +- ...epeatable-not-required-min-max.test.e2e.js | 15 +- .../repeatable-not-required.test.e2e.js | 15 +- .../repeatable-required-min-max.test.e2e.js | 15 +- .../repeatable-required.test.e2e.js | 15 +- .../single-not-required.test.e2e.js | 11 +- .../components/single-required.test.e2e.js | 11 +- .../tests/fields/biginteger.test.e2e.js | 2 +- .../server/tests/fields/boolean.test.e2e.js | 2 +- .../server/tests/fields/date.test.e2e.js | 6 +- .../server/tests/fields/datetime.test.e2e.js | 2 +- .../server/tests/fields/decimal.test.e2e.js | 2 +- .../tests/fields/enumeration.test.e2e.js | 2 +- .../server/tests/fields/float.test.e2e.js | 2 +- .../server/tests/fields/integer.test.e2e.js | 2 +- .../server/tests/fields/json.test.e2e.js | 2 +- .../server/tests/fields/password.test.e2e.js | 2 +- .../server/tests/fields/richtext.test.e2e.js | 2 +- .../server/tests/fields/string.test.e2e.js | 2 +- .../server/tests/fields/text.test.e2e.js | 2 +- .../server/tests/fields/time.test.e2e.js | 6 +- .../front/integration/createPage_specs.js | 74 ++--- .../tests/front/integration/init_specs.js | 27 +- .../tests/front/integration/listPage_specs.js | 14 +- .../server/tests/index.test.e2e.js | 10 +- .../server/tests/relation-list.test.e2e.js | 44 +-- .../server/tests/search.test.e2e.js | 9 +- .../content-manager/server/utils/index.js | 2 +- .../server/utils/pick-writable-attributes.js | 2 +- .../components/AllowedTypesSelect/index.js | 4 +- .../BooleanDefaultValueSelect/index.js | 2 +- .../src/components/BooleanRadioGroup/index.js | 2 +- .../CheckboxWithNumberField/index.js | 6 +- .../src/components/ComponentCard/index.js | 6 +- .../components/ComponentIconPicker/index.js | 4 +- .../components/ContentTypeBuilderNav/index.js | 8 +- .../ContentTypeBuilderNav/tests/index.test.js | 10 +- .../useContentTypeBuilderMenu.js | 30 +- .../components/ContentTypeRadioGroup/index.js | 2 +- .../src/components/CustomRadioGroup/index.js | 2 +- .../components/DataManagerProvider/index.js | 29 +- .../components/DataManagerProvider/reducer.js | 23 +- .../DataManagerProvider/selectors.js | 4 +- .../DataManagerProvider/utils/cleanData.js | 16 +- .../utils/createDataObject.js | 2 +- .../utils/formatSchemas.js | 4 +- .../retrieveComponentsThatHaveComponents.js | 6 +- .../utils/retrieveNestedComponents.js | 4 +- .../retrieveSpecificInfoFromComponents.js | 2 +- .../utils/serverRestartWatcher.js | 6 +- .../utils/validateSchema.js | 2 +- .../components/DraftAndPublishToggle/index.js | 2 +- .../src/components/DynamicZoneList/index.js | 4 +- .../FormModal/attributes/advancedForm.js | 30 +- .../FormModal/attributes/baseForm.js | 18 +- .../components/FormModal/attributes/types.js | 61 ++-- .../FormModal/attributes/validation/common.js | 29 +- .../category/createCategorySchema.js | 4 +- .../components/FormModal/category/regex.js | 2 +- .../component/createComponentSchema.js | 4 +- .../contentType/createContentTypeSchema.js | 12 +- .../components/FormModal/contentType/form.js | 6 +- .../components/FormModal/dynamicZone/form.js | 6 +- .../src/components/FormModal/forms/index.js | 16 +- .../admin/src/components/FormModal/index.js | 302 +++++++++--------- .../admin/src/components/FormModal/reducer.js | 2 +- .../src/components/FormModal/selectors.js | 4 +- .../components/FormModal/utils/createUid.js | 2 +- .../FormModal/utils/getFormInputNames.js | 2 +- .../components/FormModal/utils/relations.js | 4 +- .../components/FormModalEndActions/index.js | 34 +- .../FormModalNavigationProvider/index.js | 24 +- .../admin/src/components/List/index.js | 174 +++++----- .../admin/src/components/ListRow/index.js | 4 +- .../Relation/RelationField/index.js | 2 +- .../Relation/RelationNaturePicker/index.js | 2 +- .../src/components/SelectCategory/index.js | 8 +- .../src/components/SelectComponent/index.js | 16 +- .../src/components/SelectComponents/index.js | 2 +- .../src/components/SelectDateType/index.js | 2 +- .../src/components/SelectNumber/index.js | 2 +- .../admin/src/components/TabForm/index.js | 4 +- .../src/components/TextareaEnum/index.js | 2 +- .../admin/src/icons/Curve.js | 2 +- .../content-type-builder/admin/src/index.js | 4 +- .../ListView/LinkToCMSettingsView/index.js | 7 +- .../admin/src/pages/ListView/index.js | 13 +- .../src/pages/ListView/tests/index.test.js | 12 +- .../src/translations/tests/plural.test.js | 2 +- .../admin/src/utils/axiosInstance.js | 8 +- .../admin/src/utils/formAPI.js | 4 +- .../src/utils/getAttributeDisplayedType.js | 2 +- .../admin/src/utils/getTrad.js | 2 +- .../isAllowedContentTypesForRelations.js | 2 +- .../admin/src/utils/makeUnique.js | 2 +- .../admin/src/utils/nameToSlug.js | 2 +- .../admin/src/utils/startsWithANumber.js | 2 +- .../admin/src/utils/tests/formAPI.test.js | 2 +- .../admin/src/utils/toRegressedEnumValue.js | 2 +- .../content-type-builder/jest.config.front.js | 2 +- .../core/content-type-builder/jest.config.js | 2 +- .../server/controllers/components.js | 2 +- .../server/controllers/content-types.js | 4 +- .../validation/__tests__/common.test.js | 6 +- .../validation/__tests__/component.test.js | 6 +- .../validation/__tests__/content-type.test.js | 6 +- .../validation/__tests__/types.test.js | 6 +- .../server/controllers/validation/common.js | 36 +-- .../validation/component-category.js | 6 +- .../controllers/validation/component.js | 20 +- .../controllers/validation/content-type.js | 17 +- .../controllers/validation/data-transform.js | 8 +- .../controllers/validation/model-schema.js | 14 +- .../controllers/validation/relations.js | 28 +- .../server/controllers/validation/types.js | 43 +-- .../server/services/api-handler.js | 4 +- .../server/services/component-categories.js | 14 +- .../server/services/components.js | 8 +- .../server/services/content-types.js | 16 +- .../schema-builder/component-builder.js | 8 +- .../schema-builder/content-type-builder.js | 14 +- .../server/services/schema-builder/index.js | 21 +- .../services/schema-builder/schema-handler.js | 10 +- .../server/utils/attributes.js | 14 +- .../server/utils/helpers.js | 2 +- .../server/utils/index.js | 2 +- .../tests/components.test.e2e.js | 2 +- .../front/integrationOld/createApi_specs.js | 41 +-- packages/core/database/jest.config.js | 2 +- .../database/lib/__tests__/lifecycles.test.js | 2 +- packages/core/database/lib/connection.js | 7 +- .../core/database/lib/dialects/dialect.js | 8 +- packages/core/database/lib/dialects/index.js | 4 +- .../lib/dialects/mysql/schema-inspector.js | 28 +- .../database/lib/dialects/postgresql/index.js | 2 +- .../dialects/postgresql/schema-inspector.js | 55 ++-- .../lib/dialects/sqlite/schema-inspector.js | 10 +- packages/core/database/lib/entity-manager.js | 88 ++--- .../core/database/lib/entity-repository.js | 2 +- packages/core/database/lib/fields.js | 10 +- packages/core/database/lib/index.js | 2 +- .../core/database/lib/lifecycles/index.js | 4 +- .../subscribers/models-lifecycles.js | 2 +- .../lib/lifecycles/subscribers/timestamps.js | 4 +- packages/core/database/lib/metadata/index.js | 4 +- .../core/database/lib/metadata/relations.js | 13 +- .../core/database/lib/migrations/index.js | 10 +- .../core/database/lib/migrations/storage.js | 15 +- .../core/database/lib/query/helpers/join.js | 6 +- .../database/lib/query/helpers/order-by.js | 2 +- .../database/lib/query/helpers/populate.js | 92 +++--- .../core/database/lib/query/helpers/search.js | 10 +- .../database/lib/query/helpers/transform.js | 4 +- .../core/database/lib/query/helpers/where.js | 34 +- .../core/database/lib/query/query-builder.js | 23 +- packages/core/database/lib/schema/builder.js | 30 +- packages/core/database/lib/schema/diff.js | 28 +- packages/core/database/lib/schema/index.js | 2 +- packages/core/database/lib/schema/schema.js | 8 +- packages/core/database/lib/schema/storage.js | 9 +- packages/core/database/lib/types/index.js | 12 +- .../core/database/lib/utils/content-types.js | 6 +- packages/core/email/admin/src/index.js | 4 +- .../email/admin/src/pages/Settings/index.js | 6 +- .../admin/src/pages/Settings/utils/api.js | 2 +- .../src/translations/tests/plural.test.js | 2 +- .../email/admin/src/utils/axiosInstance.js | 8 +- .../core/email/admin/src/utils/getTrad.js | 2 +- packages/core/email/admin/src/utils/schema.js | 5 +- packages/core/email/jest.config.front.js | 2 +- packages/core/email/server/bootstrap.js | 2 +- .../core/email/server/controllers/email.js | 15 +- packages/core/email/server/services/email.js | 2 +- .../core/helper-plugin/.storybook/preview.js | 2 +- .../core/helper-plugin/createBuildIndex.js | 2 +- .../src/components/DateTimePicker/index.js | 6 +- .../components/DateTimePicker/parseDate.js | 2 +- .../lib/src/components/DynamicTable/index.js | 18 +- .../components/FilterListURLQuery/index.js | 4 +- .../FilterPopoverURLQuery/Inputs.js | 10 +- .../components/FilterPopoverURLQuery/index.js | 24 +- .../lib/src/components/Form/index.js | 2 +- .../lib/src/components/GenericInput/index.js | 20 +- .../components/InjectionZone/InjectionZone.js | 2 +- .../InjectionZone/useInjectionZone.js | 2 +- .../lib/src/components/Link/index.js | 2 +- .../lib/src/components/LinkButton/index.js | 2 +- .../lib/src/components/NoMedia/index.js | 2 +- .../src/components/PageSizeURLQuery/index.js | 2 +- .../PageSizeURLQuery/tests/index.test.js | 2 +- .../components/PaginationURLQuery/index.js | 10 +- .../ReactSelect/components/ClearIndicator.js | 2 +- .../ReactSelect/utils/getSelectStyles.js | 24 +- .../lib/src/components/RelativeTime/index.js | 2 +- .../src/components/SearchURLQuery/index.js | 4 +- ...ntentManagementUtilRemoveFieldsFromData.js | 4 +- .../utils/formatContentTypeData.js | 2 +- .../src/hooks/useFormattedMessage/index.js | 2 +- .../lib/src/hooks/useLockScroll/index.js | 2 +- .../lib/src/hooks/useQueryParams/index.js | 4 +- .../lib/src/hooks/useRBAC/index.js | 2 +- .../lib/src/hooks/useRBAC/init.js | 2 +- .../lib/src/hooks/useRBAC/reducer.js | 2 +- .../useRBAC/utils/generateAllowedActions.js | 2 +- .../useRBAC/utils/generateResultsObject.js | 2 +- .../lib/src/hooks/useSelectionState/index.js | 14 +- .../src/icons/RemoveRoundedButton/index.js | 2 +- .../lib/src/utils/await-to-js/index.js | 4 +- .../lib/src/utils/difference/index.js | 2 +- .../getFileExtension/getFileExtension.js | 2 +- .../lib/src/utils/getYupInnerErrors/index.js | 10 +- .../lib/src/utils/hasPermissions/index.js | 12 +- .../prefixFileUrlWithBackendUrl.js | 2 +- .../lib/src/utils/pxToRem/index.js | 2 +- .../lib/src/utils/request/index.js | 10 +- .../lib/src/utils/stopPropagation/index.js | 2 +- packages/core/helper-plugin/webpack.config.js | 2 +- packages/core/strapi/bin/strapi.js | 48 +-- packages/core/strapi/jest.config.js | 2 +- packages/core/strapi/lib/Strapi.js | 10 +- .../commands/__tests__/admin-create.test.js | 16 +- .../commands/__tests__/admin-reset.test.js | 4 +- .../__tests__/generate-template.test.js | 4 +- .../core/strapi/lib/commands/admin-create.js | 7 +- .../core/strapi/lib/commands/admin-reset.js | 2 +- .../strapi/lib/commands/builders/admin.js | 2 +- .../lib/commands/builders/typescript.js | 4 +- .../strapi/lib/commands/configurationDump.js | 6 +- .../lib/commands/configurationRestore.js | 9 +- packages/core/strapi/lib/commands/console.js | 2 +- .../strapi/lib/commands/content-types/list.js | 4 +- .../strapi/lib/commands/controllers/list.js | 4 +- packages/core/strapi/lib/commands/develop.js | 23 +- .../core/strapi/lib/commands/hooks/list.js | 4 +- packages/core/strapi/lib/commands/install.js | 4 +- .../strapi/lib/commands/middlewares/list.js | 4 +- packages/core/strapi/lib/commands/new.js | 2 +- .../strapi/lib/commands/opt-in-telemetry.js | 6 +- .../strapi/lib/commands/opt-out-telemetry.js | 4 +- .../core/strapi/lib/commands/policies/list.js | 4 +- .../core/strapi/lib/commands/routes/list.js | 6 +- .../core/strapi/lib/commands/services/list.js | 4 +- .../strapi/lib/commands/ts/generate-types.js | 2 +- .../core/strapi/lib/commands/uninstall.js | 2 +- .../core/strapi/lib/commands/watchAdmin.js | 2 +- packages/core/strapi/lib/compile.js | 2 +- packages/core/strapi/lib/container.js | 2 +- .../lib/core-api/controller/transform.js | 8 +- .../lib/core-api/service/collection-type.js | 2 +- .../strapi/lib/core-api/service/pagination.js | 10 +- .../core/app-configuration/config-loader.js | 4 +- .../app-configuration/load-config-file.js | 6 +- packages/core/strapi/lib/core/bootstrap.js | 2 +- .../lib/core/domain/component/validator.js | 12 +- .../lib/core/domain/content-type/index.js | 2 +- .../lib/core/domain/content-type/validator.js | 32 +- .../strapi/lib/core/domain/module/index.js | 2 +- .../lib/core/domain/module/validation.js | 4 +- .../core/strapi/lib/core/loaders/admin.js | 2 +- packages/core/strapi/lib/core/loaders/apis.js | 52 ++- .../strapi/lib/core/loaders/components.js | 4 +- .../strapi/lib/core/loaders/middlewares.js | 2 +- .../loaders/plugins/get-enabled-plugins.js | 12 +- .../strapi/lib/core/loaders/plugins/index.js | 6 +- .../strapi/lib/core/loaders/sanitizers.js | 2 +- .../core/strapi/lib/core/loaders/src-index.js | 4 +- .../core/strapi/lib/core/registries/apis.js | 2 +- .../lib/core/registries/content-types.js | 2 +- .../strapi/lib/core/registries/modules.js | 2 +- .../strapi/lib/core/registries/plugins.js | 2 +- .../strapi/lib/core/registries/services.js | 2 +- packages/core/strapi/lib/factories.js | 6 +- .../strapi/lib/load/filepath-to-prop-path.js | 2 +- packages/core/strapi/lib/load/package-path.js | 2 +- .../lib/middlewares/__tests__/errors.test.js | 6 +- packages/core/strapi/lib/middlewares/body.js | 4 +- .../strapi/lib/middlewares/compression.js | 2 +- packages/core/strapi/lib/middlewares/cors.js | 13 +- packages/core/strapi/lib/middlewares/ip.js | 2 +- .../core/strapi/lib/middlewares/logger.js | 4 +- .../core/strapi/lib/middlewares/powered-by.js | 2 +- packages/core/strapi/lib/middlewares/query.js | 10 +- .../core/strapi/lib/middlewares/security.js | 4 +- .../strapi/lib/migrations/draft-publish.js | 6 +- .../services/__tests__/worker-queue.test.js | 4 +- .../core/strapi/lib/services/auth/index.js | 2 +- .../core/strapi/lib/services/core-store.js | 8 +- .../__tests__/entity-service.test.js | 2 +- .../lib/services/entity-service/components.js | 26 +- .../lib/services/entity-service/index.js | 102 +++--- .../lib/services/entity-validator/index.js | 266 +++++++-------- .../services/entity-validator/validators.js | 29 +- packages/core/strapi/lib/services/errors.js | 16 +- packages/core/strapi/lib/services/fs.js | 2 +- .../metrics/__tests__/middleware.test.js | 2 +- .../core/strapi/lib/services/metrics/index.js | 14 +- .../strapi/lib/services/metrics/is-truthy.js | 2 +- .../strapi/lib/services/metrics/sender.js | 8 +- .../lib/services/metrics/stringify-deep.js | 2 +- .../strapi/lib/services/server/admin-api.js | 2 +- .../lib/services/server/compose-endpoint.js | 14 +- .../strapi/lib/services/server/content-api.js | 2 +- .../strapi/lib/services/server/http-server.js | 6 +- .../core/strapi/lib/services/server/index.js | 8 +- .../core/strapi/lib/services/server/koa.js | 19 +- .../strapi/lib/services/server/middleware.js | 2 +- .../core/strapi/lib/services/server/policy.js | 2 +- .../services/server/register-middlewares.js | 12 +- .../lib/services/server/register-routes.js | 22 +- .../strapi/lib/services/server/routing.js | 37 +-- .../strapi/lib/services/utils/upload-files.js | 4 +- .../strapi/lib/services/webhook-runner.js | 14 +- .../core/strapi/lib/services/webhook-store.js | 4 +- packages/core/strapi/lib/utils/addSlash.js | 2 +- packages/core/strapi/lib/utils/ee.js | 2 +- .../core/strapi/lib/utils/import-default.js | 2 +- packages/core/strapi/lib/utils/run-checks.js | 4 +- packages/core/strapi/lib/utils/signals.js | 4 +- .../core/strapi/lib/utils/startup-logger.js | 2 +- .../strapi/lib/utils/update-notifier/index.js | 8 +- .../api/basic-compo-repeatable.test.e2e.js | 7 +- .../strapi/tests/api/basic-compo.test.e2e.js | 7 +- .../api/basic-dp-compo-repeatable.test.e2e.js | 7 +- .../tests/api/basic-dp-compo.test.e2e.js | 7 +- .../strapi/tests/api/basic-dp.test.e2e.js | 7 +- .../strapi/tests/api/basic-dz.test.e2e.js | 7 +- .../core/strapi/tests/api/basic.test.e2e.js | 7 +- .../api/populate/filtering/index.test.e2e.js | 16 +- .../tests/api/populate/sanitize.test.e2e.js | 2 +- ...epeatable-not-required-min-max.test.e2e.js | 15 +- .../repeatable-not-required.test.e2e.js | 15 +- .../repeatable-required-min-max.test.e2e.js | 15 +- .../repeatable-required.test.e2e.js | 15 +- .../single-not-required.test.e2e.js | 11 +- .../components/single-required.test.e2e.js | 11 +- .../strapi/tests/deepFiltering.test.e2e.js | 8 +- .../core/strapi/tests/endpoint.test.e2e.js | 8 +- .../core/strapi/tests/filtering.test.e2e.js | 36 ++- .../lifecycles/before-delete.test.e2e.js | 2 +- .../migration-draft-publish.test.e2e.js | 11 +- .../migration-required-attribute.test.e2e.js | 7 +- .../migration-unique-attribute.test.e2e.js | 5 +- .../tests/publication-state.test.e2e.js | 24 +- packages/core/strapi/tests/search.test.e2e.js | 15 +- .../AssetCard/UploadingAssetCard.js | 4 +- .../src/components/AssetCard/VideoPreview.js | 6 +- .../AssetCard/tests/DocAssetCard.test.js | 2 +- .../AssetCard/tests/ImageAssetCard.test.js | 2 +- .../AssetDialog/BrowseStep/Filters.js | 2 +- .../AssetDialog/BrowseStep/PageSize.js | 2 +- .../BrowseStep/PaginationFooter/components.js | 6 +- .../BrowseStep/PaginationFooter/index.js | 8 +- .../BrowseStep/SearchAsset/index.js | 6 +- .../SearchAsset/tests/index.test.js | 2 +- .../AssetDialog/BrowseStep/index.js | 6 +- .../BrowseStep/tests/index.test.js | 4 +- .../components/AssetDialog/DialogFooter.js | 8 +- .../admin/src/components/AssetDialog/index.js | 12 +- .../src/components/AssetList/Draggable.js | 4 +- .../admin/src/components/AssetList/index.js | 2 +- .../AssetList/tests/AssetList.test.js | 4 +- .../src/components/Breadcrumbs/Breadcrumbs.js | 2 +- .../Breadcrumbs/CrumbSimpleMenuAsync.js | 4 +- .../Breadcrumbs/tests/index.test.js | 2 +- .../BulkMoveDialog/BulkMoveDialog.js | 2 +- .../EditAssetDialog/PreviewBox/index.js | 11 +- .../EditAssetDialog/ReplaceMediaButton.js | 2 +- .../src/components/EditAssetDialog/index.js | 6 +- .../tests/EditAssetDialog.test.js | 2 +- .../EditFolderDialog/EditFolderDialog.js | 2 +- .../admin/src/components/FilterList/index.js | 4 +- .../FilterPopover/FilterValueInput.js | 6 +- .../src/components/FilterPopover/index.js | 154 +++++---- .../FolderCardBody/FolderCardBody.js | 2 +- .../FolderCardCheckbox/FolderCardCheckbox.js | 2 +- .../src/components/FolderCard/hooks/useId.js | 2 +- .../FolderCard/tests/FolderCard.test.js | 2 +- .../FolderList/tests/FolderList.test.js | 2 +- .../components/MediaLibraryDialog/index.js | 2 +- .../Carousel/CarouselAssets.js | 6 +- .../Carousel/EmptyStateAsset.js | 8 +- .../src/components/MediaLibraryInput/index.js | 22 +- .../tests/MediaLibraryInput.test.js | 2 +- .../admin/src/components/SelectTree/Option.js | 60 ++-- .../src/components/SelectTree/SelectTree.js | 18 +- .../SelectTree/tests/SelectTree.test.js | 6 +- .../SelectTree/utils/flattenTree.js | 2 +- .../SelectTree/utils/getOpenValues.js | 2 +- .../SelectTree/utils/getValuesToClose.js | 6 +- .../admin/src/components/SortPicker/index.js | 2 +- .../AddAssetStep/FromComputerForm.js | 8 +- .../tests/FromComputerForm.test.js | 6 +- .../PendingAssetStep/PendingAssetStep.js | 6 +- .../tests/PendingAssetStep.test.js | 4 +- .../UploadAssetDialog/UploadAssetDialog.js | 20 +- .../tests/UploadAssetDialog.test.js | 22 +- .../UploadProgress/tests/index.test.js | 2 +- .../admin/src/hooks/tests/useAssets.test.js | 2 +- .../admin/src/hooks/tests/useBulkMove.test.js | 2 +- .../src/hooks/tests/useBulkRemove.test.js | 2 +- .../src/hooks/tests/useEditFolder.test.js | 2 +- .../admin/src/hooks/tests/useFolder.test.js | 2 +- .../hooks/tests/useFolderStructure.test.js | 2 +- .../admin/src/hooks/tests/useFolders.test.js | 2 +- .../src/hooks/tests/useRemoveAsset.test.js | 2 +- .../upload/admin/src/hooks/useBulkMove.js | 2 +- .../upload/admin/src/hooks/useBulkRemove.js | 6 +- .../core/upload/admin/src/hooks/useCropImg.js | 4 +- .../upload/admin/src/hooks/useEditAsset.js | 6 +- .../upload/admin/src/hooks/useEditFolder.js | 4 +- .../admin/src/hooks/useFolderStructure.js | 2 +- .../admin/src/hooks/useModalQueryParams.js | 28 +- .../upload/admin/src/hooks/useRemoveAsset.js | 10 +- .../core/upload/admin/src/hooks/useUpload.js | 4 +- .../admin/src/hooks/utils/rename-keys.js | 5 +- .../src/hooks/utils/tests/rename-keys.test.js | 2 +- packages/core/upload/admin/src/index.js | 6 +- .../admin/src/pages/App/MediaLibrary.js | 32 +- .../admin/src/pages/App/components/Filters.js | 6 +- .../tests/EmptyOrNoPermissions.test.js | 2 +- .../src/pages/App/tests/BulkActions.test.js | 4 +- .../admin/src/pages/App/tests/Header.test.js | 2 +- .../src/pages/App/tests/MediaLibrary.test.js | 8 +- .../admin/src/pages/SettingsPage/index.js | 8 +- .../admin/src/pages/SettingsPage/init.js | 2 +- .../admin/src/pages/SettingsPage/reducer.js | 2 +- .../src/translations/tests/plural.test.js | 2 +- .../upload/admin/src/utils/axiosInstance.js | 8 +- .../admin/src/utils/containsAssetFilter.js | 6 +- .../upload/admin/src/utils/downloadFile.js | 2 +- .../upload/admin/src/utils/formatDuration.js | 4 +- .../upload/admin/src/utils/getAllowedFiles.js | 2 +- .../admin/src/utils/getBreadcrumbDataCM.js | 2 +- .../admin/src/utils/getFolderParents.js | 2 +- .../upload/admin/src/utils/getRequestUrl.js | 2 +- .../core/upload/admin/src/utils/getTrad.js | 2 +- .../upload/admin/src/utils/toSingularTypes.js | 4 +- .../upload/admin/src/utils/typeFromMime.js | 2 +- .../upload/admin/src/utils/urlYupSchema.js | 3 +- .../upload/admin/src/utils/urlsToAssets.js | 8 +- packages/core/upload/jest.config.front.js | 2 +- packages/core/upload/jest.config.js | 2 +- .../server/controllers/admin-folder-file.js | 8 +- .../validation/admin/folder-file.js | 8 +- .../controllers/validation/admin/folder.js | 36 ++- .../controllers/validation/admin/upload.js | 2 +- .../controllers/validation/admin/utils.js | 2 +- packages/core/upload/server/graphql.js | 6 +- .../core/upload/server/middlewares/upload.js | 2 +- packages/core/upload/server/register.js | 4 +- .../server/services/__tests__/metrics.js | 18 +- .../__tests__/upload/uploadImage.test.js | 6 +- packages/core/upload/server/services/file.js | 4 +- .../core/upload/server/services/folder.js | 18 +- .../server/services/image-manipulation.js | 27 +- .../core/upload/server/services/metrics.js | 4 +- .../core/upload/server/services/upload.js | 32 +- packages/core/upload/server/utils/cron.js | 2 +- packages/core/upload/server/utils/file.js | 12 +- packages/core/upload/server/utils/index.js | 2 +- .../tests/admin/file-folder.test.e2e.js | 2 +- .../core/upload/tests/admin/file.test.e2e.js | 2 +- .../tests/admin/folder-file.test.e2e.js | 10 +- .../tests/admin/folder-structure.test.e2e.js | 4 +- .../upload/tests/admin/folder.test.e2e.js | 6 +- .../tests/admin/image-dimension.test.e2e.js | 2 +- ...raphql-upload-automatic-folder.test.e2e.js | 2 +- .../upload-automatic-folder.test.e2e.js | 2 +- packages/core/utils/jest.config.js | 2 +- .../utils/lib/__tests__/content-types.test.js | 2 +- .../utils/lib/__tests__/env-helper.test.js | 11 +- .../core/utils/lib/__tests__/hooks.test.js | 29 +- .../utils/lib/__tests__/parse-type.test.js | 2 +- .../lib/__tests__/provider-factory.test.js | 24 +- .../utils/lib/__tests__/validators.test.js | 16 +- .../core/utils/lib/__tests__/visitors.test.js | 6 +- .../utils/lib/__tests__/yup-formatter.test.js | 22 +- packages/core/utils/lib/build-query.js | 12 +- packages/core/utils/lib/code-generator.js | 2 +- packages/core/utils/lib/config.js | 28 +- packages/core/utils/lib/content-types.js | 24 +- .../core/utils/lib/convert-query-params.js | 53 +-- packages/core/utils/lib/env-helper.js | 2 +- packages/core/utils/lib/format-yup-error.js | 4 +- packages/core/utils/lib/hooks.js | 2 +- packages/core/utils/lib/object-formatting.js | 2 +- packages/core/utils/lib/pagination.js | 10 +- packages/core/utils/lib/parse-multipart.js | 2 +- packages/core/utils/lib/parse-type.js | 8 +- packages/core/utils/lib/pipe-async.js | 16 +- packages/core/utils/lib/policy.js | 8 +- packages/core/utils/lib/print-value.js | 4 +- packages/core/utils/lib/provider-factory.js | 2 +- packages/core/utils/lib/relations.js | 4 +- packages/core/utils/lib/sanitize/index.js | 8 +- .../lib/sanitize/visitors/allowed-fields.js | 118 +++---- .../visitors/remove-restricted-relations.js | 94 +++--- .../sanitize/visitors/restricted-fields.js | 48 +-- packages/core/utils/lib/set-creator-fields.js | 20 +- packages/core/utils/lib/string-formatting.js | 18 +- .../core/utils/lib/template-configuration.js | 2 +- packages/core/utils/lib/traverse-entity.js | 8 +- packages/core/utils/lib/validators.js | 52 +-- packages/generators/admin/component/index.js | 10 +- packages/generators/admin/plopfile.js | 47 +-- .../admin/utils/fileExistsInPackages.js | 2 +- .../generators/admin/utils/getPluginList.js | 2 +- .../app/lib/create-cli-db-project.js | 2 +- .../app/lib/create-customized-project.js | 14 +- packages/generators/app/lib/create-project.js | 9 +- packages/generators/app/lib/generate-new.js | 2 +- packages/generators/app/lib/index.js | 8 +- .../files/js/src/admin/app.example.js | 2 +- .../lib/resources/json/common/package.json.js | 2 +- .../app/lib/resources/templates/env.js | 5 +- .../app/lib/utils/check-install-path.js | 2 +- .../app/lib/utils/merge-template.js | 6 +- .../app/lib/utils/parse-db-arguments.js | 4 +- packages/generators/app/lib/utils/usage.js | 2 +- .../lib/files/js/plugin/admin/src/index.js | 2 +- .../plugin/admin/src/utils/axiosInstance.js | 8 +- .../js/plugin/admin/src/utils/getTrad.js | 2 +- packages/generators/generators/lib/index.js | 2 +- .../generators/generators/lib/plopfile.js | 4 +- .../generators/generators/lib/plops/api.js | 8 +- .../generators/lib/plops/content-type.js | 10 +- .../generators/lib/plops/controller.js | 4 +- .../generators/lib/plops/middleware.js | 4 +- .../generators/generators/lib/plops/plugin.js | 8 +- .../generators/generators/lib/plops/policy.js | 4 +- .../lib/plops/prompts/ct-names-prompts.js | 6 +- .../plops/prompts/get-attributes-prompts.js | 12 +- .../plops/prompts/get-destination-prompts.js | 8 +- .../lib/plops/prompts/kind-prompts.js | 2 +- .../generators/lib/plops/service.js | 2 +- .../lib/plops/utils/get-file-path.js | 2 +- .../plops/utils/validate-attribute-input.js | 2 +- .../lib/plops/utils/validate-input.js | 2 +- .../plugins/documentation/admin/src/index.js | 6 +- .../admin/src/pages/PluginPage/index.js | 6 +- .../src/pages/PluginPage/tests/index.test.js | 2 +- .../admin/src/pages/SettingsPage/index.js | 6 +- .../pages/SettingsPage/tests/index.test.js | 2 +- .../admin/src/pages/utils/api.js | 2 +- .../admin/src/pages/utils/useReactQuery.js | 6 +- .../documentation/admin/src/utils/getTrad.js | 2 +- .../admin/src/utils/openWithNewTab.js | 2 +- .../plugins/documentation/server/bootstrap.js | 5 +- .../server/controllers/documentation.js | 9 +- .../documentation/server/public/index.html | 41 ++- .../documentation/server/public/login.html | 252 ++++++++------- .../server/services/documentation.js | 10 +- .../helpers/build-api-endpoint-path.js | 16 +- .../helpers/build-component-schema.js | 10 +- .../helpers/utils/clean-schema-attributes.js | 4 +- .../services/helpers/utils/pascal-case.js | 2 +- .../server/services/helpers/utils/routes.js | 4 +- packages/plugins/graphql/admin/src/index.js | 2 +- packages/plugins/graphql/jest.config.js | 2 +- packages/plugins/graphql/server/bootstrap.js | 39 ++- .../graphql/server/format-graphql-error.js | 15 +- .../server/services/builders/dynamic-zones.js | 12 +- .../services/builders/filters/content-type.js | 111 ++++--- .../server/services/builders/filters/index.js | 2 +- .../builders/filters/operators/index.js | 2 +- .../graphql/server/services/builders/index.js | 2 +- .../graphql/server/services/builders/input.js | 34 +- .../builders/mutations/collection-type.js | 2 +- .../services/builders/mutations/index.js | 2 +- .../builders/mutations/single-type.js | 2 +- .../builders/queries/collection-type.js | 4 +- .../server/services/builders/queries/index.js | 2 +- .../services/builders/queries/single-type.js | 4 +- .../builders/resolvers/association.js | 6 +- .../builders/resolvers/dynamic-zone.js | 2 +- .../services/builders/resolvers/index.js | 2 +- .../graphql/server/services/builders/type.js | 25 +- .../graphql/server/services/builders/utils.js | 2 +- .../server/services/content-api/index.js | 8 +- .../register-functions/collection-type.js | 2 +- .../content-type/dynamic-zones.js | 2 +- .../register-functions/content-type/enums.js | 2 +- .../register-functions/polymorphic.js | 4 +- .../register-functions/single-type.js | 2 +- .../services/content-api/wrap-resolvers.js | 58 ++-- .../server/services/extension/extension.js | 7 +- .../services/extension/shadow-crud-manager.js | 8 +- .../graphql/server/services/format/index.js | 2 +- .../server/services/internals/args/index.js | 2 +- .../internals/helpers/get-enabled-scalars.js | 22 +- .../services/internals/helpers/index.js | 2 +- .../server/services/internals/index.js | 2 +- .../server/services/internals/scalars/date.js | 16 +- .../services/internals/types/filters.js | 2 +- .../server/services/internals/types/index.js | 2 +- .../server/services/utils/attributes.js | 16 +- .../graphql/server/services/utils/index.js | 2 +- .../mappers/entity-to-response-entity.js | 2 +- .../graphql-filters-to-strapi-query.js | 6 +- .../mappers/graphql-scalar-to-operators.js | 2 +- .../server/services/utils/mappers/index.js | 2 +- .../graphql/server/services/utils/naming.js | 30 +- .../plugins/graphql/tests/crud.test.e2e.js | 12 +- .../graphql/tests/fields/date.test.e2e.js | 8 +- .../graphql/tests/fields/datetime.test.e2e.js | 8 +- .../graphql/tests/relations.test.e2e.js | 22 +- .../graphql/tests/single-type.test.e2e.js | 4 +- .../CMEditViewCopyLocale/index.js | 8 +- .../utils/generateOptions.js | 4 +- ...removePasswordAndRelationsFieldFromData.js | 4 +- .../CMEditViewLocalePicker/index.js | 6 +- .../CMEditViewInjectedComponents/index.js | 2 +- .../DeleteModalAdditionalInfos/index.js | 2 +- .../components/CheckboxConfirmation/index.js | 4 +- .../src/components/LocaleList/LocaleTable.js | 2 +- .../LocaleListCell/LocaleListCell.js | 14 +- .../src/components/LocalePicker/index.js | 6 +- .../src/components/LocaleSelect/index.js | 10 +- .../LocaleSelect/tests/LocaleSelect.test.js | 4 +- .../src/components/ModalCreate/BaseForm.js | 2 +- .../admin/src/components/ModalCreate/index.js | 2 +- .../contentManagerHooks/addColumnToTable.js | 2 +- .../mutateEditViewLayout.js | 10 +- .../addLocaleToCollectionTypesLinks.test.js | 4 +- .../tests/addLocaleToSingleTypesLinks.test.js | 4 +- .../utils/addLocaleToLinksSearch.js | 2 +- .../plugins/i18n/admin/src/hooks/reducers.js | 10 +- .../admin/src/hooks/useAddLocale/index.js | 4 +- .../hooks/useContentTypePermissions/index.js | 2 +- .../src/hooks/useDefaultLocales/index.js | 4 +- .../admin/src/hooks/useDeleteLocale/index.js | 2 +- .../i18n/admin/src/hooks/useHasI18n/index.js | 2 +- .../i18n/admin/src/hooks/useLocales/index.js | 8 +- packages/plugins/i18n/admin/src/index.js | 6 +- .../addCommonFieldsToInitialDataMiddleware.js | 140 ++++---- ...extendCTBAttributeInitialDataMiddleware.js | 108 ++++--- .../extendCTBInitialDataMiddleware.js | 2 +- .../middlewares/localePermissionMiddleware.js | 4 +- ...ommonFieldsToInitialDataMiddleware.test.js | 8 +- .../tests/localePermissionMiddleware.test.js | 14 +- .../pages/SettingsPage/LocaleSettingsPage.js | 2 +- .../SettingsPage/tests/SettingsPage.test.js | 4 +- ...selectCollectionTypesRelatedPermissions.js | 2 +- .../admin/src/selectors/selectI18nLocales.js | 2 +- .../src/selectors/tests/selectors.test.js | 2 +- .../i18n/admin/src/utils/axiosInstance.js | 8 +- .../i18n/admin/src/utils/getDefaultLocale.js | 6 +- .../i18n/admin/src/utils/getInitialLocale.js | 4 +- .../admin/src/utils/getLocaleFromQuery.js | 2 +- .../plugins/i18n/admin/src/utils/getTrad.js | 2 +- .../src/utils/mutateCTBContentTypeSchema.js | 4 +- packages/plugins/i18n/jest.config.front.js | 2 +- packages/plugins/i18n/jest.config.js | 2 +- packages/plugins/i18n/server/bootstrap.js | 54 ++-- .../plugins/i18n/server/constants/index.js | 2 +- .../i18n/server/content-types/locale/index.js | 2 +- .../i18n/server/controllers/content-types.js | 4 +- .../i18n/server/controllers/locales.js | 9 +- packages/plugins/i18n/server/domain/locale.js | 2 +- packages/plugins/i18n/server/graphql.js | 16 +- .../server/migrations/__tests__/field.test.js | 10 +- .../migrations/field/migrate-for-bookshelf.js | 17 +- .../i18n/server/migrations/field/migrate.js | 4 +- .../i18n/server/migrations/field/utils.js | 4 +- packages/plugins/i18n/server/register.js | 8 +- .../services/__tests__/content-types.test.js | 243 +++++++------- .../entity-service-decorator.test.js | 10 +- .../services/__tests__/localizations.test.js | 7 +- .../i18n/server/services/content-types.js | 42 ++- .../plugins/i18n/server/services/core-api.js | 106 +++--- .../services/entity-service-decorator.js | 8 +- .../plugins/i18n/server/services/locales.js | 14 +- .../i18n/server/services/localizations.js | 8 +- .../server/services/permissions/actions.js | 8 +- .../server/services/permissions/conditions.js | 2 +- .../server/services/permissions/engine.js | 2 +- .../services/permissions/sections-builder.js | 2 +- packages/plugins/i18n/server/utils/index.js | 2 +- .../i18n/server/validation/content-types.js | 2 +- .../plugins/i18n/server/validation/locales.js | 16 +- .../tests/content-api/content-api.test.e2e.js | 2 +- .../plugins/i18n/tests/graphql.test.e2e.js | 2 +- .../plugins/i18n/tests/locales.test.e2e.js | 8 +- packages/plugins/sentry/admin/src/index.js | 2 +- packages/plugins/sentry/jest.config.js | 2 +- .../sentry/server/middlewares/sentry.js | 2 +- .../sentry/server/services/sentry/index.js | 4 +- .../components/BoundRoute/getMethodColor.js | 2 +- .../admin/src/components/BoundRoute/index.js | 2 +- .../src/components/FormModal/Input/index.js | 2 +- .../admin/src/components/FormModal/index.js | 16 +- .../PermissionRow/CheckboxWrapper.js | 6 +- .../Permissions/PermissionRow/SubCategory.js | 24 +- .../Permissions/PermissionRow/index.js | 2 +- .../admin/src/components/Permissions/index.js | 4 +- .../admin/src/components/Permissions/init.js | 2 +- .../src/components/Permissions/reducer.js | 2 +- .../Permissions/tests/reducer.test.js | 4 +- .../admin/src/components/Policies/index.js | 2 +- .../src/components/UsersPermissions/index.js | 10 +- .../components/UsersPermissions/reducer.js | 2 +- .../UsersPermissions/tests/reducer.test.js | 12 +- .../admin/src/hooks/useFetchRole/index.js | 6 +- .../admin/src/hooks/useFetchRole/reducer.js | 2 +- .../admin/src/hooks/useForm/index.js | 2 +- .../admin/src/hooks/useForm/reducer.js | 2 +- .../src/hooks/useForm/tests/reducer.test.js | 8 +- .../admin/src/hooks/usePlugins/index.js | 2 +- .../admin/src/hooks/usePlugins/reducer.js | 2 +- .../admin/src/hooks/useRolesList/reducer.js | 2 +- .../users-permissions/admin/src/index.js | 10 +- .../admin/src/pages/AdvancedSettings/index.js | 21 +- .../src/pages/AdvancedSettings/utils/api.js | 2 +- .../pages/AdvancedSettings/utils/schema.js | 6 +- .../admin/src/pages/EmailTemplates/index.js | 16 +- .../src/pages/EmailTemplates/utils/api.js | 2 +- .../src/pages/EmailTemplates/utils/schema.js | 5 +- .../admin/src/pages/Providers/index.js | 44 +-- .../admin/src/pages/Providers/reducer.js | 2 +- .../admin/src/pages/Providers/utils/api.js | 4 +- .../Providers/utils/createProvidersArray.js | 2 +- .../admin/src/pages/Roles/CreatePage/index.js | 2 +- .../admin/src/pages/Roles/EditPage/index.js | 2 +- .../pages/Roles/EditPage/tests/index.test.js | 13 +- .../Roles/ListPage/components/TableBody.js | 9 +- .../admin/src/pages/Roles/ListPage/index.js | 4 +- .../pages/Roles/ListPage/tests/index.test.js | 4 +- .../admin/src/utils/axiosInstance.js | 8 +- .../admin/src/utils/cleanPermissions.js | 2 +- .../admin/src/utils/formatPolicies.js | 2 +- .../admin/src/utils/getRequestURL.js | 2 +- .../admin/src/utils/getTrad.js | 2 +- .../users-permissions/jest.config.front.js | 2 +- .../plugins/users-permissions/jest.config.js | 2 +- .../plugins/users-permissions/package.json | 1 - .../server/bootstrap/grant-config.js | 2 +- .../server/bootstrap/index.js | 78 ++--- .../server/controllers/auth.js | 5 +- .../controllers/content-manager-user.js | 16 +- .../server/controllers/settings.js | 2 +- .../server/controllers/user.js | 2 +- .../server/controllers/validation/auth.js | 15 +- .../controllers/validation/email-template.js | 3 +- .../server/controllers/validation/user.js | 20 +- .../graphql/mutations/auth/change-password.js | 5 +- .../graphql/mutations/auth/forgot-password.js | 5 +- .../server/graphql/mutations/auth/login.js | 5 +- .../server/graphql/mutations/auth/register.js | 5 +- .../graphql/mutations/auth/reset-password.js | 5 +- .../mutations/crud/role/create-role.js | 5 +- .../mutations/crud/role/delete-role.js | 5 +- .../mutations/crud/role/update-role.js | 5 +- .../mutations/crud/user/create-user.js | 5 +- .../mutations/crud/user/delete-user.js | 5 +- .../mutations/crud/user/update-user.js | 5 +- .../server/graphql/mutations/index.js | 2 +- .../server/graphql/types/index.js | 2 +- .../server/middlewares/rateLimit.js | 44 +-- .../users-permissions/server/register.js | 5 +- .../users-permissions/server/services/jwt.js | 20 +- .../server/services/providers-registry.js | 71 ++-- .../server/services/providers.js | 10 +- .../users-permissions/server/services/role.js | 14 +- .../users-permissions/server/services/user.js | 2 +- .../server/services/users-permissions.js | 24 +- .../server/strategies/users-permissions.js | 4 +- .../users-permissions/server/utils/index.js | 2 +- .../tests/admin/roles-api.test.e2e.js | 2 +- .../tests/content-api/auth.test.e2e.js | 4 +- .../tests/content-api/users-api.test.e2e.js | 5 +- .../tests/users-graphql.test.e2e.js | 6 +- .../providers/email-amazon-ses/lib/index.js | 3 +- packages/providers/email-mailgun/lib/index.js | 6 +- .../providers/email-sendgrid/lib/index.js | 2 +- .../providers/email-sendmail/lib/index.js | 2 +- .../providers/upload-cloudinary/lib/index.js | 17 +- packages/providers/upload-local/lib/index.js | 9 +- .../lib/normalizeOptions.js | 2 +- .../lib/transformers/import.js | 2 +- .../babel-plugin-switch-ee-ce/lib/utils.js | 14 +- .../babel-plugin-switch-ee-ce/package.json | 10 +- packages/utils/logger/lib/formats/index.js | 7 +- .../utils/logger/lib/formats/level-filter.js | 2 +- .../utils/logger/lib/formats/log-errors.js | 2 +- .../generators/schemas/attributes.test.js | 4 +- .../generators/schemas/global.test.js | 2 +- .../lib/admin/create-tsconfig-file.js | 2 +- .../utils/typescript/lib/compilers/watch.js | 8 +- .../lib/generators/schemas/attributes.js | 169 ++-------- .../lib/generators/schemas/global.js | 40 +-- .../lib/generators/schemas/imports.js | 2 +- .../lib/generators/schemas/index.js | 200 ++++++------ .../lib/generators/schemas/mappers.js | 131 ++++++++ .../lib/generators/schemas/schema.js | 64 ++-- .../lib/generators/schemas/utils.js | 34 +- .../lib/utils/report-diagnostics.js | 2 +- .../lib/utils/resolve-config-options.js | 2 +- .../add-missing-keys-to-other-language.js | 12 +- .../find-duplicated-translation.js | 15 +- .../merge-duplicated-translations/index.js | 30 +- .../front/reorder-admin-translation-files.js | 12 +- ...add-missing-keys-to-other-language.test.js | 4 +- scripts/front/utils/search-files-content.js | 13 +- scripts/front/utils/translation-files.js | 8 +- scripts/link.js | 8 +- scripts/open-api/serve.js | 2 +- scripts/unlink.js | 8 +- test/create-test-app.js | 9 +- test/e2e.js | 11 +- test/helpers/agent.js | 12 +- test/helpers/auth.js | 2 +- test/helpers/builder/action-registry.js | 2 +- test/helpers/builder/context.js | 2 +- test/helpers/models.js | 16 +- test/helpers/request.js | 4 +- test/helpers/test-app-generator.js | 4 +- test/helpers/utils.js | 17 +- test/helpers/waitRestart.js | 10 +- test/unit.setup.js | 12 +- yarn.lock | 86 ++--- 1307 files changed, 6323 insertions(+), 7034 deletions(-) create mode 100644 packages/utils/typescript/lib/generators/schemas/mappers.js diff --git a/.eslintrc.back.js b/.eslintrc.back.js index f75e9cfbe3..cbf9d11785 100644 --- a/.eslintrc.back.js +++ b/.eslintrc.back.js @@ -6,12 +6,31 @@ module.exports = { strapi: false, }, rules: { - 'node/no-unpublished-require': 'off', - 'no-process-exit': 'off', - 'node/exports-style': ['error', 'module.exports'], - 'node/no-new-require': 'error', - 'node/no-path-concat': 'error', - 'node/no-callback-literal': 'error', - 'node/handle-callback-err': 'error', + 'import/no-dynamic-require': 'off', + 'global-require': 'off', + 'import/no-extraneous-dependencies': [ + 'error', + { + devDependencies: [ + 'packages/admin-test-utils/**/*.js', + 'packages/generators/admin/**/*.js', + 'scripts/**/*.js', + '**/test/**/*.js', + '**/tests/**/*.js', + '**/__tests__/**/*.js', + '**/__mocks__/**/*.js', + ], + }, + ], + 'prefer-destructuring': ['error', { AssignmentExpression: { array: false } }], + eqeqeq: 'warn', + 'no-underscore-dangle': 'warn', + 'no-use-before-define': 'warn', + 'no-param-reassign': 'warn', + 'no-continue': 'warn', + 'no-process-exit': 'warn', + 'no-plusplus': 'warn', + 'no-loop-func': 'warn', + 'guard-for-in': 'warn', }, }; diff --git a/.eslintrc.front.js b/.eslintrc.front.js index 4dc9f78fd6..0ef1892b73 100644 --- a/.eslintrc.front.js +++ b/.eslintrc.front.js @@ -1,13 +1,6 @@ module.exports = { - parser: 'babel-eslint', - extends: [ - 'airbnb', - 'eslint:recommended', - 'plugin:react/recommended', - 'plugin:redux-saga/recommended', - 'prettier', - ], - plugins: ['react', 'redux-saga', 'react-hooks', 'import', 'jsx-a11y'], + parser: '@babel/eslint-parser', + extends: ['@strapi/eslint-config/front'], env: { browser: true, commonjs: true, @@ -16,11 +9,10 @@ module.exports = { mocha: true, }, parserOptions: { - ecmaVersion: 2018, - ecmaFeatures: { - jsx: true, + requireConfigFile: false, + babelOptions: { + presets: ['@babel/preset-react'], }, - sourceType: 'module', }, globals: { strapi: false, @@ -39,86 +31,7 @@ module.exports = { }, settings: { react: { - version: '16.5.2', + version: 'detect', }, }, - rules: { - 'import/no-unresolved': 0, - 'generator-star-spacing': 0, - 'no-console': 0, - 'require-atomic-updates': 0, - 'react-hooks/rules-of-hooks': 'error', - 'react-hooks/exhaustive-deps': 'error', - 'arrow-body-style': 0, - 'arrow-parens': 0, - camelcase: 0, - 'comma-dangle': 0, - 'consistent-return': [ - 2, - { - treatUndefinedAsUnspecified: true, - }, - ], - 'template-curly-spacing': 0, - 'func-names': ['error', 'never'], - 'function-paren-newline': 0, - 'implicit-arrow-linebreak': 0, - 'import/no-extraneous-dependencies': 0, - 'import/no-named-as-default': 0, - 'import/order': 2, - 'import/prefer-default-export': 'off', - 'jsx-a11y/click-events-have-key-events': 1, - 'max-len': [ - 2, - { - code: 120, - ignoreComments: true, - ignoreUrls: true, - ignoreTrailingComments: true, - ignoreStrings: true, - ignoreTemplateLiterals: true, - }, - ], - 'newline-before-return': 2, - 'no-confusing-arrow': 0, - 'no-else-return': 1, - 'no-nested-ternary': ['error'], - 'no-return-assign': 0, - 'no-param-reassign': 0, - 'no-plusplus': 0, - 'no-shadow': 0, - 'no-underscore-dangle': 0, - 'no-use-before-define': ['error', { functions: false, classes: false, variables: false }], - 'object-curly-newline': [2, { multiline: true, consistent: true }], - 'one-var': ['error', 'never'], - 'operator-linebreak': 0, - 'padding-line-between-statements': [ - 'error', - { blankLine: 'always', prev: '*', next: 'if' }, - { blankLine: 'any', prev: 'block-like', next: 'if' }, - ], - 'prefer-arrow-callback': 0, - 'prefer-const': 0, - 'prefer-destructuring': 0, - 'prefer-object-spread': 0, - 'prefer-spread': 0, - 'space-before-function-paren': [ - 'error', - { - anonymous: 'never', - named: 'never', - asyncArrow: 'always', - }, - ], - 'react/destructuring-assignment': 0, - 'react/jsx-filename-extension': [1, { extensions: ['.js', '.jsx'] }], - 'react/forbid-prop-types': 0, - 'react/no-unused-prop-types': 2, - 'react/jsx-props-no-spreading': 0, - 'react/jsx-one-expression-per-line': 0, - 'react/state-in-constructor': 0, - 'react/static-property-placement': 0, - 'react/display-name': 0, - 'react/jsx-wrap-multilines': 0, - }, }; diff --git a/.github/actions/check-pr-status/__tests__/action.test.js b/.github/actions/check-pr-status/__tests__/action.test.js index 3a32891a2e..0e598ed55a 100644 --- a/.github/actions/check-pr-status/__tests__/action.test.js +++ b/.github/actions/check-pr-status/__tests__/action.test.js @@ -6,7 +6,7 @@ jest.mock('@actions/core'); const github = require('@actions/github'); const core = require('@actions/core'); -test.each(action.BLOCKING_LABELS)('Test blocking labels %s', async label => { +test.each(action.BLOCKING_LABELS)('Test blocking labels %s', async (label) => { github.context = { payload: { pull_request: { diff --git a/.github/actions/check-pr-status/index.js b/.github/actions/check-pr-status/index.js index 86849c6750..099172b61e 100644 --- a/.github/actions/check-pr-status/index.js +++ b/.github/actions/check-pr-status/index.js @@ -7,20 +7,20 @@ async function main() { try { const labels = github.context.payload.pull_request?.labels ?? []; - const blockingLabels = labels.filter(label => BLOCKING_LABELS.includes(label.name)); + const blockingLabels = labels.filter((label) => BLOCKING_LABELS.includes(label.name)); if (blockingLabels.length > 0) { core.setFailed( `The PR has been labelled with a blocking label (${blockingLabels - .map(label => label.name) + .map((label) => label.name) .join(', ')}).` ); return; } - const sourceLabelCount = labels.filter(label => label.name.startsWith('source: ')).length; - const issueLabelCount = labels.filter(label => label.name.startsWith('pr: ')).length; + const sourceLabelCount = labels.filter((label) => label.name.startsWith('source: ')).length; + const issueLabelCount = labels.filter((label) => label.name.startsWith('pr: ')).length; if (sourceLabelCount !== 1) { core.setFailed(`The PR must have one and only one 'source:' label.`); diff --git a/.prettierrc.js b/.prettierrc.js index 102e3fa4b2..1613e2a6ef 100644 --- a/.prettierrc.js +++ b/.prettierrc.js @@ -5,4 +5,5 @@ module.exports = { tabWidth: 2, trailingComma: 'es5', printWidth: 100, + arrowParens: 'always', }; diff --git a/examples/getstarted/config/src/response-handlers.js b/examples/getstarted/config/src/response-handlers.js index 72b34df02d..2ad17f9b8a 100644 --- a/examples/getstarted/config/src/response-handlers.js +++ b/examples/getstarted/config/src/response-handlers.js @@ -1,7 +1,7 @@ 'use strict'; module.exports = { - '404': async (/* ctx */) => { + 404: async (/* ctx */) => { // return ctx.notFound('My custom message 404'); }, }; diff --git a/examples/getstarted/src/api/address/middlewares/address-middleware.js b/examples/getstarted/src/api/address/middlewares/address-middleware.js index baeae56c18..9e31b84eb3 100644 --- a/examples/getstarted/src/api/address/middlewares/address-middleware.js +++ b/examples/getstarted/src/api/address/middlewares/address-middleware.js @@ -1,4 +1,4 @@ -module.exports = options => { +module.exports = (options) => { return (ctx, next) => { ctx.set('X-Strapi-Test', 'Address Middleware'); return next(); diff --git a/examples/getstarted/src/api/address/services/address.js b/examples/getstarted/src/api/address/services/address.js index c394b7fa86..f639b9695d 100644 --- a/examples/getstarted/src/api/address/services/address.js +++ b/examples/getstarted/src/api/address/services/address.js @@ -4,7 +4,7 @@ module.exports = createCoreService('api::address.address', { async find(...args) { const { results, pagination } = await super.find(...args); - results.forEach(result => { + results.forEach((result) => { result.counter = 1; }); diff --git a/examples/getstarted/src/extensions/users-permissions/strapi-server.js b/examples/getstarted/src/extensions/users-permissions/strapi-server.js index 235100b090..9ad0863dc0 100644 --- a/examples/getstarted/src/extensions/users-permissions/strapi-server.js +++ b/examples/getstarted/src/extensions/users-permissions/strapi-server.js @@ -1,3 +1,3 @@ -module.exports = plugin => { +module.exports = (plugin) => { return plugin; }; diff --git a/examples/getstarted/src/plugins/myplugin/admin/src/index.js b/examples/getstarted/src/plugins/myplugin/admin/src/index.js index 44d19676d8..f00a4b5125 100644 --- a/examples/getstarted/src/plugins/myplugin/admin/src/index.js +++ b/examples/getstarted/src/plugins/myplugin/admin/src/index.js @@ -29,7 +29,7 @@ export default { bootstrap() {}, async registerTrads({ locales }) { const importedTrads = await Promise.all( - locales.map(locale => { + locales.map((locale) => { return import( /* webpackChunkName: "[pluginId]-[request]" */ `./translations/${locale}.json` ) diff --git a/examples/getstarted/src/plugins/myplugin/admin/src/utils/getTrad.js b/examples/getstarted/src/plugins/myplugin/admin/src/utils/getTrad.js index a2b8632a8d..d0a071b26a 100644 --- a/examples/getstarted/src/plugins/myplugin/admin/src/utils/getTrad.js +++ b/examples/getstarted/src/plugins/myplugin/admin/src/utils/getTrad.js @@ -1,5 +1,5 @@ import pluginId from '../pluginId'; -const getTrad = id => `${pluginId}.${id}`; +const getTrad = (id) => `${pluginId}.${id}`; export default getTrad; diff --git a/examples/getstarted/src/plugins/myplugin/server/config/index.js b/examples/getstarted/src/plugins/myplugin/server/config/index.js index 46517110c5..d16884e338 100644 --- a/examples/getstarted/src/plugins/myplugin/server/config/index.js +++ b/examples/getstarted/src/plugins/myplugin/server/config/index.js @@ -4,7 +4,7 @@ module.exports = { default: { testConf: 1, }, - validator: config => { + validator: (config) => { if (typeof config.testConf !== 'number') { throw new Error('testConfig has to be a number'); } diff --git a/examples/kitchensink/src/admin/app.example.js b/examples/kitchensink/src/admin/app.example.js index d4278b95e4..aa8cbb54a7 100644 --- a/examples/kitchensink/src/admin/app.example.js +++ b/examples/kitchensink/src/admin/app.example.js @@ -2,8 +2,7 @@ import theme from './extensions/theme'; const config = { auth: { - logo: - 'https://images.unsplash.com/photo-1593642634367-d91a135587b5?ixid=MnwxMjA3fDF8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=750&q=80', + logo: 'https://images.unsplash.com/photo-1593642634367-d91a135587b5?ixid=MnwxMjA3fDF8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=750&q=80', }, head: { favicon: @@ -12,8 +11,7 @@ const config = { }, locales: ['fr', 'de'], menu: { - logo: - 'https://images.unsplash.com/photo-1593642634367-d91a135587b5?ixid=MnwxMjA3fDF8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=750&q=80', + logo: 'https://images.unsplash.com/photo-1593642634367-d91a135587b5?ixid=MnwxMjA3fDF8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=750&q=80', }, theme, translations: { @@ -29,7 +27,7 @@ const config = { notifications: { release: false }, }; -const bootstrap = app => { +const bootstrap = (app) => { console.log(app); }; diff --git a/examples/kitchensink/src/admin/app.js b/examples/kitchensink/src/admin/app.js index 417194815e..387cea3632 100644 --- a/examples/kitchensink/src/admin/app.js +++ b/examples/kitchensink/src/admin/app.js @@ -2,8 +2,7 @@ import theme from './extensions/theme'; const config = { auth: { - logo: - 'https://images.unsplash.com/photo-1593642634367-d91a135587b5?ixid=MnwxMjA3fDF8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=750&q=80', + logo: 'https://images.unsplash.com/photo-1593642634367-d91a135587b5?ixid=MnwxMjA3fDF8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=750&q=80', }, head: { favicon: @@ -12,8 +11,7 @@ const config = { }, locales: ['fr', 'de'], menu: { - logo: - 'https://images.unsplash.com/photo-1593642634367-d91a135587b5?ixid=MnwxMjA3fDF8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=750&q=80', + logo: 'https://images.unsplash.com/photo-1593642634367-d91a135587b5?ixid=MnwxMjA3fDF8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=750&q=80', }, theme, translations: { @@ -29,7 +27,7 @@ const config = { notifications: { release: false }, }; -const bootstrap = app => { +const bootstrap = (app) => { console.log(app); }; diff --git a/package.json b/package.json index 5a2d09cac8..b0a70b16c2 100644 --- a/package.json +++ b/package.json @@ -71,6 +71,9 @@ "@babel/polyfill": "7.12.1" }, "devDependencies": { + "@babel/core": "7.18.10", + "@babel/eslint-parser": "7.18.9", + "@babel/preset-react": "7.18.6", "@strapi/eslint-config": "0.1.0", "@swc/core": "1.2.224", "@swc/jest": "0.2.22", @@ -84,20 +87,12 @@ "cross-env": "7.0.3", "dotenv": "14.2.0", "eslint": "8.21.0", - "eslint-config-airbnb-base": "15.0.0", - "eslint-config-prettier": "8.5.0", - "eslint-plugin-import": "2.26.0", - "eslint-plugin-jsdoc": "36.1.1", - "eslint-plugin-jsx-a11y": "6.6.1", - "eslint-plugin-node": "11.1.0", - "eslint-plugin-react": "7.30.1", - "eslint-plugin-react-hooks": "4.6.0", - "eslint-plugin-redux-saga": "1.3.2", "execa": "1.0.0", "fs-extra": "10.1.0", "get-port": "5.1.1", "glob": "7.2.3", "husky": "3.1.0", + "inquirer": "8.2.4", "istanbul": "~0.4.2", "jest": "26.6.3", "jest-circus": "26.6.3", @@ -110,7 +105,7 @@ "npm-run-all": "4.1.5", "nx": "14.4.2", "plop": "2.7.6", - "prettier": "1.19.1", + "prettier": "2.7.1", "qs": "6.11.0", "react-test-renderer": "17.0.2", "request": "2.88.2", diff --git a/packages/admin-test-utils/lib/fixtures/store/index.js b/packages/admin-test-utils/lib/fixtures/store/index.js index 4c9ac95f14..4211451569 100644 --- a/packages/admin-test-utils/lib/fixtures/store/index.js +++ b/packages/admin-test-utils/lib/fixtures/store/index.js @@ -1,6 +1,5 @@ 'use strict'; -// eslint-disable-next-line node/no-extraneous-require const { combineReducers, createStore } = require('redux'); const reducers = { diff --git a/packages/admin-test-utils/lib/setup/strapi.js b/packages/admin-test-utils/lib/setup/strapi.js index a6421d14cf..3147b86eb6 100644 --- a/packages/admin-test-utils/lib/setup/strapi.js +++ b/packages/admin-test-utils/lib/setup/strapi.js @@ -25,4 +25,4 @@ global.strapi = { global.prompt = jest.fn(); -global.URL.createObjectURL = file => `http://localhost:4000/assets/${file.name}`; +global.URL.createObjectURL = (file) => `http://localhost:4000/assets/${file.name}`; diff --git a/packages/admin-test-utils/lib/setup/test-bundler.js b/packages/admin-test-utils/lib/setup/test-bundler.js index 03207ab94a..fb6c50c8e8 100644 --- a/packages/admin-test-utils/lib/setup/test-bundler.js +++ b/packages/admin-test-utils/lib/setup/test-bundler.js @@ -1,7 +1,6 @@ 'use strict'; // needed for regenerator-runtime -// (ES7 generator support is required by redux-saga) require('@babel/polyfill'); const noop = () => {}; diff --git a/packages/admin-test-utils/package.json b/packages/admin-test-utils/package.json index fa82dd43eb..d921cafba4 100644 --- a/packages/admin-test-utils/package.json +++ b/packages/admin-test-utils/package.json @@ -24,6 +24,9 @@ "@testing-library/jest-dom": "5.16.5", "jest-styled-components": "7.0.2" }, + "peerDependencies": { + "redux": "^4.0.1" + }, "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, diff --git a/packages/cli/create-strapi-app/create-strapi-app.js b/packages/cli/create-strapi-app/create-strapi-app.js index ce39878732..50188fb8b4 100644 --- a/packages/cli/create-strapi-app/create-strapi-app.js +++ b/packages/cli/create-strapi-app/create-strapi-app.js @@ -39,7 +39,7 @@ program .option('--template ', 'Specify a Strapi template') .option('--ts, --typescript', 'Use TypeScript to generate the project') .description('create a new application') - .action(directory => { + .action((directory) => { initProject(directory, program); }) .parse(process.argv); @@ -62,7 +62,7 @@ async function initProject(projectName, program) { await checkInstallPath(resolve(projectName)); } - const hasDatabaseOptions = databaseOptions.some(opt => program[opt]); + const hasDatabaseOptions = databaseOptions.some((opt) => program[opt]); if (program.quickstart && hasDatabaseOptions) { console.error( diff --git a/packages/cli/create-strapi-starter/create-strapi-starter.js b/packages/cli/create-strapi-starter/create-strapi-starter.js index 4e27261c30..919349bf52 100644 --- a/packages/cli/create-strapi-starter/create-strapi-starter.js +++ b/packages/cli/create-strapi-starter/create-strapi-starter.js @@ -57,7 +57,9 @@ function generateApp(projectArgs, programArgs) { } async function initProject(projectArgs, program) { - const hasIncompatibleQuickstartOptions = incompatibleQuickstartOptions.some(opt => program[opt]); + const hasIncompatibleQuickstartOptions = incompatibleQuickstartOptions.some( + (opt) => program[opt] + ); if (program.quickstart && hasIncompatibleQuickstartOptions) { console.error( @@ -96,7 +98,7 @@ async function initProject(projectArgs, program) { try { program.parse(process.argv); } catch (err) { - if (err.exitCode && err.exitCode != 0) { + if (err.exitCode && err.exitCode !== 0) { program.outputHelp(); } } diff --git a/packages/cli/create-strapi-starter/utils/build-starter.js b/packages/cli/create-strapi-starter/utils/build-starter.js index e76c084a89..8b01c42f08 100644 --- a/packages/cli/create-strapi-starter/utils/build-starter.js +++ b/packages/cli/create-strapi-starter/utils/build-starter.js @@ -72,10 +72,7 @@ async function installWithLogs(path, options) { const installPrefix = chalk.yellow('Installing dependencies:'); const loader = ora(installPrefix).start(); const logInstall = (chunk = '') => { - loader.text = `${installPrefix} ${chunk - .toString() - .split('\n') - .join(' ')}`; + loader.text = `${installPrefix} ${chunk.toString().split('\n').join(' ')}`; }; const runner = runInstall(path, options); @@ -94,7 +91,7 @@ async function installWithLogs(path, options) { * @param {boolean} options.useYarn Use yarn instead of npm */ async function getStarterInfo(starter, { useYarn } = {}) { - const isLocalStarter = ['./', '../', '/'].some(filePrefix => starter.startsWith(filePrefix)); + const isLocalStarter = ['./', '../', '/'].some((filePrefix) => starter.startsWith(filePrefix)); let starterPath; let starterParentPath; @@ -125,12 +122,8 @@ async function getStarterInfo(starter, { useYarn } = {}) { */ module.exports = async function buildStarter({ projectName, starter }, program) { const hasYarnInstalled = await hasYarn(); - const { - isLocalStarter, - starterPath, - starterParentPath, - starterPackageInfo, - } = await getStarterInfo(starter, { useYarn: hasYarnInstalled }); + const { isLocalStarter, starterPath, starterParentPath, starterPackageInfo } = + await getStarterInfo(starter, { useYarn: hasYarnInstalled }); // Project directory const rootPath = resolve(projectName); diff --git a/packages/core/admin/admin/src/StrapiApp.js b/packages/core/admin/admin/src/StrapiApp.js index fbc6a8e9c6..cca63eb768 100644 --- a/packages/core/admin/admin/src/StrapiApp.js +++ b/packages/core/admin/admin/src/StrapiApp.js @@ -61,15 +61,15 @@ class StrapiApp { }; } - addComponents = components => { + addComponents = (components) => { if (Array.isArray(components)) { - components.map(compo => this.library.components.add(compo)); + components.map((compo) => this.library.components.add(compo)); } else { this.library.components.add(components); } }; - addCorePluginMenuLink = link => { + addCorePluginMenuLink = (link) => { const stringifiedLink = JSON.stringify(link); invariant(link.to, `link.to should be defined for ${stringifiedLink}`); @@ -89,15 +89,15 @@ class StrapiApp { this.menu.push(link); }; - addFields = fields => { + addFields = (fields) => { if (Array.isArray(fields)) { - fields.map(field => this.library.fields.add(field)); + fields.map((field) => this.library.fields.add(field)); } else { this.library.fields.add(fields); } }; - addMenuLink = link => { + addMenuLink = (link) => { const stringifiedLink = JSON.stringify(link); invariant(link.to, `link.to should be defined for ${stringifiedLink}`); @@ -121,14 +121,14 @@ class StrapiApp { this.menu.push(link); }; - addMiddlewares = middlewares => { - middlewares.forEach(middleware => { + addMiddlewares = (middlewares) => { + middlewares.forEach((middleware) => { this.middlewares.add(middleware); }); }; - addReducers = reducers => { - Object.keys(reducers).forEach(reducerName => { + addReducers = (reducers) => { + Object.keys(reducers).forEach((reducerName) => { this.reducers.add(reducerName, reducers[reducerName]); }); }; @@ -156,13 +156,13 @@ class StrapiApp { invariant(this.settings[sectionId], 'The section does not exist'); invariant(Array.isArray(links), 'TypeError expected links to be an array'); - links.forEach(link => { + links.forEach((link) => { this.addSettingsLink(sectionId, link); }); }; async bootstrap() { - Object.keys(this.appPlugins).forEach(plugin => { + Object.keys(this.appPlugins).forEach((plugin) => { const bootstrap = this.appPlugins[plugin].bootstrap; if (bootstrap) { @@ -208,7 +208,7 @@ class StrapiApp { if (this.customConfigurations?.locales) { this.configurations.locales = [ 'en', - ...this.customConfigurations.locales?.filter(loc => loc !== 'en'), + ...(this.customConfigurations.locales?.filter((loc) => loc !== 'en') || []), ]; } @@ -237,7 +237,7 @@ class StrapiApp { } }; - createHook = name => { + createHook = (name) => { this.hooksDict[name] = createHook(); }; @@ -253,7 +253,7 @@ class StrapiApp { this.settings[section.id] = { ...section, links: [] }; - links.forEach(link => { + links.forEach((link) => { this.addSettingsLink(section.id, link); }); }; @@ -274,12 +274,12 @@ class StrapiApp { } }; - getPlugin = pluginId => { + getPlugin = (pluginId) => { return this.plugins[pluginId]; }; async initialize() { - Object.keys(this.appPlugins).forEach(plugin => { + Object.keys(this.appPlugins).forEach((plugin) => { this.appPlugins[plugin].register({ addComponents: this.addComponents, addCorePluginMenuLink: this.addCorePluginMenuLink, @@ -319,7 +319,7 @@ class StrapiApp { * @returns {Object} The imported admin translations */ async loadAdminTrads() { - const arrayOfPromises = this.configurations.locales.map(locale => { + const arrayOfPromises = this.configurations.locales.map((locale) => { return import(/* webpackChunkName: "[request]" */ `./translations/${locale}.json`) .then(({ default: data }) => { return { data, locale }; @@ -350,7 +350,7 @@ class StrapiApp { const adminTranslations = await this.loadAdminTrads(); const arrayOfPromises = Object.keys(this.appPlugins) - .map(plugin => { + .map((plugin) => { const registerTrads = this.appPlugins[plugin].registerTrads; if (registerTrads) { @@ -359,7 +359,7 @@ class StrapiApp { return null; }) - .filter(a => a); + .filter((a) => a); const pluginsTrads = await Promise.all(arrayOfPromises); const mergedTrads = pluginsTrads.reduce((acc, currentPluginTrads) => { @@ -369,7 +369,7 @@ class StrapiApp { return acc1; }, {}); - Object.keys(pluginTrads).forEach(locale => { + Object.keys(pluginTrads).forEach((locale) => { acc[locale] = { ...acc[locale], ...pluginTrads[locale] }; }); @@ -399,7 +399,7 @@ class StrapiApp { this.hooksDict[name].register(fn); }; - registerPlugin = pluginConf => { + registerPlugin = (pluginConf) => { const plugin = Plugin(pluginConf); this.plugins[plugin.pluginId] = plugin; @@ -414,7 +414,7 @@ class StrapiApp { : this.hooksDict[name].runWaterfall(initialValue, store); }; - runHookParallel = name => this.hooksDict[name].runParallel(); + runHookParallel = (name) => this.hooksDict[name].runParallel(); render() { const store = this.createStore(); diff --git a/packages/core/admin/admin/src/components/AuthenticatedApp/index.js b/packages/core/admin/admin/src/components/AuthenticatedApp/index.js index bbe6da4a25..04e7b3a1c5 100644 --- a/packages/core/admin/admin/src/components/AuthenticatedApp/index.js +++ b/packages/core/admin/admin/src/components/AuthenticatedApp/index.js @@ -56,9 +56,10 @@ const AuthenticatedApp = () => { }, ]); - const shouldUpdateStrapi = useMemo(() => checkLatestStrapiVersion(strapiVersion, tag_name), [ - tag_name, - ]); + const shouldUpdateStrapi = useMemo( + () => checkLatestStrapiVersion(strapiVersion, tag_name), + [tag_name] + ); useEffect(() => { if (userRoles) { diff --git a/packages/core/admin/admin/src/components/AuthenticatedApp/tests/index.test.js b/packages/core/admin/admin/src/components/AuthenticatedApp/tests/index.test.js index 757b96b065..476b32bc42 100644 --- a/packages/core/admin/admin/src/components/AuthenticatedApp/tests/index.test.js +++ b/packages/core/admin/admin/src/components/AuthenticatedApp/tests/index.test.js @@ -35,9 +35,21 @@ jest.mock('../utils/api', () => ({ fetchUserRoles: jest.fn(), })); -jest.mock('../../PluginsInitializer', () => () =>
PluginsInitializer
); +jest.mock( + '../../PluginsInitializer', + () => + function () { + return
PluginsInitializer
; + } +); // eslint-disable-next-line react/prop-types -jest.mock('../../RBACProvider', () => ({ children }) =>
{children}
); +jest.mock( + '../../RBACProvider', + () => + function ({ children }) { + return
{children}
; + } +); const queryClient = new QueryClient({ defaultOptions: { diff --git a/packages/core/admin/admin/src/components/AuthenticatedApp/utils/api.js b/packages/core/admin/admin/src/components/AuthenticatedApp/utils/api.js index fab3208161..2f03015bb4 100644 --- a/packages/core/admin/admin/src/components/AuthenticatedApp/utils/api.js +++ b/packages/core/admin/admin/src/components/AuthenticatedApp/utils/api.js @@ -6,7 +6,7 @@ import packageJSON from '../../../../../package.json'; const strapiVersion = packageJSON.version; const showUpdateNotif = !JSON.parse(localStorage.getItem('STRAPI_UPDATE_NOTIF')); -const fetchStrapiLatestRelease = async toggleNotification => { +const fetchStrapiLatestRelease = async (toggleNotification) => { try { const { data: { tag_name }, diff --git a/packages/core/admin/admin/src/components/AutoReloadOverlayBlockerProvider/index.js b/packages/core/admin/admin/src/components/AutoReloadOverlayBlockerProvider/index.js index a0eddbb254..9973715937 100644 --- a/packages/core/admin/admin/src/components/AutoReloadOverlayBlockerProvider/index.js +++ b/packages/core/admin/admin/src/components/AutoReloadOverlayBlockerProvider/index.js @@ -13,7 +13,7 @@ const AutoReloadOverlayBlockerProvider = ({ children }) => { const lockAppWithAutoreload = (config = undefined) => { setIsOpen(true); setConfig(config); - setState(prev => ({ ...prev, start: Date.now() })); + setState((prev) => ({ ...prev, start: Date.now() })); }; const unlockAppWithAutoreload = () => { @@ -36,7 +36,7 @@ const AutoReloadOverlayBlockerProvider = ({ children }) => { return null; } - setState(prev => ({ ...prev, elapsed: Math.round(Date.now() - prev.start) / 1000 })); + setState((prev) => ({ ...prev, elapsed: Math.round(Date.now() - prev.start) / 1000 })); return null; }, 1000); diff --git a/packages/core/admin/admin/src/components/ConfigurationsProvider/reducer.js b/packages/core/admin/admin/src/components/ConfigurationsProvider/reducer.js index 5f2e5d5921..d0696530e7 100644 --- a/packages/core/admin/admin/src/components/ConfigurationsProvider/reducer.js +++ b/packages/core/admin/admin/src/components/ConfigurationsProvider/reducer.js @@ -12,7 +12,7 @@ const initialState = { }; const reducer = (state = initialState, action) => - produce(state, draftState => { + produce(state, (draftState) => { switch (action.type) { case 'UPDATE_PROJECT_SETTINGS': { Object.assign(draftState, action.values); diff --git a/packages/core/admin/admin/src/components/GuidedTour/Homepage/components/Stepper.js b/packages/core/admin/admin/src/components/GuidedTour/Homepage/components/Stepper.js index f3409be7ac..a0c032d0b4 100644 --- a/packages/core/admin/admin/src/components/GuidedTour/Homepage/components/Stepper.js +++ b/packages/core/admin/admin/src/components/GuidedTour/Homepage/components/Stepper.js @@ -19,7 +19,7 @@ const getType = (activeSectionIndex, index) => { }; const StepperHomepage = ({ sections, currentSectionKey }) => { - const activeSectionIndex = sections.findIndex(section => section.key === currentSectionKey); + const activeSectionIndex = sections.findIndex((section) => section.key === currentSectionKey); return ( diff --git a/packages/core/admin/admin/src/components/GuidedTour/Homepage/components/tests/Stepper.test.js b/packages/core/admin/admin/src/components/GuidedTour/Homepage/components/tests/Stepper.test.js index 513af74fa2..d42c860ff5 100644 --- a/packages/core/admin/admin/src/components/GuidedTour/Homepage/components/tests/Stepper.test.js +++ b/packages/core/admin/admin/src/components/GuidedTour/Homepage/components/tests/Stepper.test.js @@ -31,7 +31,7 @@ const sections = [ }, ]; -const App = children => ( +const App = (children) => ( {children} diff --git a/packages/core/admin/admin/src/components/GuidedTour/Homepage/index.js b/packages/core/admin/admin/src/components/GuidedTour/Homepage/index.js index 367bb69293..d72871d541 100644 --- a/packages/core/admin/admin/src/components/GuidedTour/Homepage/index.js +++ b/packages/core/admin/admin/src/components/GuidedTour/Homepage/index.js @@ -29,12 +29,12 @@ const GuidedTourHomepage = () => { ), })); - const enrichedSections = sections.map(section => ({ + const enrichedSections = sections.map((section) => ({ isDone: Object.entries(guidedTourState[section.key]).every(([, value]) => value), ...section, })); - const activeSection = enrichedSections.find(section => !section.isDone)?.key; + const activeSection = enrichedSections.find((section) => !section.isDone)?.key; const handleSkip = () => { setSkipped(true); diff --git a/packages/core/admin/admin/src/components/GuidedTour/Modal/components/Content.js b/packages/core/admin/admin/src/components/GuidedTour/Modal/components/Content.js index be1ad8f7d2..09bcd0dafc 100644 --- a/packages/core/admin/admin/src/components/GuidedTour/Modal/components/Content.js +++ b/packages/core/admin/admin/src/components/GuidedTour/Modal/components/Content.js @@ -18,7 +18,7 @@ const Content = ({ id, defaultMessage }) => { {formatMessage( { id, defaultMessage }, { - documentationLink: children => ( + documentationLink: (children) => ( { {children} ), - b: children => {children}, - p: children => {children}, - light: children => {children}, - ul: children => ( + b: (children) => {children}, + p: (children) => {children}, + light: (children) => {children}, + ul: (children) => (
    {children}
), - li: children => {children}, + li: (children) => {children}, } )} diff --git a/packages/core/admin/admin/src/components/GuidedTour/Modal/components/Modal.js b/packages/core/admin/admin/src/components/GuidedTour/Modal/components/Modal.js index e501a65ac0..f60f5b71dd 100644 --- a/packages/core/admin/admin/src/components/GuidedTour/Modal/components/Modal.js +++ b/packages/core/admin/admin/src/components/GuidedTour/Modal/components/Modal.js @@ -36,7 +36,7 @@ const Modal = ({ onClose, onSkip, children, hideSkip }) => { spacing={8} role="dialog" aria-modal - onClick={e => e.stopPropagation()} + onClick={(e) => e.stopPropagation()} > { setSkipped, } = useGuidedTour(); const [isVisible, setIsVisible] = useState(currentStep); - const [ - { stepContent, sectionIndex, stepIndex, hasSectionAfter, hasStepAfter }, - dispatch, - ] = useReducer(reducer, initialState); + const [{ stepContent, sectionIndex, stepIndex, hasSectionAfter, hasStepAfter }, dispatch] = + useReducer(reducer, initialState); const { trackUsage } = useTracking(); useEffect(() => { diff --git a/packages/core/admin/admin/src/components/GuidedTour/Modal/reducer.js b/packages/core/admin/admin/src/components/GuidedTour/Modal/reducer.js index e71250eb0a..da50f47332 100644 --- a/packages/core/admin/admin/src/components/GuidedTour/Modal/reducer.js +++ b/packages/core/admin/admin/src/components/GuidedTour/Modal/reducer.js @@ -10,7 +10,7 @@ export const initialState = { }; const reducer = (state = initialState, action) => - produce(state, draftState => { + produce(state, (draftState) => { switch (action.type) { case 'UPDATE_MODAL': { draftState.stepContent = action.content; diff --git a/packages/core/admin/admin/src/components/GuidedTour/index.js b/packages/core/admin/admin/src/components/GuidedTour/index.js index c68af686a9..cab615509c 100644 --- a/packages/core/admin/admin/src/components/GuidedTour/index.js +++ b/packages/core/admin/admin/src/components/GuidedTour/index.js @@ -15,7 +15,7 @@ const GuidedTour = ({ children }) => { init ); - const setCurrentStep = step => { + const setCurrentStep = (step) => { // if step is null it is intentional, we need to dispatch it if (step !== null) { const isStepAlreadyDone = get(guidedTourState, step); @@ -34,7 +34,7 @@ const GuidedTour = ({ children }) => { }); }; - const setGuidedTourVisibility = value => { + const setGuidedTourVisibility = (value) => { dispatch({ type: 'SET_GUIDED_TOUR_VISIBILITY', value, @@ -51,7 +51,7 @@ const GuidedTour = ({ children }) => { }); }; - const startSection = sectionName => { + const startSection = (sectionName) => { const sectionSteps = guidedTourState[sectionName]; if (sectionSteps) { @@ -67,7 +67,7 @@ const GuidedTour = ({ children }) => { return null; }; - const setSkipped = value => { + const setSkipped = (value) => { persistStateToLocaleStorage.setSkipped(value); dispatch({ diff --git a/packages/core/admin/admin/src/components/GuidedTour/init.js b/packages/core/admin/admin/src/components/GuidedTour/init.js index 176fe444f1..4aadedce0b 100644 --- a/packages/core/admin/admin/src/components/GuidedTour/init.js +++ b/packages/core/admin/admin/src/components/GuidedTour/init.js @@ -5,14 +5,14 @@ import persistStateToLocaleStorage, { SKIPPED, } from './utils/persistStateToLocaleStorage'; -const init = initialState => { +const init = (initialState) => { const copyInitialState = { ...initialState }; const guidedTourLocaleStorage = persistStateToLocaleStorage.get(COMPLETED_STEPS); const currentStepLocaleStorage = persistStateToLocaleStorage.get(CURRENT_STEP); const skippedLocaleStorage = persistStateToLocaleStorage.get(SKIPPED); if (guidedTourLocaleStorage) { - guidedTourLocaleStorage.forEach(step => { + guidedTourLocaleStorage.forEach((step) => { const [sectionName, stepName] = step.split('.'); set(copyInitialState, ['guidedTourState', sectionName, stepName], true); }); diff --git a/packages/core/admin/admin/src/components/GuidedTour/reducer.js b/packages/core/admin/admin/src/components/GuidedTour/reducer.js index 47ea171977..7887e89b5b 100644 --- a/packages/core/admin/admin/src/components/GuidedTour/reducer.js +++ b/packages/core/admin/admin/src/components/GuidedTour/reducer.js @@ -22,7 +22,7 @@ export const initialState = { }; const reducer = (state = initialState, action) => - produce(state, draftState => { + produce(state, (draftState) => { switch (action.type) { case 'SET_CURRENT_STEP': { draftState.currentStep = action.step; diff --git a/packages/core/admin/admin/src/components/GuidedTour/utils/isGuidedTourCompleted.js b/packages/core/admin/admin/src/components/GuidedTour/utils/isGuidedTourCompleted.js index d48755d6a5..2296ed7ef5 100644 --- a/packages/core/admin/admin/src/components/GuidedTour/utils/isGuidedTourCompleted.js +++ b/packages/core/admin/admin/src/components/GuidedTour/utils/isGuidedTourCompleted.js @@ -1,4 +1,4 @@ -const isGuidedTourCompleted = guidedTourState => +const isGuidedTourCompleted = (guidedTourState) => Object.entries(guidedTourState).every(([, section]) => Object.entries(section).every(([, step]) => step) ); diff --git a/packages/core/admin/admin/src/components/GuidedTour/utils/persistStateToLocaleStorage.js b/packages/core/admin/admin/src/components/GuidedTour/utils/persistStateToLocaleStorage.js index 71104a32a2..57b3dd7bb5 100644 --- a/packages/core/admin/admin/src/components/GuidedTour/utils/persistStateToLocaleStorage.js +++ b/packages/core/admin/admin/src/components/GuidedTour/utils/persistStateToLocaleStorage.js @@ -9,7 +9,7 @@ const persistStateToLocaleStorage = { localStorage.removeItem(CURRENT_STEP); localStorage.removeItem(COMPLETED_STEPS); }, - addCompletedStep: completedStep => { + addCompletedStep(completedStep) { const currentSteps = parse(localStorage.getItem(COMPLETED_STEPS))?.slice() || []; const isAlreadyStored = currentSteps.includes(completedStep); @@ -20,13 +20,13 @@ const persistStateToLocaleStorage = { currentSteps.push(completedStep); localStorage.setItem(COMPLETED_STEPS, stringify(currentSteps)); }, - addCurrentStep: currentStep => { + addCurrentStep(currentStep) { localStorage.setItem(CURRENT_STEP, stringify(currentStep)); }, - setSkipped: value => { + setSkipped(value) { localStorage.setItem(SKIPPED, stringify(value)); }, - get: item => { + get(item) { return parse(localStorage.getItem(item)); }, }; diff --git a/packages/core/admin/admin/src/components/LanguageProvider/index.js b/packages/core/admin/admin/src/components/LanguageProvider/index.js index ac0b8b591f..d94e792dc3 100644 --- a/packages/core/admin/admin/src/components/LanguageProvider/index.js +++ b/packages/core/admin/admin/src/components/LanguageProvider/index.js @@ -23,7 +23,7 @@ const LanguageProvider = ({ children, localeNames, messages }) => { window.localStorage.setItem(localStorageKey, locale); }, [locale]); - const changeLocale = locale => { + const changeLocale = (locale) => { dispatch({ type: 'CHANGE_LOCALE', locale, diff --git a/packages/core/admin/admin/src/components/LanguageProvider/init.js b/packages/core/admin/admin/src/components/LanguageProvider/init.js index 2e63937469..54d4f8b7d4 100644 --- a/packages/core/admin/admin/src/components/LanguageProvider/init.js +++ b/packages/core/admin/admin/src/components/LanguageProvider/init.js @@ -1,6 +1,6 @@ import localStorageKey from './utils/localStorageKey'; -const init = localeNames => { +const init = (localeNames) => { const languageFromLocaleStorage = window.localStorage.getItem(localStorageKey); const appLanguage = localeNames[languageFromLocaleStorage] ? languageFromLocaleStorage : 'en'; diff --git a/packages/core/admin/admin/src/components/LeftMenu/index.js b/packages/core/admin/admin/src/components/LeftMenu/index.js index 79c21683af..23b936b3b8 100644 --- a/packages/core/admin/admin/src/components/LeftMenu/index.js +++ b/packages/core/admin/admin/src/components/LeftMenu/index.js @@ -62,18 +62,18 @@ const LeftMenu = ({ generalSectionLinks, pluginsSectionLinks }) => { const initials = userDisplayName .split(' ') - .map(name => name.substring(0, 1)) + .map((name) => name.substring(0, 1)) .join('') .substring(0, 2); - const handleToggleUserLinks = () => setUserLinksVisible(prev => !prev); + const handleToggleUserLinks = () => setUserLinksVisible((prev) => !prev); const handleLogout = () => { auth.clearAppStorage(); handleToggleUserLinks(); }; - const handleBlur = e => { + const handleBlur = (e) => { if ( !e.currentTarget.contains(e.relatedTarget) && e.relatedTarget?.parentElement?.id !== 'main-nav-user-button' @@ -121,7 +121,7 @@ const LeftMenu = ({ generalSectionLinks, pluginsSectionLinks }) => { defaultMessage: 'Plugins', })} > - {pluginsSectionLinks.map(link => { + {pluginsSectionLinks.map((link) => { const Icon = link.icon; return ( @@ -140,7 +140,7 @@ const LeftMenu = ({ generalSectionLinks, pluginsSectionLinks }) => { defaultMessage: 'General', })} > - {generalSectionLinks.map(link => { + {generalSectionLinks.map((link) => { const LinkIcon = link.icon; return ( @@ -201,7 +201,7 @@ const LeftMenu = ({ generalSectionLinks, pluginsSectionLinks }) => { )} - setCondensed(s => !s)}> + setCondensed((s) => !s)}> {condensed ? formatMessage({ id: 'app.components.LeftMenu.expand', diff --git a/packages/core/admin/admin/src/components/Notifications/Notification/index.js b/packages/core/admin/admin/src/components/Notifications/Notification/index.js index a2a4c4cf7e..38b8138830 100644 --- a/packages/core/admin/admin/src/components/Notifications/Notification/index.js +++ b/packages/core/admin/admin/src/components/Notifications/Notification/index.js @@ -8,7 +8,8 @@ const Notification = ({ dispatch, notification }) => { const { formatMessage } = useIntl(); const { message, link, type, id, onClose, timeout, blockTransition } = notification; - const formattedMessage = msg => (typeof msg === 'string' ? msg : formatMessage(msg, msg.values)); + const formattedMessage = (msg) => + typeof msg === 'string' ? msg : formatMessage(msg, msg.values); const handleClose = useCallback(() => { if (onClose) { onClose(); @@ -66,9 +67,7 @@ const Notification = ({ dispatch, notification }) => { defaultMessage: link.label?.defaultMessage || link.label?.id || link.label, })} - ) : ( - undefined - ) + ) : undefined } onClose={handleClose} closeLabel="Close" diff --git a/packages/core/admin/admin/src/components/Notifications/index.js b/packages/core/admin/admin/src/components/Notifications/index.js index c8d6b68865..598beef842 100644 --- a/packages/core/admin/admin/src/components/Notifications/index.js +++ b/packages/core/admin/admin/src/components/Notifications/index.js @@ -8,7 +8,7 @@ import reducer, { initialState } from './reducer'; const Notifications = ({ children }) => { const [{ notifications }, dispatch] = useReducer(reducer, initialState); - const displayNotification = config => { + const displayNotification = (config) => { dispatch({ type: 'SHOW_NOTIFICATION', config, @@ -26,7 +26,7 @@ const Notifications = ({ children }) => { width={`${500 / 16}rem`} zIndex={10} > - {notifications.map(notification => { + {notifications.map((notification) => { return ( ); diff --git a/packages/core/admin/admin/src/components/Notifications/reducer.js b/packages/core/admin/admin/src/components/Notifications/reducer.js index 1d67d1696f..fbbd816df5 100644 --- a/packages/core/admin/admin/src/components/Notifications/reducer.js +++ b/packages/core/admin/admin/src/components/Notifications/reducer.js @@ -8,7 +8,7 @@ const initialState = { const notificationReducer = (state = initialState, action) => // eslint-disable-next-line consistent-return - produce(state, draftState => { + produce(state, (draftState) => { switch (action.type) { case 'SHOW_NOTIFICATION': { draftState.notifications.push({ @@ -28,7 +28,7 @@ const notificationReducer = (state = initialState, action) => break; } case 'HIDE_NOTIFICATION': { - const indexToRemove = state.notifications.findIndex(notif => notif.id === action.id); + const indexToRemove = state.notifications.findIndex((notif) => notif.id === action.id); if (indexToRemove !== -1) { draftState.notifications.splice(indexToRemove, 1); diff --git a/packages/core/admin/admin/src/components/Notifications/tests/index.test.js b/packages/core/admin/admin/src/components/Notifications/tests/index.test.js index 44ee3386e1..6ff383a5a1 100644 --- a/packages/core/admin/admin/src/components/Notifications/tests/index.test.js +++ b/packages/core/admin/admin/src/components/Notifications/tests/index.test.js @@ -108,7 +108,7 @@ describe('', () => { expect(items).toHaveLength(1); await act(async () => { - await new Promise(resolve => setTimeout(resolve, 2500)); + await new Promise((resolve) => setTimeout(resolve, 2500)); }); const foundItems = screen.queryAllByText(/simple notif/); @@ -151,7 +151,7 @@ describe('', () => { expect(items).toHaveLength(1); await act(async () => { - await new Promise(resolve => setTimeout(resolve, 2500)); + await new Promise((resolve) => setTimeout(resolve, 2500)); }); const foundItems = screen.queryAllByText(/simple notif/); diff --git a/packages/core/admin/admin/src/components/PluginsInitializer/index.js b/packages/core/admin/admin/src/components/PluginsInitializer/index.js index 8a4c1abc50..bd3a1b6c74 100644 --- a/packages/core/admin/admin/src/components/PluginsInitializer/index.js +++ b/packages/core/admin/admin/src/components/PluginsInitializer/index.js @@ -8,11 +8,13 @@ import reducer, { initialState } from './reducer'; const PluginsInitializer = () => { const { plugins: appPlugins } = useStrapiApp(); const [{ plugins }, dispatch] = useReducer(reducer, initialState, () => init(appPlugins)); - const setPlugin = useRef(pluginId => { + const setPlugin = useRef((pluginId) => { dispatch({ type: 'SET_PLUGIN_READY', pluginId }); }); - const hasApluginNotReady = Object.keys(plugins).some(plugin => plugins[plugin].isReady === false); + const hasApluginNotReady = Object.keys(plugins).some( + (plugin) => plugins[plugin].isReady === false + ); if (hasApluginNotReady) { const initializers = Object.keys(plugins).reduce((acc, current) => { diff --git a/packages/core/admin/admin/src/components/PluginsInitializer/init.js b/packages/core/admin/admin/src/components/PluginsInitializer/init.js index 50429ad16f..c73c65fa20 100644 --- a/packages/core/admin/admin/src/components/PluginsInitializer/init.js +++ b/packages/core/admin/admin/src/components/PluginsInitializer/init.js @@ -1,4 +1,4 @@ -const init = plugins => { +const init = (plugins) => { return { plugins: Object.keys(plugins).reduce((acc, current) => { acc[current] = { ...plugins[current] }; diff --git a/packages/core/admin/admin/src/components/PluginsInitializer/reducer.js b/packages/core/admin/admin/src/components/PluginsInitializer/reducer.js index d21382e503..eb5826edc9 100644 --- a/packages/core/admin/admin/src/components/PluginsInitializer/reducer.js +++ b/packages/core/admin/admin/src/components/PluginsInitializer/reducer.js @@ -7,7 +7,7 @@ const initialState = { const reducer = (state = initialState, action) => /* eslint-disable-next-line consistent-return */ - produce(state, draftState => { + produce(state, (draftState) => { switch (action.type) { case 'SET_PLUGIN_READY': { set(draftState, ['plugins', action.pluginId, 'isReady'], true); diff --git a/packages/core/admin/admin/src/components/PluginsInitializer/tests/index.test.js b/packages/core/admin/admin/src/components/PluginsInitializer/tests/index.test.js index c983d60da9..80793e5617 100644 --- a/packages/core/admin/admin/src/components/PluginsInitializer/tests/index.test.js +++ b/packages/core/admin/admin/src/components/PluginsInitializer/tests/index.test.js @@ -3,7 +3,13 @@ import { StrapiAppProvider } from '@strapi/helper-plugin'; import { render } from '@testing-library/react'; import PluginsInitializer from '../index'; -jest.mock('../../../pages/Admin', () => () =>
ADMIN
); +jest.mock( + '../../../pages/Admin', + () => + function () { + return
ADMIN
; + } +); describe('ADMIN | COMPONENTS | PluginsInitializer', () => { it('should not crash', () => { diff --git a/packages/core/admin/admin/src/components/PrivateRoute/index.js b/packages/core/admin/admin/src/components/PrivateRoute/index.js index b5cc08bf1d..9f99bff0e9 100644 --- a/packages/core/admin/admin/src/components/PrivateRoute/index.js +++ b/packages/core/admin/admin/src/components/PrivateRoute/index.js @@ -20,7 +20,7 @@ const PrivateRoute = ({ component: Component, path, ...rest }) => { return ( + render={(props) => auth.getToken() !== null ? ( ) : ( diff --git a/packages/core/admin/admin/src/components/RBACProvider/actions.js b/packages/core/admin/admin/src/components/RBACProvider/actions.js index bb1629235f..dfaba17b30 100644 --- a/packages/core/admin/admin/src/components/RBACProvider/actions.js +++ b/packages/core/admin/admin/src/components/RBACProvider/actions.js @@ -2,7 +2,7 @@ import { RESET_STORE, SET_PERMISSIONS } from './constants'; const resetStore = () => ({ type: RESET_STORE }); -const setPermissions = permissions => ({ +const setPermissions = (permissions) => ({ type: SET_PERMISSIONS, permissions, }); diff --git a/packages/core/admin/admin/src/components/RBACProvider/index.js b/packages/core/admin/admin/src/components/RBACProvider/index.js index e93e52a7d2..15ec3ed7e8 100644 --- a/packages/core/admin/admin/src/components/RBACProvider/index.js +++ b/packages/core/admin/admin/src/components/RBACProvider/index.js @@ -5,7 +5,7 @@ import PropTypes from 'prop-types'; import { resetStore, setPermissions } from './actions'; const RBACProvider = ({ children, permissions, refetchPermissions }) => { - const { allPermissions } = useSelector(state => state.rbacProvider); + const { allPermissions } = useSelector((state) => state.rbacProvider); const dispatch = useDispatch(); diff --git a/packages/core/admin/admin/src/components/RBACProvider/reducer.js b/packages/core/admin/admin/src/components/RBACProvider/reducer.js index 9f28fd9871..1730c78751 100644 --- a/packages/core/admin/admin/src/components/RBACProvider/reducer.js +++ b/packages/core/admin/admin/src/components/RBACProvider/reducer.js @@ -18,12 +18,12 @@ const initialState = { const reducer = (state = initialState, action) => // eslint-disable-next-line consistent-return - produce(state, draftState => { + produce(state, (draftState) => { switch (action.type) { case SET_PERMISSIONS: { draftState.allPermissions = action.permissions; draftState.collectionTypesRelatedPermissions = action.permissions - .filter(perm => perm.subject) + .filter((perm) => perm.subject) .reduce((acc, current) => { const { subject, action } = current; diff --git a/packages/core/admin/admin/src/components/RBACProvider/tests/reducer.test.js b/packages/core/admin/admin/src/components/RBACProvider/tests/reducer.test.js index 06a104c953..36232ee26b 100644 --- a/packages/core/admin/admin/src/components/RBACProvider/tests/reducer.test.js +++ b/packages/core/admin/admin/src/components/RBACProvider/tests/reducer.test.js @@ -1,4 +1,4 @@ -import { permissions } from '../../../../../../../admin-test-utils/lib/fixtures'; +import { permissions } from '@strapi/admin-test-utils/lib/fixtures/fixtures'; import { setPermissions, resetStore } from '../actions'; import rbacProviderReducer, { initialState } from '../reducer'; diff --git a/packages/core/admin/admin/src/components/ThemeToggleProvider/index.js b/packages/core/admin/admin/src/components/ThemeToggleProvider/index.js index 4810780def..b056ee090e 100644 --- a/packages/core/admin/admin/src/components/ThemeToggleProvider/index.js +++ b/packages/core/admin/admin/src/components/ThemeToggleProvider/index.js @@ -20,7 +20,7 @@ const getDefaultTheme = () => { const ThemeToggleProvider = ({ children, themes }) => { const [currentTheme, setCurrentTheme] = useState(getDefaultTheme()); - const handleChangeTheme = nextTheme => { + const handleChangeTheme = (nextTheme) => { setCurrentTheme(nextTheme); localStorage.setItem(THEME_KEY, nextTheme); }; diff --git a/packages/core/admin/admin/src/components/UpgradePlanModal/index.js b/packages/core/admin/admin/src/components/UpgradePlanModal/index.js index 376889feb9..1768f7dcad 100644 --- a/packages/core/admin/admin/src/components/UpgradePlanModal/index.js +++ b/packages/core/admin/admin/src/components/UpgradePlanModal/index.js @@ -73,7 +73,7 @@ const UpgradePlanModal = ({ onClose, isOpen }) => { e.stopPropagation()} + onClick={(e) => e.stopPropagation()} aria-labelledby="upgrade-plan" background="neutral0" hasRadius diff --git a/packages/core/admin/admin/src/content-manager/components/AttributeFilter/Filters.js b/packages/core/admin/admin/src/content-manager/components/AttributeFilter/Filters.js index 2e93de492d..8a1f925675 100644 --- a/packages/core/admin/admin/src/content-manager/components/AttributeFilter/Filters.js +++ b/packages/core/admin/admin/src/content-manager/components/AttributeFilter/Filters.js @@ -16,7 +16,7 @@ const Filters = ({ displayedFilters }) => { if (!isVisible) { trackUsage('willFilterEntries'); } - setIsVisible(prev => !prev); + setIsVisible((prev) => !prev); }; return ( diff --git a/packages/core/admin/admin/src/content-manager/components/AttributeFilter/hooks/useAllowedAttributes.js b/packages/core/admin/admin/src/content-manager/components/AttributeFilter/hooks/useAllowedAttributes.js index c623406496..edfe341101 100644 --- a/packages/core/admin/admin/src/content-manager/components/AttributeFilter/hooks/useAllowedAttributes.js +++ b/packages/core/admin/admin/src/content-manager/components/AttributeFilter/hooks/useAllowedAttributes.js @@ -17,7 +17,7 @@ const useAllowedAttributes = (contentType, slug) => { const readPermissionForAttr = get(readPermissionsForSlug, ['0', 'properties', 'fields'], []); const attributesArray = Object.keys(get(contentType, ['attributes']), {}); const allowedAttributes = attributesArray - .filter(attr => { + .filter((attr) => { const current = get(contentType, ['attributes', attr], {}); if (!current.type) { diff --git a/packages/core/admin/admin/src/content-manager/components/AttributeFilter/index.js b/packages/core/admin/admin/src/content-manager/components/AttributeFilter/index.js index 215c476090..48f922124d 100644 --- a/packages/core/admin/admin/src/content-manager/components/AttributeFilter/index.js +++ b/packages/core/admin/admin/src/content-manager/components/AttributeFilter/index.js @@ -7,7 +7,7 @@ import Filters from './Filters'; const AttributeFilter = ({ contentType, slug, metadatas }) => { const { formatMessage } = useIntl(); const allowedAttributes = useAllowedAttributes(contentType, slug); - const displayedFilters = allowedAttributes.map(name => { + const displayedFilters = allowedAttributes.map((name) => { const attribute = contentType.attributes[name]; const { type, enum: options } = attribute; diff --git a/packages/core/admin/admin/src/content-manager/components/Block/index.js b/packages/core/admin/admin/src/content-manager/components/Block/index.js index e398d0773b..1e1a62f027 100644 --- a/packages/core/admin/admin/src/content-manager/components/Block/index.js +++ b/packages/core/admin/admin/src/content-manager/components/Block/index.js @@ -8,7 +8,7 @@ import PropTypes from 'prop-types'; import { FormattedMessage } from 'react-intl'; import { Wrapper, Sub } from './components'; -const renderMsg = msg =>

{msg}

; +const renderMsg = (msg) =>

{msg}

; const Block = ({ children, description, style, title }) => (
diff --git a/packages/core/admin/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js b/packages/core/admin/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js index 11e89a54f0..399ce2ddee 100644 --- a/packages/core/admin/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +++ b/packages/core/admin/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js @@ -40,13 +40,8 @@ const CollectionTypeFormWrapper = ({ allLayoutData, children, slug, id, origin } const { push, replace } = useHistory(); const [{ rawQuery }] = useQueryParams(); const dispatch = useDispatch(); - const { - componentsDataStructure, - contentTypeDataStructure, - data, - isLoading, - status, - } = useSelector(selectCrudReducer); + const { componentsDataStructure, contentTypeDataStructure, data, isLoading, status } = + useSelector(selectCrudReducer); const redirectionLink = useFindRedirectionLink(slug); const isMounted = useRef(true); @@ -65,7 +60,7 @@ const CollectionTypeFormWrapper = ({ allLayoutData, children, slug, id, origin } }, [slug, id, isCreatingEntry, origin]); const cleanClonedData = useCallback( - data => { + (data) => { if (!origin) { return data; } @@ -81,7 +76,7 @@ const CollectionTypeFormWrapper = ({ allLayoutData, children, slug, id, origin } [origin] ); - const cleanReceivedData = useCallback(data => { + const cleanReceivedData = useCallback((data) => { const cleaned = removePasswordFieldsFromData( data, allLayoutDataRef.current.contentType, @@ -136,7 +131,7 @@ const CollectionTypeFormWrapper = ({ allLayoutData, children, slug, id, origin } const CancelToken = axios.CancelToken; const source = CancelToken.source(); - const fetchData = async source => { + const fetchData = async (source) => { dispatch(getData()); try { @@ -201,7 +196,7 @@ const CollectionTypeFormWrapper = ({ allLayoutData, children, slug, id, origin } ]); const displayErrors = useCallback( - err => { + (err) => { const errorPayload = err.response.data; let errorMessage = get(errorPayload, ['error', 'message'], 'Bad Request'); @@ -218,7 +213,7 @@ const CollectionTypeFormWrapper = ({ allLayoutData, children, slug, id, origin } ); const onDelete = useCallback( - async trackerProperty => { + async (trackerProperty) => { try { trackUsageRef.current('willDeleteEntry', trackerProperty); diff --git a/packages/core/admin/admin/src/content-manager/components/DragLayer/index.js b/packages/core/admin/admin/src/content-manager/components/DragLayer/index.js index 69ccb9a67c..12fac50850 100644 --- a/packages/core/admin/admin/src/content-manager/components/DragLayer/index.js +++ b/packages/core/admin/admin/src/content-manager/components/DragLayer/index.js @@ -36,7 +36,7 @@ function getItemStyles(initialOffset, currentOffset, mouseOffset) { const CustomDragLayer = () => { const { itemType, isDragging, item, initialOffset, currentOffset, mouseOffset } = useDragLayer( - monitor => ({ + (monitor) => ({ item: monitor.getItem(), itemType: monitor.getItemType(), initialOffset: monitor.getInitialSourceClientOffset(), diff --git a/packages/core/admin/admin/src/content-manager/components/DynamicTable/CellContent/RelationMultiple/index.js b/packages/core/admin/admin/src/content-manager/components/DynamicTable/CellContent/RelationMultiple/index.js index ace7d6a937..52037e50cd 100644 --- a/packages/core/admin/admin/src/content-manager/components/DynamicTable/CellContent/RelationMultiple/index.js +++ b/packages/core/admin/admin/src/content-manager/components/DynamicTable/CellContent/RelationMultiple/index.js @@ -85,7 +85,7 @@ const RelationMultiple = ({ fieldSchema, metadatas, queryInfos, name, rowId, val {status === 'success' && ( <> - {data?.results.map(entry => ( + {data?.results.map((entry) => ( { return ( - {value.map(item => ( + {value.map((item) => ( diff --git a/packages/core/admin/admin/src/content-manager/components/DynamicTable/CellContent/utils/tests/isSingleRelation.test.js b/packages/core/admin/admin/src/content-manager/components/DynamicTable/CellContent/utils/tests/isSingleRelation.test.js index eb9848be01..9392a7256e 100644 --- a/packages/core/admin/admin/src/content-manager/components/DynamicTable/CellContent/utils/tests/isSingleRelation.test.js +++ b/packages/core/admin/admin/src/content-manager/components/DynamicTable/CellContent/utils/tests/isSingleRelation.test.js @@ -1,7 +1,7 @@ import isSingleRelation from '../isSingleRelation'; describe('isSingleRelation', () => { - ['oneToOne', 'manyToOne', 'oneToOneMorph'].forEach(type => { + ['oneToOne', 'manyToOne', 'oneToOneMorph'].forEach((type) => { test(`is single relation: ${type}`, () => { expect(isSingleRelation(type)).toBeTruthy(); }); diff --git a/packages/core/admin/admin/src/content-manager/components/DynamicTable/TableRows/index.js b/packages/core/admin/admin/src/content-manager/components/DynamicTable/TableRows/index.js index 0e37acdd4f..5d45eb2abc 100644 --- a/packages/core/admin/admin/src/content-manager/components/DynamicTable/TableRows/index.js +++ b/packages/core/admin/admin/src/content-manager/components/DynamicTable/TableRows/index.js @@ -38,7 +38,7 @@ const TableRows = ({ return ( {rows.map((data, index) => { - const isChecked = entriesToDelete.findIndex(id => id === data.id) !== -1; + const isChecked = entriesToDelete.findIndex((id) => id === data.id) !== -1; const itemLineText = formatMessage( { id: 'content-manager.components.DynamicTable.row-line', @@ -51,7 +51,7 @@ const TableRows = ({ { + fn() { trackUsage('willEditEntryFromList'); push({ pathname: `${pathname}/${data.id}`, @@ -170,8 +170,8 @@ TableRows.defaultProps = { canCreate: false, canDelete: false, entriesToDelete: [], - onClickDelete: () => {}, - onSelectRow: () => {}, + onClickDelete() {}, + onSelectRow() {}, rows: [], withBulkActions: false, withMainAction: false, diff --git a/packages/core/admin/admin/src/content-manager/components/DynamicTable/index.js b/packages/core/admin/admin/src/content-manager/components/DynamicTable/index.js index 7ca5563c80..37c60ac454 100644 --- a/packages/core/admin/admin/src/content-manager/components/DynamicTable/index.js +++ b/packages/core/admin/admin/src/content-manager/components/DynamicTable/index.js @@ -35,7 +35,7 @@ const DynamicTable = ({ layout, }); - const formattedHeaders = headers.displayedHeaders.map(header => { + const formattedHeaders = headers.displayedHeaders.map((header) => { if (header.fieldSchema.type === 'relation') { const sortFieldValue = `${header.name}.${header.metadatas.mainField.name}`; @@ -65,7 +65,7 @@ const DynamicTable = ({ searchable: false, sortable: true, }, - cellFormatter: cellData => { + cellFormatter(cellData) { const isPublished = !isEmpty(cellData.publishedAt); return ; diff --git a/packages/core/admin/admin/src/content-manager/components/DynamicZone/components/AddComponentButton/index.js b/packages/core/admin/admin/src/content-manager/components/DynamicZone/components/AddComponentButton/index.js index 0547ddbcf5..cd3cbf3800 100644 --- a/packages/core/admin/admin/src/content-manager/components/DynamicZone/components/AddComponentButton/index.js +++ b/packages/core/admin/admin/src/content-manager/components/DynamicZone/components/AddComponentButton/index.js @@ -120,26 +120,24 @@ const AddComponentButton = ({ } return ( - <> - - - - - - - - - {buttonLabel} - - - - - - + + + + + + + + + {buttonLabel} + + + + + ); }; diff --git a/packages/core/admin/admin/src/content-manager/components/DynamicZone/components/Component/index.js b/packages/core/admin/admin/src/content-manager/components/DynamicZone/components/Component/index.js index 2cf23883c7..d76d3bdc54 100644 --- a/packages/core/admin/admin/src/content-manager/components/DynamicZone/components/Component/index.js +++ b/packages/core/admin/admin/src/content-manager/components/DynamicZone/components/Component/index.js @@ -88,7 +88,7 @@ const Component = ({ const formErrorsKeys = Object.keys(formErrors); - const fieldsErrors = formErrorsKeys.filter(errorKey => { + const fieldsErrors = formErrorsKeys.filter((errorKey) => { const errorKeysArray = errorKey.split('.'); if (`${errorKeysArray[0]}.${errorKeysArray[1]}` === `${name}.${index}`) { diff --git a/packages/core/admin/admin/src/content-manager/components/DynamicZone/components/ComponentPicker/Category/ComponentCard/index.js b/packages/core/admin/admin/src/content-manager/components/DynamicZone/components/ComponentPicker/Category/ComponentCard/index.js index 820591beab..6f9ab169a2 100644 --- a/packages/core/admin/admin/src/content-manager/components/DynamicZone/components/ComponentPicker/Category/ComponentCard/index.js +++ b/packages/core/admin/admin/src/content-manager/components/DynamicZone/components/ComponentPicker/Category/ComponentCard/index.js @@ -75,7 +75,7 @@ function ComponentCard({ componentUid, intlLabel, icon, onClick }) { ComponentCard.defaultProps = { icon: 'dice-d6', - onClick: () => {}, + onClick() {}, }; ComponentCard.propTypes = { diff --git a/packages/core/admin/admin/src/content-manager/components/DynamicZone/components/ComponentPicker/index.js b/packages/core/admin/admin/src/content-manager/components/DynamicZone/components/ComponentPicker/index.js index fb94816ac5..50d480cf6b 100644 --- a/packages/core/admin/admin/src/content-manager/components/DynamicZone/components/ComponentPicker/index.js +++ b/packages/core/admin/admin/src/content-manager/components/DynamicZone/components/ComponentPicker/index.js @@ -16,7 +16,7 @@ const ComponentPicker = ({ components, isOpen, onClickAddComponent }) => { const [categoryToOpen, setCategoryToOpen] = useState(''); const dynamicComponentCategories = useMemo(() => { - const componentsWithInfo = components.map(componentUid => { + const componentsWithInfo = components.map((componentUid) => { const { category, info } = getComponentLayout(componentUid); return { componentUid, category, info }; @@ -38,7 +38,7 @@ const ComponentPicker = ({ components, isOpen, onClickAddComponent }) => { }, [isOpen, dynamicComponentCategories]); const handleAddComponentToDz = useCallback( - componentUid => { + (componentUid) => { onClickAddComponent(componentUid); setCategoryToOpen(''); }, @@ -46,7 +46,7 @@ const ComponentPicker = ({ components, isOpen, onClickAddComponent }) => { ); const handleClickToggle = useCallback( - categoryName => { + (categoryName) => { const nextCategoryToOpen = categoryToOpen === categoryName ? '' : categoryName; setCategoryToOpen(nextCategoryToOpen); diff --git a/packages/core/admin/admin/src/content-manager/components/DynamicZone/index.js b/packages/core/admin/admin/src/content-manager/components/DynamicZone/index.js index ae8cfef989..879369ccdb 100644 --- a/packages/core/admin/admin/src/content-manager/components/DynamicZone/index.js +++ b/packages/core/admin/admin/src/content-manager/components/DynamicZone/index.js @@ -16,7 +16,7 @@ import ComponentPicker from './components/ComponentPicker'; /* eslint-disable react/no-array-index-key */ -const createCollapses = arrayLength => +const createCollapses = (arrayLength) => Array.from({ length: arrayLength }).map(() => ({ isOpen: false })); const DynamicZone = ({ @@ -53,7 +53,7 @@ const DynamicZone = ({ useEffect(() => { if (shouldOpenAddedComponent) { - setComponentsCollapses(prev => + setComponentsCollapses((prev) => prev.map((collapse, index) => { if (index === prev.length - 1) { return { ...collapse, isOpen: true }; @@ -71,10 +71,10 @@ const DynamicZone = ({ const { max = Infinity, min = -Infinity } = fieldSchema; const dynamicZoneErrors = useMemo(() => { return Object.keys(formErrors) - .filter(key => { + .filter((key) => { return key === name; }) - .map(key => formErrors[key]); + .map((key) => formErrors[key]); }, [formErrors, name]); const dynamicZoneAvailableComponents = useMemo(() => fieldSchema.components || [], [fieldSchema]); @@ -89,7 +89,7 @@ const DynamicZone = ({ hasError && get(dynamicZoneErrors, [0, 'id'], '') === 'components.Input.error.validation.max'; const handleAddComponent = useCallback( - componentUid => { + (componentUid) => { setIsOpen(false); addComponentToDynamicZone(name, componentUid, hasError); @@ -100,7 +100,7 @@ const DynamicZone = ({ const handleClickOpenPicker = () => { if (dynamicDisplayedComponentsLength < max) { - setIsOpen(prev => !prev); + setIsOpen((prev) => !prev); } else { toggleNotification({ type: 'info', @@ -109,8 +109,8 @@ const DynamicZone = ({ } }; - const handleToggleComponent = indexToToggle => { - setComponentsCollapses(prev => + const handleToggleComponent = (indexToToggle) => { + setComponentsCollapses((prev) => prev.map(({ isOpen }, index) => { if (index === indexToToggle) { return { isOpen: !isOpen }; @@ -123,7 +123,7 @@ const DynamicZone = ({ const handleMoveComponentDown = (name, currentIndex) => { moveComponentDown(name, currentIndex); - setComponentsCollapses(prev => { + setComponentsCollapses((prev) => { return prev.map(({ isOpen }, index, refArray) => { if (index === currentIndex + 1) { return { isOpen: refArray[currentIndex].isOpen }; @@ -140,7 +140,7 @@ const DynamicZone = ({ const handleMoveComponentUp = (name, currentIndex) => { moveComponentUp(name, currentIndex); - setComponentsCollapses(prev => { + setComponentsCollapses((prev) => { return prev.map(({ isOpen }, index, refArray) => { if (index === currentIndex - 1) { return { isOpen: refArray[currentIndex].isOpen }; diff --git a/packages/core/admin/admin/src/content-manager/components/DynamicZone/utils/connect.js b/packages/core/admin/admin/src/content-manager/components/DynamicZone/utils/connect.js index 238d60ef82..b41217bc40 100644 --- a/packages/core/admin/admin/src/content-manager/components/DynamicZone/utils/connect.js +++ b/packages/core/admin/admin/src/content-manager/components/DynamicZone/utils/connect.js @@ -1,7 +1,7 @@ import React from 'react'; function connect(WrappedComponent, select) { - return function(props) { + return function (props) { // eslint-disable-next-line react/prop-types const selectors = select(props.name); diff --git a/packages/core/admin/admin/src/content-manager/components/DynamicZone/utils/select.js b/packages/core/admin/admin/src/content-manager/components/DynamicZone/utils/select.js index aedcfd3e26..0b633ce9b1 100644 --- a/packages/core/admin/admin/src/content-manager/components/DynamicZone/utils/select.js +++ b/packages/core/admin/admin/src/content-manager/components/DynamicZone/utils/select.js @@ -17,7 +17,7 @@ function useSelect(name) { } = useCMEditViewDataManager(); const dynamicDisplayedComponents = useMemo( - () => get(modifiedData, [name], []).map(data => data.__component), + () => get(modifiedData, [name], []).map((data) => data.__component), [modifiedData, name] ); diff --git a/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/index.js b/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/index.js index 0cb49908fd..4b6f683337 100644 --- a/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/index.js +++ b/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/index.js @@ -264,7 +264,7 @@ const EditViewDataManagerProvider = ({ ); const createFormData = useCallback( - data => { + (data) => { // First we need to remove the added keys needed for the dnd const preparedData = removeKeyInObject(cloneDeep(data), '__temp_key__'); // Then we need to apply our helper @@ -288,7 +288,7 @@ const EditViewDataManagerProvider = ({ }, [hasDraftAndPublish, shouldNotRunValidations]); const handleSubmit = useCallback( - async e => { + async (e) => { e.preventDefault(); let errors = {}; @@ -358,8 +358,8 @@ const EditViewDataManagerProvider = ({ }, [allLayoutData, currentContentTypeLayout, isCreatingEntry, modifiedData, onPublish]); const shouldCheckDZErrors = useCallback( - dzName => { - const doesDZHaveError = Object.keys(formErrors).some(key => key.split('.')[0] === dzName); + (dzName) => { + const doesDZHaveError = Object.keys(formErrors).some((key) => key.split('.')[0] === dzName); const shouldCheckErrors = !isEmpty(formErrors) && doesDZHaveError; return shouldCheckErrors; @@ -413,7 +413,7 @@ const EditViewDataManagerProvider = ({ }); }, []); - const onRemoveRelation = useCallback(keys => { + const onRemoveRelation = useCallback((keys) => { dispatch({ type: 'REMOVE_RELATION', keys, @@ -526,7 +526,7 @@ const EditViewDataManagerProvider = ({ EditViewDataManagerProvider.defaultProps = { from: '/', initialValues: null, - redirectToPreviousPage: () => {}, + redirectToPreviousPage() {}, }; EditViewDataManagerProvider.propTypes = { diff --git a/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js b/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js index 04a2155db7..f93dd971e2 100644 --- a/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js +++ b/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js @@ -18,7 +18,7 @@ const initialState = { const reducer = (state, action) => // eslint-disable-next-line consistent-return - produce(state, draftState => { + produce(state, (draftState) => { switch (action.type) { case 'ADD_NON_REPEATABLE_COMPONENT_TO_FIELD': { set( diff --git a/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/utils/cleanData.js b/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/utils/cleanData.js index 68e786ac21..269057ec1b 100644 --- a/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/utils/cleanData.js +++ b/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/utils/cleanData.js @@ -32,7 +32,7 @@ const cleanData = (retrievedData, currentSchema, componentsSchema) => { } case 'media': if (getOtherInfos(schema, [current, 'multiple']) === true) { - cleanedData = value ? value.filter(file => !(file instanceof File)) : null; + cleanedData = value ? value.filter((file) => !(file instanceof File)) : null; } else { cleanedData = get(value, 0) instanceof File ? null : get(value, 'id', null); } @@ -40,7 +40,7 @@ const cleanData = (retrievedData, currentSchema, componentsSchema) => { case 'component': if (isRepeatable) { cleanedData = value - ? value.map(data => { + ? value.map((data) => { const subCleanedData = recursiveCleanData(data, componentsSchema[component]); return subCleanedData; @@ -52,7 +52,7 @@ const cleanData = (retrievedData, currentSchema, componentsSchema) => { break; case 'dynamiczone': - cleanedData = value.map(componentData => { + cleanedData = value.map((componentData) => { const subCleanedData = recursiveCleanData( componentData, componentsSchema[componentData.__component] @@ -77,7 +77,7 @@ const cleanData = (retrievedData, currentSchema, componentsSchema) => { export const helperCleanData = (value, key) => { if (isArray(value)) { - return value.map(obj => (obj[key] ? obj[key] : obj)); + return value.map((obj) => (obj[key] ? obj[key] : obj)); } if (isObject(value)) { return value[key]; diff --git a/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/utils/schema.js b/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/utils/schema.js index 0d846a4c09..976c5f4b8d 100644 --- a/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/utils/schema.js +++ b/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/utils/schema.js @@ -9,12 +9,12 @@ import { translatedErrors as errorsTrads } from '@strapi/helper-plugin'; import isFieldTypeNumber from '../../../utils/isFieldTypeNumber'; -yup.addMethod(yup.mixed, 'defined', function() { - return this.test('defined', errorsTrads.required, value => value !== undefined); +yup.addMethod(yup.mixed, 'defined', function () { + return this.test('defined', errorsTrads.required, (value) => value !== undefined); }); -yup.addMethod(yup.array, 'notEmptyMin', function(min) { - return this.test('notEmptyMin', errorsTrads.min, value => { +yup.addMethod(yup.array, 'notEmptyMin', function (min) { + return this.test('notEmptyMin', errorsTrads.min, (value) => { if (isEmpty(value)) { return true; } @@ -23,8 +23,8 @@ yup.addMethod(yup.array, 'notEmptyMin', function(min) { }); }); -yup.addMethod(yup.string, 'isInferior', function(message, max) { - return this.test('isInferior', message, function(value) { +yup.addMethod(yup.string, 'isInferior', function (message, max) { + return this.test('isInferior', message, function (value) { if (!value) { return true; } @@ -37,8 +37,8 @@ yup.addMethod(yup.string, 'isInferior', function(message, max) { }); }); -yup.addMethod(yup.string, 'isSuperior', function(message, min) { - return this.test('isSuperior', message, function(value) { +yup.addMethod(yup.string, 'isSuperior', function (message, min) { + return this.test('isSuperior', message, function (value) { if (!value) { return true; } @@ -51,7 +51,7 @@ yup.addMethod(yup.string, 'isSuperior', function(message, min) { }); }); -const getAttributes = data => get(data, ['attributes'], {}); +const getAttributes = (data) => get(data, ['attributes'], {}); const createYupSchema = ( model, @@ -97,7 +97,7 @@ const createYupSchema = ( if (attribute.repeatable === true) { const { min, max, required } = attribute; - let componentSchema = yup.lazy(value => { + let componentSchema = yup.lazy((value) => { let baseSchema = yup.array().of(componentFieldSchema); if (min) { @@ -123,7 +123,7 @@ const createYupSchema = ( return acc; } - const componentSchema = yup.lazy(obj => { + const componentSchema = yup.lazy((obj) => { if (obj !== undefined) { return attribute.required === true && !options.isDraft ? componentFieldSchema.defined() @@ -154,7 +154,7 @@ const createYupSchema = ( if (min) { if (attribute.required) { dynamicZoneSchema = dynamicZoneSchema - .test('min', errorsTrads.min, value => { + .test('min', errorsTrads.min, (value) => { if (options.isCreatingEntry) { return value && value.length >= min; } @@ -165,7 +165,7 @@ const createYupSchema = ( return value !== null && value.length >= min; }) - .test('required', errorsTrads.required, value => { + .test('required', errorsTrads.required, (value) => { if (options.isCreatingEntry) { return value !== null || value !== undefined; } @@ -180,7 +180,7 @@ const createYupSchema = ( dynamicZoneSchema = dynamicZoneSchema.notEmptyMin(min); } } else if (attribute.required && !options.isDraft) { - dynamicZoneSchema = dynamicZoneSchema.test('required', errorsTrads.required, value => { + dynamicZoneSchema = dynamicZoneSchema.test('required', errorsTrads.required, (value) => { if (options.isCreatingEntry) { return value !== null || value !== undefined; } @@ -215,7 +215,7 @@ const createYupSchemaAttribute = (type, validations, options) => { if (type === 'json') { schema = yup .mixed(errorsTrads.json) - .test('isJSON', errorsTrads.json, value => { + .test('isJSON', errorsTrads.json, (value) => { if (value === undefined) { return true; } @@ -238,7 +238,7 @@ const createYupSchemaAttribute = (type, validations, options) => { if (['number', 'integer', 'float', 'decimal'].includes(type)) { schema = yup .number() - .transform(cv => (isNaN(cv) ? undefined : cv)) + .transform((cv) => (isNaN(cv) ? undefined : cv)) .typeError(); } @@ -250,7 +250,7 @@ const createYupSchemaAttribute = (type, validations, options) => { schema = yup.date(); } - Object.keys(validations).forEach(validation => { + Object.keys(validations).forEach((validation) => { const validationValue = validations[validation]; if ( @@ -269,7 +269,7 @@ const createYupSchemaAttribute = (type, validations, options) => { if (options.isCreatingEntry) { schema = schema.required(errorsTrads.required); } else { - schema = schema.test('required', errorsTrads.required, value => { + schema = schema.test('required', errorsTrads.required, (value) => { // Field is not touched and the user is editing the entry if (value === undefined && !options.isFromComponent) { return true; diff --git a/packages/core/admin/admin/src/content-manager/components/FieldComponent/utils/connect.js b/packages/core/admin/admin/src/content-manager/components/FieldComponent/utils/connect.js index 648a3d30e4..f1027b59e3 100644 --- a/packages/core/admin/admin/src/content-manager/components/FieldComponent/utils/connect.js +++ b/packages/core/admin/admin/src/content-manager/components/FieldComponent/utils/connect.js @@ -1,7 +1,7 @@ import React from 'react'; function connect(WrappedComponent, select) { - return function(props) { + return function (props) { // eslint-disable-next-line react/prop-types const selectors = select(props); diff --git a/packages/core/admin/admin/src/content-manager/components/FieldComponent/utils/select.js b/packages/core/admin/admin/src/content-manager/components/FieldComponent/utils/select.js index 661180525d..284dc1a44d 100644 --- a/packages/core/admin/admin/src/content-manager/components/FieldComponent/utils/select.js +++ b/packages/core/admin/admin/src/content-manager/components/FieldComponent/utils/select.js @@ -22,7 +22,7 @@ function useSelect({ isFromDynamicZone, name }) { const allDynamicZoneFields = useMemo(() => { const attributes = get(contentType, ['attributes'], {}); - const dynamicZoneFields = Object.keys(attributes).filter(attrName => { + const dynamicZoneFields = Object.keys(attributes).filter((attrName) => { return get(attributes, [attrName, 'type'], '') === 'dynamiczone'; }); @@ -43,17 +43,17 @@ function useSelect({ isFromDynamicZone, name }) { return true; } - const includedDynamicZoneFields = allowedFields.filter(name => name === compoName[0]); + const includedDynamicZoneFields = allowedFields.filter((name) => name === compoName[0]); if (includedDynamicZoneFields.length > 0) { return true; } const relatedChildrenAllowedFields = allowedFields - .map(fieldName => { + .map((fieldName) => { return fieldName.split('.'); }) - .filter(fieldName => { + .filter((fieldName) => { if (fieldName.length < compoName.length) { return false; } @@ -78,10 +78,10 @@ function useSelect({ isFromDynamicZone, name }) { const allowedFields = isCreatingEntry ? [] : readActionAllowedFields; const relatedChildrenAllowedFields = allowedFields - .map(fieldName => { + .map((fieldName) => { return fieldName.split('.'); }) - .filter(fieldName => { + .filter((fieldName) => { if (fieldName.length < compoName.length) { return false; } diff --git a/packages/core/admin/admin/src/content-manager/components/FormTitle/index.js b/packages/core/admin/admin/src/content-manager/components/FormTitle/index.js index e6b8cfc06e..bf5c46f694 100644 --- a/packages/core/admin/admin/src/content-manager/components/FormTitle/index.js +++ b/packages/core/admin/admin/src/content-manager/components/FormTitle/index.js @@ -5,7 +5,7 @@ import { FormattedMessage } from 'react-intl'; const FormTitle = ({ description, title }) => ( <> {!!title && } - {!!description && {msg =>

{msg}

}
} + {!!description && {(msg) =>

{msg}

}
} ); diff --git a/packages/core/admin/admin/src/content-manager/components/InjectionZoneList/index.js b/packages/core/admin/admin/src/content-manager/components/InjectionZoneList/index.js index 2b97bc695d..7738d2b140 100644 --- a/packages/core/admin/admin/src/content-manager/components/InjectionZoneList/index.js +++ b/packages/core/admin/admin/src/content-manager/components/InjectionZoneList/index.js @@ -13,7 +13,7 @@ const InjectionZoneList = ({ area, ...props }) => { // TODO return (
    - {compos.map(compo => { + {compos.map((compo) => { const component = compo.Component(props); if (component) { diff --git a/packages/core/admin/admin/src/content-manager/components/InputJSON/index.js b/packages/core/admin/admin/src/content-manager/components/InputJSON/index.js index bd604a1f32..182dc736a2 100644 --- a/packages/core/admin/admin/src/content-manager/components/InputJSON/index.js +++ b/packages/core/admin/admin/src/content-manager/components/InputJSON/index.js @@ -87,11 +87,10 @@ class InputJSON extends React.Component { setSize = () => this.codeMirror.setSize('100%', 'auto'); - getContentAtLine = line => this.codeMirror.getLine(line); + getContentAtLine = (line) => this.codeMirror.getLine(line); - getEditorOption = opt => this.codeMirror.getOption(opt); - - getValue = () => this.codeMirror.getValue(); + // getEditorOption = (opt) => this.codeMirror.getOption(opt); + // getValue = () => this.codeMirror.getValue(); markSelection = ({ message }) => { let line = parseInt(message.split(':')[0].split('line ')[1], 10) - 1; @@ -142,7 +141,7 @@ class InputJSON extends React.Component { this.timer = setTimeout(() => this.testJSON(doc.getValue()), WAIT); }; - testJSON = value => { + testJSON = (value) => { try { jsonlint.parse(value); } catch (err) { @@ -189,7 +188,7 @@ InputJSON.defaultProps = { error: undefined, intlLabel: undefined, labelAction: undefined, - onChange: () => {}, + onChange() {}, value: null, required: false, }; diff --git a/packages/core/admin/admin/src/content-manager/components/InputJSON/jsonlint.js b/packages/core/admin/admin/src/content-manager/components/InputJSON/jsonlint.js index fdf51fda7c..7bf146de32 100644 --- a/packages/core/admin/admin/src/content-manager/components/InputJSON/jsonlint.js +++ b/packages/core/admin/admin/src/content-manager/components/InputJSON/jsonlint.js @@ -1,6 +1,6 @@ /* Jison generated parser */ /* eslint-disable */ -var jsonlint = (function() { +var jsonlint = (function () { var parser = { trace: function trace() {}, yy: {}, @@ -453,7 +453,7 @@ var jsonlint = (function() { }, }; /* Jison generated lexer */ - var lexer = (function() { + var lexer = (function () { var lexer = { EOF: 1, parseError: function parseError(str, hash) { @@ -463,7 +463,7 @@ var jsonlint = (function() { throw new Error(str); } }, - setInput: function(input) { + setInput: function (input) { this._input = input; this._more = this._less = this.done = false; this.yylineno = this.yyleng = 0; @@ -472,7 +472,7 @@ var jsonlint = (function() { this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }; return this; }, - input: function() { + input: function () { var ch = this._input[0]; this.yytext += ch; this.yyleng++; @@ -483,34 +483,34 @@ var jsonlint = (function() { this._input = this._input.slice(1); return ch; }, - unput: function(ch) { + unput: function (ch) { this._input = ch + this._input; return this; }, - more: function() { + more: function () { this._more = true; return this; }, - less: function(n) { + less: function (n) { this._input = this.match.slice(n) + this._input; }, - pastInput: function() { + pastInput: function () { var past = this.matched.substr(0, this.matched.length - this.match.length); return (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\n/g, ''); }, - upcomingInput: function() { + upcomingInput: function () { var next = this.match; if (next.length < 20) { next += this._input.substr(0, 20 - next.length); } return (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\n/g, ''); }, - showPosition: function() { + showPosition: function () { var pre = this.pastInput(); var c = new Array(pre.length + 1).join('-'); return pre + this.upcomingInput() + '\n' + c + '^'; }, - next: function() { + next: function () { if (this.done) { return this.EOF; } @@ -587,7 +587,7 @@ var jsonlint = (function() { _currentRules: function _currentRules() { return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules; }, - topState: function() { + topState: function () { return this.conditionStack[this.conditionStack.length - 2]; }, pushState: function begin(condition) { @@ -669,7 +669,7 @@ var jsonlint = (function() { })(); if (typeof require !== 'undefined' && typeof exports !== 'undefined') { exports.parser = jsonlint; - exports.parse = function() { + exports.parse = function () { return jsonlint.parse.apply(jsonlint, arguments); }; exports.main = function commonjsMain(args) { diff --git a/packages/core/admin/admin/src/content-manager/components/InputUID/index.js b/packages/core/admin/admin/src/content-manager/components/InputUID/index.js index 40b1128f2b..ea443a1382 100644 --- a/packages/core/admin/admin/src/content-manager/components/InputUID/index.js +++ b/packages/core/admin/admin/src/content-manager/components/InputUID/index.js @@ -174,7 +174,7 @@ const InputUID = ({ setRegenerateLabel(null); }; - const handleChange = e => { + const handleChange = (e) => { if (e.target.value && isCreation) { setIsCustomized(true); } diff --git a/packages/core/admin/admin/src/content-manager/components/Inputs/index.js b/packages/core/admin/admin/src/content-manager/components/Inputs/index.js index 15a75e80fc..3f59cd56cf 100644 --- a/packages/core/admin/admin/src/content-manager/components/Inputs/index.js +++ b/packages/core/admin/admin/src/content-manager/components/Inputs/index.js @@ -157,10 +157,10 @@ function Inputs({ return disabled; }, [disabled, isCreatingEntry, isUserAllowedToEditField, isUserAllowedToReadField]); - const options = useMemo(() => generateOptions(fieldSchema.enum || [], isRequired), [ - fieldSchema, - isRequired, - ]); + const options = useMemo( + () => generateOptions(fieldSchema.enum || [], isRequired), + [fieldSchema, isRequired] + ); const { label, description, placeholder, visible } = metadatas; diff --git a/packages/core/admin/admin/src/content-manager/components/Inputs/utils/connect.js b/packages/core/admin/admin/src/content-manager/components/Inputs/utils/connect.js index 51685b4411..f7d486eb66 100644 --- a/packages/core/admin/admin/src/content-manager/components/Inputs/utils/connect.js +++ b/packages/core/admin/admin/src/content-manager/components/Inputs/utils/connect.js @@ -1,7 +1,7 @@ import React from 'react'; function connect(WrappedComponent, select) { - return function(props) { + return function (props) { // eslint-disable-next-line react/prop-types const selectors = select(props.keys); diff --git a/packages/core/admin/admin/src/content-manager/components/Inputs/utils/generateOptions.js b/packages/core/admin/admin/src/content-manager/components/Inputs/utils/generateOptions.js index 3ba48d8f65..c6058a333e 100644 --- a/packages/core/admin/admin/src/content-manager/components/Inputs/utils/generateOptions.js +++ b/packages/core/admin/admin/src/content-manager/components/Inputs/utils/generateOptions.js @@ -12,7 +12,7 @@ const generateOptions = (options, isRequired = false) => { key: '__enum_option_null', value: '', }, - ...options.map(option => { + ...options.map((option) => { return { metadatas: { intlLabel: { diff --git a/packages/core/admin/admin/src/content-manager/components/Inputs/utils/getStep.js b/packages/core/admin/admin/src/content-manager/components/Inputs/utils/getStep.js index 900f25b483..7c6653aee0 100644 --- a/packages/core/admin/admin/src/content-manager/components/Inputs/utils/getStep.js +++ b/packages/core/admin/admin/src/content-manager/components/Inputs/utils/getStep.js @@ -1,4 +1,4 @@ -const getStep = type => { +const getStep = (type) => { let step; if (type === 'float' || type === 'decimal') { diff --git a/packages/core/admin/admin/src/content-manager/components/LayoutDndProvider/index.js b/packages/core/admin/admin/src/content-manager/components/LayoutDndProvider/index.js index 9c80e9af3e..bb50f2b79f 100644 --- a/packages/core/admin/admin/src/content-manager/components/LayoutDndProvider/index.js +++ b/packages/core/admin/admin/src/content-manager/components/LayoutDndProvider/index.js @@ -44,16 +44,16 @@ function LayoutDndProvider({ LayoutDndProvider.defaultProps = { attributes: {}, buttonData: [], - goTo: () => {}, + goTo() {}, layout: [], metadatas: {}, - moveItem: () => {}, - moveRow: () => {}, - onAddData: () => {}, + moveItem() {}, + moveRow() {}, + onAddData() {}, relationsLayout: [], - removeField: () => {}, + removeField() {}, selectedItemName: null, - setEditFieldToSelect: () => {}, + setEditFieldToSelect() {}, }; LayoutDndProvider.propTypes = { diff --git a/packages/core/admin/admin/src/content-manager/components/NonRepeatableComponent/index.js b/packages/core/admin/admin/src/content-manager/components/NonRepeatableComponent/index.js index 9137cc610a..f85cc13e72 100644 --- a/packages/core/admin/admin/src/content-manager/components/NonRepeatableComponent/index.js +++ b/packages/core/admin/admin/src/content-manager/components/NonRepeatableComponent/index.js @@ -12,10 +12,10 @@ import Inputs from '../Inputs'; const NonRepeatableComponent = ({ componentUid, isFromDynamicZone, isNested, name }) => { const { getComponentLayout } = useContentTypeLayout(); - const componentLayoutData = useMemo(() => getComponentLayout(componentUid), [ - componentUid, - getComponentLayout, - ]); + const componentLayoutData = useMemo( + () => getComponentLayout(componentUid), + [componentUid, getComponentLayout] + ); const fields = componentLayoutData.layouts.edit; return ( diff --git a/packages/core/admin/admin/src/content-manager/components/PreviewWysiwyg/utils/mdRenderer.js b/packages/core/admin/admin/src/content-manager/components/PreviewWysiwyg/utils/mdRenderer.js index 002fe85bad..b8c2cf212b 100644 --- a/packages/core/admin/admin/src/content-manager/components/PreviewWysiwyg/utils/mdRenderer.js +++ b/packages/core/admin/admin/src/content-manager/components/PreviewWysiwyg/utils/mdRenderer.js @@ -25,7 +25,7 @@ const md = new Markdown({ linkify: true, typographer: true, // Code from: https://github.com/markdown-it/markdown-it/blob/master/support/demo_template/index.js#L83 - highlight: (str, lang) => { + highlight(str, lang) { if (lang && lang !== 'auto' && getLanguage(lang)) { return ( '
     e.stopPropagation()}
    +                      onClick={(e) => e.stopPropagation()}
                         >
                           
                         
    @@ -294,8 +288,8 @@ const DraggedItem = ({
     DraggedItem.defaultProps = {
       isDraggingSibling: false,
       isOpen: false,
    -  setIsDraggingSibling: () => {},
    -  toggleCollapses: () => {},
    +  setIsDraggingSibling() {},
    +  toggleCollapses() {},
     };
     
     DraggedItem.propTypes = {
    diff --git a/packages/core/admin/admin/src/content-manager/components/RepeatableComponent/DraggedItem/utils/connect.js b/packages/core/admin/admin/src/content-manager/components/RepeatableComponent/DraggedItem/utils/connect.js
    index 563d58b445..e9c07d0f24 100644
    --- a/packages/core/admin/admin/src/content-manager/components/RepeatableComponent/DraggedItem/utils/connect.js
    +++ b/packages/core/admin/admin/src/content-manager/components/RepeatableComponent/DraggedItem/utils/connect.js
    @@ -1,7 +1,7 @@
     import React from 'react';
     
     function connect(WrappedComponent, select) {
    -  return function(props) {
    +  return function (props) {
         const selectors = select(props);
     
         return ;
    diff --git a/packages/core/admin/admin/src/content-manager/components/RepeatableComponent/index.js b/packages/core/admin/admin/src/content-manager/components/RepeatableComponent/index.js
    index b6d31cff45..2b7c6931ab 100644
    --- a/packages/core/admin/admin/src/content-manager/components/RepeatableComponent/index.js
    +++ b/packages/core/admin/admin/src/content-manager/components/RepeatableComponent/index.js
    @@ -49,10 +49,10 @@ const RepeatableComponent = ({
       const [isDraggingSibling, setIsDraggingSibling] = useState(false);
       const [, drop] = useDrop({ accept: ItemTypes.COMPONENT });
       const { getComponentLayout } = useContentTypeLayout();
    -  const componentLayoutData = useMemo(() => getComponentLayout(componentUid), [
    -    componentUid,
    -    getComponentLayout,
    -  ]);
    +  const componentLayoutData = useMemo(
    +    () => getComponentLayout(componentUid),
    +    [componentUid, getComponentLayout]
    +  );
     
       const nextTempKey = useMemo(() => {
         return getMaxTempKey(componentValue || []) + 1;
    @@ -113,7 +113,7 @@ const RepeatableComponent = ({
       }
     
       const doesRepComponentHasChildError = componentErrorKeys.some(
    -    error => error.split('.').length > 1
    +    (error) => error.split('.').length > 1
       );
     
       if (doesRepComponentHasChildError && !hasMinError) {
    diff --git a/packages/core/admin/admin/src/content-manager/components/RepeatableComponent/utils/connect.js b/packages/core/admin/admin/src/content-manager/components/RepeatableComponent/utils/connect.js
    index 563d58b445..e9c07d0f24 100644
    --- a/packages/core/admin/admin/src/content-manager/components/RepeatableComponent/utils/connect.js
    +++ b/packages/core/admin/admin/src/content-manager/components/RepeatableComponent/utils/connect.js
    @@ -1,7 +1,7 @@
     import React from 'react';
     
     function connect(WrappedComponent, select) {
    -  return function(props) {
    +  return function (props) {
         const selectors = select(props);
     
         return ;
    diff --git a/packages/core/admin/admin/src/content-manager/components/RepeatableComponent/utils/getComponentErrorKeys.js b/packages/core/admin/admin/src/content-manager/components/RepeatableComponent/utils/getComponentErrorKeys.js
    index d12c3e8eb3..59081b74b9 100644
    --- a/packages/core/admin/admin/src/content-manager/components/RepeatableComponent/utils/getComponentErrorKeys.js
    +++ b/packages/core/admin/admin/src/content-manager/components/RepeatableComponent/utils/getComponentErrorKeys.js
    @@ -1,7 +1,7 @@
     export default function getComponentErrorKeys(name, formErrors) {
       return Object.keys(formErrors)
    -    .filter(errorKey => errorKey.startsWith(name))
    -    .map(errorKey =>
    +    .filter((errorKey) => errorKey.startsWith(name))
    +    .map((errorKey) =>
           errorKey
             .split('.')
             .slice(0, name.split('.').length + 1)
    diff --git a/packages/core/admin/admin/src/content-manager/components/SectionTitle/index.js b/packages/core/admin/admin/src/content-manager/components/SectionTitle/index.js
    index c8c870dd2f..7eed2469e2 100644
    --- a/packages/core/admin/admin/src/content-manager/components/SectionTitle/index.js
    +++ b/packages/core/admin/admin/src/content-manager/components/SectionTitle/index.js
    @@ -10,7 +10,7 @@ const SectionTitle = ({ isSettings }) => {
     
       return (
         
    - {msg => {msg}} + {(msg) => {msg}}
    ); }; diff --git a/packages/core/admin/admin/src/content-manager/components/SelectMany/ListItem.js b/packages/core/admin/admin/src/content-manager/components/SelectMany/ListItem.js index 5a25b242d0..2eb9ab9a83 100644 --- a/packages/core/admin/admin/src/content-manager/components/SelectMany/ListItem.js +++ b/packages/core/admin/admin/src/content-manager/components/SelectMany/ListItem.js @@ -79,7 +79,7 @@ function ListItem({ } ListItem.defaultProps = { - onRemove: () => {}, + onRemove() {}, searchToPersist: null, targetModel: '', }; diff --git a/packages/core/admin/admin/src/content-manager/components/SelectMany/index.js b/packages/core/admin/admin/src/content-manager/components/SelectMany/index.js index 9dea24cc85..7d8459a89f 100644 --- a/packages/core/admin/admin/src/content-manager/components/SelectMany/index.js +++ b/packages/core/admin/admin/src/content-manager/components/SelectMany/index.js @@ -46,7 +46,7 @@ function SelectMany({ id={name} filterOption={(candidate, input) => { if (!isEmpty(value)) { - const isSelected = value.findIndex(item => item.id === candidate.value.id) !== -1; + const isSelected = value.findIndex((item) => item.id === candidate.value.id) !== -1; if (isSelected) { return false; diff --git a/packages/core/admin/admin/src/content-manager/components/SelectOne/SingleValue.js b/packages/core/admin/admin/src/content-manager/components/SelectOne/SingleValue.js index 50e0c51f8f..6427a13328 100644 --- a/packages/core/admin/admin/src/content-manager/components/SelectOne/SingleValue.js +++ b/packages/core/admin/admin/src/content-manager/components/SelectOne/SingleValue.js @@ -22,7 +22,7 @@ const StyledBullet = styled.div` cursor: pointer; `; -const SingleValue = props => { +const SingleValue = (props) => { const { formatMessage } = useIntl(); const Component = components.SingleValue; const hasDraftAndPublish = has(get(props, 'data.value'), 'publishedAt'); diff --git a/packages/core/admin/admin/src/content-manager/components/SelectWrapper/Option.js b/packages/core/admin/admin/src/content-manager/components/SelectWrapper/Option.js index ea175ed839..23ddd224f7 100644 --- a/packages/core/admin/admin/src/content-manager/components/SelectWrapper/Option.js +++ b/packages/core/admin/admin/src/content-manager/components/SelectWrapper/Option.js @@ -20,7 +20,7 @@ const StyledBullet = styled.div` cursor: pointer; `; -const Option = props => { +const Option = (props) => { const { formatMessage } = useIntl(); const Component = components.Option; const hasDraftAndPublish = has(get(props, 'data.value'), 'publishedAt'); diff --git a/packages/core/admin/admin/src/content-manager/components/SelectWrapper/index.js b/packages/core/admin/admin/src/content-manager/components/SelectWrapper/index.js index 1c1870212d..ef5810095b 100644 --- a/packages/core/admin/admin/src/content-manager/components/SelectWrapper/index.js +++ b/packages/core/admin/admin/src/content-manager/components/SelectWrapper/index.js @@ -64,13 +64,8 @@ function SelectWrapper({ const [{ query }] = useQueryParams(); // Disable the input in case of a polymorphic relation const isMorph = useMemo(() => relationType.toLowerCase().includes('morph'), [relationType]); - const { - addRelation, - modifiedData, - moveRelation, - onChange, - onRemoveRelation, - } = useCMEditViewDataManager(); + const { addRelation, modifiedData, moveRelation, onChange, onRemoveRelation } = + useCMEditViewDataManager(); const { pathname } = useLocation(); const value = get(modifiedData, name, null); @@ -80,11 +75,11 @@ function SelectWrapper({ const [isOpen, setIsOpen] = useState(false); const filteredOptions = useMemo(() => { - return options.filter(option => { + return options.filter((option) => { if (!isEmpty(value)) { // SelectMany if (Array.isArray(value)) { - return findIndex(value, o => o.id === option.value.id) === -1; + return findIndex(value, (o) => o.id === option.value.id) === -1; } // SelectOne @@ -95,13 +90,8 @@ function SelectWrapper({ }); }, [options, value]); - const { - endPoint, - containsKey, - defaultParams, - shouldDisplayRelationLink, - paramsToKeep, - } = queryInfos; + const { endPoint, containsKey, defaultParams, shouldDisplayRelationLink, paramsToKeep } = + queryInfos; const isSingle = ['oneWay', 'oneToOne', 'manyToOne', 'oneToManyMorph', 'oneToOneMorph'].includes( relationType @@ -116,11 +106,11 @@ function SelectWrapper({ return [value.id]; } - return value.map(val => val.id); + return value.map((val) => val.id); }, [isSingle, value]); const getData = useCallback( - async source => { + async (source) => { // Currently polymorphic relations are not handled if (isMorph) { setIsLoading(false); @@ -149,19 +139,19 @@ function SelectWrapper({ { params, cancelToken: source.token } ); - const formattedData = data.map(obj => { + const formattedData = data.map((obj) => { return { value: obj, label: obj[mainField.name] }; }); - setOptions(prevState => + setOptions((prevState) => prevState.concat(formattedData).filter((obj, index) => { - const objIndex = prevState.findIndex(el => el.value.id === obj.value.id); + const objIndex = prevState.findIndex((el) => el.value.id === obj.value.id); if (objIndex === -1) { return true; } - return prevState.findIndex(el => el.value.id === obj.value.id) === index; + return prevState.findIndex((el) => el.value.id === obj.value.id) === index; }) ); setIsLoading(false); @@ -197,7 +187,7 @@ function SelectWrapper({ const handleInputChange = (inputValue, { action }) => { if (action === 'input-change') { - setState(prevState => { + setState((prevState) => { if (prevState.contains === inputValue) { return prevState; } @@ -210,7 +200,7 @@ function SelectWrapper({ }; const handleMenuScrollToBottom = () => { - setState(prevState => ({ + setState((prevState) => ({ ...prevState, start: prevState.start + 20, })); @@ -221,11 +211,11 @@ function SelectWrapper({ setIsOpen(false); }; - const handleChange = value => { + const handleChange = (value) => { onChange({ target: { name, value: value ? value.value : value } }); }; - const handleAddRelation = value => { + const handleAddRelation = (value) => { if (!isEmpty(value)) { addRelation({ target: { name, value } }); } diff --git a/packages/core/admin/admin/src/content-manager/components/SelectWrapper/utils/connect.js b/packages/core/admin/admin/src/content-manager/components/SelectWrapper/utils/connect.js index 648a3d30e4..f1027b59e3 100644 --- a/packages/core/admin/admin/src/content-manager/components/SelectWrapper/utils/connect.js +++ b/packages/core/admin/admin/src/content-manager/components/SelectWrapper/utils/connect.js @@ -1,7 +1,7 @@ import React from 'react'; function connect(WrappedComponent, select) { - return function(props) { + return function (props) { // eslint-disable-next-line react/prop-types const selectors = select(props); diff --git a/packages/core/admin/admin/src/content-manager/components/SingleTypeFormWrapper/index.js b/packages/core/admin/admin/src/content-manager/components/SingleTypeFormWrapper/index.js index 72dadec8f3..63cf0dee7e 100644 --- a/packages/core/admin/admin/src/content-manager/components/SingleTypeFormWrapper/index.js +++ b/packages/core/admin/admin/src/content-manager/components/SingleTypeFormWrapper/index.js @@ -38,16 +38,11 @@ const SingleTypeFormWrapper = ({ allLayoutData, children, slug }) => { const toggleNotification = useNotification(); const dispatch = useDispatch(); - const { - componentsDataStructure, - contentTypeDataStructure, - data, - isLoading, - status, - } = useSelector(selectCrudReducer); + const { componentsDataStructure, contentTypeDataStructure, data, isLoading, status } = + useSelector(selectCrudReducer); const cleanReceivedData = useCallback( - data => { + (data) => { const cleaned = removePasswordFieldsFromData( data, allLayoutData.contentType, @@ -100,7 +95,7 @@ const SingleTypeFormWrapper = ({ allLayoutData, children, slug }) => { const CancelToken = axios.CancelToken; const source = CancelToken.source(); - const fetchData = async source => { + const fetchData = async (source) => { dispatch(getData()); setIsCreatingEntry(true); @@ -142,7 +137,7 @@ const SingleTypeFormWrapper = ({ allLayoutData, children, slug }) => { }, [cleanReceivedData, push, slug, dispatch, searchToSend, rawQuery, toggleNotification]); const displayErrors = useCallback( - err => { + (err) => { const errorPayload = err.response.data; let errorMessage = get(errorPayload, ['error', 'message'], 'Bad Request'); @@ -159,7 +154,7 @@ const SingleTypeFormWrapper = ({ allLayoutData, children, slug }) => { ); const onDelete = useCallback( - async trackerProperty => { + async (trackerProperty) => { try { trackUsageRef.current('willDeleteEntry', trackerProperty); diff --git a/packages/core/admin/admin/src/content-manager/components/SingleTypeFormWrapper/utils/getRequestUrl.js b/packages/core/admin/admin/src/content-manager/components/SingleTypeFormWrapper/utils/getRequestUrl.js index 4b108c472b..8ad02f911d 100644 --- a/packages/core/admin/admin/src/content-manager/components/SingleTypeFormWrapper/utils/getRequestUrl.js +++ b/packages/core/admin/admin/src/content-manager/components/SingleTypeFormWrapper/utils/getRequestUrl.js @@ -1,5 +1,5 @@ import { getRequestUrl } from '../../../utils'; -const requestURL = path => getRequestUrl(`single-types/${path}`); +const requestURL = (path) => getRequestUrl(`single-types/${path}`); export default requestURL; diff --git a/packages/core/admin/admin/src/content-manager/components/Wysiwyg/Editor.js b/packages/core/admin/admin/src/content-manager/components/Wysiwyg/Editor.js index c82a7d8649..cd52003914 100644 --- a/packages/core/admin/admin/src/content-manager/components/Wysiwyg/Editor.js +++ b/packages/core/admin/admin/src/content-manager/components/Wysiwyg/Editor.js @@ -37,7 +37,7 @@ const Editor = ({ }); CodeMirror.commands.newlineAndIndentContinueMarkdownList = newlineAndIndentContinueMarkdownList; - editorRef.current.on('change', doc => { + editorRef.current.on('change', (doc) => { onChangeRef.current({ target: { name, value: doc.getValue(), type: 'wysiwyg' } }); }); }, [editorRef, textareaRef, name, placeholder]); diff --git a/packages/core/admin/admin/src/content-manager/components/Wysiwyg/EditorLayout.js b/packages/core/admin/admin/src/content-manager/components/Wysiwyg/EditorLayout.js index bd3e262e78..8e4b0e5c69 100644 --- a/packages/core/admin/admin/src/content-manager/components/Wysiwyg/EditorLayout.js +++ b/packages/core/admin/admin/src/content-manager/components/Wysiwyg/EditorLayout.js @@ -78,7 +78,7 @@ export const EditorLayout = ({ children, isExpandMode, error, previewContent, on overflow="hidden" width="70%" height="70%" - onClick={e => e.stopPropagation()} + onClick={(e) => e.stopPropagation()} > diff --git a/packages/core/admin/admin/src/content-manager/components/Wysiwyg/WysiwygFooter.js b/packages/core/admin/admin/src/content-manager/components/Wysiwyg/WysiwygFooter.js index 92509c7f79..480ae839bc 100644 --- a/packages/core/admin/admin/src/content-manager/components/Wysiwyg/WysiwygFooter.js +++ b/packages/core/admin/admin/src/content-manager/components/Wysiwyg/WysiwygFooter.js @@ -28,7 +28,7 @@ const WysiwygFooter = ({ onToggleExpand }) => { }; WysiwygFooter.defaultProps = { - onToggleExpand: () => {}, + onToggleExpand() {}, }; WysiwygFooter.propTypes = { diff --git a/packages/core/admin/admin/src/content-manager/components/Wysiwyg/WysiwygNav.js b/packages/core/admin/admin/src/content-manager/components/Wysiwyg/WysiwygNav.js index 9cb75b0fc7..192abab576 100644 --- a/packages/core/admin/admin/src/content-manager/components/Wysiwyg/WysiwygNav.js +++ b/packages/core/admin/admin/src/content-manager/components/Wysiwyg/WysiwygNav.js @@ -45,7 +45,7 @@ const WysiwygNav = ({ const buttonMoreRef = useRef(); const handleTogglePopover = () => { - setVisiblePopover(prev => !prev); + setVisiblePopover((prev) => !prev); }; if (disabled || isPreviewMode) { @@ -110,7 +110,7 @@ const WysiwygNav = ({ id="selectTitle" placeholder={selectPlaceholder} size="S" - onChange={value => onActionClick(value, editorRef)} + onChange={(value) => onActionClick(value, editorRef)} > @@ -233,8 +233,8 @@ const WysiwygNav = ({ WysiwygNav.defaultProps = { isPreviewMode: false, - onActionClick: () => {}, - onToggleMediaLib: () => {}, + onActionClick() {}, + onToggleMediaLib() {}, onTogglePreviewMode: undefined, }; diff --git a/packages/core/admin/admin/src/content-manager/components/Wysiwyg/index.js b/packages/core/admin/admin/src/content-manager/components/Wysiwyg/index.js index 185b99df04..d8fdbe8e3c 100644 --- a/packages/core/admin/admin/src/content-manager/components/Wysiwyg/index.js +++ b/packages/core/admin/admin/src/content-manager/components/Wysiwyg/index.js @@ -52,11 +52,11 @@ const Wysiwyg = ({ const MediaLibraryDialog = components['media-library']; - const handleToggleMediaLib = () => setMediaLibVisible(prev => !prev); - const handleTogglePreviewMode = () => setIsPreviewMode(prev => !prev); + const handleToggleMediaLib = () => setMediaLibVisible((prev) => !prev); + const handleTogglePreviewMode = () => setIsPreviewMode((prev) => !prev); const handleToggleExpand = () => { setIsPreviewMode(false); - setIsExpandMode(prev => !prev); + setIsExpandMode((prev) => !prev); }; const handleActionClick = (value, currentEditorRef, togglePopover) => { @@ -100,8 +100,8 @@ const Wysiwyg = ({ } }; - const handleSelectAssets = files => { - const formattedFiles = files.map(f => ({ + const handleSelectAssets = (files) => { + const formattedFiles = files.map((f) => ({ alt: f.alternativeText || f.name, url: prefixFileUrlWithBackendUrl(f.url), mime: f.mime, diff --git a/packages/core/admin/admin/src/content-manager/components/Wysiwyg/tests/index.test.js b/packages/core/admin/admin/src/content-manager/components/Wysiwyg/tests/index.test.js index 1b30d01df4..3ae8fe6bcc 100644 --- a/packages/core/admin/admin/src/content-manager/components/Wysiwyg/tests/index.test.js +++ b/packages/core/admin/admin/src/content-manager/components/Wysiwyg/tests/index.test.js @@ -29,7 +29,7 @@ describe('Wysiwyg render and actions buttons', () => { let returnedValue; beforeEach(() => { - const onChange = jest.fn(e => { + const onChange = jest.fn((e) => { returnedValue = e.target.value; }); @@ -1402,9 +1402,9 @@ describe('Wysiwyg render and actions buttons', () => { fireEvent.click(renderedContainer.querySelector('#Underline')); const hasUnderlineMarkdown = getContainerByText((content, node) => { - const hasText = node => node.textContent === 'Underline'; + const hasText = (node) => node.textContent === 'Underline'; const nodeHasText = hasText(node); - const childrenDontHaveText = Array.from(node.children).every(child => !hasText(child)); + const childrenDontHaveText = Array.from(node.children).every((child) => !hasText(child)); return nodeHasText && childrenDontHaveText; }); @@ -1560,9 +1560,9 @@ Code fireEvent.click(renderedContainer.querySelector('#Underline')); const hasUnderlineMarkdown = containerQueryByText((content, node) => { - const hasText = node => node.textContent === 'Underline'; + const hasText = (node) => node.textContent === 'Underline'; const nodeHasText = hasText(node); - const childrenDontHaveText = Array.from(node.children).every(child => !hasText(child)); + const childrenDontHaveText = Array.from(node.children).every((child) => !hasText(child)); return nodeHasText && childrenDontHaveText; }); @@ -1646,7 +1646,7 @@ describe('Wysiwyg render actions with initial value', () => { let returnedValue = 'hello world'; beforeEach(() => { - const onChange = jest.fn(e => { + const onChange = jest.fn((e) => { returnedValue += e.target.value; }); diff --git a/packages/core/admin/admin/src/content-manager/components/Wysiwyg/utils/utils.js b/packages/core/admin/admin/src/content-manager/components/Wysiwyg/utils/utils.js index 1c6410a7cf..8540505899 100644 --- a/packages/core/admin/admin/src/content-manager/components/Wysiwyg/utils/utils.js +++ b/packages/core/admin/admin/src/content-manager/components/Wysiwyg/utils/utils.js @@ -30,7 +30,7 @@ export const replaceText = (markdownName, textToChange) => { return editedText; }; -export const insertText = markdownName => { +export const insertText = (markdownName) => { let editedText; // object to calculate text that will be selected after insert of markdown let selection = { start: markdownName.length, end: 0 }; @@ -75,7 +75,7 @@ export const insertText = markdownName => { return { editedText, selection }; }; -export const insertListOrTitle = markdown => { +export const insertListOrTitle = (markdown) => { let textToInsert; switch (markdown) { @@ -140,8 +140,8 @@ export const listHandler = (editor, listType) => { const selections = doc.listSelections(); let remove = null; - editor.current.operation(function() { - selections.forEach(function(selection) { + editor.current.operation(function () { + selections.forEach(function (selection) { const pos = [selection.head.line, selection.anchor.line].sort(); // Remove if the first text starts with it diff --git a/packages/core/admin/admin/src/content-manager/hooks/useContentTypeLayout/index.js b/packages/core/admin/admin/src/content-manager/hooks/useContentTypeLayout/index.js index 39b705960d..ea15a1211b 100644 --- a/packages/core/admin/admin/src/content-manager/hooks/useContentTypeLayout/index.js +++ b/packages/core/admin/admin/src/content-manager/hooks/useContentTypeLayout/index.js @@ -7,7 +7,7 @@ const useContentTypeLayout = () => { const currentLayout = useSelector(selectLayout); const getComponentLayout = useCallback( - componentUid => { + (componentUid) => { return get(currentLayout, ['components', componentUid], {}); }, [currentLayout] diff --git a/packages/core/admin/admin/src/content-manager/hooks/useFetchContentTypeLayout/index.js b/packages/core/admin/admin/src/content-manager/hooks/useFetchContentTypeLayout/index.js index e1128e3740..f479b4b3c0 100644 --- a/packages/core/admin/admin/src/content-manager/hooks/useFetchContentTypeLayout/index.js +++ b/packages/core/admin/admin/src/content-manager/hooks/useFetchContentTypeLayout/index.js @@ -7,10 +7,10 @@ import reducer, { initialState } from './reducer'; import { makeSelectModelAndComponentSchemas } from '../../pages/App/selectors'; import { getRequestUrl } from '../../utils'; -const useFetchContentTypeLayout = contentTypeUID => { +const useFetchContentTypeLayout = (contentTypeUID) => { const [{ error, isLoading, layout, layouts }, dispatch] = useReducer(reducer, initialState); const schemasSelector = useMemo(makeSelectModelAndComponentSchemas, []); - const { schemas } = useSelector(state => schemasSelector(state), shallowEqual); + const { schemas } = useSelector((state) => schemasSelector(state), shallowEqual); const isMounted = useRef(true); const getData = useCallback( @@ -68,7 +68,7 @@ const useFetchContentTypeLayout = contentTypeUID => { }, [contentTypeUID, getData]); const updateLayout = useCallback( - data => { + (data) => { dispatch({ type: 'UPDATE_LAYOUT', newLayout: formatLayouts(data, schemas), diff --git a/packages/core/admin/admin/src/content-manager/hooks/useFetchContentTypeLayout/reducer.js b/packages/core/admin/admin/src/content-manager/hooks/useFetchContentTypeLayout/reducer.js index 145f36eb02..fd496b281b 100644 --- a/packages/core/admin/admin/src/content-manager/hooks/useFetchContentTypeLayout/reducer.js +++ b/packages/core/admin/admin/src/content-manager/hooks/useFetchContentTypeLayout/reducer.js @@ -9,7 +9,7 @@ export const initialState = { }; const reducer = (state, action) => - produce(state, draftState => { + produce(state, (draftState) => { switch (action.type) { case 'GET_DATA': { draftState.isLoading = true; diff --git a/packages/core/admin/admin/src/content-manager/hooks/useFetchContentTypeLayout/tests/reducer.test.js b/packages/core/admin/admin/src/content-manager/hooks/useFetchContentTypeLayout/tests/reducer.test.js index 4f520d199b..ce10c20009 100644 --- a/packages/core/admin/admin/src/content-manager/hooks/useFetchContentTypeLayout/tests/reducer.test.js +++ b/packages/core/admin/admin/src/content-manager/hooks/useFetchContentTypeLayout/tests/reducer.test.js @@ -23,7 +23,7 @@ describe('CONTENT MANAGER | hooks | useFetchContentTypeLayout | reducer', () => const action = { type: 'GET_DATA' }; - const expected = produce(state, draft => { + const expected = produce(state, (draft) => { draft.isLoading = true; draft.error = null; }); @@ -37,7 +37,7 @@ describe('CONTENT MANAGER | hooks | useFetchContentTypeLayout | reducer', () => data: { contentType: { uid: 'test' } }, }; - const expected = produce(state, draft => { + const expected = produce(state, (draft) => { draft.isLoading = false; draft.layout = { contentType: { uid: 'test' } }; draft.layouts = { test: { contentType: { uid: 'test' } } }; @@ -52,7 +52,7 @@ describe('CONTENT MANAGER | hooks | useFetchContentTypeLayout | reducer', () => error: true, }; - const expected = produce(state, draft => { + const expected = produce(state, (draft) => { draft.isLoading = false; draft.error = true; }); diff --git a/packages/core/admin/admin/src/content-manager/hooks/useFetchContentTypeLayout/utils/formatLayouts.js b/packages/core/admin/admin/src/content-manager/hooks/useFetchContentTypeLayout/utils/formatLayouts.js index 6ae3d0e015..cec42ece63 100644 --- a/packages/core/admin/admin/src/content-manager/hooks/useFetchContentTypeLayout/utils/formatLayouts.js +++ b/packages/core/admin/admin/src/content-manager/hooks/useFetchContentTypeLayout/utils/formatLayouts.js @@ -1,7 +1,7 @@ import { cloneDeep, get, set } from 'lodash'; import { getRequestUrl, mergeMetasWithSchema } from '../../../utils'; -const getRelationModel = (targetModel, models) => models.find(model => model.uid === targetModel); +const getRelationModel = (targetModel, models) => models.find((model) => model.uid === targetModel); // editRelations is an array of strings... const formatEditRelationsLayoutWithMetas = (contentTypeConfiguration, models) => { @@ -46,7 +46,7 @@ const formatLayouts = (initialData, models) => { set(data, ['contentType', 'layouts', 'editRelations'], formattedEditRelationsLayout); set(data, ['contentType', 'layouts', 'list'], formattedListLayout); - Object.keys(data.components).forEach(compoUID => { + Object.keys(data.components).forEach((compoUID) => { const formattedCompoEditLayout = formatLayoutWithMetas( data.components[compoUID], ctUid, @@ -63,7 +63,7 @@ const createMetasSchema = (initialData, models) => { const data = mergeMetasWithSchema(cloneDeep(initialData), models, 'contentType'); const { components, contentType } = data; - const formatMetadatas = targetSchema => { + const formatMetadatas = (targetSchema) => { return Object.keys(targetSchema.metadatas).reduce((acc, current) => { const schema = get(targetSchema, ['attributes', current], {}); let metadatas = targetSchema.metadatas[current]; @@ -96,7 +96,7 @@ const createMetasSchema = (initialData, models) => { set(data, ['contentType', 'metadatas'], formatMetadatas(contentType)); - Object.keys(components).forEach(compoUID => { + Object.keys(components).forEach((compoUID) => { const currentCompo = components[compoUID]; const updatedMetas = formatMetadatas(currentCompo); @@ -108,7 +108,7 @@ const createMetasSchema = (initialData, models) => { const formatLayoutWithMetas = (contentTypeConfiguration, ctUid, models) => { const formatted = contentTypeConfiguration.layouts.edit.reduce((acc, current) => { - const row = current.map(attribute => { + const row = current.map((attribute) => { const fieldSchema = get(contentTypeConfiguration, ['attributes', attribute.name], {}); const data = { @@ -241,8 +241,8 @@ const generateRelationQueryInfosForComponents = ( return queryInfos; }; -const getDisplayedModels = models => - models.filter(model => model.isDisplayed).map(({ uid }) => uid); +const getDisplayedModels = (models) => + models.filter((model) => model.isDisplayed).map(({ uid }) => uid); export default formatLayouts; export { diff --git a/packages/core/admin/admin/src/content-manager/hooks/useFindRedirectionLink/index.js b/packages/core/admin/admin/src/content-manager/hooks/useFindRedirectionLink/index.js index 7d0a316be5..124fa0a7a1 100644 --- a/packages/core/admin/admin/src/content-manager/hooks/useFindRedirectionLink/index.js +++ b/packages/core/admin/admin/src/content-manager/hooks/useFindRedirectionLink/index.js @@ -3,7 +3,7 @@ import { useQueryParams } from '@strapi/helper-plugin'; import selectMenuLinks from './selectors'; import getRedirectionLink from './utils/getRedirectionLink'; -const useFindRedirectionLink = slug => { +const useFindRedirectionLink = (slug) => { const [{ rawQuery }] = useQueryParams(); const collectionTypesMenuLinks = useSelector(selectMenuLinks); const redirectionLink = getRedirectionLink(collectionTypesMenuLinks, slug, rawQuery); diff --git a/packages/core/admin/admin/src/content-manager/hooks/useFindRedirectionLink/selectors.js b/packages/core/admin/admin/src/content-manager/hooks/useFindRedirectionLink/selectors.js index e9b9f09414..881cadb774 100644 --- a/packages/core/admin/admin/src/content-manager/hooks/useFindRedirectionLink/selectors.js +++ b/packages/core/admin/admin/src/content-manager/hooks/useFindRedirectionLink/selectors.js @@ -1,4 +1,4 @@ -const selectMenuLinks = state => { +const selectMenuLinks = (state) => { const cmState = state['content-manager_app']; return cmState.collectionTypeLinks; diff --git a/packages/core/admin/admin/src/content-manager/hooks/useFindRedirectionLink/tests/selectors.test.js b/packages/core/admin/admin/src/content-manager/hooks/useFindRedirectionLink/tests/selectors.test.js index 7a95e0f7b0..05a12c4c5b 100644 --- a/packages/core/admin/admin/src/content-manager/hooks/useFindRedirectionLink/tests/selectors.test.js +++ b/packages/core/admin/admin/src/content-manager/hooks/useFindRedirectionLink/tests/selectors.test.js @@ -1,5 +1,5 @@ +import { fixtures } from '@strapi/admin-test-utils/lib'; import selectMenuLinks from '../selectors'; -import { fixtures } from '../../../../../../../../admin-test-utils'; describe('CONTENT MANAGER | Containers | CollectionTypeFormWrapper | selectors', () => { let store; diff --git a/packages/core/admin/admin/src/content-manager/hooks/useSyncRbac/reducer.js b/packages/core/admin/admin/src/content-manager/hooks/useSyncRbac/reducer.js index 307ead6cca..42a3cad550 100644 --- a/packages/core/admin/admin/src/content-manager/hooks/useSyncRbac/reducer.js +++ b/packages/core/admin/admin/src/content-manager/hooks/useSyncRbac/reducer.js @@ -12,7 +12,7 @@ export const initialState = { const rbacManagerReducer = (state = initialState, action) => // eslint-disable-next-line consistent-return - produce(state, draftState => { + produce(state, (draftState) => { switch (action.type) { case SET_PERMISSIONS: { draftState.permissions = Object.entries(action.permissions).reduce((acc, current) => { diff --git a/packages/core/admin/admin/src/content-manager/hooks/useSyncRbac/selectors.js b/packages/core/admin/admin/src/content-manager/hooks/useSyncRbac/selectors.js index ce8505f9f4..ffbd4ee762 100644 --- a/packages/core/admin/admin/src/content-manager/hooks/useSyncRbac/selectors.js +++ b/packages/core/admin/admin/src/content-manager/hooks/useSyncRbac/selectors.js @@ -1,4 +1,4 @@ -export const selectPermissions = state => state['content-manager_rbacManager'].permissions; +export const selectPermissions = (state) => state['content-manager_rbacManager'].permissions; -export const selectCollectionTypePermissions = state => +export const selectCollectionTypePermissions = (state) => state.rbacProvider.collectionTypesRelatedPermissions; diff --git a/packages/core/admin/admin/src/content-manager/hooks/useSyncRbac/tests/selectors.test.js b/packages/core/admin/admin/src/content-manager/hooks/useSyncRbac/tests/selectors.test.js index 416c47c031..92134b8a5e 100644 --- a/packages/core/admin/admin/src/content-manager/hooks/useSyncRbac/tests/selectors.test.js +++ b/packages/core/admin/admin/src/content-manager/hooks/useSyncRbac/tests/selectors.test.js @@ -1,4 +1,4 @@ -import { fixtures } from '../../../../../../../../admin-test-utils/lib'; +import { fixtures } from '@strapi/admin-test-utils/lib/lib'; import { selectPermissions, selectCollectionTypePermissions } from '../selectors'; describe('Admin | content manager | hooks | useSyncRbac | selectors', () => { diff --git a/packages/core/admin/admin/src/content-manager/pages/App/LeftMenu/index.js b/packages/core/admin/admin/src/content-manager/pages/App/LeftMenu/index.js index 851b75fc57..b7e0ddcd2c 100644 --- a/packages/core/admin/admin/src/content-manager/pages/App/LeftMenu/index.js +++ b/packages/core/admin/admin/src/content-manager/pages/App/LeftMenu/index.js @@ -22,19 +22,19 @@ import getTrad from '../../../utils/getTrad'; import { makeSelectModelLinks } from '../selectors'; const matchByTitle = (links, search) => - matchSorter(links, toLower(search), { keys: [item => toLower(item.title)] }); + matchSorter(links, toLower(search), { keys: [(item) => toLower(item.title)] }); const LeftMenu = () => { const [search, setSearch] = useState(''); const { formatMessage } = useIntl(); const modelLinksSelector = useMemo(makeSelectModelLinks, []); const { collectionTypeLinks, singleTypeLinks } = useSelector( - state => modelLinksSelector(state), + (state) => modelLinksSelector(state), shallowEqual ); - const toIntl = links => - links.map(link => { + const toIntl = (links) => + links.map((link) => { return { ...link, title: formatMessage({ id: link.title, defaultMessage: link.title }), @@ -52,7 +52,7 @@ const LeftMenu = () => { defaultMessage: 'Collection Types', }, searchable: true, - links: sortBy(matchByTitle(intlCollectionTypeLinks, search), object => + links: sortBy(matchByTitle(intlCollectionTypeLinks, search), (object) => object.title.toLowerCase() ), }, @@ -63,7 +63,7 @@ const LeftMenu = () => { defaultMessage: 'Single Types', }, searchable: true, - links: sortBy(matchByTitle(intlSingleTypeLinks, search), object => + links: sortBy(matchByTitle(intlSingleTypeLinks, search), (object) => object.title.toLowerCase() ), }, @@ -96,7 +96,7 @@ const LeftMenu = () => { })} /> - {menu.map(section => { + {menu.map((section) => { const label = formatMessage( { id: section.title.id, defaultMessage: section.title.defaultMessage }, section.title.values @@ -108,7 +108,7 @@ const LeftMenu = () => { label={label} badgeLabel={section.links.length.toString()} > - {section.links.map(link => { + {section.links.map((link) => { const search = link.search ? `?${link.search}` : ''; return ( diff --git a/packages/core/admin/admin/src/content-manager/pages/App/index.js b/packages/core/admin/admin/src/content-manager/pages/App/index.js index 0868edded1..9621b9d270 100644 --- a/packages/core/admin/admin/src/content-manager/pages/App/index.js +++ b/packages/core/admin/admin/src/content-manager/pages/App/index.js @@ -28,7 +28,7 @@ const cmPermissions = permissions.contentManager; const App = () => { const contentTypeMatch = useRouteMatch(`/content-manager/:kind/:uid`); const { status, collectionTypeLinks, singleTypeLinks, models, refetchData } = useModels(); - const authorisedModels = sortBy([...collectionTypeLinks, ...singleTypeLinks], model => + const authorisedModels = sortBy([...collectionTypeLinks, ...singleTypeLinks], (model) => model.title.toLowerCase() ); const { pathname } = useLocation(); @@ -114,7 +114,7 @@ const App = () => { export { App }; -export default () => { +export default function () { const { formatMessage } = useIntl(); return ( @@ -125,4 +125,4 @@ export default () => { ); -}; +} diff --git a/packages/core/admin/admin/src/content-manager/pages/App/reducer.js b/packages/core/admin/admin/src/content-manager/pages/App/reducer.js index 3551a3f0bb..f50aff92c3 100644 --- a/packages/core/admin/admin/src/content-manager/pages/App/reducer.js +++ b/packages/core/admin/admin/src/content-manager/pages/App/reducer.js @@ -15,7 +15,7 @@ const initialState = { }; const mainReducer = (state = initialState, action) => - produce(state, draftState => { + produce(state, (draftState) => { switch (action.type) { case GET_DATA: { draftState.status = 'loading'; diff --git a/packages/core/admin/admin/src/content-manager/pages/App/selectors.js b/packages/core/admin/admin/src/content-manager/pages/App/selectors.js index d05191c5eb..e5b433387e 100644 --- a/packages/core/admin/admin/src/content-manager/pages/App/selectors.js +++ b/packages/core/admin/admin/src/content-manager/pages/App/selectors.js @@ -1,19 +1,19 @@ import { createSelector } from 'reselect'; import { initialState } from './reducer'; -const selectAppDomain = () => state => { +const selectAppDomain = () => (state) => { return state['content-manager_app'] || initialState; }; const makeSelectApp = () => - createSelector(selectAppDomain(), substate => { + createSelector(selectAppDomain(), (substate) => { return substate; }); -const makeSelectModels = () => createSelector(selectAppDomain(), state => state.models); +const makeSelectModels = () => createSelector(selectAppDomain(), (state) => state.models); const makeSelectModelLinks = () => - createSelector(selectAppDomain(), state => ({ + createSelector(selectAppDomain(), (state) => ({ collectionTypeLinks: state.collectionTypeLinks, singleTypeLinks: state.singleTypeLinks, })); diff --git a/packages/core/admin/admin/src/content-manager/pages/App/tests/index.test.js b/packages/core/admin/admin/src/content-manager/pages/App/tests/index.test.js index fabcc8532e..218522a548 100644 --- a/packages/core/admin/admin/src/content-manager/pages/App/tests/index.test.js +++ b/packages/core/admin/admin/src/content-manager/pages/App/tests/index.test.js @@ -25,7 +25,13 @@ jest.mock('@fortawesome/react-fontawesome', () => ({ FontAwesomeIcon: () => null, })); -jest.mock('../../NoContentType', () => () =>
    NoContentType
    ); +jest.mock( + '../../NoContentType', + () => + function () { + return
    NoContentType
    ; + } +); jest.mock('@strapi/helper-plugin', () => ({ ...jest.requireActual('@strapi/helper-plugin'), diff --git a/packages/core/admin/admin/src/content-manager/pages/App/tests/reducer.test.js b/packages/core/admin/admin/src/content-manager/pages/App/tests/reducer.test.js index e8eac78778..7817b09107 100644 --- a/packages/core/admin/admin/src/content-manager/pages/App/tests/reducer.test.js +++ b/packages/core/admin/admin/src/content-manager/pages/App/tests/reducer.test.js @@ -22,7 +22,7 @@ describe('Content Manager | App | reducer', () => { it('should handle the getData action correctly', () => { state.status = 'resolved'; - const expected = produce(state, draft => { + const expected = produce(state, (draft) => { draft.status = 'loading'; }); @@ -50,7 +50,7 @@ describe('Content Manager | App | reducer', () => { isDisplayed: true, }, ]; - const expected = produce(state, draft => { + const expected = produce(state, (draft) => { draft.status = 'resolved'; draft.components = ['test']; draft.models = ['test']; diff --git a/packages/core/admin/admin/src/content-manager/pages/App/tests/selectors.test.js b/packages/core/admin/admin/src/content-manager/pages/App/tests/selectors.test.js index 2329e7c4d9..7c266f69d0 100644 --- a/packages/core/admin/admin/src/content-manager/pages/App/tests/selectors.test.js +++ b/packages/core/admin/admin/src/content-manager/pages/App/tests/selectors.test.js @@ -1,4 +1,4 @@ -import { fixtures } from '../../../../../../../../admin-test-utils'; +import { fixtures } from '@strapi/admin-test-utils/lib'; import { makeSelectModels } from '../selectors'; describe('Content Manager | App | selectors', () => { diff --git a/packages/core/admin/admin/src/content-manager/pages/App/useModels.js b/packages/core/admin/admin/src/content-manager/pages/App/useModels.js index 30ceea5a56..382114690a 100644 --- a/packages/core/admin/admin/src/content-manager/pages/App/useModels.js +++ b/packages/core/admin/admin/src/content-manager/pages/App/useModels.js @@ -35,7 +35,7 @@ const useModels = () => { data: { data: models }, }, ] = await Promise.all( - ['components', 'content-types'].map(endPoint => + ['components', 'content-types'].map((endPoint) => axiosInstance.get(getRequestUrl(endPoint), { cancelToken: source.token }) ) ); diff --git a/packages/core/admin/admin/src/content-manager/pages/App/utils/generateModelsLinks.js b/packages/core/admin/admin/src/content-manager/pages/App/utils/generateModelsLinks.js index b36dee0fa6..8030c25829 100644 --- a/packages/core/admin/admin/src/content-manager/pages/App/utils/generateModelsLinks.js +++ b/packages/core/admin/admin/src/content-manager/pages/App/utils/generateModelsLinks.js @@ -3,8 +3,8 @@ import { stringify } from 'qs'; const generateLinks = (links, type, configurations = []) => { return links - .filter(link => link.isDisplayed) - .map(link => { + .filter((link) => link.isDisplayed) + .map((link) => { const collectionTypesPermissions = [ { action: 'plugin::content-manager.explorer.create', subject: link.uid }, { action: 'plugin::content-manager.explorer.read', subject: link.uid }, diff --git a/packages/core/admin/admin/src/content-manager/pages/App/utils/tests/getContentTypeLinks.js b/packages/core/admin/admin/src/content-manager/pages/App/utils/tests/getContentTypeLinks.js index 65e993734d..37dae5842d 100644 --- a/packages/core/admin/admin/src/content-manager/pages/App/utils/tests/getContentTypeLinks.js +++ b/packages/core/admin/admin/src/content-manager/pages/App/utils/tests/getContentTypeLinks.js @@ -70,7 +70,7 @@ describe('checkPermissions', () => { }, ]; - request.mockImplementation(url => { + request.mockImplementation((url) => { if (url === '/content-manager/content-types') { return Promise.resolve({ data }); } diff --git a/packages/core/admin/admin/src/content-manager/pages/CollectionTypeRecursivePath/index.js b/packages/core/admin/admin/src/content-manager/pages/CollectionTypeRecursivePath/index.js index f5a8ae1654..0fbed8d7fb 100644 --- a/packages/core/admin/admin/src/content-manager/pages/CollectionTypeRecursivePath/index.js +++ b/packages/core/admin/admin/src/content-manager/pages/CollectionTypeRecursivePath/index.js @@ -81,7 +81,7 @@ const CollectionTypeRecursivePath = ({ { path: ':id', comp: EditViewLayoutManager }, { path: '', comp: ListViewLayout }, ].map(({ path, comp }) => ( - renderRoute(props, comp)} /> + renderRoute(props, comp)} /> )); return ( diff --git a/packages/core/admin/admin/src/content-manager/pages/ComponentSetttingsView/index.js b/packages/core/admin/admin/src/content-manager/pages/ComponentSetttingsView/index.js index dbba86ff3c..8480c5f2db 100644 --- a/packages/core/admin/admin/src/content-manager/pages/ComponentSetttingsView/index.js +++ b/packages/core/admin/admin/src/content-manager/pages/ComponentSetttingsView/index.js @@ -16,14 +16,14 @@ const cmPermissions = permissions.contentManager; const ComponentSettingsView = () => { const [{ isLoading, data: layout }, dispatch] = useReducer(crudReducer, crudInitialState); const schemasSelector = useMemo(makeSelectModelAndComponentSchemas, []); - const { schemas } = useSelector(state => schemasSelector(state), shallowEqual); + const { schemas } = useSelector((state) => schemasSelector(state), shallowEqual); const { uid } = useParams(); useEffect(() => { const CancelToken = axios.CancelToken; const source = CancelToken.source(); - const fetchData = async source => { + const fetchData = async (source) => { try { dispatch(getData()); diff --git a/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/components/ComponentFieldList.js b/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/components/ComponentFieldList.js index d7df4f7ccb..73ce036517 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/components/ComponentFieldList.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/components/ComponentFieldList.js @@ -22,7 +22,7 @@ const ComponentFieldList = ({ componentUid }) => { {componentLayout.map((row, index) => ( // eslint-disable-next-line react/no-array-index-key - {row.map(rowContent => ( + {row.map((rowContent) => ( ({ + collect: (monitor) => ({ canDrop: monitor.canDrop(), clientOffset: monitor.getClientOffset(), isOver: monitor.isOver(), @@ -225,7 +225,7 @@ const DisplayedFieldButton = ({ }); const [{ isDragging, getItem }, drag, dragPreview] = useDrag({ type: ItemTypes.EDIT_FIELD, - item: () => { + item() { setIsDraggingSibling(true); return { @@ -244,11 +244,11 @@ const DisplayedFieldButton = ({ // We will need to add a 12 size _TEMP_ div to offer a drop target between each existing row. return name !== '_TEMP_'; }, - collect: monitor => ({ + collect: (monitor) => ({ isDragging: monitor.isDragging(), getItem: monitor.getItem(), }), - end: () => { + end() { setIsDraggingSibling(false); }, }); @@ -344,7 +344,7 @@ const DisplayedFieldButton = ({ as="span" type="button" ref={refs.dragRef} - onClick={e => e.stopPropagation()} + onClick={(e) => e.stopPropagation()} alignItems="center" paddingLeft={3} paddingRight={3} diff --git a/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFields.js b/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFields.js index 4f6c8d43fc..97d8753bf5 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFields.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/components/DisplayedFields.js @@ -57,7 +57,7 @@ const DisplayedFields = ({ editLayout, editLayoutRemainingFields, onRemoveField, variant="secondary" disabled={editLayoutRemainingFields.length === 0} > - {editLayoutRemainingFields.map(field => ( + {editLayoutRemainingFields.map((field) => ( onAddField(field)}> {field} diff --git a/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/components/DynamicZoneList.js b/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/components/DynamicZoneList.js index e1e02251a7..901dd1e03a 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/components/DynamicZoneList.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/components/DynamicZoneList.js @@ -46,7 +46,7 @@ const DynamicZoneList = ({ components }) => { return ( - {components.map(componentUid => ( + {components.map((componentUid) => ( { + onChange={(e) => { onChange({ target: { name, value: e.target.checked } }); }} checked={value} @@ -37,10 +37,10 @@ const GenericInput = ({ type, options, onChange, value, name, ...inputProps }) = { + onChange={(value) => { onSizeChange({ name: selectedField, value }); }} label={formatMessage({ diff --git a/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/components/RelationalFieldButton.js b/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/components/RelationalFieldButton.js index 39a462ec91..eb8446f5f0 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/components/RelationalFieldButton.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/components/RelationalFieldButton.js @@ -56,10 +56,10 @@ const RelationalFieldButton = ({ const [{ isDragging }, drag, dragPreview] = useDrag({ type: ItemTypes.EDIT_RELATION, - item: () => { + item() { return { index, labelField: children, name }; }, - collect: monitor => ({ + collect: (monitor) => ({ isDragging: monitor.isDragging(), }), }); @@ -94,7 +94,7 @@ const RelationalFieldButton = ({ as="span" type="button" ref={dragButtonRef} - onClick={e => e.stopPropagation()} + onClick={(e) => e.stopPropagation()} alignItems="center" paddingLeft={3} paddingRight={3} diff --git a/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/components/RelationalFields.js b/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/components/RelationalFields.js index 524912d4d9..e2eb5fbc36 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/components/RelationalFields.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/components/RelationalFields.js @@ -77,7 +77,7 @@ const RelationalFields = ({ variant="secondary" disabled={editRelationsLayoutRemainingFields.length === 0} > - {editRelationsLayoutRemainingFields.map(remainingRelation => ( + {editRelationsLayoutRemainingFields.map((remainingRelation) => ( { + const entryTitleOptions = Object.keys(attributes).filter((attr) => { const type = get(attributes, [attr, 'type'], ''); return ( @@ -68,22 +68,22 @@ const EditSettingsView = ({ mainLayout, components, isContentTypeView, slug, upd const editLayout = get(modifiedData, ['layouts', 'edit'], []); const displayedFields = flatMap(editLayout, 'rowContent'); const editLayoutRemainingFields = Object.keys(modifiedData.attributes) - .filter(attr => { + .filter((attr) => { if (!isContentTypeView) { return true; } return get(modifiedData, ['attributes', attr, 'type'], '') !== 'relation'; }) - .filter(attr => get(modifiedData, ['metadatas', attr, 'edit', 'visible'], false) === true) - .filter(attr => { - return displayedFields.findIndex(el => el.name === attr) === -1; + .filter((attr) => get(modifiedData, ['metadatas', attr, 'edit', 'visible'], false) === true) + .filter((attr) => { + return displayedFields.findIndex((el) => el.name === attr) === -1; }) .sort(); const relationsLayout = get(modifiedData, ['layouts', 'editRelations'], []); const editRelationsLayoutRemainingFields = Object.keys(attributes) - .filter(attr => attributes[attr].type === 'relation') - .filter(attr => relationsLayout.indexOf(attr) === -1); + .filter((attr) => attributes[attr].type === 'relation') + .filter((attr) => relationsLayout.indexOf(attr) === -1); const handleChange = ({ target: { name, value } }) => { dispatch({ @@ -94,11 +94,11 @@ const EditSettingsView = ({ mainLayout, components, isContentTypeView, slug, upd }; const handleToggleModal = () => { - setIsModalFormOpen(prev => !prev); + setIsModalFormOpen((prev) => !prev); }; const toggleConfirmDialog = () => { - setIsConfirmDialogOpen(prev => !prev); + setIsConfirmDialogOpen((prev) => !prev); }; const handleMetaChange = ({ target: { name, value } }) => { @@ -117,7 +117,7 @@ const EditSettingsView = ({ mainLayout, components, isContentTypeView, slug, upd }); }; - const handleMetaSubmit = e => { + const handleMetaSubmit = (e) => { e.preventDefault(); dispatch({ type: 'SUBMIT_META_FORM', @@ -125,17 +125,17 @@ const EditSettingsView = ({ mainLayout, components, isContentTypeView, slug, upd handleToggleModal(); }; - const handleSubmit = e => { + const handleSubmit = (e) => { e.preventDefault(); toggleConfirmDialog(); }; const submitMutation = useMutation( - body => { + (body) => { return putCMSettingsEV(body, slug, isContentTypeView); }, { - onSuccess: ({ data }) => { + onSuccess({ data }) { if (updateLayout) { updateLayout(data.data); } @@ -145,7 +145,7 @@ const EditSettingsView = ({ mainLayout, components, isContentTypeView, slug, upd toggleConfirmDialog(); trackUsage('didEditEditSettings'); }, - onError: () => { + onError() { toggleNotification({ type: 'warning', message: { id: 'notification.error' } }); }, } @@ -215,7 +215,7 @@ const EditSettingsView = ({ mainLayout, components, isContentTypeView, slug, upd onMoveField={handleMoveField} moveRow={moveRow} moveItem={moveItem} - setEditFieldToSelect={name => { + setEditFieldToSelect={(name) => { dispatch({ type: 'SET_FIELD_TO_EDIT', name, @@ -242,7 +242,7 @@ const EditSettingsView = ({ mainLayout, components, isContentTypeView, slug, upd navigationAction={ } - onClick={e => { + onClick={(e) => { e.preventDefault(); goBack(); }} @@ -292,7 +292,7 @@ const EditSettingsView = ({ mainLayout, components, isContentTypeView, slug, upd id: getTrad('containers.SettingPage.editSettings.entry.title.description'), defaultMessage: 'Set the display field of your entry', })} - onChange={value => { + onChange={(value) => { handleChange({ target: { name: 'settings.mainField', @@ -302,7 +302,7 @@ const EditSettingsView = ({ mainLayout, components, isContentTypeView, slug, upd }} value={modifiedData.settings.mainField} > - {entryTitleOptions.map(attribute => ( + {entryTitleOptions.map((attribute) => ( @@ -325,7 +325,7 @@ const EditSettingsView = ({ mainLayout, components, isContentTypeView, slug, upd attributes={attributes} editLayout={editLayout} editLayoutRemainingFields={editLayoutRemainingFields} - onAddField={field => { + onAddField={(field) => { dispatch({ type: 'ON_ADD_FIELD', name: field, @@ -345,8 +345,8 @@ const EditSettingsView = ({ mainLayout, components, isContentTypeView, slug, upd dispatch({ type: 'ADD_RELATION', name })} - onRemoveField={index => dispatch({ type: 'REMOVE_RELATION', index })} + onAddField={(name) => dispatch({ type: 'ADD_RELATION', name })} + onRemoveField={(index) => dispatch({ type: 'REMOVE_RELATION', index })} /> )} diff --git a/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/reducer.js b/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/reducer.js index 0d582ab6ed..e505d2f87e 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/reducer.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/reducer.js @@ -17,7 +17,7 @@ const initialState = { const reducer = (state = initialState, action) => // eslint-disable-next-line consistent-return - produce(state, draftState => { + produce(state, (draftState) => { const layoutPathEdit = ['modifiedData', 'layouts', 'edit']; const layoutPathRelations = ['modifiedData', 'layouts', 'editRelations']; diff --git a/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/utils/createPossibleMainFieldsForModelsAndComponents.js b/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/utils/createPossibleMainFieldsForModelsAndComponents.js index 5676922a5b..06fd9dd28f 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/utils/createPossibleMainFieldsForModelsAndComponents.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/utils/createPossibleMainFieldsForModelsAndComponents.js @@ -1,9 +1,9 @@ import { get } from 'lodash'; -const createPossibleMainFieldsForModelsAndComponents = array => { +const createPossibleMainFieldsForModelsAndComponents = (array) => { return array.reduce((acc, current) => { const attributes = get(current, ['attributes'], {}); - const possibleMainFields = Object.keys(attributes).filter(attr => { + const possibleMainFields = Object.keys(attributes).filter((attr) => { return ![ 'boolean', 'component', diff --git a/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/utils/getInputProps.js b/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/utils/getInputProps.js index 5f089c124d..bd66239495 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/utils/getInputProps.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/utils/getInputProps.js @@ -1,6 +1,6 @@ import { getTrad } from '../../../utils'; -const getInputProps = fieldName => { +const getInputProps = (fieldName) => { let type; switch (fieldName) { diff --git a/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/utils/layout.js b/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/utils/layout.js index 9acb0d7049..2b655b6476 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/utils/layout.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/utils/layout.js @@ -1,7 +1,7 @@ /* eslint-disable indent */ -const getRowSize = arr => arr.reduce((sum, value) => sum + value.size, 0); +const getRowSize = (arr) => arr.reduce((sum, value) => sum + value.size, 0); -const createLayout = arr => { +const createLayout = (arr) => { return arr.reduce((acc, current, index) => { const row = { rowId: index, rowContent: current }; @@ -9,7 +9,7 @@ const createLayout = arr => { }, []); }; -const formatLayout = arr => { +const formatLayout = (arr) => { return arr .reduce((acc, current) => { let toPush = []; @@ -33,7 +33,7 @@ const formatLayout = arr => { ? 0 : Math.max.apply( Math, - acc.map(o => o.rowId) + acc.map((o) => o.rowId) ) + 1; const currentRowSize = getRowSize(currentRow); @@ -57,8 +57,8 @@ const formatLayout = arr => { return acc; }, []) - .filter(row => row.rowContent.length > 0) - .filter(row => { + .filter((row) => row.rowContent.length > 0) + .filter((row) => { if (row.rowContent.length === 1) { return row.rowContent[0].name !== '_TEMP_'; } @@ -67,15 +67,15 @@ const formatLayout = arr => { }); }; -const unformatLayout = arr => { +const unformatLayout = (arr) => { return arr.reduce((acc, current) => { - const currentRow = current.rowContent.filter(content => content.name !== '_TEMP_'); + const currentRow = current.rowContent.filter((content) => content.name !== '_TEMP_'); return acc.concat([currentRow]); }, []); }; -const getDefaultInputSize = type => { +const getDefaultInputSize = (type) => { switch (type) { case 'boolean': case 'date': @@ -97,7 +97,7 @@ const getDefaultInputSize = type => { const getFieldSize = (name, layouts = []) => { return layouts.reduce((acc, { rowContent }) => { - const size = rowContent.find(row => row.name === name)?.size ?? null; + const size = rowContent.find((row) => row.name === name)?.size ?? null; if (size) { acc = size; @@ -108,8 +108,8 @@ const getFieldSize = (name, layouts = []) => { }; const setFieldSize = (name, size, layouts = []) => { - return layouts.map(row => { - row.rowContent = row.rowContent.map(column => { + return layouts.map((row) => { + row.rowContent = row.rowContent.map((column) => { if (column.name === name) { return { ...column, diff --git a/packages/core/admin/admin/src/content-manager/pages/EditView/DeleteLink/index.js b/packages/core/admin/admin/src/content-manager/pages/EditView/DeleteLink/index.js index 85402afe75..73b0b985a2 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditView/DeleteLink/index.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditView/DeleteLink/index.js @@ -15,7 +15,7 @@ const DeleteLink = ({ isCreatingEntry, onDelete, onDeleteSucceeded, trackerPrope const { formatMessage } = useIntl(); const toggleNotification = useNotification(); - const toggleWarningDelete = () => setWarningDelete(prevState => !prevState); + const toggleWarningDelete = () => setWarningDelete((prevState) => !prevState); const handleConfirmDelete = async () => { try { diff --git a/packages/core/admin/admin/src/content-manager/pages/EditView/DeleteLink/utils/connect.js b/packages/core/admin/admin/src/content-manager/pages/EditView/DeleteLink/utils/connect.js index b7735feb99..e42d7e8a28 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditView/DeleteLink/utils/connect.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditView/DeleteLink/utils/connect.js @@ -1,7 +1,7 @@ import React from 'react'; function connect(WrappedComponent, select) { - return function(props) { + return function (props) { // eslint-disable-next-line react/prop-types const selectors = select(); diff --git a/packages/core/admin/admin/src/content-manager/pages/EditView/DraftAndPublishBadge/tests/index.test.js b/packages/core/admin/admin/src/content-manager/pages/EditView/DraftAndPublishBadge/tests/index.test.js index 478b36a4d6..b430e7c999 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditView/DraftAndPublishBadge/tests/index.test.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditView/DraftAndPublishBadge/tests/index.test.js @@ -12,7 +12,7 @@ import { ThemeProvider, lightTheme } from '@strapi/design-system'; import { IntlProvider } from 'react-intl'; import { DraftAndPublishBadge } from '../index'; -const makeApp = props => ( +const makeApp = (props) => ( diff --git a/packages/core/admin/admin/src/content-manager/pages/EditView/DraftAndPublishBadge/utils/connect.js b/packages/core/admin/admin/src/content-manager/pages/EditView/DraftAndPublishBadge/utils/connect.js index b7735feb99..e42d7e8a28 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditView/DraftAndPublishBadge/utils/connect.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditView/DraftAndPublishBadge/utils/connect.js @@ -1,7 +1,7 @@ import React from 'react'; function connect(WrappedComponent, select) { - return function(props) { + return function (props) { // eslint-disable-next-line react/prop-types const selectors = select(); diff --git a/packages/core/admin/admin/src/content-manager/pages/EditView/Header/index.js b/packages/core/admin/admin/src/content-manager/pages/EditView/Header/index.js index b3e5d9b96d..ca1c1f4974 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditView/Header/index.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditView/Header/index.js @@ -134,8 +134,8 @@ const Header = ({ ); } - const toggleWarningUnpublish = () => setWarningUnpublish(prevState => !prevState); - const toggleWarningDraftRelation = () => setShowWarningDraftRelation(prevState => !prevState); + const toggleWarningUnpublish = () => setWarningUnpublish((prevState) => !prevState); + const toggleWarningDraftRelation = () => setShowWarningDraftRelation((prevState) => !prevState); const handlePublish = () => { toggleWarningDraftRelation(); @@ -165,7 +165,7 @@ const Header = ({ // Needed in order to redirect the user with the correct search params // Since parts is using a link from react-router-dom the best way to do it is to disable the // event - onClick={e => { + onClick={(e) => { e.preventDefault(); goBack(); }} @@ -254,7 +254,7 @@ const Header = ({ }, { br: () =>
    , - b: chunks => {chunks}, + b: (chunks) => {chunks}, count: draftRelationsCountRef.current, } )} diff --git a/packages/core/admin/admin/src/content-manager/pages/EditView/Header/utils/connect.js b/packages/core/admin/admin/src/content-manager/pages/EditView/Header/utils/connect.js index b7735feb99..e42d7e8a28 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditView/Header/utils/connect.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditView/Header/utils/connect.js @@ -1,7 +1,7 @@ import React from 'react'; function connect(WrappedComponent, select) { - return function(props) { + return function (props) { // eslint-disable-next-line react/prop-types const selectors = select(); diff --git a/packages/core/admin/admin/src/content-manager/pages/EditView/Header/utils/getDraftRelations.js b/packages/core/admin/admin/src/content-manager/pages/EditView/Header/utils/getDraftRelations.js index 523266a145..e57b1f83de 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditView/Header/utils/getDraftRelations.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditView/Header/utils/getDraftRelations.js @@ -14,7 +14,7 @@ const getDraftRelations = (data, ctSchema, components) => { } if (type === 'dynamiczone') { - currentData.forEach(curr => { + currentData.forEach((curr) => { const compoSchema = get(components, curr.__component, {}); acc += getDraftRelationsCount(curr, compoSchema); @@ -27,7 +27,7 @@ const getDraftRelations = (data, ctSchema, components) => { const compoSchema = get(components, compoUID, {}); if (isRepeatable) { - currentData.forEach(curr => { + currentData.forEach((curr) => { acc += getDraftRelationsCount(curr, compoSchema); }); } else { @@ -43,7 +43,7 @@ const getDraftRelations = (data, ctSchema, components) => { acc += 1; } } else { - currentData.forEach(value => { + currentData.forEach((value) => { if (has(value, 'publishedAt') && isEmpty(value.publishedAt)) { acc += 1; } diff --git a/packages/core/admin/admin/src/content-manager/pages/EditView/Informations/utils/getUnits.js b/packages/core/admin/admin/src/content-manager/pages/EditView/Informations/utils/getUnits.js index 89ad6f06c7..b8f2bda420 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditView/Informations/utils/getUnits.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditView/Informations/utils/getUnits.js @@ -4,7 +4,7 @@ const msPerDay = msPerHour * 24; const msPerMonth = msPerDay * 30; const msPerYear = msPerDay * 365; -const getUnits = value => { +const getUnits = (value) => { if (value < msPerMinute) { return { unit: 'second', value: -Math.round(value / 1000) }; } diff --git a/packages/core/admin/admin/src/content-manager/pages/EditView/index.js b/packages/core/admin/admin/src/content-manager/pages/EditView/index.js index 0e6669cb00..8ff1f2851d 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditView/index.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditView/index.js @@ -44,13 +44,10 @@ const EditView = ({ }) => { const { trackUsage } = useTracking(); const { formatMessage } = useIntl(); - const { - createActionAllowedFields, - readActionAllowedFields, - updateActionAllowedFields, - } = useMemo(() => { - return getFieldsActionMatchingPermissions(userPermissions, slug); - }, [userPermissions, slug]); + const { createActionAllowedFields, readActionAllowedFields, updateActionAllowedFields } = + useMemo(() => { + return getFieldsActionMatchingPermissions(userPermissions, slug); + }, [userPermissions, slug]); const configurationPermissions = useMemo(() => { return isSingleType @@ -70,9 +67,9 @@ const EditView = ({ ); // Check if a block is a dynamic zone - const isDynamicZone = useCallback(block => { - return block.every(subBlock => { - return subBlock.every(obj => obj.fieldSchema.type === 'dynamiczone'); + const isDynamicZone = useCallback((block) => { + return block.every((subBlock) => { + return subBlock.every((obj) => obj.fieldSchema.type === 'dynamiczone'); }); }, []); diff --git a/packages/core/admin/admin/src/content-manager/pages/EditView/utils/createAttributesLayout.js b/packages/core/admin/admin/src/content-manager/pages/EditView/utils/createAttributesLayout.js index 4a870983cf..793d5b93bd 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditView/utils/createAttributesLayout.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditView/utils/createAttributesLayout.js @@ -4,7 +4,7 @@ import { get, isEmpty } from 'lodash'; /* eslint-disable no-unused-vars */ const createAttributesLayout = (currentLayout, attributes) => { - const getType = name => get(attributes, [name, 'type'], ''); + const getType = (name) => get(attributes, [name, 'type'], ''); let currentRowIndex = 0; const newLayout = []; @@ -29,7 +29,7 @@ const createAttributesLayout = (currentLayout, attributes) => { } } - return newLayout.filter(arr => arr.length > 0); + return newLayout.filter((arr) => arr.length > 0); }; export default createAttributesLayout; diff --git a/packages/core/admin/admin/src/content-manager/pages/EditView/utils/getFieldsActionMatchingPermissions.js b/packages/core/admin/admin/src/content-manager/pages/EditView/utils/getFieldsActionMatchingPermissions.js index 7a38071e65..a50ffa348a 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditView/utils/getFieldsActionMatchingPermissions.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditView/utils/getFieldsActionMatchingPermissions.js @@ -2,7 +2,7 @@ import { uniq, flatMap } from 'lodash'; import { findMatchingPermissions } from '@strapi/helper-plugin'; const getFieldsActionMatchingPermissions = (userPermissions, slug) => { - const getMatchingPermissions = action => { + const getMatchingPermissions = (action) => { const matched = findMatchingPermissions(userPermissions, [ { action: `plugin::content-manager.explorer.${action}`, diff --git a/packages/core/admin/admin/src/content-manager/pages/EditViewLayoutManager/Permissions.js b/packages/core/admin/admin/src/content-manager/pages/EditViewLayoutManager/Permissions.js index fb0b632721..8d4d4eb715 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditViewLayoutManager/Permissions.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditViewLayoutManager/Permissions.js @@ -5,7 +5,7 @@ import isEqual from 'react-fast-compare'; import EditView from '../EditView'; import { generatePermissionsObject } from '../../utils'; -const Permissions = props => { +const Permissions = (props) => { const viewPermissions = useMemo(() => generatePermissionsObject(props.slug), [props.slug]); const { isLoading, allowedActions } = useRBAC(viewPermissions, props.userPermissions); diff --git a/packages/core/admin/admin/src/content-manager/pages/EditViewLayoutManager/reducer.js b/packages/core/admin/admin/src/content-manager/pages/EditViewLayoutManager/reducer.js index 7b6427fc94..a33dc0c8e1 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditViewLayoutManager/reducer.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditViewLayoutManager/reducer.js @@ -12,7 +12,7 @@ export const initialState = { const editViewManagerReducer = (state = initialState, action) => // eslint-disable-next-line consistent-return - produce(state, drafState => { + produce(state, (drafState) => { switch (action.type) { case RESET_PROPS: { drafState.currentLayout = null; diff --git a/packages/core/admin/admin/src/content-manager/pages/EditViewLayoutManager/selectors.js b/packages/core/admin/admin/src/content-manager/pages/EditViewLayoutManager/selectors.js index 23ef166c45..df96465c24 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditViewLayoutManager/selectors.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditViewLayoutManager/selectors.js @@ -1,3 +1,3 @@ -const selectLayout = state => state['content-manager_editViewLayoutManager'].currentLayout; +const selectLayout = (state) => state['content-manager_editViewLayoutManager'].currentLayout; export default selectLayout; diff --git a/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/components/DraggableCard.js b/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/components/DraggableCard.js index 0391a1f012..b412db94bc 100644 --- a/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/components/DraggableCard.js +++ b/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/components/DraggableCard.js @@ -141,13 +141,13 @@ const DraggableCard = ({ const [{ isDragging }, drag, preview] = useDrag({ type: ItemTypes.FIELD, - item: () => { + item() { return { index, labelField, name }; }, - collect: monitor => ({ + collect: (monitor) => ({ isDragging: monitor.isDragging(), }), - end: () => { + end() { setIsDraggingSibling(false); }, }); @@ -167,7 +167,7 @@ const DraggableCard = ({ // anymore, this hack forces a rerender in order to apply the dragRef useEffect(() => { if (!isDraggingSibling) { - forceRerenderAfterDnd(prev => !prev); + forceRerenderAfterDnd((prev) => !prev); } }, [isDraggingSibling]); @@ -203,7 +203,7 @@ const DraggableCard = ({ }, { item: name } )} - onClick={e => e.stopPropagation()} + onClick={(e) => e.stopPropagation()} ref={refs.dragRef} type="button" > @@ -214,7 +214,7 @@ const DraggableCard = ({ { + onClick={(e) => { e.stopPropagation(); onClickEditField(name); }} diff --git a/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/components/EditFieldForm.js b/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/components/EditFieldForm.js index 7be70bd6f4..3c6dc2ce85 100644 --- a/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/components/EditFieldForm.js +++ b/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/components/EditFieldForm.js @@ -72,7 +72,7 @@ const EditFieldForm = ({ defaultMessage: 'Label', })} name="label" - onChange={e => onChangeEditLabel(e)} + onChange={(e) => onChangeEditLabel(e)} value={fieldForm.label} hint={formatMessage({ id: getTrad('form.Input.label.inputDescription'), @@ -90,8 +90,9 @@ const EditFieldForm = ({ defaultMessage: 'Enable sort on this field', })} name="sortable" - onChange={e => - onChangeEditLabel({ target: { name: 'sortable', value: e.target.checked } })} + onChange={(e) => + onChangeEditLabel({ target: { name: 'sortable', value: e.target.checked } }) + } onLabel={formatMessage({ id: 'app.components.ToggleCheckbox.on-label', defaultMessage: 'on', diff --git a/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/components/Settings.js b/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/components/Settings.js index 9f929d5eb4..f190f1ad1d 100644 --- a/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/components/Settings.js +++ b/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/components/Settings.js @@ -34,7 +34,7 @@ const Settings = ({ modifiedData, onChange, sortOptions }) => { id: getTrad('form.Input.search'), defaultMessage: 'Enable search', })} - onChange={e => { + onChange={(e) => { onChange({ target: { name: 'settings.searchable', value: e.target.checked } }); }} onLabel={formatMessage({ @@ -53,7 +53,7 @@ const Settings = ({ modifiedData, onChange, sortOptions }) => { id: getTrad('form.Input.filters'), defaultMessage: 'Enable filters', })} - onChange={e => { + onChange={(e) => { onChange({ target: { name: 'settings.filterable', value: e.target.checked } }); }} onLabel={formatMessage({ @@ -72,7 +72,7 @@ const Settings = ({ modifiedData, onChange, sortOptions }) => { id: getTrad('form.Input.bulkActions'), defaultMessage: 'Enable bulk actions', })} - onChange={e => { + onChange={(e) => { onChange({ target: { name: 'settings.bulkable', value: e.target.checked } }); }} onLabel={formatMessage({ @@ -99,11 +99,11 @@ const Settings = ({ modifiedData, onChange, sortOptions }) => { defaultMessage: 'Note: You can override this value in the Collection Type settings page.', })} - onChange={value => onChange({ target: { name: 'settings.pageSize', value } })} + onChange={(value) => onChange({ target: { name: 'settings.pageSize', value } })} name="settings.pageSize" value={modifiedData.settings.pageSize || ''} > - {[10, 20, 50, 100].map(pageSize => ( + {[10, 20, 50, 100].map((pageSize) => ( @@ -116,11 +116,11 @@ const Settings = ({ modifiedData, onChange, sortOptions }) => { id: getTrad('form.Input.defaultSort'), defaultMessage: 'Default sort attribute', })} - onChange={value => onChange({ target: { name: 'settings.defaultSortBy', value } })} + onChange={(value) => onChange({ target: { name: 'settings.defaultSortBy', value } })} name="settings.defaultSortBy" value={modifiedData.settings.defaultSortBy || ''} > - {sortOptions.map(sortBy => ( + {sortOptions.map((sortBy) => ( @@ -133,11 +133,11 @@ const Settings = ({ modifiedData, onChange, sortOptions }) => { id: getTrad('form.Input.sort.order'), defaultMessage: 'Default sort order', })} - onChange={value => onChange({ target: { name: 'settings.defaultSortOrder', value } })} + onChange={(value) => onChange({ target: { name: 'settings.defaultSortOrder', value } })} name="settings.defaultSortOrder" value={modifiedData.settings.defaultSortOrder || ''} > - {['ASC', 'DESC'].map(order => ( + {['ASC', 'DESC'].map((order) => ( diff --git a/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/components/SortDisplayedFields.js b/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/components/SortDisplayedFields.js index e90eac7cce..64b35d75b6 100644 --- a/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/components/SortDisplayedFields.js +++ b/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/components/SortDisplayedFields.js @@ -83,7 +83,7 @@ const SortDisplayedFields = ({ isDraggingSibling={isDraggingSibling} onMoveField={onMoveField} onClickEditField={onClickEditField} - onRemoveField={e => handleRemoveField(e, index)} + onRemoveField={(e) => handleRemoveField(e, index)} name={field} labelField={metadatas[field].list.label || field} setIsDraggingSibling={setIsDraggingSibling} @@ -102,7 +102,7 @@ const SortDisplayedFields = ({ disabled={listRemainingFields.length <= 0} data-testid="add-field" > - {listRemainingFields.map(field => ( + {listRemainingFields.map((field) => ( handleAddField(field)}> {field} diff --git a/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/index.js b/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/index.js index 2a3099860b..eb05ba73ab 100644 --- a/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/index.js +++ b/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/index.js @@ -34,9 +34,9 @@ const ListSettingsView = ({ layout, slug }) => { const { refetchData } = useContext(ModelsContext); const [showWarningSubmit, setWarningSubmit] = useState(false); - const toggleWarningSubmit = () => setWarningSubmit(prevState => !prevState); + const toggleWarningSubmit = () => setWarningSubmit((prevState) => !prevState); const [isModalFormOpen, setIsModalFormOpen] = useState(false); - const toggleModalForm = () => setIsModalFormOpen(prevState => !prevState); + const toggleModalForm = () => setIsModalFormOpen((prevState) => !prevState); const [reducerState, dispatch] = useReducer(reducer, initialState, () => init(initialState, layout) ); @@ -76,7 +76,7 @@ const ListSettingsView = ({ layout, slug }) => { submitMutation.mutate(body); }; - const handleAddField = item => { + const handleAddField = (item) => { dispatch({ type: 'ADD_FIELD', item, @@ -99,13 +99,13 @@ const ListSettingsView = ({ layout, slug }) => { } }; - const handleSubmit = e => { + const handleSubmit = (e) => { e.preventDefault(); toggleWarningSubmit(); trackUsage('willSaveContentTypeLayout'); }; - const handleClickEditField = fieldToEdit => { + const handleClickEditField = (fieldToEdit) => { dispatch({ type: 'SET_FIELD_TO_EDIT', fieldToEdit, @@ -120,7 +120,7 @@ const ListSettingsView = ({ layout, slug }) => { toggleModalForm(); }; - const handleSubmitFieldEdit = e => { + const handleSubmitFieldEdit = (e) => { e.preventDefault(); toggleModalForm(); dispatch({ @@ -128,12 +128,12 @@ const ListSettingsView = ({ layout, slug }) => { }); }; - const submitMutation = useMutation(body => putCMSettingsLV(body, slug), { - onSuccess: () => { + const submitMutation = useMutation((body) => putCMSettingsLV(body, slug), { + onSuccess() { trackUsage('didEditListSettings'); refetchData(); }, - onError: () => { + onError() { toggleNotification({ type: 'warning', message: { id: 'notification.error' }, diff --git a/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/reducer.js b/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/reducer.js index 4fd33f238d..cb9d38ef12 100644 --- a/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/reducer.js +++ b/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/reducer.js @@ -12,7 +12,7 @@ const initialState = { const reducer = (state = initialState, action) => // eslint-disable-next-line consistent-return - produce(state, draftState => { + produce(state, (draftState) => { const layoutFieldListPath = ['modifiedData', 'layouts', 'list']; switch (action.type) { case 'ADD_FIELD': { diff --git a/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/tests/index.test.js b/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/tests/index.test.js index d35a58d180..916caa4d58 100644 --- a/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/tests/index.test.js +++ b/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/tests/index.test.js @@ -92,7 +92,7 @@ const layout = { uid: 'api::restaurant.restaurant', }; -const makeApp = history => ( +const makeApp = (history) => ( diff --git a/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/utils/ellipsisCardTitle.js b/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/utils/ellipsisCardTitle.js index 512d1579fd..66bd666cf9 100644 --- a/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/utils/ellipsisCardTitle.js +++ b/packages/core/admin/admin/src/content-manager/pages/ListSettingsView/utils/ellipsisCardTitle.js @@ -1,4 +1,4 @@ -const ellipsisCardTitle = title => { +const ellipsisCardTitle = (title) => { const formatedTitle = title.length > 20 ? `${title.substring(0, 20)}...` : title; return formatedTitle; diff --git a/packages/core/admin/admin/src/content-manager/pages/ListView/FieldPicker/index.js b/packages/core/admin/admin/src/content-manager/pages/ListView/FieldPicker/index.js index 414d50238c..d653b932f8 100644 --- a/packages/core/admin/admin/src/content-manager/pages/ListView/FieldPicker/index.js +++ b/packages/core/admin/admin/src/content-manager/pages/ListView/FieldPicker/index.js @@ -16,7 +16,7 @@ const FieldPicker = ({ layout }) => { const { trackUsage } = useTracking(); const { formatMessage } = useIntl(); - const allAllowedHeaders = getAllAllowedHeaders(layout.contentType.attributes).map(attrName => { + const allAllowedHeaders = getAllAllowedHeaders(layout.contentType.attributes).map((attrName) => { const metadatas = layout.contentType.metadatas[attrName].list; return { @@ -26,18 +26,18 @@ const FieldPicker = ({ layout }) => { }); const values = displayedHeaders.map(({ name }) => name); - const handleChange = updatedValues => { + const handleChange = (updatedValues) => { trackUsage('didChangeDisplayedFields'); // removing a header if (updatedValues.length < values.length) { - const removedHeader = values.filter(value => { + const removedHeader = values.filter((value) => { return updatedValues.indexOf(value) === -1; }); dispatch(onChangeListHeaders({ name: removedHeader[0], value: true })); } else { - const addedHeader = updatedValues.filter(value => { + const addedHeader = updatedValues.filter((value) => { return values.indexOf(value) === -1; }); @@ -51,18 +51,19 @@ const FieldPicker = ({ layout }) => { aria-label="change displayed fields" value={values} onChange={handleChange} - customizeContent={values => + customizeContent={(values) => formatMessage( { id: getTrad('select.currently.selected'), defaultMessage: '{count} currently selected', }, { count: values.length } - )} + ) + } multi size="S" > - {allAllowedHeaders.map(header => { + {allAllowedHeaders.map((header) => { return (