@strapi/admin 4.0.0 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/admin/src/components/Notifications/Notification/index.js +3 -3
  2. package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +2 -2
  3. package/admin/src/content-manager/components/ComponentInitializer/index.js +4 -9
  4. package/admin/src/content-manager/components/DragLayer/index.js +1 -1
  5. package/admin/src/content-manager/components/DynamicTable/index.js +7 -0
  6. package/admin/src/content-manager/components/DynamicZone/index.js +25 -5
  7. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/schema.js +4 -1
  8. package/admin/src/content-manager/components/RepeatableComponent/AccordionGroupCustom/index.js +1 -3
  9. package/admin/src/content-manager/components/SelectWrapper/index.js +15 -81
  10. package/admin/src/content-manager/hooks/useFetchContentTypeLayout/utils/formatLayouts.js +2 -2
  11. package/admin/src/content-manager/pages/App/LeftMenu/index.js +2 -6
  12. package/admin/src/content-manager/pages/App/index.js +3 -1
  13. package/admin/src/content-manager/pages/EditSettingsView/index.js +1 -1
  14. package/admin/src/content-manager/pages/EditView/Informations/index.js +37 -13
  15. package/admin/src/content-manager/pages/ListSettingsView/components/CardPreview.js +19 -8
  16. package/admin/src/content-manager/pages/ListSettingsView/components/DraggableCard.js +123 -67
  17. package/admin/src/content-manager/pages/ListSettingsView/components/SortDisplayedFields.js +4 -1
  18. package/admin/src/content-manager/pages/ListSettingsView/index.js +1 -1
  19. package/admin/src/content-manager/pages/ListView/index.js +37 -20
  20. package/admin/src/hooks/useSettingsMenu/utils/defaultGlobalLinks.js +1 -1
  21. package/admin/src/pages/App/utils/unique-identifier.js +3 -1
  22. package/admin/src/pages/AuthPage/index.js +8 -2
  23. package/admin/src/pages/ProfilePage/index.js +32 -6
  24. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +2 -2
  25. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/index.js +20 -7
  26. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/index.js +1 -1
  27. package/admin/src/pages/SettingsPage/pages/Users/EditPage/index.js +3 -3
  28. package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/index.js +3 -3
  29. package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/utils/stepper.js +1 -1
  30. package/admin/src/pages/SettingsPage/pages/Users/ListPage/index.js +5 -11
  31. package/admin/src/pages/SettingsPage/pages/Users/ListPage/utils/tableHeaders.js +1 -1
  32. package/admin/src/pages/SettingsPage/pages/Users/components/MagicLink/index.js +1 -1
  33. package/admin/src/pages/SettingsPage/pages/Users/components/SelectRoles/index.js +1 -1
  34. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/HeadersInput/index.js +1 -1
  35. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/WebhookForm/index.js +1 -1
  36. package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/index.js +5 -5
  37. package/admin/src/translations/en.json +29 -23
  38. package/admin/src/translations/fr.json +315 -6
  39. package/admin/src/translations/ko.json +670 -263
  40. package/admin/src/translations/nl.json +1 -1
  41. package/admin/src/translations/zh.json +482 -41
  42. package/build/{01a600d9e6e0dea21e33017a97bdf431.png → 01a600d9e6e0dea21e33.png} +0 -0
  43. package/build/{15026a3d58aeb282813457f060f2d6ac.png → 15026a3d58aeb2828134.png} +0 -0
  44. package/build/{1551f4f60c37af51121f106501f69b80.woff2 → 1551f4f60c37af51121f.woff2} +0 -0
  45. package/build/{1e59d2330b4c6deb84b340635ed36249.ttf → 1e59d2330b4c6deb84b3.ttf} +0 -0
  46. package/build/{20fd1704ea223900efa9fd4e869efb08.woff2 → 20fd1704ea223900efa9.woff2} +0 -0
  47. package/build/{2285773e6b4b172f07d9b777c81b0775.woff → 2285773e6b4b172f07d9.woff} +0 -0
  48. package/build/{23f19bb08961f37aaf692ff943823453.eot → 23f19bb08961f37aaf69.eot} +0 -0
  49. package/build/2664.f33f619d.chunk.js +2 -0
  50. package/build/2664.f33f619d.chunk.js.LICENSE.txt +7 -0
  51. package/build/{2a9e9ef5c4c775bb7c7b3625041b1354.png → 2a9e9ef5c4c775bb7c7b.png} +0 -0
  52. package/build/{2f517e09eb2ca6650ff5bec5a95157ab.svg → 2f517e09eb2ca6650ff5.svg} +0 -0
  53. package/build/3226.1a4b5cd1.chunk.js +2 -0
  54. package/build/{3226.0dc582b2.chunk.js.LICENSE.txt → 3226.1a4b5cd1.chunk.js.LICENSE.txt} +0 -0
  55. package/build/4362.c65ab24b.chunk.js +1 -0
  56. package/build/{4689f52cc96215721344e51e5831eec1.svg → 4689f52cc96215721344.svg} +0 -0
  57. package/build/{4715.35096dd7.chunk.js → 4715.f134f37a.chunk.js} +1 -1
  58. package/build/{491974d108fe4002b2aaf7ffc48249a0.ttf → 491974d108fe4002b2aa.ttf} +0 -0
  59. package/build/{527940b104eb2ea366c8630f3f038603.ttf → 527940b104eb2ea366c8.ttf} +0 -0
  60. package/build/{77206a6bb316fa0aded5083cc57f92b9.eot → 77206a6bb316fa0aded5.eot} +0 -0
  61. package/build/{7a3337626410ca2f40718481c755640f.woff2 → 7a3337626410ca2f4071.woff2} +0 -0
  62. package/build/{7a8b4f130182d19a2d7c67d80c090397.svg → 7a8b4f130182d19a2d7c.svg} +0 -0
  63. package/build/{849.fc26299c.chunk.js → 849.35b7e7af.chunk.js} +1 -1
  64. package/build/{8b43027f47b20503057dfbbaa9401fef.eot → 8b43027f47b20503057d.eot} +0 -0
  65. package/build/{9238.f112d6c9.chunk.js → 9238.63386655.chunk.js} +1 -1
  66. package/build/{9bbb245e67a133f6e486d8d2545e14a5.eot → 9bbb245e67a133f6e486.eot} +0 -0
  67. package/build/{Admin-authenticatedApp.0298a225.chunk.js → Admin-authenticatedApp.bcc1dcbe.chunk.js} +1 -1
  68. package/build/{Admin_homePage.31e37124.chunk.js → Admin_homePage.74b48134.chunk.js} +1 -1
  69. package/build/Admin_marketplace.8d0028cc.chunk.js +1 -0
  70. package/build/Admin_profilePage.f276f571.chunk.js +1 -0
  71. package/build/Admin_settingsPage.1947fe0c.chunk.js +1 -0
  72. package/build/{admin-edit-roles-page.e91bd9e5.chunk.js → admin-edit-roles-page.2bccaf76.chunk.js} +1 -1
  73. package/build/admin-edit-users.1632dcf7.chunk.js +1 -0
  74. package/build/admin-users.1f0533e6.chunk.js +1 -0
  75. package/build/{api-tokens-create-page.ac4285ba.chunk.js → api-tokens-create-page.ab33d46d.chunk.js} +1 -1
  76. package/build/{api-tokens-edit-page.b8900ddd.chunk.js → api-tokens-edit-page.749496cc.chunk.js} +1 -1
  77. package/build/{b997a22a2e0b87ef1fa23258f14f3b27.ico → b997a22a2e0b87ef1fa2.ico} +0 -0
  78. package/build/{bb58e57c48a3e911f15fa834ff00d44a.woff → bb58e57c48a3e911f15f.woff} +0 -0
  79. package/build/{bd81ba6c07827282255d031b2a6f4fe4.png → bd81ba6c07827282255d.png} +0 -0
  80. package/build/{be9ee23c0c6390141475d519c2c5fb8f.ttf → be9ee23c0c6390141475.ttf} +0 -0
  81. package/build/{c1e38fd9e0e74ba58f7a2b77ef29fdd3.svg → c1e38fd9e0e74ba58f7a.svg} +0 -0
  82. package/build/{c3de6118ef47086ad05c83a1c78f006d.png → c3de6118ef47086ad05c.png} +0 -0
  83. package/build/codemirror-css.d09c79d2.chunk.js +1 -0
  84. package/build/content-manager.be0bf12e.chunk.js +1 -0
  85. package/build/{content-type-builder-translation-en-json.d860718a.chunk.js → content-type-builder-translation-en-json.81257d0d.chunk.js} +1 -1
  86. package/build/content-type-builder-translation-ko-json.0288cb2b.chunk.js +1 -0
  87. package/build/content-type-builder.aa13e7a4.chunk.js +1 -0
  88. package/build/{d878b0a6a1144760244ff0665888404c.woff2 → d878b0a6a1144760244f.woff2} +0 -0
  89. package/build/{eeccf4f66002c6f2ba24d3d22f2434c2.woff → eeccf4f66002c6f2ba24.woff} +0 -0
  90. package/build/{email-settings-page.def5ceaf.chunk.js → email-settings-page.d3ce077f.chunk.js} +1 -1
  91. package/build/email-translation-en-json.ef8208e3.chunk.js +1 -0
  92. package/build/email-translation-ja-json.66b21ec1.chunk.js +1 -0
  93. package/build/email-translation-ko-json.e383ad57.chunk.js +1 -0
  94. package/build/en-json.4c3c1c95.chunk.js +1 -0
  95. package/build/{f691f37e57f04c152e2315ab7dbad881.woff → f691f37e57f04c152e23.woff} +0 -0
  96. package/build/{fde9b1ad0670d29a251605a5e8eef02b.png → fde9b1ad0670d29a2516.png} +0 -0
  97. package/build/fontawesome-css-all.90be2358.chunk.js +1 -0
  98. package/build/fontawesome-css.32df0f91.chunk.js +1 -0
  99. package/build/fr-json.c75e1a2e.chunk.js +1 -0
  100. package/build/i18n-settings-page.ad670b2c.chunk.js +1 -0
  101. package/build/i18n-translation-en-json.a90b9dc5.chunk.js +1 -0
  102. package/build/i18n-translation-ko-json.f0628aff.chunk.js +1 -0
  103. package/build/index.html +1 -1
  104. package/build/ko-json.35832b30.chunk.js +1 -0
  105. package/build/main.9b622560.js +2 -0
  106. package/build/{main.a5bd9650.js.LICENSE.txt → main.9b622560.js.LICENSE.txt} +0 -0
  107. package/build/nl-json.9e55cf9c.chunk.js +1 -0
  108. package/build/runtime~main.726e5497.js +1 -0
  109. package/build/{upload-settings.8a380d3d.chunk.js → upload-settings.f65c4d08.chunk.js} +1 -1
  110. package/build/{upload-translation-en-json.58d8ce44.chunk.js → upload-translation-en-json.d205cecd.chunk.js} +1 -1
  111. package/build/upload-translation-ko-json.b6602572.chunk.js +1 -0
  112. package/build/{users-advanced-settings-page.bda19eae.chunk.js → users-advanced-settings-page.da9830fd.chunk.js} +1 -1
  113. package/build/{users-email-settings-page.b1d1f551.chunk.js → users-email-settings-page.36142cd7.chunk.js} +1 -1
  114. package/build/users-permissions-translation-ko-json.4677f640.chunk.js +1 -0
  115. package/build/{users-providers-settings-page.733a51ec.chunk.js → users-providers-settings-page.2c0685d3.chunk.js} +1 -1
  116. package/build/{users-roles-settings-page.0eb926e7.chunk.js → users-roles-settings-page.61c9b376.chunk.js} +1 -1
  117. package/build/{webhook-edit-page.634e50da.chunk.js → webhook-edit-page.36755ae4.chunk.js} +1 -1
  118. package/build/{webhook-list-page.aae66737.chunk.js → webhook-list-page.8abf0b5f.chunk.js} +1 -1
  119. package/build/zh-json.3b683748.chunk.js +1 -0
  120. package/ee/admin/pages/SettingsPage/pages/Roles/CreatePage/index.js +1 -1
  121. package/ee/admin/pages/SettingsPage/pages/Users/components/MagicLink/index.js +1 -1
  122. package/index.js +40 -1
  123. package/jest.config.front.js +10 -0
  124. package/package.json +16 -11
  125. package/server/register.js +5 -0
  126. package/server/routes/serve-admin-panel.js +59 -0
  127. package/server/strategies/api-token.js +2 -1
  128. package/webpack.config.js +11 -7
  129. package/build/3226.0dc582b2.chunk.js +0 -2
  130. package/build/4362.e71cf036.chunk.js +0 -1
  131. package/build/8447.32ee17be.chunk.js +0 -2
  132. package/build/8447.32ee17be.chunk.js.LICENSE.txt +0 -22
  133. package/build/Admin_marketplace.201373e2.chunk.js +0 -1
  134. package/build/Admin_profilePage.3aa61921.chunk.js +0 -1
  135. package/build/Admin_settingsPage.363ad01d.chunk.js +0 -1
  136. package/build/admin-edit-users.bcdd2e4d.chunk.js +0 -1
  137. package/build/admin-users.a2d08780.chunk.js +0 -1
  138. package/build/codemirror-css.7b034e03.chunk.js +0 -1
  139. package/build/content-manager.4a449a52.chunk.js +0 -1
  140. package/build/content-type-builder-translation-ko-json.20ad3eac.chunk.js +0 -1
  141. package/build/content-type-builder.eeae4ee8.chunk.js +0 -1
  142. package/build/email-translation-en-json.5ec38fe9.chunk.js +0 -1
  143. package/build/email-translation-ja-json.b75afc52.chunk.js +0 -1
  144. package/build/email-translation-ko-json.eb9a23cd.chunk.js +0 -1
  145. package/build/en-json.6282a00f.chunk.js +0 -1
  146. package/build/fontawesome-css-all.162c8569.chunk.js +0 -1
  147. package/build/fontawesome-css.b1736497.chunk.js +0 -1
  148. package/build/fr-json.f7d484a8.chunk.js +0 -1
  149. package/build/i18n-settings-page.00c74503.chunk.js +0 -1
  150. package/build/i18n-translation-en-json.17af559c.chunk.js +0 -1
  151. package/build/ko-json.7203b08b.chunk.js +0 -1
  152. package/build/main.a5bd9650.js +0 -2
  153. package/build/nl-json.9c7f83db.chunk.js +0 -1
  154. package/build/runtime~main.bddfe3c6.js +0 -1
  155. package/build/users-permissions-translation-ko-json.90c2d129.chunk.js +0 -1
  156. package/build/zh-json.414d826f.chunk.js +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/admin",
