From 8b75a40fb35c5c77e03a31928ce183e6171e4927 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 28 Apr 2021 09:00:38 +0200 Subject: [PATCH 001/151] Bump ioredis from 4.26.0 to 4.27.1 (#10165) Bumps [ioredis](https://github.com/luin/ioredis) from 4.26.0 to 4.27.1. - [Release notes](https://github.com/luin/ioredis/releases) - [Changelog](https://github.com/luin/ioredis/blob/master/Changelog.md) - [Commits](https://github.com/luin/ioredis/compare/v4.26.0...v4.27.1) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- packages/strapi-hook-redis/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/strapi-hook-redis/package.json b/packages/strapi-hook-redis/package.json index afcd9cb0c6..05c7fd314a 100644 --- a/packages/strapi-hook-redis/package.json +++ b/packages/strapi-hook-redis/package.json @@ -15,7 +15,7 @@ }, "main": "./lib", "dependencies": { - "ioredis": "^4.19.4", + "ioredis": "^4.27.1", "lodash": "4.17.21", "rimraf": "3.0.2", "stack-trace": "0.0.10", diff --git a/yarn.lock b/yarn.lock index 0c4407cb8e..5754d6bd84 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10593,10 +10593,10 @@ invariant@^2.2.1, invariant@^2.2.4: dependencies: loose-envify "^1.0.0" -ioredis@^4.19.4: - version "4.26.0" - resolved "https://registry.yarnpkg.com/ioredis/-/ioredis-4.26.0.tgz#dbbfb5e5da085fc2b1de8174db50fa42f9fed66a" - integrity sha512-nh39okWezWWZ35/RxXXzHksMFt4WCaev8SNO2kozRDeVdEAJj16EarqPP3JeHz8IEjEXN5CiVtbWMk62Z0eveQ== +ioredis@^4.27.1: + version "4.27.1" + resolved "https://registry.yarnpkg.com/ioredis/-/ioredis-4.27.1.tgz#4ef947b455a1b995baa4b0d7e2c4e4f75f746421" + integrity sha512-PaFNFeBbOcEYHXAdrJuy7uesJcyvzStTM1aYMchTuky+VgKqDbXhnTJHaDsjAwcTwPx8Asatx+l2DW8zZ2xlsQ== dependencies: cluster-key-slot "^1.1.0" debug "^4.3.1" From dfe8edb9c2f7957e2be09ea16b62611439eeba68 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 28 Apr 2021 10:33:28 +0200 Subject: [PATCH 002/151] Bump @testing-library/jest-dom from 5.11.10 to 5.12.0 (#10166) Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 5.11.10 to 5.12.0. - [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.11.10...v5.12.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index aefd83e91f..006670f5fa 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "devDependencies": { "@babel/plugin-transform-modules-commonjs": "^7.12.1", "@swc-node/jest": "^1.1.0", - "@testing-library/jest-dom": "^5.11.10", + "@testing-library/jest-dom": "^5.12.0", "@testing-library/react": "^11.2.6", "@testing-library/react-hooks": "^3.4.2", "axios-mock-adapter": "^1.19.0", diff --git a/yarn.lock b/yarn.lock index 5754d6bd84..d1a575cd55 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3185,10 +3185,10 @@ lz-string "^1.4.4" pretty-format "^26.6.2" -"@testing-library/jest-dom@^5.11.10": - version "5.11.10" - resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.11.10.tgz#1cd90715023e1627f5ed26ab3b38e6f22d77046c" - integrity sha512-FuKiq5xuk44Fqm0000Z9w0hjOdwZRNzgx7xGGxQYepWFZy+OYUMOT/wPI4nLYXCaVltNVpU1W/qmD88wLWDsqQ== +"@testing-library/jest-dom@^5.12.0": + version "5.12.0" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.12.0.tgz#6a5d340b092c44b7bce17a4791b47d9bc2c61443" + integrity sha512-N9Y82b2Z3j6wzIoAqajlKVF1Zt7sOH0pPee0sUHXHc5cv2Fdn23r+vpWm0MBBoGJtPOly5+Bdx1lnc3CD+A+ow== dependencies: "@babel/runtime" "^7.9.2" "@types/testing-library__jest-dom" "^5.9.1" From 1e0a849932cc7abe71b83be41a4296834493c128 Mon Sep 17 00:00:00 2001 From: Mark Kaylor Date: Wed, 28 Apr 2021 13:46:57 +0200 Subject: [PATCH 003/151] confirm superAdminRole exists when syncing permissions --- packages/strapi-plugin-i18n/services/permissions/actions.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/strapi-plugin-i18n/services/permissions/actions.js b/packages/strapi-plugin-i18n/services/permissions/actions.js index bf6671afcd..15b1b1ae84 100644 --- a/packages/strapi-plugin-i18n/services/permissions/actions.js +++ b/packages/strapi-plugin-i18n/services/permissions/actions.js @@ -77,6 +77,11 @@ const syncSuperAdminPermissionsWithLocales = async () => { const permissionService = strapi.admin.services.permission; const superAdminRole = await roleService.getSuperAdmin(); + + if (!superAdminRole) { + return; + } + const superAdminPermissions = await permissionService.findUserPermissions({ roles: [superAdminRole], }); From 3b499e34d2ecdeb360cbc0cb393032eb6d928f34 Mon Sep 17 00:00:00 2001 From: Guilherme Pacheco Date: Thu, 29 Apr 2021 04:52:48 -0300 Subject: [PATCH 004/151] Fix #10172 (#10173) --- packages/strapi/lib/core-api/service/collection-type.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/strapi/lib/core-api/service/collection-type.js b/packages/strapi/lib/core-api/service/collection-type.js index 8d9ef71694..b722a4e993 100644 --- a/packages/strapi/lib/core-api/service/collection-type.js +++ b/packages/strapi/lib/core-api/service/collection-type.js @@ -102,7 +102,7 @@ const createCollectionTypeService = ({ model, strapi, utils }) => { */ search(params) { - return strapi.entityService.search({ params }, { model: modelName }); + return strapi.entityService.search({ params: getFetchParams(params) }, { model: modelName }); }, /** From 6970cabce64826fb49ed06c7856a97d9d0596673 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 29 Apr 2021 22:12:23 +1100 Subject: [PATCH 005/151] Bump react-query from 3.8.3 to 3.13.12 (#10154) Bumps [react-query](https://github.com/tannerlinsley/react-query) from 3.8.3 to 3.13.12. - [Release notes](https://github.com/tannerlinsley/react-query/releases) - [Commits](https://github.com/tannerlinsley/react-query/compare/v3.8.3...v3.13.12) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- packages/strapi-admin/package.json | 2 +- yarn.lock | 54 +++++++++++++++++++++++++++--- 2 files changed, 50 insertions(+), 6 deletions(-) diff --git a/packages/strapi-admin/package.json b/packages/strapi-admin/package.json index d650ac26bc..ae674a0ef6 100644 --- a/packages/strapi-admin/package.json +++ b/packages/strapi-admin/package.json @@ -85,7 +85,7 @@ "react-intl": "4.5.0", "react-is": "^16.12.0", "react-loadable": "^5.5.0", - "react-query": "3.8.3", + "react-query": "3.13.12", "react-redux": "7.2.3", "react-router": "^5.2.0", "react-router-dom": "^5.0.0", diff --git a/yarn.lock b/yarn.lock index d1a575cd55..8268064a88 100644 --- a/yarn.lock +++ b/yarn.lock @@ -970,7 +970,7 @@ core-js-pure "^3.0.0" regenerator-runtime "^0.13.4" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.5", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.17", "@babel/runtime@^7.2.0", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.5", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.17", "@babel/runtime@^7.2.0", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": version "7.13.17" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.13.17.tgz#8966d1fc9593bf848602f0662d6b4d0069e3a7ec" integrity sha512-NCdgJEelPTSh+FEFylhnP1ylq848l1z9t9N0j1Lfbcw0+KXGjsTvUmkxy+voLLXB5SOKMbLLx4jxYliGrYQseA== @@ -5020,6 +5020,11 @@ before-after-hook@^2.0.0: resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.1.tgz#73540563558687586b52ed217dad6a802ab1549c" integrity sha512-/6FKxSTWoJdbsLDF8tdIjaRiFXiE6UHsEHE3OPI/cwPURCVi1ukP0gmLn7XWEiFk5TcwQjjY5PWsU+j+tgXgmw== +big-integer@^1.6.16: + version "1.6.48" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.48.tgz#8fd88bd1632cba4a1c8c3e3d7159f08bb95b4b9e" + integrity sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w== + big.js@^3.1.3: version "3.2.0" resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" @@ -5216,6 +5221,19 @@ brcast@^2.0.2: resolved "https://registry.yarnpkg.com/brcast/-/brcast-2.0.2.tgz#2db16de44140e418dc37fab10beec0369e78dcef" integrity sha512-Tfn5JSE7hrUlFcOoaLzVvkbgIemIorMIyoMr3TgvszWW7jFt2C9PdeMLtysYD9RU0MmU17b69+XJG1eRY2OBRg== +broadcast-channel@^3.4.1: + version "3.5.3" + resolved "https://registry.yarnpkg.com/broadcast-channel/-/broadcast-channel-3.5.3.tgz#c75c39d923ae8af6284a893bfdc8bd3996d2dd2d" + integrity sha512-OLOXfwReZa2AAAh9yOUyiALB3YxBe0QpThwwuyRHLgpl8bSznSDmV6Mz7LeBJg1VZsMcDcNMy7B53w12qHrIhQ== + dependencies: + "@babel/runtime" "^7.7.2" + detect-node "^2.0.4" + js-sha3 "0.8.0" + microseconds "0.2.0" + nano-time "1.0.0" + rimraf "3.0.2" + unload "2.2.0" + brorand@^1.0.1, brorand@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" @@ -11708,6 +11726,11 @@ js-cookie@2.2.1: resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8" integrity sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ== +js-sha3@0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" + integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== + "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -13409,6 +13432,11 @@ micromatch@^4.0.2: braces "^3.0.1" picomatch "^2.2.3" +microseconds@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/microseconds/-/microseconds-0.2.0.tgz#233b25f50c62a65d861f978a4a4f8ec18797dc39" + integrity sha512-n7DHHMjR1avBbSpsTBj6fmMGh2AGrifVV4e+WYc3Q9lO+xnSZ3NyhcBND3vzzatt05LFhoKFRxrIyklmLlUtyA== + miller-rabin@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" @@ -13868,6 +13896,13 @@ nan@^2.12.1: resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== +nano-time@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/nano-time/-/nano-time-1.0.0.tgz#b0554f69ad89e22d0907f7a12b0993a5d96137ef" + integrity sha1-sFVPaa2J4i0JB/ehKwmTpdlhN+8= + dependencies: + big-integer "^1.6.16" + nanoid@^3.1.22: version "3.1.22" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.22.tgz#b35f8fb7d151990a8aebd5aa5015c03cf726f844" @@ -16497,12 +16532,13 @@ react-portal@^4.2.0: dependencies: prop-types "^15.5.8" -react-query@3.8.3: - version "3.8.3" - resolved "https://registry.yarnpkg.com/react-query/-/react-query-3.8.3.tgz#1310e710537c24483e4d167c4e84861771345281" - integrity sha512-hLnTC/pZLrc6KxmGJ3O0w1qATjRIOpEFTG4RbHIWcN/xXsfogsINzSppFSknBAJjxBxylobDkyi8Z5c90BeI8Q== +react-query@3.13.12: + version "3.13.12" + resolved "https://registry.yarnpkg.com/react-query/-/react-query-3.13.12.tgz#d8e432099445fed5b03406838291d42286236263" + integrity sha512-RZYvepBdDG4Xgz64vUHjIkUqXX6giw3xJsgdRjWx+vLkOB1vbIQE8F82CNlVbYW3JjZobl4YzmOuLx0wMhLX4Q== dependencies: "@babel/runtime" "^7.5.5" + broadcast-channel "^3.4.1" match-sorter "^6.0.2" react-redux@7.2.3: @@ -20140,6 +20176,14 @@ universalify@^2.0.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== +unload@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/unload/-/unload-2.2.0.tgz#ccc88fdcad345faa06a92039ec0f80b488880ef7" + integrity sha512-B60uB5TNBLtN6/LsgAf3udH9saB5p7gqJwcFfbOEZ8BcBHnGwCf6G/TGiEqkRAxX7zAFIUtzdrXQSdL3Q/wqNA== + dependencies: + "@babel/runtime" "^7.6.2" + detect-node "^2.0.4" + unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" From 94d8dd0dbd3f6e3457d81988cac454a4cf68367d Mon Sep 17 00:00:00 2001 From: Guillaume Douceron Date: Thu, 29 Apr 2021 13:12:37 +0200 Subject: [PATCH 006/151] Update french translation to i18n plugin (#10152) Fixed a typo and harmonized according to the other plugins. --- .../strapi-plugin-i18n/admin/src/translations/fr.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/strapi-plugin-i18n/admin/src/translations/fr.json b/packages/strapi-plugin-i18n/admin/src/translations/fr.json index 26b8a03248..22b02dcaf4 100644 --- a/packages/strapi-plugin-i18n/admin/src/translations/fr.json +++ b/packages/strapi-plugin-i18n/admin/src/translations/fr.json @@ -1,9 +1,9 @@ { "plugin.name": "Internationalisation", - "plugin.description.long": "Ce plugin permet de créer, lire et modifier votre contenu en différentes langues, et ce, depuis le Panel d'Administraion et l'API.", - "plugin.description.short": "Ce plugin permet de créer, lire et modifier votre contenu en différentes langues, et ce, depuis le Panel d'Administraion et l'API.", + "plugin.description.long": "Créez, lisez et modifiez votre contenu en différentes langues depuis le panel d'administration et votre API.", + "plugin.description.short": "Créez, lisez et modifiez votre contenu en différentes langues depuis le panel d'administration et votre API.", "Settings.list.description": "Configurer les paramètres du plugin d'internationalisation", - "Settings.locales.list.title.singular": "{number} Locale", - "Settings.locales.list.title.plural": "{number} Locales", + "Settings.locales.list.title.singular": "{number} locale", + "Settings.locales.list.title.plural": "{number} locales", "Settings.locales.row.default-locale": "Locale par défaut" } From 2fd29041f87d709f38517780743d2fac5e78485b Mon Sep 17 00:00:00 2001 From: Alexandre Bodin Date: Thu, 29 Apr 2021 14:34:38 +0200 Subject: [PATCH 007/151] v3.6.1 --- examples/getstarted/package.json | 36 +++++++++---------- lerna.json | 2 +- packages/create-strapi-app/package.json | 4 +-- packages/create-strapi-starter/package.json | 4 +-- packages/strapi-admin/package.json | 6 ++-- .../strapi-connector-bookshelf/package.json | 4 +-- .../strapi-connector-mongoose/package.json | 4 +-- packages/strapi-database/package.json | 4 +-- packages/strapi-generate-api/package.json | 4 +-- .../strapi-generate-controller/package.json | 4 +-- packages/strapi-generate-model/package.json | 4 +-- packages/strapi-generate-new/package.json | 2 +- packages/strapi-generate-plugin/package.json | 4 +-- packages/strapi-generate-policy/package.json | 4 +-- packages/strapi-generate-service/package.json | 4 +-- packages/strapi-generate/package.json | 4 +-- packages/strapi-helper-plugin/package.json | 2 +- packages/strapi-hook-ejs/package.json | 2 +- packages/strapi-hook-redis/package.json | 4 +-- packages/strapi-middleware-views/package.json | 2 +- .../package.json | 6 ++-- .../package.json | 10 +++--- .../strapi-plugin-documentation/package.json | 4 +-- packages/strapi-plugin-email/package.json | 8 ++--- packages/strapi-plugin-graphql/package.json | 4 +-- packages/strapi-plugin-i18n/package.json | 4 +-- packages/strapi-plugin-sentry/package.json | 2 +- packages/strapi-plugin-upload/package.json | 8 ++--- .../package.json | 6 ++-- .../package.json | 4 +-- .../package.json | 4 +-- .../package.json | 2 +- .../package.json | 4 +-- .../package.json | 4 +-- .../package.json | 2 +- .../package.json | 2 +- .../strapi-provider-upload-local/package.json | 2 +- .../package.json | 2 +- packages/strapi-utils/package.json | 2 +- packages/strapi/package.json | 22 ++++++------ 40 files changed, 103 insertions(+), 103 deletions(-) diff --git a/examples/getstarted/package.json b/examples/getstarted/package.json index 4d8f3a54d9..8d314d0252 100644 --- a/examples/getstarted/package.json +++ b/examples/getstarted/package.json @@ -1,7 +1,7 @@ { "name": "getstarted", "private": true, - "version": "3.6.0", + "version": "3.6.1", "description": "A Strapi application.", "scripts": { "develop": "strapi develop", @@ -17,23 +17,23 @@ "mysql": "2.18.1", "pg": "8.6.0", "sqlite3": "5.0.0", - "strapi": "3.6.0", - "strapi-admin": "3.6.0", - "strapi-connector-bookshelf": "3.6.0", - "strapi-connector-mongoose": "3.6.0", - "strapi-middleware-views": "3.6.0", - "strapi-plugin-content-manager": "3.6.0", - "strapi-plugin-content-type-builder": "3.6.0", - "strapi-plugin-documentation": "3.6.0", - "strapi-plugin-email": "3.6.0", - "strapi-plugin-graphql": "3.6.0", - "strapi-plugin-i18n": "3.6.0", - "strapi-plugin-upload": "3.6.0", - "strapi-plugin-users-permissions": "3.6.0", - "strapi-provider-email-mailgun": "3.6.0", - "strapi-provider-upload-aws-s3": "3.6.0", - "strapi-provider-upload-cloudinary": "3.6.0", - "strapi-utils": "3.6.0" + "strapi": "3.6.1", + "strapi-admin": "3.6.1", + "strapi-connector-bookshelf": "3.6.1", + "strapi-connector-mongoose": "3.6.1", + "strapi-middleware-views": "3.6.1", + "strapi-plugin-content-manager": "3.6.1", + "strapi-plugin-content-type-builder": "3.6.1", + "strapi-plugin-documentation": "3.6.1", + "strapi-plugin-email": "3.6.1", + "strapi-plugin-graphql": "3.6.1", + "strapi-plugin-i18n": "3.6.1", + "strapi-plugin-upload": "3.6.1", + "strapi-plugin-users-permissions": "3.6.1", + "strapi-provider-email-mailgun": "3.6.1", + "strapi-provider-upload-aws-s3": "3.6.1", + "strapi-provider-upload-cloudinary": "3.6.1", + "strapi-utils": "3.6.1" }, "strapi": { "uuid": "getstarted" diff --git a/lerna.json b/lerna.json index f8d9f7eee6..fea31345fa 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "3.6.0", + "version": "3.6.1", "packages": [ "packages/*", "examples/*" diff --git a/packages/create-strapi-app/package.json b/packages/create-strapi-app/package.json index 85e12c9a3e..6dc2017d92 100644 --- a/packages/create-strapi-app/package.json +++ b/packages/create-strapi-app/package.json @@ -1,6 +1,6 @@ { "name": "create-strapi-app", - "version": "3.6.0", + "version": "3.6.1", "description": "Generate a new Strapi application.", "license": "SEE LICENSE IN LICENSE", "homepage": "https://strapi.io", @@ -21,7 +21,7 @@ ], "dependencies": { "commander": "6.1.0", - "strapi-generate-new": "3.6.0" + "strapi-generate-new": "3.6.1" }, "scripts": { "test": "echo \"no tests yet\"" diff --git a/packages/create-strapi-starter/package.json b/packages/create-strapi-starter/package.json index bfbd182637..a01ffe7668 100644 --- a/packages/create-strapi-starter/package.json +++ b/packages/create-strapi-starter/package.json @@ -1,6 +1,6 @@ { "name": "create-strapi-starter", - "version": "3.6.0", + "version": "3.6.1", "description": "Generate a new Strapi application.", "license": "SEE LICENSE IN LICENSE", "homepage": "https://strapi.io", @@ -24,7 +24,7 @@ "git-url-parse": "11.4.4", "node-fetch": "2.6.1", "ora": "5.3.0", - "strapi-generate-new": "3.6.0", + "strapi-generate-new": "3.6.1", "tar": "6.1.0" }, "scripts": { diff --git a/packages/strapi-admin/package.json b/packages/strapi-admin/package.json index ae674a0ef6..5c85f0b6b9 100644 --- a/packages/strapi-admin/package.json +++ b/packages/strapi-admin/package.json @@ -1,6 +1,6 @@ { "name": "strapi-admin", - "version": "3.6.0", + "version": "3.6.1", "description": "Strapi Admin", "repository": { "type": "git", @@ -101,8 +101,8 @@ "sanitize.css": "^4.1.0", "semver": "7.3.5", "sift": "13.5.0", - "strapi-helper-plugin": "3.6.0", - "strapi-utils": "3.6.0", + "strapi-helper-plugin": "3.6.1", + "strapi-utils": "3.6.1", "style-loader": "^0.23.1", "styled-components": "^5.2.3", "terser-webpack-plugin": "^1.2.3", diff --git a/packages/strapi-connector-bookshelf/package.json b/packages/strapi-connector-bookshelf/package.json index 69a03dbf6d..040d5c47cf 100644 --- a/packages/strapi-connector-bookshelf/package.json +++ b/packages/strapi-connector-bookshelf/package.json @@ -1,6 +1,6 @@ { "name": "strapi-connector-bookshelf", - "version": "3.6.0", + "version": "3.6.1", "description": "Bookshelf hook for the Strapi framework", "homepage": "https://strapi.io", "keywords": [ @@ -23,7 +23,7 @@ "p-map": "4.0.0", "pluralize": "^8.0.0", "rimraf": "3.0.2", - "strapi-utils": "3.6.0" + "strapi-utils": "3.6.1" }, "peerDependencies": { "knex": "0.21.18" diff --git a/packages/strapi-connector-mongoose/package.json b/packages/strapi-connector-mongoose/package.json index ff0efadc24..373a290d2d 100644 --- a/packages/strapi-connector-mongoose/package.json +++ b/packages/strapi-connector-mongoose/package.json @@ -1,6 +1,6 @@ { "name": "strapi-connector-mongoose", - "version": "3.6.0", + "version": "3.6.1", "description": "Mongoose hook for the Strapi framework", "homepage": "https://strapi.io", "keywords": [ @@ -22,7 +22,7 @@ "p-map": "4.0.0", "pluralize": "^8.0.0", "semver": "^7.3.5", - "strapi-utils": "3.6.0" + "strapi-utils": "3.6.1" }, "author": { "email": "hi@strapi.io", diff --git a/packages/strapi-database/package.json b/packages/strapi-database/package.json index 82f6365d34..9cae47c4a2 100644 --- a/packages/strapi-database/package.json +++ b/packages/strapi-database/package.json @@ -1,6 +1,6 @@ { "name": "strapi-database", - "version": "3.6.0", + "version": "3.6.1", "description": "Strapi's database layer", "homepage": "https://strapi.io", "main": "./lib/index.js", @@ -31,7 +31,7 @@ "debug": "4.3.1", "lodash": "4.17.21", "p-map": "4.0.0", - "strapi-utils": "3.6.0", + "strapi-utils": "3.6.1", "verror": "^1.10.0" }, "gitHead": "231263a3535658bab1e9492c6aaaed8692d62a53" diff --git a/packages/strapi-generate-api/package.json b/packages/strapi-generate-api/package.json index bd7f82970d..a28cc255b2 100644 --- a/packages/strapi-generate-api/package.json +++ b/packages/strapi-generate-api/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-api", - "version": "3.6.0", + "version": "3.6.1", "description": "Generate an API for a Strapi application.", "homepage": "https://strapi.io", "keywords": [ @@ -15,7 +15,7 @@ "dependencies": { "lodash": "4.17.21", "pluralize": "^8.0.0", - "strapi-utils": "3.6.0" + "strapi-utils": "3.6.1" }, "scripts": { "test": "echo \"no tests yet\"" diff --git a/packages/strapi-generate-controller/package.json b/packages/strapi-generate-controller/package.json index b20749350f..c86f125df3 100644 --- a/packages/strapi-generate-controller/package.json +++ b/packages/strapi-generate-controller/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-controller", - "version": "3.6.0", + "version": "3.6.1", "description": "Generate a controller for a Strapi API.", "homepage": "https://strapi.io", "keywords": [ @@ -15,7 +15,7 @@ }, "dependencies": { "lodash": "4.17.21", - "strapi-utils": "3.6.0" + "strapi-utils": "3.6.1" }, "scripts": { "test": "echo \"no tests yet\"" diff --git a/packages/strapi-generate-model/package.json b/packages/strapi-generate-model/package.json index b6dc951b3f..6202066df3 100644 --- a/packages/strapi-generate-model/package.json +++ b/packages/strapi-generate-model/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-model", - "version": "3.6.0", + "version": "3.6.1", "description": "Generate a model for a Strapi API.", "homepage": "https://strapi.io", "keywords": [ @@ -16,7 +16,7 @@ "dependencies": { "lodash": "4.17.21", "pluralize": "^8.0.0", - "strapi-utils": "3.6.0" + "strapi-utils": "3.6.1" }, "scripts": { "test": "echo \"no tests yet\"" diff --git a/packages/strapi-generate-new/package.json b/packages/strapi-generate-new/package.json index a3cd2600bd..f426b2ef6a 100644 --- a/packages/strapi-generate-new/package.json +++ b/packages/strapi-generate-new/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-new", - "version": "3.6.0", + "version": "3.6.1", "description": "Generate a new Strapi application.", "homepage": "https://strapi.io", "keywords": [ diff --git a/packages/strapi-generate-plugin/package.json b/packages/strapi-generate-plugin/package.json index 27241fae86..79c07a8448 100644 --- a/packages/strapi-generate-plugin/package.json +++ b/packages/strapi-generate-plugin/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-plugin", - "version": "3.6.0", + "version": "3.6.1", "description": "Generate an plugin for a Strapi application.", "homepage": "https://strapi.io", "keywords": [ @@ -15,7 +15,7 @@ "dependencies": { "fs-extra": "^9.1.0", "lodash": "4.17.21", - "strapi-utils": "3.6.0" + "strapi-utils": "3.6.1" }, "scripts": { "test": "echo \"no tests yet\"" diff --git a/packages/strapi-generate-policy/package.json b/packages/strapi-generate-policy/package.json index b8b142a01e..8b8dbfd147 100644 --- a/packages/strapi-generate-policy/package.json +++ b/packages/strapi-generate-policy/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-policy", - "version": "3.6.0", + "version": "3.6.1", "description": "Generate a policy for a Strapi API.", "homepage": "https://strapi.io", "keywords": [ @@ -15,7 +15,7 @@ }, "dependencies": { "lodash": "4.17.21", - "strapi-utils": "3.6.0" + "strapi-utils": "3.6.1" }, "scripts": { "test": "echo \"no tests yet\"" diff --git a/packages/strapi-generate-service/package.json b/packages/strapi-generate-service/package.json index f061be7ba4..9b447435c8 100644 --- a/packages/strapi-generate-service/package.json +++ b/packages/strapi-generate-service/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-service", - "version": "3.6.0", + "version": "3.6.1", "description": "Generate a service for a Strapi API.", "homepage": "https://strapi.io", "keywords": [ @@ -15,7 +15,7 @@ }, "dependencies": { "lodash": "4.17.21", - "strapi-utils": "3.6.0" + "strapi-utils": "3.6.1" }, "scripts": { "test": "echo \"no tests yet\"" diff --git a/packages/strapi-generate/package.json b/packages/strapi-generate/package.json index 6159ea9479..8899b748dd 100644 --- a/packages/strapi-generate/package.json +++ b/packages/strapi-generate/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate", - "version": "3.6.0", + "version": "3.6.1", "description": "Master of ceremonies for the Strapi generators.", "homepage": "https://strapi.io", "keywords": [ @@ -20,7 +20,7 @@ "fs-extra": "^9.1.0", "lodash": "4.17.21", "reportback": "^2.0.2", - "strapi-utils": "3.6.0" + "strapi-utils": "3.6.1" }, "author": { "name": "Strapi team", diff --git a/packages/strapi-helper-plugin/package.json b/packages/strapi-helper-plugin/package.json index f52de9c8a0..b365ca9805 100644 --- a/packages/strapi-helper-plugin/package.json +++ b/packages/strapi-helper-plugin/package.json @@ -1,6 +1,6 @@ { "name": "strapi-helper-plugin", - "version": "3.6.0", + "version": "3.6.1", "description": "Helper for Strapi plugins development", "files": [ "dist" diff --git a/packages/strapi-hook-ejs/package.json b/packages/strapi-hook-ejs/package.json index c223f3802c..107735c844 100644 --- a/packages/strapi-hook-ejs/package.json +++ b/packages/strapi-hook-ejs/package.json @@ -1,6 +1,6 @@ { "name": "strapi-hook-ejs", - "version": "3.6.0", + "version": "3.6.1", "description": "EJS hook for the Strapi framework", "homepage": "https://strapi.io", "keywords": [ diff --git a/packages/strapi-hook-redis/package.json b/packages/strapi-hook-redis/package.json index 05c7fd314a..d10cb83575 100644 --- a/packages/strapi-hook-redis/package.json +++ b/packages/strapi-hook-redis/package.json @@ -1,6 +1,6 @@ { "name": "strapi-hook-redis", - "version": "3.6.0", + "version": "3.6.1", "description": "Redis hook for the Strapi framework", "homepage": "https://strapi.io", "keywords": [ @@ -19,7 +19,7 @@ "lodash": "4.17.21", "rimraf": "3.0.2", "stack-trace": "0.0.10", - "strapi-utils": "3.6.0" + "strapi-utils": "3.6.1" }, "author": { "email": "hi@strapi.io", diff --git a/packages/strapi-middleware-views/package.json b/packages/strapi-middleware-views/package.json index 54d3614c9d..2accfd16c2 100644 --- a/packages/strapi-middleware-views/package.json +++ b/packages/strapi-middleware-views/package.json @@ -1,6 +1,6 @@ { "name": "strapi-middleware-views", - "version": "3.6.0", + "version": "3.6.1", "description": "Views middleware to enable server-side rendering for the Strapi framework", "homepage": "https://strapi.io", "keywords": [ diff --git a/packages/strapi-plugin-content-manager/package.json b/packages/strapi-plugin-content-manager/package.json index 96c92036e4..08e56d9b44 100644 --- a/packages/strapi-plugin-content-manager/package.json +++ b/packages/strapi-plugin-content-manager/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-content-manager", - "version": "3.6.0", + "version": "3.6.1", "description": "A powerful UI to easily manage your data.", "strapi": { "name": "Content Manager", @@ -45,8 +45,8 @@ "redux-immutable": "^4.0.0", "reselect": "^4.0.0", "sanitize-html": "2.3.3", - "strapi-helper-plugin": "3.6.0", - "strapi-utils": "3.6.0", + "strapi-helper-plugin": "3.6.1", + "strapi-utils": "3.6.1", "yup": "^0.27.0" }, "author": { diff --git a/packages/strapi-plugin-content-type-builder/package.json b/packages/strapi-plugin-content-type-builder/package.json index 5ecabd74ee..5f0d59776d 100644 --- a/packages/strapi-plugin-content-type-builder/package.json +++ b/packages/strapi-plugin-content-type-builder/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-content-type-builder", - "version": "3.6.0", + "version": "3.6.1", "description": "Strapi plugin to create content type (API).", "strapi": { "name": "Content Type Builder", @@ -29,10 +29,10 @@ "redux": "^4.0.1", "redux-immutable": "^4.0.0", "reselect": "^4.0.0", - "strapi-generate": "3.6.0", - "strapi-generate-api": "3.6.0", - "strapi-helper-plugin": "3.6.0", - "strapi-utils": "3.6.0", + "strapi-generate": "3.6.1", + "strapi-generate-api": "3.6.1", + "strapi-helper-plugin": "3.6.1", + "strapi-utils": "3.6.1", "yup": "^0.27.0" }, "author": { diff --git a/packages/strapi-plugin-documentation/package.json b/packages/strapi-plugin-documentation/package.json index 1c63456fe2..65fedd91fc 100644 --- a/packages/strapi-plugin-documentation/package.json +++ b/packages/strapi-plugin-documentation/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-documentation", - "version": "3.6.0", + "version": "3.6.1", "description": "Create an OpenAPI Document and visualize your API with SWAGGER UI.", "strapi": { "name": "Documentation", @@ -35,7 +35,7 @@ "redux": "^4.0.1", "redux-immutable": "^4.0.0", "reselect": "^4.0.0", - "strapi-helper-plugin": "3.6.0", + "strapi-helper-plugin": "3.6.1", "swagger-ui-dist": "3.47.1" }, "author": { diff --git a/packages/strapi-plugin-email/package.json b/packages/strapi-plugin-email/package.json index 626e099641..3898db58fa 100644 --- a/packages/strapi-plugin-email/package.json +++ b/packages/strapi-plugin-email/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-email", - "version": "3.6.0", + "version": "3.6.1", "description": "Easily configure your Strapi application to send emails.", "strapi": { "name": "Email", @@ -13,12 +13,12 @@ }, "dependencies": { "lodash": "4.17.21", - "strapi-provider-email-sendmail": "3.6.0", - "strapi-utils": "3.6.0" + "strapi-provider-email-sendmail": "3.6.1", + "strapi-utils": "3.6.1" }, "devDependencies": { "rimraf": "3.0.2", - "strapi-helper-plugin": "3.6.0" + "strapi-helper-plugin": "3.6.1" }, "author": { "name": "Strapi team", diff --git a/packages/strapi-plugin-graphql/package.json b/packages/strapi-plugin-graphql/package.json index 88460d7dc5..c3b723977d 100644 --- a/packages/strapi-plugin-graphql/package.json +++ b/packages/strapi-plugin-graphql/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-graphql", - "version": "3.6.0", + "version": "3.6.1", "description": "Adds GraphQL endpoint with default API methods.", "strapi": { "name": "graphql", @@ -27,7 +27,7 @@ "koa-compose": "^4.1.0", "lodash": "4.17.21", "pluralize": "^8.0.0", - "strapi-utils": "3.6.0" + "strapi-utils": "3.6.1" }, "devDependencies": { "cross-env": "^7.0.3", diff --git a/packages/strapi-plugin-i18n/package.json b/packages/strapi-plugin-i18n/package.json index f5dc9a71d9..7a769ea016 100644 --- a/packages/strapi-plugin-i18n/package.json +++ b/packages/strapi-plugin-i18n/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-i18n", - "version": "3.6.0", + "version": "3.6.1", "description": "This plugin enables to create, to read and to update content in different languages, both from the Admin Panel and from the API", "strapi": { "name": "Internationalization", @@ -12,7 +12,7 @@ "lodash": "4.17.20", "p-map": "4.0.0", "pluralize": "8.0.0", - "strapi-utils": "3.6.0" + "strapi-utils": "3.6.1" }, "author": { "name": "A Strapi developer", diff --git a/packages/strapi-plugin-sentry/package.json b/packages/strapi-plugin-sentry/package.json index 054850a83d..8b98267cbc 100644 --- a/packages/strapi-plugin-sentry/package.json +++ b/packages/strapi-plugin-sentry/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-sentry", - "version": "3.6.0", + "version": "3.6.1", "description": "Send Strapi error events to Sentry", "strapi": { "name": "Sentry", diff --git a/packages/strapi-plugin-upload/package.json b/packages/strapi-plugin-upload/package.json index 22dfbf0604..0bc1a1ff70 100644 --- a/packages/strapi-plugin-upload/package.json +++ b/packages/strapi-plugin-upload/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-upload", - "version": "3.6.0", + "version": "3.6.1", "description": "Makes it easy to upload images and files to your Strapi Application.", "strapi": { "name": "Media Library", @@ -36,9 +36,9 @@ "react-router-dom": "^5.0.0", "reactstrap": "8.4.1", "sharp": "0.28.1", - "strapi-helper-plugin": "3.6.0", - "strapi-provider-upload-local": "3.6.0", - "strapi-utils": "3.6.0", + "strapi-helper-plugin": "3.6.1", + "strapi-provider-upload-local": "3.6.1", + "strapi-utils": "3.6.1", "stream-to-array": "^2.3.0", "uuid": "^3.2.1" }, diff --git a/packages/strapi-plugin-users-permissions/package.json b/packages/strapi-plugin-users-permissions/package.json index 7396a1ca68..a81da24ac4 100644 --- a/packages/strapi-plugin-users-permissions/package.json +++ b/packages/strapi-plugin-users-permissions/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-users-permissions", - "version": "3.6.0", + "version": "3.6.1", "description": "Protect your API with a full-authentication process based on JWT", "strapi": { "name": "Roles & Permissions", @@ -35,8 +35,8 @@ "reactstrap": "8.4.1", "redux-saga": "^0.16.0", "request": "^2.83.0", - "strapi-helper-plugin": "3.6.0", - "strapi-utils": "3.6.0", + "strapi-helper-plugin": "3.6.1", + "strapi-utils": "3.6.1", "uuid": "^3.1.0" }, "devDependencies": { diff --git a/packages/strapi-provider-email-amazon-ses/package.json b/packages/strapi-provider-email-amazon-ses/package.json index 68da2da20a..e501a5eb83 100644 --- a/packages/strapi-provider-email-amazon-ses/package.json +++ b/packages/strapi-provider-email-amazon-ses/package.json @@ -1,6 +1,6 @@ { "name": "strapi-provider-email-amazon-ses", - "version": "3.6.0", + "version": "3.6.1", "description": "Amazon SES provider for strapi email", "homepage": "https://strapi.io", "keywords": [ @@ -15,7 +15,7 @@ "main": "./lib", "dependencies": { "node-ses": "^3.0.3", - "strapi-utils": "3.6.0" + "strapi-utils": "3.6.1" }, "author": { "email": "nikolay@tsenkov.net", diff --git a/packages/strapi-provider-email-mailgun/package.json b/packages/strapi-provider-email-mailgun/package.json index 0b76d7096b..da6eaee407 100644 --- a/packages/strapi-provider-email-mailgun/package.json +++ b/packages/strapi-provider-email-mailgun/package.json @@ -1,6 +1,6 @@ { "name": "strapi-provider-email-mailgun", - "version": "3.6.0", + "version": "3.6.1", "description": "Mailgun provider for strapi email plugin", "homepage": "https://strapi.io", "keywords": [ @@ -14,7 +14,7 @@ "main": "./lib", "dependencies": { "mailgun-js": "0.22.0", - "strapi-utils": "3.6.0" + "strapi-utils": "3.6.1" }, "strapi": { "isProvider": true diff --git a/packages/strapi-provider-email-nodemailer/package.json b/packages/strapi-provider-email-nodemailer/package.json index e03ec16d35..c9db0795be 100644 --- a/packages/strapi-provider-email-nodemailer/package.json +++ b/packages/strapi-provider-email-nodemailer/package.json @@ -1,6 +1,6 @@ { "name": "strapi-provider-email-nodemailer", - "version": "3.6.0", + "version": "3.6.1", "description": "Nodemailer provider for Strapi 3", "homepage": "https://strapi.io", "keywords": [ diff --git a/packages/strapi-provider-email-sendgrid/package.json b/packages/strapi-provider-email-sendgrid/package.json index 4269f419d6..83107a79a8 100644 --- a/packages/strapi-provider-email-sendgrid/package.json +++ b/packages/strapi-provider-email-sendgrid/package.json @@ -1,6 +1,6 @@ { "name": "strapi-provider-email-sendgrid", - "version": "3.6.0", + "version": "3.6.1", "description": "Sendgrid provider for strapi email", "homepage": "https://strapi.io", "keywords": [ @@ -14,7 +14,7 @@ "main": "./lib", "dependencies": { "@sendgrid/mail": "6.4.0", - "strapi-utils": "3.6.0" + "strapi-utils": "3.6.1" }, "strapi": { "isProvider": true diff --git a/packages/strapi-provider-email-sendmail/package.json b/packages/strapi-provider-email-sendmail/package.json index 7e3a740ea0..e252620007 100644 --- a/packages/strapi-provider-email-sendmail/package.json +++ b/packages/strapi-provider-email-sendmail/package.json @@ -1,6 +1,6 @@ { "name": "strapi-provider-email-sendmail", - "version": "3.6.0", + "version": "3.6.1", "description": "Sendmail provider for strapi email", "homepage": "https://strapi.io", "keywords": [ @@ -13,7 +13,7 @@ "main": "./lib", "dependencies": { "sendmail": "^1.6.1", - "strapi-utils": "3.6.0" + "strapi-utils": "3.6.1" }, "strapi": { "isProvider": true diff --git a/packages/strapi-provider-upload-aws-s3/package.json b/packages/strapi-provider-upload-aws-s3/package.json index 5d3cf47a80..f00d38bd2a 100644 --- a/packages/strapi-provider-upload-aws-s3/package.json +++ b/packages/strapi-provider-upload-aws-s3/package.json @@ -1,6 +1,6 @@ { "name": "strapi-provider-upload-aws-s3", - "version": "3.6.0", + "version": "3.6.1", "description": "AWS S3 provider for strapi upload", "homepage": "https://strapi.io", "keywords": [ diff --git a/packages/strapi-provider-upload-cloudinary/package.json b/packages/strapi-provider-upload-cloudinary/package.json index 41284ee8ae..51fd8f8148 100644 --- a/packages/strapi-provider-upload-cloudinary/package.json +++ b/packages/strapi-provider-upload-cloudinary/package.json @@ -1,6 +1,6 @@ { "name": "strapi-provider-upload-cloudinary", - "version": "3.6.0", + "version": "3.6.1", "description": "Cloudinary provider for strapi upload", "homepage": "https://strapi.io", "keywords": [ diff --git a/packages/strapi-provider-upload-local/package.json b/packages/strapi-provider-upload-local/package.json index 638bb833b3..1d118996d1 100644 --- a/packages/strapi-provider-upload-local/package.json +++ b/packages/strapi-provider-upload-local/package.json @@ -1,6 +1,6 @@ { "name": "strapi-provider-upload-local", - "version": "3.6.0", + "version": "3.6.1", "description": "Local provider for strapi upload", "homepage": "https://strapi.io", "keywords": [ diff --git a/packages/strapi-provider-upload-rackspace/package.json b/packages/strapi-provider-upload-rackspace/package.json index 73748451b5..ea8c2a53cd 100644 --- a/packages/strapi-provider-upload-rackspace/package.json +++ b/packages/strapi-provider-upload-rackspace/package.json @@ -1,6 +1,6 @@ { "name": "strapi-provider-upload-rackspace", - "version": "3.6.0", + "version": "3.6.1", "description": "Rackspace provider for strapi upload", "main": "./lib", "keywords": [], diff --git a/packages/strapi-utils/package.json b/packages/strapi-utils/package.json index 5ac797bc09..f8d3e5c17c 100644 --- a/packages/strapi-utils/package.json +++ b/packages/strapi-utils/package.json @@ -1,6 +1,6 @@ { "name": "strapi-utils", - "version": "3.6.0", + "version": "3.6.1", "description": "Shared utilities for the Strapi packages", "homepage": "https://strapi.io", "keywords": [ diff --git a/packages/strapi/package.json b/packages/strapi/package.json index de650382e3..25b0dd2ccb 100644 --- a/packages/strapi/package.json +++ b/packages/strapi/package.json @@ -1,6 +1,6 @@ { "name": "strapi", - "version": "3.6.0", + "version": "3.6.1", "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: MongoDB, MySQL, MariaDB, PostgreSQL, SQLite", "homepage": "https://strapi.io", "directories": { @@ -55,16 +55,16 @@ "resolve-cwd": "^3.0.0", "rimraf": "^3.0.2", "semver": "7.3.5", - "strapi-database": "3.6.0", - "strapi-generate": "3.6.0", - "strapi-generate-api": "3.6.0", - "strapi-generate-controller": "3.6.0", - "strapi-generate-model": "3.6.0", - "strapi-generate-new": "3.6.0", - "strapi-generate-plugin": "3.6.0", - "strapi-generate-policy": "3.6.0", - "strapi-generate-service": "3.6.0", - "strapi-utils": "3.6.0" + "strapi-database": "3.6.1", + "strapi-generate": "3.6.1", + "strapi-generate-api": "3.6.1", + "strapi-generate-controller": "3.6.1", + "strapi-generate-model": "3.6.1", + "strapi-generate-new": "3.6.1", + "strapi-generate-plugin": "3.6.1", + "strapi-generate-policy": "3.6.1", + "strapi-generate-service": "3.6.1", + "strapi-utils": "3.6.1" }, "scripts": { "postinstall": "node lib/utils/success.js" From c6fec7393de7f47f7e5949c8ea5f04762461ba70 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 30 Apr 2021 18:38:24 +1100 Subject: [PATCH 008/151] Bump nodemailer from 6.5.0 to 6.6.0 (#10191) Bumps [nodemailer](https://github.com/nodemailer/nodemailer) from 6.5.0 to 6.6.0. - [Release notes](https://github.com/nodemailer/nodemailer/releases) - [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md) - [Commits](https://github.com/nodemailer/nodemailer/compare/v6.5.0...v6.6.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- packages/strapi-provider-email-nodemailer/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/strapi-provider-email-nodemailer/package.json b/packages/strapi-provider-email-nodemailer/package.json index c9db0795be..db4439e173 100644 --- a/packages/strapi-provider-email-nodemailer/package.json +++ b/packages/strapi-provider-email-nodemailer/package.json @@ -15,7 +15,7 @@ }, "dependencies": { "lodash": "4.17.21", - "nodemailer": "6.5.0" + "nodemailer": "6.6.0" }, "repository": { "type": "git", diff --git a/yarn.lock b/yarn.lock index 8268064a88..5990673037 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14181,10 +14181,10 @@ nodemailer-shared@1.1.0: dependencies: nodemailer-fetch "1.6.0" -nodemailer@6.5.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.5.0.tgz#d12c28d8d48778918e25f1999d97910231b175d9" - integrity sha512-Tm4RPrrIZbnqDKAvX+/4M+zovEReiKlEXWDzG4iwtpL9X34MJY+D5LnQPH/+eghe8DLlAVshHAJZAZWBGhkguw== +nodemailer@6.6.0: + version "6.6.0" + resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.6.0.tgz#ed47bb572b48d9d0dca3913fdc156203f438f427" + integrity sha512-ikSMDU1nZqpo2WUPE0wTTw/NGGImTkwpJKDIFPZT+YvvR9Sj+ze5wzu95JHkBMglQLoG2ITxU21WukCC/XsFkg== noop-logger@^0.1.1: version "0.1.1" From 3bbebdf8af41ce884591c3f7d2475408bad2303c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 30 Apr 2021 18:56:20 +1100 Subject: [PATCH 009/151] Bump eslint from 7.24.0 to 7.25.0 (#10188) Bumps [eslint](https://github.com/eslint/eslint) from 7.24.0 to 7.25.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v7.24.0...v7.25.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 006670f5fa..ad0fc59368 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "cross-env": "^7.0.3", "enzyme": "^3.9.0", "enzyme-adapter-react-16": "^1.15.6", - "eslint": "^7.24.0", + "eslint": "^7.25.0", "eslint-config-airbnb": "^18.2.1", "eslint-config-airbnb-base": "^14.2.1", "eslint-config-prettier": "^6.15.0", diff --git a/yarn.lock b/yarn.lock index 5990673037..fb38c14c63 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8183,10 +8183,10 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== -eslint@^7.24.0: - version "7.24.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.24.0.tgz#2e44fa62d93892bfdb100521f17345ba54b8513a" - integrity sha512-k9gaHeHiFmGCDQ2rEfvULlSLruz6tgfA8DEn+rY9/oYPFFTlz55mM/Q/Rij1b2Y42jwZiK3lXvNTw6w6TXzcKQ== +eslint@^7.25.0: + version "7.25.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.25.0.tgz#1309e4404d94e676e3e831b3a3ad2b050031eb67" + integrity sha512-TVpSovpvCNpLURIScDRB6g5CYu/ZFq9GfX2hLNIV4dSBKxIWojeDODvYl3t0k0VtMxYeR8OXPCFE5+oHMlGfhw== dependencies: "@babel/code-frame" "7.12.11" "@eslint/eslintrc" "^0.4.0" From a683540105e5f1f82d9882055686ef0eb291e96c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 30 Apr 2021 18:56:29 +1100 Subject: [PATCH 010/151] Bump react-tooltip from 4.2.17 to 4.2.18 (#10192) Bumps [react-tooltip](https://github.com/wwayne/react-tooltip) from 4.2.17 to 4.2.18. - [Release notes](https://github.com/wwayne/react-tooltip/releases) - [Changelog](https://github.com/wwayne/react-tooltip/blob/master/CHANGELOG.md) - [Commits](https://github.com/wwayne/react-tooltip/compare/v4.2.17...v4.2.18) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- packages/strapi-admin/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/strapi-admin/package.json b/packages/strapi-admin/package.json index 5c85f0b6b9..0f90099587 100644 --- a/packages/strapi-admin/package.json +++ b/packages/strapi-admin/package.json @@ -90,7 +90,7 @@ "react-router": "^5.2.0", "react-router-dom": "^5.0.0", "react-select": "^4.0.2", - "react-tooltip": "4.2.17", + "react-tooltip": "4.2.18", "react-transition-group": "4.4.1", "react-virtualized": "^9.22.3", "reactstrap": "8.4.1", diff --git a/yarn.lock b/yarn.lock index fb38c14c63..d9e465636c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -16628,10 +16628,10 @@ react-test-renderer@^17.0.2: react-shallow-renderer "^16.13.1" scheduler "^0.20.2" -react-tooltip@4.2.17, react-tooltip@^4.2.11: - version "4.2.17" - resolved "https://registry.yarnpkg.com/react-tooltip/-/react-tooltip-4.2.17.tgz#4884ce253ab298ee395950b24b752282efa8ac5d" - integrity sha512-LzwUbQYzeRyrjbuuCbYUB0dlJpFPGPwigWS052umr1QulcF5N4czabDiWJ+Y585Q7ijvMFuBbeOvnI/azoTusw== +react-tooltip@4.2.18, react-tooltip@^4.2.11: + version "4.2.18" + resolved "https://registry.yarnpkg.com/react-tooltip/-/react-tooltip-4.2.18.tgz#2fb8c5e115c4e5476f94081f4bb2ba77f5b2297f" + integrity sha512-MBdWuH925GL2ai5TWJelVJD9Opfk+3cLw0SP0rXR7s2RcNb7FefaNmljFndqYo8ghVcIEj5yM7aqV5Ith2bnqg== dependencies: prop-types "^15.7.2" uuid "^7.0.3" From e5d10b4120978f86cc8f764696c9f861600de576 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 May 2021 18:11:52 +1100 Subject: [PATCH 011/151] Bump @fingerprintjs/fingerprintjs from 3.0.7 to 3.1.1 (#10212) Bumps [@fingerprintjs/fingerprintjs](https://github.com/fingerprintjs/fingerprintjs) from 3.0.7 to 3.1.1. - [Release notes](https://github.com/fingerprintjs/fingerprintjs/releases) - [Commits](https://github.com/fingerprintjs/fingerprintjs/compare/v3.0.7...v3.1.1) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- packages/strapi-admin/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/strapi-admin/package.json b/packages/strapi-admin/package.json index 0f90099587..65f02bc33e 100644 --- a/packages/strapi-admin/package.json +++ b/packages/strapi-admin/package.json @@ -31,7 +31,7 @@ "@buffetjs/styles": "3.3.5", "@buffetjs/utils": "3.3.5", "@casl/ability": "^4.1.5", - "@fingerprintjs/fingerprintjs": "3.0.7", + "@fingerprintjs/fingerprintjs": "3.1.1", "@fortawesome/fontawesome-free": "^5.15.3", "@fortawesome/fontawesome-svg-core": "^1.2.35", "@fortawesome/free-brands-svg-icons": "^5.15.3", diff --git a/yarn.lock b/yarn.lock index d9e465636c..501fbea4e8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1275,10 +1275,10 @@ unique-filename "^1.1.1" which "^1.3.1" -"@fingerprintjs/fingerprintjs@3.0.7": - version "3.0.7" - resolved "https://registry.yarnpkg.com/@fingerprintjs/fingerprintjs/-/fingerprintjs-3.0.7.tgz#d9ce467036bb96b01137b6e3583db06594cc3f04" - integrity sha512-Qjxkx8ki2Kzn4IStftDn1HaCZYXg3IjAwtT57P81H6GBQEXmyCdStf0oRcC09jmukp4H9O2YiDLT22q8AqxhqA== +"@fingerprintjs/fingerprintjs@3.1.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@fingerprintjs/fingerprintjs/-/fingerprintjs-3.1.1.tgz#381842ca0e4bdae5c3f4653601a12fe2b57923a9" + integrity sha512-+nUVhRimx9SgXs78miuSA2Y38k4g24iKpAMgWK5/QuLy9Un3ZSoRk5AXp3b4smUf1XqNTzGAmyWYrc1qG05rOA== dependencies: tslib "^2.0.1" From cfb1eb549f96381ac4d3d12679d64c5241ba8c72 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 May 2021 18:12:36 +1100 Subject: [PATCH 012/151] Bump apollo-server-koa from 2.23.0 to 2.24.0 (#10214) Bumps [apollo-server-koa](https://github.com/apollographql/apollo-server/tree/HEAD/packages/apollo-server-koa) from 2.23.0 to 2.24.0. - [Release notes](https://github.com/apollographql/apollo-server/releases) - [Changelog](https://github.com/apollographql/apollo-server/blob/main/CHANGELOG.md) - [Commits](https://github.com/apollographql/apollo-server/commits/apollo-server-koa@2.24.0/packages/apollo-server-koa) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- packages/strapi-plugin-graphql/package.json | 2 +- yarn.lock | 194 ++++++++++++-------- 2 files changed, 114 insertions(+), 82 deletions(-) diff --git a/packages/strapi-plugin-graphql/package.json b/packages/strapi-plugin-graphql/package.json index c3b723977d..e3cd43a9fb 100644 --- a/packages/strapi-plugin-graphql/package.json +++ b/packages/strapi-plugin-graphql/package.json @@ -13,7 +13,7 @@ "dependencies": { "@apollo/federation": "^0.20.7", "@graphql-tools/utils": "7.2.4", - "apollo-server-koa": "2.23.0", + "apollo-server-koa": "2.24.0", "dataloader": "^1.4.0", "glob": "^7.1.6", "graphql": "15.5.0", diff --git a/yarn.lock b/yarn.lock index 501fbea4e8..619d03e367 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12,10 +12,10 @@ core-js "^3.4.0" lodash.xorby "^4.7.0" -"@apollo/protobufjs@^1.0.3": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@apollo/protobufjs/-/protobufjs-1.0.5.tgz#a78b726147efc0795e74c8cb8a11aafc6e02f773" - integrity sha512-ZtyaBH1icCgqwIGb3zrtopV2D5Q8yxibkJzlaViM08eOhTQc7rACdYu0pfORFfhllvdMZ3aq69vifYHszY4gNA== +"@apollo/protobufjs@1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@apollo/protobufjs/-/protobufjs-1.2.2.tgz#4bd92cd7701ccaef6d517cdb75af2755f049f87c" + integrity sha512-vF+zxhPiLtkwxONs6YanSt1EpwpGilThpneExUN5K3tCymuxNnVq2yojTvnpRjv2QfsEIt/n7ozPIIzBLwGIDQ== dependencies: "@protobufjs/aspromise" "^1.1.2" "@protobufjs/base64" "^1.1.2" @@ -31,12 +31,12 @@ "@types/node" "^10.1.0" long "^4.0.0" -"@apollographql/apollo-tools@^0.4.3": - version "0.4.9" - resolved "https://registry.yarnpkg.com/@apollographql/apollo-tools/-/apollo-tools-0.4.9.tgz#6abeef4c4586aec8208f71254b329e48ab50c07e" - integrity sha512-M50pk8oo3CGTu4waGOklIX3YtTZoPfWG9K/G9WB8NpyQGA1OwYTiBFv94XqUtKElTDoFwoMXpMQd3Wy5dINvxA== +"@apollographql/apollo-tools@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@apollographql/apollo-tools/-/apollo-tools-0.5.0.tgz#81aadcabb35eeab6ef7e0d3d6c592a6fe15e66d9" + integrity sha512-7IOZHVaKjBq44StXFJEITl4rxgZCsZFSWogAvIErKR9DYV20rt9bJ2mY5lCn+zghfGrweykjLb9g4TDxLg750w== dependencies: - apollo-env "^0.6.6" + apollo-env "^0.10.0" "@apollographql/graphql-playground-html@1.6.27": version "1.6.27" @@ -3583,6 +3583,14 @@ "@types/node" "*" form-data "^3.0.0" +"@types/node-fetch@^2.5.10": + version "2.5.10" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.10.tgz#9b4d4a0425562f9fcea70b12cb3fcdd946ca8132" + integrity sha512-IpkX0AasN44hgEad0gEF/V6EgR5n69VEqPEgnmoM8GsIGro3PowbWs4tR6IhxUTyPLpOn+fiGG6nrQhcmoCuIQ== + dependencies: + "@types/node" "*" + form-data "^3.0.0" + "@types/node@*", "@types/node@>= 8": version "14.14.41" resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.41.tgz#d0b939d94c1d7bd53d04824af45f1139b8c45615" @@ -4317,21 +4325,31 @@ anymatch@^3.0.3, anymatch@~3.1.1: normalize-path "^3.0.0" picomatch "^2.0.4" -apollo-cache-control@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/apollo-cache-control/-/apollo-cache-control-0.12.0.tgz#45aea0a232d0704e33c2b1a3c428a5500b29818c" - integrity sha512-kClF5rfAm159Nboul1LxA+l58Tjz0M8L1GUknEMpZt0UHhILLAn3BfcG3ToX4TbNoR9M57kKMUcbPWLdy3Up7w== +apollo-cache-control@^0.13.0: + version "0.13.0" + resolved "https://registry.yarnpkg.com/apollo-cache-control/-/apollo-cache-control-0.13.0.tgz#cd63aa24a662b2fe89ef147a30df907c8061aedc" + integrity sha512-ImUXwVc/8K9QA3mQiKbKw8bOS4lMNL4DoP4hldIx+gwna8dgh3gBChgxW5guMOhcvH/55ximS7ZNWUglFmQY4Q== dependencies: - apollo-server-env "^3.0.0" - apollo-server-plugin-base "^0.11.0" + apollo-server-env "^3.1.0" + apollo-server-plugin-base "^0.12.0" -apollo-datasource@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/apollo-datasource/-/apollo-datasource-0.8.0.tgz#8cf9103e83558bd30b3b522cb8ec80725c3160ce" - integrity sha512-gXgsGVLuejLc138z/2jUjPAzadDQxWbcLJyBgaQsg5BaXJNkv5uW/NjiSPk00cK51hyZrb0Xx8a+L+wPk2qIBA== +apollo-datasource@^0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/apollo-datasource/-/apollo-datasource-0.9.0.tgz#b0b2913257a6103a5f4c03cb56d78a30e9d850db" + integrity sha512-y8H99NExU1Sk4TvcaUxTdzfq2SZo6uSj5dyh75XSQvbpH6gdAXIW9MaBcvlNC7n0cVPsidHmOcHOWxJ/pTXGjA== dependencies: - apollo-server-caching "^0.6.0" - apollo-server-env "^3.0.0" + apollo-server-caching "^0.7.0" + apollo-server-env "^3.1.0" + +apollo-env@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/apollo-env/-/apollo-env-0.10.0.tgz#8dd51bf974253a760ea15c81e870ff2c0d6e6820" + integrity sha512-7Geot+eyOl4jzPi9beiszeDmEEVZOVT11LSlkQluF5eaCNaIvld+xklZxITZGI/Wr+PQX380YJgQt1ndR2GtOg== + dependencies: + "@types/node-fetch" "^2.5.10" + core-js "^3.0.1" + node-fetch "^2.6.1" + sha.js "^2.4.11" apollo-env@^0.6.6: version "0.6.6" @@ -4351,6 +4369,15 @@ apollo-graphql@^0.6.0: apollo-env "^0.6.6" lodash.sortby "^4.7.0" +apollo-graphql@^0.9.0: + version "0.9.2" + resolved "https://registry.yarnpkg.com/apollo-graphql/-/apollo-graphql-0.9.2.tgz#750ca9a97b59c868426defc95d9d9e1733ae4bdf" + integrity sha512-+c/vqC2LPq3e5kO7MfBxDDiljzLog/THZr9Pd46HVaKAhHUxFL0rJEbT17VhjdOoZGWFWLYG7x9hiN6EQD1xZQ== + dependencies: + core-js-pure "^3.10.2" + lodash.sortby "^4.7.0" + sha.js "^2.4.11" + apollo-link@^1.2.14: version "1.2.14" resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.14.tgz#3feda4b47f9ebba7f4160bef8b977ba725b684d9" @@ -4361,43 +4388,43 @@ apollo-link@^1.2.14: tslib "^1.9.3" zen-observable-ts "^0.8.21" -apollo-reporting-protobuf@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/apollo-reporting-protobuf/-/apollo-reporting-protobuf-0.6.2.tgz#5572866be9b77f133916532b10e15fbaa4158304" - integrity sha512-WJTJxLM+MRHNUxt1RTl4zD0HrLdH44F2mDzMweBj1yHL0kSt8I1WwoiF/wiGVSpnG48LZrBegCaOJeuVbJTbtw== +apollo-reporting-protobuf@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/apollo-reporting-protobuf/-/apollo-reporting-protobuf-0.7.0.tgz#622352d3eea943dff2647741a509b39d464f98a9" + integrity sha512-PC+zDqPPJcseemqmvUEqFiDi45pz6UaPWt6czgmrrbcQ+9VWp6IEkm08V5xBKk7V1WGUw19YwiJ7kqXpcgVNyw== dependencies: - "@apollo/protobufjs" "^1.0.3" + "@apollo/protobufjs" "1.2.2" -apollo-server-caching@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/apollo-server-caching/-/apollo-server-caching-0.6.0.tgz#3140a023ce0be8c43ba0b2f5be9cc5d15d1a32f6" - integrity sha512-SfjKaccrhRzUQ8TAke9FrYppp4pZV3Rp8KCs+4Ox3kGtbco68acRPJkiYYtSVc4idR8XNAUOOVfAEZVNHdZQKQ== +apollo-server-caching@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/apollo-server-caching/-/apollo-server-caching-0.7.0.tgz#e6d1e68e3bb571cba63a61f60b434fb771c6ff39" + integrity sha512-MsVCuf/2FxuTFVhGLK13B+TZH9tBd2qkyoXKKILIiGcZ5CDUEBO14vIV63aNkMkS1xxvK2U4wBcuuNj/VH2Mkw== dependencies: lru-cache "^6.0.0" -apollo-server-core@^2.23.0: - version "2.23.0" - resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-2.23.0.tgz#65ac55a293205efa63eadbf09d30704d6a5974d3" - integrity sha512-3/a4LPgRADc8CdT/nRh7W0CAqQv3Q4DJvakWQgKqGSqDEb/0u4IBynYjlQKuPBi4wwKdeK2Hb1wiQLl+zu4StQ== +apollo-server-core@^2.24.0: + version "2.24.0" + resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-2.24.0.tgz#60313e5bd265422d53fe0ffbd45760046465f5f0" + integrity sha512-uW7gykPzhin9fLgSvciN8tX7098mHnUM79W3+fWfK5J415JidIqW9O+JhYmEPo6BCgosu0cKSdYe7NB+FP4lFQ== dependencies: - "@apollographql/apollo-tools" "^0.4.3" + "@apollographql/apollo-tools" "^0.5.0" "@apollographql/graphql-playground-html" "1.6.27" "@apollographql/graphql-upload-8-fork" "^8.1.3" "@josephg/resolvable" "^1.0.0" "@types/ws" "^7.0.0" - apollo-cache-control "^0.12.0" - apollo-datasource "^0.8.0" - apollo-graphql "^0.6.0" - apollo-reporting-protobuf "^0.6.2" - apollo-server-caching "^0.6.0" - apollo-server-env "^3.0.0" + apollo-cache-control "^0.13.0" + apollo-datasource "^0.9.0" + apollo-graphql "^0.9.0" + apollo-reporting-protobuf "^0.7.0" + apollo-server-caching "^0.7.0" + apollo-server-env "^3.1.0" apollo-server-errors "^2.5.0" - apollo-server-plugin-base "^0.11.0" - apollo-server-types "^0.7.0" - apollo-tracing "^0.13.0" + apollo-server-plugin-base "^0.12.0" + apollo-server-types "^0.8.0" + apollo-tracing "^0.14.0" async-retry "^1.2.1" fast-json-stable-stringify "^2.0.0" - graphql-extensions "^0.13.0" + graphql-extensions "^0.14.0" graphql-tag "^2.11.0" graphql-tools "^4.0.8" loglevel "^1.6.7" @@ -4415,12 +4442,12 @@ apollo-server-env@^2.4.5: node-fetch "^2.1.2" util.promisify "^1.0.0" -apollo-server-env@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/apollo-server-env/-/apollo-server-env-3.0.0.tgz#0157c51f52b63aee39af190760acf789ffc744d9" - integrity sha512-tPSN+VttnPsoQAl/SBVUpGbLA97MXG990XIwq6YUnJyAixrrsjW1xYG7RlaOqetxm80y5mBZKLrRDiiSsW/vog== +apollo-server-env@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/apollo-server-env/-/apollo-server-env-3.1.0.tgz#0733c2ef50aea596cc90cf40a53f6ea2ad402cd0" + integrity sha512-iGdZgEOAuVop3vb0F2J3+kaBVi4caMoxefHosxmgzAbbSpvWehB8Y1QiSyyMeouYC38XNVk5wnZl+jdGSsWsIQ== dependencies: - node-fetch "^2.1.2" + node-fetch "^2.6.1" util.promisify "^1.0.0" apollo-server-errors@^2.5.0: @@ -4428,10 +4455,10 @@ apollo-server-errors@^2.5.0: resolved "https://registry.yarnpkg.com/apollo-server-errors/-/apollo-server-errors-2.5.0.tgz#5d1024117c7496a2979e3e34908b5685fe112b68" integrity sha512-lO5oTjgiC3vlVg2RKr3RiXIIQ5pGXBFxYGGUkKDhTud3jMIhs+gel8L8zsEjKaKxkjHhCQAA/bcEfYiKkGQIvA== -apollo-server-koa@2.23.0: - version "2.23.0" - resolved "https://registry.yarnpkg.com/apollo-server-koa/-/apollo-server-koa-2.23.0.tgz#c2a0915955a65e32f6ac61e239bbdc27eefd182c" - integrity sha512-EX2dOp6IRuwYE6ElrnLi1FqWCYvq0nMfd8rOU/MPfcHQ+iRIANVrJiZzEpjdwIu1n2tuk4m6jjj5NLiN5JedsQ== +apollo-server-koa@2.24.0: + version "2.24.0" + resolved "https://registry.yarnpkg.com/apollo-server-koa/-/apollo-server-koa-2.24.0.tgz#696673df68342e12abc036054759bcb460686168" + integrity sha512-cv1pWPd/gEuLdq3eXsvWDzuznIRkAlS4O+q0zKeldLQM9aEGa0Z0SeYMZ7zZcX/wBeGRrPx6Bn43bbWNcEHlfg== dependencies: "@apollographql/graphql-playground-html" "1.6.27" "@koa/cors" "^2.2.1" @@ -4441,8 +4468,8 @@ apollo-server-koa@2.23.0: "@types/koa-compose" "^3.2.2" "@types/koa__cors" "^2.2.1" accepts "^1.3.5" - apollo-server-core "^2.23.0" - apollo-server-types "^0.7.0" + apollo-server-core "^2.24.0" + apollo-server-types "^0.8.0" graphql-subscriptions "^1.0.0" graphql-tools "^4.0.8" koa "2.13.1" @@ -4450,29 +4477,29 @@ apollo-server-koa@2.23.0: koa-compose "^4.1.0" type-is "^1.6.16" -apollo-server-plugin-base@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/apollo-server-plugin-base/-/apollo-server-plugin-base-0.11.0.tgz#6ceeb4d5f643ed739fd00e8b26d9981186c200d0" - integrity sha512-Du68x0XCyQ6EWlgoL9Z+1s8fJfXgY131QbKP7ao617StQPzwB0aGCwxBDfcMt1A75VXf4TkvV1rdUH5YeJFlhQ== +apollo-server-plugin-base@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/apollo-server-plugin-base/-/apollo-server-plugin-base-0.12.0.tgz#9063c47e84c849c4227b9398cd06994f13b3a4c3" + integrity sha512-jnNIztYz34ImE7off0t9LwseGCR/J0H1wlbiBGvdXvQY+ZiMfVF2oF8KdSAPxG2vT6scvWP4GFS/FsZcOyP1Xw== dependencies: - apollo-server-types "^0.7.0" + apollo-server-types "^0.8.0" -apollo-server-types@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/apollo-server-types/-/apollo-server-types-0.7.0.tgz#a9b62974ada5da5edb6157a41d8ddb993b57203a" - integrity sha512-pJ6ri2N4xJ+e2PUUPHeCNpMDzHUagJyn0DDZGQmXDz6aoMlSd4B2KUvK81hHyHkw3wHk9clgcpfM9hKqbfZweA== +apollo-server-types@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/apollo-server-types/-/apollo-server-types-0.8.0.tgz#5462c99e93c5b6896d686bc234c05850059b2efe" + integrity sha512-adHJnHbRV2kWUY0VQY1M2KpSdGfm+4mX4w+2lROPExqOnkyTI7CGfpJCdEwYMKrIn3aH8HIcOH0SnpWRet6TNw== dependencies: - apollo-reporting-protobuf "^0.6.2" - apollo-server-caching "^0.6.0" - apollo-server-env "^3.0.0" + apollo-reporting-protobuf "^0.7.0" + apollo-server-caching "^0.7.0" + apollo-server-env "^3.1.0" -apollo-tracing@^0.13.0: - version "0.13.0" - resolved "https://registry.yarnpkg.com/apollo-tracing/-/apollo-tracing-0.13.0.tgz#8621b1ae351f862bb48b6de7a85696288977d148" - integrity sha512-28z4T+XfLQ6t696usU0nTFDxVN8BfF3o74d2p/zsT4eu1OuoyoDOEmVJqdInmVRpyTJK0tDEOjkIuDJJHZftog== +apollo-tracing@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/apollo-tracing/-/apollo-tracing-0.14.0.tgz#2b7e07e6f1cb9d6161f03dc6e51baaa8468735bd" + integrity sha512-KH4mOoicZ2CQkEYVuNP9avJth59LwNqku3fKZ4S0UYE1RfxzIoLLsEyuY8MuJEgNdtKKfkX5G5Kn5Rp4LCJ4RQ== dependencies: - apollo-server-env "^3.0.0" - apollo-server-plugin-base "^0.11.0" + apollo-server-env "^3.1.0" + apollo-server-plugin-base "^0.12.0" apollo-utilities@^1.0.1, apollo-utilities@^1.3.0: version "1.3.4" @@ -6510,6 +6537,11 @@ core-js-pure@^3.0.0: resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.10.1.tgz#28642697dfcf02e0fd9f4d9891bd03a22df28ecf" integrity sha512-PeyJH2SE0KuxY5eCGNWA+W+CeDpB6M1PN3S7Am7jSv/Ttuxz2SnWbIiVQOn/TDaGaGtxo8CRWHkXwJscbUHtVw== +core-js-pure@^3.10.2: + version "3.11.1" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.11.1.tgz#fd52fa8c8b7b797b3606524b3d97278a8d8e7f09" + integrity sha512-2JukQi8HgAOCD5CSimxWWXVrUBoA9Br796uIA5Z06bIjt7PBBI19ircFaAxplgE1mJf3x2BY6MkT/HWA/UryPg== + core-js@3.6.5: version "3.6.5" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a" @@ -9642,14 +9674,14 @@ graphql-depth-limit@^1.1.0: dependencies: arrify "^1.0.1" -graphql-extensions@^0.13.0: - version "0.13.0" - resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.13.0.tgz#34d7f9c1bf49d09c4f1fa8b5d33e6c961a1889fb" - integrity sha512-Bb7E97nvfX4gtrIdZ/i5YFlqOd6MGzrw8ED+t4wQVraYje6NQ+8P8MHMOV2WZLfbW8zsNTx8NdnnlbsdH5siag== +graphql-extensions@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.14.0.tgz#cddf2fd43168e18be1d0e9057a4b3647febdd35f" + integrity sha512-DFtD8G+6rSj/Xhtb0IPh4A/sB/qcSEm9MTS221ESCx+axrsME92wGEsr7ihVjn1/tEEIy+9V5lUQOH/dHkCb0A== dependencies: - "@apollographql/apollo-tools" "^0.4.3" - apollo-server-env "^3.0.0" - apollo-server-types "^0.7.0" + "@apollographql/apollo-tools" "^0.5.0" + apollo-server-env "^3.1.0" + apollo-server-types "^0.8.0" graphql-iso-date@^3.6.1: version "3.6.1" From ace6572e804fb397b513ae9ac0755882330b564e Mon Sep 17 00:00:00 2001 From: Alexandre BODIN Date: Mon, 3 May 2021 23:24:17 +1100 Subject: [PATCH 013/151] Update SECURITY.md --- SECURITY.md | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/SECURITY.md b/SECURITY.md index e4db609d3c..1d1e988739 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -7,14 +7,7 @@ As of May 2020 (and until this document is updated), only the v3.0.0 *stable* re ## Reporting a Vulnerability Please report (suspected) security vulnerabilities to -**[security@strapi.io](mailto:security@strapi.io)** or via the [Strapi Slack](https://slack.strapi.io). - -When reporting a (suspected) security vulnerability via slack please reach out to any of the following Strapi employees directly: - -- `@aureliengeorget` -- `@alexandre` -- `@lauriejim` -- `@soupette` +**[security@strapi.io](mailto:security@strapi.io)**. You will receive a response from us within 72 hours. If the issue is confirmed, we will release a patch as soon as possible depending on complexity From 89bcbb12477f7483984e6afead5660c702b1d2e1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 May 2021 00:44:04 +1100 Subject: [PATCH 014/151] Bump stylelint from 13.12.0 to 13.13.1 (#10213) Bumps [stylelint](https://github.com/stylelint/stylelint) from 13.12.0 to 13.13.1. - [Release notes](https://github.com/stylelint/stylelint/releases) - [Changelog](https://github.com/stylelint/stylelint/blob/master/CHANGELOG.md) - [Commits](https://github.com/stylelint/stylelint/compare/13.12.0...13.13.1) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 59 ++++++++++++++++++++++++++-------------------------- 2 files changed, 31 insertions(+), 30 deletions(-) diff --git a/package.json b/package.json index ad0fc59368..24bdfef3b8 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "request-promise-native": "^1.0.9", "rimraf": "3.0.2", "snyk": "^1.566.0", - "stylelint": "13.12.0", + "stylelint": "13.13.1", "stylelint-config-recommended": "3.0.0", "stylelint-config-styled-components": "0.1.1", "stylelint-processor-styled-components": "1.10.0", diff --git a/yarn.lock b/yarn.lock index 619d03e367..ac001bb7b8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5007,6 +5007,11 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +balanced-match@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-2.0.0.tgz#dc70f920d78db8b858535795867bf48f820633d9" + integrity sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA== + base64-js@^1.0.2, base64-js@^1.3.0, base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" @@ -9513,7 +9518,7 @@ globalthis@^1.0.1: dependencies: define-properties "^1.1.3" -globby@^11.0.1, globby@^11.0.2: +globby@^11.0.1, globby@^11.0.3: version "11.0.3" resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.3.tgz#9b1f0cb523e171dd1ad8c7b2a9fb4b644b9593cb" integrity sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg== @@ -12936,7 +12941,7 @@ log-symbols@^2.2.0: dependencies: chalk "^2.0.1" -log-symbols@^4.0.0: +log-symbols@^4.0.0, log-symbols@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== @@ -13456,7 +13461,7 @@ micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" -micromatch@^4.0.2: +micromatch@^4.0.2, micromatch@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== @@ -15791,14 +15796,12 @@ postcss-selector-parser@^3.0.0: indexes-of "^1.0.1" uniq "^1.0.1" -postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: - version "6.0.4" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3" - integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw== +postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.5.tgz#042d74e137db83e6f294712096cb413f5aa612c4" + integrity sha512-aFYPoYmXbZ1V6HZaSvat08M97A8HqO6Pjz+PiNpw/DhuRrC72XWAdp3hL6wusDCN31sSmcZyMGa2hZEuX+Xfhg== dependencies: cssesc "^3.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" util-deprecate "^1.0.2" postcss-svgo@^4.0.3: @@ -19235,16 +19238,16 @@ stylelint-processor-styled-components@1.10.0: micromatch "^4.0.2" postcss "^7.0.26" -stylelint@13.12.0: - version "13.12.0" - resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-13.12.0.tgz#cceb922be0d0c7b7b6926271eea2b90cb924733e" - integrity sha512-P8O1xDy41B7O7iXaSlW+UuFbE5+ZWQDb61ndGDxKIt36fMH50DtlQTbwLpFLf8DikceTAb3r6nPrRv30wBlzXw== +stylelint@13.13.1: + version "13.13.1" + resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-13.13.1.tgz#fca9c9f5de7990ab26a00f167b8978f083a18f3c" + integrity sha512-Mv+BQr5XTUrKqAXmpqm6Ddli6Ief+AiPZkRsIrAoUKFuq/ElkUh9ZMYxXD0iQNZ5ADghZKLOWz1h7hTClB7zgQ== dependencies: "@stylelint/postcss-css-in-js" "^0.37.2" "@stylelint/postcss-markdown" "^0.36.2" autoprefixer "^9.8.6" - balanced-match "^1.0.0" - chalk "^4.1.0" + balanced-match "^2.0.0" + chalk "^4.1.1" cosmiconfig "^7.0.0" debug "^4.3.1" execall "^2.0.0" @@ -19253,7 +19256,7 @@ stylelint@13.12.0: file-entry-cache "^6.0.1" get-stdin "^8.0.0" global-modules "^2.0.0" - globby "^11.0.2" + globby "^11.0.3" globjoin "^0.1.4" html-tags "^3.1.0" ignore "^5.1.8" @@ -19261,10 +19264,10 @@ stylelint@13.12.0: imurmurhash "^0.1.4" known-css-properties "^0.21.0" lodash "^4.17.21" - log-symbols "^4.0.0" + log-symbols "^4.1.0" mathml-tag-names "^2.1.3" meow "^9.0.0" - micromatch "^4.0.2" + micromatch "^4.0.4" normalize-selector "^0.2.0" postcss "^7.0.35" postcss-html "^0.36.0" @@ -19274,7 +19277,7 @@ stylelint@13.12.0: postcss-safe-parser "^4.0.2" postcss-sass "^0.4.4" postcss-scss "^2.1.1" - postcss-selector-parser "^6.0.4" + postcss-selector-parser "^6.0.5" postcss-syntax "^0.36.2" postcss-value-parser "^4.1.0" resolve-from "^5.0.0" @@ -19285,8 +19288,8 @@ stylelint@13.12.0: style-search "^0.1.0" sugarss "^2.0.0" svg-tags "^1.0.0" - table "^6.0.7" - v8-compile-cache "^2.2.0" + table "^6.6.0" + v8-compile-cache "^2.3.0" write-file-atomic "^3.0.3" stylis@^4.0.3: @@ -19434,20 +19437,18 @@ synchronous-promise@^2.0.13, synchronous-promise@^2.0.6: resolved "https://registry.yarnpkg.com/synchronous-promise/-/synchronous-promise-2.0.15.tgz#07ca1822b9de0001f5ff73595f3d08c4f720eb8e" integrity sha512-k8uzYIkIVwmT+TcglpdN50pS2y1BDcUnBPK9iJeGu0Pl1lOI8pD6wtzgw91Pjpe+RxtTncw32tLxs/R0yNL2Mg== -table@^6.0.4, table@^6.0.7: - version "6.2.0" - resolved "https://registry.yarnpkg.com/table/-/table-6.2.0.tgz#3d92adbd37aca3c45de5f9c698d0474aa1de22b8" - integrity sha512-WMBBLuauiLXJjth35K4vOnd/xkaZ/dxEcyoZ+YhxSwfxFqvh+av06+oRqIwbR14m1lENB1egSWOFv/bNEt2D8A== +table@^6.0.4, table@^6.6.0: + version "6.6.0" + resolved "https://registry.yarnpkg.com/table/-/table-6.6.0.tgz#905654b79df98d9e9a973de1dd58682532c40e8e" + integrity sha512-iZMtp5tUvcnAdtHpZTWLPF0M7AgiQsURR2DwmxnJwSy8I3+cY+ozzVvYha3BOLG2TB+L0CqjIz+91htuj6yCXg== dependencies: ajv "^8.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" lodash.clonedeep "^4.5.0" lodash.flatten "^4.4.0" lodash.truncate "^4.4.2" slice-ansi "^4.0.0" string-width "^4.2.0" + strip-ansi "^6.0.0" tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" @@ -20425,7 +20426,7 @@ uuid@^8.0.0, uuid@^8.2.0, uuid@^8.3.0, uuid@^8.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== -v8-compile-cache@^2.0.3, v8-compile-cache@^2.1.1, v8-compile-cache@^2.2.0: +v8-compile-cache@^2.0.3, v8-compile-cache@^2.1.1, v8-compile-cache@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== From a7de8156b1ccc010f028403360949a9180aeae8d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 May 2021 17:59:48 +1100 Subject: [PATCH 015/151] Bump ora from 5.3.0 to 5.4.0 (#10223) Bumps [ora](https://github.com/sindresorhus/ora) from 5.3.0 to 5.4.0. - [Release notes](https://github.com/sindresorhus/ora/releases) - [Commits](https://github.com/sindresorhus/ora/compare/v5.3.0...v5.4.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- packages/create-strapi-starter/package.json | 2 +- packages/strapi-generate-new/package.json | 2 +- packages/strapi/package.json | 2 +- yarn.lock | 32 +++++++++------------ 4 files changed, 17 insertions(+), 21 deletions(-) diff --git a/packages/create-strapi-starter/package.json b/packages/create-strapi-starter/package.json index a01ffe7668..ea4fb90c99 100644 --- a/packages/create-strapi-starter/package.json +++ b/packages/create-strapi-starter/package.json @@ -23,7 +23,7 @@ "fs-extra": "9.1.0", "git-url-parse": "11.4.4", "node-fetch": "2.6.1", - "ora": "5.3.0", + "ora": "5.4.0", "strapi-generate-new": "3.6.1", "tar": "6.1.0" }, diff --git a/packages/strapi-generate-new/package.json b/packages/strapi-generate-new/package.json index f426b2ef6a..d5f808f3be 100644 --- a/packages/strapi-generate-new/package.json +++ b/packages/strapi-generate-new/package.json @@ -22,7 +22,7 @@ "lodash": "4.17.21", "node-fetch": "^2.6.1", "node-machine-id": "^1.1.10", - "ora": "^3.4.0", + "ora": "^5.4.0", "tar": "6.1.0", "uuid": "^3.3.2" }, diff --git a/packages/strapi/package.json b/packages/strapi/package.json index 25b0dd2ccb..bce9c7db51 100644 --- a/packages/strapi/package.json +++ b/packages/strapi/package.json @@ -49,7 +49,7 @@ "node-machine-id": "1.1.12", "node-schedule": "1.3.2", "opn": "^5.3.0", - "ora": "^3.0.0", + "ora": "^5.4.0", "package-json": "6.5.0", "qs": "^6.10.1", "resolve-cwd": "^3.0.0", diff --git a/yarn.lock b/yarn.lock index ac001bb7b8..6c4908db26 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5107,7 +5107,7 @@ bl@^2.2.1: readable-stream "^2.3.5" safe-buffer "^5.1.1" -bl@^4.0.3: +bl@^4.0.3, bl@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== @@ -5916,7 +5916,7 @@ cli-spinner@0.2.10: resolved "https://registry.yarnpkg.com/cli-spinner/-/cli-spinner-0.2.10.tgz#f7d617a36f5c47a7bc6353c697fc9338ff782a47" integrity sha512-U0sSQ+JJvSLi1pAYuJykwiA8Dsr15uHEy85iCJ6A+0DjVxivr3d+N2Wjvodeg89uP5K6TswFkKBfAD7B3YSn/Q== -cli-spinners@^2.0.0, cli-spinners@^2.5.0: +cli-spinners@^2.5.0: version "2.6.0" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.0.tgz#36c7dc98fb6a9a76bd6238ec3f77e2425627e939" integrity sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q== @@ -12934,13 +12934,6 @@ lodash@4.17.21, lodash@^4.1.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12 resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -log-symbols@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" - integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== - dependencies: - chalk "^2.0.1" - log-symbols@^4.0.0, log-symbols@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" @@ -14675,16 +14668,19 @@ ora@5.3.0: strip-ansi "^6.0.0" wcwidth "^1.0.1" -ora@^3.0.0, ora@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/ora/-/ora-3.4.0.tgz#bf0752491059a3ef3ed4c85097531de9fdbcd318" - integrity sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg== +ora@5.4.0, ora@^5.4.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.0.tgz#42eda4855835b9cd14d33864c97a3c95a3f56bf4" + integrity sha512-1StwyXQGoU6gdjYkyVcqOLnVlbKj+6yPNNOxJVgpt9t4eksKjiriiHuxktLYkgllwk+D6MbC4ihH84L1udRXPg== dependencies: - chalk "^2.4.2" - cli-cursor "^2.1.0" - cli-spinners "^2.0.0" - log-symbols "^2.2.0" - strip-ansi "^5.2.0" + bl "^4.1.0" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" + strip-ansi "^6.0.0" wcwidth "^1.0.1" original@^1.0.0: From 32e045377f73c01067e2d22b24d64af210bf3846 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 5 May 2021 18:30:24 +1100 Subject: [PATCH 016/151] Bump @babel/core from 7.13.16 to 7.14.0 (#10231) Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.13.16 to 7.14.0. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.14.0/packages/babel-core) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- packages/strapi-admin/package.json | 2 +- packages/strapi-helper-plugin/package.json | 2 +- yarn.lock | 93 ++++++++++++---------- 3 files changed, 51 insertions(+), 46 deletions(-) diff --git a/packages/strapi-admin/package.json b/packages/strapi-admin/package.json index 65f02bc33e..97241a85f4 100644 --- a/packages/strapi-admin/package.json +++ b/packages/strapi-admin/package.json @@ -14,7 +14,7 @@ }, "main": "index.js", "dependencies": { - "@babel/core": "^7.13.16", + "@babel/core": "^7.14.0", "@babel/plugin-proposal-async-generator-functions": "^7.13.15", "@babel/plugin-proposal-class-properties": "^7.12.1", "@babel/plugin-syntax-dynamic-import": "^7.2.0", diff --git a/packages/strapi-helper-plugin/package.json b/packages/strapi-helper-plugin/package.json index b365ca9805..adbe03386c 100644 --- a/packages/strapi-helper-plugin/package.json +++ b/packages/strapi-helper-plugin/package.json @@ -32,7 +32,7 @@ "test": "echo \"no tests yet\"" }, "devDependencies": { - "@babel/core": "^7.13.16", + "@babel/core": "^7.14.0", "@babel/plugin-proposal-class-properties": "^7.12.1", "@babel/preset-env": "^7.13.15", "@babel/preset-react": "^7.13.13", diff --git a/yarn.lock b/yarn.lock index 6c4908db26..e7e3ce5627 100644 --- a/yarn.lock +++ b/yarn.lock @@ -91,20 +91,20 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.13.15.tgz#7e8eea42d0b64fda2b375b22d06c605222e848f4" integrity sha512-ltnibHKR1VnrU4ymHyQ/CXtNXI6yZC0oJThyW78Hft8XndANwi+9H+UIklBDraIjFEJzw8wmcM427oDd9KS5wA== -"@babel/core@>=7.9.0", "@babel/core@^7.1.0", "@babel/core@^7.13.16", "@babel/core@^7.7.5": - version "7.13.16" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.13.16.tgz#7756ab24396cc9675f1c3fcd5b79fcce192ea96a" - integrity sha512-sXHpixBiWWFti0AV2Zq7avpTasr6sIAu7Y396c608541qAU2ui4a193m0KSQmfPSKFZLnQ3cvlKDOm3XkuXm3Q== +"@babel/core@>=7.9.0", "@babel/core@^7.1.0", "@babel/core@^7.14.0", "@babel/core@^7.7.5": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.0.tgz#47299ff3ec8d111b493f1a9d04bf88c04e728d88" + integrity sha512-8YqpRig5NmIHlMLw09zMlPTvUVMILjqCOtVgu+TVNWEBvy9b5I3RRyhqnrV4hjgEK7n8P9OqvkWJAFmEL6Wwfw== dependencies: "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.13.16" + "@babel/generator" "^7.14.0" "@babel/helper-compilation-targets" "^7.13.16" - "@babel/helper-module-transforms" "^7.13.14" - "@babel/helpers" "^7.13.16" - "@babel/parser" "^7.13.16" + "@babel/helper-module-transforms" "^7.14.0" + "@babel/helpers" "^7.14.0" + "@babel/parser" "^7.14.0" "@babel/template" "^7.12.13" - "@babel/traverse" "^7.13.15" - "@babel/types" "^7.13.16" + "@babel/traverse" "^7.14.0" + "@babel/types" "^7.14.0" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -112,12 +112,12 @@ semver "^6.3.0" source-map "^0.5.0" -"@babel/generator@^7.13.16": - version "7.13.16" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.13.16.tgz#0befc287031a201d84cdfc173b46b320ae472d14" - integrity sha512-grBBR75UnKOcUWMp8WoDxNsWCFl//XCK6HWTrBQKTr5SV9f5g0pNOjdyzi/DTBv12S9GnYPInIXQBTky7OXEMg== +"@babel/generator@^7.14.0": + version "7.14.1" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.1.tgz#1f99331babd65700183628da186f36f63d615c93" + integrity sha512-TMGhsXMXCP/O1WtQmZjpEYDhCYC9vFhayWZPJSZCGkPJgUqX0rF0wwtrYvnzVxIjcF80tkUertXVk5cwqi5cAQ== dependencies: - "@babel/types" "^7.13.16" + "@babel/types" "^7.14.1" jsesc "^2.5.1" source-map "^0.5.0" @@ -231,19 +231,19 @@ dependencies: "@babel/types" "^7.13.12" -"@babel/helper-module-transforms@^7.13.0", "@babel/helper-module-transforms@^7.13.14": - version "7.13.14" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.13.14.tgz#e600652ba48ccb1641775413cb32cfa4e8b495ef" - integrity sha512-QuU/OJ0iAOSIatyVZmfqB0lbkVP0kDRiKj34xy+QNsnVZi/PA6BoSoreeqnxxa9EHFAIL0R9XOaAR/G9WlIy5g== +"@babel/helper-module-transforms@^7.13.0", "@babel/helper-module-transforms@^7.14.0": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.0.tgz#8fcf78be220156f22633ee204ea81f73f826a8ad" + integrity sha512-L40t9bxIuGOfpIGA3HNkJhU9qYrf4y5A5LUSw7rGMSn+pcG8dfJ0g6Zval6YJGd2nEjI7oP00fRdnhLKndx6bw== dependencies: "@babel/helper-module-imports" "^7.13.12" "@babel/helper-replace-supers" "^7.13.12" "@babel/helper-simple-access" "^7.13.12" "@babel/helper-split-export-declaration" "^7.12.13" - "@babel/helper-validator-identifier" "^7.12.11" + "@babel/helper-validator-identifier" "^7.14.0" "@babel/template" "^7.12.13" - "@babel/traverse" "^7.13.13" - "@babel/types" "^7.13.14" + "@babel/traverse" "^7.14.0" + "@babel/types" "^7.14.0" "@babel/helper-optimise-call-expression@^7.12.13": version "7.12.13" @@ -302,6 +302,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== +"@babel/helper-validator-identifier@^7.14.0": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288" + integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A== + "@babel/helper-validator-option@^7.12.17": version "7.12.17" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz#d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831" @@ -317,14 +322,14 @@ "@babel/traverse" "^7.13.0" "@babel/types" "^7.13.0" -"@babel/helpers@^7.13.16": - version "7.13.17" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.13.17.tgz#b497c7a00e9719d5b613b8982bda6ed3ee94caf6" - integrity sha512-Eal4Gce4kGijo1/TGJdqp3WuhllaMLSrW6XcL0ulyUAQOuxHcCafZE8KHg9857gcTehsm/v7RcOx2+jp0Ryjsg== +"@babel/helpers@^7.14.0": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.0.tgz#ea9b6be9478a13d6f961dbb5f36bf75e2f3b8f62" + integrity sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg== dependencies: "@babel/template" "^7.12.13" - "@babel/traverse" "^7.13.17" - "@babel/types" "^7.13.17" + "@babel/traverse" "^7.14.0" + "@babel/types" "^7.14.0" "@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13": version "7.13.10" @@ -335,10 +340,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.13.16", "@babel/parser@^7.7.0", "@babel/parser@^7.8.3": - version "7.13.16" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.16.tgz#0f18179b0448e6939b1f3f5c4c355a3a9bcdfd37" - integrity sha512-6bAg36mCwuqLO0hbR+z7PHuqWiCeP7Dzg73OpQwsAB1Eb8HnGEz5xYBzCfbu+YjoaJsJs+qheDxVAuqbt3ILEw== +"@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.14.0", "@babel/parser@^7.7.0", "@babel/parser@^7.8.3": + version "7.14.1" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.1.tgz#1bd644b5db3f5797c4479d89ec1817fe02b84c47" + integrity sha512-muUGEKu8E/ftMTPlNp+mc6zL3E9zKWmF5sDHZ5MSsoTP9Wyz64AhEf9kD08xYJ7w6Hdcu8H550ircnPyWSIF0Q== "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.13.12": version "7.13.12" @@ -986,26 +991,26 @@ "@babel/parser" "^7.12.13" "@babel/types" "^7.12.13" -"@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.13.13", "@babel/traverse@^7.13.15", "@babel/traverse@^7.13.17", "@babel/traverse@^7.4.5", "@babel/traverse@^7.7.0", "@babel/traverse@^7.8.3": - version "7.13.17" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.13.17.tgz#c85415e0c7d50ac053d758baec98b28b2ecfeea3" - integrity sha512-BMnZn0R+X6ayqm3C3To7o1j7Q020gWdqdyP50KEoVqaCO2c/Im7sYZSmVgvefp8TTMQ+9CtwuBp0Z1CZ8V3Pvg== +"@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.14.0", "@babel/traverse@^7.4.5", "@babel/traverse@^7.7.0", "@babel/traverse@^7.8.3": + version "7.14.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.0.tgz#cea0dc8ae7e2b1dec65f512f39f3483e8cc95aef" + integrity sha512-dZ/a371EE5XNhTHomvtuLTUyx6UEoJmYX+DT5zBCQN3McHemsuIaKKYqsc/fs26BEkHs/lBZy0J571LP5z9kQA== dependencies: "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.13.16" + "@babel/generator" "^7.14.0" "@babel/helper-function-name" "^7.12.13" "@babel/helper-split-export-declaration" "^7.12.13" - "@babel/parser" "^7.13.16" - "@babel/types" "^7.13.17" + "@babel/parser" "^7.14.0" + "@babel/types" "^7.14.0" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.13.0", "@babel/types@^7.13.12", "@babel/types@^7.13.14", "@babel/types@^7.13.16", "@babel/types@^7.13.17", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": - version "7.13.17" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.13.17.tgz#48010a115c9fba7588b4437dd68c9469012b38b4" - integrity sha512-RawydLgxbOPDlTLJNtoIypwdmAy//uQIzlKt2+iBiJaRlVuI6QLUxVAyWGNfOzp8Yu4L4lLIacoCyTNtpb4wiA== +"@babel/types@^7.0.0", "@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.13.0", "@babel/types@^7.13.12", "@babel/types@^7.13.14", "@babel/types@^7.14.0", "@babel/types@^7.14.1", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": + version "7.14.1" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.1.tgz#095bd12f1c08ab63eff6e8f7745fa7c9cc15a9db" + integrity sha512-S13Qe85fzLs3gYRUnrpyeIrBJIMYv33qSTg1qoBwiG6nPKwUWAD9odSzWhEedpwOIzSEI6gbdQIWEMiCI42iBA== dependencies: - "@babel/helper-validator-identifier" "^7.12.11" + "@babel/helper-validator-identifier" "^7.14.0" to-fast-properties "^2.0.0" "@bcoe/v8-coverage@^0.2.3": From 458ade114eb2173c92df7488bda02ccaed913ae5 Mon Sep 17 00:00:00 2001 From: Alexandre Bodin Date: Wed, 5 May 2021 09:41:44 +0200 Subject: [PATCH 017/151] Disable dependabot PR for now --- .github/dependabot.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 6e5ac9aee8..52c6e04810 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -7,3 +7,5 @@ updates: versioning-strategy: increase reviewers: - strapi/maintainers + # disable dependency pull requests while we work on v4 + open-pull-requests-limit: 0 From 8117d4786ee4934154c951642c1f170539f438e9 Mon Sep 17 00:00:00 2001 From: HichamELBSI Date: Thu, 6 May 2021 11:04:52 +0200 Subject: [PATCH 018/151] Fix SSO success redirection Signed-off-by: HichamELBSI --- .../strapi-admin/ee/admin/containers/AuthResponse/index.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/strapi-admin/ee/admin/containers/AuthResponse/index.js b/packages/strapi-admin/ee/admin/containers/AuthResponse/index.js index 8c85c72828..feb09fda66 100644 --- a/packages/strapi-admin/ee/admin/containers/AuthResponse/index.js +++ b/packages/strapi-admin/ee/admin/containers/AuthResponse/index.js @@ -28,6 +28,8 @@ const AuthResponse = () => { try { const jwtToken = Cookies.get('jwtToken'); + auth.clearAppStorage(); + if (jwtToken) { auth.setToken(jwtToken, true); const requestUrl = getRequestUrl('users/me'); @@ -49,7 +51,7 @@ const AuthResponse = () => { redirectToOops(); } - if (authResponse === 'success' && !auth.getToken()) { + if (authResponse === 'success') { fetchUserInfo(); } }, [authResponse, fetchUserInfo, redirectToOops]); From 0b31bc3f424aa1c7a06d34ddf183210efced687e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre=20No=C3=ABl?= Date: Fri, 7 May 2021 09:54:55 +0200 Subject: [PATCH 019/151] make listLocales route available (#10255) --- packages/strapi-plugin-i18n/config/routes.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/strapi-plugin-i18n/config/routes.json b/packages/strapi-plugin-i18n/config/routes.json index fcdc7852d4..6933d0be41 100644 --- a/packages/strapi-plugin-i18n/config/routes.json +++ b/packages/strapi-plugin-i18n/config/routes.json @@ -16,7 +16,7 @@ "path": "/locales", "handler": "locales.listLocales", "config": { - "policies": ["admin::isAuthenticatedAdmin"] + "policies": [] } }, { From 3198d19906c20e14a7f2e3056f9b36ae2ac7cee7 Mon Sep 17 00:00:00 2001 From: cyril lopez Date: Fri, 7 May 2021 15:04:16 +0200 Subject: [PATCH 020/151] Fixes #10187 (#10193) Signed-off-by: soupette --- .../admin/src/components/ListRow/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/strapi-plugin-content-type-builder/admin/src/components/ListRow/index.js b/packages/strapi-plugin-content-type-builder/admin/src/components/ListRow/index.js index 11e9882263..17143276aa 100644 --- a/packages/strapi-plugin-content-type-builder/admin/src/components/ListRow/index.js +++ b/packages/strapi-plugin-content-type-builder/admin/src/components/ListRow/index.js @@ -230,7 +230,7 @@ function ListRow({ ) : ( <> - +   {repeatable && } From 81a9a63cad7ebbf06210c0da33d9c7dd1082a9e1 Mon Sep 17 00:00:00 2001 From: Ralph <61593456+ralphsomeday@users.noreply.github.com> Date: Mon, 10 May 2021 09:35:07 +0200 Subject: [PATCH 021/151] GraphQL Plugin (bug): Content type's attributes marked as private are being exposed in the exported GraphQL schema (#9805) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fixes #9804 * Fixes isPrivateAttribute function in strapi utils to take into account the private property within an attribute * removing comment * removing isNotPrivate function + adding call to already existing isPrivateAttribute function instead of isNotPrivate * isPrivateAttribute fixed based on coments from Alexandre and confirmed that the model does indeed contain all private fields in an array at startup time * removing isNotPrivate function and fixing generateEnumDefinitions to use the already available isPrivateAttribute function * checking if created_at and update_at are also marked as private and if this is the case then hiding them * allowIds by default when generating the input model to see if the tests will pass * moving allowIds back to false by default * adding isTypeAttributeEnabled function to check if a type attribute has been disabled and remove it from the exported graphql schema * removing unused var * only using isTypeAttributeEnabled instead of isPrivateAttribute. * adding isPrivateAttribute at association level * Adding isNotPrivate back together with isTypeAttributeEnabled * adding unit test for removing a disabled attribute from a graphql schema * renaming person to player in the test model * Deleting the file as it has been renamed in the strapi master branch * fixing lint issues * fixing some lint issues * adding isTypeAttributeEnabled support * adding enumeration field in graphql * adding use strict; to test file * fixing test checking that disabled attributes in graphql are removed from the graphql schema * adding test for buidShadowCrud * Update packages/strapi-plugin-graphql/services/type-builder.js Co-authored-by: Jean-Sébastien Herbaux Co-authored-by: Rmaroun Co-authored-by: Jean-Sébastien Herbaux --- .../services/shadow-crud.js | 11 +- .../services/type-builder.js | 7 +- .../tests/graphqlSchema.test.e2e.js | 100 ++++++++++++++++++ 3 files changed, 115 insertions(+), 3 deletions(-) create mode 100644 packages/strapi-plugin-graphql/tests/graphqlSchema.test.e2e.js diff --git a/packages/strapi-plugin-graphql/services/shadow-crud.js b/packages/strapi-plugin-graphql/services/shadow-crud.js index 88e48eab64..d0bec96071 100644 --- a/packages/strapi-plugin-graphql/services/shadow-crud.js +++ b/packages/strapi-plugin-graphql/services/shadow-crud.js @@ -77,6 +77,8 @@ const getMutationInfo = (schema, name) => { return _.get(schema, `resolver.Mutation.${name}`, {}); }; +const isTypeAttributeEnabled = (model, attr) => + _.get(strapi.plugins.graphql, `config._schema.graphql.type.${model.globalId}.${attr}`) !== false; const isNotPrivate = _.curry((model, attributeName) => { return !contentTypes.isPrivateAttribute(model, attributeName); }); @@ -105,6 +107,7 @@ const buildTypeDefObj = model => { Object.keys(attributes) .filter(isNotPrivate(model)) + .filter(attributeName => isTypeAttributeEnabled(model, attributeName)) .forEach(attributeName => { const attribute = attributes[attributeName]; // Convert our type to the GraphQL type. @@ -119,6 +122,7 @@ const buildTypeDefObj = model => { associations .filter(association => association.type === 'collection') .filter(association => isNotPrivate(model, association.alias)) + .filter(attributeName => isTypeAttributeEnabled(model, attributeName)) .forEach(association => { typeDef[`${association.alias}(sort: String, limit: Int, start: Int, where: JSON)`] = typeDef[association.alias]; @@ -129,9 +133,11 @@ const buildTypeDefObj = model => { return typeDef; }; -const generateEnumDefinitions = (attributes, globalId) => { +const generateEnumDefinitions = (model, globalId) => { + const { attributes } = model; return Object.keys(attributes) .filter(attribute => attributes[attribute].type === 'enumeration') + .filter(attribute => isTypeAttributeEnabled(model, attribute)) .map(attribute => { const definition = attributes[attribute]; @@ -203,6 +209,7 @@ const buildAssocResolvers = model => { return associations .filter(association => isNotPrivate(model, association.alias)) + .filter(association => isTypeAttributeEnabled(model, association.alias)) .reduce((resolver, association) => { const target = association.model || association.collection; const targetModel = strapi.getModel(target, association.plugin); @@ -363,7 +370,7 @@ const buildModelDefinition = (model, globalType = {}) => { typeDefObj, }; - schema.definition += generateEnumDefinitions(model.attributes, globalId); + schema.definition += generateEnumDefinitions(model, globalId); generateDynamicZoneDefinitions(model.attributes, globalId, schema); const description = getTypeDescription(globalType, model); diff --git a/packages/strapi-plugin-graphql/services/type-builder.js b/packages/strapi-plugin-graphql/services/type-builder.js index 0584a8bd3e..e1c9da52ff 100644 --- a/packages/strapi-plugin-graphql/services/type-builder.js +++ b/packages/strapi-plugin-graphql/services/type-builder.js @@ -17,6 +17,8 @@ const Time = require('../types/time'); const { toSingular, toInputName } = require('./naming'); const isScalarAttribute = ({ type }) => type && !['component', 'dynamiczone'].includes(type); +const isTypeAttributeEnabled = (model, attr) => + _.get(strapi.plugins.graphql, `config._schema.graphql.type.${model.globalId}.${attr}`) !== false; module.exports = { /** @@ -215,8 +217,9 @@ module.exports = { generateInputModel(model, name, { allowIds = false } = {}) { const globalId = model.globalId; const inputName = `${_.upperFirst(toSingular(name))}Input`; + const hasAllAttributesDisabled = Object.keys(model.attributes).every(attr => !isTypeAttributeEnabled(model, attr)); - if (_.isEmpty(model.attributes)) { + if (_.isEmpty(model.attributes) || hasAllAttributesDisabled) { return ` input ${inputName} { _: String @@ -232,6 +235,7 @@ module.exports = { input ${inputName} { ${Object.keys(model.attributes) + .filter(attributeName => isTypeAttributeEnabled(model, attributeName)) .map(attributeName => { return `${attributeName}: ${this.convertType({ attribute: model.attributes[attributeName], @@ -246,6 +250,7 @@ module.exports = { input edit${inputName} { ${allowIds ? 'id: ID' : ''} ${Object.keys(model.attributes) + .filter(attributeName => isTypeAttributeEnabled(model, attributeName)) .map(attributeName => { return `${attributeName}: ${this.convertType({ attribute: model.attributes[attributeName], diff --git a/packages/strapi-plugin-graphql/tests/graphqlSchema.test.e2e.js b/packages/strapi-plugin-graphql/tests/graphqlSchema.test.e2e.js new file mode 100644 index 0000000000..f4bf2bcbfe --- /dev/null +++ b/packages/strapi-plugin-graphql/tests/graphqlSchema.test.e2e.js @@ -0,0 +1,100 @@ +'use strict'; + +const types = require('../services/type-builder'); +const buildShadowCrud = require('../services/shadow-crud'); + +const playerModel = { + attributes: { + lastname: { + type: 'text', + }, + firstname: { + type: 'text', + }, + age: { + type: 'integer', + }, + level: { + type: 'enumeration', + enum: [ + 'amateur', + 'intermediary', + 'pro' + ], + default: 'amateur', + }, + }, + connection: 'default', + name: 'player', + description: '', + collectionName: '', + globalId: 'Player', + kind: 'collectionType', + modelName: 'player' +}; + +describe('generateInputModel', () => { + test('removes disabled attributes', () => { + global.strapi = { + plugins: { + graphql: { + config: { + _schema: { + graphql: { + type: { + Player: { + age: false, + level: false, + }, + }, + }, + }, + }, + }, + }, + }; + expect(types.generateInputModel(playerModel, 'player')).toEqual( + ` + input PlayerInput { + + lastname: String +firstname: String + } + + input editPlayerInput { + + lastname: String +firstname: String + } + ` + ); + }); +}); + +describe('buildShadowCrud', () => { + test('removes disabled attributes', () => { + global.strapi = { + plugins: { + graphql: { + config: { + _schema: { + graphql: { + type: { + Player: { + age: false, + level: false, + }, + }, + }, + }, + }, + }, + }, + }; + global.strapi.contentTypes = [playerModel] + global.strapi.components = {} + expect(JSON.stringify(buildShadowCrud({}))).toEqual( + '{"definition":"\\ntype Player {id: ID!\\nundefined: ID!\\nlastname: String\\nfirstname: String}\\n\\n input PlayerInput {\\n\\n lastname: String\\nfirstname: String\\n }\\n\\n input editPlayerInput {\\n \\n lastname: String\\nfirstname: String\\n }\\n ","query":{},"mutation":{},"resolvers":{"Query":{},"Mutation":{},"Player":{}}}' + ); + }); +}); \ No newline at end of file From 934a47eb347496eb65ec2be1803ab9b5bfe1b91f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-S=C3=A9bastien=20Herbaux?= Date: Mon, 10 May 2021 11:24:45 +0200 Subject: [PATCH 022/151] Add possibility to set "required" RBAC conditions (#10185) * Add optional property 'required' to rbac conditions Signed-off-by: Convly * Fix tests, remove object handler support & fix bug (pm.queryFrom) * Remove required property, handle required conditions at the engine level (raw) * Update EE snapshots * Add hasSuperAdminRole util --- .../__tests__/condition-domain.test.js | 14 +- .../strapi-admin/domain/condition/index.js | 2 +- .../__tests__/permissions-manager.test.js | 47 ++++++- .../__tests__/permissions.engine.test.js | 33 +++-- .../services/permission/engine-hooks.js | 82 +++++++++++ .../services/permission/engine.js | 133 +++++++++++------- .../permission/permissions-manager/index.js | 18 ++- .../permissions-manager/query-builers.js | 4 +- packages/strapi-admin/services/role.js | 12 ++ .../tests/admin-permission.test.e2e.js | 10 -- .../lib/buildQuery.js | 18 ++- .../config/functions/bootstrap.js | 5 +- .../services/permissions.js | 2 - .../services/permissions/conditions.js | 36 ----- .../services/permissions/engine.js | 31 +++- packages/strapi-utils/lib/build-query.js | 2 +- .../lib/convert-rest-query-params.js | 4 +- 17 files changed, 305 insertions(+), 148 deletions(-) create mode 100644 packages/strapi-admin/services/permission/engine-hooks.js delete mode 100644 packages/strapi-plugin-i18n/services/permissions/conditions.js diff --git a/packages/strapi-admin/domain/condition/__tests__/condition-domain.test.js b/packages/strapi-admin/domain/condition/__tests__/condition-domain.test.js index 958d8c3af4..d2d6136ab5 100644 --- a/packages/strapi-admin/domain/condition/__tests__/condition-domain.test.js +++ b/packages/strapi-admin/domain/condition/__tests__/condition-domain.test.js @@ -48,9 +48,14 @@ describe('Condition Domain', () => { describe('create', () => { test('Should register a condition with the minimum amount of information', () => { - const condition = { handler: { foo: 'bar' }, name: 'foo', displayName: 'Foo' }; + const handler = jest.fn(() => ({ foo: 'bar' })); + const condition = { + handler, + name: 'foo', + displayName: 'Foo', + }; const expected = { - handler: { foo: 'bar' }, + handler, id: 'application::foo', displayName: 'Foo', category: 'default', @@ -62,11 +67,12 @@ describe('Condition Domain', () => { }); test('Should handle multiple step of transformation', () => { + const handler = jest.fn(() => ({ foo: 'bar' })); const condition = { name: 'foo', plugin: 'bar', displayName: 'Foo', - handler: { foo: 'bar' }, + handler, invalidAttribute: 'foobar', }; @@ -75,7 +81,7 @@ describe('Condition Domain', () => { category: 'default', plugin: 'bar', displayName: 'Foo', - handler: { foo: 'bar' }, + handler, }; const result = domain.create(condition); diff --git a/packages/strapi-admin/domain/condition/index.js b/packages/strapi-admin/domain/condition/index.js index 21e2e55f23..cd2f9e646d 100644 --- a/packages/strapi-admin/domain/condition/index.js +++ b/packages/strapi-admin/domain/condition/index.js @@ -4,7 +4,7 @@ const { pipe, merge, set, pick } = require('lodash/fp'); /** * The handler of a {@link Condition} - * @typedef {Object | (function(user: Object, options: Object): Object | boolean)} ConditionHandler + * @typedef {(function(user: Object, options: Object): Object | boolean)} ConditionHandler */ /** * Domain representation of a Condition (RBAC) diff --git a/packages/strapi-admin/services/__tests__/permissions-manager.test.js b/packages/strapi-admin/services/__tests__/permissions-manager.test.js index d6bf586b72..751a7d1a69 100644 --- a/packages/strapi-admin/services/__tests__/permissions-manager.test.js +++ b/packages/strapi-admin/services/__tests__/permissions-manager.test.js @@ -1,9 +1,40 @@ 'use strict'; -const { defineAbility } = require('@casl/ability'); +const { AbilityBuilder, Ability } = require('@casl/ability'); +const { pick } = require('lodash/fp'); +const sift = require('sift'); const { buildStrapiQuery } = require('../permission/permissions-manager/query-builers'); const createPermissionsManager = require('../permission/permissions-manager'); +const allowedOperations = [ + '$or', + '$and', + '$eq', + '$ne', + '$in', + '$nin', + '$lt', + '$lte', + '$gt', + '$gte', + '$exists', + '$elemMatch', +]; + +const operations = pick(allowedOperations, sift); + +const conditionsMatcher = conditions => { + return sift.createQueryTester(conditions, { operations }); +}; + +const defineAbility = register => { + const { can, build } = new AbilityBuilder(Ability); + + register(can); + + return build({ conditionsMatcher }); +}; + describe('Permissions Manager', () => { describe('get Query', () => { test('It should returns an empty query when no conditions are defined', async () => { @@ -18,14 +49,14 @@ describe('Permissions Manager', () => { }); test('It should returns a valid query from the ability', () => { - const ability = defineAbility(can => can('read', 'foo', ['bar'], { kai: 'doe' })); + const ability = defineAbility(can => can('read', 'foo', ['bar'], { $and: [{ kai: 'doe' }] })); const pm = createPermissionsManager({ ability, action: 'read', model: 'foo', }); - const expected = { _or: [{ kai: 'doe' }] }; + const expected = [{ kai: 'doe' }]; expect(pm.getQuery()).toStrictEqual(expected); }); @@ -149,18 +180,20 @@ describe('Permissions Manager', () => { }); describe('queryFrom', () => { - const ability = defineAbility(can => can('read', 'article', ['title'], { title: 'foo' })); + const ability = defineAbility(can => + can('read', 'article', ['title'], { $and: [{ title: 'foo' }] }) + ); const pm = createPermissionsManager({ ability, action: 'read', model: 'article', }); - const pmQuery = { _or: [{ title: 'foo' }] }; + const pmQuery = [{ title: 'foo' }]; test('Create query from simple object', () => { const query = { _limit: 100 }; - const expected = { _limit: 100, _where: [pmQuery] }; + const expected = { _limit: 100, _where: pmQuery }; const res = pm.queryFrom(query); @@ -171,7 +204,7 @@ describe('Permissions Manager', () => { const query = { _limit: 100, _where: [{ a: 'b' }, { c: 'd' }] }; const expected = { _limit: 100, - _where: [pmQuery, { a: 'b' }, { c: 'd' }], + _where: [{ a: 'b' }, { c: 'd' }, ...pmQuery], }; const res = pm.queryFrom(query); diff --git a/packages/strapi-admin/services/__tests__/permissions.engine.test.js b/packages/strapi-admin/services/__tests__/permissions.engine.test.js index c6fbbaf080..269a9df814 100644 --- a/packages/strapi-admin/services/__tests__/permissions.engine.test.js +++ b/packages/strapi-admin/services/__tests__/permissions.engine.test.js @@ -102,7 +102,7 @@ describe('Permissions Engine', () => { plugin: 'test', name: 'isContainedIn', category: 'default', - handler: { firstname: { $in: ['Alice', 'Foo'] } }, + handler: () => ({ firstname: { $in: ['Alice', 'Foo'] } }), }, ], }; @@ -268,7 +268,7 @@ describe('Permissions Engine', () => { }); describe('Evaluate', () => { - test('It should register the permission (no conditions / true result)', async () => { + test('It should register the permission (no conditions)', async () => { const permission = { action: 'read', subject: 'article', properties: { fields: ['title'] } }; const user = getUser('alice'); const registerFn = jest.fn(); @@ -278,11 +278,10 @@ describe('Permissions Engine', () => { expect(registerFn).toHaveBeenCalledWith({ ..._.pick(permission, ['action', 'subject']), fields: permission.properties.fields, - condition: true, }); }); - test('It should register the permission (conditions / true result)', async () => { + test('It should register the permission without a condition (non required true result)', async () => { const permission = { action: 'read', subject: 'article', @@ -297,7 +296,6 @@ describe('Permissions Engine', () => { const expected = { ..._.omit(permission, ['conditions', 'properties']), fields: permission.properties.fields, - condition: true, }; expect(registerFn).toHaveBeenCalledWith(expected); @@ -318,7 +316,7 @@ describe('Permissions Engine', () => { expect(registerFn).not.toHaveBeenCalled(); }); - test('It should register the permission (conditions / object result)', async () => { + test('It should register the permission (non required object result)', async () => { const permission = { action: 'read', subject: 'article', @@ -338,7 +336,13 @@ describe('Permissions Engine', () => { const expected = { ..._.omit(permission, ['conditions', 'properties']), fields: permission.properties.fields, - condition: { created_by: user.firstname }, + condition: { + $and: [ + { + $or: [{ created_by: user.firstname }], + }, + ], + }, }; expect(registerFn).toHaveBeenCalledWith(expected); @@ -351,18 +355,23 @@ describe('Permissions Engine', () => { beforeEach(() => { can = jest.fn(); - registerFn = engine.createRegisterFunction(can); + registerFn = engine.createRegisterFunction(can, {}, {}); }); - test('It should calls the can function without any condition', () => { - registerFn({ action: 'read', subject: 'article', fields: '*', condition: true }); + test('It should calls the can function without any condition', async () => { + await registerFn({ action: 'read', subject: 'article', fields: '*', condition: true }); expect(can).toHaveBeenCalledTimes(1); expect(can).toHaveBeenCalledWith('read', 'article', '*', undefined); }); - test('It should calls the can function with a condition', () => { - registerFn({ action: 'read', subject: 'article', fields: '*', condition: { created_by: 1 } }); + test('It should calls the can function with a condition', async () => { + await registerFn({ + action: 'read', + subject: 'article', + fields: '*', + condition: { created_by: 1 }, + }); expect(can).toHaveBeenCalledTimes(1); expect(can).toHaveBeenCalledWith('read', 'article', '*', { created_by: 1 }); diff --git a/packages/strapi-admin/services/permission/engine-hooks.js b/packages/strapi-admin/services/permission/engine-hooks.js new file mode 100644 index 0000000000..540ed875c1 --- /dev/null +++ b/packages/strapi-admin/services/permission/engine-hooks.js @@ -0,0 +1,82 @@ +'use strict'; + +const { cloneDeep, has } = require('lodash/fp'); +const { hooks } = require('strapi-utils'); + +const permissionDomain = require('../../domain/permission'); + +/** + * Create a hook map used by the permission Engine + */ +const createEngineHooks = () => ({ + willEvaluatePermission: hooks.createAsyncSeriesHook(), + willRegisterPermission: hooks.createAsyncSeriesHook(), +}); + +/** + * Create a context from a domain {@link Permission} used by the WillEvaluate hook + * @param {Permission} permission + * @return {{readonly permission: Permission, addCondition(string): this}} + */ +const createWillEvaluateContext = permission => ({ + get permission() { + return cloneDeep(permission); + }, + + addCondition(condition) { + Object.assign(permission, permissionDomain.addCondition(condition, permission)); + + return this; + }, +}); + +/** + * Create a context from a casl Permission & some options + * @param caslPermission + * @param {object} options + * @param {Permission} options.permission + * @param {object} options.user + */ +const createWillRegisterContext = (caslPermission, { permission, user }) => ({ + get permission() { + return cloneDeep(permission); + }, + + get user() { + return cloneDeep(user); + }, + + condition: { + and(rawConditionObject) { + if (!caslPermission.condition) { + Object.assign(caslPermission, { condition: { $and: [] } }); + } + + caslPermission.condition.$and.push(rawConditionObject); + + return this; + }, + + or(rawConditionObject) { + if (!caslPermission.condition) { + Object.assign(caslPermission, { condition: { $and: [] } }); + } + + const orClause = caslPermission.condition.$and.find(has('$or')); + + if (orClause) { + orClause.$or.push(rawConditionObject); + } else { + caslPermission.condition.$and.push({ $or: [rawConditionObject] }); + } + + return this; + }, + }, +}); + +module.exports = { + createEngineHooks, + createWillEvaluateContext, + createWillRegisterContext, +}; diff --git a/packages/strapi-admin/services/permission/engine.js b/packages/strapi-admin/services/permission/engine.js index 7731780342..326bc0c39d 100644 --- a/packages/strapi-admin/services/permission/engine.js +++ b/packages/strapi-admin/services/permission/engine.js @@ -4,8 +4,9 @@ const { curry, map, filter, - each, + propEq, isFunction, + isBoolean, isArray, isEmpty, isObject, @@ -17,12 +18,17 @@ const { } = require('lodash/fp'); const { AbilityBuilder, Ability } = require('@casl/ability'); const sift = require('sift'); -const { hooks } = require('strapi-utils'); const permissionDomain = require('../../domain/permission/index'); const { getService } = require('../../utils'); +const { + createEngineHooks, + createWillEvaluateContext, + createWillRegisterContext, +} = require('./engine-hooks'); const allowedOperations = [ '$or', + '$and', '$eq', '$ne', '$in', @@ -40,23 +46,9 @@ const conditionsMatcher = conditions => { return sift.createQueryTester(conditions, { operations }); }; -const createBoundAbstractPermissionDomain = permission => ({ - get permission() { - return cloneDeep(permission); - }, - - addCondition(condition) { - Object.assign(permission, permissionDomain.addCondition(condition, permission)); - - return this; - }, -}); - module.exports = conditionProvider => { const state = { - hooks: { - willEvaluatePermission: hooks.createAsyncSeriesHook(), - }, + hooks: createEngineHooks(), }; return { @@ -83,9 +75,10 @@ module.exports = conditionProvider => { generateAbilityCreatorFor(user) { return async (permissions, options) => { const { can, build } = new AbilityBuilder(Ability); - const registerFn = this.createRegisterFunction(can); for (const permission of permissions) { + const registerFn = this.createRegisterFunction(can, permission, user); + await this.evaluate({ permission, user, options, registerFn }); } @@ -138,7 +131,7 @@ module.exports = conditionProvider => { * @returns {Promise} */ async applyPermissionProcessors(permission) { - const context = createBoundAbstractPermissionDomain(permission); + const context = createWillEvaluateContext(permission); // 1. Trigger willEvaluatePermission hook and await transformation operated on the permission await state.hooks.willEvaluatePermission.call(context); @@ -171,7 +164,7 @@ module.exports = conditionProvider => { // Register the permission if there is no condition if (isEmpty(conditions)) { - return registerFn({ action, subject, fields: properties.fields, condition: true }); + return registerFn({ action, subject, fields: properties.fields }); } /** Set of functions used to resolve + evaluate conditions & register the permission if allowed */ @@ -179,58 +172,90 @@ module.exports = conditionProvider => { // 1. Replace each condition name by its associated value const resolveConditions = map(conditionProvider.get); - // 2. Only keep the handler of each condition - const pickHandlers = map(prop('handler')); + // 2. Filter conditions, only keep those whose handler is a function + const filterValidConditions = filter(condition => isFunction(condition.handler)); - // 3. Filter conditions, only keep objects and functions - const filterValidConditions = filter(isObject); - - // 4. Evaluate the conditions if they're a function, returns the object otherwise + // 3. Evaluate the conditions handler and returns an object + // containing both the original condition and its result const evaluateConditions = conditions => { return Promise.all( - conditions.map(cond => - isFunction(cond) - ? cond(user, merge(conditionOptions, { permission: cloneDeep(permission) })) - : cond - ) + conditions.map(async condition => ({ + condition, + result: await condition.handler( + user, + merge(conditionOptions, { permission: cloneDeep(permission) }) + ), + })) ); }; - // 5. Only keeps 'true' booleans or objects as condition's result - const filterValidResults = filter(result => result === true || isObject(result)); - - // 6. Transform each result into registerFn options - const transformToRegisterOptions = map(result => ({ - action, - subject, - fields: properties.fields, - condition: result, - })); - - // 7. Register each result using the registerFn - const registerResults = each(registerFn); + // 4. Only keeps booleans or objects as condition's result + const filterValidResults = filter(({ result }) => isBoolean(result) || isObject(result)); /**/ - // Execute all the steps needed to register the permission with its associated conditions - await Promise.resolve(conditions) + const evaluatedConditions = await Promise.resolve(conditions) .then(resolveConditions) - .then(pickHandlers) .then(filterValidConditions) .then(evaluateConditions) - .then(filterValidResults) - .then(transformToRegisterOptions) - .then(registerResults); + .then(filterValidResults); + + // Utils + const resultPropEq = propEq('result'); + const pickResults = map(prop('result')); + + if (evaluatedConditions.every(resultPropEq(false))) { + return; + } + + // If there is no condition or if one of them return true, register the permission as is + if (isEmpty(evaluatedConditions) || evaluatedConditions.some(resultPropEq(true))) { + return registerFn({ action, subject, fields: properties.fields }); + } + + const results = pickResults(evaluatedConditions).filter(isObject); + + if (isEmpty(results)) { + return registerFn({ action, subject, fields: properties.fields }); + } + + // Register the permission + return registerFn({ + action, + subject, + fields: properties.fields, + condition: { $and: [{ $or: results }] }, + }); }, /** * Encapsulate a register function with custom params to fit `evaluatePermission`'s syntax * @param can - * @returns {function({action?: *, subject?: *, fields?: *, condition?: *}): *} + * @param {Permission} permission + * @param {object} user + * @returns {function} */ - createRegisterFunction(can) { - return ({ action, subject, fields, condition }) => { - return can(action, subject, fields, isObject(condition) ? condition : undefined); + createRegisterFunction(can, permission, user) { + const registerToCasl = caslPermission => { + const { action, subject, fields, condition } = caslPermission; + + can(action, subject, fields, isObject(condition) ? condition : undefined); + }; + + const runWillRegisterHook = async caslPermission => { + const hookContext = createWillRegisterContext(caslPermission, { + permission, + user, + }); + + await state.hooks.willRegisterPermission.call(hookContext); + + return caslPermission; + }; + + return async caslPermission => { + await runWillRegisterHook(caslPermission); + registerToCasl(caslPermission); }; }, diff --git a/packages/strapi-admin/services/permission/permissions-manager/index.js b/packages/strapi-admin/services/permission/permissions-manager/index.js index 754179b009..69ddca7e2b 100644 --- a/packages/strapi-admin/services/permission/permissions-manager/index.js +++ b/packages/strapi-admin/services/permission/permissions-manager/index.js @@ -1,6 +1,7 @@ 'use strict'; const _ = require('lodash'); +const { cloneDeep, isObject, set, isArray } = require('lodash/fp'); const { subject: asSubject } = require('@casl/ability'); const { permittedFieldsOf } = require('@casl/ability/extra'); const { @@ -36,10 +37,19 @@ module.exports = ({ ability, action, model }) => ({ queryFrom(query = {}, action) { const permissionQuery = this.getQuery(action); - return { - ...query, - _where: query._where ? _.concat(permissionQuery, query._where) : [permissionQuery], - }; + + const newQuery = cloneDeep(query); + const { _where } = query; + + if (isObject(_where) && !isArray(_where)) { + Object.assign(newQuery, { _where: [_where] }); + } + + if (!_where) { + Object.assign(newQuery, { _where: [] }); + } + + return set('_where', newQuery._where.concat(permissionQuery), newQuery); }, sanitize(data, options = {}) { diff --git a/packages/strapi-admin/services/permission/permissions-manager/query-builers.js b/packages/strapi-admin/services/permission/permissions-manager/query-builers.js index 6c4f0fce3b..c16d321726 100644 --- a/packages/strapi-admin/services/permission/permissions-manager/query-builers.js +++ b/packages/strapi-admin/services/permission/permissions-manager/query-builers.js @@ -6,13 +6,13 @@ const { VALID_REST_OPERATORS } = require('strapi-utils'); const ops = { common: VALID_REST_OPERATORS.map(op => `$${op}`), - boolean: ['$or'], + boolean: ['$or', '$and'], cleanable: ['$elemMatch'], }; const buildCaslQuery = (ability, action, model) => { const query = rulesToQuery(ability, action, model, o => o.conditions); - return query && _.has(query, '$or') ? _.pick(query, '$or') : {}; + return _.get(query, '$or[0].$and', {}); }; const buildStrapiQuery = caslQuery => { diff --git a/packages/strapi-admin/services/role.js b/packages/strapi-admin/services/role.js index f85e0637a2..89700d9b23 100644 --- a/packages/strapi-admin/services/role.js +++ b/packages/strapi-admin/services/role.js @@ -430,6 +430,17 @@ const resetSuperAdminPermissions = async () => { await assignPermissions(superAdminRole.id, transformedPermissions); }; +/** + * Check if a user object includes the super admin role + * @param {object} user + * @return {boolean} + */ +const hasSuperAdminRole = user => { + const roles = _.get(user, 'roles', []); + + return roles.map(prop('code')).includes(SUPER_ADMIN_CODE); +}; + module.exports = { hooks, sanitizeRole, @@ -448,6 +459,7 @@ module.exports = { createRolesIfNoneExist, displayWarningIfNoSuperAdmin, addPermissions, + hasSuperAdminRole, assignPermissions, resetSuperAdminPermissions, checkRolesIdForDeletion, diff --git a/packages/strapi-admin/tests/admin-permission.test.e2e.js b/packages/strapi-admin/tests/admin-permission.test.e2e.js index 8fd8a136df..c6074fa3b6 100644 --- a/packages/strapi-admin/tests/admin-permission.test.e2e.js +++ b/packages/strapi-admin/tests/admin-permission.test.e2e.js @@ -39,11 +39,6 @@ describe('Role CRUD End to End', () => { expect(sortedData).toMatchInlineSnapshot(` Object { "conditions": Array [ - Object { - "category": "default", - "displayName": "Has Locale Access", - "id": "plugins::i18n.has-locale-access", - }, Object { "category": "default", "displayName": "Is creator", @@ -493,11 +488,6 @@ describe('Role CRUD End to End', () => { expect(sortedData).toMatchInlineSnapshot(` Object { "conditions": Array [ - Object { - "category": "default", - "displayName": "Has Locale Access", - "id": "plugins::i18n.has-locale-access", - }, Object { "category": "default", "displayName": "Is creator", diff --git a/packages/strapi-connector-bookshelf/lib/buildQuery.js b/packages/strapi-connector-bookshelf/lib/buildQuery.js index 321c32d0b5..b2692a7014 100644 --- a/packages/strapi-connector-bookshelf/lib/buildQuery.js +++ b/packages/strapi-connector-bookshelf/lib/buildQuery.js @@ -5,7 +5,7 @@ const { keys, each, prop, isEmpty } = require('lodash/fp'); const { singular } = require('pluralize'); const { toQueries, runPopulateQueries } = require('./utils/populate-queries'); -const BOOLEAN_OPERATORS = ['or']; +const BOOLEAN_OPERATORS = ['or', 'and']; /** * Build filters on a bookshelf query @@ -296,7 +296,7 @@ const buildJoinsAndFilter = (qb, model, filters) => { * @param {Object} options.value - Filter value */ const buildWhereClause = ({ qb, field, operator, value }) => { - if (Array.isArray(value) && !['or', 'in', 'nin'].includes(operator)) { + if (Array.isArray(value) && !['and', 'or', 'in', 'nin'].includes(operator)) { return qb.where(subQb => { for (let val of value) { subQb.orWhere(q => buildWhereClause({ qb: q, field, operator, value: val })); @@ -305,6 +305,20 @@ const buildWhereClause = ({ qb, field, operator, value }) => { } switch (operator) { + case 'and': + return qb.where(andQb => { + value.forEach(andClause => { + andQb.where(subQb => { + if (Array.isArray(andClause)) { + andClause.forEach(clause => + subQb.where(andQb => buildWhereClause({ qb: andQb, ...clause })) + ); + } else { + buildWhereClause({ qb: subQb, ...andClause }); + } + }); + }); + }); case 'or': return qb.where(orQb => { value.forEach(orClause => { diff --git a/packages/strapi-plugin-i18n/config/functions/bootstrap.js b/packages/strapi-plugin-i18n/config/functions/bootstrap.js index 9be4f2e7e1..292b00ec33 100644 --- a/packages/strapi-plugin-i18n/config/functions/bootstrap.js +++ b/packages/strapi-plugin-i18n/config/functions/bootstrap.js @@ -6,7 +6,7 @@ module.exports = async () => { const { sendDidInitializeEvent } = getService('metrics'); const { decorator } = getService('entity-service-decorator'); const { initDefaultLocale } = getService('locales'); - const { sectionsBuilder, actions, conditions, engine } = getService('permissions'); + const { sectionsBuilder, actions, engine } = getService('permissions'); // Entity Service strapi.entityService.decorate(decorator); @@ -22,9 +22,6 @@ module.exports = async () => { actions.registerI18nActionsHooks(); actions.updateActionsProperties(); - // Conditions - await conditions.registerI18nConditions(); - // Engine/Permissions engine.registerI18nPermissionsHandlers(); diff --git a/packages/strapi-plugin-i18n/services/permissions.js b/packages/strapi-plugin-i18n/services/permissions.js index b835eea7c7..66bae611d5 100644 --- a/packages/strapi-plugin-i18n/services/permissions.js +++ b/packages/strapi-plugin-i18n/services/permissions.js @@ -1,13 +1,11 @@ 'use strict'; const i18nActionsService = require('./permissions/actions'); -const i18nConditionsService = require('./permissions/conditions'); const sectionsBuilderService = require('./permissions/sections-builder'); const engineService = require('./permissions/engine'); module.exports = { actions: i18nActionsService, - conditions: i18nConditionsService, sectionsBuilder: sectionsBuilderService, engine: engineService, }; diff --git a/packages/strapi-plugin-i18n/services/permissions/conditions.js b/packages/strapi-plugin-i18n/services/permissions/conditions.js deleted file mode 100644 index 9d2d060c56..0000000000 --- a/packages/strapi-plugin-i18n/services/permissions/conditions.js +++ /dev/null @@ -1,36 +0,0 @@ -'use strict'; - -const conditions = [ - { - displayName: 'Has Locale Access', - name: 'has-locale-access', - plugin: 'i18n', - handler: (user, options) => { - const { locales } = options.permission.properties || {}; - const { superAdminCode } = strapi.admin.services.role.constants; - - const isSuperAdmin = user.roles.some(role => role.code === superAdminCode); - - if (isSuperAdmin) { - return true; - } - - return { - locale: { - $in: locales || [], - }, - }; - }, - }, -]; - -const registerI18nConditions = async () => { - const { conditionProvider } = strapi.admin.services.permission; - - await conditionProvider.registerMany(conditions); -}; - -module.exports = { - conditions, - registerI18nConditions, -}; diff --git a/packages/strapi-plugin-i18n/services/permissions/engine.js b/packages/strapi-plugin-i18n/services/permissions/engine.js index f7d4c6aa7c..916d344820 100644 --- a/packages/strapi-plugin-i18n/services/permissions/engine.js +++ b/packages/strapi-plugin-i18n/services/permissions/engine.js @@ -2,16 +2,29 @@ const { getService } = require('../../utils'); +/** + * @typedef {object} WillRegisterPermissionContext + * @property {Permission} permission + * @property {object} user + * @property {object} condition + */ + /** * Locales property handler for the permission engine * Add the has-locale-access condition if the locales property is defined - * @param {Permission} permission - * @param {function(string)} addCondition + * @param {WillRegisterPermissionContext} context */ -const willEvaluatePermissionHandler = ({ permission, addCondition }) => { +const willRegisterPermission = context => { + const { permission, condition, user } = context; const { subject, properties } = permission; - const { locales } = properties || {}; + const isSuperAdmin = strapi.admin.services.role.hasSuperAdminRole(user); + + if (isSuperAdmin) { + return; + } + + const { locales } = properties || {}; const { isLocalizedContentType } = getService('content-types'); // If there is no subject defined, ignore the permission @@ -31,16 +44,20 @@ const willEvaluatePermissionHandler = ({ permission, addCondition }) => { return; } - addCondition('plugins::i18n.has-locale-access'); + condition.and({ + locale: { + $in: locales || [], + }, + }); }; const registerI18nPermissionsHandlers = () => { const { engine } = strapi.admin.services.permission; - engine.hooks.willEvaluatePermission.register(willEvaluatePermissionHandler); + engine.hooks.willRegisterPermission.register(willRegisterPermission); }; module.exports = { - willEvaluatePermissionHandler, + willRegisterPermission, registerI18nPermissionsHandlers, }; diff --git a/packages/strapi-utils/lib/build-query.js b/packages/strapi-utils/lib/build-query.js index 158a0924a0..8c64d04d02 100644 --- a/packages/strapi-utils/lib/build-query.js +++ b/packages/strapi-utils/lib/build-query.js @@ -90,7 +90,7 @@ const normalizeFieldName = ({ model, field }) => { : fieldPath.join('.'); }; -const BOOLEAN_OPERATORS = ['or']; +const BOOLEAN_OPERATORS = ['or', 'and']; const hasDeepFilters = ({ where = [], sort = [] }, { minDepth = 1 } = {}) => { // A query uses deep filtering if some of the clauses contains a sort or a match expression on a field of a relation diff --git a/packages/strapi-utils/lib/convert-rest-query-params.js b/packages/strapi-utils/lib/convert-rest-query-params.js index 6ef73209c4..e742b4a2e5 100644 --- a/packages/strapi-utils/lib/convert-rest-query-params.js +++ b/packages/strapi-utils/lib/convert-rest-query-params.js @@ -10,8 +10,8 @@ const { constants: { DP_PUB_STATES }, } = require('./content-types'); -const BOOLEAN_OPERATORS = ['or']; -const QUERY_OPERATORS = ['_where', '_or']; +const BOOLEAN_OPERATORS = ['or', 'and']; +const QUERY_OPERATORS = ['_where', '_or', '_and']; /** * Global converter From 436d9fdab519bdb83e907f257b873fc698cae2f0 Mon Sep 17 00:00:00 2001 From: cyril lopez Date: Mon, 10 May 2021 11:25:35 +0200 Subject: [PATCH 023/151] Upgrade @buffet.js (#10270) Signed-off-by: soupette --- packages/strapi-admin/package.json | 12 ++-- packages/strapi-helper-plugin/package.json | 12 ++-- .../package.json | 12 ++-- .../package.json | 12 ++-- .../strapi-plugin-documentation/package.json | 12 ++-- packages/strapi-plugin-upload/package.json | 12 ++-- .../package.json | 12 ++-- yarn.lock | 68 +++++++++---------- 8 files changed, 76 insertions(+), 76 deletions(-) diff --git a/packages/strapi-admin/package.json b/packages/strapi-admin/package.json index 97241a85f4..ebedecb7e5 100644 --- a/packages/strapi-admin/package.json +++ b/packages/strapi-admin/package.json @@ -24,12 +24,12 @@ "@babel/preset-env": "^7.13.15", "@babel/preset-react": "^7.13.13", "@babel/runtime": "^7.13.17", - "@buffetjs/core": "3.3.5", - "@buffetjs/custom": "3.3.5", - "@buffetjs/hooks": "3.3.5", - "@buffetjs/icons": "3.3.5", - "@buffetjs/styles": "3.3.5", - "@buffetjs/utils": "3.3.5", + "@buffetjs/core": "3.3.6", + "@buffetjs/custom": "3.3.6", + "@buffetjs/hooks": "3.3.6", + "@buffetjs/icons": "3.3.6", + "@buffetjs/styles": "3.3.6", + "@buffetjs/utils": "3.3.6", "@casl/ability": "^4.1.5", "@fingerprintjs/fingerprintjs": "3.1.1", "@fortawesome/fontawesome-free": "^5.15.3", diff --git a/packages/strapi-helper-plugin/package.json b/packages/strapi-helper-plugin/package.json index adbe03386c..6a5ee04463 100644 --- a/packages/strapi-helper-plugin/package.json +++ b/packages/strapi-helper-plugin/package.json @@ -50,12 +50,12 @@ "rollup-plugin-terser": "^4.0.4" }, "dependencies": { - "@buffetjs/core": "3.3.5", - "@buffetjs/custom": "3.3.5", - "@buffetjs/hooks": "3.3.5", - "@buffetjs/icons": "3.3.5", - "@buffetjs/styles": "3.3.5", - "@buffetjs/utils": "3.3.5", + "@buffetjs/core": "3.3.6", + "@buffetjs/custom": "3.3.6", + "@buffetjs/hooks": "3.3.6", + "@buffetjs/icons": "3.3.6", + "@buffetjs/styles": "3.3.6", + "@buffetjs/utils": "3.3.6", "@fortawesome/fontawesome-free": "^5.15.2", "@fortawesome/fontawesome-svg-core": "^1.2.35", "@fortawesome/free-brands-svg-icons": "^5.15.2", diff --git a/packages/strapi-plugin-content-manager/package.json b/packages/strapi-plugin-content-manager/package.json index 08e56d9b44..afbd839d32 100644 --- a/packages/strapi-plugin-content-manager/package.json +++ b/packages/strapi-plugin-content-manager/package.json @@ -9,12 +9,12 @@ "required": true }, "dependencies": { - "@buffetjs/core": "3.3.5", - "@buffetjs/custom": "3.3.5", - "@buffetjs/hooks": "3.3.5", - "@buffetjs/icons": "3.3.5", - "@buffetjs/styles": "3.3.5", - "@buffetjs/utils": "3.3.5", + "@buffetjs/core": "3.3.6", + "@buffetjs/custom": "3.3.6", + "@buffetjs/hooks": "3.3.6", + "@buffetjs/icons": "3.3.6", + "@buffetjs/styles": "3.3.6", + "@buffetjs/utils": "3.3.6", "@sindresorhus/slugify": "1.1.0", "classnames": "^2.3.1", "codemirror": "^5.61.0", diff --git a/packages/strapi-plugin-content-type-builder/package.json b/packages/strapi-plugin-content-type-builder/package.json index 5f0d59776d..5efa921c18 100644 --- a/packages/strapi-plugin-content-type-builder/package.json +++ b/packages/strapi-plugin-content-type-builder/package.json @@ -8,12 +8,12 @@ "description": "content-type-builder.plugin.description" }, "dependencies": { - "@buffetjs/core": "3.3.5", - "@buffetjs/custom": "3.3.5", - "@buffetjs/hooks": "3.3.5", - "@buffetjs/icons": "3.3.5", - "@buffetjs/styles": "3.3.5", - "@buffetjs/utils": "3.3.5", + "@buffetjs/core": "3.3.6", + "@buffetjs/custom": "3.3.6", + "@buffetjs/hooks": "3.3.6", + "@buffetjs/icons": "3.3.6", + "@buffetjs/styles": "3.3.6", + "@buffetjs/utils": "3.3.6", "@sindresorhus/slugify": "1.1.0", "fs-extra": "^9.1.0", "immutable": "^3.8.2", diff --git a/packages/strapi-plugin-documentation/package.json b/packages/strapi-plugin-documentation/package.json index 65fedd91fc..abc45447f5 100644 --- a/packages/strapi-plugin-documentation/package.json +++ b/packages/strapi-plugin-documentation/package.json @@ -11,12 +11,12 @@ "test": "echo \"no tests yet\"" }, "dependencies": { - "@buffetjs/core": "3.3.5", - "@buffetjs/custom": "3.3.5", - "@buffetjs/hooks": "3.3.5", - "@buffetjs/icons": "3.3.5", - "@buffetjs/styles": "3.3.5", - "@buffetjs/utils": "3.3.5", + "@buffetjs/core": "3.3.6", + "@buffetjs/custom": "3.3.6", + "@buffetjs/hooks": "3.3.6", + "@buffetjs/icons": "3.3.6", + "@buffetjs/styles": "3.3.6", + "@buffetjs/utils": "3.3.6", "cheerio": "^1.0.0-rc.5", "fs-extra": "^9.1.0", "immutable": "^3.8.2", diff --git a/packages/strapi-plugin-upload/package.json b/packages/strapi-plugin-upload/package.json index 0bc1a1ff70..12a941f9a4 100644 --- a/packages/strapi-plugin-upload/package.json +++ b/packages/strapi-plugin-upload/package.json @@ -12,12 +12,12 @@ "test": "echo \"no tests yet\"" }, "dependencies": { - "@buffetjs/core": "3.3.5", - "@buffetjs/custom": "3.3.5", - "@buffetjs/hooks": "3.3.5", - "@buffetjs/icons": "3.3.5", - "@buffetjs/styles": "3.3.5", - "@buffetjs/utils": "3.3.5", + "@buffetjs/core": "3.3.6", + "@buffetjs/custom": "3.3.6", + "@buffetjs/hooks": "3.3.6", + "@buffetjs/icons": "3.3.6", + "@buffetjs/styles": "3.3.6", + "@buffetjs/utils": "3.3.6", "byte-size": "^7.0.1", "cropperjs": "^1.5.11", "immer": "^8.0.1", diff --git a/packages/strapi-plugin-users-permissions/package.json b/packages/strapi-plugin-users-permissions/package.json index a81da24ac4..f446b4e844 100644 --- a/packages/strapi-plugin-users-permissions/package.json +++ b/packages/strapi-plugin-users-permissions/package.json @@ -12,12 +12,12 @@ "test": "echo \"no tests yet\"" }, "dependencies": { - "@buffetjs/core": "3.3.5", - "@buffetjs/custom": "3.3.5", - "@buffetjs/hooks": "3.3.5", - "@buffetjs/icons": "3.3.5", - "@buffetjs/styles": "3.3.5", - "@buffetjs/utils": "3.3.5", + "@buffetjs/core": "3.3.6", + "@buffetjs/custom": "3.3.6", + "@buffetjs/hooks": "3.3.6", + "@buffetjs/icons": "3.3.6", + "@buffetjs/styles": "3.3.6", + "@buffetjs/utils": "3.3.6", "@purest/providers": "^1.0.2", "bcryptjs": "^2.4.3", "grant-koa": "5.4.8", diff --git a/yarn.lock b/yarn.lock index e7e3ce5627..f8eae3bca0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1018,21 +1018,21 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@buffetjs/core@3.3.5": - version "3.3.5" - resolved "https://registry.yarnpkg.com/@buffetjs/core/-/core-3.3.5.tgz#45975b00b4a694cb04b9d53bf2a242149f573753" - integrity sha512-wsPslYhOrb3fjiMzlqfb3NXnkuz5Jwe5hgA97gmHeCJsfWJ71AoxZ22LgQCSlElwI8elg3rsWDQJ+gWQ5gZv8w== +"@buffetjs/core@3.3.6": + version "3.3.6" + resolved "https://registry.yarnpkg.com/@buffetjs/core/-/core-3.3.6.tgz#f8ff2ced0e8cbbe089810308f2488bd68a8ebeda" + integrity sha512-OVTe/7nLNM2R0EELbKWjlbMnjF7dwSDmzXPbPlMinx41GHQM6MgDngvNMJuJKJvhQwdf/zgvW70Dpr3SEbf9Zw== dependencies: - "@buffetjs/hooks" "3.3.5" - "@buffetjs/icons" "3.3.5" - "@buffetjs/styles" "3.3.5" - "@buffetjs/utils" "3.3.5" + "@buffetjs/hooks" "3.3.6" + "@buffetjs/icons" "3.3.6" + "@buffetjs/styles" "3.3.6" + "@buffetjs/utils" "3.3.6" "@fortawesome/fontawesome-svg-core" "^1.2.25" "@fortawesome/free-regular-svg-icons" "^5.11.2" "@fortawesome/free-solid-svg-icons" "^5.11.2" "@fortawesome/react-fontawesome" "^0.1.4" invariant "^2.2.4" - lodash "4.17.20" + lodash "4.17.21" moment "^2.24.0" prop-types "^15.7.2" rc-input-number "^4.5.0" @@ -1042,35 +1042,35 @@ react-with-direction "^1.3.1" reactstrap "^8.5.1" -"@buffetjs/custom@3.3.5": - version "3.3.5" - resolved "https://registry.yarnpkg.com/@buffetjs/custom/-/custom-3.3.5.tgz#4fd7c8b7811f55e336bf26f04e6125f2ec2c00dd" - integrity sha512-xT0o0fmFcjlD0AQQVRHUt0VnQTSl7VgFlhKlJT0BUd2Q4bHEpFJm6mMPJ5T1gMn374wMuphmF8qYZmM8KTZsfg== +"@buffetjs/custom@3.3.6": + version "3.3.6" + resolved "https://registry.yarnpkg.com/@buffetjs/custom/-/custom-3.3.6.tgz#81b905d7507fa69e7bf9a74d863cc5cb4a06f9d3" + integrity sha512-SemP9hQCQogpXi31y+cP+iRMyLueYWHTDnss/N4t8pjvonT8VbSwYhkfU+Z0c/BB71AZW7QkvgylDUaMtbUXSw== dependencies: - "@buffetjs/core" "3.3.5" - "@buffetjs/styles" "3.3.5" - "@buffetjs/utils" "3.3.5" - lodash "4.17.20" + "@buffetjs/core" "3.3.6" + "@buffetjs/styles" "3.3.6" + "@buffetjs/utils" "3.3.6" + lodash "4.17.21" moment "^2.24.0" prop-types "^15.5.10" react-moment-proptypes "^1.7.0" -"@buffetjs/hooks@3.3.5": - version "3.3.5" - resolved "https://registry.yarnpkg.com/@buffetjs/hooks/-/hooks-3.3.5.tgz#31630c695c924f81ab29ba4fc36679834095e04f" - integrity sha512-OsO9fQtE0FxhR1AVaWQaSoNZeDlJ53DdHZvO4pn+DUfsyiNgdm3Gcy65Ek4Koj3P5iSeMJdQ/QAonp5gmP2v+g== +"@buffetjs/hooks@3.3.6": + version "3.3.6" + resolved "https://registry.yarnpkg.com/@buffetjs/hooks/-/hooks-3.3.6.tgz#9c11b7c036834b89de705bba6e24b8915931cc13" + integrity sha512-OSVy7eCgVboWVfDHRassSXH7bKZVShf2gK8zFjwYM59szueWM+49nAahBSMXP+J0jiutEZYrM0r7HeMoR/gDIQ== -"@buffetjs/icons@3.3.5": - version "3.3.5" - resolved "https://registry.yarnpkg.com/@buffetjs/icons/-/icons-3.3.5.tgz#f74bb2fe0be1c183c02bc73321c87641f2c12f95" - integrity sha512-tryjZ77QY1nZPcbYOVzb0vE0FmZs3z+4CcykL9LNRWhf98UHHnRJMHt72HgXea8BMhGNF24yC76KG92cOgYfBw== +"@buffetjs/icons@3.3.6": + version "3.3.6" + resolved "https://registry.yarnpkg.com/@buffetjs/icons/-/icons-3.3.6.tgz#b7b59ec69cb2f629a7b102ebfc2115910aa707dd" + integrity sha512-faFDLoA5IUot0LKJ3InSX7hiZJI51krBJ8MPh3HDdol11VFHnLRsltMqAxz4oh5+CU7v4yxZPc+iL9RZZteu6Q== dependencies: prop-types "^15.5.10" -"@buffetjs/styles@3.3.5": - version "3.3.5" - resolved "https://registry.yarnpkg.com/@buffetjs/styles/-/styles-3.3.5.tgz#c222ede37abaf3d6cfe09eea7ee591e04c818894" - integrity sha512-WC714ORI4hwJMB1dUVmIbIyUIoxsjzE+xKXKJUs82EPlqlshjkEFQef8wF+L1H+zmqW+2lwQhEKOTd+gCfCTkg== +"@buffetjs/styles@3.3.6": + version "3.3.6" + resolved "https://registry.yarnpkg.com/@buffetjs/styles/-/styles-3.3.6.tgz#091d393c3ace250b2eba92933ad924aaa56be4a8" + integrity sha512-M1eF4ECq689vq1z0GTkl1AtaHTkU5+t5jrCyo+By2n6juM/ueJyAWMoK3NrMh5SXgLIJ1OwGGpAXSjOwYMZdvQ== dependencies: "@fortawesome/fontawesome-free" "^5.12.0" "@fortawesome/fontawesome-svg-core" "^1.2.22" @@ -1081,12 +1081,12 @@ react-dates "^21.1.0" react-tooltip "^4.2.11" -"@buffetjs/utils@3.3.5": - version "3.3.5" - resolved "https://registry.yarnpkg.com/@buffetjs/utils/-/utils-3.3.5.tgz#ad46ac0ab7eb87bb124ba66e2ecdadfe89137e75" - integrity sha512-ZkfsgMrLrV9RkDWRDALe4m3BppTulMIpsK+6xnRV/v7J8PEhwPqHHTQBh0CbWC/SXiQhfSj1dKKw6dmun/xFIQ== +"@buffetjs/utils@3.3.6": + version "3.3.6" + resolved "https://registry.yarnpkg.com/@buffetjs/utils/-/utils-3.3.6.tgz#d8c79a866219e0005c0f3b28905f7a5be8aa740e" + integrity sha512-hyPRXdouKFUz+9/TZcQ0sOWz4sdyMt2EiehSB3Gy91E5dHi0A3a+gVStVlm/eqez7w+AAofKyQ0UDqc9ajXu9Q== dependencies: - lodash "4.17.20" + lodash "4.17.21" yup "^0.27.0" "@casl/ability@^4.1.5": From 30ccad91c05e12b4b00b7c26d5eeada1c44d7160 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-S=C3=A9bastien=20Herbaux?= Date: Tue, 11 May 2021 09:04:58 +0200 Subject: [PATCH 024/151] Fix compatibility issue for mongo < 4.2 (#10281) --- .../migrations/permissions-fields-to-properties.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/strapi-admin/config/migrations/permissions-fields-to-properties.js b/packages/strapi-admin/config/migrations/permissions-fields-to-properties.js index 3a7b849343..65aa20e9a0 100644 --- a/packages/strapi-admin/config/migrations/permissions-fields-to-properties.js +++ b/packages/strapi-admin/config/migrations/permissions-fields-to-properties.js @@ -91,10 +91,13 @@ module.exports = { for (const permission of permissions) { const { fields, _id } = permission; - await model.updateOne({ _id }, [ - { $set: { properties: { fields } } }, - { $unset: ['fields'] }, - ]); + await model.updateOne( + { _id }, + { + $set: { properties: { fields } }, + $unset: { fields: true }, + } + ); } } }, From 95b81cd2370daa4b9c1138e64e5b3f6d0b3e3185 Mon Sep 17 00:00:00 2001 From: Kenneth Solberg Date: Tue, 11 May 2021 09:08:03 +0200 Subject: [PATCH 025/151] Added norwegian translation. (#9846) * Added norwegian translation. * Update the index.js file so the Norwegian translation is available in the dropdown * Update the index.js file so the Norwegian translation is available in the dropdown Co-authored-by: Kenneth Solberg --- .../admin/src/translations/index.js | 3 + .../admin/src/translations/no.json | 349 ++++++++++++++++++ 2 files changed, 352 insertions(+) create mode 100644 packages/strapi-admin/admin/src/translations/no.json diff --git a/packages/strapi-admin/admin/src/translations/index.js b/packages/strapi-admin/admin/src/translations/index.js index 3a77e8a9b5..9a71c64778 100644 --- a/packages/strapi-admin/admin/src/translations/index.js +++ b/packages/strapi-admin/admin/src/translations/index.js @@ -12,6 +12,7 @@ import ja from './ja.json'; import ko from './ko.json'; import ms from './ms.json'; import nl from './nl.json'; +import no from './no.json'; import pl from './pl.json'; import ptBR from './pt-BR.json'; import pt from './pt.json'; @@ -39,6 +40,7 @@ const trads = { ko, ms, nl, + no, pl, 'pt-BR': ptBR, pt, @@ -67,6 +69,7 @@ export const languageNativeNames = { ko: '한국어', ms: 'Melayu', nl: 'Nederlands', + no: 'Norwegian', pl: 'Polski', 'pt-BR': 'Português (Brasil)', pt: 'Português (Portugal)', diff --git a/packages/strapi-admin/admin/src/translations/no.json b/packages/strapi-admin/admin/src/translations/no.json new file mode 100644 index 0000000000..b739845654 --- /dev/null +++ b/packages/strapi-admin/admin/src/translations/no.json @@ -0,0 +1,349 @@ +{ + "Analytics": "Statistikk", + "Auth.advanced.allow_register": "", + "Auth.components.Oops.text": "Din konto har blitt suspendert", + "Auth.form.button.forgot-password": "Send epost", + "Auth.form.button.go-home": "GÅ TILBAKE TIL HJEM", + "Auth.form.button.login": "Logg inn", + "Auth.form.button.register": "KOM I GANG", + "Auth.form.button.reset-password": "Endre passord", + "Auth.form.confirmPassword.label": "Bekreft passord", + "Auth.form.email.label": "Epost", + "Auth.form.email.placeholder": "johndoe@gmail.com", + "Auth.form.error.blocked": "Din konto har blitt blokkert av administrator.", + "Auth.form.error.code.provide": "Feil kode angitt.", + "Auth.form.error.confirmed": "Din epost-adresse er ikke bekreftet.", + "Auth.form.error.email.invalid": "Ugyldig epost-adresse.", + "Auth.form.error.email.provide": "Vennligst angi brukernavn eller epost.", + "Auth.form.error.email.taken": "Epost-adressen er allerede i bruk.", + "Auth.form.error.invalid": "Brukernavn eller passord er feil.", + "Auth.form.error.params.provide": "Feil parametre angitt.", + "Auth.form.error.password.format": "Ditt passord kan ikke innholde tegnet `$` mer enn 3 ganger.", + "Auth.form.error.password.local": "Denne brukeren har ikke satt et lokalt passord, vennligst logg inn via link fra opprettelse.", + "Auth.form.error.password.matching": "Passordene er ikke like.", + "Auth.form.error.password.provide": "Vennligst angi ditt passord.", + "Auth.form.error.ratelimit": "For mange forsøk, vennligst prøv igjen senere.", + "Auth.form.error.user.not-exist": "Det finnes ingen bruker med denne epost-adressen.", + "Auth.form.error.username.taken": "Brukernavnet er allerede i bruk.", + "Auth.form.firstname.label": "Fornavn", + "Auth.form.firstname.placeholder": "John", + "Auth.form.forgot-password.email.label": "Skriv din epost-adresse", + "Auth.form.forgot-password.email.label.success": "Epost sendt til", + "Auth.form.lastname.label": "Etternavn", + "Auth.form.lastname.placeholder": "Doe", + "Auth.form.password.label": "Passord", + "Auth.form.register.news.label": "Hold meg oppdatert på nye features og kommende forbedringer (ved å gjøre dette aksepterer du {terms} og {policy}).", + "Auth.form.rememberMe.label": "Husk meg", + "Auth.form.username.label": "Brukernavn", + "Auth.form.username.placeholder": "John Doe", + "Auth.link.forgot-password": "Glemt passord?", + "Auth.link.ready": "Klar til å logge inn?", + "Auth.link.signin": "Logg inn", + "Auth.link.signin.account": "Har du allerede en konto?", + "Auth.privacy-policy-agreement.policy": "personvern", + "Auth.privacy-policy-agreement.terms": "vilkår", + "Content Manager": "Innhold", + "Content Type Builder": "Innholdstyper", + "Documentation": "Dokumentasjon", + "Email": "Epost", + "Files Upload": "Fil lastet opp", + "HomePage.community": "Delta i fellesskapet", + "HomePage.greetings": "Hei {name}!", + "HomePage.helmet.title": "Hjem", + "HomePage.roadmap": "Se vår roadmap", + "HomePage.welcome.congrats": "Gratulerer!", + "HomePage.welcome.congrats.content": "Du er logget inn som den første administratoren. For å lære om de gode funksjonene som Strapi har,", + "HomePage.welcome.congrats.content.bold": "anbefaler vi at du oppretter din første dokumenttype.", + "Media Library": "Mediabibliotek", + "New entry": "Nytt element", + "Password": "Passord", + "Provider": "Provider", + "ResetPasswordToken": "Nullstill passord-token", + "Role": "Rolle", + "Roles & Permissions": "Roller og rettigheter", + "Roles.ListPage.notification.delete-all-not-allowed": "Noen roller kunne ikke slettes da de er tildelt en eller flere brukere", + "Roles.ListPage.notification.delete-not-allowed": "En rolle kan ikke slettes dersom den er tildelt en bruker", + "Roles.RoleRow.user-count.plural": "{number} brukere", + "Roles.RoleRow.user-count.singular": "{number} bruker", + "Roles.components.List.empty.withSearch": "Det er ingen rolle som matcher søket ({search})...", + "Settings.PageTitle": "Innstillinger - {name}", + "Settings.error": "Feil", + "Settings.global": "Globale innstillinger", + "Settings.permissions": "Rettigheter", + "Settings.permissions.category": "Rettigheter for {category}", + "Settings.permissions.conditions.anytime": "Alltid", + "Settings.permissions.conditions.apply": "Godkjenn", + "Settings.permissions.conditions.can": "Kan", + "Settings.permissions.conditions.define-conditions": "Definér betingelser", + "Settings.permissions.conditions.links": "Linker", + "Settings.permissions.conditions.no-actions": "Du må først velge handling (opprette, lese, oppdatere, ...) før du definerer betingelser for de.", + "Settings.permissions.conditions.or": "ELLER", + "Settings.permissions.conditions.selected.plural": "{number} valgte betingelser", + "Settings.permissions.conditions.selected.singular": "{number} valgt betingelse", + "Settings.permissions.conditions.when": "Når", + "Settings.permissions.menu.link.roles.label": "Roller", + "Settings.permissions.menu.link.users.label": "Brukere", + "Settings.permissions.users.add-new": "Ny bruer", + "Settings.permissions.users.create": "Opprett ny bruker", + "Settings.permissions.users.form.email": "Epost", + "Settings.permissions.users.form.firstname": "Fornavn", + "Settings.permissions.users.form.lastname": "Etternavn", + "Settings.permissions.users.form.sso": "Koble til med SSO", + "Settings.permissions.users.listview.header.description.plural": "{number} brukere funnet", + "Settings.permissions.users.listview.header.description.singular": "{number} bruker funnet", + "Settings.permissions.users.listview.header.title": "Brukere", + "Settings.roles.create.description": "Definér rollens rettigheter", + "Settings.roles.create.title": "Opprett en rolle", + "Settings.roles.created": "Rolle opprettet", + "Settings.roles.edit.title": "Redigér en rolle", + "Settings.roles.form.button.users-with-role": "Brukere med denne rollen", + "Settings.roles.form.created": "Opprettet", + "Settings.roles.form.description": "Navn og beskrivelse av rollen", + "Settings.roles.form.input.description": "Beskrivelse", + "Settings.roles.form.input.name": "Navn", + "Settings.roles.form.permissions.attributesPermissions": "Feltrettigheter", + "Settings.roles.form.permissions.create": "Opprett", + "Settings.roles.form.permissions.delete": "Slett", + "Settings.roles.form.permissions.read": "Les", + "Settings.roles.form.permissions.update": "Oppdater", + "Settings.roles.form.title": "Detaljer", + "Settings.roles.list.button.add": "Opprett rolle", + "Settings.roles.list.description": "Liste over roller", + "Settings.roles.list.title.plural": "{number} roller", + "Settings.roles.list.title.singular": "{number} rolle", + "Settings.roles.title": "Roller", + "Settings.roles.title.singular": "rolle", + "Settings.webhooks.create": "Opprett en webhook", + "Settings.webhooks.create.header": "Opprett en ny header", + "Settings.webhooks.created": "Webhook opprettet", + "Settings.webhooks.disabled": "Deaktivert", + "Settings.webhooks.enabled": "Aktivert", + "Settings.webhooks.events.create": "Opprett", + "Settings.webhooks.events.edit": "Redigér", + "Settings.webhooks.form.events": "Events", + "Settings.webhooks.form.headers": "Headers", + "Settings.webhooks.form.name": "Navn", + "Settings.webhooks.form.url": "Url", + "Settings.webhooks.key": "Key", + "Settings.webhooks.list.button.add": "Opprett ny webhook", + "Settings.webhooks.list.description": "Motta POST endringsmeldinger.", + "Settings.webhooks.list.empty.description": "Legg til din første til denne listen.", + "Settings.webhooks.list.empty.link": "Se vår dokumentasjon", + "Settings.webhooks.list.empty.title": "Ingen webhooks registrert", + "Settings.webhooks.singular": "webhook", + "Settings.webhooks.title": "Webhooks", + "Settings.webhooks.trigger": "Triggere", + "Settings.webhooks.trigger.cancel": "Annuller trigger", + "Settings.webhooks.trigger.pending": "Venter…", + "Settings.webhooks.trigger.save": "Vennligst lagre for å trigge", + "Settings.webhooks.trigger.success": "Suksess!", + "Settings.webhooks.trigger.success.label": "Trigger lyktes", + "Settings.webhooks.trigger.test": "Test-trigger", + "Settings.webhooks.trigger.title": "Lagre før trigger", + "Settings.webhooks.value": "Verdi", + "Username": "Brukernavn", + "Users": "Brukere", + "Users & Permissions": "Brukere & rettigheter", + "Users.components.List.empty": "Ingen brukere...", + "Users.components.List.empty.withFilters": "Ingen brukere med valgte filtre...", + "Users.components.List.empty.withSearch": "Ingen brukere matcher søket ({search})...", + "app.components.BlockLink.code": "Kode-eksempler", + "app.components.BlockLink.code.content": "Lær ved å teste virkelige prosjekter utviklet av fellesskapet.", + "app.components.BlockLink.documentation": "Les dokumentasjonen", + "app.components.BlockLink.documentation.content": "Oppdag konseptene, referanseguides og tutorials.", + "app.components.Button.cancel": "Annuller", + "app.components.Button.reset": "Nullstill", + "app.components.Button.save": "Lagre", + "app.components.ComingSoonPage.comingSoon": "Kommer snart", + "app.components.DownloadInfo.download": "Download er i gang...", + "app.components.DownloadInfo.text": "Dette kan ta et lite øyeblikk, takk for din tålmodighet.", + "app.components.EmptyAttributes.title": "Ingen felter ennå", + "app.components.HomePage.button.blog": "SE MER PÅ BLOGGEN", + "app.components.HomePage.community": "Finn fellesskapet på nett", + "app.components.HomePage.community.content": "Diskutér med team-medlemmer, bidragsytere og utviklere på forskjellige kanaler.", + "app.components.HomePage.create": "Opprett din første innholdstype", + "app.components.HomePage.welcome": "Velkommen ombord!", + "app.components.HomePage.welcome.again": "Velkommen ", + "app.components.HomePage.welcomeBlock.content": "Vi er glade for å ha deg som en del av fellesskapet. Vi søker kontinuerlig etter feedback, så send oss gjerne en melding på ", + "app.components.HomePage.welcomeBlock.content.again": "Vi håper at det går fremover med prosjektet ditt... Les gjerne de siste nyhetene om Strapi. Vi gjør vårt beste for å forbedre produktet basert på din feedback.", + "app.components.HomePage.welcomeBlock.content.issues": "problemer.", + "app.components.HomePage.welcomeBlock.content.raise": " eller fremhev ", + "app.components.ImgPreview.hint": "Dra & slipp din fil til dette området eller {browse} etter fil som skal lastes opp", + "app.components.ImgPreview.hint.browse": "bla", + "app.components.InputFile.newFile": "Legg til ny fil", + "app.components.InputFileDetails.open": "Åpne i ny fane", + "app.components.InputFileDetails.originalName": "Originalt navn:", + "app.components.InputFileDetails.remove": "Fjern denne filen", + "app.components.InputFileDetails.size": "Størrelse:", + "app.components.InstallPluginPage.Download.description": "Det tar muligens et øyeblikk å laste ned og installere denne pluginen.", + "app.components.InstallPluginPage.Download.title": "Laster ned...", + "app.components.InstallPluginPage.description": "Utvid din app problemfritt.", + "app.components.InstallPluginPage.helmet": "Marked - Plugins", + "app.components.InstallPluginPage.title": "Marked - Plugins", + "app.components.LeftMenuFooter.documentation": "Dokumentasjon", + "app.components.LeftMenuFooter.help": "Hjelp", + "app.components.LeftMenuFooter.poweredBy": "Powered by ", + "app.components.LeftMenuLinkContainer.collectionTypes": "Dokumenttyper", + "app.components.LeftMenuLinkContainer.configuration": "Konfigurasjoner", + "app.components.LeftMenuLinkContainer.general": "Generelt", + "app.components.LeftMenuLinkContainer.installNewPlugin": "Marked", + "app.components.LeftMenuLinkContainer.listPlugins": "Plugins", + "app.components.LeftMenuLinkContainer.noPluginsInstalled": "Ingen plugins installeret ennå", + "app.components.LeftMenuLinkContainer.plugins": "Plugins", + "app.components.LeftMenuLinkContainer.settings": "Innstillinger", + "app.components.LeftMenuLinkContainer.singleTypes": "Enkelttyper", + "app.components.ListPluginsPage.deletePlugin.description": "Det tar sannsynligvis noen sekunder å avinstallere pluginen.", + "app.components.ListPluginsPage.deletePlugin.title": "Avinstallerer", + "app.components.ListPluginsPage.description": "Liste over installerte plugins i dette prosjektet.", + "app.components.ListPluginsPage.helmet.title": "Vis plugins", + "app.components.ListPluginsPage.title": "Plugins", + "app.components.Logout.logout": "Logg ut", + "app.components.Logout.profile": "Profil", + "app.components.NotFoundPage.back": "Tilbake til startside", + "app.components.NotFoundPage.description": "Ikke funnet", + "app.components.Official": "Offisielt", + "app.components.Onboarding.label.completed": "% gjennomført", + "app.components.Onboarding.title": "Kom i gang videoer", + "app.components.PluginCard.Button.label.download": "Last ned", + "app.components.PluginCard.Button.label.install": "Allerede installert", + "app.components.PluginCard.PopUpWarning.install.impossible.autoReload.needed": "AutoReload funksjonen må aktiveres. Vennligst start din app med `yarn develop`.", + "app.components.PluginCard.PopUpWarning.install.impossible.confirm": "Jeg forstår!", + "app.components.PluginCard.PopUpWarning.install.impossible.environment": "Av sikkerhetsmessige årsaker kan et plugin kun lastes ned i et development miljø.", + "app.components.PluginCard.PopUpWarning.install.impossible.title": "Nedlasting ikke mulig", + "app.components.PluginCard.compatible": "Kompatibel med din app", + "app.components.PluginCard.compatibleCommunity": "Kompatibel med fellesskapet", + "app.components.PluginCard.more-details": "Flere detaljer", + "app.components.UpgradePlanModal.button": "LÆR MER", + "app.components.UpgradePlanModal.limit-reached": "Du har nådd grensen", + "app.components.UpgradePlanModal.text-ce": "Community Edition", + "app.components.UpgradePlanModal.text-ee": "Enterprise Edition", + "app.components.UpgradePlanModal.text-power": "Lås opp for det fulle potentialet", + "app.components.UpgradePlanModal.text-strapi": "av Strapi ved å oppgradere til", + "app.components.Users.MagicLink.connect": "Send denne linken til brukeren slik at de kan koble til.", + "app.components.Users.ModalCreateBody.block-title.details": "Detaljer", + "app.components.Users.ModalCreateBody.block-title.roles": "Brukerens roller", + "app.components.Users.SortPicker.button-label": "Sortér etter", + "app.components.Users.SortPicker.sortby.email_asc": "Epost (A til Å)", + "app.components.Users.SortPicker.sortby.email_desc": "Epost (Å til A)", + "app.components.Users.SortPicker.sortby.firstname_asc": "Fornavn (A til Å)", + "app.components.Users.SortPicker.sortby.firstname_desc": "Fornavn (Å til A)", + "app.components.Users.SortPicker.sortby.lastname_asc": "Etternavn (A til Å)", + "app.components.Users.SortPicker.sortby.lastname_desc": "Etternavn (Å til A)", + "app.components.Users.SortPicker.sortby.username_asc": "Brukernavn (A til Å)", + "app.components.Users.SortPicker.sortby.username_desc": "Brukernavn (Å til A)", + "app.components.listPlugins.button": "Legg til ny plugin", + "app.components.listPlugins.title.none": "Ingen plugins installert", + "app.components.listPlugins.title.plural": "{number} plugins installert", + "app.components.listPlugins.title.singular": "{number} plugin installert", + "app.components.listPluginsPage.deletePlugin.error": "En feil oppstod ved avinstallering av denne plugin", + "app.containers.App.notification.error.init": "En feil oppstod ved forespørsel mot API", + "app.containers.AuthPage.ForgotPasswordSuccess.text.contact-admin": "Kontakt din administrator dersom du ikke mottar denne lenken.", + "app.containers.AuthPage.ForgotPasswordSuccess.text.email": "Det kan ta noen få minutter før du mottar link for nullstilling av passord.", + "app.containers.AuthPage.ForgotPasswordSuccess.title": "Epost sendt", + "app.containers.Users.EditPage.form.active.label": "Aktiv", + "app.containers.Users.EditPage.header.label": "Rediger {name}", + "app.containers.Users.EditPage.header.label-loading": "Rediger bruker", + "app.containers.Users.EditPage.roles-bloc-title": "Tildelte roller", + "app.containers.Users.ModalForm.footer.button-success": "Opprett bruker", + "app.links.configure-view": "Konfigurer visning", + "app.utils.SelectOption.defaultMessage": " ", + "app.utils.add-filter": "Legg til filter", + "app.utils.defaultMessage": " ", + "app.utils.delete": "Slett", + "app.utils.filters": "Filtre", + "app.static.links.cheatsheet": "CheatSheet", + "app.utils.placeholder.defaultMessage": " ", + "component.Input.error.validation.integer": "Verdien skal være et heltall", + "components.AutoReloadBlocker.description": "Kjør Strapi med en av følgende kommandoer:", + "components.AutoReloadBlocker.header": "Reload funksjonen er påkrevet for denne pluginen.", + "components.ErrorBoundary.title": "Noe gikk galt...", + "components.FilterOptions.FILTER_TYPES.=": "er lik", + "components.FilterOptions.FILTER_TYPES._contains": "inneholder", + "components.FilterOptions.FILTER_TYPES._containss": "inneholder (store og små bokstaver)", + "components.FilterOptions.FILTER_TYPES._gt": "er større enn", + "components.FilterOptions.FILTER_TYPES._gte": "er større enn eller lik", + "components.FilterOptions.FILTER_TYPES._in": "matcher en av verdiene i array", + "components.FilterOptions.FILTER_TYPES._lt": "er mindre enn", + "components.FilterOptions.FILTER_TYPES._lte": "er mindre enn eller lik", + "components.FilterOptions.FILTER_TYPES._ncontains": "inneholder ikke", + "components.FilterOptions.FILTER_TYPES._ne": "er ikke lik", + "components.FilterOptions.FILTER_TYPES._nin": "matcher ingen av verdiene i array", + "components.Input.error.attribute.key.taken": "Verdien fommes allerede", + "components.Input.error.attribute.sameKeyAndName": "Kan ikke være lik", + "components.Input.error.attribute.taken": "Dette feltnavnet finnes allerede", + "components.Input.error.contain.lowercase": "Passordet må inneholde minst en liten bokstav", + "components.Input.error.contain.number": "Passordet må inneholde minst ett tall", + "components.Input.error.contain.uppercase": "Passordet må inneholde minst en stor bokstav", + "components.Input.error.contentTypeName.taken": "Dette navnet er allerede i bruk", + "components.Input.error.custom-error": "{errorMessage} ", + "components.Input.error.password.noMatch": "Passordene er ikke like", + "components.Input.error.validation.email": "Ugyldig epost adresse", + "components.Input.error.validation.json": "Ugyldig JSON", + "components.Input.error.validation.max": "Verdien er for høy.", + "components.Input.error.validation.maxLength": "Verdien er for lang.", + "components.Input.error.validation.min": "Verdien er for lav.", + "components.Input.error.validation.minLength": "Verdien er for kort.", + "components.Input.error.validation.minSupMax": "Kan ikke være høyere", + "components.Input.error.validation.regex": "Verdien matcher ikke regex.", + "components.Input.error.validation.required": "Verdien er påkrevet.", + "components.Input.error.validation.unique": "Verdien er allerede brukt.", + "components.InputSelect.option.placeholder": "Velg her", + "components.ListRow.empty": "Der er ingen data å vise.", + "components.OverlayBlocker.description": "Du bruker en feature som krever omstart. Vennligst vent til serveren er oppe.", + "components.OverlayBlocker.description.serverError": "Serveren burde vært omstartet, vennligst sjekk dine logger i terminalen.", + "components.OverlayBlocker.title": "Venter på omstart...", + "components.OverlayBlocker.title.serverError": "Omstart tar lenger tid enn forventet", + "components.PageFooter.select": "elementer pr side", + "components.ProductionBlocker.description": "Av sikkerhetsmessige årsaker deaktiveres denne plugin i andre miljøer.", + "components.ProductionBlocker.header": "Denne plugin er kun tilgjengelig i utvikling.", + "components.Search.placeholder": "Søk...", + "components.Wysiwyg.ToggleMode.markdown": "Bytt til markdown", + "components.Wysiwyg.ToggleMode.preview": "Bytt til preview", + "components.Wysiwyg.collapse": "Slå sammen", + "components.Wysiwyg.selectOptions.H1": "Tittel H1", + "components.Wysiwyg.selectOptions.H2": "Tittel H2", + "components.Wysiwyg.selectOptions.H3": "Tittel H3", + "components.Wysiwyg.selectOptions.H4": "Tittel H4", + "components.Wysiwyg.selectOptions.H5": "Tittel H5", + "components.Wysiwyg.selectOptions.H6": "Tittel H6", + "components.Wysiwyg.selectOptions.title": "Legg til en tittel", + "components.WysiwygBottomControls.charactersIndicators": "tegn", + "components.WysiwygBottomControls.fullscreen": "Utvid", + "components.WysiwygBottomControls.uploadFiles": "Dra & slipp filer, sett inn fra utklippstavle eller {browse}.", + "components.WysiwygBottomControls.uploadFiles.browse": "velg dem", + "components.popUpWarning.button.cancel": "Annuller", + "components.popUpWarning.button.confirm": "Bekreft", + "components.popUpWarning.message": "Er du sikker på at du vil slette?", + "components.popUpWarning.title": "Vennligst bekreft", + "form.button.continue": "Fortsett", + "form.button.done": "Ferdig", + "form.button.finish": "Ferdig", + "global.prompt.unsaved": "Er du sikker på at du vil forlate denne siden? Alle dine endringer vil gå tapt", + "notification.contentType.relations.conflict": "Det er en eller flere konflikter med inndholdstypens relasjoner", + "notification.error": "En feil oppstod", + "notification.error.layout": "Kunne ikke hente layout", + "notification.form.error.fields": "Skjemaet indeholder feil", + "notification.form.success.fields": "Endring lagret", + "notification.link-copied": "Link kopieret til utklippstavlen", + "notification.success.delete": "Elementet er slettet", + "notification.success.saved": "Lagret", + "request.error.model.unknown": "Denne modellen finnes ikke", + "Settings.application.title": "Applikasjon", + "Settings.application.description": "Se prosjektdetaljer", + "Settings.application.link-pricing": "Se alle priser", + "Settings.application.link-upgrade": "Oppgrader ditt projekt", + "Settings.application.strapi-version": "STRAPI VERSION", + "Settings.application.node-version": "NODE VERSION", + "Settings.application.edition-title": "NÅVÆRENDE PLAN", + "Settings.permissions.category.plugins": "Rettighetsindstilling for {category} plugin", + "Settings.roles.form.permissions.publish": "Publiser", + "Settings.webhooks.event.publish-tooltip": "Denne hendelsen er kun tilgjengelig for innhold med kladd/publisering aktivert", + "Settings.webhooks.events.update": "Oppdater", + "app.utils.errors.file-too-big.message": "Filen er for stor", + "app.utils.publish": "Publiser", + "app.utils.select-all": "Velg alle", + "app.utils.unpublish": "Utkast", + "notification.permission.not-allowed-read": "Du har ikke tillatelse til å se dette dokument", + "notification.version.update.message": "En ny versjon av Strapi er tilgjengelig!", + "notification.version.update.link": "Se mer" +} From e2c06e30a632dad98a30c5ddfd7e5a847f452f35 Mon Sep 17 00:00:00 2001 From: Ilya Artamonov Date: Tue, 11 May 2021 10:18:42 +0300 Subject: [PATCH 026/151] Removed extra space (#10203) --- .../admin/src/translations/de.json | 2 +- .../admin/src/translations/dk.json | 2 +- .../admin/src/translations/en.json | 2 +- .../admin/src/translations/fr.json | 2 +- .../admin/src/translations/id.json | 3 +-- .../admin/src/translations/it.json | 2 +- .../admin/src/translations/ms.json | 2 +- .../admin/src/translations/nl.json | 2 +- .../admin/src/translations/sk.json | 2 +- .../admin/src/translations/th.json | 2 +- .../admin/src/translations/uk.json | 2 +- .../admin/src/translations/zh.json | 2 +- 12 files changed, 12 insertions(+), 13 deletions(-) diff --git a/packages/strapi-plugin-content-type-builder/admin/src/translations/de.json b/packages/strapi-plugin-content-type-builder/admin/src/translations/de.json index 6511aadaa5..670089e48b 100644 --- a/packages/strapi-plugin-content-type-builder/admin/src/translations/de.json +++ b/packages/strapi-plugin-content-type-builder/admin/src/translations/de.json @@ -111,7 +111,7 @@ "form.button.add-first-field-to-created-component": "Erstes Feld zur Komponente hinzufügen", "form.button.add.field.to.collectionType": "Weiteres Feld zur Sammlung hinzufügen", "form.button.add.field.to.component": "Weiteres Feld zur Komponente hinzufügen", - "form.button.add.field.to.contentType ": "Weiteres Feld zum Inhaltstyp hinzufügen", + "form.button.add.field.to.contentType": "Weiteres Feld zum Inhaltstyp hinzufügen", "form.button.add.field.to.singleType": "Weiteres Feld zum Einzel-Eintrag hinzufügen", "form.button.cancel": "Abbrechen", "form.button.collection-type.description": "Nützlich für mehrere Instanzen wie Artikel, Produkte, Kommentare, etc.", diff --git a/packages/strapi-plugin-content-type-builder/admin/src/translations/dk.json b/packages/strapi-plugin-content-type-builder/admin/src/translations/dk.json index 6eff6a9a67..b6b260c1c1 100644 --- a/packages/strapi-plugin-content-type-builder/admin/src/translations/dk.json +++ b/packages/strapi-plugin-content-type-builder/admin/src/translations/dk.json @@ -109,7 +109,7 @@ "form.button.add-first-field-to-created-component": "Tilføj det første felt til komponentet", "form.button.add.field.to.collectionType": "Tilføj endnu et felt til dokument typen", "form.button.add.field.to.component": "Tilføj endnu et felt til komponentet", - "form.button.add.field.to.contentType ": "Tilføj endnu et felt til dokument typen", + "form.button.add.field.to.contentType": "Tilføj endnu et felt til dokument typen", "form.button.add.field.to.singleType": "Tilføj endnu et felt til enkelt typen", "form.button.cancel": "Annuller", "form.button.collection-type.description": "Bedst til Best for flere forkomster som artikler, produkter, kommentarer osv...", diff --git a/packages/strapi-plugin-content-type-builder/admin/src/translations/en.json b/packages/strapi-plugin-content-type-builder/admin/src/translations/en.json index 9911bd1279..e6c65de2bc 100644 --- a/packages/strapi-plugin-content-type-builder/admin/src/translations/en.json +++ b/packages/strapi-plugin-content-type-builder/admin/src/translations/en.json @@ -112,7 +112,7 @@ "form.button.add-first-field-to-created-component": "Add first field to the component", "form.button.add.field.to.collectionType": "Add another field to this collection type", "form.button.add.field.to.component": "Add another field to this component", - "form.button.add.field.to.contentType ": "Add another field to this content type", + "form.button.add.field.to.contentType": "Add another field to this content type", "form.button.add.field.to.singleType": "Add another field to this single type", "form.button.cancel": "Cancel", "form.button.collection-type.description": "Best for multiple instances like articles, products, comments, etc.", diff --git a/packages/strapi-plugin-content-type-builder/admin/src/translations/fr.json b/packages/strapi-plugin-content-type-builder/admin/src/translations/fr.json index 9da9970835..f103e4fad6 100644 --- a/packages/strapi-plugin-content-type-builder/admin/src/translations/fr.json +++ b/packages/strapi-plugin-content-type-builder/admin/src/translations/fr.json @@ -39,7 +39,7 @@ "form.attribute.settings.default": "Valeur par défault", "form.button.add.field.to.collectionType": "Ajouter un nouveau champ à cette collection", "form.button.add.field.to.component": "Ajouter un nouveau champ à ce composant", - "form.button.add.field.to.contentType ": "Ajouter un nouveau champ à cette content type", + "form.button.add.field.to.contentType": "Ajouter un nouveau champ à cette content type", "form.button.add.field.to.singleType": "Ajouter un nouveau champ à ce single type", "form.button.cancel": "Annuler", "form.button.configure-view": "Configurer la vue", diff --git a/packages/strapi-plugin-content-type-builder/admin/src/translations/id.json b/packages/strapi-plugin-content-type-builder/admin/src/translations/id.json index c14ba8a716..5c4d22b053 100644 --- a/packages/strapi-plugin-content-type-builder/admin/src/translations/id.json +++ b/packages/strapi-plugin-content-type-builder/admin/src/translations/id.json @@ -111,7 +111,7 @@ "form.button.add-first-field-to-created-component": "Tambahkan bidang pertama ke komponen", "form.button.add.field.to.collectionType": "Tambahkan bidang lain ke jenis koleksi ini", "form.button.add.field.to.component": "Tambahkan bidang lain ke komponen ini", - "form.button.add.field.to.contentType ": "Tambahkan bidang lain ke jenis konten ini", + "form.button.add.field.to.contentType": "Tambahkan bidang lain ke jenis konten ini", "form.button.add.field.to.singleType": "Tambahkan bidang lain ke jenis tunggal ini", "form.button.cancel": "Batal", "form.button.collection-type.description": "Paling baik untuk berbagai contoh seperti artikel, produk, komentar, dll.", @@ -185,4 +185,3 @@ "table.attributes.title.plural": "{number} bidang", "table.attributes.title.singular": "{number} bidang" } - \ No newline at end of file diff --git a/packages/strapi-plugin-content-type-builder/admin/src/translations/it.json b/packages/strapi-plugin-content-type-builder/admin/src/translations/it.json index a0c0821074..25243b39cb 100644 --- a/packages/strapi-plugin-content-type-builder/admin/src/translations/it.json +++ b/packages/strapi-plugin-content-type-builder/admin/src/translations/it.json @@ -111,7 +111,7 @@ "form.button.add-first-field-to-created-component": "Aggiungi un primo campo al componente", "form.button.add.field.to.collectionType": "Aggiungi un altro campo a questa Collezione", "form.button.add.field.to.component": "Aggiungi un altro campo a questo componente", - "form.button.add.field.to.contentType ": "Aggiungi un altro campo a questo Tipo di Contenuto", + "form.button.add.field.to.contentType": "Aggiungi un altro campo a questo Tipo di Contenuto", "form.button.add.field.to.singleType": "Aggiungi un altro campo a questa Entità singola", "form.button.cancel": "Annulla", "form.button.collection-type.description": "Utile per istanze multiple come articoli, prodotti, commenti, ecc...", diff --git a/packages/strapi-plugin-content-type-builder/admin/src/translations/ms.json b/packages/strapi-plugin-content-type-builder/admin/src/translations/ms.json index a3cf84e062..603b1634df 100644 --- a/packages/strapi-plugin-content-type-builder/admin/src/translations/ms.json +++ b/packages/strapi-plugin-content-type-builder/admin/src/translations/ms.json @@ -108,7 +108,7 @@ "form.button.add-first-field-to-created-component": "Tambah ruang pertama ke komponen", "form.button.add.field.to.collectionType": "Tambah ruang lain ke jenis koleksi ini", "form.button.add.field.to.component": "Tambah ruang lain ke komponen ini", - "form.button.add.field.to.contentType ": "Tambah ruang lain ke jenis kandungan ini", + "form.button.add.field.to.contentType": "Tambah ruang lain ke jenis kandungan ini", "form.button.add.field.to.singleType": "Tambah ruang lain untuk jenis tunggal ini", "form.button.cancel": "Batal", "form.button.collection-type.description": "Sesuai untuk data yang banyak seperti artikel, produk, komen dan lain-lain", diff --git a/packages/strapi-plugin-content-type-builder/admin/src/translations/nl.json b/packages/strapi-plugin-content-type-builder/admin/src/translations/nl.json index 100d244ff7..e0c4b71516 100644 --- a/packages/strapi-plugin-content-type-builder/admin/src/translations/nl.json +++ b/packages/strapi-plugin-content-type-builder/admin/src/translations/nl.json @@ -100,7 +100,7 @@ "form.button.add-first-field-to-created-component": "Voeg een eerste veld toe aan het component", "form.button.add.field.to.collectionType": "Voeg een veld toe aan dit collectie type", "form.button.add.field.to.component": "Voeg een veld toe aan dit component", - "form.button.add.field.to.contentType ": "Voeg een veld toe aan dit content type", + "form.button.add.field.to.contentType": "Voeg een veld toe aan dit content type", "form.button.add.field.to.singleType": "Voeg een veld toe aan dit enkel type", "form.button.cancel": "Annuleren", "form.button.collection-type.description": "Het beste voor meerdere instanties zoals artikelen, producten, opmerkingen, enz.", diff --git a/packages/strapi-plugin-content-type-builder/admin/src/translations/sk.json b/packages/strapi-plugin-content-type-builder/admin/src/translations/sk.json index 0e169c2e64..fdf967ca03 100644 --- a/packages/strapi-plugin-content-type-builder/admin/src/translations/sk.json +++ b/packages/strapi-plugin-content-type-builder/admin/src/translations/sk.json @@ -111,7 +111,7 @@ "form.button.add-first-field-to-created-component": "Pridať prvé políčko do komponentu", "form.button.add.field.to.collectionType": "Pridať ďalšie políčko do tejto kolekcie", "form.button.add.field.to.component": "Pridať ďalšie políčko do komponentu", - "form.button.add.field.to.contentType ": "Pridať ďalšie políčko do tohto typu obsahu", + "form.button.add.field.to.contentType": "Pridať ďalšie políčko do tohto typu obsahu", "form.button.add.field.to.singleType": "Pridať ďalšie políčko do tohto jednorazového typu", "form.button.cancel": "Zrušiť", "form.button.collection-type.description": "Ideálne pre viacnásobné inštancie ako sú napríklad články, produkty, komentáre, atď.", diff --git a/packages/strapi-plugin-content-type-builder/admin/src/translations/th.json b/packages/strapi-plugin-content-type-builder/admin/src/translations/th.json index 475216bb3e..88eecd3f48 100644 --- a/packages/strapi-plugin-content-type-builder/admin/src/translations/th.json +++ b/packages/strapi-plugin-content-type-builder/admin/src/translations/th.json @@ -109,7 +109,7 @@ "form.button.add-first-field-to-created-component": "เพิ่มฟิลด์แรกในคอมโพเนนต์", "form.button.add.field.to.collectionType": "เพิ่มฟิลด์อื่นให้กับชนิดคอลเล็กชันนี้", "form.button.add.field.to.component": "เพิ่มฟิลด์อื่นลงในคอมโพเนนต์นี้", - "form.button.add.field.to.contentType ": "เพิ่มฟิลด์อื่นลงในชนิดเนื้อหานี้", + "form.button.add.field.to.contentType": "เพิ่มฟิลด์อื่นลงในชนิดเนื้อหานี้", "form.button.add.field.to.singleType": "เพิ่มฟิลด์อื่นให้กับชนิดเดี่ยวนี้", "form.button.cancel": "ยกเลิก", "form.button.collection-type.description": "ดีที่สุดสำหรับหลายอินสแตนซ์เช่น บทความ, ผลิตภัณฑ์, ข้อคิดเห็น เป็นต้น", diff --git a/packages/strapi-plugin-content-type-builder/admin/src/translations/uk.json b/packages/strapi-plugin-content-type-builder/admin/src/translations/uk.json index 633193d90f..8c217426ab 100644 --- a/packages/strapi-plugin-content-type-builder/admin/src/translations/uk.json +++ b/packages/strapi-plugin-content-type-builder/admin/src/translations/uk.json @@ -109,7 +109,7 @@ "form.button.add-first-field-to-created-component": "Додати перше поле компоненту", "form.button.add.field.to.collectionType": "Додати ще одне поле до цього Collection Type", "form.button.add.field.to.component": "Додати ще одне поле до цього компоненту", - "form.button.add.field.to.contentType ": "Додати ще одне поле до цього Content Type", + "form.button.add.field.to.contentType": "Додати ще одне поле до цього Content Type", "form.button.add.field.to.singleType": "Додати ще одне поле до цього Single Type", "form.button.cancel": "Скасувати", "form.button.collection-type.description": "Підходить для множинних об'єктів, як-то дописи, товари, коментарі тощо.", diff --git a/packages/strapi-plugin-content-type-builder/admin/src/translations/zh.json b/packages/strapi-plugin-content-type-builder/admin/src/translations/zh.json index d2712d6a1a..27fe4406b3 100644 --- a/packages/strapi-plugin-content-type-builder/admin/src/translations/zh.json +++ b/packages/strapi-plugin-content-type-builder/admin/src/translations/zh.json @@ -107,7 +107,7 @@ "form.button.add-first-field-to-created-component": "新增元件的第一個欄位", "form.button.add.field.to.collectionType": "新增其他欄位於此集合類型", "form.button.add.field.to.component": "新增其他欄位於此元件", - "form.button.add.field.to.contentType ": "新增其他欄位於此內容類型", + "form.button.add.field.to.contentType": "新增其他欄位於此內容類型", "form.button.add.field.to.singleType": "新增其他欄位於此單一類型", "form.button.cancel": "取消", "form.button.collection-type.description": "適用於複數實例,如議題文章,產品,貼文......等", From e780baddb5c3e4915699cff9d2375ddb8ccc321a Mon Sep 17 00:00:00 2001 From: Ilya Artamonov Date: Tue, 11 May 2021 10:19:22 +0300 Subject: [PATCH 027/151] Added missing translation (#10204) --- .../admin/src/translations/ru.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/strapi-plugin-content-type-builder/admin/src/translations/ru.json b/packages/strapi-plugin-content-type-builder/admin/src/translations/ru.json index b937aaac72..94f09a6367 100644 --- a/packages/strapi-plugin-content-type-builder/admin/src/translations/ru.json +++ b/packages/strapi-plugin-content-type-builder/admin/src/translations/ru.json @@ -183,5 +183,6 @@ "relation.oneToOne": "имеет один и принадлежит одному", "relation.oneWay": "имеет один", "table.attributes.title.plural": "Полей - {number}", - "table.attributes.title.singular": "Поле - {number}" + "table.attributes.title.singular": "Поле - {number}", + "error.validation.enum-empty-string": "Не может быть пустой строкой" } From 807101f290ec700db528d42136a2a1f7dbeae006 Mon Sep 17 00:00:00 2001 From: Ilya Artamonov Date: Tue, 11 May 2021 10:20:29 +0300 Subject: [PATCH 028/151] Added missing translations (#10205) --- .../admin/src/translations/ru.json | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/strapi-plugin-documentation/admin/src/translations/ru.json b/packages/strapi-plugin-documentation/admin/src/translations/ru.json index 4bbaea30b1..b1a4f04279 100755 --- a/packages/strapi-plugin-documentation/admin/src/translations/ru.json +++ b/packages/strapi-plugin-documentation/admin/src/translations/ru.json @@ -11,10 +11,10 @@ "containers.HomePage.PopUpWarning.message": "Вы уверены что хотите удалить эту версию?", "containers.HomePage.copied": "Токен скопирован в буфер обмена", "containers.HomePage.form.jwtToken": "Получите ваш JWT токен", - "containers.HomePage.form.jwtToken.description": "Скопируйте этот токен и используйте его в swagger, чтобы делать запросы", + "containers.HomePage.form.jwtToken.description": "Скопируйте этот токен и используйте его в swagger для выполнения запросов", "containers.HomePage.form.password": "Пароль", "containers.HomePage.form.password.inputDescription": "Установите пароль для доступа к документации", - "containers.HomePage.form.restrictedAccess": "Закрытый доступ", + "containers.HomePage.form.restrictedAccess": "Ограниченный доступ", "containers.HomePage.form.restrictedAccess.inputDescription": "Сделайте вашу документацию приватной. По умолчанию доступ открыт", "containers.HomePage.form.showGeneratedFiles": "Показать сгенерированные файлы", "containers.HomePage.form.showGeneratedFiles.inputDescription": "Полезно, если вы хотите изменить сгенерированную документацию. \nПлагин разделяет файлы на модели и плагины. \nПри включенной опции вам будет проще кастомизировать документацию", @@ -23,5 +23,9 @@ "error.regenerateDoc": "При генерации документации возникла ошибка", "error.regenerateDoc.versionMissing": "Версии, которую вы пытаетесь сгенерировать, не существует", "notification.update.success": "Настройки успешно обновлены", - "plugin.name": "Документация" + "plugin.name": "Документация", + "notification.delete.success": "Документация удалена", + "notification.generate.success": "Документация сгенерирована", + "plugin.description.short": "Создайте OpenAPI документацию для удобной работы с вашим API через SWAGGER UI.", + "plugin.description.long": "Создайте OpenAPI документацию для удобной работы с вашим API через SWAGGER UI." } From 0bb208db4b3e965b0af0b6e22d4cb08c1e775a69 Mon Sep 17 00:00:00 2001 From: p_0g_8mm3_ <37022952+pr0gr8mm3r@users.noreply.github.com> Date: Tue, 11 May 2021 09:22:09 +0200 Subject: [PATCH 029/151] Update German strapi-admin translations (#10207) * Fix grammar * update de translation * use plural --- .../admin/src/translations/de.json | 42 +++++++++++++++---- .../admin/src/translations/de.json | 8 ++-- 2 files changed, 37 insertions(+), 13 deletions(-) diff --git a/packages/strapi-admin/admin/src/translations/de.json b/packages/strapi-admin/admin/src/translations/de.json index 797107d16d..55406e5651 100644 --- a/packages/strapi-admin/admin/src/translations/de.json +++ b/packages/strapi-admin/admin/src/translations/de.json @@ -3,8 +3,11 @@ "Auth.advanced.allow_register": "Registrierung zulassen", "Auth.components.Oops.text": "Der Account wurde deaktiviert", "Auth.form.button.forgot-password": "E-Mail versenden", - "Auth.form.button.go-home": "ZUR STARTSEITE WECHSELN", + "Auth.form.button.go-home": "ZURÜCK ZUR STARTSEITE", "Auth.form.button.login": "Login", + "Auth.form.button.login.strapi": "MIT STRAPI EINLOGGEN", + "Auth.form.button.login.providers.see-more": "Mehr anzeigen", + "Auth.form.button.login.providers.error": "Durch den ausgewählten Anbieter können wir dich nicht verbinden", "Auth.form.button.register": "LOS GEHT'S", "Auth.form.button.reset-password": "Passwort ändern", "Auth.form.confirmPassword.label": "Passwort bestätigen", @@ -56,6 +59,7 @@ "HomePage.welcome.congrats.content.bold": "empfehlen wir Ihren ersten Inhaltstyp zu erstellen.", "Media Library": "Medienbibliothek", "New entry": "Neuer Eintrag", + "or": "ODER", "Password": "Passwort", "Provider": "Methode", "ResetPasswordToken": "Passwort-Token zurücksetzen", @@ -65,14 +69,14 @@ "Roles.ListPage.notification.delete-not-allowed": "Eine Rolle, die mit einem Benutzer verknüpft ist, kann nicht gelöscht werden", "Roles.RoleRow.user-count.plural": "{number} Benutzer", "Roles.RoleRow.user-count.singular": "{number} Benutzer", + "Roles.components.List.empty.withSearch": "Es gibt keine Rolle die der Suche ({search}) entspricht...", + "Settings.application.title": "Anwendung", "Settings.application.description": "Projektdetails ansehen", - "Settings.application.edition-title": "Aktuelle Planversion", "Settings.application.link-pricing": "Alle Preisgestaltungen anzeigen", "Settings.application.link-upgrade": "Dein Projekt upgraden", - "Settings.application.node-version": "NODE VERSION", "Settings.application.strapi-version": "STRAPI VERSION", - "Settings.application.title": "Anwendung", - "Roles.components.List.empty.withSearch": "Es gibt keine Rolle die der Suche ({search}) entspricht...", + "Settings.application.node-version": "NODE VERSION", + "Settings.application.edition-title": "AKTUELLE VERSION", "Settings.PageTitle": "Einstellungen - {name}", "Settings.error": "Fehler", "Settings.global": "Globale Einstellungen", @@ -86,6 +90,7 @@ "Settings.permissions.conditions.links": "Links", "Settings.permissions.conditions.no-actions": "Keine Aktionen", "Settings.permissions.conditions.or": "ODER", + "Settings.permissions.conditions.none-selected": "Jederzeit", "Settings.permissions.conditions.selected.plural": "{number} Bedingungen ausgewählt", "Settings.permissions.conditions.selected.singular": "{number} Bedingung ausgewählt", "Settings.permissions.conditions.when": "Wenn", @@ -96,9 +101,16 @@ "Settings.permissions.users.form.email": "E-Mail", "Settings.permissions.users.form.firstname": "Vorname", "Settings.permissions.users.form.lastname": "Nachname", + "Settings.permissions.users.form.sso": "Mit SSO einloggen", + "Settings.permissions.users.form.sso.description": "Nutzer können sich per SSO einloggen wenn aktiviert (ON)", "Settings.permissions.users.listview.header.description.plural": "{number} Benutzer gefunden", "Settings.permissions.users.listview.header.description.singular": "{number} Benutzer gefunden", "Settings.permissions.users.listview.header.title": "Benutzer", + "Settings.profile.form.section.profile.title":"Profil", + "Settings.profile.form.section.password.title": "Passwort ändern", + "Settings.profile.form.section.experience.title": "Bedienung", + "Settings.profile.form.section.experience.interfaceLanguage": "Sprache der Oberfläche", + "Settings.profile.form.section.experience.interfaceLanguage.hint": "Dies wird die Oberfläche für dich in der ausgewählten Sprache darstellen.", "Settings.roles.create.description": "Die Berechtigungen einer Rolle festlegen", "Settings.roles.create.title": "Rolle erstellen", "Settings.roles.created": "Rolle erstellt", @@ -108,6 +120,7 @@ "Settings.roles.form.description": "Name und Beschreibung der Rolle", "Settings.roles.form.input.description": "Beschreibung", "Settings.roles.form.input.name": "Name", + "Settings.roles.form.permission.property-label": "{label} Berechtigungen", "Settings.roles.form.permissions.attributesPermissions": "Felderberechtigungen", "Settings.roles.form.permissions.create": "Erstellen", "Settings.roles.form.permissions.delete": "Löschen", @@ -121,6 +134,13 @@ "Settings.roles.list.title.singular": "{number} Rolle", "Settings.roles.title": "Rollen", "Settings.roles.title.singular": "Rolle", + "Settings.sso.title": "Single Sign-On", + "Settings.sso.description": "Einstellungen des Single Sign-On Features konfigurieren.", + "Settings.sso.form.registration.label": "Auto-Registrierung", + "Settings.sso.form.registration.description": "Neuen Nutzer beim Einloggen über SSO erstellen wenn noch kein Account existiert", + "Settings.sso.form.defaultRole.label": "Standard-Rolle", + "Settings.sso.form.defaultRole.description": "Die Standard-Rolle wird dem neu erstellten Nutzer zugewiesen", + "Settings.sso.form.defaultRole.description-not-allowed": "Du hast keine Lese-Berechtigung für die Admin-Rollen", "Settings.webhooks.create": "Webhook erstellen", "Settings.webhooks.create.header": "Neuen Header erstellen", "Settings.webhooks.created": "Webhook erstellt", @@ -228,9 +248,12 @@ "app.components.UpgradePlanModal.text-ee": "Enterprise Edition", "app.components.UpgradePlanModal.text-power": "Schalte die ganze Power frei", "app.components.UpgradePlanModal.text-strapi": "in dem du Strapi upgradest auf", - "app.components.Users.MagicLink.connect": "Diesen Link dem Benutzer zum Verbinden schicken.", + "app.components.Users.MagicLink.connect": "Diesen Link dem Benutzer zum Registrieren schicken.", + "app.components.Users.MagicLink.connect.sso": "Sende dem Benutzer diesen Link, das erste Login kann über einen SSO-Anbeiter gemacht werden", "app.components.Users.ModalCreateBody.block-title.details": "Details", "app.components.Users.ModalCreateBody.block-title.roles": "Rolle des Benutzers", + "app.components.Users.ModalCreateBody.block-title.roles.description": "Dein Benutzer kann eine oder mehrere Rollen haben", + "app.components.Users.ModalCreateBody.block-title.login": "Login-Einstellungen", "app.components.Users.SortPicker.button-label": "Sortieren nach", "app.components.Users.SortPicker.sortby.email_asc": "E-Mail (A nach Z)", "app.components.Users.SortPicker.sortby.email_desc": "E-Mail (Z nach A)", @@ -302,7 +325,8 @@ "components.Input.error.validation.unique": "Der Wert wird bereits genutzt.", "components.InputSelect.option.placeholder": "Hier wählen", "components.ListRow.empty": "Es gibt keine Daten.", - "components.OverlayBlocker.description": "Es wird ein Feature verwendet, das einen Neustart des Servers erfordert. Bitte warten, bis der Server wieder gestartet wurde.", + "components.NotAllowedInput.text": "Keine Berechtigung dieses Feld zu sehen", + "components.OverlayBlocker.description": "Es wird ein Feature verwendet, das einen Neustart des Servers erfordert. Bitte warte bis der Server neu gestartet wurde.", "components.OverlayBlocker.description.serverError": "Der Server sollte neu gestartet sein, bitte Logs im Terminal überprüfen.", "components.OverlayBlocker.title": "Warten auf Neustart.....", "components.OverlayBlocker.title.serverError": "Der Neustart dauert länger als erwartet.", @@ -330,7 +354,7 @@ "components.popUpWarning.title": "Bitte bestätigen", "form.button.continue": "Weiter", "form.button.done": "Fertig", - "form.button.finish": "Fertig", + "form.button.finish": "Fertigstellen", "global.prompt.unsaved": "Seite wirklich verlassen? Alle Änderungen gehen hierdurch verloren.", "notification.contentType.relations.conflict": "Content Type hat Konflikt in Beziehungen", "notification.error": "Ein Fehler ist aufgetreten", @@ -341,7 +365,7 @@ "notification.permission.not-allowed-read": "Keine Berechtigung dieses Dokument einzusehen", "notification.success.delete": "Eintrag wurde gelöscht", "notification.success.saved": "Gespeichert", - "notification.version.update.link": "Erfahre mehr", "notification.version.update.message": "Eine neue Strapi Version ist verfügbar", + "notification.version.update.link": "Erfahre mehr", "request.error.model.unknown": "Dieses Schema existiert nicht" } diff --git a/packages/strapi-plugin-content-manager/admin/src/translations/de.json b/packages/strapi-plugin-content-manager/admin/src/translations/de.json index be0380cb5f..ab69e81b76 100644 --- a/packages/strapi-plugin-content-manager/admin/src/translations/de.json +++ b/packages/strapi-plugin-content-manager/admin/src/translations/de.json @@ -30,9 +30,9 @@ "components.TableDelete.deleteSelected": "Ausgewählte löschen", "components.TableDelete.entries.plural": "{number} ausgewählte Einträge", "components.TableDelete.entries.singular": "{number} ausgewählter Eintrag", - "components.TableEmpty.withFilters": "Es gibt keinen {contentType} mit den verwendeten Filtern...", - "components.TableEmpty.withSearch": "Es gibt keinen {contentType}, der der Suche entspricht ({search})...", - "components.TableEmpty.withoutFilter": "Es gibt kein(-e/-en) {contentType}...", + "components.TableEmpty.withFilters": "Es gibt keine {contentType} mit den verwendeten Filtern...", + "components.TableEmpty.withSearch": "Es gibt keine {contentType}, die der Suche ({search}) entsprechen...", + "components.TableEmpty.withoutFilter": "Es gibt keine {contentType}...", "components.empty-repeatable": "Noch keine Einträge. Nutze den Button unten um einen hinzuzufügen.", "components.repeatable.reorder.error": "Während dem Ändern der Reihenfolge der Komponenten ist ein Fehler aufgetreten, bitte versuche es erneut", "components.notification.info.maximum-requirement": "Die maximale Anzahl an Feldern wurde erreicht", @@ -51,7 +51,7 @@ "containers.Edit.delete": "Löschen", "containers.Edit.delete-entry": "Diesen Eintrag löschen", "containers.Edit.editing": "Bearbeite...", - "containers.Edit.information": "Information", + "containers.Edit.information": "Informationen", "containers.Edit.information.by": "Von", "containers.Edit.information.draftVersion": "Entwurf", "containers.Edit.information.editing": "Bearbeite", From 2d8d3fdc06916f85fec0b6b02811dfc6566db72c Mon Sep 17 00:00:00 2001 From: Ilya Artamonov Date: Tue, 11 May 2021 10:24:30 +0300 Subject: [PATCH 030/151] Added missing translations (#10202) --- .../admin/src/translations/ru.json | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/packages/strapi-plugin-content-manager/admin/src/translations/ru.json b/packages/strapi-plugin-content-manager/admin/src/translations/ru.json index 98b81abc15..a54010654a 100644 --- a/packages/strapi-plugin-content-manager/admin/src/translations/ru.json +++ b/packages/strapi-plugin-content-manager/admin/src/translations/ru.json @@ -78,8 +78,8 @@ "containers.ListPage.displayedFields": "Отображаемые поля", "containers.ListPage.table-headers.published_at": "Состояние", "containers.ListSettingsView.modal-form.edit-label": "Отредактируйте ярлык", - "containers.SettingPage.add.field": "Insert another field", - "containers.SettingPage.add.relational-field": "Insert another relational field", + "containers.SettingPage.add.field": "Добавить еще одно поле", + "containers.SettingPage.add.relational-field": "Добавить еще одно связанное поле", "containers.SettingPage.attributes": "Поля атрибутов", "containers.SettingPage.attributes.description": "Определить порядок атрибутов", "containers.SettingPage.editSettings.description": "Перетащите поля, чтобы определить макет", @@ -150,8 +150,8 @@ "notification.info.minimumFields": "Вам нужно иметь хотя бы одно отображаемое поле", "notification.upload.error": "Произошла ошибка при загрузке ваших файлов", "pageNotFound": "Страница не найдена", - "permissions.not-allowed.create": "Вам не разрешается создавать документ", - "permissions.not-allowed.update": "Вы не имеете права видеть этот документ", + "permissions.not-allowed.create": "У вас нет прав на создание документов", + "permissions.not-allowed.update": "У вас нет прав на просмотр этого документа", "plugin.description.long": "Быстрый способ увидеть, отредактировать и удалить данные в вашей базе данных.", "plugin.description.short": "Быстрый способ увидеть, отредактировать и удалить данные в вашей базе данных.", "popUpWarning.bodyMessage.contentType.delete": "Вы уверены, что хотите удалить эту запись?", @@ -161,12 +161,17 @@ "popUpWarning.warning.unpublish": "Если вы не опубликуете этот контент, он автоматически превратится в черновик.", "popUpWarning.warning.unpublish-question": "Вы уверены, что хотите ее не публиковать?", "popUpwarning.warning.has-draft-relations.button-confirm": "Да, публиковать", - "popUpwarning.warning.has-draft-relations.first-message": "еще не опубликовано.", - "popUpwarning.warning.has-draft-relations.message.bold-text.plural": "{count} из вашего контента связи таковы", - "popUpwarning.warning.has-draft-relations.message.bold-text.singular": "{count} из вашего контента отношения таковы", "popUpwarning.warning.has-draft-relations.second-message": "Это может привести к неработающим ссылкам и ошибкам в вашем проекте.", "success.record.delete": "Удалено", "success.record.save": "Сохранено", "success.record.publish": "Опубликовано", - "success.record.unpublish": "Неопубликовано" + "success.record.unpublish": "Не опубликовано", + "components.repeatable.reorder.error": "Произошла ошибка при изменении порядка полей вашего компонента. Попробуйте еще раз.", + "containers.ListPage.items.plural": "элементов", + "containers.ListPage.items.singular": "элемент", + "containers.SettingPage.editSettings.relation-field.description": "Установите поле, которое будет отображаться как в режиме редактирования, так и в списке.", + "form.Input.pageEntries.inputDescription": "Примечание. Вы можете переопределить это значение на странице настроек типа коллекции.", + "popUpwarning.warning.has-draft-relations.message.plural": "{count} связанных элементов еще не опубликованы.

Это может привести к неработающим ссылкам и ошибкам в вашем проекте.", + "popUpwarning.warning.has-draft-relations.message.singular": "{count} связанный элемент еще не опубликован.

Это может привести к неработающим ссылкам и ошибкам в вашем проекте.", + "popUpWarning.warning.publish-question": "Вы уверены, что хотите опубликовать запись?" } From e547b11b9a786cb3ad5fc7f6ff38435d48e84633 Mon Sep 17 00:00:00 2001 From: DMehaffy Date: Tue, 11 May 2021 00:26:35 -0700 Subject: [PATCH 031/151] Fix date field being parsed with a timezone (#10033) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix date field being parsed with a timezone Signed-off-by: Derrick Mehaffy * send YYYY-MM-DD format instead or 2021-04-27T15:01:09.155Z * Revert "Fix date field being parsed with a timezone" This reverts commit 498180477bf1750aa177a27786cc9b4e873c4e95. Co-authored-by: Pierre Noël --- .../containers/EditViewDataManagerProvider/utils/cleanData.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/strapi-plugin-content-manager/admin/src/containers/EditViewDataManagerProvider/utils/cleanData.js b/packages/strapi-plugin-content-manager/admin/src/containers/EditViewDataManagerProvider/utils/cleanData.js index 9ef51c37a2..c29bd33307 100644 --- a/packages/strapi-plugin-content-manager/admin/src/containers/EditViewDataManagerProvider/utils/cleanData.js +++ b/packages/strapi-plugin-content-manager/admin/src/containers/EditViewDataManagerProvider/utils/cleanData.js @@ -24,6 +24,9 @@ const cleanData = (retrievedData, currentSchema, componentsSchema) => { break; case 'date': + cleanedData = + value && value._isAMomentObject === true ? value.format('YYYY-MM-DD') : value; + break; case 'datetime': cleanedData = value && value._isAMomentObject === true ? value.toISOString() : value; break; From a11c2364f0cb096d41637649589ebd40aa5f82e0 Mon Sep 17 00:00:00 2001 From: Webnatural Date: Tue, 11 May 2021 09:31:15 +0200 Subject: [PATCH 032/151] Update strapi-admin Polish language translations (#10198) --- .../admin/src/translations/pl.json | 695 ++++++++++-------- 1 file changed, 370 insertions(+), 325 deletions(-) diff --git a/packages/strapi-admin/admin/src/translations/pl.json b/packages/strapi-admin/admin/src/translations/pl.json index 2a30a2db5c..ae0b6b5e4e 100644 --- a/packages/strapi-admin/admin/src/translations/pl.json +++ b/packages/strapi-admin/admin/src/translations/pl.json @@ -1,327 +1,372 @@ { - "Analytics": "Analityka", - "Auth.advanced.allow_register": "", - "Auth.components.Oops.text": "Twoje konto zostało zawieszone", - "Auth.form.button.forgot-password": "Wyślij e-mail", - "Auth.form.button.go-home": "WRÓĆ DO POCZĄTKU", - "Auth.form.button.login": "Zaloguj się", - "Auth.form.button.register": "ZACZNIJMY", - "Auth.form.button.reset-password": "Zmień hasło", - "Auth.form.confirmPassword.label": "Potwierdź hasło", - "Auth.form.email.label": "E-mail", - "Auth.form.email.placeholder": "jannowak@gmail.com", - "Auth.form.error.blocked": "Twoje konto zostało zablokowane przez administratora.", - "Auth.form.error.code.provide": "Wprowadzono niepoprawny kod.", - "Auth.form.error.confirmed": "Twój adres email nie został jeszcze potwierdzony.", - "Auth.form.error.email.invalid": "Ten e-mail jest nieprawidłowy.", - "Auth.form.error.email.provide": "Podaj swoją nazwę użytkownika lub adres e-mail.", - "Auth.form.error.email.taken": "Ten adres e-mail jest już zajęty.", - "Auth.form.error.invalid": "Niepoprawny identyfikator lub hasło.", - "Auth.form.error.params.provide": "Dostarczono niepoprawne parametry.", - "Auth.form.error.password.format": "Twoje hasło nie może zawierać więcej niż trzech symboli `$`.", - "Auth.form.error.password.local": "Ten użytkownik nigdy nie ustawił lokalnego hasła, zaloguj się poprzez usługodawcę wykorzystanego podczas tworzenia konta.", - "Auth.form.error.password.matching": "Hasła się nie zgadzają.", - "Auth.form.error.password.provide": "Podaj hasło.", - "Auth.form.error.ratelimit": "Zbyt wiele prób, spróbuj ponownie później.", - "Auth.form.error.user.not-exist": "Ten email nie istnieje.", - "Auth.form.error.username.taken": "Nazwa użytkownika jest już zajęta.", - "Auth.form.firstname.label": "Imię", - "Auth.form.firstname.placeholder": "Jan", - "Auth.form.forgot-password.email.label": "Wprowadź swój e-mail", - "Auth.form.forgot-password.email.label.success": "E-mail pomyślnie wysłany do", - "Auth.form.lastname.label": "Nazwisko", - "Auth.form.lastname.placeholder": "Nowak", - "Auth.form.password.label": "Hasło", - "Auth.form.register.news.label": "Informuj mnie na bieżąco o nowych funkcjach i nadchodzących ulepszeniach (wybór oznacza akceptację {terms} i {policy}).", - "Auth.form.rememberMe.label": "Zapamiętaj mnie", - "Auth.form.username.label": "Nazwa użytkownika", - "Auth.form.username.placeholder": "Jan Nowak", - "Auth.link.forgot-password": "Nie pamiętasz hasła?", - "Auth.link.ready": "Gotowy aby się zalogować?", - "Auth.link.signin": "Zaloguj się", - "Auth.link.signin.account": "Posiadasz już konto?", - "Auth.privacy-policy-agreement.policy": "polityka prywatności", - "Auth.privacy-policy-agreement.terms": "warunki", - "Content Manager": "Menedżer treści", - "Content Type Builder": "Budowniczy typów treści", - "Documentation": "Dokumentacja", - "Email": "E-mail", - "Files Upload": "Upload plików", - "HomePage.community": "Dołącz do społeczności", - "HomePage.greetings": "Cześć {name}!", - "HomePage.helmet.title": "Strona główna", - "HomePage.roadmap": "Zobacz nasz plan działania", - "HomePage.welcome.congrats": "Gratulacje!", - "HomePage.welcome.congrats.content": "Jesteś zalogowany jako pierwszy administrator. Aby odkryć znakomite funkcje oferowane przez Strapi,", - "HomePage.welcome.congrats.content.bold": "polecamy Ci utworzyć Twój pierwszy Typ Kolekcji.", - "Media Library": "Biblioteka Mediów", - "New entry": "Nowy wpis", - "Password": "Hasło", - "Provider": "Dostawca", - "ResetPasswordToken": "Token resetu hasła", - "Role": "Rola", - "Roles & Permissions": "Role i uprawnienia", - "Roles.ListPage.notification.delete-all-not-allowed": "Niektóre role nie mogły zostać usunięte ponieważ są skojarzone z użytkownikami", - "Roles.ListPage.notification.delete-not-allowed": "Rola nie może zostać usunięta jeśli jest skojarzona z użytkownikami", - "Roles.RoleRow.user-count.plural": "{number} użytkowników", - "Roles.RoleRow.user-count.singular": "{number} użytkownik", - "Roles.components.List.empty.withSearch": "Nie znaleziono roli odpowiadającej wyszukiwaniu ({search})...", - "Settings.PageTitle": "Ustawienia - {name}", - "Settings.error": "Błąd", - "Settings.global": "Globalne Ustawienia", - "Settings.permissions": "Uprawnienia", - "Settings.permissions.category": "Ustawienia uprawnień dla {category}", - "Settings.permissions.conditions.anytime": "Kiedykolwiek", - "Settings.permissions.conditions.apply": "Zastosuj", - "Settings.permissions.conditions.can": "Może", - "Settings.permissions.conditions.define-conditions": "Zdefiniuj warunki", - "Settings.permissions.conditions.links": "Linki", - "Settings.permissions.conditions.no-actions": "Nie ma tu akcji", - "Settings.permissions.conditions.or": "LUB", - "Settings.permissions.conditions.selected.plural": "{number} conditions selected", - "Settings.permissions.conditions.selected.singular": "{number} condition selected", - "Settings.permissions.conditions.when": "Kiedy", - "Settings.permissions.menu.link.roles.label": "Role", - "Settings.permissions.menu.link.users.label": "Użytkownicy", - "Settings.permissions.users.add-new": "Dodaj nowego użytkownika", - "Settings.permissions.users.create": "Stwórz nowego użytkownika", - "Settings.permissions.users.form.email": "E-mail", - "Settings.permissions.users.form.firstname": "Imię", - "Settings.permissions.users.form.lastname": "Nazwisko", - "Settings.permissions.users.listview.header.description.plural": "{number} użytkowników", - "Settings.permissions.users.listview.header.description.singular": "{number} użytkownik", - "Settings.permissions.users.listview.header.title": "Użytkownicy", - "Settings.roles.create.description": "Zdefiniuj prawa przypisane do roli", - "Settings.roles.create.title": "Stwórz rolę", - "Settings.roles.created": "Rola utworzona", - "Settings.roles.edit.title": "Edytuj rolę", - "Settings.roles.form.button.users-with-role": "Użytkownicy z tą rolą", - "Settings.roles.form.created": "Utworzono", - "Settings.roles.form.description": "Nazwa i opis roli", - "Settings.roles.form.input.description": "Opis", - "Settings.roles.form.input.name": "Nazwa", - "Settings.roles.form.permissions.attributesPermissions": "Uprawnienia pól", - "Settings.roles.form.permissions.create": "Tworzenie", - "Settings.roles.form.permissions.delete": "Usuwanie", - "Settings.roles.form.permissions.read": "Wyświetlanie", - "Settings.roles.form.permissions.update": "Aktualizowanie", - "Settings.roles.form.title": "Szczegóły", - "Settings.roles.list.button.add": "Dodaj rolę", - "Settings.roles.list.description": "Lista ról", - "Settings.roles.list.title.plural": "{number} ról", - "Settings.roles.list.title.singular": "{number} rola", - "Settings.roles.title": "Role", - "Settings.roles.title.singular": "rola", - "Settings.webhooks.create": "Utwórz webhook", - "Settings.webhooks.create.header": "Dodaj nagłówek", - "Settings.webhooks.created": "Webhook utworzony", - "Settings.webhooks.disabled": "Wyłączony", - "Settings.webhooks.enabled": "Włączony", - "Settings.webhooks.events.create": "Utwórz", - "Settings.webhooks.form.events": "Zdarzenia", - "Settings.webhooks.form.headers": "Nagłówki", - "Settings.webhooks.form.name": "Nazwa", - "Settings.webhooks.form.url": "Url", - "Settings.webhooks.key": "Klucz", - "Settings.webhooks.list.button.add": "Dodaj nowego webhooka", - "Settings.webhooks.list.description": "Otrzymuj notyfikacje POST o zmianach.", - "Settings.webhooks.list.empty.description": "Dodaj pierwszy element do tej listy.", - "Settings.webhooks.list.empty.link": "Zobacz dokumentację", - "Settings.webhooks.list.empty.title": "Lista webhooków jest pusta", - "Settings.webhooks.singular": "webhook", - "Settings.webhooks.title": "Webhooki", - "Settings.webhooks.trigger": "Wywołaj", - "Settings.webhooks.trigger.cancel": "Anuluj wywołanie", - "Settings.webhooks.trigger.pending": "Oczekiwanie…", - "Settings.webhooks.trigger.save": "Zapisz do wywołania", - "Settings.webhooks.trigger.success": "Sukces!", - "Settings.webhooks.trigger.success.label": "Wywołanie powiodło się", - "Settings.webhooks.trigger.test": "Wywołanie testowe", - "Settings.webhooks.trigger.title": "Zapisz przed wywołaniem", - "Settings.webhooks.value": "Wartość", - "Username": "Nazwa użytkownika", - "Users": "Użytkownicy", - "Users & Permissions": "Użytkownicy i uprawnienia", - "Users.components.List.empty": "Nie ma użytkowników...", - "Users.components.List.empty.withFilters": "Nie ma użytkowników z wybranymi filtrami...", - "Users.components.List.empty.withSearch": "Nie ma użytkowników spełniających wyszukiwanie ({search})...", - "app.components.BlockLink.code": "Przykłady", - "app.components.BlockLink.code.content": "Ucz się poprzez testowanie prawdziwych projektów opracowanych przez społeczność.", - "app.components.BlockLink.documentation": "Dokumentacja", - "app.components.BlockLink.documentation.content": "Poznaj koncepcje, przewodniki i tutoriale.", - "app.components.Button.cancel": "Anuluj", - "app.components.Button.reset": "Resetuj", - "app.components.Button.save": "Zapisz", - "app.components.ComingSoonPage.comingSoon": "Wkrótce", - "app.components.DownloadInfo.download": "Pobieranie w toku...", - "app.components.DownloadInfo.text": "To może chwilę potrwać. Dziękujemy za cierpliwość.", - "app.components.EmptyAttributes.title": "Nie ma jeszcze żadnych pól", - "app.components.HomePage.button.blog": "ZOBACZ WIĘCEJ NA BLOGU", - "app.components.HomePage.community": "Odkryj internetową społeczność", - "app.components.HomePage.community.content": "Dyskutuj z członkami zespołu, współtwórcami i programistami na różnych kanałach.", - "app.components.HomePage.create": "Stwórz swój pierwszy Typ Treści", - "app.components.HomePage.welcome": "Witaj na pokładzie!", - "app.components.HomePage.welcome.again": "Witaj ", - "app.components.HomePage.welcomeBlock.content": "Cieszymy się, że należysz do naszej społeczności. Nieustannie poszukujemy opinii więc nie krępuj się wysyłać nam bezpośrednich wiadomości poprzez ", - "app.components.HomePage.welcomeBlock.content.again": "Mamy nadzieję, że robisz postępy w swoim projekcie... Zapraszamy do zapoznania się z najnowszymi informacjami na temat Strapi. Dajemy z siebie wszystko, aby ulepszyć produkt w oparciu o Twoją opinię.", - "app.components.HomePage.welcomeBlock.content.issues": "problemów.", - "app.components.HomePage.welcomeBlock.content.raise": " czy też poruszać ", - "app.components.ImgPreview.hint": "Przeciągnij i upuść plik w tym obszarze lub {browse}, aby przesłać plik", - "app.components.ImgPreview.hint.browse": "przeglądaj", - "app.components.InputFile.newFile": "Dodaj nowy plik", - "app.components.InputFileDetails.open": "Otwórz w nowej karcie", - "app.components.InputFileDetails.originalName": "Oryginalna nazwa:", - "app.components.InputFileDetails.remove": "Usuń ten plik", - "app.components.InputFileDetails.size": "Rozmiar:", - "app.components.InstallPluginPage.Download.description": "Pobranie i instalacja wtyczki może zająć kilka sekund.", - "app.components.InstallPluginPage.Download.title": "Pobieranie...", - "app.components.InstallPluginPage.description": "Rozszerz swoją aplikację bez wysiłku.", - "app.components.InstallPluginPage.helmet": "Sklep – Wtyczki", - "app.components.InstallPluginPage.title": "Sklep – Wtyczki", - "app.components.LeftMenuFooter.documentation": "Dokumentacja", - "app.components.LeftMenuFooter.help": "Pomoc", - "app.components.LeftMenuFooter.poweredBy": "Dumnie wspierane przez ", - "app.components.LeftMenuLinkContainer.collectionTypes": "Typy Kolekcji", - "app.components.LeftMenuLinkContainer.configuration": "Konfiguracje", - "app.components.LeftMenuLinkContainer.general": "Ogólne", - "app.components.LeftMenuLinkContainer.installNewPlugin": "Sklep", - "app.components.LeftMenuLinkContainer.listPlugins": "Wtyczki", - "app.components.LeftMenuLinkContainer.noPluginsInstalled": "Brak zainstalowanych wtyczek", - "app.components.LeftMenuLinkContainer.plugins": "Wtyczki", - "app.components.LeftMenuLinkContainer.settings": "Ustawienia", - "app.components.LeftMenuLinkContainer.singleTypes": "Pojedyncze Typy", - "app.components.ListPluginsPage.deletePlugin.description": "Odinstalowywanie wtyczki może zająć kilka sekund.", - "app.components.ListPluginsPage.deletePlugin.title": "Dezinstalacja", - "app.components.ListPluginsPage.description": "Lista zainstalowanych wtyczek w projekcie.", - "app.components.ListPluginsPage.helmet.title": "Lista wtyczek", - "app.components.ListPluginsPage.title": "Wtyczki", - "app.components.Logout.logout": "Wyloguj", - "app.components.Logout.profile": "Profil", - "app.components.NotFoundPage.back": "Powrót do strony głównej", - "app.components.NotFoundPage.description": "Nie znaleziono", - "app.components.Official": "Oficjalna", - "app.components.Onboarding.label.completed": "% ukończono", - "app.components.Onboarding.title": "Filmy „Jak Zacząć”", - "app.components.PluginCard.Button.label.download": "Pobierz", - "app.components.PluginCard.Button.label.install": "Zainstalowana", - "app.components.PluginCard.PopUpWarning.install.impossible.autoReload.needed": "Funkcja autoReload musi być włączona. Uruchom aplikację używając polecenia `yarn develop`.", - "app.components.PluginCard.PopUpWarning.install.impossible.confirm": "Rozumiem!", - "app.components.PluginCard.PopUpWarning.install.impossible.environment": "Z powodów bezpieczeństwa wtyczka może być pobrana tylko w środowisku developerskim.", - "app.components.PluginCard.PopUpWarning.install.impossible.title": "Pobieranie jest niemożliwe", - "app.components.PluginCard.compatible": "Kompatybilna z twoją aplikacją", - "app.components.PluginCard.compatibleCommunity": "Kompatybilna ze społecznością", - "app.components.PluginCard.more-details": "Więcej szczegółów", - "app.components.UpgradePlanModal.button": "DOWIEDZ SIĘ WIĘCEJ", - "app.components.UpgradePlanModal.limit-reached": "Osiągnąłeś limit", - "app.components.UpgradePlanModal.text-ce": "Community Edition", - "app.components.UpgradePlanModal.text-ee": "Enterprise Edition", - "app.components.UpgradePlanModal.text-power": "Odblokuj pełny potencjał", - "app.components.UpgradePlanModal.text-strapi": "Strapi poprzez przejście na wersję", - "app.components.Users.MagicLink.connect": "Wyślij tego linka użytkownikowi aby mógł dołączyć.", - "app.components.Users.ModalCreateBody.block-title.details": "Szczegóły", - "app.components.Users.ModalCreateBody.block-title.roles": "Role użytkownika", - "app.components.Users.SortPicker.button-label": "Sortuj wg", - "app.components.Users.SortPicker.sortby.email_asc": "E-maila (A do Z)", - "app.components.Users.SortPicker.sortby.email_desc": "E-maila (Z do A)", - "app.components.Users.SortPicker.sortby.firstname_asc": "Imienia (A do Z)", - "app.components.Users.SortPicker.sortby.firstname_desc": "Imienia (Z do A)", - "app.components.Users.SortPicker.sortby.lastname_asc": "Nazwiska (A do Z)", - "app.components.Users.SortPicker.sortby.lastname_desc": "Nazwiska (Z do A)", - "app.components.Users.SortPicker.sortby.username_asc": "Nazwy użytkownika (A do Z)", - "app.components.Users.SortPicker.sortby.username_desc": "Nazwy użytkownika (Z do A)", - "app.components.listPlugins.button": "Dodaj nową wtyczkę", - "app.components.listPlugins.title.none": "Żadna wtyczka nie jest zainstalowana", - "app.components.listPlugins.title.plural": "{number} wtyczek jest zainstalowanych", - "app.components.listPlugins.title.singular": "{number} wtyczka jest zainstalowana", - "app.components.listPluginsPage.deletePlugin.error": "Wystąpił błąd podczas dezinstalacji wtyczki", - "app.containers.App.notification.error.init": "Wystąpił błąd podczas wykonywania żądania do API", - "app.containers.AuthPage.ForgotPasswordSuccess.text.contact-admin": "Jeśli nie otrzymasz tego linka, skontaktuj się z administratorem.", - "app.containers.AuthPage.ForgotPasswordSuccess.text.email": "Otrzymanie linku do odzyskiwania hasła może zająć kilka minut.", - "app.containers.AuthPage.ForgotPasswordSuccess.title": "E-mail został wysłany", - "app.containers.Users.EditPage.form.active.label": "Aktywny", - "app.containers.Users.EditPage.header.label": "Edytuj {name}", - "app.containers.Users.EditPage.header.label-loading": "Edytuj użytkownika", - "app.containers.Users.EditPage.roles-bloc-title": "Przypisane role", - "app.containers.Users.ModalForm.footer.button-success": "Utwórz użytkownika", - "app.links.configure-view": "Skonfiguruj widok", - "app.utils.SelectOption.defaultMessage": " ", - "app.utils.add-filter": "Dodaj filtr", - "app.utils.defaultMessage": " ", - "app.utils.delete": "Usuń", - "app.utils.filters": "Filtry", - "app.static.links.cheatsheet": "Ściąga", - "app.utils.placeholder.defaultMessage": " ", - "component.Input.error.validation.integer": "Wartość musi być liczbą", - "components.AutoReloadBlocker.description": "Uruchom Strapi jedną z poniższych komend:", - "components.AutoReloadBlocker.header": "Do tej wtyczki wymagana jest funkcja przeładowywania.", - "components.ErrorBoundary.title": "Coś poszło nie tak...", - "components.FilterOptions.FILTER_TYPES.=": "jest identyczne z", - "components.FilterOptions.FILTER_TYPES._contains": "zawiera", - "components.FilterOptions.FILTER_TYPES._containss": "zawiera (rozróżnianie wielkości liter)", - "components.FilterOptions.FILTER_TYPES._gt": "jest większe od", - "components.FilterOptions.FILTER_TYPES._gte": "jest większe od lub równe", - "components.FilterOptions.FILTER_TYPES._in": "dopasuj jakąkolwiek wartość z tablicy wartości", - "components.FilterOptions.FILTER_TYPES._lt": "jest mniejsze od", - "components.FilterOptions.FILTER_TYPES._lte": "jest mniejsze od lub równe", - "components.FilterOptions.FILTER_TYPES._ncontains": "nie zawiera", - "components.FilterOptions.FILTER_TYPES._ne": "jest różne od", - "components.FilterOptions.FILTER_TYPES._nin": "nie znaleziono pasującej wartości w tablicy wartości", - "components.Input.error.attribute.key.taken": "Ta wartość już istnieje", - "components.Input.error.attribute.sameKeyAndName": "Nie mogą być takie same", - "components.Input.error.attribute.taken": "Ta nazwa pola już istnieje", - "components.Input.error.contain.lowercase": "Hasło musi zawierać przynajmniej jedną małą literę", - "components.Input.error.contain.number": "Hasło musi zawierać co najmniej jedną cyfrę", - "components.Input.error.contain.uppercase": "Hasło musi zawierać przynajmniej jedną dużą literę", - "components.Input.error.contentTypeName.taken": "Ta nazwa już istnieje", - "components.Input.error.custom-error": "{errorMessage} ", - "components.Input.error.password.noMatch": "Wpisane hasła do siebie nie pasują", - "components.Input.error.validation.email": "To nie jest email", - "components.Input.error.validation.json": "To nie jest format JSON", - "components.Input.error.validation.max": "Wartość jest za wysoka.", - "components.Input.error.validation.maxLength": "Wartość jest za długa.", - "components.Input.error.validation.min": "Wartość jest za niska.", - "components.Input.error.validation.minLength": "Wartość jest za krótka.", - "components.Input.error.validation.minSupMax": "Nie może być większa", - "components.Input.error.validation.regex": "Wartość nie jest zgodna z wymaganym wzorcem.", - "components.Input.error.validation.required": "Ta wartość jest wymagana.", - "components.Input.error.validation.unique": "Ta wartość jest już użyta.", - "components.InputSelect.option.placeholder": "Wybierz tutaj", - "components.ListRow.empty": "Nie ma żadnych danych do wyświetlenia.", - "components.OverlayBlocker.description": "Używasz funkcjonalności która wymaga restartu serwera. Poczekaj proszę na ponowne uruchomienie się serwera.", - "components.OverlayBlocker.description.serverError": "Serwer powinien zostać zrestartowany, sprawdź swoje logi w terminalu.", - "components.OverlayBlocker.title": "Oczekiwanie na ponowne uruchomienie...", - "components.OverlayBlocker.title.serverError": "Ponowne uruchomienie trwa dłużej niż oczekiwano", - "components.PageFooter.select": "elementów na stronę", - "components.ProductionBlocker.description": "Ze względów bezpieczeństwa wtyczka jest wyłączona w innych środowiskach.", - "components.ProductionBlocker.header": "Ta wtyczka jest dostępna tylko w trybie deweloperskim.", - "components.Search.placeholder": "Szukaj...", - "components.Wysiwyg.ToggleMode.markdown": "Przełącz na markdown", - "components.Wysiwyg.ToggleMode.preview": "Przełącz na podgląd", - "components.Wysiwyg.collapse": "Zwiń", - "components.Wysiwyg.selectOptions.H1": "Tytuł H1", - "components.Wysiwyg.selectOptions.H2": "Tytuł H2", - "components.Wysiwyg.selectOptions.H3": "Tytuł H3", - "components.Wysiwyg.selectOptions.H4": "Tytuł H4", - "components.Wysiwyg.selectOptions.H5": "Tytuł H5", - "components.Wysiwyg.selectOptions.H6": "Tytuł H6", - "components.Wysiwyg.selectOptions.title": "Dodaj tytuł", - "components.WysiwygBottomControls.charactersIndicators": "znaków", - "components.WysiwygBottomControls.fullscreen": "Rozszerz", - "components.WysiwygBottomControls.uploadFiles": "Przeciągnij i upuść pliki, wklej ze schowka lub {browse}.", - "components.WysiwygBottomControls.uploadFiles.browse": "je wybierz", - "components.popUpWarning.message": "Czy na pewno chcesz to usunąć?", - "components.popUpWarning.title": "Potwierdzenie", - "form.button.continue": "Komtynuuj", - "form.button.done": "Gotowe", - "form.button.finish": "Zakończ", - "global.prompt.unsaved": "Czy jesteś pewien, że chcesz opuścić tę stronę? Wszystkie modyfikacje zostaną utracone", - "notification.contentType.relations.conflict": "Typ treści ma konfliktujące się relacje", - "notification.error": "Wystąpił błąd", - "notification.error.layout": "Nie można było pobrać układu", - "notification.form.error.fields": "Formularz zawiera błędy", - "notification.form.success.fields": "Zmiany zapisane", - "notification.link-copied": "Link został skopiowany do schowka", - "notification.success.delete": "Element został usunięty", - "notification.success.saved": "Zapisano", - "request.error.model.unknown": "Ten model nie istnieje" + "Analytics": "Analityka", + "Auth.advanced.allow_register": "", + "Auth.components.Oops.text": "Twoje konto zostało zablokowane", + "Auth.form.button.forgot-password": "Wyślij e-mail", + "Auth.form.button.go-home": "PRZEJDŹ DO STRONY GŁÓWNEJ", + "Auth.form.button.login": "Zaloguj się", + "Auth.form.button.login.providers.error": "Nie możemy połączyć Cię za pośrednictwem wybranego dostawcy.", + "Auth.form.button.login.providers.see-more": "Zobacz więcej", + "Auth.form.button.login.strapi": "ZALOGUJ SIĘ PRZEZ STRAPI", + "Auth.form.button.register": "ZACZYNAJMY", + "Auth.form.button.reset-password": "Zmień hasło", + "Auth.form.confirmPassword.label": "Hasło potwierdzające", + "Auth.form.email.label": "E-mail", + "Auth.form.email.placeholder": "jan@kowalski.pl", + "Auth.form.error.blocked": "Twoje konto zostało zablokowane przez administratora.", + "Auth.form.error.code.provide": "Podano nieprawidłowy kod.", + "Auth.form.error.confirmed": "Adres e-mail Twojego konta nie został potwierdzony.", + "Auth.form.error.email.invalid": "Ten e-mail jest nieprawidłowy.", + "Auth.form.error.email.provide": "Podaj swoją nazwę użytkownika lub adres e-mail.", + "Auth.form.error.email.taken": "Adres e-mail jest już zajęty.", + "Auth.form.error.invalid": "Identyfikator lub hasło jest nieprawidłowe.", + "Auth.form.error.params.provide": "Podano nieprawidłowe parametry.", + "Auth.form.error.password.format": "Twoje hasło nie może zawierać symbolu `$` więcej niż trzy razy.", + "Auth.form.error.password.local": "Ten użytkownik nigdy nie ustawił hasła lokalnego, zaloguj się za pośrednictwem dostawcy używanego podczas tworzenia konta.", + "Auth.form.error.password.matching": "Hasła nie pasują do siebie.", + "Auth.form.error.password.provide": "Proszę podać swoje hasło.", + "Auth.form.error.ratelimit": "Zbyt wiele prób, spróbuj ponownie za minutę.", + "Auth.form.error.user.not-exist": "Ten adres e-mail nie istnieje.", + "Auth.form.error.username.taken": "Nazwa użytkownika jest już zajęta.", + "Auth.form.firstname.label": "Imię", + "Auth.form.firstname.placeholder": "Jan", + "Auth.form.forgot-password.email.label": "Wpisz swój e-mail", + "Auth.form.forgot-password.email.label.success": "E-mail pomyślnie wysłany do", + "Auth.form.lastname.label": "Nazwisko", + "Auth.form.lastname.placeholder": "Kowalski", + "Auth.form.password.label": "Hasło", + "Auth.form.register.news.label": "Informuj mnie na bieżąco o nowych funkcjach i nadchodzących ulepszeniach (robiąc to, akceptujesz postanowienia zawarte w niniejszych dokumentach - {terms} i {policy}).", + "Auth.form.rememberMe.label": "Zapamiętaj mnie", + "Auth.form.username.label": "Nazwa użytkownika", + "Auth.form.username.placeholder": "Jan Kowalski", + "Auth.link.forgot-password": "Zapomniałeś hasła?", + "Auth.link.ready": "Chcesz się zalogować?", + "Auth.link.signin": "Zaloguj", + "Auth.link.signin.account": "Posiadasz już konto?", + "Auth.privacy-policy-agreement.policy": "Polityka prywatności", + "Auth.privacy-policy-agreement.terms": "Warunki", + "Content Manager": "Menedżer treści", + "Content Type Builder": "Kreator typów treści", + "Documentation": "Dokumentacja", + "Email": "E-mail", + "Files Upload": "Przesyłanie plików", + "HomePage.community": "Dołącz do społeczności", + "HomePage.greetings": "Cześć {name}!", + "HomePage.helmet.title": "Strona główna", + "HomePage.roadmap": "Zobacz nasze plany działań", + "HomePage.welcome.congrats": "Wyśmienicie!", + "HomePage.welcome.congrats.content": "Jesteś zalogowany jako pierwszy administrator, aby odkryć potężne funkcje oferowane przez Strapi,", + "HomePage.welcome.congrats.content.bold": "zalecamy utworzenie pierwszego typu kolekcji.", + "Media Library": "Biblioteka mediów", + "New entry": "Nowy wpis", + "Password": "Hasło", + "Provider": "Dostawca", + "ResetPasswordToken": "Token odzyskiwania hasła", + "Role": "Rola", + "Roles & Permissions": "Role i uprawnienia", + "Roles.ListPage.notification.delete-all-not-allowed": "Niektórych ról nie można usunąć, ponieważ są powiązane z użytkownikami", + "Roles.ListPage.notification.delete-not-allowed": "Nie można usunąć roli, jeśli jest powiązana z użytkownikami", + "Roles.RoleRow.user-count.plural": "{number} użytkowników", + "Roles.RoleRow.user-count.singular": "{number} użytkownik", + "Roles.components.List.empty.withSearch": "Brak roli odpowiadającej wyszukiwaniu ({search}) ...", + "Settings.PageTitle": "Ustawienia - {name}", + "Settings.application.description": "Zobacz szczegóły swojego projektu", + "Settings.application.edition-title": "OBECNY PLAN", + "Settings.application.link-pricing": "Zobacz cennik", + "Settings.application.link-upgrade": "Ulepsz swój projekt", + "Settings.application.node-version": "WERSJA NODE", + "Settings.application.strapi-version": "WERSJA STRAPI", + "Settings.application.title": "Aplikacja", + "Settings.error": "Błąd", + "Settings.global": "Ustawienia ogólne", + "Settings.permissions": "Panel administracyjny", + "Settings.permissions.category": "Ustawienia uprawnień dla {category}", + "Settings.permissions.category.plugins": "Ustawienia uprawnień dla wtyczki {category} ", + "Settings.permissions.conditions.anytime": "W dowolnym momencie", + "Settings.permissions.conditions.apply": "Zastosuj", + "Settings.permissions.conditions.can": "Może", + "Settings.permissions.conditions.define-conditions": "Definiować warunki", + "Settings.permissions.conditions.links": "Linki", + "Settings.permissions.conditions.no-actions": "Najpierw musisz wybrać akcje (tworzenie, odczytywanie, aktualizowanie, ...) przed zdefiniowaniem dla nich warunków.", + "Settings.permissions.conditions.none-selected": "W dowolnym momencie", + "Settings.permissions.conditions.or": "LUB", + "Settings.permissions.conditions.selected.plural": "{number} wybrany warunek", + "Settings.permissions.conditions.selected.singular": "Liczba wybranych warunków - {number}", + "Settings.permissions.conditions.when": "Kiedy", + "Settings.permissions.menu.link.roles.label": "Role", + "Settings.permissions.menu.link.users.label": "Użytkownicy", + "Settings.permissions.users.add-new": "Dodaj nowego użytkownika", + "Settings.permissions.users.create": "Utwórz nowego użytkownika", + "Settings.permissions.users.form.email": "E-mail", + "Settings.permissions.users.form.firstname": "Imię", + "Settings.permissions.users.form.lastname": "Nazwisko", + "Settings.permissions.users.form.sso": "Połącz z logowaniem jednokrotnym (SSO)", + "Settings.permissions.users.form.sso.description": "Po włączeniu (ON) użytkownicy mogą logować się za pomocą logowania jednokrotnego", + "Settings.permissions.users.listview.header.description.plural": "Liczba znalezionych użytkowników - {number}", + "Settings.permissions.users.listview.header.description.singular": "Znaleziono {number} użytkownika", + "Settings.permissions.users.listview.header.title": "Użytkownicy", + "Settings.profile.form.section.experience.interfaceLanguage": "Język interfejsu", + "Settings.profile.form.section.experience.interfaceLanguage.hint": "Spowoduje to wyświetlenie tylko własnego interfejsu w wybranym języku.", + "Settings.profile.form.section.experience.title": "Doświadczenie", + "Settings.profile.form.section.password.title": "Zmień hasło", + "Settings.profile.form.section.profile.title": "Profil", + "Settings.roles.create.description": "Zdefiniuj uprawnienia nadane roli", + "Settings.roles.create.title": "Utwórz rolę", + "Settings.roles.created": "Utworzono rolę", + "Settings.roles.edit.title": "Edytuj rolę", + "Settings.roles.form.button.users-with-role": "Użytkownicy z tą rolą", + "Settings.roles.form.created": "Utworzono", + "Settings.roles.form.description": "Nazwa i opis roli", + "Settings.roles.form.input.description": "Opis", + "Settings.roles.form.input.name": "Nazwa", + "Settings.roles.form.permission.property-label": "Uprawnienia dla {label}", + "Settings.roles.form.permissions.attributesPermissions": "Uprawnienia do pól", + "Settings.roles.form.permissions.create": "Tworzenie", + "Settings.roles.form.permissions.delete": "Usuwanie", + "Settings.roles.form.permissions.publish": "Publikowanie", + "Settings.roles.form.permissions.read": "Odczyt", + "Settings.roles.form.permissions.update": "Aktualizowanie", + "Settings.roles.form.title": "Szczegóły", + "Settings.roles.list.button.add": "Dodaj nową rolę", + "Settings.roles.list.description": "Lista ról", + "Settings.roles.list.title.plural": "Liczba roli - {number}", + "Settings.roles.list.title.singular": "{number} rola", + "Settings.roles.title": "Role", + "Settings.roles.title.singular": "rola", + "Settings.sso.description": "Skonfiguruj ustawienia funkcji logowania jednokrotnego (SSO).", + "Settings.sso.form.defaultRole.description": "Połączy to nowego uwierzytelnionego użytkownika do wybranej roli", + "Settings.sso.form.defaultRole.description-not-allowed": "Musisz mieć uprawnienia do odczytu ról administratora", + "Settings.sso.form.defaultRole.label": "Domyślna rola", + "Settings.sso.form.registration.description": "Utwórz nowego użytkownika przy logowaniu SSO, jeśli konto nie istnieje", + "Settings.sso.form.registration.label": "Automatyczna rejestracja", + "Settings.sso.title": "Jednokrotne logowanie (SSO)", + "Settings.webhooks.create": "Utwórz webhook", + "Settings.webhooks.create.header": "Utwórz nowy nagłówek", + "Settings.webhooks.created": "Utworzono webhook", + "Settings.webhooks.disabled": "Wyłączono", + "Settings.webhooks.enabled": "Włączono", + "Settings.webhooks.event.publish-tooltip": "To zdarzenie istnieje tylko dla treści z włączonym systemem wersji roboczej/publikacji", + "Settings.webhooks.events.create": "Utwórz", + "Settings.webhooks.events.edit": "", + "Settings.webhooks.events.update": "Aktualizuj", + "Settings.webhooks.form.events": "Zdarzenia", + "Settings.webhooks.form.headers": "Nagłówki", + "Settings.webhooks.form.name": "Nazwa", + "Settings.webhooks.form.url": "URL", + "Settings.webhooks.key": "Klucz", + "Settings.webhooks.list.button.add": "Dodaj nowy webhook", + "Settings.webhooks.list.description": "Otrzymuj powiadomienia o zmianach POST.", + "Settings.webhooks.list.empty.description": "Dodaj swój pierwszy do tej listy.", + "Settings.webhooks.list.empty.link": "Zobacz naszą dokumentację", + "Settings.webhooks.list.empty.title": "Nie ma jeszcze żadnych webhooków", + "Settings.webhooks.singular": "webhook", + "Settings.webhooks.title": "Webhooki", + "Settings.webhooks.trigger": "Wyzwalacz", + "Settings.webhooks.trigger.cancel": "Anuluj wyzwalacz", + "Settings.webhooks.trigger.pending": "W oczekiwaniu...", + "Settings.webhooks.trigger.save": "Zapisz, aby wyzwolić", + "Settings.webhooks.trigger.success": "Powodzenie!", + "Settings.webhooks.trigger.success.label": "Wyzwalacz wykonany poprawnie", + "Settings.webhooks.trigger.test": "Testowy-wyzwalacz", + "Settings.webhooks.trigger.title": "Zapisz przed wyzwoleniem", + "Settings.webhooks.value": "Wartość", + "Username": "Nazwa użytkownika", + "Users": "Użytkownicy", + "Users & Permissions": "Użytkownicy i uprawnienia", + "Users.components.List.empty": "Brak użytkowników...", + "Users.components.List.empty.withFilters": "Brak użytkowników z zastosowanymi filtrami...", + "Users.components.List.empty.withSearch": "Brak użytkowników odpowiadających wyszukiwaniu ({search})...", + "app.components.BlockLink.code": "Przykłady kodu", + "app.components.BlockLink.code.content": "Dowiedz się, testując prawdziwe projekty opracowane przez społeczność.", + "app.components.BlockLink.documentation": "Przeczytaj dokumentację", + "app.components.BlockLink.documentation.content": "Odkryj koncepcje, przewodniki referencyjne i samouczki.", + "app.components.Button.cancel": "Anuluj", + "app.components.Button.reset": "Resetuj", + "app.components.Button.save": "Zapisz", + "app.components.ComingSoonPage.comingSoon": "Wkrótce", + "app.components.DownloadInfo.download": "Pobieranie w toku...", + "app.components.DownloadInfo.text": "Może to chwilę potrwać. Dziękuję za cierpliwość.", + "app.components.EmptyAttributes.title": "Nie ma jeszcze pól", + "app.components.HomePage.button.blog": "ZOBACZ WIĘCEJ NA BLOGU", + "app.components.HomePage.community": "Znajdź społeczność w sieci", + "app.components.HomePage.community.content": "Porozmawiaj z członkami zespołu, współtwórcami i programistami na różnych kanałach.", + "app.components.HomePage.create": "Utwórz swój pierwszy typ zawartości", + "app.components.HomePage.welcome": "Witaj na pokładzie!", + "app.components.HomePage.welcome.again": "Witaj", + "app.components.HomePage.welcomeBlock.content": "Cieszymy się, że jesteś częścią społeczności. Nieustannie poszukujemy opinii, więc zachęcamy do wysyłania nam wiadomości", + "app.components.HomePage.welcomeBlock.content.again": "Mamy nadzieję, że robisz postępy w swoim projekcie... Zapraszam do zapoznania się z najnowszymi wiadomościami o Strapi. Dokładamy wszelkich starań, aby ulepszyć produkt w oparciu o Wasze opinie.", + "app.components.HomePage.welcomeBlock.content.issues": "problemy.", + "app.components.HomePage.welcomeBlock.content.raise": " lub wskazać ", + "app.components.ImgPreview.hint": "Przeciągnij i upuść plik w tym obszarze lub {browse}, aby przesłać plik", + "app.components.ImgPreview.hint.browse": "przeglądaj", + "app.components.InputFile.newFile": "Dodaj nowy plik", + "app.components.InputFileDetails.open": "Otwórz w nowej karcie", + "app.components.InputFileDetails.originalName": "Oryginalna nazwa:", + "app.components.InputFileDetails.remove": "Usuń ten plik", + "app.components.InputFileDetails.size": "Rozmiar:", + "app.components.InstallPluginPage.Download.description": "Pobranie i zainstalowanie wtyczki może zająć kilka sekund.", + "app.components.InstallPluginPage.Download.title": "Pobieram...", + "app.components.InstallPluginPage.description": "Rozszerz swoją aplikację bez wysiłku.", + "app.components.InstallPluginPage.helmet": "Marketplace - wtyczki", + "app.components.InstallPluginPage.title": "Marketplace - wtyczki", + "app.components.LeftMenuFooter.documentation": "Dokumentacja", + "app.components.LeftMenuFooter.help": "Wsparcie", + "app.components.LeftMenuFooter.poweredBy": "Obsługiwane przez ", + "app.components.LeftMenuLinkContainer.collectionTypes": "Typy kolekcji", + "app.components.LeftMenuLinkContainer.configuration": "Konfiguracje", + "app.components.LeftMenuLinkContainer.general": "Ogólne", + "app.components.LeftMenuLinkContainer.installNewPlugin": "Marketplace", + "app.components.LeftMenuLinkContainer.listPlugins": "Wtyczki", + "app.components.LeftMenuLinkContainer.noPluginsInstalled": "Nie zainstalowano jeszcze żadnych wtyczek", + "app.components.LeftMenuLinkContainer.plugins": "Wtyczki", + "app.components.LeftMenuLinkContainer.settings": "Ustawienia", + "app.components.LeftMenuLinkContainer.singleTypes": "Pojedyncze typy", + "app.components.ListPluginsPage.deletePlugin.description": "Odinstalowanie wtyczki może zająć kilka sekund.", + "app.components.ListPluginsPage.deletePlugin.title": "Odinstalowywanie", + "app.components.ListPluginsPage.description": "Lista zainstalowanych wtyczek w projekcie.", + "app.components.ListPluginsPage.helmet.title": "Lista wtyczek", + "app.components.ListPluginsPage.title": "Wtyczki", + "app.components.Logout.logout": "Wyloguj", + "app.components.Logout.profile": "Profil", + "app.components.NotFoundPage.back": "Powrót na stronę główną", + "app.components.NotFoundPage.description": "Nie znaleziono", + "app.components.Official": "Oficjalne", + "app.components.Onboarding.label.completed": "% ukończono", + "app.components.Onboarding.title": "Odpal filmy szkoleniowe", + "app.components.PluginCard.Button.label.download": "Pobierz", + "app.components.PluginCard.Button.label.install": "Już zainstalowane", + "app.components.PluginCard.PopUpWarning.install.impossible.autoReload.needed": "Należy włączyć funkcję autoReload. Uruchom aplikację za pomocą polecenia `yarn develop`.", + "app.components.PluginCard.PopUpWarning.install.impossible.confirm": "Rozumiem!", + "app.components.PluginCard.PopUpWarning.install.impossible.environment": "Ze względów bezpieczeństwa wtyczkę można pobrać tylko w środowisku programistycznym.", + "app.components.PluginCard.PopUpWarning.install.impossible.title": "Pobieranie jest niemożliwe", + "app.components.PluginCard.compatible": "Zgodny z Twoją aplikacją", + "app.components.PluginCard.compatibleCommunity": "Zgodny ze społecznością", + "app.components.PluginCard.more-details": "Więcej szczegółów", + "app.components.UpgradePlanModal.button": "DOWIEDZ SIĘ WIĘCEJ", + "app.components.UpgradePlanModal.limit-reached": "Osiągnąłeś limit", + "app.components.UpgradePlanModal.text-ce": "Wydanie społecznościowe", + "app.components.UpgradePlanModal.text-ee": "Wersja Enterprise", + "app.components.UpgradePlanModal.text-power": "Odblokuj pełną moc", + "app.components.UpgradePlanModal.text-strapi": "Strapi, ulepszając swój plan do", + "app.components.Users.MagicLink.connect": "Wyślij ten link do użytkownika, aby mógł się połączyć.", + "app.components.Users.MagicLink.connect.sso": "Wyślij ten link do użytkownika, pierwsze logowanie można wykonać za pośrednictwem dostawcy SSO", + "app.components.Users.ModalCreateBody.block-title.details": "Szczegóły", + "app.components.Users.ModalCreateBody.block-title.login": "Ustawienia logowania", + "app.components.Users.ModalCreateBody.block-title.roles": "Role użytkownika", + "app.components.Users.ModalCreateBody.block-title.roles.description": "Twój użytkownik może mieć jedną lub kilka ról", + "app.components.Users.SortPicker.button-label": "Sortuj według", + "app.components.Users.SortPicker.sortby.email_asc": "E-mail (od A do Z)", + "app.components.Users.SortPicker.sortby.email_desc": "E-mail (od Z do A)", + "app.components.Users.SortPicker.sortby.firstname_asc": "Imię (od A do Z)", + "app.components.Users.SortPicker.sortby.firstname_desc": "Imię (od Z do A)", + "app.components.Users.SortPicker.sortby.lastname_asc": "Nazwisko (od A do Z)", + "app.components.Users.SortPicker.sortby.lastname_desc": "Nazwisko (od Z do A)", + "app.components.Users.SortPicker.sortby.username_asc": "Nazwa użytkownika (od A do Z)", + "app.components.Users.SortPicker.sortby.username_desc": "Nazwa użytkownika (od Z do A)", + "app.components.listPlugins.button": "Dodaj nową wtyczkę", + "app.components.listPlugins.title.none": "Brak zainstalowanych wtyczek", + "app.components.listPlugins.title.plural": "Zainstalowano wtyczek - {number}", + "app.components.listPlugins.title.singular": "{number} wtyczka jest zainstalowana", + "app.components.listPluginsPage.deletePlugin.error": "Wystąpił błąd podczas odinstalowywania wtyczki", + "app.containers.App.notification.error.init": "Wystąpił błąd podczas żądania interfejsu API", + "app.containers.AuthPage.ForgotPasswordSuccess.text.contact-admin": "Jeśli nie otrzymasz tego łącza, skontaktuj się z administratorem.", + "app.containers.AuthPage.ForgotPasswordSuccess.text.email": "Do otrzymania linku do odzyskiwania hasła może minąć kilka minut.", + "app.containers.AuthPage.ForgotPasswordSuccess.title": "E-mail wysłany", + "app.containers.Users.EditPage.form.active.label": "Aktywne", + "app.containers.Users.EditPage.header.label": "Edytuj {name}", + "app.containers.Users.EditPage.header.label-loading": "Edytuj użytkownika", + "app.containers.Users.EditPage.roles-bloc-title": "Role przypisane", + "app.containers.Users.ModalForm.footer.button-success": "Stwórz użytkownika", + "app.links.configure-view": "Skonfiguruj widok", + "app.static.links.cheatsheet": "Ściąga", + "app.utils.SelectOption.defaultMessage": " ", + "app.utils.add-filter": "Dodaj filtr", + "app.utils.defaultMessage": " ", + "app.utils.delete": "Usuń", + "app.utils.errors.file-too-big.message": "Plik jest za duży", + "app.utils.filters": "Filtry", + "app.utils.placeholder.defaultMessage": " ", + "app.utils.publish": "Opublikuj", + "app.utils.select-all": "Zaznacz wszystko", + "app.utils.unpublish": "Cofnij publikację", + "component.Input.error.validation.integer": "Wartość ta musi być liczbą całkowitą", + "components.AutoReloadBlocker.description": "Uruchom Strapi za pomocą jednego z następujących poleceń:", + "components.AutoReloadBlocker.header": "Ta wtyczka wymaga funkcji przeładowania.", + "components.ErrorBoundary.title": "Coś poszło nie tak...", + "components.FilterOptions.FILTER_TYPES.=": "Jest", + "components.FilterOptions.FILTER_TYPES._contains": "zawiera", + "components.FilterOptions.FILTER_TYPES._containss": "zawiera (rozróżniana wielkość liter)", + "components.FilterOptions.FILTER_TYPES._gt": "jest większy niż", + "components.FilterOptions.FILTER_TYPES._gte": "Jest większy niż lub równy", + "components.FilterOptions.FILTER_TYPES._in": "pasuje do wartości obecnej w tablicy wartości", + "components.FilterOptions.FILTER_TYPES._lt": "jest mniejszy niż", + "components.FilterOptions.FILTER_TYPES._lte": "Jest mniejszy lub równy", + "components.FilterOptions.FILTER_TYPES._ncontains": "nie zawiera", + "components.FilterOptions.FILTER_TYPES._ne": "nie jest", + "components.FilterOptions.FILTER_TYPES._nin": "nie pasuje do żadnej wartości obecnej w tablicy wartości", + "components.Input.error.attribute.key.taken": "Ta wartość już istnieje", + "components.Input.error.attribute.sameKeyAndName": "Nie mogą być równe", + "components.Input.error.attribute.taken": "Ta nazwa pola już istnieje", + "components.Input.error.contain.lowercase": "Hasło musi zawierać co najmniej jedną małą literę", + "components.Input.error.contain.number": "Hasło musi zawierać co najmniej jedną cyfrę", + "components.Input.error.contain.uppercase": "Hasło musi zawierać co najmniej jedną wielką literę", + "components.Input.error.contentTypeName.taken": "Ta nazwa już istnieje", + "components.Input.error.custom-error": "{errorMessage} ", + "components.Input.error.password.noMatch": "Hasła nie pasują do siebie", + "components.Input.error.validation.email": "To nie jest e-mail", + "components.Input.error.validation.json": "To nie pasuje do formatu JSON", + "components.Input.error.validation.max": "Wartość jest za wysoka.", + "components.Input.error.validation.maxLength": "Wartość jest za długa.", + "components.Input.error.validation.min": "The value is too low.", + "components.Input.error.validation.minLength": "The value is too short.", + "components.Input.error.validation.minSupMax": "Wartość nie może być większa", + "components.Input.error.validation.regex": "Wartość nie jest zgodna z wyrażeniem regularnym.", + "components.Input.error.validation.required": "Ta wartość jest wymagana.", + "components.Input.error.validation.unique": "Ta wartość jest już używana.", + "components.InputSelect.option.placeholder": "Wybierz tutaj", + "components.ListRow.empty": "Brak danych do wyświetlenia.", + "components.NotAllowedInput.text": "Brak uprawnień do wyświetlania tego pola", + "components.OverlayBlocker.description": "Używasz funkcji, która wymaga ponownego uruchomienia serwera. Poczekaj, aż serwer się uruchomi.", + "components.OverlayBlocker.description.serverError": "Serwer powinien się już zrestartować, sprawdź swoje logi w terminalu.", + "components.OverlayBlocker.title": "Czekam na ponowne uruchomienie...", + "components.OverlayBlocker.title.serverError": "Ponowne uruchomienie trwa dłużej niż oczekiwano", + "components.PageFooter.select": "wpisów na stronie", + "components.ProductionBlocker.description": "Ze względów bezpieczeństwa musimy wyłączyć tę wtyczkę w innych środowiskach.", + "components.ProductionBlocker.header": "Ta wtyczka jest dostępna tylko w trybie deweloperskim.", + "components.Search.placeholder": "Szukaj...", + "components.Wysiwyg.ToggleMode.markdown": "Przełącz na markdown", + "components.Wysiwyg.ToggleMode.preview": "Przełącz na podgląd", + "components.Wysiwyg.collapse": "Zwiń", + "components.Wysiwyg.selectOptions.H1": "Tytuł H1", + "components.Wysiwyg.selectOptions.H2": "Tytuł H2", + "components.Wysiwyg.selectOptions.H3": "Tytuł H3", + "components.Wysiwyg.selectOptions.H4": "Tytuł H4", + "components.Wysiwyg.selectOptions.H5": "Tytuł H5", + "components.Wysiwyg.selectOptions.H6": "Tytuł H6", + "components.Wysiwyg.selectOptions.title": "Dodaj tytuł", + "components.WysiwygBottomControls.charactersIndicators": "znaków", + "components.WysiwygBottomControls.fullscreen": "Rozszerz", + "components.WysiwygBottomControls.uploadFiles": "Przeciągnij i upuść pliki, wklej ze schowka lub {browse}.", + "components.WysiwygBottomControls.uploadFiles.browse": "wybierz je", + "components.popUpWarning.button.cancel": "Nie, anuluj", + "components.popUpWarning.button.confirm": "Tak, potwierdź", + "components.popUpWarning.message": "Czy na pewno chcesz to usunąć?", + "components.popUpWarning.title": "Proszę potwierdzić", + "form.button.continue": "Dalej", + "form.button.done": "Gotowe", + "form.button.finish": "Zakończ", + "global.prompt.unsaved": "Czy na pewno chcesz opuścić tę stronę? Wszystkie twoje modyfikacje zostaną utracone", + "notification.contentType.relations.conflict": "Typ treści ma sprzeczne relacje", + "notification.error": "Wystąpił bład", + "notification.error.layout": "Nie udało się pobrać układu", + "notification.form.error.fields": "Ten formularz zawiera błędy", + "notification.form.success.fields": "Zapisano zmiany", + "notification.link-copied": "Link został skopiowany do schowka", + "notification.permission.not-allowed-read": "Nie masz uprawnień, by zobaczyć ten dokument", + "notification.success.delete": "Pozycja została usunięta", + "notification.success.saved": "Zapisano", + "notification.version.update.link": "Zobacz więcej", + "notification.version.update.message": "Dostępna jest nowa wersja Strapi!", + "or": "LUB", + "request.error.model.unknown": "Ten model nie istnieje" } From ae927f5b1f6024733502b936746f585ac48716ae Mon Sep 17 00:00:00 2001 From: Mike Robinson Date: Tue, 11 May 2021 02:22:15 -0600 Subject: [PATCH 033/151] Removing positive requirement of integer validation (#10269) Solves #10179 Co-authored-by: DMehaffy --- .../src/containers/FormModal/attributes/validation/common.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/strapi-plugin-content-type-builder/admin/src/containers/FormModal/attributes/validation/common.js b/packages/strapi-plugin-content-type-builder/admin/src/containers/FormModal/attributes/validation/common.js index 50d0dcec1c..5dd444da34 100644 --- a/packages/strapi-plugin-content-type-builder/admin/src/containers/FormModal/attributes/validation/common.js +++ b/packages/strapi-plugin-content-type-builder/admin/src/containers/FormModal/attributes/validation/common.js @@ -51,13 +51,11 @@ const validators = { yup .number() .integer() - .positive() .nullable(), min: () => yup .number() .integer() - .positive() .when('max', (max, schema) => { if (max) { return schema.max(max, getTrad('error.validation.minSupMax')); From c46b6ccb5e888f4343d0b9c3236ed565bfae9317 Mon Sep 17 00:00:00 2001 From: Kendaros <9271712+Kendaros@users.noreply.github.com> Date: Tue, 11 May 2021 11:42:31 +0200 Subject: [PATCH 034/151] Keep metadata during resize images (#10161) If the input file has EXIF, XMP, IPTC metadata (i.e user disabled "optimize size without quality loss" a.k.a "strip metadata" option in Admin UI), the resized images generated should keep metadata too. If the user doesn't want to keep metadata, they would let the default option "Optimize size without quality loss" enabled, right? So the resized images wouldn't keep the metadata anyway. --- packages/strapi-plugin-upload/services/image-manipulation.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/strapi-plugin-upload/services/image-manipulation.js b/packages/strapi-plugin-upload/services/image-manipulation.js index eeb200a712..39c8c1a523 100644 --- a/packages/strapi-plugin-upload/services/image-manipulation.js +++ b/packages/strapi-plugin-upload/services/image-manipulation.js @@ -24,6 +24,7 @@ const THUMBNAIL_RESIZE_OPTIONS = { const resizeTo = (buffer, options) => sharp(buffer) + .withMetadata() .resize(options) .toBuffer() .catch(() => null); From 43b947b2ba2f153dd6056e0710d7dcd92fb9bc7c Mon Sep 17 00:00:00 2001 From: Alexandre Bodin Date: Tue, 11 May 2021 11:43:35 +0200 Subject: [PATCH 035/151] v3.6.2 --- examples/getstarted/package.json | 36 +++++++++---------- lerna.json | 2 +- packages/create-strapi-app/package.json | 4 +-- packages/create-strapi-starter/package.json | 4 +-- packages/strapi-admin/package.json | 6 ++-- .../strapi-connector-bookshelf/package.json | 4 +-- .../strapi-connector-mongoose/package.json | 4 +-- packages/strapi-database/package.json | 4 +-- packages/strapi-generate-api/package.json | 4 +-- .../strapi-generate-controller/package.json | 4 +-- packages/strapi-generate-model/package.json | 4 +-- packages/strapi-generate-new/package.json | 2 +- packages/strapi-generate-plugin/package.json | 4 +-- packages/strapi-generate-policy/package.json | 4 +-- packages/strapi-generate-service/package.json | 4 +-- packages/strapi-generate/package.json | 4 +-- packages/strapi-helper-plugin/package.json | 2 +- packages/strapi-hook-ejs/package.json | 2 +- packages/strapi-hook-redis/package.json | 4 +-- packages/strapi-middleware-views/package.json | 2 +- .../package.json | 6 ++-- .../package.json | 10 +++--- .../strapi-plugin-documentation/package.json | 4 +-- packages/strapi-plugin-email/package.json | 8 ++--- packages/strapi-plugin-graphql/package.json | 4 +-- packages/strapi-plugin-i18n/package.json | 4 +-- packages/strapi-plugin-sentry/package.json | 2 +- packages/strapi-plugin-upload/package.json | 8 ++--- .../package.json | 6 ++-- .../package.json | 4 +-- .../package.json | 4 +-- .../package.json | 2 +- .../package.json | 4 +-- .../package.json | 4 +-- .../package.json | 2 +- .../package.json | 2 +- .../strapi-provider-upload-local/package.json | 2 +- .../package.json | 2 +- packages/strapi-utils/package.json | 2 +- packages/strapi/package.json | 22 ++++++------ 40 files changed, 103 insertions(+), 103 deletions(-) diff --git a/examples/getstarted/package.json b/examples/getstarted/package.json index 8d314d0252..bce102e1f3 100644 --- a/examples/getstarted/package.json +++ b/examples/getstarted/package.json @@ -1,7 +1,7 @@ { "name": "getstarted", "private": true, - "version": "3.6.1", + "version": "3.6.2", "description": "A Strapi application.", "scripts": { "develop": "strapi develop", @@ -17,23 +17,23 @@ "mysql": "2.18.1", "pg": "8.6.0", "sqlite3": "5.0.0", - "strapi": "3.6.1", - "strapi-admin": "3.6.1", - "strapi-connector-bookshelf": "3.6.1", - "strapi-connector-mongoose": "3.6.1", - "strapi-middleware-views": "3.6.1", - "strapi-plugin-content-manager": "3.6.1", - "strapi-plugin-content-type-builder": "3.6.1", - "strapi-plugin-documentation": "3.6.1", - "strapi-plugin-email": "3.6.1", - "strapi-plugin-graphql": "3.6.1", - "strapi-plugin-i18n": "3.6.1", - "strapi-plugin-upload": "3.6.1", - "strapi-plugin-users-permissions": "3.6.1", - "strapi-provider-email-mailgun": "3.6.1", - "strapi-provider-upload-aws-s3": "3.6.1", - "strapi-provider-upload-cloudinary": "3.6.1", - "strapi-utils": "3.6.1" + "strapi": "3.6.2", + "strapi-admin": "3.6.2", + "strapi-connector-bookshelf": "3.6.2", + "strapi-connector-mongoose": "3.6.2", + "strapi-middleware-views": "3.6.2", + "strapi-plugin-content-manager": "3.6.2", + "strapi-plugin-content-type-builder": "3.6.2", + "strapi-plugin-documentation": "3.6.2", + "strapi-plugin-email": "3.6.2", + "strapi-plugin-graphql": "3.6.2", + "strapi-plugin-i18n": "3.6.2", + "strapi-plugin-upload": "3.6.2", + "strapi-plugin-users-permissions": "3.6.2", + "strapi-provider-email-mailgun": "3.6.2", + "strapi-provider-upload-aws-s3": "3.6.2", + "strapi-provider-upload-cloudinary": "3.6.2", + "strapi-utils": "3.6.2" }, "strapi": { "uuid": "getstarted" diff --git a/lerna.json b/lerna.json index fea31345fa..5643a59032 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "3.6.1", + "version": "3.6.2", "packages": [ "packages/*", "examples/*" diff --git a/packages/create-strapi-app/package.json b/packages/create-strapi-app/package.json index 6dc2017d92..9f43285644 100644 --- a/packages/create-strapi-app/package.json +++ b/packages/create-strapi-app/package.json @@ -1,6 +1,6 @@ { "name": "create-strapi-app", - "version": "3.6.1", + "version": "3.6.2", "description": "Generate a new Strapi application.", "license": "SEE LICENSE IN LICENSE", "homepage": "https://strapi.io", @@ -21,7 +21,7 @@ ], "dependencies": { "commander": "6.1.0", - "strapi-generate-new": "3.6.1" + "strapi-generate-new": "3.6.2" }, "scripts": { "test": "echo \"no tests yet\"" diff --git a/packages/create-strapi-starter/package.json b/packages/create-strapi-starter/package.json index ea4fb90c99..47d13ae2dd 100644 --- a/packages/create-strapi-starter/package.json +++ b/packages/create-strapi-starter/package.json @@ -1,6 +1,6 @@ { "name": "create-strapi-starter", - "version": "3.6.1", + "version": "3.6.2", "description": "Generate a new Strapi application.", "license": "SEE LICENSE IN LICENSE", "homepage": "https://strapi.io", @@ -24,7 +24,7 @@ "git-url-parse": "11.4.4", "node-fetch": "2.6.1", "ora": "5.4.0", - "strapi-generate-new": "3.6.1", + "strapi-generate-new": "3.6.2", "tar": "6.1.0" }, "scripts": { diff --git a/packages/strapi-admin/package.json b/packages/strapi-admin/package.json index ebedecb7e5..684483875e 100644 --- a/packages/strapi-admin/package.json +++ b/packages/strapi-admin/package.json @@ -1,6 +1,6 @@ { "name": "strapi-admin", - "version": "3.6.1", + "version": "3.6.2", "description": "Strapi Admin", "repository": { "type": "git", @@ -101,8 +101,8 @@ "sanitize.css": "^4.1.0", "semver": "7.3.5", "sift": "13.5.0", - "strapi-helper-plugin": "3.6.1", - "strapi-utils": "3.6.1", + "strapi-helper-plugin": "3.6.2", + "strapi-utils": "3.6.2", "style-loader": "^0.23.1", "styled-components": "^5.2.3", "terser-webpack-plugin": "^1.2.3", diff --git a/packages/strapi-connector-bookshelf/package.json b/packages/strapi-connector-bookshelf/package.json index 040d5c47cf..ddb1b064a7 100644 --- a/packages/strapi-connector-bookshelf/package.json +++ b/packages/strapi-connector-bookshelf/package.json @@ -1,6 +1,6 @@ { "name": "strapi-connector-bookshelf", - "version": "3.6.1", + "version": "3.6.2", "description": "Bookshelf hook for the Strapi framework", "homepage": "https://strapi.io", "keywords": [ @@ -23,7 +23,7 @@ "p-map": "4.0.0", "pluralize": "^8.0.0", "rimraf": "3.0.2", - "strapi-utils": "3.6.1" + "strapi-utils": "3.6.2" }, "peerDependencies": { "knex": "0.21.18" diff --git a/packages/strapi-connector-mongoose/package.json b/packages/strapi-connector-mongoose/package.json index 373a290d2d..5724864622 100644 --- a/packages/strapi-connector-mongoose/package.json +++ b/packages/strapi-connector-mongoose/package.json @@ -1,6 +1,6 @@ { "name": "strapi-connector-mongoose", - "version": "3.6.1", + "version": "3.6.2", "description": "Mongoose hook for the Strapi framework", "homepage": "https://strapi.io", "keywords": [ @@ -22,7 +22,7 @@ "p-map": "4.0.0", "pluralize": "^8.0.0", "semver": "^7.3.5", - "strapi-utils": "3.6.1" + "strapi-utils": "3.6.2" }, "author": { "email": "hi@strapi.io", diff --git a/packages/strapi-database/package.json b/packages/strapi-database/package.json index 9cae47c4a2..185901b8ca 100644 --- a/packages/strapi-database/package.json +++ b/packages/strapi-database/package.json @@ -1,6 +1,6 @@ { "name": "strapi-database", - "version": "3.6.1", + "version": "3.6.2", "description": "Strapi's database layer", "homepage": "https://strapi.io", "main": "./lib/index.js", @@ -31,7 +31,7 @@ "debug": "4.3.1", "lodash": "4.17.21", "p-map": "4.0.0", - "strapi-utils": "3.6.1", + "strapi-utils": "3.6.2", "verror": "^1.10.0" }, "gitHead": "231263a3535658bab1e9492c6aaaed8692d62a53" diff --git a/packages/strapi-generate-api/package.json b/packages/strapi-generate-api/package.json index a28cc255b2..4e61f6af17 100644 --- a/packages/strapi-generate-api/package.json +++ b/packages/strapi-generate-api/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-api", - "version": "3.6.1", + "version": "3.6.2", "description": "Generate an API for a Strapi application.", "homepage": "https://strapi.io", "keywords": [ @@ -15,7 +15,7 @@ "dependencies": { "lodash": "4.17.21", "pluralize": "^8.0.0", - "strapi-utils": "3.6.1" + "strapi-utils": "3.6.2" }, "scripts": { "test": "echo \"no tests yet\"" diff --git a/packages/strapi-generate-controller/package.json b/packages/strapi-generate-controller/package.json index c86f125df3..f35b945386 100644 --- a/packages/strapi-generate-controller/package.json +++ b/packages/strapi-generate-controller/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-controller", - "version": "3.6.1", + "version": "3.6.2", "description": "Generate a controller for a Strapi API.", "homepage": "https://strapi.io", "keywords": [ @@ -15,7 +15,7 @@ }, "dependencies": { "lodash": "4.17.21", - "strapi-utils": "3.6.1" + "strapi-utils": "3.6.2" }, "scripts": { "test": "echo \"no tests yet\"" diff --git a/packages/strapi-generate-model/package.json b/packages/strapi-generate-model/package.json index 6202066df3..7c483b5666 100644 --- a/packages/strapi-generate-model/package.json +++ b/packages/strapi-generate-model/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-model", - "version": "3.6.1", + "version": "3.6.2", "description": "Generate a model for a Strapi API.", "homepage": "https://strapi.io", "keywords": [ @@ -16,7 +16,7 @@ "dependencies": { "lodash": "4.17.21", "pluralize": "^8.0.0", - "strapi-utils": "3.6.1" + "strapi-utils": "3.6.2" }, "scripts": { "test": "echo \"no tests yet\"" diff --git a/packages/strapi-generate-new/package.json b/packages/strapi-generate-new/package.json index d5f808f3be..1d7903e840 100644 --- a/packages/strapi-generate-new/package.json +++ b/packages/strapi-generate-new/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-new", - "version": "3.6.1", + "version": "3.6.2", "description": "Generate a new Strapi application.", "homepage": "https://strapi.io", "keywords": [ diff --git a/packages/strapi-generate-plugin/package.json b/packages/strapi-generate-plugin/package.json index 79c07a8448..3587606473 100644 --- a/packages/strapi-generate-plugin/package.json +++ b/packages/strapi-generate-plugin/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-plugin", - "version": "3.6.1", + "version": "3.6.2", "description": "Generate an plugin for a Strapi application.", "homepage": "https://strapi.io", "keywords": [ @@ -15,7 +15,7 @@ "dependencies": { "fs-extra": "^9.1.0", "lodash": "4.17.21", - "strapi-utils": "3.6.1" + "strapi-utils": "3.6.2" }, "scripts": { "test": "echo \"no tests yet\"" diff --git a/packages/strapi-generate-policy/package.json b/packages/strapi-generate-policy/package.json index 8b8dbfd147..2cef502ada 100644 --- a/packages/strapi-generate-policy/package.json +++ b/packages/strapi-generate-policy/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-policy", - "version": "3.6.1", + "version": "3.6.2", "description": "Generate a policy for a Strapi API.", "homepage": "https://strapi.io", "keywords": [ @@ -15,7 +15,7 @@ }, "dependencies": { "lodash": "4.17.21", - "strapi-utils": "3.6.1" + "strapi-utils": "3.6.2" }, "scripts": { "test": "echo \"no tests yet\"" diff --git a/packages/strapi-generate-service/package.json b/packages/strapi-generate-service/package.json index 9b447435c8..cb81362836 100644 --- a/packages/strapi-generate-service/package.json +++ b/packages/strapi-generate-service/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-service", - "version": "3.6.1", + "version": "3.6.2", "description": "Generate a service for a Strapi API.", "homepage": "https://strapi.io", "keywords": [ @@ -15,7 +15,7 @@ }, "dependencies": { "lodash": "4.17.21", - "strapi-utils": "3.6.1" + "strapi-utils": "3.6.2" }, "scripts": { "test": "echo \"no tests yet\"" diff --git a/packages/strapi-generate/package.json b/packages/strapi-generate/package.json index 8899b748dd..54ee806842 100644 --- a/packages/strapi-generate/package.json +++ b/packages/strapi-generate/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate", - "version": "3.6.1", + "version": "3.6.2", "description": "Master of ceremonies for the Strapi generators.", "homepage": "https://strapi.io", "keywords": [ @@ -20,7 +20,7 @@ "fs-extra": "^9.1.0", "lodash": "4.17.21", "reportback": "^2.0.2", - "strapi-utils": "3.6.1" + "strapi-utils": "3.6.2" }, "author": { "name": "Strapi team", diff --git a/packages/strapi-helper-plugin/package.json b/packages/strapi-helper-plugin/package.json index 6a5ee04463..fd82df03d1 100644 --- a/packages/strapi-helper-plugin/package.json +++ b/packages/strapi-helper-plugin/package.json @@ -1,6 +1,6 @@ { "name": "strapi-helper-plugin", - "version": "3.6.1", + "version": "3.6.2", "description": "Helper for Strapi plugins development", "files": [ "dist" diff --git a/packages/strapi-hook-ejs/package.json b/packages/strapi-hook-ejs/package.json index 107735c844..9c302c06a6 100644 --- a/packages/strapi-hook-ejs/package.json +++ b/packages/strapi-hook-ejs/package.json @@ -1,6 +1,6 @@ { "name": "strapi-hook-ejs", - "version": "3.6.1", + "version": "3.6.2", "description": "EJS hook for the Strapi framework", "homepage": "https://strapi.io", "keywords": [ diff --git a/packages/strapi-hook-redis/package.json b/packages/strapi-hook-redis/package.json index d10cb83575..168e48ee71 100644 --- a/packages/strapi-hook-redis/package.json +++ b/packages/strapi-hook-redis/package.json @@ -1,6 +1,6 @@ { "name": "strapi-hook-redis", - "version": "3.6.1", + "version": "3.6.2", "description": "Redis hook for the Strapi framework", "homepage": "https://strapi.io", "keywords": [ @@ -19,7 +19,7 @@ "lodash": "4.17.21", "rimraf": "3.0.2", "stack-trace": "0.0.10", - "strapi-utils": "3.6.1" + "strapi-utils": "3.6.2" }, "author": { "email": "hi@strapi.io", diff --git a/packages/strapi-middleware-views/package.json b/packages/strapi-middleware-views/package.json index 2accfd16c2..315c4fee6a 100644 --- a/packages/strapi-middleware-views/package.json +++ b/packages/strapi-middleware-views/package.json @@ -1,6 +1,6 @@ { "name": "strapi-middleware-views", - "version": "3.6.1", + "version": "3.6.2", "description": "Views middleware to enable server-side rendering for the Strapi framework", "homepage": "https://strapi.io", "keywords": [ diff --git a/packages/strapi-plugin-content-manager/package.json b/packages/strapi-plugin-content-manager/package.json index afbd839d32..4e0d71c7a0 100644 --- a/packages/strapi-plugin-content-manager/package.json +++ b/packages/strapi-plugin-content-manager/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-content-manager", - "version": "3.6.1", + "version": "3.6.2", "description": "A powerful UI to easily manage your data.", "strapi": { "name": "Content Manager", @@ -45,8 +45,8 @@ "redux-immutable": "^4.0.0", "reselect": "^4.0.0", "sanitize-html": "2.3.3", - "strapi-helper-plugin": "3.6.1", - "strapi-utils": "3.6.1", + "strapi-helper-plugin": "3.6.2", + "strapi-utils": "3.6.2", "yup": "^0.27.0" }, "author": { diff --git a/packages/strapi-plugin-content-type-builder/package.json b/packages/strapi-plugin-content-type-builder/package.json index 5efa921c18..ff0ee5c452 100644 --- a/packages/strapi-plugin-content-type-builder/package.json +++ b/packages/strapi-plugin-content-type-builder/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-content-type-builder", - "version": "3.6.1", + "version": "3.6.2", "description": "Strapi plugin to create content type (API).", "strapi": { "name": "Content Type Builder", @@ -29,10 +29,10 @@ "redux": "^4.0.1", "redux-immutable": "^4.0.0", "reselect": "^4.0.0", - "strapi-generate": "3.6.1", - "strapi-generate-api": "3.6.1", - "strapi-helper-plugin": "3.6.1", - "strapi-utils": "3.6.1", + "strapi-generate": "3.6.2", + "strapi-generate-api": "3.6.2", + "strapi-helper-plugin": "3.6.2", + "strapi-utils": "3.6.2", "yup": "^0.27.0" }, "author": { diff --git a/packages/strapi-plugin-documentation/package.json b/packages/strapi-plugin-documentation/package.json index abc45447f5..1dc7a0f869 100644 --- a/packages/strapi-plugin-documentation/package.json +++ b/packages/strapi-plugin-documentation/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-documentation", - "version": "3.6.1", + "version": "3.6.2", "description": "Create an OpenAPI Document and visualize your API with SWAGGER UI.", "strapi": { "name": "Documentation", @@ -35,7 +35,7 @@ "redux": "^4.0.1", "redux-immutable": "^4.0.0", "reselect": "^4.0.0", - "strapi-helper-plugin": "3.6.1", + "strapi-helper-plugin": "3.6.2", "swagger-ui-dist": "3.47.1" }, "author": { diff --git a/packages/strapi-plugin-email/package.json b/packages/strapi-plugin-email/package.json index 3898db58fa..6d7e6c4b6d 100644 --- a/packages/strapi-plugin-email/package.json +++ b/packages/strapi-plugin-email/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-email", - "version": "3.6.1", + "version": "3.6.2", "description": "Easily configure your Strapi application to send emails.", "strapi": { "name": "Email", @@ -13,12 +13,12 @@ }, "dependencies": { "lodash": "4.17.21", - "strapi-provider-email-sendmail": "3.6.1", - "strapi-utils": "3.6.1" + "strapi-provider-email-sendmail": "3.6.2", + "strapi-utils": "3.6.2" }, "devDependencies": { "rimraf": "3.0.2", - "strapi-helper-plugin": "3.6.1" + "strapi-helper-plugin": "3.6.2" }, "author": { "name": "Strapi team", diff --git a/packages/strapi-plugin-graphql/package.json b/packages/strapi-plugin-graphql/package.json index e3cd43a9fb..092860b895 100644 --- a/packages/strapi-plugin-graphql/package.json +++ b/packages/strapi-plugin-graphql/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-graphql", - "version": "3.6.1", + "version": "3.6.2", "description": "Adds GraphQL endpoint with default API methods.", "strapi": { "name": "graphql", @@ -27,7 +27,7 @@ "koa-compose": "^4.1.0", "lodash": "4.17.21", "pluralize": "^8.0.0", - "strapi-utils": "3.6.1" + "strapi-utils": "3.6.2" }, "devDependencies": { "cross-env": "^7.0.3", diff --git a/packages/strapi-plugin-i18n/package.json b/packages/strapi-plugin-i18n/package.json index 7a769ea016..508f3ad5e9 100644 --- a/packages/strapi-plugin-i18n/package.json +++ b/packages/strapi-plugin-i18n/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-i18n", - "version": "3.6.1", + "version": "3.6.2", "description": "This plugin enables to create, to read and to update content in different languages, both from the Admin Panel and from the API", "strapi": { "name": "Internationalization", @@ -12,7 +12,7 @@ "lodash": "4.17.20", "p-map": "4.0.0", "pluralize": "8.0.0", - "strapi-utils": "3.6.1" + "strapi-utils": "3.6.2" }, "author": { "name": "A Strapi developer", diff --git a/packages/strapi-plugin-sentry/package.json b/packages/strapi-plugin-sentry/package.json index 8b98267cbc..5fbbee7caa 100644 --- a/packages/strapi-plugin-sentry/package.json +++ b/packages/strapi-plugin-sentry/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-sentry", - "version": "3.6.1", + "version": "3.6.2", "description": "Send Strapi error events to Sentry", "strapi": { "name": "Sentry", diff --git a/packages/strapi-plugin-upload/package.json b/packages/strapi-plugin-upload/package.json index 12a941f9a4..f1e2308fbf 100644 --- a/packages/strapi-plugin-upload/package.json +++ b/packages/strapi-plugin-upload/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-upload", - "version": "3.6.1", + "version": "3.6.2", "description": "Makes it easy to upload images and files to your Strapi Application.", "strapi": { "name": "Media Library", @@ -36,9 +36,9 @@ "react-router-dom": "^5.0.0", "reactstrap": "8.4.1", "sharp": "0.28.1", - "strapi-helper-plugin": "3.6.1", - "strapi-provider-upload-local": "3.6.1", - "strapi-utils": "3.6.1", + "strapi-helper-plugin": "3.6.2", + "strapi-provider-upload-local": "3.6.2", + "strapi-utils": "3.6.2", "stream-to-array": "^2.3.0", "uuid": "^3.2.1" }, diff --git a/packages/strapi-plugin-users-permissions/package.json b/packages/strapi-plugin-users-permissions/package.json index f446b4e844..37843d4d1b 100644 --- a/packages/strapi-plugin-users-permissions/package.json +++ b/packages/strapi-plugin-users-permissions/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-users-permissions", - "version": "3.6.1", + "version": "3.6.2", "description": "Protect your API with a full-authentication process based on JWT", "strapi": { "name": "Roles & Permissions", @@ -35,8 +35,8 @@ "reactstrap": "8.4.1", "redux-saga": "^0.16.0", "request": "^2.83.0", - "strapi-helper-plugin": "3.6.1", - "strapi-utils": "3.6.1", + "strapi-helper-plugin": "3.6.2", + "strapi-utils": "3.6.2", "uuid": "^3.1.0" }, "devDependencies": { diff --git a/packages/strapi-provider-email-amazon-ses/package.json b/packages/strapi-provider-email-amazon-ses/package.json index e501a5eb83..4c1f8e8228 100644 --- a/packages/strapi-provider-email-amazon-ses/package.json +++ b/packages/strapi-provider-email-amazon-ses/package.json @@ -1,6 +1,6 @@ { "name": "strapi-provider-email-amazon-ses", - "version": "3.6.1", + "version": "3.6.2", "description": "Amazon SES provider for strapi email", "homepage": "https://strapi.io", "keywords": [ @@ -15,7 +15,7 @@ "main": "./lib", "dependencies": { "node-ses": "^3.0.3", - "strapi-utils": "3.6.1" + "strapi-utils": "3.6.2" }, "author": { "email": "nikolay@tsenkov.net", diff --git a/packages/strapi-provider-email-mailgun/package.json b/packages/strapi-provider-email-mailgun/package.json index da6eaee407..9eab398649 100644 --- a/packages/strapi-provider-email-mailgun/package.json +++ b/packages/strapi-provider-email-mailgun/package.json @@ -1,6 +1,6 @@ { "name": "strapi-provider-email-mailgun", - "version": "3.6.1", + "version": "3.6.2", "description": "Mailgun provider for strapi email plugin", "homepage": "https://strapi.io", "keywords": [ @@ -14,7 +14,7 @@ "main": "./lib", "dependencies": { "mailgun-js": "0.22.0", - "strapi-utils": "3.6.1" + "strapi-utils": "3.6.2" }, "strapi": { "isProvider": true diff --git a/packages/strapi-provider-email-nodemailer/package.json b/packages/strapi-provider-email-nodemailer/package.json index db4439e173..29f1bbeb5a 100644 --- a/packages/strapi-provider-email-nodemailer/package.json +++ b/packages/strapi-provider-email-nodemailer/package.json @@ -1,6 +1,6 @@ { "name": "strapi-provider-email-nodemailer", - "version": "3.6.1", + "version": "3.6.2", "description": "Nodemailer provider for Strapi 3", "homepage": "https://strapi.io", "keywords": [ diff --git a/packages/strapi-provider-email-sendgrid/package.json b/packages/strapi-provider-email-sendgrid/package.json index 83107a79a8..f730a32d81 100644 --- a/packages/strapi-provider-email-sendgrid/package.json +++ b/packages/strapi-provider-email-sendgrid/package.json @@ -1,6 +1,6 @@ { "name": "strapi-provider-email-sendgrid", - "version": "3.6.1", + "version": "3.6.2", "description": "Sendgrid provider for strapi email", "homepage": "https://strapi.io", "keywords": [ @@ -14,7 +14,7 @@ "main": "./lib", "dependencies": { "@sendgrid/mail": "6.4.0", - "strapi-utils": "3.6.1" + "strapi-utils": "3.6.2" }, "strapi": { "isProvider": true diff --git a/packages/strapi-provider-email-sendmail/package.json b/packages/strapi-provider-email-sendmail/package.json index e252620007..5b2cdac5a6 100644 --- a/packages/strapi-provider-email-sendmail/package.json +++ b/packages/strapi-provider-email-sendmail/package.json @@ -1,6 +1,6 @@ { "name": "strapi-provider-email-sendmail", - "version": "3.6.1", + "version": "3.6.2", "description": "Sendmail provider for strapi email", "homepage": "https://strapi.io", "keywords": [ @@ -13,7 +13,7 @@ "main": "./lib", "dependencies": { "sendmail": "^1.6.1", - "strapi-utils": "3.6.1" + "strapi-utils": "3.6.2" }, "strapi": { "isProvider": true diff --git a/packages/strapi-provider-upload-aws-s3/package.json b/packages/strapi-provider-upload-aws-s3/package.json index f00d38bd2a..6749a688e6 100644 --- a/packages/strapi-provider-upload-aws-s3/package.json +++ b/packages/strapi-provider-upload-aws-s3/package.json @@ -1,6 +1,6 @@ { "name": "strapi-provider-upload-aws-s3", - "version": "3.6.1", + "version": "3.6.2", "description": "AWS S3 provider for strapi upload", "homepage": "https://strapi.io", "keywords": [ diff --git a/packages/strapi-provider-upload-cloudinary/package.json b/packages/strapi-provider-upload-cloudinary/package.json index 51fd8f8148..1bf8ca2269 100644 --- a/packages/strapi-provider-upload-cloudinary/package.json +++ b/packages/strapi-provider-upload-cloudinary/package.json @@ -1,6 +1,6 @@ { "name": "strapi-provider-upload-cloudinary", - "version": "3.6.1", + "version": "3.6.2", "description": "Cloudinary provider for strapi upload", "homepage": "https://strapi.io", "keywords": [ diff --git a/packages/strapi-provider-upload-local/package.json b/packages/strapi-provider-upload-local/package.json index 1d118996d1..01b47a7785 100644 --- a/packages/strapi-provider-upload-local/package.json +++ b/packages/strapi-provider-upload-local/package.json @@ -1,6 +1,6 @@ { "name": "strapi-provider-upload-local", - "version": "3.6.1", + "version": "3.6.2", "description": "Local provider for strapi upload", "homepage": "https://strapi.io", "keywords": [ diff --git a/packages/strapi-provider-upload-rackspace/package.json b/packages/strapi-provider-upload-rackspace/package.json index ea8c2a53cd..38d9076198 100644 --- a/packages/strapi-provider-upload-rackspace/package.json +++ b/packages/strapi-provider-upload-rackspace/package.json @@ -1,6 +1,6 @@ { "name": "strapi-provider-upload-rackspace", - "version": "3.6.1", + "version": "3.6.2", "description": "Rackspace provider for strapi upload", "main": "./lib", "keywords": [], diff --git a/packages/strapi-utils/package.json b/packages/strapi-utils/package.json index f8d3e5c17c..b895c466e2 100644 --- a/packages/strapi-utils/package.json +++ b/packages/strapi-utils/package.json @@ -1,6 +1,6 @@ { "name": "strapi-utils", - "version": "3.6.1", + "version": "3.6.2", "description": "Shared utilities for the Strapi packages", "homepage": "https://strapi.io", "keywords": [ diff --git a/packages/strapi/package.json b/packages/strapi/package.json index bce9c7db51..e20b6ba1dd 100644 --- a/packages/strapi/package.json +++ b/packages/strapi/package.json @@ -1,6 +1,6 @@ { "name": "strapi", - "version": "3.6.1", + "version": "3.6.2", "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: MongoDB, MySQL, MariaDB, PostgreSQL, SQLite", "homepage": "https://strapi.io", "directories": { @@ -55,16 +55,16 @@ "resolve-cwd": "^3.0.0", "rimraf": "^3.0.2", "semver": "7.3.5", - "strapi-database": "3.6.1", - "strapi-generate": "3.6.1", - "strapi-generate-api": "3.6.1", - "strapi-generate-controller": "3.6.1", - "strapi-generate-model": "3.6.1", - "strapi-generate-new": "3.6.1", - "strapi-generate-plugin": "3.6.1", - "strapi-generate-policy": "3.6.1", - "strapi-generate-service": "3.6.1", - "strapi-utils": "3.6.1" + "strapi-database": "3.6.2", + "strapi-generate": "3.6.2", + "strapi-generate-api": "3.6.2", + "strapi-generate-controller": "3.6.2", + "strapi-generate-model": "3.6.2", + "strapi-generate-new": "3.6.2", + "strapi-generate-plugin": "3.6.2", + "strapi-generate-policy": "3.6.2", + "strapi-generate-service": "3.6.2", + "strapi-utils": "3.6.2" }, "scripts": { "postinstall": "node lib/utils/success.js" From 15c04d0612fbf8c70a4b45927f57b1bd0694621b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-S=C3=A9bastien=20Herbaux?= Date: Mon, 17 May 2021 08:14:58 +0200 Subject: [PATCH 036/151] Fix RBAC permissions without subject ignoring conditions (#10291) * Fix RBAC permissions without subject ignoring conditions * Add unit test for nil subject in the permission engine --- .../__tests__/permissions.engine.test.js | 31 +++++++++++++++++++ .../services/permission/engine.js | 10 ++++-- 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/packages/strapi-admin/services/__tests__/permissions.engine.test.js b/packages/strapi-admin/services/__tests__/permissions.engine.test.js index 269a9df814..30754f7631 100644 --- a/packages/strapi-admin/services/__tests__/permissions.engine.test.js +++ b/packages/strapi-admin/services/__tests__/permissions.engine.test.js @@ -349,6 +349,25 @@ describe('Permissions Engine', () => { }); }); + test('It should register the condition even if the subject is Nil', async () => { + const permission = { + action: 'read', + subject: null, + properties: {}, + conditions: ['plugins::test.isCreatedBy'], + }; + + const user = getUser('alice'); + const can = jest.fn(); + const registerFn = engine.createRegisterFunction(can, {}, user); + + await engine.evaluate({ permission, user, registerFn }); + + expect(can).toHaveBeenCalledWith('read', 'all', undefined, { + $and: [{ $or: [{ created_by: user.firstname }] }], + }); + }); + describe('Create Register Function', () => { let can; let registerFn; @@ -376,6 +395,18 @@ describe('Permissions Engine', () => { expect(can).toHaveBeenCalledTimes(1); expect(can).toHaveBeenCalledWith('read', 'article', '*', { created_by: 1 }); }); + + test(`It should use 'all' as a subject if it's Nil`, async () => { + await registerFn({ + action: 'read', + subject: null, + fields: null, + condition: { created_by: 1 }, + }); + + expect(can).toHaveBeenCalledTimes(1); + expect(can).toHaveBeenCalledWith('read', 'all', null, { created_by: 1 }); + }); }); describe('Check Many', () => { diff --git a/packages/strapi-admin/services/permission/engine.js b/packages/strapi-admin/services/permission/engine.js index 326bc0c39d..1d33e2debf 100644 --- a/packages/strapi-admin/services/permission/engine.js +++ b/packages/strapi-admin/services/permission/engine.js @@ -8,6 +8,7 @@ const { isFunction, isBoolean, isArray, + isNil, isEmpty, isObject, prop, @@ -160,7 +161,7 @@ module.exports = conditionProvider => { await this.applyPermissionProcessors(permission); // Extract the up-to-date components from the permission - const { action, subject = 'all', properties = {}, conditions } = permission; + const { action, subject, properties = {}, conditions } = permission; // Register the permission if there is no condition if (isEmpty(conditions)) { @@ -239,7 +240,12 @@ module.exports = conditionProvider => { const registerToCasl = caslPermission => { const { action, subject, fields, condition } = caslPermission; - can(action, subject, fields, isObject(condition) ? condition : undefined); + can( + action, + isNil(subject) ? 'all' : subject, + fields, + isObject(condition) ? condition : undefined + ); }; const runWillRegisterHook = async caslPermission => { From f46d1e2a678ca903b8aec59f4e546e150f930e27 Mon Sep 17 00:00:00 2001 From: Hal Deadman Date: Mon, 17 May 2021 11:52:40 -0400 Subject: [PATCH 037/151] Add support for login via cas - github.com/apereo/cas (#8058) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add CAS as authentication provider * reorder provider cas after auth0 at end * use strapi.log instead of console.log Co-authored-by: Jean-Sébastien Herbaux --- .../config/functions/bootstrap.js | 9 ++++ .../services/Providers.js | 49 +++++++++++++++++++ 2 files changed, 58 insertions(+) diff --git a/packages/strapi-plugin-users-permissions/config/functions/bootstrap.js b/packages/strapi-plugin-users-permissions/config/functions/bootstrap.js index 00fd244040..6881b35e45 100644 --- a/packages/strapi-plugin-users-permissions/config/functions/bootstrap.js +++ b/packages/strapi-plugin-users-permissions/config/functions/bootstrap.js @@ -130,6 +130,15 @@ module.exports = async () => { callback: `${strapi.config.server.url}/auth/auth0/callback`, scope: ['openid', 'email', 'profile'], }, + cas: { + enabled: false, + icon: 'book', + key: '', + secret: '', + callback: `${strapi.config.server.url}/auth/cas/callback`, + scope: ['openid email'], // scopes should be space delimited + subdomain: 'my.subdomain.com/cas', + }, }; const prevGrantConfig = (await pluginStore.get({ key: 'grant' })) || {}; // store grant auth config to db diff --git a/packages/strapi-plugin-users-permissions/services/Providers.js b/packages/strapi-plugin-users-permissions/services/Providers.js index 7db8fd71bc..3e6424f543 100644 --- a/packages/strapi-plugin-users-permissions/services/Providers.js +++ b/packages/strapi-plugin-users-permissions/services/Providers.js @@ -532,6 +532,55 @@ const getProfile = async (provider, query, callback) => { }); break; } + case 'cas': { + const provider_url = 'https://' + _.get(grant['cas'], 'subdomain'); + const cas = purest({ + provider: 'cas', + config: { + cas: { + [provider_url]: { + __domain: { + auth: { + auth: { bearer: '[0]' }, + }, + }, + '{endpoint}': { + __path: { + alias: '__default', + }, + }, + }, + }, + }, + }); + cas + .query() + .get('oidc/profile') + .auth(access_token) + .request((err, res, body) => { + if (err) { + callback(err); + } else { + // CAS attribute may be in body.attributes or "FLAT", depending on CAS config + const username = body.attributes + ? body.attributes.strapiusername || body.id || body.sub + : body.strapiusername || body.id || body.sub; + const email = body.attributes + ? body.attributes.strapiemail || body.attributes.email + : body.strapiemail || body.email; + if (!username || !email) { + strapi.log.warn( + 'CAS Response Body did not contain required attributes: ' + JSON.stringify(body) + ); + } + callback(null, { + username, + email, + }); + } + }); + break; + } default: callback(new Error('Unknown provider.')); break; From 4c844a7f7fdc535d716cdb28ac2489cf66dce120 Mon Sep 17 00:00:00 2001 From: DMehaffy Date: Mon, 17 May 2021 14:17:16 -0700 Subject: [PATCH 038/151] Update webhook doc link (#10309) Signed-off-by: Derrick Mehaffy --- .../admin/src/containers/Webhooks/ListView/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/strapi-admin/admin/src/containers/Webhooks/ListView/index.js b/packages/strapi-admin/admin/src/containers/Webhooks/ListView/index.js index cd63310591..99f4d0687b 100644 --- a/packages/strapi-admin/admin/src/containers/Webhooks/ListView/index.js +++ b/packages/strapi-admin/admin/src/containers/Webhooks/ListView/index.js @@ -300,7 +300,7 @@ function ListView() { )} From bdfd53148877f640037e9786cb677d167087fbc6 Mon Sep 17 00:00:00 2001 From: soupette Date: Tue, 18 May 2021 09:55:57 +0200 Subject: [PATCH 039/151] Fixes #10328 Signed-off-by: soupette --- .../admin/src/components/CMEditViewCopyLocale/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/strapi-plugin-i18n/admin/src/components/CMEditViewCopyLocale/index.js b/packages/strapi-plugin-i18n/admin/src/components/CMEditViewCopyLocale/index.js index 00ea10f666..6d3b067933 100644 --- a/packages/strapi-plugin-i18n/admin/src/components/CMEditViewCopyLocale/index.js +++ b/packages/strapi-plugin-i18n/admin/src/components/CMEditViewCopyLocale/index.js @@ -133,6 +133,7 @@ const Content = ({ appLocales, currentLocale, localizations, readPermissions }) isSearchable={false} defaultValue={options[0]} onChange={handleChange} + options={options} styles={{ ...styles, control: (base, state) => ({ From e2d633a120d9cf6e87bb1a7c8876d1d98b77645b Mon Sep 17 00:00:00 2001 From: soupette Date: Wed, 19 May 2021 08:17:15 +0200 Subject: [PATCH 040/151] Commented plugins translations for faster developments. Translations will be loaded differently in another user story Signed-off-by: soupette --- .../admin/src/translations/index.js | 88 +++++++++--------- .../admin/src/translations/index.js | 84 ++++++++--------- .../email/admin/src/translations/index.js | 88 +++++++++--------- .../upload/admin/src/translations/index.js | 56 +++++------ .../admin/src/translations/index.js | 81 ++++++++-------- .../sentry/admin/src/translations/index.js | 80 ++++++++-------- .../admin/src/translations/index.js | 92 +++++++++---------- 7 files changed, 285 insertions(+), 284 deletions(-) diff --git a/packages/core/content-manager/admin/src/translations/index.js b/packages/core/content-manager/admin/src/translations/index.js index d440a73543..73c623f40a 100644 --- a/packages/core/content-manager/admin/src/translations/index.js +++ b/packages/core/content-manager/admin/src/translations/index.js @@ -1,53 +1,53 @@ -import ar from './ar.json'; -import cs from './cs.json'; -import de from './de.json'; -import dk from './dk.json'; +// import ar from './ar.json'; +// import cs from './cs.json'; +// import de from './de.json'; +// import dk from './dk.json'; import en from './en.json'; -import es from './es.json'; +// import es from './es.json'; import fr from './fr.json'; -import id from './id.json'; -import it from './it.json'; -import ja from './ja.json'; -import ko from './ko.json'; -import ms from './ms.json'; -import nl from './nl.json'; -import pl from './pl.json'; -import ptBR from './pt-BR.json'; -import pt from './pt.json'; -import ru from './ru.json'; -import th from './th.json'; -import tr from './tr.json'; -import uk from './uk.json'; -import vi from './vi.json'; -import zhHans from './zh-Hans.json'; -import zh from './zh.json'; -import sk from './sk.json'; +// import id from './id.json'; +// import it from './it.json'; +// import ja from './ja.json'; +// import ko from './ko.json'; +// import ms from './ms.json'; +// import nl from './nl.json'; +// import pl from './pl.json'; +// import ptBR from './pt-BR.json'; +// import pt from './pt.json'; +// import ru from './ru.json'; +// import th from './th.json'; +// import tr from './tr.json'; +// import uk from './uk.json'; +// import vi from './vi.json'; +// import zhHans from './zh-Hans.json'; +// import zh from './zh.json'; +// import sk from './sk.json'; const trads = { - ar, - cs, - de, - dk, + // ar, + // cs, + // de, + // dk, en, - es, + // es, fr, - id, - it, - ja, - ko, - ms, - nl, - pl, - 'pt-BR': ptBR, - pt, - ru, - th, - tr, - uk, - vi, - 'zh-Hans': zhHans, - zh, - sk, + // id, + // it, + // ja, + // ko, + // ms, + // nl, + // pl, + // 'pt-BR': ptBR, + // pt, + // ru, + // th, + // tr, + // uk, + // vi, + // 'zh-Hans': zhHans, + // zh, + // sk, }; export default trads; diff --git a/packages/core/content-type-builder/admin/src/translations/index.js b/packages/core/content-type-builder/admin/src/translations/index.js index 5ff90b2d0c..596b252347 100644 --- a/packages/core/content-type-builder/admin/src/translations/index.js +++ b/packages/core/content-type-builder/admin/src/translations/index.js @@ -1,51 +1,51 @@ -import ar from './ar.json'; -import cs from './cs.json'; -import de from './de.json'; -import dk from './dk.json'; +// import ar from './ar.json'; +// import cs from './cs.json'; +// import de from './de.json'; +// import dk from './dk.json'; import en from './en.json'; -import es from './es.json'; +// import es from './es.json'; import fr from './fr.json'; -import id from './id.json'; -import it from './it.json'; -import ja from './ja.json'; -import ko from './ko.json'; -import ms from './ms.json'; -import nl from './nl.json'; -import pl from './pl.json'; -import ptBR from './pt-BR.json'; -import pt from './pt.json'; -import ru from './ru.json'; -import th from './th.json'; -import tr from './tr.json'; -import uk from './uk.json'; -import zhHans from './zh-Hans.json'; -import zh from './zh.json'; -import sk from './sk.json'; +// import id from './id.json'; +// import it from './it.json'; +// import ja from './ja.json'; +// import ko from './ko.json'; +// import ms from './ms.json'; +// import nl from './nl.json'; +// import pl from './pl.json'; +// import ptBR from './pt-BR.json'; +// import pt from './pt.json'; +// import ru from './ru.json'; +// import th from './th.json'; +// import tr from './tr.json'; +// import uk from './uk.json'; +// import zhHans from './zh-Hans.json'; +// import zh from './zh.json'; +// import sk from './sk.json'; const trads = { - ar, - cs, - de, - dk, + // ar, + // cs, + // de, + // dk, en, - es, + // es, fr, - id, - it, - ja, - ko, - ms, - nl, - pl, - 'pt-BR': ptBR, - pt, - ru, - th, - tr, - uk, - 'zh-Hans': zhHans, - zh, - sk, + // id, + // it, + // ja, + // ko, + // ms, + // nl, + // pl, + // 'pt-BR': ptBR, + // pt, + // ru, + // th, + // tr, + // uk, + // 'zh-Hans': zhHans, + // zh, + // sk, }; export default trads; diff --git a/packages/core/email/admin/src/translations/index.js b/packages/core/email/admin/src/translations/index.js index d440a73543..73c623f40a 100644 --- a/packages/core/email/admin/src/translations/index.js +++ b/packages/core/email/admin/src/translations/index.js @@ -1,53 +1,53 @@ -import ar from './ar.json'; -import cs from './cs.json'; -import de from './de.json'; -import dk from './dk.json'; +// import ar from './ar.json'; +// import cs from './cs.json'; +// import de from './de.json'; +// import dk from './dk.json'; import en from './en.json'; -import es from './es.json'; +// import es from './es.json'; import fr from './fr.json'; -import id from './id.json'; -import it from './it.json'; -import ja from './ja.json'; -import ko from './ko.json'; -import ms from './ms.json'; -import nl from './nl.json'; -import pl from './pl.json'; -import ptBR from './pt-BR.json'; -import pt from './pt.json'; -import ru from './ru.json'; -import th from './th.json'; -import tr from './tr.json'; -import uk from './uk.json'; -import vi from './vi.json'; -import zhHans from './zh-Hans.json'; -import zh from './zh.json'; -import sk from './sk.json'; +// import id from './id.json'; +// import it from './it.json'; +// import ja from './ja.json'; +// import ko from './ko.json'; +// import ms from './ms.json'; +// import nl from './nl.json'; +// import pl from './pl.json'; +// import ptBR from './pt-BR.json'; +// import pt from './pt.json'; +// import ru from './ru.json'; +// import th from './th.json'; +// import tr from './tr.json'; +// import uk from './uk.json'; +// import vi from './vi.json'; +// import zhHans from './zh-Hans.json'; +// import zh from './zh.json'; +// import sk from './sk.json'; const trads = { - ar, - cs, - de, - dk, + // ar, + // cs, + // de, + // dk, en, - es, + // es, fr, - id, - it, - ja, - ko, - ms, - nl, - pl, - 'pt-BR': ptBR, - pt, - ru, - th, - tr, - uk, - vi, - 'zh-Hans': zhHans, - zh, - sk, + // id, + // it, + // ja, + // ko, + // ms, + // nl, + // pl, + // 'pt-BR': ptBR, + // pt, + // ru, + // th, + // tr, + // uk, + // vi, + // 'zh-Hans': zhHans, + // zh, + // sk, }; export default trads; diff --git a/packages/core/upload/admin/src/translations/index.js b/packages/core/upload/admin/src/translations/index.js index 85c2bc0da5..df0a345db2 100644 --- a/packages/core/upload/admin/src/translations/index.js +++ b/packages/core/upload/admin/src/translations/index.js @@ -1,37 +1,37 @@ -import de from './de.json'; -import dk from './dk.json'; +// import de from './de.json'; +// import dk from './dk.json'; import en from './en.json'; -import es from './es.json'; +// import es from './es.json'; import fr from './fr.json'; -import he from './he.json'; -import it from './it.json'; -import ja from './ja.json'; -import ms from './ms.json'; -import ru from './ru.json'; -import th from './th.json'; -import uk from './uk.json'; -import ptBR from './pt-BR.json'; -import sk from './sk.json'; -import zh from './zh.json'; -import pl from './pl.json'; +// import he from './he.json'; +// import it from './it.json'; +// import ja from './ja.json'; +// import ms from './ms.json'; +// import ru from './ru.json'; +// import th from './th.json'; +// import uk from './uk.json'; +// import ptBR from './pt-BR.json'; +// import sk from './sk.json'; +// import zh from './zh.json'; +// import pl from './pl.json'; const trads = { - de, - dk, + // de, + // dk, en, - es, + // es, fr, - he, - it, - ja, - ms, - ru, - th, - uk, - 'pt-BR': ptBR, - sk, - zh, - pl, + // he, + // it, + // ja, + // ms, + // ru, + // th, + // uk, + // 'pt-BR': ptBR, + // sk, + // zh, + // pl, }; export default trads; diff --git a/packages/plugins/documentation/admin/src/translations/index.js b/packages/plugins/documentation/admin/src/translations/index.js index d990d5ae93..d5534490a9 100644 --- a/packages/plugins/documentation/admin/src/translations/index.js +++ b/packages/plugins/documentation/admin/src/translations/index.js @@ -1,49 +1,50 @@ -import ar from './ar.json'; -import cs from './cs.json'; -import de from './de.json'; +// TODO +// import ar from './ar.json'; +// import cs from './cs.json'; +// import de from './de.json'; import en from './en.json'; -import es from './es.json'; +// import es from './es.json'; import fr from './fr.json'; -import id from './id.json'; -import it from './it.json'; -import ko from './ko.json'; -import ms from './ms.json'; -import nl from './nl.json'; -import pl from './pl.json'; -import ptBR from './pt-BR.json'; -import pt from './pt.json'; -import ru from './ru.json'; -import th from './th.json'; -import tr from './tr.json'; -import uk from './uk.json'; -import vi from './vi.json'; -import zhHans from './zh-Hans.json'; -import zh from './zh.json'; -import sk from './sk.json'; +// import id from './id.json'; +// import it from './it.json'; +// import ko from './ko.json'; +// import ms from './ms.json'; +// import nl from './nl.json'; +// import pl from './pl.json'; +// import ptBR from './pt-BR.json'; +// import pt from './pt.json'; +// import ru from './ru.json'; +// import th from './th.json'; +// import tr from './tr.json'; +// import uk from './uk.json'; +// import vi from './vi.json'; +// import zhHans from './zh-Hans.json'; +// import zh from './zh.json'; +// import sk from './sk.json'; const trads = { - ar, - cs, - de, + // ar, + // cs, + // de, en, - es, + // es, fr, - id, - it, - ko, - ms, - nl, - pl, - 'pt-BR': ptBR, - pt, - ru, - th, - tr, - uk, - vi, - 'zh-Hans': zhHans, - zh, - sk, + // id, + // it, + // ko, + // ms, + // nl, + // pl, + // 'pt-BR': ptBR, + // pt, + // ru, + // th, + // tr, + // uk, + // vi, + // 'zh-Hans': zhHans, + // zh, + // sk, }; export default trads; diff --git a/packages/plugins/sentry/admin/src/translations/index.js b/packages/plugins/sentry/admin/src/translations/index.js index d990d5ae93..b8134d0dac 100644 --- a/packages/plugins/sentry/admin/src/translations/index.js +++ b/packages/plugins/sentry/admin/src/translations/index.js @@ -1,49 +1,49 @@ -import ar from './ar.json'; -import cs from './cs.json'; -import de from './de.json'; +// import ar from './ar.json'; +// import cs from './cs.json'; +// import de from './de.json'; import en from './en.json'; -import es from './es.json'; +// import es from './es.json'; import fr from './fr.json'; -import id from './id.json'; -import it from './it.json'; -import ko from './ko.json'; -import ms from './ms.json'; -import nl from './nl.json'; -import pl from './pl.json'; -import ptBR from './pt-BR.json'; -import pt from './pt.json'; -import ru from './ru.json'; -import th from './th.json'; -import tr from './tr.json'; -import uk from './uk.json'; -import vi from './vi.json'; -import zhHans from './zh-Hans.json'; -import zh from './zh.json'; -import sk from './sk.json'; +// import id from './id.json'; +// import it from './it.json'; +// import ko from './ko.json'; +// import ms from './ms.json'; +// import nl from './nl.json'; +// import pl from './pl.json'; +// import ptBR from './pt-BR.json'; +// import pt from './pt.json'; +// import ru from './ru.json'; +// import th from './th.json'; +// import tr from './tr.json'; +// import uk from './uk.json'; +// import vi from './vi.json'; +// import zhHans from './zh-Hans.json'; +// import zh from './zh.json'; +// import sk from './sk.json'; const trads = { - ar, - cs, - de, + // ar, + // cs, + // de, en, - es, + // es, fr, - id, - it, - ko, - ms, - nl, - pl, - 'pt-BR': ptBR, - pt, - ru, - th, - tr, - uk, - vi, - 'zh-Hans': zhHans, - zh, - sk, + // id, + // it, + // ko, + // ms, + // nl, + // pl, + // 'pt-BR': ptBR, + // pt, + // ru, + // th, + // tr, + // uk, + // vi, + // 'zh-Hans': zhHans, + // zh, + // sk, }; export default trads; diff --git a/packages/plugins/users-permissions/admin/src/translations/index.js b/packages/plugins/users-permissions/admin/src/translations/index.js index 9d7eae117d..4ac47e3ed7 100644 --- a/packages/plugins/users-permissions/admin/src/translations/index.js +++ b/packages/plugins/users-permissions/admin/src/translations/index.js @@ -1,55 +1,55 @@ -import ar from './ar.json'; -import cs from './cs.json'; -import de from './de.json'; -import dk from './dk.json'; +// import ar from './ar.json'; +// import cs from './cs.json'; +// import de from './de.json'; +// import dk from './dk.json'; import en from './en.json'; -import es from './es.json'; +// import es from './es.json'; import fr from './fr.json'; -import id from './id.json'; -import it from './it.json'; -import ja from './ja.json'; -import ko from './ko.json'; -import ms from './ms.json'; -import nl from './nl.json'; -import pl from './pl.json'; -import ptBR from './pt-BR.json'; -import pt from './pt.json'; -import ru from './ru.json'; -import th from './th.json'; -import tr from './tr.json'; -import uk from './uk.json'; -import vi from './vi.json'; -import zhHans from './zh-Hans.json'; -import zh from './zh.json'; -import sk from './sk.json'; -import sv from './sv.json'; +// import id from './id.json'; +// import it from './it.json'; +// import ja from './ja.json'; +// import ko from './ko.json'; +// import ms from './ms.json'; +// import nl from './nl.json'; +// import pl from './pl.json'; +// import ptBR from './pt-BR.json'; +// import pt from './pt.json'; +// import ru from './ru.json'; +// import th from './th.json'; +// import tr from './tr.json'; +// import uk from './uk.json'; +// import vi from './vi.json'; +// import zhHans from './zh-Hans.json'; +// import zh from './zh.json'; +// import sk from './sk.json'; +// import sv from './sv.json'; const trads = { - ar, - cs, - de, - dk, + // ar, + // cs, + // de, + // dk, en, - es, + // es, fr, - id, - it, - ja, - ko, - ms, - nl, - pl, - 'pt-BR': ptBR, - pt, - ru, - th, - tr, - uk, - vi, - 'zh-Hans': zhHans, - zh, - sk, - sv, + // id, + // it, + // ja, + // ko, + // ms, + // nl, + // pl, + // 'pt-BR': ptBR, + // pt, + // ru, + // th, + // tr, + // uk, + // vi, + // 'zh-Hans': zhHans, + // zh, + // sk, + // sv, }; export default trads; From 131264bbe45fd59e24e7a18fde172f89d25eaabb Mon Sep 17 00:00:00 2001 From: HichamELBSI Date: Wed, 19 May 2021 14:08:42 +0200 Subject: [PATCH 041/151] Rename containers to pages Signed-off-by: HichamELBSI --- .../admin/src/components/DragLayer/index.js | 2 +- .../content-manager/admin/src/components/Wysiwyg/index.js | 2 +- .../src/containers/EditViewLayoutManager/selectors.js | 5 ----- .../admin/src/hooks/useContentTypeLayout/index.js | 2 +- .../admin/src/hooks/useFetchContentTypeLayout/index.js | 2 +- packages/core/content-manager/admin/src/index.js | 2 +- .../CollectionTypeFormWrapper/index.js | 0 .../CollectionTypeFormWrapper/utils/getRequestUrl.js | 0 .../CollectionTypeFormWrapper/utils/index.js | 0 .../CollectionTypeRecursivePath/index.js | 0 .../{containers => pages}/ComponentSetttingsView/index.js | 0 .../EditSettingsView/LinkToCTB/index.js | 0 .../src/{containers => pages}/EditSettingsView/index.js | 0 .../src/{containers => pages}/EditSettingsView/init.js | 0 .../src/{containers => pages}/EditSettingsView/reducer.js | 0 .../EditSettingsView/tests/init.test.js | 0 .../createPossibleMainFieldsForModelsAndComponents.js | 0 .../EditSettingsView/utils/getInputProps.js | 0 .../{containers => pages}/EditSettingsView/utils/index.js | 0 .../EditSettingsView/utils/layout.js | 0 ...createPossibleMainFieldsForModelsAndComponents.test.js | 0 .../EditSettingsView/utils/tests/getInputProps.test.js | 0 .../EditSettingsView/utils/tests/layout.test.js | 0 .../{containers => pages}/EditView/DeleteLink/index.js | 0 .../EditView/DeleteLink/utils/connect.js | 0 .../EditView/DeleteLink/utils/index.js | 0 .../EditView/DeleteLink/utils/select.js | 0 .../src/{containers => pages}/EditView/Header/index.js | 0 .../EditView/Header/utils/connect.js | 0 .../EditView/Header/utils/getDraftRelations.js | 0 .../{containers => pages}/EditView/Header/utils/index.js | 0 .../{containers => pages}/EditView/Header/utils/select.js | 0 .../EditView/Header/utils/tests/data/compos-schema.json | 0 .../EditView/Header/utils/tests/data/ct-schema.json | 0 .../EditView/Header/utils/tests/data/entry-compos.json | 0 .../EditView/Header/utils/tests/data/entry-dz.json | 0 .../EditView/Header/utils/tests/data/entry-simple.json | 0 .../EditView/Header/utils/tests/data/entry.json | 0 .../EditView/Header/utils/tests/getDraftRelations.test.js | 0 .../src/{containers => pages}/EditView/InformationCard.js | 0 .../src/{containers => pages}/EditView/components.js | 0 .../admin/src/{containers => pages}/EditView/index.js | 0 .../EditView/utils/createAttributesLayout.js | 0 .../EditView/utils/getFieldsActionMatchingPermissions.js | 0 .../src/{containers => pages}/EditView/utils/index.js | 0 .../EditView/utils/tests/createAttributesLayout.test.js | 0 .../tests/getFieldsActionMatchingPermissions.test.js | 0 .../EditViewDataManagerProvider/index.js | 0 .../EditViewDataManagerProvider/reducer.js | 0 .../EditViewDataManagerProvider/utils/cleanData.js | 0 .../utils/getYupInnerErrors.js | 0 .../EditViewDataManagerProvider/utils/index.js | 0 .../EditViewDataManagerProvider/utils/schema.js | 0 .../EditViewLayoutManager/Permissions.js | 0 .../EditViewLayoutManager/actions.js | 0 .../EditViewLayoutManager/constants.js | 0 .../{containers => pages}/EditViewLayoutManager/index.js | 0 .../EditViewLayoutManager/reducer.js | 0 .../admin/src/pages/EditViewLayoutManager/selectors.js | 5 +++++ .../src/{containers => pages}/LayoutDndProvider/index.js | 0 .../{containers => pages}/ListSettingsView/DragWrapper.js | 0 .../ListSettingsView/DropdownButton.js | 0 .../src/{containers => pages}/ListSettingsView/Label.js | 0 .../ListSettingsView/MenuDropdown.js | 0 .../src/{containers => pages}/ListSettingsView/Toggle.js | 0 .../src/{containers => pages}/ListSettingsView/forms.json | 0 .../src/{containers => pages}/ListSettingsView/index.js | 0 .../src/{containers => pages}/ListSettingsView/init.js | 0 .../src/{containers => pages}/ListSettingsView/reducer.js | 0 .../ListSettingsView/tests/init.test.js | 0 .../ListView/FieldPicker/ConfigureLink/StyledLink.js | 0 .../ListView/FieldPicker/ConfigureLink/Wrapper.js | 0 .../ListView/FieldPicker/ConfigureLink/index.js | 0 .../ListView/FieldPicker/Field/Wrapper.js | 0 .../ListView/FieldPicker/Field/index.js | 0 .../ListView/FieldPicker/Fields/Wrapper.js | 0 .../ListView/FieldPicker/Fields/index.js | 0 .../ListView/FieldPicker/Header/Reset.js | 0 .../ListView/FieldPicker/Header/index.js | 0 .../{containers => pages}/ListView/FieldPicker/Wrapper.js | 0 .../{containers => pages}/ListView/FieldPicker/index.js | 0 .../admin/src/{containers => pages}/ListView/Filter.js | 0 .../admin/src/{containers => pages}/ListView/Footer.js | 0 .../admin/src/{containers => pages}/ListView/actions.js | 0 .../src/{containers => pages}/ListView/components.js | 0 .../admin/src/{containers => pages}/ListView/constants.js | 0 .../admin/src/{containers => pages}/ListView/index.js | 0 .../admin/src/{containers => pages}/ListView/reducer.js | 0 .../admin/src/{containers => pages}/ListView/selectors.js | 0 .../{containers => pages}/ListView/tests/reducer.test.js | 0 .../ListView/utils/buildQueryString.js | 0 .../ListView/utils/createPluginsFilter.js | 0 .../ListView/utils/getAllAllowedHeaders.js | 0 .../ListView/utils/getFirstSortableHeader.js | 0 .../src/{containers => pages}/ListView/utils/index.js | 0 .../ListView/utils/tests/buildQueryString.test.js | 0 .../ListView/utils/tests/getAllAllowedHeaders.test.js | 0 .../ListView/utils/tests/getFirstSortableHeader.test.js | 0 .../ListViewLayoutManager/Permissions.js | 0 .../{containers => pages}/ListViewLayoutManager/index.js | 0 .../src/{containers => pages}/ListViewProvider/index.js | 0 .../admin/src/{containers => pages}/Main/actions.js | 0 .../admin/src/{containers => pages}/Main/constants.js | 0 .../admin/src/{containers => pages}/Main/index.js | 0 .../admin/src/{containers => pages}/Main/reducer.js | 0 .../admin/src/{containers => pages}/Main/selectors.js | 0 .../src/{containers => pages}/Main/tests/reducer.test.js | 0 .../src/{containers => pages}/RBACManager/actions.js | 0 .../src/{containers => pages}/RBACManager/constants.js | 0 .../src/{containers => pages}/RBACManager/reducer.js | 0 .../RBACManager/tests/reducer.test.js | 0 .../src/{containers => pages}/RBACManager/useSyncRbac.js | 0 .../{containers => pages}/SingleTypeFormWrapper/index.js | 0 .../SingleTypeFormWrapper/utils/getRequestUrl.js | 0 .../SingleTypeFormWrapper/utils/index.js | 0 .../SingleTypeRecursivePath/index.js | 0 .../src/{containers => pages}/WysiwygProvider/index.js | 0 packages/core/content-manager/admin/src/reducers.js | 8 ++++---- 118 files changed, 14 insertions(+), 14 deletions(-) delete mode 100644 packages/core/content-manager/admin/src/containers/EditViewLayoutManager/selectors.js rename packages/core/content-manager/admin/src/{containers => pages}/CollectionTypeFormWrapper/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/CollectionTypeFormWrapper/utils/getRequestUrl.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/CollectionTypeFormWrapper/utils/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/CollectionTypeRecursivePath/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ComponentSetttingsView/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditSettingsView/LinkToCTB/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditSettingsView/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditSettingsView/init.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditSettingsView/reducer.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditSettingsView/tests/init.test.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditSettingsView/utils/createPossibleMainFieldsForModelsAndComponents.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditSettingsView/utils/getInputProps.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditSettingsView/utils/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditSettingsView/utils/layout.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditSettingsView/utils/tests/createPossibleMainFieldsForModelsAndComponents.test.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditSettingsView/utils/tests/getInputProps.test.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditSettingsView/utils/tests/layout.test.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditView/DeleteLink/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditView/DeleteLink/utils/connect.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditView/DeleteLink/utils/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditView/DeleteLink/utils/select.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditView/Header/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditView/Header/utils/connect.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditView/Header/utils/getDraftRelations.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditView/Header/utils/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditView/Header/utils/select.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditView/Header/utils/tests/data/compos-schema.json (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditView/Header/utils/tests/data/ct-schema.json (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditView/Header/utils/tests/data/entry-compos.json (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditView/Header/utils/tests/data/entry-dz.json (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditView/Header/utils/tests/data/entry-simple.json (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditView/Header/utils/tests/data/entry.json (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditView/Header/utils/tests/getDraftRelations.test.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditView/InformationCard.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditView/components.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditView/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditView/utils/createAttributesLayout.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditView/utils/getFieldsActionMatchingPermissions.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditView/utils/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditView/utils/tests/createAttributesLayout.test.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditView/utils/tests/getFieldsActionMatchingPermissions.test.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditViewDataManagerProvider/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditViewDataManagerProvider/reducer.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditViewDataManagerProvider/utils/cleanData.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditViewDataManagerProvider/utils/getYupInnerErrors.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditViewDataManagerProvider/utils/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditViewDataManagerProvider/utils/schema.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditViewLayoutManager/Permissions.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditViewLayoutManager/actions.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditViewLayoutManager/constants.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditViewLayoutManager/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/EditViewLayoutManager/reducer.js (100%) create mode 100644 packages/core/content-manager/admin/src/pages/EditViewLayoutManager/selectors.js rename packages/core/content-manager/admin/src/{containers => pages}/LayoutDndProvider/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListSettingsView/DragWrapper.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListSettingsView/DropdownButton.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListSettingsView/Label.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListSettingsView/MenuDropdown.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListSettingsView/Toggle.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListSettingsView/forms.json (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListSettingsView/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListSettingsView/init.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListSettingsView/reducer.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListSettingsView/tests/init.test.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListView/FieldPicker/ConfigureLink/StyledLink.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListView/FieldPicker/ConfigureLink/Wrapper.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListView/FieldPicker/ConfigureLink/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListView/FieldPicker/Field/Wrapper.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListView/FieldPicker/Field/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListView/FieldPicker/Fields/Wrapper.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListView/FieldPicker/Fields/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListView/FieldPicker/Header/Reset.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListView/FieldPicker/Header/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListView/FieldPicker/Wrapper.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListView/FieldPicker/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListView/Filter.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListView/Footer.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListView/actions.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListView/components.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListView/constants.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListView/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListView/reducer.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListView/selectors.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListView/tests/reducer.test.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListView/utils/buildQueryString.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListView/utils/createPluginsFilter.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListView/utils/getAllAllowedHeaders.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListView/utils/getFirstSortableHeader.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListView/utils/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListView/utils/tests/buildQueryString.test.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListView/utils/tests/getAllAllowedHeaders.test.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListView/utils/tests/getFirstSortableHeader.test.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListViewLayoutManager/Permissions.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListViewLayoutManager/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/ListViewProvider/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/Main/actions.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/Main/constants.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/Main/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/Main/reducer.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/Main/selectors.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/Main/tests/reducer.test.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/RBACManager/actions.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/RBACManager/constants.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/RBACManager/reducer.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/RBACManager/tests/reducer.test.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/RBACManager/useSyncRbac.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/SingleTypeFormWrapper/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/SingleTypeFormWrapper/utils/getRequestUrl.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/SingleTypeFormWrapper/utils/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/SingleTypeRecursivePath/index.js (100%) rename packages/core/content-manager/admin/src/{containers => pages}/WysiwygProvider/index.js (100%) diff --git a/packages/core/content-manager/admin/src/components/DragLayer/index.js b/packages/core/content-manager/admin/src/components/DragLayer/index.js index 305c8ed9e6..9d922d717e 100644 --- a/packages/core/content-manager/admin/src/components/DragLayer/index.js +++ b/packages/core/content-manager/admin/src/components/DragLayer/index.js @@ -1,6 +1,6 @@ import React from 'react'; import { useDragLayer } from 'react-dnd'; -import LayoutDndProvider from '../../containers/LayoutDndProvider'; +import LayoutDndProvider from '../../pages/LayoutDndProvider'; import ItemTypes from '../../utils/ItemTypes'; diff --git a/packages/core/content-manager/admin/src/components/Wysiwyg/index.js b/packages/core/content-manager/admin/src/components/Wysiwyg/index.js index 13cdff6bbf..b084cb1c3d 100644 --- a/packages/core/content-manager/admin/src/components/Wysiwyg/index.js +++ b/packages/core/content-manager/admin/src/components/Wysiwyg/index.js @@ -16,7 +16,7 @@ import { import PropTypes from 'prop-types'; import { isEmpty, isNaN, replace, words } from 'lodash'; import cn from 'classnames'; -import WysiwygProvider from '../../containers/WysiwygProvider'; +import WysiwygProvider from '../../pages/WysiwygProvider'; import Controls from '../WysiwygInlineControls'; import PreviewWysiwyg from '../PreviewWysiwyg'; import WysiwygBottomControls from '../WysiwygBottomControls'; diff --git a/packages/core/content-manager/admin/src/containers/EditViewLayoutManager/selectors.js b/packages/core/content-manager/admin/src/containers/EditViewLayoutManager/selectors.js deleted file mode 100644 index e8a8011197..0000000000 --- a/packages/core/content-manager/admin/src/containers/EditViewLayoutManager/selectors.js +++ /dev/null @@ -1,5 +0,0 @@ -import pluginId from '../../pluginId'; - -const selectLayout = state => state.[`${pluginId}_editViewLayoutManager`].currentLayout; - -export default selectLayout; diff --git a/packages/core/content-manager/admin/src/hooks/useContentTypeLayout/index.js b/packages/core/content-manager/admin/src/hooks/useContentTypeLayout/index.js index 915ed6eb88..39b705960d 100644 --- a/packages/core/content-manager/admin/src/hooks/useContentTypeLayout/index.js +++ b/packages/core/content-manager/admin/src/hooks/useContentTypeLayout/index.js @@ -1,7 +1,7 @@ import { useCallback } from 'react'; import { get } from 'lodash'; import { useSelector } from 'react-redux'; -import selectLayout from '../../containers/EditViewLayoutManager/selectors'; +import selectLayout from '../../pages/EditViewLayoutManager/selectors'; const useContentTypeLayout = () => { const currentLayout = useSelector(selectLayout); diff --git a/packages/core/content-manager/admin/src/hooks/useFetchContentTypeLayout/index.js b/packages/core/content-manager/admin/src/hooks/useFetchContentTypeLayout/index.js index 9d2a8fb4a5..dd710dbe47 100644 --- a/packages/core/content-manager/admin/src/hooks/useFetchContentTypeLayout/index.js +++ b/packages/core/content-manager/admin/src/hooks/useFetchContentTypeLayout/index.js @@ -3,7 +3,7 @@ import { useSelector, shallowEqual } from 'react-redux'; import { request } from '@strapi/helper-plugin'; import formatLayouts from './utils/formatLayouts'; import reducer, { initialState } from './reducer'; -import { makeSelectModelAndComponentSchemas } from '../../containers/Main/selectors'; +import { makeSelectModelAndComponentSchemas } from '../../pages/Main/selectors'; const useFetchContentTypeLayout = contentTypeUID => { const [{ error, isLoading, layout, layouts }, dispatch] = useReducer(reducer, initialState); diff --git a/packages/core/content-manager/admin/src/index.js b/packages/core/content-manager/admin/src/index.js index 44d1222661..4186661746 100644 --- a/packages/core/content-manager/admin/src/index.js +++ b/packages/core/content-manager/admin/src/index.js @@ -8,7 +8,7 @@ import pluginPkg from '../../package.json'; import pluginId from './pluginId'; import pluginLogo from './assets/images/logo.svg'; -import App from './containers/Main'; +import App from './pages/Main'; import reducers from './reducers'; import trads from './translations'; diff --git a/packages/core/content-manager/admin/src/containers/CollectionTypeFormWrapper/index.js b/packages/core/content-manager/admin/src/pages/CollectionTypeFormWrapper/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/CollectionTypeFormWrapper/index.js rename to packages/core/content-manager/admin/src/pages/CollectionTypeFormWrapper/index.js diff --git a/packages/core/content-manager/admin/src/containers/CollectionTypeFormWrapper/utils/getRequestUrl.js b/packages/core/content-manager/admin/src/pages/CollectionTypeFormWrapper/utils/getRequestUrl.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/CollectionTypeFormWrapper/utils/getRequestUrl.js rename to packages/core/content-manager/admin/src/pages/CollectionTypeFormWrapper/utils/getRequestUrl.js diff --git a/packages/core/content-manager/admin/src/containers/CollectionTypeFormWrapper/utils/index.js b/packages/core/content-manager/admin/src/pages/CollectionTypeFormWrapper/utils/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/CollectionTypeFormWrapper/utils/index.js rename to packages/core/content-manager/admin/src/pages/CollectionTypeFormWrapper/utils/index.js diff --git a/packages/core/content-manager/admin/src/containers/CollectionTypeRecursivePath/index.js b/packages/core/content-manager/admin/src/pages/CollectionTypeRecursivePath/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/CollectionTypeRecursivePath/index.js rename to packages/core/content-manager/admin/src/pages/CollectionTypeRecursivePath/index.js diff --git a/packages/core/content-manager/admin/src/containers/ComponentSetttingsView/index.js b/packages/core/content-manager/admin/src/pages/ComponentSetttingsView/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ComponentSetttingsView/index.js rename to packages/core/content-manager/admin/src/pages/ComponentSetttingsView/index.js diff --git a/packages/core/content-manager/admin/src/containers/EditSettingsView/LinkToCTB/index.js b/packages/core/content-manager/admin/src/pages/EditSettingsView/LinkToCTB/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditSettingsView/LinkToCTB/index.js rename to packages/core/content-manager/admin/src/pages/EditSettingsView/LinkToCTB/index.js diff --git a/packages/core/content-manager/admin/src/containers/EditSettingsView/index.js b/packages/core/content-manager/admin/src/pages/EditSettingsView/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditSettingsView/index.js rename to packages/core/content-manager/admin/src/pages/EditSettingsView/index.js diff --git a/packages/core/content-manager/admin/src/containers/EditSettingsView/init.js b/packages/core/content-manager/admin/src/pages/EditSettingsView/init.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditSettingsView/init.js rename to packages/core/content-manager/admin/src/pages/EditSettingsView/init.js diff --git a/packages/core/content-manager/admin/src/containers/EditSettingsView/reducer.js b/packages/core/content-manager/admin/src/pages/EditSettingsView/reducer.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditSettingsView/reducer.js rename to packages/core/content-manager/admin/src/pages/EditSettingsView/reducer.js diff --git a/packages/core/content-manager/admin/src/containers/EditSettingsView/tests/init.test.js b/packages/core/content-manager/admin/src/pages/EditSettingsView/tests/init.test.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditSettingsView/tests/init.test.js rename to packages/core/content-manager/admin/src/pages/EditSettingsView/tests/init.test.js diff --git a/packages/core/content-manager/admin/src/containers/EditSettingsView/utils/createPossibleMainFieldsForModelsAndComponents.js b/packages/core/content-manager/admin/src/pages/EditSettingsView/utils/createPossibleMainFieldsForModelsAndComponents.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditSettingsView/utils/createPossibleMainFieldsForModelsAndComponents.js rename to packages/core/content-manager/admin/src/pages/EditSettingsView/utils/createPossibleMainFieldsForModelsAndComponents.js diff --git a/packages/core/content-manager/admin/src/containers/EditSettingsView/utils/getInputProps.js b/packages/core/content-manager/admin/src/pages/EditSettingsView/utils/getInputProps.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditSettingsView/utils/getInputProps.js rename to packages/core/content-manager/admin/src/pages/EditSettingsView/utils/getInputProps.js diff --git a/packages/core/content-manager/admin/src/containers/EditSettingsView/utils/index.js b/packages/core/content-manager/admin/src/pages/EditSettingsView/utils/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditSettingsView/utils/index.js rename to packages/core/content-manager/admin/src/pages/EditSettingsView/utils/index.js diff --git a/packages/core/content-manager/admin/src/containers/EditSettingsView/utils/layout.js b/packages/core/content-manager/admin/src/pages/EditSettingsView/utils/layout.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditSettingsView/utils/layout.js rename to packages/core/content-manager/admin/src/pages/EditSettingsView/utils/layout.js diff --git a/packages/core/content-manager/admin/src/containers/EditSettingsView/utils/tests/createPossibleMainFieldsForModelsAndComponents.test.js b/packages/core/content-manager/admin/src/pages/EditSettingsView/utils/tests/createPossibleMainFieldsForModelsAndComponents.test.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditSettingsView/utils/tests/createPossibleMainFieldsForModelsAndComponents.test.js rename to packages/core/content-manager/admin/src/pages/EditSettingsView/utils/tests/createPossibleMainFieldsForModelsAndComponents.test.js diff --git a/packages/core/content-manager/admin/src/containers/EditSettingsView/utils/tests/getInputProps.test.js b/packages/core/content-manager/admin/src/pages/EditSettingsView/utils/tests/getInputProps.test.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditSettingsView/utils/tests/getInputProps.test.js rename to packages/core/content-manager/admin/src/pages/EditSettingsView/utils/tests/getInputProps.test.js diff --git a/packages/core/content-manager/admin/src/containers/EditSettingsView/utils/tests/layout.test.js b/packages/core/content-manager/admin/src/pages/EditSettingsView/utils/tests/layout.test.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditSettingsView/utils/tests/layout.test.js rename to packages/core/content-manager/admin/src/pages/EditSettingsView/utils/tests/layout.test.js diff --git a/packages/core/content-manager/admin/src/containers/EditView/DeleteLink/index.js b/packages/core/content-manager/admin/src/pages/EditView/DeleteLink/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditView/DeleteLink/index.js rename to packages/core/content-manager/admin/src/pages/EditView/DeleteLink/index.js diff --git a/packages/core/content-manager/admin/src/containers/EditView/DeleteLink/utils/connect.js b/packages/core/content-manager/admin/src/pages/EditView/DeleteLink/utils/connect.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditView/DeleteLink/utils/connect.js rename to packages/core/content-manager/admin/src/pages/EditView/DeleteLink/utils/connect.js diff --git a/packages/core/content-manager/admin/src/containers/EditView/DeleteLink/utils/index.js b/packages/core/content-manager/admin/src/pages/EditView/DeleteLink/utils/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditView/DeleteLink/utils/index.js rename to packages/core/content-manager/admin/src/pages/EditView/DeleteLink/utils/index.js diff --git a/packages/core/content-manager/admin/src/containers/EditView/DeleteLink/utils/select.js b/packages/core/content-manager/admin/src/pages/EditView/DeleteLink/utils/select.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditView/DeleteLink/utils/select.js rename to packages/core/content-manager/admin/src/pages/EditView/DeleteLink/utils/select.js diff --git a/packages/core/content-manager/admin/src/containers/EditView/Header/index.js b/packages/core/content-manager/admin/src/pages/EditView/Header/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditView/Header/index.js rename to packages/core/content-manager/admin/src/pages/EditView/Header/index.js diff --git a/packages/core/content-manager/admin/src/containers/EditView/Header/utils/connect.js b/packages/core/content-manager/admin/src/pages/EditView/Header/utils/connect.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditView/Header/utils/connect.js rename to packages/core/content-manager/admin/src/pages/EditView/Header/utils/connect.js diff --git a/packages/core/content-manager/admin/src/containers/EditView/Header/utils/getDraftRelations.js b/packages/core/content-manager/admin/src/pages/EditView/Header/utils/getDraftRelations.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditView/Header/utils/getDraftRelations.js rename to packages/core/content-manager/admin/src/pages/EditView/Header/utils/getDraftRelations.js diff --git a/packages/core/content-manager/admin/src/containers/EditView/Header/utils/index.js b/packages/core/content-manager/admin/src/pages/EditView/Header/utils/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditView/Header/utils/index.js rename to packages/core/content-manager/admin/src/pages/EditView/Header/utils/index.js diff --git a/packages/core/content-manager/admin/src/containers/EditView/Header/utils/select.js b/packages/core/content-manager/admin/src/pages/EditView/Header/utils/select.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditView/Header/utils/select.js rename to packages/core/content-manager/admin/src/pages/EditView/Header/utils/select.js diff --git a/packages/core/content-manager/admin/src/containers/EditView/Header/utils/tests/data/compos-schema.json b/packages/core/content-manager/admin/src/pages/EditView/Header/utils/tests/data/compos-schema.json similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditView/Header/utils/tests/data/compos-schema.json rename to packages/core/content-manager/admin/src/pages/EditView/Header/utils/tests/data/compos-schema.json diff --git a/packages/core/content-manager/admin/src/containers/EditView/Header/utils/tests/data/ct-schema.json b/packages/core/content-manager/admin/src/pages/EditView/Header/utils/tests/data/ct-schema.json similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditView/Header/utils/tests/data/ct-schema.json rename to packages/core/content-manager/admin/src/pages/EditView/Header/utils/tests/data/ct-schema.json diff --git a/packages/core/content-manager/admin/src/containers/EditView/Header/utils/tests/data/entry-compos.json b/packages/core/content-manager/admin/src/pages/EditView/Header/utils/tests/data/entry-compos.json similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditView/Header/utils/tests/data/entry-compos.json rename to packages/core/content-manager/admin/src/pages/EditView/Header/utils/tests/data/entry-compos.json diff --git a/packages/core/content-manager/admin/src/containers/EditView/Header/utils/tests/data/entry-dz.json b/packages/core/content-manager/admin/src/pages/EditView/Header/utils/tests/data/entry-dz.json similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditView/Header/utils/tests/data/entry-dz.json rename to packages/core/content-manager/admin/src/pages/EditView/Header/utils/tests/data/entry-dz.json diff --git a/packages/core/content-manager/admin/src/containers/EditView/Header/utils/tests/data/entry-simple.json b/packages/core/content-manager/admin/src/pages/EditView/Header/utils/tests/data/entry-simple.json similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditView/Header/utils/tests/data/entry-simple.json rename to packages/core/content-manager/admin/src/pages/EditView/Header/utils/tests/data/entry-simple.json diff --git a/packages/core/content-manager/admin/src/containers/EditView/Header/utils/tests/data/entry.json b/packages/core/content-manager/admin/src/pages/EditView/Header/utils/tests/data/entry.json similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditView/Header/utils/tests/data/entry.json rename to packages/core/content-manager/admin/src/pages/EditView/Header/utils/tests/data/entry.json diff --git a/packages/core/content-manager/admin/src/containers/EditView/Header/utils/tests/getDraftRelations.test.js b/packages/core/content-manager/admin/src/pages/EditView/Header/utils/tests/getDraftRelations.test.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditView/Header/utils/tests/getDraftRelations.test.js rename to packages/core/content-manager/admin/src/pages/EditView/Header/utils/tests/getDraftRelations.test.js diff --git a/packages/core/content-manager/admin/src/containers/EditView/InformationCard.js b/packages/core/content-manager/admin/src/pages/EditView/InformationCard.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditView/InformationCard.js rename to packages/core/content-manager/admin/src/pages/EditView/InformationCard.js diff --git a/packages/core/content-manager/admin/src/containers/EditView/components.js b/packages/core/content-manager/admin/src/pages/EditView/components.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditView/components.js rename to packages/core/content-manager/admin/src/pages/EditView/components.js diff --git a/packages/core/content-manager/admin/src/containers/EditView/index.js b/packages/core/content-manager/admin/src/pages/EditView/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditView/index.js rename to packages/core/content-manager/admin/src/pages/EditView/index.js diff --git a/packages/core/content-manager/admin/src/containers/EditView/utils/createAttributesLayout.js b/packages/core/content-manager/admin/src/pages/EditView/utils/createAttributesLayout.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditView/utils/createAttributesLayout.js rename to packages/core/content-manager/admin/src/pages/EditView/utils/createAttributesLayout.js diff --git a/packages/core/content-manager/admin/src/containers/EditView/utils/getFieldsActionMatchingPermissions.js b/packages/core/content-manager/admin/src/pages/EditView/utils/getFieldsActionMatchingPermissions.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditView/utils/getFieldsActionMatchingPermissions.js rename to packages/core/content-manager/admin/src/pages/EditView/utils/getFieldsActionMatchingPermissions.js diff --git a/packages/core/content-manager/admin/src/containers/EditView/utils/index.js b/packages/core/content-manager/admin/src/pages/EditView/utils/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditView/utils/index.js rename to packages/core/content-manager/admin/src/pages/EditView/utils/index.js diff --git a/packages/core/content-manager/admin/src/containers/EditView/utils/tests/createAttributesLayout.test.js b/packages/core/content-manager/admin/src/pages/EditView/utils/tests/createAttributesLayout.test.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditView/utils/tests/createAttributesLayout.test.js rename to packages/core/content-manager/admin/src/pages/EditView/utils/tests/createAttributesLayout.test.js diff --git a/packages/core/content-manager/admin/src/containers/EditView/utils/tests/getFieldsActionMatchingPermissions.test.js b/packages/core/content-manager/admin/src/pages/EditView/utils/tests/getFieldsActionMatchingPermissions.test.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditView/utils/tests/getFieldsActionMatchingPermissions.test.js rename to packages/core/content-manager/admin/src/pages/EditView/utils/tests/getFieldsActionMatchingPermissions.test.js diff --git a/packages/core/content-manager/admin/src/containers/EditViewDataManagerProvider/index.js b/packages/core/content-manager/admin/src/pages/EditViewDataManagerProvider/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditViewDataManagerProvider/index.js rename to packages/core/content-manager/admin/src/pages/EditViewDataManagerProvider/index.js diff --git a/packages/core/content-manager/admin/src/containers/EditViewDataManagerProvider/reducer.js b/packages/core/content-manager/admin/src/pages/EditViewDataManagerProvider/reducer.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditViewDataManagerProvider/reducer.js rename to packages/core/content-manager/admin/src/pages/EditViewDataManagerProvider/reducer.js diff --git a/packages/core/content-manager/admin/src/containers/EditViewDataManagerProvider/utils/cleanData.js b/packages/core/content-manager/admin/src/pages/EditViewDataManagerProvider/utils/cleanData.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditViewDataManagerProvider/utils/cleanData.js rename to packages/core/content-manager/admin/src/pages/EditViewDataManagerProvider/utils/cleanData.js diff --git a/packages/core/content-manager/admin/src/containers/EditViewDataManagerProvider/utils/getYupInnerErrors.js b/packages/core/content-manager/admin/src/pages/EditViewDataManagerProvider/utils/getYupInnerErrors.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditViewDataManagerProvider/utils/getYupInnerErrors.js rename to packages/core/content-manager/admin/src/pages/EditViewDataManagerProvider/utils/getYupInnerErrors.js diff --git a/packages/core/content-manager/admin/src/containers/EditViewDataManagerProvider/utils/index.js b/packages/core/content-manager/admin/src/pages/EditViewDataManagerProvider/utils/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditViewDataManagerProvider/utils/index.js rename to packages/core/content-manager/admin/src/pages/EditViewDataManagerProvider/utils/index.js diff --git a/packages/core/content-manager/admin/src/containers/EditViewDataManagerProvider/utils/schema.js b/packages/core/content-manager/admin/src/pages/EditViewDataManagerProvider/utils/schema.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditViewDataManagerProvider/utils/schema.js rename to packages/core/content-manager/admin/src/pages/EditViewDataManagerProvider/utils/schema.js diff --git a/packages/core/content-manager/admin/src/containers/EditViewLayoutManager/Permissions.js b/packages/core/content-manager/admin/src/pages/EditViewLayoutManager/Permissions.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditViewLayoutManager/Permissions.js rename to packages/core/content-manager/admin/src/pages/EditViewLayoutManager/Permissions.js diff --git a/packages/core/content-manager/admin/src/containers/EditViewLayoutManager/actions.js b/packages/core/content-manager/admin/src/pages/EditViewLayoutManager/actions.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditViewLayoutManager/actions.js rename to packages/core/content-manager/admin/src/pages/EditViewLayoutManager/actions.js diff --git a/packages/core/content-manager/admin/src/containers/EditViewLayoutManager/constants.js b/packages/core/content-manager/admin/src/pages/EditViewLayoutManager/constants.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditViewLayoutManager/constants.js rename to packages/core/content-manager/admin/src/pages/EditViewLayoutManager/constants.js diff --git a/packages/core/content-manager/admin/src/containers/EditViewLayoutManager/index.js b/packages/core/content-manager/admin/src/pages/EditViewLayoutManager/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditViewLayoutManager/index.js rename to packages/core/content-manager/admin/src/pages/EditViewLayoutManager/index.js diff --git a/packages/core/content-manager/admin/src/containers/EditViewLayoutManager/reducer.js b/packages/core/content-manager/admin/src/pages/EditViewLayoutManager/reducer.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/EditViewLayoutManager/reducer.js rename to packages/core/content-manager/admin/src/pages/EditViewLayoutManager/reducer.js diff --git a/packages/core/content-manager/admin/src/pages/EditViewLayoutManager/selectors.js b/packages/core/content-manager/admin/src/pages/EditViewLayoutManager/selectors.js new file mode 100644 index 0000000000..601485ca94 --- /dev/null +++ b/packages/core/content-manager/admin/src/pages/EditViewLayoutManager/selectors.js @@ -0,0 +1,5 @@ +import pluginId from '../../pluginId'; + +const selectLayout = state => state[`${pluginId}_editViewLayoutManager`].currentLayout; + +export default selectLayout; diff --git a/packages/core/content-manager/admin/src/containers/LayoutDndProvider/index.js b/packages/core/content-manager/admin/src/pages/LayoutDndProvider/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/LayoutDndProvider/index.js rename to packages/core/content-manager/admin/src/pages/LayoutDndProvider/index.js diff --git a/packages/core/content-manager/admin/src/containers/ListSettingsView/DragWrapper.js b/packages/core/content-manager/admin/src/pages/ListSettingsView/DragWrapper.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListSettingsView/DragWrapper.js rename to packages/core/content-manager/admin/src/pages/ListSettingsView/DragWrapper.js diff --git a/packages/core/content-manager/admin/src/containers/ListSettingsView/DropdownButton.js b/packages/core/content-manager/admin/src/pages/ListSettingsView/DropdownButton.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListSettingsView/DropdownButton.js rename to packages/core/content-manager/admin/src/pages/ListSettingsView/DropdownButton.js diff --git a/packages/core/content-manager/admin/src/containers/ListSettingsView/Label.js b/packages/core/content-manager/admin/src/pages/ListSettingsView/Label.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListSettingsView/Label.js rename to packages/core/content-manager/admin/src/pages/ListSettingsView/Label.js diff --git a/packages/core/content-manager/admin/src/containers/ListSettingsView/MenuDropdown.js b/packages/core/content-manager/admin/src/pages/ListSettingsView/MenuDropdown.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListSettingsView/MenuDropdown.js rename to packages/core/content-manager/admin/src/pages/ListSettingsView/MenuDropdown.js diff --git a/packages/core/content-manager/admin/src/containers/ListSettingsView/Toggle.js b/packages/core/content-manager/admin/src/pages/ListSettingsView/Toggle.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListSettingsView/Toggle.js rename to packages/core/content-manager/admin/src/pages/ListSettingsView/Toggle.js diff --git a/packages/core/content-manager/admin/src/containers/ListSettingsView/forms.json b/packages/core/content-manager/admin/src/pages/ListSettingsView/forms.json similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListSettingsView/forms.json rename to packages/core/content-manager/admin/src/pages/ListSettingsView/forms.json diff --git a/packages/core/content-manager/admin/src/containers/ListSettingsView/index.js b/packages/core/content-manager/admin/src/pages/ListSettingsView/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListSettingsView/index.js rename to packages/core/content-manager/admin/src/pages/ListSettingsView/index.js diff --git a/packages/core/content-manager/admin/src/containers/ListSettingsView/init.js b/packages/core/content-manager/admin/src/pages/ListSettingsView/init.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListSettingsView/init.js rename to packages/core/content-manager/admin/src/pages/ListSettingsView/init.js diff --git a/packages/core/content-manager/admin/src/containers/ListSettingsView/reducer.js b/packages/core/content-manager/admin/src/pages/ListSettingsView/reducer.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListSettingsView/reducer.js rename to packages/core/content-manager/admin/src/pages/ListSettingsView/reducer.js diff --git a/packages/core/content-manager/admin/src/containers/ListSettingsView/tests/init.test.js b/packages/core/content-manager/admin/src/pages/ListSettingsView/tests/init.test.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListSettingsView/tests/init.test.js rename to packages/core/content-manager/admin/src/pages/ListSettingsView/tests/init.test.js diff --git a/packages/core/content-manager/admin/src/containers/ListView/FieldPicker/ConfigureLink/StyledLink.js b/packages/core/content-manager/admin/src/pages/ListView/FieldPicker/ConfigureLink/StyledLink.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListView/FieldPicker/ConfigureLink/StyledLink.js rename to packages/core/content-manager/admin/src/pages/ListView/FieldPicker/ConfigureLink/StyledLink.js diff --git a/packages/core/content-manager/admin/src/containers/ListView/FieldPicker/ConfigureLink/Wrapper.js b/packages/core/content-manager/admin/src/pages/ListView/FieldPicker/ConfigureLink/Wrapper.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListView/FieldPicker/ConfigureLink/Wrapper.js rename to packages/core/content-manager/admin/src/pages/ListView/FieldPicker/ConfigureLink/Wrapper.js diff --git a/packages/core/content-manager/admin/src/containers/ListView/FieldPicker/ConfigureLink/index.js b/packages/core/content-manager/admin/src/pages/ListView/FieldPicker/ConfigureLink/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListView/FieldPicker/ConfigureLink/index.js rename to packages/core/content-manager/admin/src/pages/ListView/FieldPicker/ConfigureLink/index.js diff --git a/packages/core/content-manager/admin/src/containers/ListView/FieldPicker/Field/Wrapper.js b/packages/core/content-manager/admin/src/pages/ListView/FieldPicker/Field/Wrapper.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListView/FieldPicker/Field/Wrapper.js rename to packages/core/content-manager/admin/src/pages/ListView/FieldPicker/Field/Wrapper.js diff --git a/packages/core/content-manager/admin/src/containers/ListView/FieldPicker/Field/index.js b/packages/core/content-manager/admin/src/pages/ListView/FieldPicker/Field/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListView/FieldPicker/Field/index.js rename to packages/core/content-manager/admin/src/pages/ListView/FieldPicker/Field/index.js diff --git a/packages/core/content-manager/admin/src/containers/ListView/FieldPicker/Fields/Wrapper.js b/packages/core/content-manager/admin/src/pages/ListView/FieldPicker/Fields/Wrapper.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListView/FieldPicker/Fields/Wrapper.js rename to packages/core/content-manager/admin/src/pages/ListView/FieldPicker/Fields/Wrapper.js diff --git a/packages/core/content-manager/admin/src/containers/ListView/FieldPicker/Fields/index.js b/packages/core/content-manager/admin/src/pages/ListView/FieldPicker/Fields/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListView/FieldPicker/Fields/index.js rename to packages/core/content-manager/admin/src/pages/ListView/FieldPicker/Fields/index.js diff --git a/packages/core/content-manager/admin/src/containers/ListView/FieldPicker/Header/Reset.js b/packages/core/content-manager/admin/src/pages/ListView/FieldPicker/Header/Reset.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListView/FieldPicker/Header/Reset.js rename to packages/core/content-manager/admin/src/pages/ListView/FieldPicker/Header/Reset.js diff --git a/packages/core/content-manager/admin/src/containers/ListView/FieldPicker/Header/index.js b/packages/core/content-manager/admin/src/pages/ListView/FieldPicker/Header/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListView/FieldPicker/Header/index.js rename to packages/core/content-manager/admin/src/pages/ListView/FieldPicker/Header/index.js diff --git a/packages/core/content-manager/admin/src/containers/ListView/FieldPicker/Wrapper.js b/packages/core/content-manager/admin/src/pages/ListView/FieldPicker/Wrapper.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListView/FieldPicker/Wrapper.js rename to packages/core/content-manager/admin/src/pages/ListView/FieldPicker/Wrapper.js diff --git a/packages/core/content-manager/admin/src/containers/ListView/FieldPicker/index.js b/packages/core/content-manager/admin/src/pages/ListView/FieldPicker/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListView/FieldPicker/index.js rename to packages/core/content-manager/admin/src/pages/ListView/FieldPicker/index.js diff --git a/packages/core/content-manager/admin/src/containers/ListView/Filter.js b/packages/core/content-manager/admin/src/pages/ListView/Filter.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListView/Filter.js rename to packages/core/content-manager/admin/src/pages/ListView/Filter.js diff --git a/packages/core/content-manager/admin/src/containers/ListView/Footer.js b/packages/core/content-manager/admin/src/pages/ListView/Footer.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListView/Footer.js rename to packages/core/content-manager/admin/src/pages/ListView/Footer.js diff --git a/packages/core/content-manager/admin/src/containers/ListView/actions.js b/packages/core/content-manager/admin/src/pages/ListView/actions.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListView/actions.js rename to packages/core/content-manager/admin/src/pages/ListView/actions.js diff --git a/packages/core/content-manager/admin/src/containers/ListView/components.js b/packages/core/content-manager/admin/src/pages/ListView/components.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListView/components.js rename to packages/core/content-manager/admin/src/pages/ListView/components.js diff --git a/packages/core/content-manager/admin/src/containers/ListView/constants.js b/packages/core/content-manager/admin/src/pages/ListView/constants.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListView/constants.js rename to packages/core/content-manager/admin/src/pages/ListView/constants.js diff --git a/packages/core/content-manager/admin/src/containers/ListView/index.js b/packages/core/content-manager/admin/src/pages/ListView/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListView/index.js rename to packages/core/content-manager/admin/src/pages/ListView/index.js diff --git a/packages/core/content-manager/admin/src/containers/ListView/reducer.js b/packages/core/content-manager/admin/src/pages/ListView/reducer.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListView/reducer.js rename to packages/core/content-manager/admin/src/pages/ListView/reducer.js diff --git a/packages/core/content-manager/admin/src/containers/ListView/selectors.js b/packages/core/content-manager/admin/src/pages/ListView/selectors.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListView/selectors.js rename to packages/core/content-manager/admin/src/pages/ListView/selectors.js diff --git a/packages/core/content-manager/admin/src/containers/ListView/tests/reducer.test.js b/packages/core/content-manager/admin/src/pages/ListView/tests/reducer.test.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListView/tests/reducer.test.js rename to packages/core/content-manager/admin/src/pages/ListView/tests/reducer.test.js diff --git a/packages/core/content-manager/admin/src/containers/ListView/utils/buildQueryString.js b/packages/core/content-manager/admin/src/pages/ListView/utils/buildQueryString.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListView/utils/buildQueryString.js rename to packages/core/content-manager/admin/src/pages/ListView/utils/buildQueryString.js diff --git a/packages/core/content-manager/admin/src/containers/ListView/utils/createPluginsFilter.js b/packages/core/content-manager/admin/src/pages/ListView/utils/createPluginsFilter.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListView/utils/createPluginsFilter.js rename to packages/core/content-manager/admin/src/pages/ListView/utils/createPluginsFilter.js diff --git a/packages/core/content-manager/admin/src/containers/ListView/utils/getAllAllowedHeaders.js b/packages/core/content-manager/admin/src/pages/ListView/utils/getAllAllowedHeaders.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListView/utils/getAllAllowedHeaders.js rename to packages/core/content-manager/admin/src/pages/ListView/utils/getAllAllowedHeaders.js diff --git a/packages/core/content-manager/admin/src/containers/ListView/utils/getFirstSortableHeader.js b/packages/core/content-manager/admin/src/pages/ListView/utils/getFirstSortableHeader.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListView/utils/getFirstSortableHeader.js rename to packages/core/content-manager/admin/src/pages/ListView/utils/getFirstSortableHeader.js diff --git a/packages/core/content-manager/admin/src/containers/ListView/utils/index.js b/packages/core/content-manager/admin/src/pages/ListView/utils/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListView/utils/index.js rename to packages/core/content-manager/admin/src/pages/ListView/utils/index.js diff --git a/packages/core/content-manager/admin/src/containers/ListView/utils/tests/buildQueryString.test.js b/packages/core/content-manager/admin/src/pages/ListView/utils/tests/buildQueryString.test.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListView/utils/tests/buildQueryString.test.js rename to packages/core/content-manager/admin/src/pages/ListView/utils/tests/buildQueryString.test.js diff --git a/packages/core/content-manager/admin/src/containers/ListView/utils/tests/getAllAllowedHeaders.test.js b/packages/core/content-manager/admin/src/pages/ListView/utils/tests/getAllAllowedHeaders.test.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListView/utils/tests/getAllAllowedHeaders.test.js rename to packages/core/content-manager/admin/src/pages/ListView/utils/tests/getAllAllowedHeaders.test.js diff --git a/packages/core/content-manager/admin/src/containers/ListView/utils/tests/getFirstSortableHeader.test.js b/packages/core/content-manager/admin/src/pages/ListView/utils/tests/getFirstSortableHeader.test.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListView/utils/tests/getFirstSortableHeader.test.js rename to packages/core/content-manager/admin/src/pages/ListView/utils/tests/getFirstSortableHeader.test.js diff --git a/packages/core/content-manager/admin/src/containers/ListViewLayoutManager/Permissions.js b/packages/core/content-manager/admin/src/pages/ListViewLayoutManager/Permissions.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListViewLayoutManager/Permissions.js rename to packages/core/content-manager/admin/src/pages/ListViewLayoutManager/Permissions.js diff --git a/packages/core/content-manager/admin/src/containers/ListViewLayoutManager/index.js b/packages/core/content-manager/admin/src/pages/ListViewLayoutManager/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListViewLayoutManager/index.js rename to packages/core/content-manager/admin/src/pages/ListViewLayoutManager/index.js diff --git a/packages/core/content-manager/admin/src/containers/ListViewProvider/index.js b/packages/core/content-manager/admin/src/pages/ListViewProvider/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/ListViewProvider/index.js rename to packages/core/content-manager/admin/src/pages/ListViewProvider/index.js diff --git a/packages/core/content-manager/admin/src/containers/Main/actions.js b/packages/core/content-manager/admin/src/pages/Main/actions.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/Main/actions.js rename to packages/core/content-manager/admin/src/pages/Main/actions.js diff --git a/packages/core/content-manager/admin/src/containers/Main/constants.js b/packages/core/content-manager/admin/src/pages/Main/constants.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/Main/constants.js rename to packages/core/content-manager/admin/src/pages/Main/constants.js diff --git a/packages/core/content-manager/admin/src/containers/Main/index.js b/packages/core/content-manager/admin/src/pages/Main/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/Main/index.js rename to packages/core/content-manager/admin/src/pages/Main/index.js diff --git a/packages/core/content-manager/admin/src/containers/Main/reducer.js b/packages/core/content-manager/admin/src/pages/Main/reducer.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/Main/reducer.js rename to packages/core/content-manager/admin/src/pages/Main/reducer.js diff --git a/packages/core/content-manager/admin/src/containers/Main/selectors.js b/packages/core/content-manager/admin/src/pages/Main/selectors.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/Main/selectors.js rename to packages/core/content-manager/admin/src/pages/Main/selectors.js diff --git a/packages/core/content-manager/admin/src/containers/Main/tests/reducer.test.js b/packages/core/content-manager/admin/src/pages/Main/tests/reducer.test.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/Main/tests/reducer.test.js rename to packages/core/content-manager/admin/src/pages/Main/tests/reducer.test.js diff --git a/packages/core/content-manager/admin/src/containers/RBACManager/actions.js b/packages/core/content-manager/admin/src/pages/RBACManager/actions.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/RBACManager/actions.js rename to packages/core/content-manager/admin/src/pages/RBACManager/actions.js diff --git a/packages/core/content-manager/admin/src/containers/RBACManager/constants.js b/packages/core/content-manager/admin/src/pages/RBACManager/constants.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/RBACManager/constants.js rename to packages/core/content-manager/admin/src/pages/RBACManager/constants.js diff --git a/packages/core/content-manager/admin/src/containers/RBACManager/reducer.js b/packages/core/content-manager/admin/src/pages/RBACManager/reducer.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/RBACManager/reducer.js rename to packages/core/content-manager/admin/src/pages/RBACManager/reducer.js diff --git a/packages/core/content-manager/admin/src/containers/RBACManager/tests/reducer.test.js b/packages/core/content-manager/admin/src/pages/RBACManager/tests/reducer.test.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/RBACManager/tests/reducer.test.js rename to packages/core/content-manager/admin/src/pages/RBACManager/tests/reducer.test.js diff --git a/packages/core/content-manager/admin/src/containers/RBACManager/useSyncRbac.js b/packages/core/content-manager/admin/src/pages/RBACManager/useSyncRbac.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/RBACManager/useSyncRbac.js rename to packages/core/content-manager/admin/src/pages/RBACManager/useSyncRbac.js diff --git a/packages/core/content-manager/admin/src/containers/SingleTypeFormWrapper/index.js b/packages/core/content-manager/admin/src/pages/SingleTypeFormWrapper/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/SingleTypeFormWrapper/index.js rename to packages/core/content-manager/admin/src/pages/SingleTypeFormWrapper/index.js diff --git a/packages/core/content-manager/admin/src/containers/SingleTypeFormWrapper/utils/getRequestUrl.js b/packages/core/content-manager/admin/src/pages/SingleTypeFormWrapper/utils/getRequestUrl.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/SingleTypeFormWrapper/utils/getRequestUrl.js rename to packages/core/content-manager/admin/src/pages/SingleTypeFormWrapper/utils/getRequestUrl.js diff --git a/packages/core/content-manager/admin/src/containers/SingleTypeFormWrapper/utils/index.js b/packages/core/content-manager/admin/src/pages/SingleTypeFormWrapper/utils/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/SingleTypeFormWrapper/utils/index.js rename to packages/core/content-manager/admin/src/pages/SingleTypeFormWrapper/utils/index.js diff --git a/packages/core/content-manager/admin/src/containers/SingleTypeRecursivePath/index.js b/packages/core/content-manager/admin/src/pages/SingleTypeRecursivePath/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/SingleTypeRecursivePath/index.js rename to packages/core/content-manager/admin/src/pages/SingleTypeRecursivePath/index.js diff --git a/packages/core/content-manager/admin/src/containers/WysiwygProvider/index.js b/packages/core/content-manager/admin/src/pages/WysiwygProvider/index.js similarity index 100% rename from packages/core/content-manager/admin/src/containers/WysiwygProvider/index.js rename to packages/core/content-manager/admin/src/pages/WysiwygProvider/index.js diff --git a/packages/core/content-manager/admin/src/reducers.js b/packages/core/content-manager/admin/src/reducers.js index 09b865ebf3..eb5fb7cd63 100644 --- a/packages/core/content-manager/admin/src/reducers.js +++ b/packages/core/content-manager/admin/src/reducers.js @@ -1,7 +1,7 @@ -import mainReducer from './containers/Main/reducer'; -import editViewLayoutManagerReducer from './containers/EditViewLayoutManager/reducer'; -import listViewReducer from './containers/ListView/reducer'; -import rbacManagerReducer from './containers/RBACManager/reducer'; +import mainReducer from './pages/Main/reducer'; +import editViewLayoutManagerReducer from './pages/EditViewLayoutManager/reducer'; +import listViewReducer from './pages/ListView/reducer'; +import rbacManagerReducer from './pages/RBACManager/reducer'; import editViewCrudReducer from './sharedReducers/crudReducer/reducer'; import pluginId from './pluginId'; From 631ac69686931eb42c4ed635e3e566bf1253c1b5 Mon Sep 17 00:00:00 2001 From: Fabien Del Carmen Date: Wed, 19 May 2021 19:02:41 +0200 Subject: [PATCH 042/151] Add CLI support for branch in direct GitHub URL (#10273) * Add CLI support for branch in direct GitHub URL * Change getRepoInfo to return branch * Change variable name, add eslint 'one-var' rule * Fix eslint 'one-var' error * Move fetch GitHub logic in its own file * Update code to avoid destructuring reassignment * Update and add some JSDoc --- .eslintrc.back.js | 1 + .eslintrc.front.js | 1 + .../utils/build-starter.js | 17 ++-- .../utils/fetch-github.js | 75 ++++++++------- .../lib/utils/fetch-github.js | 94 +++++++++++++++++++ .../lib/utils/merge-template.js | 57 ++--------- packages/strapi-generate-new/package.json | 2 +- .../controllers/Auth.js | 3 +- 8 files changed, 156 insertions(+), 94 deletions(-) create mode 100644 packages/strapi-generate-new/lib/utils/fetch-github.js diff --git a/.eslintrc.back.js b/.eslintrc.back.js index 68ebe17520..c265267a1f 100644 --- a/.eslintrc.back.js +++ b/.eslintrc.back.js @@ -32,5 +32,6 @@ module.exports = { 'node/no-path-concat': 'error', 'node/no-callback-literal': 'error', 'node/handle-callback-err': 'error', + 'one-var': ['error', 'never'], }, }; diff --git a/.eslintrc.front.js b/.eslintrc.front.js index 90c97ca24d..ea93f2b678 100644 --- a/.eslintrc.front.js +++ b/.eslintrc.front.js @@ -90,6 +90,7 @@ module.exports = { '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', diff --git a/packages/create-strapi-starter/utils/build-starter.js b/packages/create-strapi-starter/utils/build-starter.js index 7da92da1fc..9ec0552111 100644 --- a/packages/create-strapi-starter/utils/build-starter.js +++ b/packages/create-strapi-starter/utils/build-starter.js @@ -12,7 +12,7 @@ const generateNewApp = require('strapi-generate-new'); const hasYarn = require('./has-yarn'); const { runInstall, runApp, initGit } = require('./child-process'); -const { getRepoInfo, downloadGithubRepo } = require('./fetch-github'); +const { getRepoInfo, downloadGitHubRepo } = require('./fetch-github'); const logger = require('./logger'); const stopProcess = require('./stop-process'); @@ -92,14 +92,15 @@ async function installWithLogs(path) { module.exports = async function buildStarter(projectArgs, program) { const { projectName, starterUrl } = projectArgs; + // Fetch repo info + const repoInfo = await getRepoInfo(starterUrl); + const { fullName } = repoInfo; + // Create temporary directory for starter const tmpDir = await fse.mkdtemp(join(os.tmpdir(), 'strapi-')); - // Fetch repo info - const { full_name } = await getRepoInfo(starterUrl); - - // Download repo inside tmp dir - await downloadGithubRepo(starterUrl, tmpDir); + // Download repo inside temporary directory + await downloadGitHubRepo(repoInfo, tmpDir); const starterJson = readStarterJson(join(tmpDir, 'starter.json'), starterUrl); @@ -133,11 +134,11 @@ module.exports = async function buildStarter(projectArgs, program) { console.log(`Creating Strapi starter frontend at ${chalk.yellow(frontendPath)}.`); // Install frontend dependencies - console.log(`Installing ${chalk.yellow(full_name)} starter`); + console.log(`Installing ${chalk.yellow(fullName)} starter`); await installWithLogs(frontendPath); - const fullUrl = `https://github.com/${full_name}`; + const fullUrl = `https://github.com/${fullName}`; // Set command options for Strapi app const generateStrapiAppOptions = { ...program, diff --git a/packages/create-strapi-starter/utils/fetch-github.js b/packages/create-strapi-starter/utils/fetch-github.js index a0991b48a0..4167735f2f 100644 --- a/packages/create-strapi-starter/utils/fetch-github.js +++ b/packages/create-strapi-starter/utils/fetch-github.js @@ -4,29 +4,32 @@ const tar = require('tar'); const fetch = require('node-fetch'); const parseGitUrl = require('git-url-parse'); const chalk = require('chalk'); + const stopProcess = require('./stop-process'); -function getShortcut(starter) { - let full_name; - // Determine if it is another organization +function parseShorthand(starter) { + // Determine if it is comes from another owner if (starter.includes('/')) { - const [org, project] = starter.split('/'); - full_name = `${org}/strapi-starter-${project}`; - } else { - full_name = `strapi/strapi-starter-${starter}`; + const [owner, partialName] = starter.split('/'); + const name = `strapi-starter-${partialName}`; + return { + name, + fullName: `${owner}/${name}`, + }; } + const name = `strapi-starter-${starter}`; return { - full_name, - usedShortcut: true, + name, + fullName: `strapi/${name}`, }; } + /** - * @param {string} repo The path to repo + * @param {string} repo The full name of the repository. */ async function getDefaultBranch(repo) { const response = await fetch(`https://api.github.com/repos/${repo}`); - if (!response.ok) { stopProcess( `Could not find the starter information for ${chalk.yellow( @@ -36,49 +39,53 @@ async function getDefaultBranch(repo) { } const { default_branch } = await response.json(); - return default_branch; } /** - * @param {string} starterUrl Github url to starter project + * @param {string} starter GitHub URL or shorthand to a starter project. */ async function getRepoInfo(starter) { - const repoInfo = await parseGitUrl(starter); - const { name, full_name, ref, protocols, source } = repoInfo; + const { name, full_name: fullName, ref, filepath, protocols, source } = parseGitUrl(starter); if (protocols.length === 0) { - return getShortcut(starter); + const repoInfo = parseShorthand(starter); + return { + ...repoInfo, + branch: await getDefaultBranch(repoInfo.fullName), + usedShorthand: true, + }; } if (source !== 'github.com') { - stopProcess(`Github URL not found for: ${chalk.yellow(starter)}`); + stopProcess(`GitHub URL not found for: ${chalk.yellow(starter)}.`); } - return { - name, - full_name, - ref, - }; + let branch; + if (ref) { + // Append the filepath to the parsed ref since a branch name could contain '/' + // If so, the rest of the branch name will be considered 'filepath' by 'parseGitUrl' + branch = filepath ? `${ref}/${filepath}` : ref; + } else { + branch = await getDefaultBranch(fullName); + } + + return { name, fullName, branch }; } /** - * @param {string} starterUrl Github url for strapi starter - * @param {string} tmpDir Path to temporary directory + * @param {string} repoInfo GitHub repository information (full name, branch...). + * @param {string} tmpDir Path to the destination temporary directory. */ -async function downloadGithubRepo(starterUrl, tmpDir) { - const { full_name, ref, usedShortcut } = await getRepoInfo(starterUrl); - const default_branch = await getDefaultBranch(full_name); - - const branch = ref ? ref : default_branch; +async function downloadGitHubRepo(repoInfo, tmpDir) { + const { fullName, branch, usedShorthand } = repoInfo; // Download from GitHub - const codeload = `https://codeload.github.com/${full_name}/tar.gz/${branch}`; - + const codeload = `https://codeload.github.com/${fullName}/tar.gz/${branch}`; const response = await fetch(codeload); if (!response.ok) { - const message = usedShortcut ? `using the shortcut` : `using the url`; - stopProcess(`Could not download the repository ${message}: ${chalk.yellow(`${starterUrl}`)}`); + const message = usedShorthand ? `using the shorthand` : `using the url`; + stopProcess(`Could not download the repository ${message}: ${chalk.yellow(fullName)}.`); } await new Promise(resolve => { @@ -86,4 +93,4 @@ async function downloadGithubRepo(starterUrl, tmpDir) { }); } -module.exports = { getRepoInfo, downloadGithubRepo }; +module.exports = { getRepoInfo, downloadGitHubRepo }; diff --git a/packages/strapi-generate-new/lib/utils/fetch-github.js b/packages/strapi-generate-new/lib/utils/fetch-github.js new file mode 100644 index 0000000000..abaf21faf2 --- /dev/null +++ b/packages/strapi-generate-new/lib/utils/fetch-github.js @@ -0,0 +1,94 @@ +'use strict'; + +const fetch = require('node-fetch'); +const tar = require('tar'); +const parseGitUrl = require('git-url-parse'); +const chalk = require('chalk'); + +const stopProcess = require('./stop-process'); + +function parseShorthand(template) { + // Determine if it is comes from another owner + if (template.includes('/')) { + const [owner, partialName] = template.split('/'); + const name = `strapi-template-${partialName}`; + return { + name, + fullName: `${owner}/${name}`, + }; + } + + const name = `strapi-template-${template}`; + return { + name, + fullName: `strapi/${name}`, + }; +} + +/** + * @param {string} repo The full name of the repository. + */ +async function getDefaultBranch(repo) { + const response = await fetch(`https://api.github.com/repos/${repo}`); + if (!response.ok) { + stopProcess( + `Could not find the information for ${chalk.yellow( + repo + )}. Make sure it is publicly accessible on github.` + ); + } + + const { default_branch } = await response.json(); + return default_branch; +} + +/** + * @param {string} template GitHub URL or shorthand to a template project. + */ +async function getRepoInfo(template) { + const { name, full_name: fullName, ref, filepath, protocols, source } = parseGitUrl(template); + + if (protocols.length === 0) { + const repoInfo = parseShorthand(template); + return { + ...repoInfo, + branch: await getDefaultBranch(repoInfo.fullName), + usedShorthand: true, + }; + } + + if (source !== 'github.com') { + stopProcess(`GitHub URL not found for: ${chalk.yellow(template)}.`); + } + + let branch; + if (ref) { + // Append the filepath to the parsed ref since a branch name could contain '/' + // If so, the rest of the branch name will be considered 'filepath' by 'parseGitUrl' + branch = filepath ? `${ref}/${filepath}` : ref; + } else { + branch = await getDefaultBranch(fullName); + } + + return { name, fullName, branch }; +} + +/** + * @param {string} repoInfo GitHub repository information (full name, branch...). + * @param {string} tmpDir Path to the destination temporary directory. + */ +async function downloadGitHubRepo(repoInfo, tmpDir) { + // Download from GitHub + const { fullName, branch } = repoInfo; + const codeload = `https://codeload.github.com/${fullName}/tar.gz/${branch}`; + const response = await fetch(codeload); + if (!response.ok) { + throw Error(`Could not download the ${chalk.yellow(fullName)} repository.`); + } + + await new Promise(resolve => { + response.body.pipe(tar.extract({ strip: 1, cwd: tmpDir })).on('close', resolve); + }); +} + +module.exports = { getRepoInfo, downloadGitHubRepo }; diff --git a/packages/strapi-generate-new/lib/utils/merge-template.js b/packages/strapi-generate-new/lib/utils/merge-template.js index d797249f1d..455dea456b 100644 --- a/packages/strapi-generate-new/lib/utils/merge-template.js +++ b/packages/strapi-generate-new/lib/utils/merge-template.js @@ -3,11 +3,10 @@ const os = require('os'); const path = require('path'); const fse = require('fs-extra'); -const fetch = require('node-fetch'); -const tar = require('tar'); const _ = require('lodash'); const chalk = require('chalk'); -const gitInfo = require('hosted-git-info'); + +const { getRepoInfo, downloadGitHubRepo } = require('./fetch-github'); // Specify all the files and directories a template can have const allowChildren = '*'; @@ -32,25 +31,20 @@ const allowedTemplateContents = { */ module.exports = async function mergeTemplate(scope, rootPath) { // Parse template info - const repoInfo = getRepoInfo(scope.template); - const { user, project } = repoInfo; - console.log(`Installing ${chalk.yellow(`${user}/${project}`)} template.`); + const repoInfo = await getRepoInfo(scope.template); + const { fullName } = repoInfo; + console.log(`Installing ${chalk.yellow(fullName)} template.`); // Download template repository to a temporary directory const templatePath = await fse.mkdtemp(path.join(os.tmpdir(), 'strapi-')); - - try { - await downloadGithubRepo(repoInfo, templatePath); - } catch (error) { - throw Error(`Could not download ${chalk.yellow(`${user}/${project}`)} repository.`); - } + await downloadGitHubRepo(repoInfo, templatePath); // Make sure the downloaded template matches the required format const { templateConfig } = await checkTemplateRootStructure(templatePath, scope); await checkTemplateContentsStructure(path.resolve(templatePath, 'template')); // Merge contents of the template in the project - const fullTemplateUrl = `https://github.com/${user}/${project}`; + const fullTemplateUrl = `https://github.com/${fullName}`; await mergePackageJSON(rootPath, templateConfig, fullTemplateUrl); await mergeFilesAndDirectories(rootPath, templatePath); @@ -169,43 +163,6 @@ async function checkTemplateContentsStructure(templateContentsPath) { checkPathContents(templateContentsPath, []); } -function getRepoInfo(template) { - try { - const { user, project, default: urlStrategy } = gitInfo.fromUrl(template); - if (urlStrategy === 'https' || urlStrategy === 'http') { - // A full GitHub URL was provided, return username and project directly - return { user, project }; - } - if (urlStrategy === 'shortcut') { - // A shorthand was provided, so prefix the project name with "strapi-template-" - return { - user, - project: `strapi-template-${project}`, - }; - } - } catch (error) { - // If it's not a GitHub URL, then assume it's a shorthand for an official template - return { - user: 'strapi', - project: `strapi-template-${template}`, - }; - } -} - -async function downloadGithubRepo(repoInfo, templatePath) { - // Download from GitHub - const { user, project } = repoInfo; - const codeload = `https://codeload.github.com/${user}/${project}/tar.gz/master`; - const response = await fetch(codeload); - if (!response.ok) { - throw Error(`Could not download the ${chalk.green(`${user}/${project}`)} repository`); - } - - await new Promise(resolve => { - response.body.pipe(tar.extract({ strip: 1, cwd: templatePath })).on('close', resolve); - }); -} - // Merge the template's template.json into the Strapi project's package.json async function mergePackageJSON(rootPath, templateConfig, templateUrl) { // Import the package.json as an object diff --git a/packages/strapi-generate-new/package.json b/packages/strapi-generate-new/package.json index 1d7903e840..532c464a80 100644 --- a/packages/strapi-generate-new/package.json +++ b/packages/strapi-generate-new/package.json @@ -17,7 +17,7 @@ "chalk": "^4.1.1", "execa": "^1.0.0", "fs-extra": "^9.1.0", - "hosted-git-info": "3.0.8", + "git-url-parse": "^11.4.4", "inquirer": "^6.3.1", "lodash": "4.17.21", "node-fetch": "^2.6.1", diff --git a/packages/strapi-plugin-users-permissions/controllers/Auth.js b/packages/strapi-plugin-users-permissions/controllers/Auth.js index d699e00ff6..f42a3d9fea 100644 --- a/packages/strapi-plugin-users-permissions/controllers/Auth.js +++ b/packages/strapi-plugin-users-permissions/controllers/Auth.js @@ -149,7 +149,8 @@ module.exports = { } // Connect the user with the third-party provider. - let user, error; + let user; + let error; try { [user, error] = await strapi.plugins['users-permissions'].services.providers.connect( provider, From 8a217187e130bc17c074faf77fdc127c4ecb3e5a Mon Sep 17 00:00:00 2001 From: HichamELBSI Date: Fri, 21 May 2021 14:31:19 +0200 Subject: [PATCH 043/151] Move components to components folder Signed-off-by: HichamELBSI --- .../CollectionTypeFormWrapper/index.js | 0 .../CollectionTypeFormWrapper/utils/getRequestUrl.js | 0 .../CollectionTypeFormWrapper/utils/index.js | 0 .../content-manager/admin/src/components/DragLayer/index.js | 2 +- .../EditViewDataManagerProvider/index.js | 1 - .../EditViewDataManagerProvider/reducer.js | 0 .../EditViewDataManagerProvider/utils/cleanData.js | 0 .../EditViewDataManagerProvider/utils/getYupInnerErrors.js | 0 .../EditViewDataManagerProvider/utils/index.js | 0 .../EditViewDataManagerProvider/utils/schema.js | 0 .../src/{pages => components}/LayoutDndProvider/index.js | 0 .../src/{pages => components}/ListViewProvider/index.js | 0 .../{pages => components}/SingleTypeFormWrapper/index.js | 2 +- .../SingleTypeFormWrapper/utils/getRequestUrl.js | 0 .../SingleTypeFormWrapper/utils/index.js | 0 .../content-manager/admin/src/components/Wysiwyg/index.js | 2 +- .../src/{pages => components}/WysiwygProvider/index.js | 0 packages/core/content-manager/admin/src/hooks/index.js | 1 + .../src/{pages/RBACManager => hooks/useSyncRbac}/actions.js | 0 .../{pages/RBACManager => hooks/useSyncRbac}/constants.js | 0 .../useSyncRbac.js => hooks/useSyncRbac/index.js} | 0 .../src/{pages/RBACManager => hooks/useSyncRbac}/reducer.js | 0 .../RBACManager => hooks/useSyncRbac}/tests/reducer.test.js | 0 .../admin/src/pages/EditSettingsView/index.js | 2 +- .../core/content-manager/admin/src/pages/EditView/index.js | 6 +++--- .../admin/src/pages/EditViewLayoutManager/index.js | 2 +- .../admin/src/pages/ListSettingsView/index.js | 2 +- .../core/content-manager/admin/src/pages/ListView/index.js | 2 +- .../admin/src/pages/ListViewLayoutManager/index.js | 3 +-- packages/core/content-manager/admin/src/reducers.js | 2 +- 30 files changed, 13 insertions(+), 14 deletions(-) rename packages/core/content-manager/admin/src/{pages => components}/CollectionTypeFormWrapper/index.js (100%) rename packages/core/content-manager/admin/src/{pages => components}/CollectionTypeFormWrapper/utils/getRequestUrl.js (100%) rename packages/core/content-manager/admin/src/{pages => components}/CollectionTypeFormWrapper/utils/index.js (100%) rename packages/core/content-manager/admin/src/{pages => components}/EditViewDataManagerProvider/index.js (99%) rename packages/core/content-manager/admin/src/{pages => components}/EditViewDataManagerProvider/reducer.js (100%) rename packages/core/content-manager/admin/src/{pages => components}/EditViewDataManagerProvider/utils/cleanData.js (100%) rename packages/core/content-manager/admin/src/{pages => components}/EditViewDataManagerProvider/utils/getYupInnerErrors.js (100%) rename packages/core/content-manager/admin/src/{pages => components}/EditViewDataManagerProvider/utils/index.js (100%) rename packages/core/content-manager/admin/src/{pages => components}/EditViewDataManagerProvider/utils/schema.js (100%) rename packages/core/content-manager/admin/src/{pages => components}/LayoutDndProvider/index.js (100%) rename packages/core/content-manager/admin/src/{pages => components}/ListViewProvider/index.js (100%) rename packages/core/content-manager/admin/src/{pages => components}/SingleTypeFormWrapper/index.js (99%) rename packages/core/content-manager/admin/src/{pages => components}/SingleTypeFormWrapper/utils/getRequestUrl.js (100%) rename packages/core/content-manager/admin/src/{pages => components}/SingleTypeFormWrapper/utils/index.js (100%) rename packages/core/content-manager/admin/src/{pages => components}/WysiwygProvider/index.js (100%) rename packages/core/content-manager/admin/src/{pages/RBACManager => hooks/useSyncRbac}/actions.js (100%) rename packages/core/content-manager/admin/src/{pages/RBACManager => hooks/useSyncRbac}/constants.js (100%) rename packages/core/content-manager/admin/src/{pages/RBACManager/useSyncRbac.js => hooks/useSyncRbac/index.js} (100%) rename packages/core/content-manager/admin/src/{pages/RBACManager => hooks/useSyncRbac}/reducer.js (100%) rename packages/core/content-manager/admin/src/{pages/RBACManager => hooks/useSyncRbac}/tests/reducer.test.js (100%) diff --git a/packages/core/content-manager/admin/src/pages/CollectionTypeFormWrapper/index.js b/packages/core/content-manager/admin/src/components/CollectionTypeFormWrapper/index.js similarity index 100% rename from packages/core/content-manager/admin/src/pages/CollectionTypeFormWrapper/index.js rename to packages/core/content-manager/admin/src/components/CollectionTypeFormWrapper/index.js diff --git a/packages/core/content-manager/admin/src/pages/CollectionTypeFormWrapper/utils/getRequestUrl.js b/packages/core/content-manager/admin/src/components/CollectionTypeFormWrapper/utils/getRequestUrl.js similarity index 100% rename from packages/core/content-manager/admin/src/pages/CollectionTypeFormWrapper/utils/getRequestUrl.js rename to packages/core/content-manager/admin/src/components/CollectionTypeFormWrapper/utils/getRequestUrl.js diff --git a/packages/core/content-manager/admin/src/pages/CollectionTypeFormWrapper/utils/index.js b/packages/core/content-manager/admin/src/components/CollectionTypeFormWrapper/utils/index.js similarity index 100% rename from packages/core/content-manager/admin/src/pages/CollectionTypeFormWrapper/utils/index.js rename to packages/core/content-manager/admin/src/components/CollectionTypeFormWrapper/utils/index.js diff --git a/packages/core/content-manager/admin/src/components/DragLayer/index.js b/packages/core/content-manager/admin/src/components/DragLayer/index.js index 9d922d717e..254bb06717 100644 --- a/packages/core/content-manager/admin/src/components/DragLayer/index.js +++ b/packages/core/content-manager/admin/src/components/DragLayer/index.js @@ -1,6 +1,6 @@ import React from 'react'; import { useDragLayer } from 'react-dnd'; -import LayoutDndProvider from '../../pages/LayoutDndProvider'; +import LayoutDndProvider from '../LayoutDndProvider'; import ItemTypes from '../../utils/ItemTypes'; diff --git a/packages/core/content-manager/admin/src/pages/EditViewDataManagerProvider/index.js b/packages/core/content-manager/admin/src/components/EditViewDataManagerProvider/index.js similarity index 99% rename from packages/core/content-manager/admin/src/pages/EditViewDataManagerProvider/index.js rename to packages/core/content-manager/admin/src/components/EditViewDataManagerProvider/index.js index 88ac3eda1d..ebde763c86 100644 --- a/packages/core/content-manager/admin/src/pages/EditViewDataManagerProvider/index.js +++ b/packages/core/content-manager/admin/src/components/EditViewDataManagerProvider/index.js @@ -5,7 +5,6 @@ import { Prompt, Redirect } from 'react-router-dom'; import { LoadingIndicatorPage, useGlobalContext, - // OverlayBlocker, ContentManagerEditViewDataManagerContext, useNotification, useOverlayBlocker, diff --git a/packages/core/content-manager/admin/src/pages/EditViewDataManagerProvider/reducer.js b/packages/core/content-manager/admin/src/components/EditViewDataManagerProvider/reducer.js similarity index 100% rename from packages/core/content-manager/admin/src/pages/EditViewDataManagerProvider/reducer.js rename to packages/core/content-manager/admin/src/components/EditViewDataManagerProvider/reducer.js diff --git a/packages/core/content-manager/admin/src/pages/EditViewDataManagerProvider/utils/cleanData.js b/packages/core/content-manager/admin/src/components/EditViewDataManagerProvider/utils/cleanData.js similarity index 100% rename from packages/core/content-manager/admin/src/pages/EditViewDataManagerProvider/utils/cleanData.js rename to packages/core/content-manager/admin/src/components/EditViewDataManagerProvider/utils/cleanData.js diff --git a/packages/core/content-manager/admin/src/pages/EditViewDataManagerProvider/utils/getYupInnerErrors.js b/packages/core/content-manager/admin/src/components/EditViewDataManagerProvider/utils/getYupInnerErrors.js similarity index 100% rename from packages/core/content-manager/admin/src/pages/EditViewDataManagerProvider/utils/getYupInnerErrors.js rename to packages/core/content-manager/admin/src/components/EditViewDataManagerProvider/utils/getYupInnerErrors.js diff --git a/packages/core/content-manager/admin/src/pages/EditViewDataManagerProvider/utils/index.js b/packages/core/content-manager/admin/src/components/EditViewDataManagerProvider/utils/index.js similarity index 100% rename from packages/core/content-manager/admin/src/pages/EditViewDataManagerProvider/utils/index.js rename to packages/core/content-manager/admin/src/components/EditViewDataManagerProvider/utils/index.js diff --git a/packages/core/content-manager/admin/src/pages/EditViewDataManagerProvider/utils/schema.js b/packages/core/content-manager/admin/src/components/EditViewDataManagerProvider/utils/schema.js similarity index 100% rename from packages/core/content-manager/admin/src/pages/EditViewDataManagerProvider/utils/schema.js rename to packages/core/content-manager/admin/src/components/EditViewDataManagerProvider/utils/schema.js diff --git a/packages/core/content-manager/admin/src/pages/LayoutDndProvider/index.js b/packages/core/content-manager/admin/src/components/LayoutDndProvider/index.js similarity index 100% rename from packages/core/content-manager/admin/src/pages/LayoutDndProvider/index.js rename to packages/core/content-manager/admin/src/components/LayoutDndProvider/index.js diff --git a/packages/core/content-manager/admin/src/pages/ListViewProvider/index.js b/packages/core/content-manager/admin/src/components/ListViewProvider/index.js similarity index 100% rename from packages/core/content-manager/admin/src/pages/ListViewProvider/index.js rename to packages/core/content-manager/admin/src/components/ListViewProvider/index.js diff --git a/packages/core/content-manager/admin/src/pages/SingleTypeFormWrapper/index.js b/packages/core/content-manager/admin/src/components/SingleTypeFormWrapper/index.js similarity index 99% rename from packages/core/content-manager/admin/src/pages/SingleTypeFormWrapper/index.js rename to packages/core/content-manager/admin/src/components/SingleTypeFormWrapper/index.js index 6a38672d14..dafeb9182e 100644 --- a/packages/core/content-manager/admin/src/pages/SingleTypeFormWrapper/index.js +++ b/packages/core/content-manager/admin/src/components/SingleTypeFormWrapper/index.js @@ -22,7 +22,7 @@ import { } from '../../sharedReducers/crudReducer/actions'; import selectCrudReducer from '../../sharedReducers/crudReducer/selectors'; import { getRequestUrl } from './utils'; -import buildQueryString from '../ListView/utils/buildQueryString'; +import buildQueryString from '../../pages/ListView/utils/buildQueryString'; // This container is used to handle the CRUD const SingleTypeFormWrapper = ({ allLayoutData, children, slug }) => { diff --git a/packages/core/content-manager/admin/src/pages/SingleTypeFormWrapper/utils/getRequestUrl.js b/packages/core/content-manager/admin/src/components/SingleTypeFormWrapper/utils/getRequestUrl.js similarity index 100% rename from packages/core/content-manager/admin/src/pages/SingleTypeFormWrapper/utils/getRequestUrl.js rename to packages/core/content-manager/admin/src/components/SingleTypeFormWrapper/utils/getRequestUrl.js diff --git a/packages/core/content-manager/admin/src/pages/SingleTypeFormWrapper/utils/index.js b/packages/core/content-manager/admin/src/components/SingleTypeFormWrapper/utils/index.js similarity index 100% rename from packages/core/content-manager/admin/src/pages/SingleTypeFormWrapper/utils/index.js rename to packages/core/content-manager/admin/src/components/SingleTypeFormWrapper/utils/index.js diff --git a/packages/core/content-manager/admin/src/components/Wysiwyg/index.js b/packages/core/content-manager/admin/src/components/Wysiwyg/index.js index b084cb1c3d..17caff911e 100644 --- a/packages/core/content-manager/admin/src/components/Wysiwyg/index.js +++ b/packages/core/content-manager/admin/src/components/Wysiwyg/index.js @@ -16,7 +16,7 @@ import { import PropTypes from 'prop-types'; import { isEmpty, isNaN, replace, words } from 'lodash'; import cn from 'classnames'; -import WysiwygProvider from '../../pages/WysiwygProvider'; +import WysiwygProvider from '../WysiwygProvider'; import Controls from '../WysiwygInlineControls'; import PreviewWysiwyg from '../PreviewWysiwyg'; import WysiwygBottomControls from '../WysiwygBottomControls'; diff --git a/packages/core/content-manager/admin/src/pages/WysiwygProvider/index.js b/packages/core/content-manager/admin/src/components/WysiwygProvider/index.js similarity index 100% rename from packages/core/content-manager/admin/src/pages/WysiwygProvider/index.js rename to packages/core/content-manager/admin/src/components/WysiwygProvider/index.js diff --git a/packages/core/content-manager/admin/src/hooks/index.js b/packages/core/content-manager/admin/src/hooks/index.js index 8d93474141..a60899a167 100644 --- a/packages/core/content-manager/admin/src/hooks/index.js +++ b/packages/core/content-manager/admin/src/hooks/index.js @@ -4,3 +4,4 @@ export { default as useFindRedirectionLink } from './useFindRedirectionLink'; export { default as useLayoutDnd } from './useLayoutDnd'; export { default as useListView } from './useListView'; export { default as useWysiwyg } from './useWysiwyg'; +export { default as useSyncRbac } from './useSyncRbac'; diff --git a/packages/core/content-manager/admin/src/pages/RBACManager/actions.js b/packages/core/content-manager/admin/src/hooks/useSyncRbac/actions.js similarity index 100% rename from packages/core/content-manager/admin/src/pages/RBACManager/actions.js rename to packages/core/content-manager/admin/src/hooks/useSyncRbac/actions.js diff --git a/packages/core/content-manager/admin/src/pages/RBACManager/constants.js b/packages/core/content-manager/admin/src/hooks/useSyncRbac/constants.js similarity index 100% rename from packages/core/content-manager/admin/src/pages/RBACManager/constants.js rename to packages/core/content-manager/admin/src/hooks/useSyncRbac/constants.js diff --git a/packages/core/content-manager/admin/src/pages/RBACManager/useSyncRbac.js b/packages/core/content-manager/admin/src/hooks/useSyncRbac/index.js similarity index 100% rename from packages/core/content-manager/admin/src/pages/RBACManager/useSyncRbac.js rename to packages/core/content-manager/admin/src/hooks/useSyncRbac/index.js diff --git a/packages/core/content-manager/admin/src/pages/RBACManager/reducer.js b/packages/core/content-manager/admin/src/hooks/useSyncRbac/reducer.js similarity index 100% rename from packages/core/content-manager/admin/src/pages/RBACManager/reducer.js rename to packages/core/content-manager/admin/src/hooks/useSyncRbac/reducer.js diff --git a/packages/core/content-manager/admin/src/pages/RBACManager/tests/reducer.test.js b/packages/core/content-manager/admin/src/hooks/useSyncRbac/tests/reducer.test.js similarity index 100% rename from packages/core/content-manager/admin/src/pages/RBACManager/tests/reducer.test.js rename to packages/core/content-manager/admin/src/hooks/useSyncRbac/tests/reducer.test.js diff --git a/packages/core/content-manager/admin/src/pages/EditSettingsView/index.js b/packages/core/content-manager/admin/src/pages/EditSettingsView/index.js index 5e5b9192d8..e972456341 100644 --- a/packages/core/content-manager/admin/src/pages/EditSettingsView/index.js +++ b/packages/core/content-manager/admin/src/pages/EditSettingsView/index.js @@ -15,7 +15,7 @@ import PopupForm from '../../components/PopupForm'; import SettingsViewWrapper from '../../components/SettingsViewWrapper'; import SortableList from '../../components/SortableList'; import { makeSelectModelAndComponentSchemas } from '../Main/selectors'; -import LayoutDndProvider from '../LayoutDndProvider'; +import LayoutDndProvider from '../../components/LayoutDndProvider'; import init from './init'; import reducer, { initialState } from './reducer'; import { createPossibleMainFieldsForModelsAndComponents, getInputProps } from './utils'; diff --git a/packages/core/content-manager/admin/src/pages/EditView/index.js b/packages/core/content-manager/admin/src/pages/EditView/index.js index d431e734d8..fb9ee4dacd 100644 --- a/packages/core/content-manager/admin/src/pages/EditView/index.js +++ b/packages/core/content-manager/admin/src/pages/EditView/index.js @@ -18,9 +18,9 @@ import FormWrapper from '../../components/FormWrapper'; import FieldComponent from '../../components/FieldComponent'; import Inputs from '../../components/Inputs'; import SelectWrapper from '../../components/SelectWrapper'; -import CollectionTypeFormWrapper from '../CollectionTypeFormWrapper'; -import EditViewDataManagerProvider from '../EditViewDataManagerProvider'; -import SingleTypeFormWrapper from '../SingleTypeFormWrapper'; +import CollectionTypeFormWrapper from '../../components/CollectionTypeFormWrapper'; +import EditViewDataManagerProvider from '../../components/EditViewDataManagerProvider'; +import SingleTypeFormWrapper from '../../components/SingleTypeFormWrapper'; import Header from './Header'; import { createAttributesLayout, getFieldsActionMatchingPermissions } from './utils'; import { LinkWrapper, SubWrapper } from './components'; diff --git a/packages/core/content-manager/admin/src/pages/EditViewLayoutManager/index.js b/packages/core/content-manager/admin/src/pages/EditViewLayoutManager/index.js index 22c3e5e98c..ed78ca4874 100644 --- a/packages/core/content-manager/admin/src/pages/EditViewLayoutManager/index.js +++ b/packages/core/content-manager/admin/src/pages/EditViewLayoutManager/index.js @@ -2,7 +2,7 @@ import React, { useEffect } from 'react'; import PropTypes from 'prop-types'; import { useDispatch, useSelector } from 'react-redux'; import { LoadingIndicatorPage, useQueryParams } from '@strapi/helper-plugin'; -import useSyncRbac from '../RBACManager/useSyncRbac'; +import { useSyncRbac } from '../../hooks'; import { resetProps, setLayout } from './actions'; import selectLayout from './selectors'; import Permissions from './Permissions'; diff --git a/packages/core/content-manager/admin/src/pages/ListSettingsView/index.js b/packages/core/content-manager/admin/src/pages/ListSettingsView/index.js index bffe780379..8aeaf31121 100644 --- a/packages/core/content-manager/admin/src/pages/ListSettingsView/index.js +++ b/packages/core/content-manager/admin/src/pages/ListSettingsView/index.js @@ -11,7 +11,7 @@ import { checkIfAttributeIsDisplayable, ItemTypes, getRequestUrl } from '../../u import PopupForm from '../../components/PopupForm'; import SettingsViewWrapper from '../../components/SettingsViewWrapper'; import SortWrapper from '../../components/SortWrapper'; -import LayoutDndProvider from '../LayoutDndProvider'; +import LayoutDndProvider from '../../components/LayoutDndProvider'; import Label from './Label'; import MenuDropdown from './MenuDropdown'; import DropdownButton from './DropdownButton'; diff --git a/packages/core/content-manager/admin/src/pages/ListView/index.js b/packages/core/content-manager/admin/src/pages/ListView/index.js index 1f369586f4..e39a1e2108 100644 --- a/packages/core/content-manager/admin/src/pages/ListView/index.js +++ b/packages/core/content-manager/admin/src/pages/ListView/index.js @@ -27,7 +27,7 @@ import Container from '../../components/Container'; import CustomTable from '../../components/CustomTable'; import FilterPicker from '../../components/FilterPicker'; import Search from '../../components/Search'; -import ListViewProvider from '../ListViewProvider'; +import ListViewProvider from '../../components/ListViewProvider'; import { AddFilterCta, FilterIcon, Wrapper } from './components'; import FieldPicker from './FieldPicker'; import Filter from './Filter'; diff --git a/packages/core/content-manager/admin/src/pages/ListViewLayoutManager/index.js b/packages/core/content-manager/admin/src/pages/ListViewLayoutManager/index.js index 3131041984..28a322e3d5 100644 --- a/packages/core/content-manager/admin/src/pages/ListViewLayoutManager/index.js +++ b/packages/core/content-manager/admin/src/pages/ListViewLayoutManager/index.js @@ -3,9 +3,8 @@ import { useDispatch } from 'react-redux'; import PropTypes from 'prop-types'; import { useHistory } from 'react-router-dom'; import { useQueryParams } from '@strapi/helper-plugin'; -import { useFindRedirectionLink } from '../../hooks'; +import { useFindRedirectionLink, useSyncRbac } from '../../hooks'; import { resetProps, setLayout } from '../ListView/actions'; -import useSyncRbac from '../RBACManager/useSyncRbac'; import Permissions from './Permissions'; const ListViewLayout = ({ layout, ...props }) => { diff --git a/packages/core/content-manager/admin/src/reducers.js b/packages/core/content-manager/admin/src/reducers.js index eb5fb7cd63..c0e193c7ef 100644 --- a/packages/core/content-manager/admin/src/reducers.js +++ b/packages/core/content-manager/admin/src/reducers.js @@ -1,7 +1,7 @@ import mainReducer from './pages/Main/reducer'; import editViewLayoutManagerReducer from './pages/EditViewLayoutManager/reducer'; import listViewReducer from './pages/ListView/reducer'; -import rbacManagerReducer from './pages/RBACManager/reducer'; +import rbacManagerReducer from './hooks/useSyncRbac/reducer'; import editViewCrudReducer from './sharedReducers/crudReducer/reducer'; import pluginId from './pluginId'; From 55eaa91fec2fffb77be644f686b36c2400191425 Mon Sep 17 00:00:00 2001 From: SorinGFS Date: Mon, 24 May 2021 14:58:59 +0300 Subject: [PATCH 044/151] Update: dropping MongoDB support (#10266) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e4a9485830..59fd916b6b 100644 --- a/README.md +++ b/README.md @@ -105,7 +105,7 @@ Complete installation requirements can be found in the documentation under = 3.6 +- MongoDB >= 3.6 ([dropping MongoDB support](https://forum.strapi.io/t/dropping-mongodb-support/) in next major version) - MySQL >= 5.6 - MariaDB >= 10.1 - PostgreSQL >= 10 @@ -121,7 +121,7 @@ Complete installation requirements can be found in the documentation under Date: Fri, 21 May 2021 12:50:05 +0200 Subject: [PATCH 045/151] Created useAppInfos hook Signed-off-by: soupette --- .../src/components/AuthenticatedApp/index.js | 44 +++++++++++++++ .../components/AuthenticatedApp/utils/api.js | 31 +++++++++++ .../LeftMenu/compos/Footer/index.js | 14 +++-- .../admin/src/components/LeftMenu/index.js | 5 +- .../components/PluginsInitializer/index.js | 9 +++- .../src/components/PrivateRoute/index.js | 2 +- .../src/components/RBACProvider/actions.js | 10 ++++ .../src/components/RBACProvider/constants.js | 2 + .../src/components/RBACProvider/index.js | 35 ++++++++++++ .../src/components/RBACProvider/reducer.js | 53 +++++++++++++++++++ .../components/ReleaseNotification/index.js | 44 +++++++++++++++ .../ReleaseNotification/utils/api.js | 19 +++++++ .../utils/checkLatestStrapiVersion.js | 0 .../tests/checkLatestStrapiVersion.test.js | 0 .../core/admin/admin/src/pages/Admin/index.js | 44 --------------- .../core/admin/admin/src/pages/App/index.js | 8 +-- packages/core/admin/admin/src/reducers.js | 2 + .../admin/admin/src/utils/axiosInstance.js | 13 +++++ packages/core/admin/admin/src/utils/index.js | 2 +- .../lib/src/contexts/AppInfosContext.js | 12 +++++ .../lib/src/hooks/useAppInfos/index.js | 16 ++++++ packages/core/helper-plugin/lib/src/index.js | 2 + 22 files changed, 302 insertions(+), 65 deletions(-) create mode 100644 packages/core/admin/admin/src/components/AuthenticatedApp/index.js create mode 100644 packages/core/admin/admin/src/components/AuthenticatedApp/utils/api.js create mode 100644 packages/core/admin/admin/src/components/RBACProvider/actions.js create mode 100644 packages/core/admin/admin/src/components/RBACProvider/constants.js create mode 100644 packages/core/admin/admin/src/components/RBACProvider/index.js create mode 100644 packages/core/admin/admin/src/components/RBACProvider/reducer.js create mode 100644 packages/core/admin/admin/src/components/ReleaseNotification/index.js create mode 100644 packages/core/admin/admin/src/components/ReleaseNotification/utils/api.js rename packages/core/admin/admin/src/{ => components/ReleaseNotification}/utils/checkLatestStrapiVersion.js (100%) rename packages/core/admin/admin/src/{ => components/ReleaseNotification}/utils/tests/checkLatestStrapiVersion.test.js (100%) create mode 100644 packages/core/admin/admin/src/utils/axiosInstance.js create mode 100644 packages/core/helper-plugin/lib/src/contexts/AppInfosContext.js create mode 100644 packages/core/helper-plugin/lib/src/hooks/useAppInfos/index.js diff --git a/packages/core/admin/admin/src/components/AuthenticatedApp/index.js b/packages/core/admin/admin/src/components/AuthenticatedApp/index.js new file mode 100644 index 0000000000..8473954f3c --- /dev/null +++ b/packages/core/admin/admin/src/components/AuthenticatedApp/index.js @@ -0,0 +1,44 @@ +import React from 'react'; +import { LoadingIndicatorPage, AppInfosContext } from '@strapi/helper-plugin'; +import { useQueries } from 'react-query'; +import PluginsInitializer from '../PluginsInitializer'; +import RBACProvider from '../RBACProvider'; +import { fetchAppInfo, fetchCurrentUserPermissions } from './utils/api'; + +const AuthenticatedApp = () => { + // TODO: clean components that depends on this + // This part is just to prepare the refactoring of the Admin page + const [ + { data: appInfos, status }, + { data: permissions, status: fetchPermissionsStatus, refetch, isFetched, isFetching }, + ] = useQueries([ + { queryKey: 'app-infos', queryFn: fetchAppInfo }, + + { + queryKey: 'admin-users-permission', + queryFn: fetchCurrentUserPermissions, + }, + ]); + + const shouldShowNotDependentQueriesLoader = + (isFetching && isFetched) || status === 'loading' || fetchPermissionsStatus === 'loading'; + + if (shouldShowNotDependentQueriesLoader) { + return ; + } + + // TODO add error state + if (status === 'error') { + return
error...
; + } + + return ( + + + + + + ); +}; + +export default AuthenticatedApp; diff --git a/packages/core/admin/admin/src/components/AuthenticatedApp/utils/api.js b/packages/core/admin/admin/src/components/AuthenticatedApp/utils/api.js new file mode 100644 index 0000000000..62a5ce9fe4 --- /dev/null +++ b/packages/core/admin/admin/src/components/AuthenticatedApp/utils/api.js @@ -0,0 +1,31 @@ +import axiosInstance from '../../../utils/axiosInstance'; + +const fetchAppInfo = async () => { + try { + const { data, headers } = await axiosInstance.get('/admin/information'); + + if (!headers['content-type'].includes('application/json')) { + throw new Error('Not found'); + } + + return data.data; + } catch (error) { + throw new Error(error); + } +}; + +const fetchCurrentUserPermissions = async () => { + try { + const { data, headers } = await axiosInstance.get('/admin/users/me/permissions'); + + if (!headers['content-type'].includes('application/json')) { + throw new Error('Not found'); + } + + return data.data; + } catch (err) { + throw new Error(err); + } +}; + +export { fetchAppInfo, fetchCurrentUserPermissions }; diff --git a/packages/core/admin/admin/src/components/LeftMenu/compos/Footer/index.js b/packages/core/admin/admin/src/components/LeftMenu/compos/Footer/index.js index 316995e3f8..1e8a3ceb33 100644 --- a/packages/core/admin/admin/src/components/LeftMenu/compos/Footer/index.js +++ b/packages/core/admin/admin/src/components/LeftMenu/compos/Footer/index.js @@ -5,11 +5,13 @@ */ import React from 'react'; -import { PropTypes } from 'prop-types'; + +import { useAppInfos } from '@strapi/helper-plugin'; import Wrapper, { A } from './Wrapper'; -function LeftMenuFooter({ version }) { +function LeftMenuFooter() { const projectType = process.env.STRAPI_ADMIN_PROJECT_TYPE; + const { strapiVersion } = useAppInfos(); return ( @@ -19,12 +21,12 @@ function LeftMenuFooter({ version }) {
  - v{version} + v{strapiVersion}   @@ -35,8 +37,4 @@ function LeftMenuFooter({ version }) { ); } -LeftMenuFooter.propTypes = { - version: PropTypes.string.isRequired, -}; - export default LeftMenuFooter; diff --git a/packages/core/admin/admin/src/components/LeftMenu/index.js b/packages/core/admin/admin/src/components/LeftMenu/index.js index eae0456bf2..2a145c4d78 100644 --- a/packages/core/admin/admin/src/components/LeftMenu/index.js +++ b/packages/core/admin/admin/src/components/LeftMenu/index.js @@ -6,7 +6,7 @@ import { Footer, Header, Loader, LinksContainer, LinksSection } from './compos'; import Wrapper from './Wrapper'; import useMenuSections from './useMenuSections'; -const LeftMenu = ({ shouldUpdateStrapi, version, plugins, setUpdateMenu }) => { +const LeftMenu = ({ shouldUpdateStrapi, plugins, setUpdateMenu }) => { const location = useLocation(); const { @@ -81,14 +81,13 @@ const LeftMenu = ({ shouldUpdateStrapi, version, plugins, setUpdateMenu }) => { /> )} -