@strapi/plugin-documentation 5.0.0-beta.0 → 5.0.0-beta.2

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 (184) hide show
  1. package/README.md +0 -1
  2. package/dist/_chunks/{index-D1KkfApT.js → App-Dsqz1mTz.js} +74 -22
  3. package/dist/_chunks/App-Dsqz1mTz.js.map +1 -0
  4. package/dist/_chunks/{index-7xstUX8_.mjs → App-mrzd5Xqj.mjs} +49 -16
  5. package/dist/_chunks/App-mrzd5Xqj.mjs.map +1 -0
  6. package/dist/_chunks/{index-VpLAJXMs.mjs → Settings-8v7IbdtY.mjs} +64 -33
  7. package/dist/_chunks/Settings-8v7IbdtY.mjs.map +1 -0
  8. package/dist/_chunks/{index-NbPCucJl.js → Settings-wdLQpouP.js} +69 -37
  9. package/dist/_chunks/Settings-wdLQpouP.js.map +1 -0
  10. package/dist/_chunks/getTrad-SeEDjZbP.mjs +6 -0
  11. package/dist/_chunks/getTrad-SeEDjZbP.mjs.map +1 -0
  12. package/dist/_chunks/getTrad-xlpeC9HP.js +5 -0
  13. package/dist/_chunks/getTrad-xlpeC9HP.js.map +1 -0
  14. package/{server/public/index.html → dist/_chunks/index-MKWIGajW.mjs} +9 -4
  15. package/dist/_chunks/index-MKWIGajW.mjs.map +1 -0
  16. package/dist/_chunks/index-WbbYm9_u.js +75 -0
  17. package/dist/_chunks/index-WbbYm9_u.js.map +1 -0
  18. package/dist/_chunks/{index-r7HsQTou.js → index-_yYcImHU.js} +126 -119
  19. package/dist/_chunks/index-_yYcImHU.js.map +1 -0
  20. package/dist/_chunks/{index-NvJ4m2q5.mjs → index-mXCyE3EQ.mjs} +128 -121
  21. package/dist/_chunks/index-mXCyE3EQ.mjs.map +1 -0
  22. package/dist/_chunks/login-HAajOKpu.js +150 -0
  23. package/dist/_chunks/login-HAajOKpu.js.map +1 -0
  24. package/{server/public/login.html → dist/_chunks/login-slUa679p.mjs} +6 -1
  25. package/dist/_chunks/login-slUa679p.mjs.map +1 -0
  26. package/dist/admin/index.js +1 -1
  27. package/dist/admin/index.mjs +2 -2
  28. package/dist/admin/src/components/SettingsForm.d.ts +8 -0
  29. package/dist/admin/src/constants.d.ts +18 -0
  30. package/dist/admin/src/index.d.ts +14 -0
  31. package/dist/admin/src/pages/App.d.ts +2 -0
  32. package/dist/admin/src/pages/Settings.d.ts +2 -0
  33. package/dist/admin/src/pluginId.d.ts +1 -0
  34. package/dist/admin/src/services/api.d.ts +25 -0
  35. package/dist/admin/src/types.d.ts +16 -0
  36. package/dist/admin/src/utils/baseQuery.d.ts +20 -0
  37. package/dist/admin/src/utils/getTrad.d.ts +1 -0
  38. package/dist/admin/src/utils/index.d.ts +2 -0
  39. package/dist/admin/src/utils/prefixPluginTranslations.d.ts +2 -0
  40. package/dist/server/index.js +1263 -0
  41. package/dist/server/index.js.map +1 -0
  42. package/dist/server/index.mjs +1238 -0
  43. package/dist/server/index.mjs.map +1 -0
  44. package/dist/server/src/bootstrap.d.ts +5 -0
  45. package/dist/server/src/bootstrap.d.ts.map +1 -0
  46. package/dist/server/src/config/default-plugin-config.d.ts +3 -0
  47. package/dist/server/src/config/default-plugin-config.d.ts.map +1 -0
  48. package/dist/server/src/config/index.d.ts +4 -0
  49. package/dist/server/src/config/index.d.ts.map +1 -0
  50. package/dist/server/src/controllers/documentation.d.ts +12 -0
  51. package/dist/server/src/controllers/documentation.d.ts.map +1 -0
  52. package/dist/server/src/controllers/index.d.ts +14 -0
  53. package/dist/server/src/controllers/index.d.ts.map +1 -0
  54. package/dist/server/src/index.d.ts +91 -0
  55. package/dist/server/src/index.d.ts.map +1 -0
  56. package/dist/server/src/middlewares/documentation.d.ts +5 -0
  57. package/dist/server/src/middlewares/documentation.d.ts.map +1 -0
  58. package/dist/server/src/middlewares/restrict-access.d.ts +4 -0
  59. package/dist/server/src/middlewares/restrict-access.d.ts.map +1 -0
  60. package/dist/server/src/register.d.ts +5 -0
  61. package/dist/server/src/register.d.ts.map +1 -0
  62. package/dist/server/src/routes/index.d.ts +36 -0
  63. package/dist/server/src/routes/index.d.ts.map +1 -0
  64. package/dist/server/src/services/__mocks__/mock-content-types.d.ts +449 -0
  65. package/dist/server/src/services/__mocks__/mock-content-types.d.ts.map +1 -0
  66. package/dist/server/src/services/__mocks__/mock-strapi-data.d.ts +592 -0
  67. package/dist/server/src/services/__mocks__/mock-strapi-data.d.ts.map +1 -0
  68. package/dist/server/src/services/documentation.d.ts +36 -0
  69. package/dist/server/src/services/documentation.d.ts.map +1 -0
  70. package/dist/server/src/services/helpers/build-api-endpoint-path.d.ts +7 -0
  71. package/dist/server/src/services/helpers/build-api-endpoint-path.d.ts.map +1 -0
  72. package/dist/server/src/services/helpers/build-component-schema.d.ts +4 -0
  73. package/dist/server/src/services/helpers/build-component-schema.d.ts.map +1 -0
  74. package/dist/server/src/services/helpers/index.d.ts +4 -0
  75. package/dist/server/src/services/helpers/index.d.ts.map +1 -0
  76. package/dist/server/src/services/helpers/utils/clean-schema-attributes.d.ts +15 -0
  77. package/dist/server/src/services/helpers/utils/clean-schema-attributes.d.ts.map +1 -0
  78. package/dist/server/src/services/helpers/utils/get-api-responses.d.ts +15 -0
  79. package/dist/server/src/services/helpers/utils/get-api-responses.d.ts.map +1 -0
  80. package/dist/server/src/services/helpers/utils/get-schema-data.d.ts +12 -0
  81. package/dist/server/src/services/helpers/utils/get-schema-data.d.ts.map +1 -0
  82. package/dist/server/src/services/helpers/utils/loop-content-type-names.d.ts +7 -0
  83. package/dist/server/src/services/helpers/utils/loop-content-type-names.d.ts.map +1 -0
  84. package/dist/server/src/services/helpers/utils/pascal-case.d.ts +3 -0
  85. package/dist/server/src/services/helpers/utils/pascal-case.d.ts.map +1 -0
  86. package/dist/server/src/services/helpers/utils/query-params.d.ts +4 -0
  87. package/dist/server/src/services/helpers/utils/query-params.d.ts.map +1 -0
  88. package/dist/server/src/services/helpers/utils/routes.d.ts +3 -0
  89. package/dist/server/src/services/helpers/utils/routes.d.ts.map +1 -0
  90. package/dist/server/src/services/index.d.ts +43 -0
  91. package/dist/server/src/services/index.d.ts.map +1 -0
  92. package/dist/server/src/services/override.d.ts +21 -0
  93. package/dist/server/src/services/override.d.ts.map +1 -0
  94. package/dist/server/src/services/utils/get-plugins-that-need-documentation.d.ts +4 -0
  95. package/dist/server/src/services/utils/get-plugins-that-need-documentation.d.ts.map +1 -0
  96. package/dist/server/src/types.d.ts +28 -0
  97. package/dist/server/src/types.d.ts.map +1 -0
  98. package/dist/server/src/utils.d.ts +12 -0
  99. package/dist/server/src/utils.d.ts.map +1 -0
  100. package/package.json +33 -16
  101. package/strapi-server.js +1 -1
  102. package/.eslintignore +0 -1
  103. package/.eslintrc +0 -17
  104. package/admin/src/constants.js +0 -17
  105. package/admin/src/hooks/useDocumentation.js +0 -81
  106. package/admin/src/index.js +0 -62
  107. package/admin/src/pages/PluginPage/index.jsx +0 -212
  108. package/admin/src/pages/PluginPage/tests/index.test.jsx +0 -160
  109. package/admin/src/pages/SettingsPage/index.jsx +0 -202
  110. package/admin/src/pages/SettingsPage/tests/index.test.jsx +0 -72
  111. package/admin/src/pluginId.js +0 -5
  112. package/admin/src/translations/ar.json +0 -20
  113. package/admin/src/translations/cs.json +0 -21
  114. package/admin/src/translations/de.json +0 -26
  115. package/admin/src/translations/dk.json +0 -39
  116. package/admin/src/translations/en.json +0 -39
  117. package/admin/src/translations/es.json +0 -39
  118. package/admin/src/translations/fr.json +0 -26
  119. package/admin/src/translations/id.json +0 -24
  120. package/admin/src/translations/it.json +0 -26
  121. package/admin/src/translations/ko.json +0 -39
  122. package/admin/src/translations/ms.json +0 -23
  123. package/admin/src/translations/nl.json +0 -21
  124. package/admin/src/translations/pl.json +0 -39
  125. package/admin/src/translations/pt-BR.json +0 -21
  126. package/admin/src/translations/pt.json +0 -21
  127. package/admin/src/translations/ru.json +0 -39
  128. package/admin/src/translations/sk.json +0 -24
  129. package/admin/src/translations/sv.json +0 -39
  130. package/admin/src/translations/th.json +0 -24
  131. package/admin/src/translations/tr.json +0 -39
  132. package/admin/src/translations/uk.json +0 -23
  133. package/admin/src/translations/vi.json +0 -24
  134. package/admin/src/translations/zh-Hans.json +0 -28
  135. package/admin/src/translations/zh.json +0 -39
  136. package/admin/src/utils/getTrad.js +0 -5
  137. package/admin/src/utils/index.js +0 -2
  138. package/admin/src/utils/prefixPluginTranslations.js +0 -13
  139. package/dist/_chunks/index-7xstUX8_.mjs.map +0 -1
  140. package/dist/_chunks/index-D1KkfApT.js.map +0 -1
  141. package/dist/_chunks/index-NbPCucJl.js.map +0 -1
  142. package/dist/_chunks/index-NvJ4m2q5.mjs.map +0 -1
  143. package/dist/_chunks/index-VpLAJXMs.mjs.map +0 -1
  144. package/dist/_chunks/index-r7HsQTou.js.map +0 -1
  145. package/dist/_chunks/useDocumentation-6Ks-_Ms6.mjs +0 -68
  146. package/dist/_chunks/useDocumentation-6Ks-_Ms6.mjs.map +0 -1
  147. package/dist/_chunks/useDocumentation-S0e4mU-U.js +0 -67
  148. package/dist/_chunks/useDocumentation-S0e4mU-U.js.map +0 -1
  149. package/jest.config.front.js +0 -7
  150. package/jest.config.js +0 -6
  151. package/packup.config.ts +0 -22
  152. package/server/bootstrap.js +0 -54
  153. package/server/config/default-plugin-config.js +0 -35
  154. package/server/config/index.js +0 -7
  155. package/server/controllers/documentation.js +0 -241
  156. package/server/controllers/index.js +0 -7
  157. package/server/index.js +0 -17
  158. package/server/middlewares/documentation.js +0 -25
  159. package/server/middlewares/index.js +0 -7
  160. package/server/middlewares/restrict-access.js +0 -24
  161. package/server/register.js +0 -11
  162. package/server/routes/index.js +0 -84
  163. package/server/services/__mocks__/mock-content-types.js +0 -264
  164. package/server/services/__mocks__/mock-strapi-data.js +0 -183
  165. package/server/services/__tests__/build-component-schema.test.js +0 -761
  166. package/server/services/__tests__/documentation.test.js +0 -481
  167. package/server/services/__tests__/override.test.js +0 -85
  168. package/server/services/documentation.js +0 -246
  169. package/server/services/helpers/build-api-endpoint-path.js +0 -186
  170. package/server/services/helpers/build-component-schema.js +0 -254
  171. package/server/services/helpers/index.js +0 -9
  172. package/server/services/helpers/utils/clean-schema-attributes.js +0 -246
  173. package/server/services/helpers/utils/get-api-responses.js +0 -105
  174. package/server/services/helpers/utils/get-schema-data.js +0 -32
  175. package/server/services/helpers/utils/loop-content-type-names.js +0 -55
  176. package/server/services/helpers/utils/pascal-case.js +0 -9
  177. package/server/services/helpers/utils/query-params.js +0 -105
  178. package/server/services/helpers/utils/routes.js +0 -10
  179. package/server/services/index.js +0 -9
  180. package/server/services/override.js +0 -52
  181. package/server/services/utils/default-openapi-components.js +0 -40
  182. package/server/services/utils/get-plugins-that-need-documentation.js +0 -24
  183. package/tests/server.js +0 -37
  184. package/tests/setup.js +0 -15