3
- "version": "4.0.0",
3
+ "version": "4.0.1",
4
4
  "description": "Strapi Admin",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,8 +26,14 @@
26
26
  "create:plugin-file": "node ./scripts/create-dev-plugins-file.js",
27
27
  "develop": "yarn create:plugin-file && yarn develop:webpack",
28
28
  "develop:webpack": "cross-env NODE_ENV=development webpack serve --config webpack.config.dev.js --progress profile",
29
- "prepublishOnly": "rimraf build && node ./scripts/build.js",
30
- "test": "echo \"no tests yet\""
29
+ "prepublishOnly": "yarn build",
30
+ "build": "rimraf build && node ./scripts/build.js",
31
+ "test": "echo \"no tests yet\"",
32
+ "test:unit": "jest --verbose",
33
+ "test:front": "cross-env IS_EE=true jest --config ./jest.config.front.js",
34
+ "test:front:watch": "cross-env IS_EE=true jest --config ./jest.config.front.js --watchAll",
35
+ "test:front:ce": "cross-env IS_EE=false jest --config ./jest.config.front.js",
36
+ "test:front:watch:ce": "cross-env IS_EE=false jest --config ./jest.config.front.js --watchAll"
31
37
  },
32
38
  "dependencies": {
33
39
  "@babel/core": "7.14.0",
@@ -46,11 +52,11 @@
46
52
  "@fortawesome/free-brands-svg-icons": "^5.15.3",
47
53
  "@fortawesome/free-solid-svg-icons": "^5.15.3",
48
54
  "@fortawesome/react-fontawesome": "^0.1.14",
49
- "@strapi/babel-plugin-switch-ee-ce": "4.0.0",
55
+ "@strapi/babel-plugin-switch-ee-ce": "4.0.1",
50
56
  "@strapi/design-system": "0.0.1-alpha.70",
51
- "@strapi/helper-plugin": "4.0.0",
57
+ "@strapi/helper-plugin": "4.0.1",
52
58
  "@strapi/icons": "0.0.1-alpha.70",
53
- "@strapi/utils": "4.0.0",
59
+ "@strapi/utils": "4.0.1",
54
60
  "axios": "0.24.0",
55
61
  "babel-loader": "8.2.2",
56
62
  "babel-plugin-styled-components": "1.12.0",
@@ -65,7 +71,6 @@
65
71
  "dotenv": "8.5.1",
66
72
  "execa": "^1.0.0",
67
73
  "fast-deep-equal": "3.1.3",
68
- "file-loader": "6.2.0",
69
74
  "font-awesome": "^4.7.0",
70
75
  "formik": "^2.2.6",
71
76
  "fs-extra": "^9.1.0",
@@ -82,6 +87,7 @@
82
87
  "jsonwebtoken": "8.5.1",
83
88
  "koa-compose": "4.1.0",
84
89
  "koa-passport": "4.1.4",
90
+ "koa-static": "5.0.0",
85
91
  "lodash": "4.17.21",
86
92
  "markdown-it": "^12.0.6",
87
93
  "markdown-it-abbr": "^1.0.4",
@@ -131,10 +137,9 @@
131
137
  "style-loader": "2.0.0",
132
138
  "styled-components": "^5.2.3",
133
139
  "terser-webpack-plugin": "4.2.3",
134
- "url-loader": "4.1.1",
135
140
  "webpack": "5.36.2",
136
- "webpack-cli": "4.6.0",
137
- "webpack-dev-server": "4.4.0",
141
+ "webpack-cli": "4.9.1",
142
+ "webpack-dev-server": "4.5.0",
138
143
  "webpackbar": "5.0.0-3",
139
144
  "yup": "^0.32.9"
140
145
  },