@@ -0,0 +1,15 @@
1
+ import type { OpenAPIV3 } from 'openapi-types';
2
+ interface Options {
3
+ uniqueName: string;
4
+ route: {
5
+ method: string;
6
+ };
7
+ isListOfEntities?: boolean;
8
+ isLocalizationPath?: boolean;
9
+ }
10
+ /**
11
+ * @description - Builds the Swagger response object for a given api
12
+ */
13
+ declare const getApiResponse: ({ uniqueName, route, isListOfEntities, }: Options) => OpenAPIV3.ResponsesObject;
14
+ export default getApiResponse;
15
+ //# sourceMappingURL=get-api-responses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-api-responses.d.ts","sourceRoot":"","sources":["../../../../../../server/src/services/helpers/utils/get-api-responses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG/C,UAAU,OAAO;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;GAEG;AACH,QAAA,MAAM,cAAc,6CAIjB,OAAO,KAAG,UAAU,eA8EtB,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { OpenAPIV3 } from 'openapi-types';
2
+ /**
3
+ * @description Determines the format of the data response
4
+ *
5
+ * @param {boolean} isListOfEntities - Checks for a multiple entities
6
+ * @param {object} attributes - The attributes found on a contentType
7
+
8
+ * @returns object | array of attributes
9
+ */
10
+ declare const _default: (isListOfEntities: boolean, attributes: Record<string, OpenAPIV3.SchemaObject | OpenAPIV3.ReferenceObject>) => OpenAPIV3.SchemaObject;
11
+ export default _default;
12
+ //# sourceMappingURL=get-schema-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-schema-data.d.ts","sourceRoot":"","sources":["../../../../../../server/src/services/helpers/utils/get-schema-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;GAOG;2CAEiB,OAAO,cACb,OAAO,MAAM,EAAE,UAAU,YAAY,GAAG,UAAU,eAAe,CAAC,KAC7E,UAAU,YAAY;AAHzB,wBA0BE"}
@@ -0,0 +1,7 @@
1
+ import type { Api, ApiInfo } from '../../../types';
2
+ /**
3
+ * @description A reusable loop for building api endpoint paths and component schemas
4
+ */
5
+ declare const loopContentTypeNames: (api: Api, callback: (info: ApiInfo) => any) => {};
6
+ export default loopContentTypeNames;
7
+ //# sourceMappingURL=loop-content-type-names.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loop-content-type-names.d.ts","sourceRoot":"","sources":["../../../../../../server/src/services/helpers/utils/loop-content-type-names.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;GAEG;AACH,QAAA,MAAM,oBAAoB,QAAS,GAAG,mBAAmB,OAAO,KAAK,GAAG,OA2CvE,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const pascalCase: (string: string) => string;
2
+ export default pascalCase;
3
+ //# sourceMappingURL=pascal-case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pascal-case.d.ts","sourceRoot":"","sources":["../../../../../../server/src/services/helpers/utils/pascal-case.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,UAAU,WAAY,MAAM,WAEjC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { OpenAPIV3 } from 'openapi-types';
2
+ declare const params: OpenAPIV3.ParameterObject[];
3
+ export default params;
4
+ //# sourceMappingURL=query-params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-params.d.ts","sourceRoot":"","sources":["../../../../../../server/src/services/helpers/utils/query-params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,QAAA,MAAM,MAAM,EAAE,SAAS,CAAC,eAAe,EAsGtC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const hasFindMethod: (handler: unknown) => boolean;
2
+ export { hasFindMethod };
3
+ //# sourceMappingURL=routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../../../server/src/services/helpers/utils/routes.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,aAAa,YAAa,OAAO,YAMtC,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { type DocumentationService } from './documentation';
2
+ import { type OverrideService } from './override';
3
+ declare const _default: {
4
+ documentation: ({ strapi }: {
5
+ strapi: import("@strapi/types/dist/core").Strapi;
6
+ }) => {
7
+ getDocumentationVersion(): string;
8
+ getFullDocumentationPath(): string;
9
+ getDocumentationVersions(): import("./documentation").Version[];
10
+ getDocumentationAccess(): Promise<{
11
+ restrictedAccess: boolean;
12
+ }>;
13
+ getApiDocumentationPath(api: {
14
+ name: string;
15
+ getter: string;
16
+ }): string;
17
+ deleteDocumentation(version: string): Promise<void>;
18
+ getPluginAndApiInfo(): {
19
+ name: string;
20
+ getter: string;
21
+ ctNames: string[];
22
+ }[];
23
+ generateFullDoc(versionOpt?: string | undefined): Promise<void>;
24
+ };
25
+ override: ({ strapi }: {
26
+ strapi: import("@strapi/types/dist/core").Strapi;
27
+ }) => {
28
+ registeredOverrides: Partial<import("../types").PluginConfig>[];
29
+ excludedFromGeneration: string[];
30
+ excludeFromGeneration(api: string | string[]): void;
31
+ isEnabled(name: string): boolean;
32
+ registerOverride(override: Partial<import("../types").PluginConfig>, opts?: {
33
+ pluginOrigin: string;
34
+ excludeFromGeneration?: string[] | undefined;
35
+ } | undefined): void;
36
+ };
37
+ };
38
+ export default _default;
39
+ export type Services = {
40
+ documentation: DocumentationService;
41
+ override: OverrideService;
42
+ };
43
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/services/index.ts"],"names":[],"mappings":"AAEA,OAAsB,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE5D,wBAGE;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,aAAa,EAAE,oBAAoB,CAAC;IACpC,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { Core } from '@strapi/types';
2
+ import type { PluginConfig } from '../types';
3
+ export type OverrideService = ReturnType<typeof createService>;
4
+ declare const createService: ({ strapi }: {
5
+ strapi: Core.Strapi;
6
+ }) => {
7
+ registeredOverrides: Partial<PluginConfig>[];
8
+ excludedFromGeneration: string[];
9
+ /**
10
+ *
11
+ * @param {(string | string[])} api - The name of the api or and array of apis to exclude from generation
12
+ */
13
+ excludeFromGeneration(api: string | string[]): void;
14
+ isEnabled(name: string): boolean;
15
+ registerOverride(override: Partial<PluginConfig>, opts?: {
16
+ pluginOrigin: string;
17
+ excludeFromGeneration?: string[];
18
+ }): void;
19
+ };
20
+ export default createService;
21
+ //# sourceMappingURL=override.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"override.d.ts","sourceRoot":"","sources":["../../../../server/src/services/override.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AAE/D,QAAA,MAAM,aAAa;YAA0B,KAAK,MAAM;;;;IAOpD;;;OAGG;+BACwB,MAAM,GAAG,MAAM,EAAE;oBAU5B,MAAM;+BAKV,QAAQ,YAAY,CAAC,SACxB;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE;CAwBtE,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { PluginConfig } from '../../types';
2
+ declare const getPluginsThatNeedDocumentation: (config: PluginConfig) => string[];
3
+ export { getPluginsThatNeedDocumentation };
4
+ //# sourceMappingURL=get-plugins-that-need-documentation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-plugins-that-need-documentation.d.ts","sourceRoot":"","sources":["../../../../../server/src/services/utils/get-plugins-that-need-documentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,QAAA,MAAM,+BAA+B,WAAY,YAAY,aAmB5D,CAAC;AAEF,OAAO,EAAE,+BAA+B,EAAE,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { Core, Struct } from '@strapi/types';
2
+ import type { OpenAPIV3 } from 'openapi-types';
3
+ export interface Config {
4
+ restrictedAccess: boolean;
5
+ password?: string;
6
+ }
7
+ export type PluginConfig = OpenAPIV3.Document & {
8
+ info: OpenAPIV3.InfoObject & {
9
+ 'x-generation-date'?: string;
10
+ };
11
+ 'x-strapi-config': {
12
+ plugins: string[] | null;
13
+ mutateDocumentation?: ((state: OpenAPIV3.Document) => OpenAPIV3.Document) | null;
14
+ };
15
+ };
16
+ export interface ApiInfo {
17
+ routeInfo: Core.Router;
18
+ attributes: Struct.SchemaAttributes;
19
+ uniqueName: string;
20
+ contentTypeInfo: any;
21
+ kind: string;
22
+ }
23
+ export interface Api {
24
+ getter: string;
25
+ name: string;
26
+ ctNames: string[];
27
+ }
28
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../server/src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,MAAM;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,GAAG;IAC9C,IAAI,EAAE,SAAS,CAAC,UAAU,GAAG;QAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,iBAAiB,EAAE;QACjB,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACzB,mBAAmB,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;KAClF,CAAC;CACH,CAAC;AAEF,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC,gBAAgB,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,GAAG,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,GAAG;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB"}
@@ -0,0 +1,12 @@
1
+ import type { Core } from '@strapi/types';
2
+ import type { Services } from './services';
3
+ export declare const getService: <TName extends keyof Services>(name: TName, { strapi }?: {
4
+ strapi: Core.Strapi;
5
+ }) => Services[TName];
6
+ declare const _default: {
7
+ getService: <TName extends keyof Services>(name: TName, { strapi }?: {
8
+ strapi: Core.Strapi;
9
+ }) => Services[TName];
10
+ };
11
+ export default _default;
12
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../server/src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,eAAO,MAAM,UAAU;YAEC,KAAK,MAAM;qBAGlC,CAAC;;;;;;AAEF,wBAEE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/plugin-documentation",
3
- "version": "5.0.0-beta.0",
3
+ "version": "5.0.0-beta.2",
4
4
  "description": "Create an OpenAPI Document and visualize your API with SWAGGER UI.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -22,32 +22,42 @@
22
22
  ],
23
23
  "exports": {
24
24
  "./strapi-admin": {
25
- "source": "./admin/src/index.js",
25
+ "types": "./dist/admin/src/index.d.ts",
26
+ "source": "./admin/src/index.ts",
26
27
  "import": "./dist/admin/index.mjs",
27
28
  "require": "./dist/admin/index.js",
28
29
  "default": "./dist/admin/index.js"
29
30
  },
30
31
  "./strapi-server": {
31
- "source": "./strapi-server.js",
32
- "require": "./strapi-server.js",
33
- "default": "./strapi-server.js"
32
+ "types": "./dist/server/src/index.d.ts",
33
+ "source": "./server/src/index.ts",
34
+ "import": "./dist/server/index.mjs",
35
+ "require": "./dist/server/index.js",
36
+ "default": "./dist/server/index.js"
34
37
  },
35
38
  "./package.json": "./package.json"
36
39
  },
40
+ "files": [
41
+ "dist/",
42
+ "strapi-server.js"
43
+ ],
37
44
  "scripts": {
38
- "build": "pack-up build",
39
- "clean": "run -T rimraf dist",
45
+ "build": "strapi plugin:build --force",
46
+ "clean": "run -T rimraf ./dist",
40
47
  "lint": "run -T eslint .",
41
48
  "test:front": "run -T cross-env IS_EE=true jest --config ./jest.config.front.js",
42
49
  "test:front:watch": "run -T cross-env IS_EE=true jest --config ./jest.config.front.js --watchAll",
43
- "test:unit": "jest --verbose",
50
+ "test:unit": "run -T jest --verbose",
44
51
  "test:unit:watch": "run -T jest --watch",
45
- "watch": "pack-up watch"
52
+ "watch": "strapi plugin:watch"
46
53
  },