@@ -146,5 +151,5 @@
146
151
  "node": ">=12.x.x <=16.x.x",
147
152
  "npm": ">=6.0.0"
148
153
  },
149
- "gitHead": "b181702f0202b2c6d645d42b195a831f25cd0b03"
154
+ "gitHead": "e2cd01e8c6cbfeba15ad7787e38b6eebcbb92221"
150
155
  }
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ const registerAdminPanelRoute = require('./routes/serve-admin-panel');
3
4
  const adminAuthStrategy = require('./strategies/admin');
4
5
  const apiTokenAuthStrategy = require('./strategies/api-token');
5
6
 
@@ -9,4 +10,8 @@ module.exports = ({ strapi }) => {
9
10
  strapi.server.api('admin').use(passportMiddleware);
10
11
  strapi.container.get('auth').register('admin', adminAuthStrategy);
11
12
  strapi.container.get('auth').register('content-api', apiTokenAuthStrategy);
13
+
14
+ if (strapi.config.serveAdminPanel) {
15
+ registerAdminPanelRoute({ strapi });
16
+ }
12
17
  };
@@ -0,0 +1,59 @@
1
+ 'use strict';
2
+
3
+ const path = require('path');
4
+ const fse = require('fs-extra');
5
+ const koaStatic = require('koa-static');
6
+
7
+ const registerAdminPanelRoute = ({ strapi }) => {
8
+ let buildDir = path.resolve(strapi.dirs.root, 'build');
9
+
10
+ if (!fse.pathExistsSync(buildDir)) {
11
+ buildDir = path.resolve(__dirname, '../../build');
12
+ }
13
+
14
+ const serveAdminMiddleware = async (ctx, next) => {
15
+ await next();
16
+
17
+ if (ctx.method !== 'HEAD' && ctx.method !== 'GET') {
18
+ return;
19
+ }
20
+
21
+ if (ctx.body != null || ctx.status !== 404) {
22
+ return;
23
+ }
24
+
25
+ ctx.type = 'html';
26
+ ctx.body = fse.createReadStream(path.join(buildDir + '/index.html'));
27
+ };
28
+
29
+ strapi.server.routes([
30
+ {
31
+ method: 'GET',
32
+ path: `${strapi.config.admin.path}/:path*`,
33
+ handler: [
34
+ serveAdminMiddleware,
35
+ serveStatic(buildDir, { maxage: 60000, defer: false, index: 'index.html' }),
36
+ ],
37
+ config: { auth: false },
38
+ },
39
+ ]);
40
+ };
41
+
42
+ // serveStatic is not supposed to be used to serve a folder that have sub-folders
43
+ const serveStatic = (filesDir, koaStaticOptions = {}) => {
44
+ const serve = koaStatic(filesDir, koaStaticOptions);
45
+
46
+ return async (ctx, next) => {
47
+ const prev = ctx.path;
48
+ const newPath = path.basename(ctx.path);
49
+ ctx.path = newPath;
50
+ await serve(ctx, async () => {
51
+ ctx.path = prev;
52
+ await next();
53
+ ctx.path = newPath;
54
+ });
55
+ ctx.path = prev;
56
+ };
57
+ };
58
+
59
+ module.exports = registerAdminPanelRoute;
@@ -60,7 +60,8 @@ const verify = (auth, config) => {
60
60
  * scopes. If the route has no scope, then you can't get access to it.
61
61
  */
62
62
 
63
- if (config.scope && config.scope.every(isReadScope)) {
63
+ const scopes = Array.isArray(config.scope) ? config.scope : [config.scope];
64
+ if (config.scope && scopes.every(isReadScope)) {
64
65
  return;
65
66
  }
66
67
 
package/webpack.config.js CHANGED
@@ -144,13 +144,15 @@ module.exports = ({
144
144
  },
145
145
  {
146
146
  test: /\.(svg|eot|otf|ttf|woff|woff2)$/,
147
- use: 'file-loader',
147
+ type: 'asset/resource',
148
148
  },
149
149
  {
150
150
  test: [/\.bmp$/, /\.gif$/, /\.jpe?g$/, /\.png$/, /\.ico$/],
151
- loader: require.resolve('url-loader'),
152
- options: {
153
- limit: 1000,
151
+ type: 'asset',
152
+ parser: {
153
+ dataUrlCondition: {
154
+ maxSize: 1000,
155
+ },
154
156
  },
155
157
  },
156
158
  {
@@ -160,9 +162,11 @@ module.exports = ({
160
162
  },
161
163
  {
162
164
  test: /\.(mp4|webm)$/,
163
- loader: require.resolve('url-loader'),
164
- options: {
165
- limit: 10000,
165
+ type: 'asset',
166
+ parser: {
167
+ dataUrlCondition: {
168
+ maxSize: 10000,
169
+ },
166
170
  },
167
171
  },
168
172
  ],