47
54
  "dependencies": {
55
+ "@reduxjs/toolkit": "1.9.7",
56
+ "@strapi/admin": "5.0.0-beta.2",
48
57
  "@strapi/design-system": "1.16.0",
49
58
  "@strapi/icons": "1.16.0",
50
- "@strapi/utils": "5.0.0-beta.0",
59
+ "@strapi/utils": "5.0.0-beta.2",
60
+ "axios": "1.6.8",
51
61
  "bcryptjs": "2.4.3",
52
62
  "cheerio": "^1.0.0-rc.12",
53
63
  "formik": "2.4.5",
@@ -56,27 +66,34 @@
56
66
  "koa-static": "^5.0.0",
57
67
  "lodash": "4.17.21",
58
68
  "path-to-regexp": "6.2.1",
59
- "react-helmet": "^6.1.0",
60
69
  "react-intl": "6.6.2",
61
- "react-query": "3.39.3",
62
70
  "swagger-ui-dist": "4.19.0",
63
71
  "yaml": "1.10.2",
64
72
  "yup": "0.32.9"
65
73
  },
66
74
  "devDependencies": {
67
75
  "@apidevtools/swagger-parser": "^10.1.0",
68
- "@strapi/pack-up": "5.0.0-beta.0",
69
- "@strapi/strapi": "5.0.0-beta.0",
76
+ "@strapi/admin-test-utils": "5.0.0-beta.2",
77
+ "@strapi/pack-up": "5.0.0-beta.2",
78
+ "@strapi/strapi": "5.0.0-beta.2",
79
+ "@strapi/types": "5.0.0-beta.2",
70
80
  "@testing-library/react": "14.0.0",
71
81
  "@testing-library/user-event": "14.4.3",
82
+ "@types/koa": "2.13.4",
83
+ "@types/koa-session": "6.4.1",
84
+ "@types/swagger-ui-dist": "3.30.4",
85
+ "koa": "2.13.4",
86
+ "koa-body": "4.2.0",
87
+ "koa-session": "6.4.0",
72
88
  "msw": "1.3.0",
89
+ "openapi-types": "12.1.3",
73
90
  "react": "^18.2.0",
74
91
  "react-dom": "^18.2.0",
75
92
  "react-router-dom": "6.22.3",
76
93
  "styled-components": "5.3.11"
77
94
  },
78
95
  "peerDependencies": {
79
- "@strapi/strapi": "^4.0.0",
96
+ "@strapi/strapi": "^5.0.0 || ^5.0.0-beta || ^5.0.0-alpha || ^5.0.0-rc",
80
97
  "react": "^17.0.0 || ^18.0.0",
81
98
  "react-dom": "^17.0.0 || ^18.0.0",
82
99
  "react-router-dom": "^6.0.0",
@@ -92,5 +109,5 @@
92
109
  "description": "Create an OpenAPI Document and visualize your API with SWAGGER UI.",
93
110
  "kind": "plugin"
94
111
  },
95
- "gitHead": "4b2e592f77adbb0eacd7e3f15dd09e5cd3c46c22"
112
+ "gitHead": "e39426bd12ead73ca35d3d9bbf6dc71b5e8ac354"
96
113
  }
package/strapi-server.js CHANGED
@@ -1,3 +1,3 @@
1
1
  'use strict';
2
2
 
3
- module.exports = require('./server');
3
+ module.exports = require('./dist/server');
package/.eslintignore DELETED
@@ -1 +0,0 @@
1
- dist
package/.eslintrc DELETED
@@ -1,17 +0,0 @@
1
- {
2
- "root": true,
3
- "overrides": [
4
- {
5
- "files": ["admin/**/*"],
6
- "extends": ["custom/front"],
7
- "rules": {
8
- "import/extensions": "off"
9
- }
10
- },
11
- {
12
- "files": ["**/*"],
13
- "excludedFiles": ["admin/**/*"],
14
- "extends": ["custom/back"]
15
- }
16
- ]
17
- }
@@ -1,17 +0,0 @@
1
- export const PERMISSIONS = {
2
- // This permission regards the main component (App) and is used to tell
3
- // If the plugin link should be displayed in the menu
4
- // And also if the plugin is accessible. This use case is found when a user types the url of the
5
- // plugin directly in the browser
6
- main: [
7
- { action: 'plugin::documentation.read', subject: null },
8
- { action: 'plugin::documentation.settings.regenerate', subject: null },
9
- { action: 'plugin::documentation.settings.update', subject: null },
10
- ],
11
- open: [
12
- { action: 'plugin::documentation.read', subject: null },
13
- { action: 'plugin::documentation.settings.regenerate', subject: null },
14
- ],
15
- regenerate: [{ action: 'plugin::documentation.settings.regenerate', subject: null }],
16
- update: [{ action: 'plugin::documentation.settings.update', subject: null }],
17
- };
@@ -1,81 +0,0 @@
1
- import { useEffect } from 'react';
2
-
3
- import { useAPIErrorHandler, useNotification, useFetchClient } from '@strapi/strapi/admin';
4
- import { useIntl } from 'react-intl';
5
- import { useMutation, useQuery } from 'react-query';
6
-
7
- import pluginId from '../pluginId';
8
- import getTrad from '../utils/getTrad';
9
-
10
- export const useDocumentation = () => {
11
- const { toggleNotification } = useNotification();
12
- const { formatMessage } = useIntl();
13
- const { del, post, put, get } = useFetchClient();
14
-
15
- const { formatAPIError } = useAPIErrorHandler();
16
-
17
- const { isLoading, isError, data, refetch, error } = useQuery(
18
- ['get-documentation', pluginId],
19
- async () => {
20
- const { data } = await get(`/${pluginId}/getInfos`);
21
-
22
- return data;
23
- }
24
- );
25
-
26
- useEffect(() => {
27
- if (isError && error) {
28
- toggleNotification({
29
- type: 'danger',
30
- message: error
31
- ? formatAPIError(error)
32
- : formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),
33
- });
34
- }
35
- }, [isError, error, toggleNotification, formatAPIError, formatMessage]);
36
-
37
- const handleError = (err) => {
38
- toggleNotification({
39
- type: 'danger',
40
- message: formatAPIError(err),
41
- });
42
- };
43
-
44
- const handleSuccess = (type, tradId, defaultMessage) => {
45
- refetch();
46
- toggleNotification({
47
- type,
48
- message: formatMessage({ id: getTrad(tradId), defaultMessage }),
49
- });
50
- };
51
-
52
- const deleteMutation = useMutation(
53
- ({ prefix, version }) => del(`${prefix}/deleteDoc/${version}`),
54
- {
55
- onSuccess: () =>
56
- handleSuccess('info', 'notification.delete.success', 'Successfully deleted documentation'),
57
- onError: handleError,
58
- }
59
- );
60
-
61
- const submit = useMutation(({ prefix, body }) => put(`${prefix}/updateSettings`, body), {
62
- onSuccess: () =>
63
- handleSuccess('success', 'notification.update.success', 'Successfully updated settings'),
64
- onError: handleError,
65
- });
66
-
67
- const regenerate = useMutation(
68
- ({ prefix, version }) => post(`${prefix}/regenerateDoc`, { version }),
69
- {
70
- onSuccess: () =>
71
- handleSuccess(
72
- 'info',
73
- 'notification.generate.success',
74
- 'Successfully generated documentation'
75
- ),
76
- onError: handleError,
77
- }
78
- );
79
-
80
- return { data, isLoading, isError, remove: deleteMutation, submit, regenerate };
81
- };
@@ -1,62 +0,0 @@
1
- import { Information } from '@strapi/icons';
2
-
3
- import pluginPkg from '../../package.json';
4
-
5
- import { PERMISSIONS } from './constants';
6
- import pluginId from './pluginId';
7
- import { prefixPluginTranslations } from './utils/prefixPluginTranslations';
8
-
9
- const name = pluginPkg.strapi.name;
10
-
11
- export default {
12
- register(app) {
13
- app.addMenuLink({
14
- to: `plugins/${pluginId}`,
15
- icon: Information,
16
- intlLabel: {
17
- id: `${pluginId}.plugin.name`,
18
- defaultMessage: 'Documentation',
19
- },
20
- permissions: PERMISSIONS.main,
21
- Component: () => import('./pages/PluginPage'),
22
- });
23
-
24
- app.registerPlugin({
25
- id: pluginId,
26
- name,
27
- });
28
- },
29
- bootstrap(app) {
30
- app.addSettingsLink('global', {
31
- intlLabel: {
32
- id: `${pluginId}.plugin.name`,
33
- defaultMessage: 'Documentation',
34
- },
35
- id: 'documentation',
36
- to: pluginId,
37
- Component: () => import('./pages/SettingsPage'),
38
- permissions: PERMISSIONS.main,
39
- });
40
- },
41
- async registerTrads({ locales }) {
42
- const importedTrads = await Promise.all(
43
- locales.map((locale) => {
44
- return import(`./translations/${locale}.json`)
45
- .then(({ default: data }) => {
46
- return {
47
- data: prefixPluginTranslations(data, pluginId),
48
- locale,
49
- };
50
- })
51
- .catch(() => {
52
- return {
53
- data: {},
54
- locale,
55
- };
56
- });
57
- })
58
- );
59
-
60
- return Promise.resolve(importedTrads);
61
- },
62
- };