@strapi/content-releases 0.0.0-experimental.ee4d311a5e6a131fad03cf07e4696f49fdd9c2e6 → 0.0.0-experimental.f75e3c6d67cc47c64ab37479efdbb7b43be50b78

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 (110) hide show
  1. package/dist/_chunks/App-DUmziQ17.js +1366 -0
  2. package/dist/_chunks/App-DUmziQ17.js.map +1 -0
  3. package/dist/_chunks/App-D_6Y9N2F.mjs +1344 -0
  4. package/dist/_chunks/App-D_6Y9N2F.mjs.map +1 -0
  5. package/dist/_chunks/PurchaseContentReleases-Be3acS2L.js +52 -0
  6. package/dist/_chunks/PurchaseContentReleases-Be3acS2L.js.map +1 -0
  7. package/dist/_chunks/PurchaseContentReleases-_MxP6-Dt.mjs +52 -0
  8. package/dist/_chunks/PurchaseContentReleases-_MxP6-Dt.mjs.map +1 -0
  9. package/dist/_chunks/{en-MyLPoISH.mjs → en-B9Ur3VsE.mjs} +30 -7
  10. package/dist/_chunks/en-B9Ur3VsE.mjs.map +1 -0
  11. package/dist/_chunks/{en-gYDqKYFd.js → en-DtFJ5ViE.js} +30 -7
  12. package/dist/_chunks/en-DtFJ5ViE.js.map +1 -0
  13. package/dist/_chunks/{index-EIe8S-cw.mjs → index-BomF0-yY.mjs} +352 -221
  14. package/dist/_chunks/index-BomF0-yY.mjs.map +1 -0
  15. package/dist/_chunks/{index-l5iuP0Hb.js → index-C5Hc767q.js} +346 -217
  16. package/dist/_chunks/index-C5Hc767q.js.map +1 -0
  17. package/dist/admin/index.js +1 -15
  18. package/dist/admin/index.js.map +1 -1
  19. package/dist/admin/index.mjs +2 -16
  20. package/dist/admin/index.mjs.map +1 -1
  21. package/dist/admin/src/components/CMReleasesContainer.d.ts +22 -0
  22. package/dist/admin/src/components/RelativeTime.d.ts +28 -0
  23. package/dist/admin/src/components/ReleaseAction.d.ts +3 -0
  24. package/dist/admin/src/components/ReleaseActionMenu.d.ts +26 -0
  25. package/dist/admin/src/components/ReleaseActionOptions.d.ts +9 -0
  26. package/dist/admin/src/components/ReleaseListCell.d.ts +0 -0
  27. package/dist/admin/src/components/ReleaseModal.d.ts +16 -0
  28. package/dist/admin/src/constants.d.ts +58 -0
  29. package/dist/admin/src/index.d.ts +3 -0
  30. package/dist/admin/src/pages/App.d.ts +1 -0
  31. package/dist/admin/src/pages/PurchaseContentReleases.d.ts +2 -0
  32. package/dist/admin/src/pages/ReleaseDetailsPage.d.ts +2 -0
  33. package/dist/admin/src/pages/ReleasesPage.d.ts +8 -0
  34. package/dist/admin/src/pages/tests/mockReleaseDetailsPageData.d.ts +181 -0
  35. package/dist/admin/src/pages/tests/mockReleasesPageData.d.ts +39 -0
  36. package/dist/admin/src/pluginId.d.ts +1 -0
  37. package/dist/admin/src/services/release.d.ts +105 -0
  38. package/dist/admin/src/store/hooks.d.ts +7 -0
  39. package/dist/admin/src/utils/api.d.ts +6 -0
  40. package/dist/admin/src/utils/prefixPluginTranslations.d.ts +3 -0
  41. package/dist/admin/src/utils/time.d.ts +1 -0
  42. package/dist/server/index.js +1113 -418
  43. package/dist/server/index.js.map +1 -1
  44. package/dist/server/index.mjs +1113 -418
  45. package/dist/server/index.mjs.map +1 -1
  46. package/dist/server/src/bootstrap.d.ts +5 -0
  47. package/dist/server/src/bootstrap.d.ts.map +1 -0
  48. package/dist/server/src/constants.d.ts +12 -0
  49. package/dist/server/src/constants.d.ts.map +1 -0
  50. package/dist/server/src/content-types/index.d.ts +99 -0
  51. package/dist/server/src/content-types/index.d.ts.map +1 -0
  52. package/dist/server/src/content-types/release/index.d.ts +48 -0
  53. package/dist/server/src/content-types/release/index.d.ts.map +1 -0
  54. package/dist/server/src/content-types/release/schema.d.ts +47 -0
  55. package/dist/server/src/content-types/release/schema.d.ts.map +1 -0
  56. package/dist/server/src/content-types/release-action/index.d.ts +50 -0
  57. package/dist/server/src/content-types/release-action/index.d.ts.map +1 -0
  58. package/dist/server/src/content-types/release-action/schema.d.ts +49 -0
  59. package/dist/server/src/content-types/release-action/schema.d.ts.map +1 -0
  60. package/dist/server/src/controllers/index.d.ts +20 -0
  61. package/dist/server/src/controllers/index.d.ts.map +1 -0
  62. package/dist/server/src/controllers/release-action.d.ts +10 -0
  63. package/dist/server/src/controllers/release-action.d.ts.map +1 -0
  64. package/dist/server/src/controllers/release.d.ts +12 -0
  65. package/dist/server/src/controllers/release.d.ts.map +1 -0
  66. package/dist/server/src/controllers/validation/release-action.d.ts +8 -0
  67. package/dist/server/src/controllers/validation/release-action.d.ts.map +1 -0
  68. package/dist/server/src/controllers/validation/release.d.ts +2 -0
  69. package/dist/server/src/controllers/validation/release.d.ts.map +1 -0
  70. package/dist/server/src/destroy.d.ts +5 -0
  71. package/dist/server/src/destroy.d.ts.map +1 -0
  72. package/dist/server/src/index.d.ts +2096 -0
  73. package/dist/server/src/index.d.ts.map +1 -0
  74. package/dist/server/src/migrations/index.d.ts +13 -0
  75. package/dist/server/src/migrations/index.d.ts.map +1 -0
  76. package/dist/server/src/register.d.ts +5 -0
  77. package/dist/server/src/register.d.ts.map +1 -0
  78. package/dist/server/src/routes/index.d.ts +35 -0
  79. package/dist/server/src/routes/index.d.ts.map +1 -0
  80. package/dist/server/src/routes/release-action.d.ts +18 -0
  81. package/dist/server/src/routes/release-action.d.ts.map +1 -0
  82. package/dist/server/src/routes/release.d.ts +18 -0
  83. package/dist/server/src/routes/release.d.ts.map +1 -0
  84. package/dist/server/src/services/index.d.ts +1826 -0
  85. package/dist/server/src/services/index.d.ts.map +1 -0
  86. package/dist/server/src/services/release.d.ts +66 -0
  87. package/dist/server/src/services/release.d.ts.map +1 -0
  88. package/dist/server/src/services/scheduling.d.ts +18 -0
  89. package/dist/server/src/services/scheduling.d.ts.map +1 -0
  90. package/dist/server/src/services/validation.d.ts +18 -0
  91. package/dist/server/src/services/validation.d.ts.map +1 -0
  92. package/dist/server/src/utils/index.d.ts +14 -0
  93. package/dist/server/src/utils/index.d.ts.map +1 -0
  94. package/dist/shared/contracts/release-actions.d.ts +131 -0
  95. package/dist/shared/contracts/release-actions.d.ts.map +1 -0
  96. package/dist/shared/contracts/releases.d.ts +182 -0
  97. package/dist/shared/contracts/releases.d.ts.map +1 -0
  98. package/dist/shared/types.d.ts +24 -0
  99. package/dist/shared/types.d.ts.map +1 -0
  100. package/dist/shared/validation-schemas.d.ts +2 -0
  101. package/dist/shared/validation-schemas.d.ts.map +1 -0
  102. package/package.json +31 -35
  103. package/dist/_chunks/App-0yPbcoGt.js +0 -1037
  104. package/dist/_chunks/App-0yPbcoGt.js.map +0 -1
  105. package/dist/_chunks/App-BWaM2ihP.mjs +0 -1015
  106. package/dist/_chunks/App-BWaM2ihP.mjs.map +0 -1
  107. package/dist/_chunks/en-MyLPoISH.mjs.map +0 -1
  108. package/dist/_chunks/en-gYDqKYFd.js.map +0 -1
  109. package/dist/_chunks/index-EIe8S-cw.mjs.map +0 -1
  110. package/dist/_chunks/index-l5iuP0Hb.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/services/index.ts"],"names":[],"mappings":";AAIA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIpB,CAAC"}
@@ -0,0 +1,66 @@
1
+ /// <reference types="lodash" />
2
+ import type { Core, Modules, Struct } from '@strapi/types';
3
+ import { RELEASE_ACTION_MODEL_UID } from '../constants';
4
+ import type { GetReleases, CreateRelease, UpdateRelease, PublishRelease, GetRelease, Release, DeleteRelease, GetContentTypeEntryReleases, MapEntriesToReleases } from '../../../shared/contracts/releases';
5
+ import type { CreateReleaseAction, GetReleaseActions, ReleaseAction, UpdateReleaseAction, DeleteReleaseAction, ReleaseActionGroupBy } from '../../../shared/contracts/release-actions';
6
+ import type { Entity, UserInfo } from '../../../shared/types';
7
+ export interface Locale extends Entity {
8
+ name: string;
9
+ code: string;
10
+ }
11
+ type LocaleDictionary = {
12
+ [key: Locale['code']]: Pick<Locale, 'name' | 'code'>;
13
+ };
14
+ declare const createReleaseService: ({ strapi }: {
15
+ strapi: Core.Strapi;
16
+ }) => {
17
+ create(releaseData: CreateRelease.Request['body'], { user }: {
18
+ user: UserInfo;
19
+ }): Promise<any>;
20
+ findOne(id: GetRelease.Request['params']['id'], query?: {}): Promise<any>;
21
+ findPage(query?: GetReleases.Request['query']): Promise<{
22
+ results: any[];
23
+ pagination: {
24
+ page: number;
25
+ pageSize: number;
26
+ pageCount: number;
27
+ total: number;
28
+ };
29
+ }>;
30
+ findManyWithContentTypeEntryAttached(contentTypeUid: GetContentTypeEntryReleases.Request['query']['contentTypeUid'], entriesIds: GetContentTypeEntryReleases.Request['query']['entryId'] | MapEntriesToReleases.Request['query']['entriesIds']): Promise<any[]>;
31
+ findManyWithoutContentTypeEntryAttached(contentTypeUid: GetContentTypeEntryReleases.Request['query']['contentTypeUid'], entryId: GetContentTypeEntryReleases.Request['query']['entryId']): Promise<any[]>;
32
+ update(id: number, releaseData: UpdateRelease.Request['body'], { user }: {
33
+ user: UserInfo;
34
+ }): Promise<any>;
35
+ createAction(releaseId: CreateReleaseAction.Request['params']['releaseId'], action: Pick<CreateReleaseAction.Request['body'], 'type' | 'entry'>): Promise<any>;
36
+ findActions(releaseId: GetReleaseActions.Request['params']['releaseId'], query?: GetReleaseActions.Request['query']): Promise<{
37
+ results: any[];
38
+ pagination: {
39
+ page: number;
40
+ pageSize: number;
41
+ pageCount: number;
42
+ total: number;
43
+ };
44
+ }>;
45
+ countActions(query: Modules.EntityService.Params.Pick<typeof RELEASE_ACTION_MODEL_UID, 'filters'>): Promise<number>;
46
+ groupActions(actions: ReleaseAction[], groupBy: ReleaseActionGroupBy): Promise<import("lodash").Dictionary<(null | undefined)[]>>;
47
+ getLocalesDataForActions(): Promise<LocaleDictionary>;
48
+ getContentTypesDataForActions(contentTypesUids: ReleaseAction['contentType'][]): Promise<Record<`admin::${string}` | `strapi::${string}` | `api::${string}.${string}` | `plugin::${string}.${string}`, {
49
+ mainField: string;
50
+ displayName: string;
51
+ }>>;
52
+ getContentTypeModelsFromActions(actions: ReleaseAction[]): {
53
+ [key: `admin::${string}`]: Struct.ContentTypeSchema;
54
+ [key: `strapi::${string}`]: Struct.ContentTypeSchema;
55
+ [key: `api::${string}.${string}`]: Struct.ContentTypeSchema;
56
+ [key: `plugin::${string}.${string}`]: Struct.ContentTypeSchema;
57
+ };
58
+ getAllComponents(): Promise<any>;
59
+ delete(releaseId: DeleteRelease.Request['params']['id']): Promise<Release>;
60
+ publish(releaseId: PublishRelease.Request['params']['id']): Promise<Pick<Release, "id" | "releasedAt" | "status"> | null>;
61
+ updateAction(actionId: UpdateReleaseAction.Request['params']['actionId'], releaseId: UpdateReleaseAction.Request['params']['releaseId'], update: UpdateReleaseAction.Request['body']): Promise<any>;
62
+ deleteAction(actionId: DeleteReleaseAction.Request['params']['actionId'], releaseId: DeleteReleaseAction.Request['params']['releaseId']): Promise<any>;
63
+ updateReleaseStatus(releaseId: Release['id']): Promise<any>;
64
+ };
65
+ export default createReleaseService;
66
+ //# sourceMappingURL=release.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../../../server/src/services/release.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAiB,MAAM,eAAe,CAAC;AAI1E,OAAO,EAA0B,wBAAwB,EAAqB,MAAM,cAAc,CAAC;AACnG,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,aAAa,EACb,cAAc,EACd,UAAU,EACV,OAAO,EACP,aAAa,EACb,2BAA2B,EAC3B,oBAAoB,EACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAG9D,MAAM,WAAW,MAAO,SAAQ,MAAM;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,KAAK,gBAAgB,GAAG;IACtB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;CACtD,CAAC;AAeF,QAAA,MAAM,oBAAoB,eAAgB;IAAE,MAAM,EAAE,KAAK,MAAM,CAAA;CAAE;wBA0JnC,qBAAqB,CAAC,MAAM,CAAC,YAAY;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE;gBAiCnE,kBAAkB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;qBAUnC,mBAAmB,CAAC,OAAO,CAAC;;;;;;;;;yDAc3B,mCAAmC,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,cAE1E,mCAAmC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,GACvD,4BAA4B,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC;4DAwDvC,mCAAmC,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,WACrE,mCAAmC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC;eAmD5D,MAAM,eACG,qBAAqB,CAAC,MAAM,CAAC,YAChC;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE;4BAiDjB,2BAA2B,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,UACrD,KAAK,2BAA2B,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;2BAkDxD,yBAAyB,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,UACnD,yBAAyB,CAAC,OAAO,CAAC;;;;;;;;;wBA2BnC,QAAQ,aAAa,CAAC,MAAM,KAAK,CAAC,+BAA+B,EAAE,SAAS,CAAC;0BAO1D,aAAa,EAAE,WAAW,oBAAoB;;oDA2CpB,aAAa,CAAC,aAAa,CAAC,EAAE;mBAOnE,MAAM;qBAAe,MAAM;;6CAgBH,aAAa,EAAE;;;;;;;sBA8ChC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;uBA8CpC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;2BA2GnD,2BAA2B,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,aAChD,2BAA2B,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,UACrD,2BAA2B,CAAC,MAAM,CAAC;2BAyBjC,2BAA2B,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,aAChD,2BAA2B,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC;mCAyB1B,OAAO,CAAC,IAAI,CAAC;CA+CrD,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { Job } from 'node-schedule';
2
+ import { Core } from '@strapi/types';
3
+ import { Release } from '../../../shared/contracts/releases';
4
+ declare const createSchedulingService: ({ strapi }: {
5
+ strapi: Core.Strapi;
6
+ }) => {
7
+ set(releaseId: Release['id'], scheduleDate: Date): Promise<Map<import("@strapi/types/dist/data").ID, Job>>;
8
+ cancel(releaseId: Release['id']): Map<import("@strapi/types/dist/data").ID, Job>;
9
+ getAll(): Map<import("@strapi/types/dist/data").ID, Job>;
10
+ /**
11
+ * On bootstrap, we can use this function to make sure to sync the scheduled jobs from the database that are not yet released
12
+ * This is useful in case the server was restarted and the scheduled jobs were lost
13
+ * This also could be used to sync different Strapi instances in case of a cluster
14
+ */
15
+ syncFromDatabase(): Promise<Map<import("@strapi/types/dist/data").ID, Job>>;
16
+ };
17
+ export default createSchedulingService;
18
+ //# sourceMappingURL=scheduling.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduling.d.ts","sourceRoot":"","sources":["../../../../server/src/services/scheduling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,GAAG,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGrC,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAI7D,QAAA,MAAM,uBAAuB,eAAgB;IAAE,MAAM,EAAE,KAAK,MAAM,CAAA;CAAE;mBAI3C,OAAO,CAAC,IAAI,CAAC,gBAAgB,IAAI;sBA6BpC,OAAO,CAAC,IAAI,CAAC;;IAa/B;;;;OAIG;;CAkBN,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { errors } from '@strapi/utils';
2
+ import { Core } from '@strapi/types';
3
+ import type { CreateRelease, UpdateRelease } from '../../../shared/contracts/releases';
4
+ import type { CreateReleaseAction } from '../../../shared/contracts/release-actions';
5
+ export declare class AlreadyOnReleaseError extends errors.ApplicationError<'AlreadyOnReleaseError'> {
6
+ constructor(message: string);
7
+ }
8
+ declare const createReleaseValidationService: ({ strapi }: {
9
+ strapi: Core.Strapi;
10
+ }) => {
11
+ validateUniqueEntry(releaseId: CreateReleaseAction.Request['params']['releaseId'], releaseActionArgs: CreateReleaseAction.Request['body']): Promise<void>;
12
+ validateEntryContentType(contentTypeUid: CreateReleaseAction.Request['body']['entry']['contentType']): void;
13
+ validatePendingReleasesLimit(): Promise<void>;
14
+ validateUniqueNameForPendingRelease(name: CreateRelease.Request['body']['name'], id?: UpdateRelease.Request['params']['id']): Promise<void>;
15
+ validateScheduledAtIsLaterThanNow(scheduledAt: CreateRelease.Request['body']['scheduledAt']): Promise<void>;
16
+ };
17
+ export default createReleaseValidationService;
18
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../server/src/services/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,KAAK,EAAW,aAAa,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAChG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAGrF,qBAAa,qBAAsB,SAAQ,MAAM,CAAC,gBAAgB,CAAC,uBAAuB,CAAC;gBAC7E,OAAO,EAAE,MAAM;CAI5B;AAED,QAAA,MAAM,8BAA8B,eAAgB;IAAE,MAAM,EAAE,KAAK,MAAM,CAAA;CAAE;mCAE5D,2BAA2B,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,qBAC1C,2BAA2B,CAAC,MAAM,CAAC;6CA8BtC,2BAA2B,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC;;8CAmCrE,qBAAqB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OACtC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;mDAmB7B,qBAAqB,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;CAM3D,CAAC;AAEH,eAAe,8BAA8B,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { UID, Data, Core } from '@strapi/types';
2
+ export declare const getService: (name: 'release' | 'release-validation' | 'scheduling' | 'release-action' | 'event-manager', { strapi }: {
3
+ strapi: Core.Strapi;
4
+ }) => Core.Service;
5
+ export declare const getPopulatedEntry: (contentTypeUid: UID.ContentType, entryId: Data.ID, { strapi }: {
6
+ strapi: Core.Strapi;
7
+ }) => Promise<any>;
8
+ export declare const getEntryValidStatus: (contentTypeUid: UID.ContentType, entry: {
9
+ id: Data.ID;
10
+ [key: string]: any;
11
+ }, { strapi }: {
12
+ strapi: Core.Strapi;
13
+ }) => Promise<boolean>;
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErD,eAAO,MAAM,UAAU,SACf,SAAS,GAAG,oBAAoB,GAAG,YAAY,GAAG,gBAAgB,GAAG,eAAe,cAC9E;IAAE,MAAM,EAAE,KAAK,MAAM,CAAA;CAAE,iBAGpC,CAAC;AAEF,eAAO,MAAM,iBAAiB,mBACZ,IAAI,WAAW,WACtB,KAAK,EAAE,cACJ;IAAE,MAAM,EAAE,KAAK,MAAM,CAAA;CAAE,iBAYpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,mBACd,IAAI,WAAW,SACxB;IAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,cAC9B;IAAE,MAAM,EAAE,KAAK,MAAM,CAAA;CAAE,qBAgBpC,CAAC"}
@@ -0,0 +1,131 @@
1
+ import type { Schema, Modules, UID, Struct } from '@strapi/types';
2
+ import type { Release, Pagination } from './releases';
3
+ import type { Entity } from '../types';
4
+ import type { errors } from '@strapi/utils';
5
+ export type ReleaseActionEntry = Modules.Documents.AnyDocument & {
6
+ [key: string]: Schema.Attribute.AnyAttribute;
7
+ } & {
8
+ locale?: string;
9
+ };
10
+ export interface ReleaseAction extends Entity {
11
+ type: 'publish' | 'unpublish';
12
+ entry: ReleaseActionEntry;
13
+ contentType: UID.ContentType;
14
+ locale?: string;
15
+ release: Release;
16
+ isEntryValid: boolean;
17
+ }
18
+ export interface FormattedReleaseAction extends Entity {
19
+ type: 'publish' | 'unpublish';
20
+ entry: ReleaseActionEntry;
21
+ contentType: {
22
+ uid: UID.ContentType;
23
+ mainFieldValue?: string;
24
+ displayName: string;
25
+ };
26
+ locale?: {
27
+ name: string;
28
+ code: string;
29
+ };
30
+ release: Release;
31
+ }
32
+ /**
33
+ * POST /content-releases/:releaseId/actions - Create a release action
34
+ */
35
+ export declare namespace CreateReleaseAction {
36
+ interface Request {
37
+ params: {
38
+ releaseId: Release['id'];
39
+ };
40
+ body: {
41
+ type: ReleaseAction['type'];
42
+ entry: {
43
+ id: ReleaseActionEntry['id'];
44
+ locale?: ReleaseActionEntry['locale'];
45
+ contentType: UID.ContentType;
46
+ };
47
+ };
48
+ }
49
+ interface Response {
50
+ data: ReleaseAction;
51
+ error?: errors.ApplicationError | errors.ValidationError | errors.NotFoundError;
52
+ }
53
+ }
54
+ /**
55
+ * POST /content-releases/:releaseId/actions/bulk - Create multiple release actions
56
+ */
57
+ export declare namespace CreateManyReleaseActions {
58
+ interface Request {
59
+ params: {
60
+ releaseId: Release['id'];
61
+ };
62
+ body: Array<{
63
+ type: ReleaseAction['type'];
64
+ entry: {
65
+ id: ReleaseActionEntry['id'];
66
+ locale?: ReleaseActionEntry['locale'];
67
+ contentType: UID.ContentType;
68
+ };
69
+ }>;
70
+ }
71
+ interface Response {
72
+ data: Array<ReleaseAction>;
73
+ meta: {
74
+ totalEntries: number;
75
+ entriesAlreadyInRelease: number;
76
+ };
77
+ error?: errors.ApplicationError | errors.ValidationError | errors.NotFoundError;
78
+ }
79
+ }
80
+ /**
81
+ * GET /content-releases/:id/actions - Get all release actions
82
+ */
83
+ export type ReleaseActionGroupBy = 'contentType' | 'action' | 'locale';
84
+ export declare namespace GetReleaseActions {
85
+ interface Request {
86
+ params: {
87
+ releaseId: Release['id'];
88
+ };
89
+ query?: Partial<Pick<Pagination, 'page' | 'pageSize'>> & {
90
+ groupBy?: ReleaseActionGroupBy;
91
+ };
92
+ }
93
+ interface Response {
94
+ data: {
95
+ [key: string]: Array<FormattedReleaseAction>;
96
+ };
97
+ meta: {
98
+ pagination: Pagination;
99
+ contentTypes: Record<Struct.ContentTypeSchema['uid'], Struct.ContentTypeSchema>;
100
+ components: Record<Struct.ComponentSchema['uid'], Struct.ComponentSchema>;
101
+ };
102
+ }
103
+ }
104
+ export declare namespace DeleteReleaseAction {
105
+ interface Request {
106
+ params: {
107
+ actionId: ReleaseAction['id'];
108
+ releaseId: Release['id'];
109
+ };
110
+ }
111
+ interface Response {
112
+ data: ReleaseAction;
113
+ error?: errors.ApplicationError | errors.NotFoundError;
114
+ }
115
+ }
116
+ export declare namespace UpdateReleaseAction {
117
+ interface Request {
118
+ params: {
119
+ actionId: ReleaseAction['id'];
120
+ releaseId: ReleaseAction['id'];
121
+ };
122
+ body: {
123
+ type: ReleaseAction['type'];
124
+ };
125
+ }
126
+ interface Response {
127
+ data: ReleaseAction;
128
+ error?: errors.ApplicationError | errors.ValidationError | errors.NotFoundError;
129
+ }
130
+ }
131
+ //# sourceMappingURL=release-actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release-actions.d.ts","sourceRoot":"","sources":["../../../shared/contracts/release-actions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,182 @@
1
+ import type { Entity } from '../types';
2
+ import type { ReleaseAction } from './release-actions';
3
+ import type { UserInfo } from '../types';
4
+ import { errors } from '@strapi/utils';
5
+ import type { SanitizedAdminUser } from '@strapi/admin/strapi-admin';
6
+ export interface Release extends Entity {
7
+ name: string;
8
+ releasedAt: string | null;
9
+ scheduledAt: string | null;
10
+ status: 'ready' | 'blocked' | 'failed' | 'done' | 'empty';
11
+ timezone: string | null;
12
+ actions: ReleaseAction[];
13
+ }
14
+ export type Pagination = {
15
+ page: number;
16
+ pageSize: number;
17
+ pageCount: number;
18
+ total: number;
19
+ };
20
+ export interface ReleaseDataResponse extends Omit<Release, 'actions'> {
21
+ actions: {
22
+ meta: {
23
+ count: number;
24
+ };
25
+ };
26
+ createdBy: SanitizedAdminUser;
27
+ }
28
+ export interface ReleaseForContentTypeEntryDataResponse extends Omit<Release, 'actions'> {
29
+ actions: ReleaseAction[];
30
+ }
31
+ /**
32
+ * GET /content-releases/ - Get all releases
33
+ */
34
+ export declare namespace GetReleases {
35
+ interface Request {
36
+ state: {
37
+ userAbility: {};
38
+ };
39
+ query?: Partial<Pick<Pagination, 'page' | 'pageSize'>>;
40
+ }
41
+ interface Response {
42
+ data: ReleaseDataResponse[];
43
+ meta: {
44
+ pagination?: Pagination;
45
+ pendingReleasesCount?: number;
46
+ };
47
+ error?: errors.ApplicationError;
48
+ }
49
+ }
50
+ /**
51
+ * GET /content-releases/ - Get all releases for a given entry
52
+ */
53
+ export declare namespace GetContentTypeEntryReleases {
54
+ interface Request {
55
+ state: {
56
+ userAbility: {};
57
+ };
58
+ query: {
59
+ contentTypeUid: ReleaseAction['contentType'];
60
+ entryId: ReleaseAction['entry']['id'];
61
+ hasEntryAttached?: boolean;
62
+ };
63
+ }
64
+ interface Response {
65
+ data: ReleaseForContentTypeEntryDataResponse[];
66
+ error?: errors.ApplicationError;
67
+ }
68
+ }
69
+ /**
70
+ * GET /content-releases/mapEntriesToReleases - Map entries to releases
71
+ */
72
+ export declare namespace MapEntriesToReleases {
73
+ interface Request {
74
+ query: {
75
+ contentTypeUid: ReleaseAction['contentType'];
76
+ entriesIds: ReleaseAction['entry']['id'][];
77
+ };
78
+ }
79
+ interface Response {
80
+ data: {
81
+ [entryId: ReleaseAction['entry']['id']]: Pick<Release, 'id' | 'name'>[];
82
+ };
83
+ }
84
+ }
85
+ /**
86
+ * GET /content-releases/:id - Get a single release
87
+ */
88
+ export declare namespace GetRelease {
89
+ interface Request {
90
+ state: {
91
+ userAbility: {};
92
+ };
93
+ params: {
94
+ id: Release['id'];
95
+ };
96
+ }
97
+ interface Response {
98
+ data: ReleaseDataResponse;
99
+ error?: errors.ApplicationError | errors.NotFoundError;
100
+ }
101
+ }
102
+ /**
103
+ * POST /content-releases/ - Create a release
104
+ */
105
+ export declare namespace CreateRelease {
106
+ interface Request {
107
+ state: {
108
+ user: UserInfo;
109
+ };
110
+ body: {
111
+ name: string;
112
+ scheduledAt: Date | null;
113
+ timezone: string | null;
114
+ };
115
+ }
116
+ interface Response {
117
+ data: ReleaseDataResponse;
118
+ error?: errors.ApplicationError | errors.ValidationError;
119
+ }
120
+ }
121
+ /**
122
+ * PUT /content-releases/:id - Update a release
123
+ */
124
+ export declare namespace UpdateRelease {
125
+ interface Request {
126
+ state: {
127
+ user: UserInfo;
128
+ };
129
+ params: {
130
+ id: Release['id'];
131
+ };
132
+ body: {
133
+ name: string;
134
+ scheduledAt?: Date | null;
135
+ timezone?: string | null;
136
+ };
137
+ }
138
+ interface Response {
139
+ data: ReleaseDataResponse;
140
+ error?: errors.ApplicationError | errors.ValidationError;
141
+ }
142
+ }
143
+ /**
144
+ * DELETE /content-releases/:id - Delete a release
145
+ */
146
+ export declare namespace DeleteRelease {
147
+ interface Request {
148
+ state: {
149
+ user: UserInfo;
150
+ };
151
+ params: {
152
+ id: Release['id'];
153
+ };
154
+ }
155
+ interface Response {
156
+ data: ReleaseDataResponse;
157
+ error?: errors.ApplicationError | errors.NotFoundError;
158
+ }
159
+ }
160
+ /**
161
+ * POST /content-releases/:releaseId/publish - Publish a release
162
+ */
163
+ export declare namespace PublishRelease {
164
+ interface Request {
165
+ state: {
166
+ user: UserInfo;
167
+ };
168
+ params: {
169
+ id: Release['id'];
170
+ };
171
+ }
172
+ interface Response {
173
+ data: ReleaseDataResponse;
174
+ meta: {
175
+ totalEntries: number;
176
+ totalPublishedEntries: number;
177
+ totalUnpublishedEntries: number;
178
+ };
179
+ error?: errors.ApplicationError | errors.ValidationError;
180
+ }
181
+ }
182
+ //# sourceMappingURL=releases.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"releases.d.ts","sourceRoot":"","sources":["../../../shared/contracts/releases.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { Data } from '@strapi/types';
2
+ interface RoleInfo extends Omit<Entity, 'createdAt' | 'updatedAt'> {
3
+ name: string;
4
+ code: string;
5
+ description?: string;
6
+ usersCount?: number;
7
+ }
8
+ export interface UserInfo extends Entity {
9
+ firstname: string;
10
+ lastname?: string;
11
+ username?: null | string;
12
+ email: string;
13
+ isActive: boolean;
14
+ blocked: boolean;
15
+ preferedLanguage: null | string;
16
+ roles: RoleInfo[];
17
+ }
18
+ export interface Entity {
19
+ id: Data.ID;
20
+ createdAt: string;
21
+ updatedAt: string;
22
+ }
23
+ export {};
24
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../shared/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,UAAU,QAAS,SAAQ,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAAC;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,QAAS,SAAQ,MAAM;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,IAAI,GAAG,MAAM,CAAC;IAChC,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,2 @@
1
+ export declare const RELEASE_SCHEMA: any;
2
+ //# sourceMappingURL=validation-schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-schemas.d.ts","sourceRoot":"","sources":["../../shared/validation-schemas.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,KAuBb,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/content-releases",
3
- "version": "0.0.0-experimental.ee4d311a5e6a131fad03cf07e4696f49fdd9c2e6",
3
+ "version": "0.0.0-experimental.f75e3c6d67cc47c64ab37479efdbb7b43be50b78",
4
4
  "description": "Strapi plugin for organizing and releasing content",
5
5
  "repository": {
6
6
  "type": "git",
@@ -21,14 +21,14 @@
21
21
  ],
22
22
  "exports": {
23
23
  "./strapi-admin": {
24
- "types": "./dist/admin/index.d.ts",
24
+ "types": "./dist/admin/src/index.d.ts",
25
25
  "source": "./admin/src/index.ts",
26
26
  "import": "./dist/admin/index.mjs",
27
27
  "require": "./dist/admin/index.js",
28
28
  "default": "./dist/admin/index.js"
29
29
  },
30
30
  "./strapi-server": {
31
- "types": "./dist/server/index.d.ts",
31
+ "types": "./dist/server/src/index.d.ts",
32
32
  "source": "./server/src/index.ts",
33
33
  "import": "./dist/server/index.mjs",
34
34
  "require": "./dist/server/index.js",
@@ -37,7 +37,7 @@
37
37
  "./package.json": "./package.json"
38
38
  },
39
39
  "files": [
40
- "./dist",
40
+ "dist/",
41
41
  "strapi-server.js"
42
42
  ],
43
43
  "scripts": {
@@ -55,52 +55,48 @@
55
55
  },
56
56
  "dependencies": {
57
57
  "@reduxjs/toolkit": "1.9.7",
58
- "@strapi/design-system": "1.14.1",
59
- "@strapi/helper-plugin": "0.0.0-experimental.ee4d311a5e6a131fad03cf07e4696f49fdd9c2e6",
60
- "@strapi/icons": "1.14.1",
61
- "@strapi/types": "0.0.0-experimental.ee4d311a5e6a131fad03cf07e4696f49fdd9c2e6",
62
- "@strapi/utils": "0.0.0-experimental.ee4d311a5e6a131fad03cf07e4696f49fdd9c2e6",
63
- "axios": "1.6.0",
64
- "formik": "2.4.0",
58
+ "@strapi/design-system": "2.0.0-beta.4",
59
+ "@strapi/icons": "2.0.0-beta.4",
60
+ "@strapi/types": "0.0.0-experimental.f75e3c6d67cc47c64ab37479efdbb7b43be50b78",
61
+ "@strapi/utils": "0.0.0-experimental.f75e3c6d67cc47c64ab37479efdbb7b43be50b78",
62
+ "date-fns": "2.30.0",
63
+ "date-fns-tz": "2.0.1",
64
+ "formik": "2.4.5",
65
65
  "lodash": "4.17.21",
66
- "react-intl": "6.4.1",
67
- "react-redux": "8.1.1",
66
+ "node-schedule": "2.1.0",
67
+ "react-intl": "6.6.2",
68
+ "react-redux": "8.1.3",
68
69
  "yup": "0.32.9"
69
70
  },
70
71
  "devDependencies": {
71
- "@strapi/admin": "0.0.0-experimental.ee4d311a5e6a131fad03cf07e4696f49fdd9c2e6",
72
- "@strapi/admin-test-utils": "0.0.0-experimental.ee4d311a5e6a131fad03cf07e4696f49fdd9c2e6",
73
- "@strapi/pack-up": "0.0.0-experimental.ee4d311a5e6a131fad03cf07e4696f49fdd9c2e6",
74
- "@strapi/strapi": "0.0.0-experimental.ee4d311a5e6a131fad03cf07e4696f49fdd9c2e6",
75
- "@testing-library/react": "14.0.0",
76
- "@testing-library/user-event": "14.4.3",
72
+ "@strapi/admin": "0.0.0-experimental.f75e3c6d67cc47c64ab37479efdbb7b43be50b78",
73
+ "@strapi/admin-test-utils": "0.0.0-experimental.f75e3c6d67cc47c64ab37479efdbb7b43be50b78",
74
+ "@strapi/content-manager": "0.0.0-experimental.f75e3c6d67cc47c64ab37479efdbb7b43be50b78",
75
+ "@strapi/pack-up": "5.0.0",
76
+ "@testing-library/react": "15.0.7",
77
+ "@testing-library/user-event": "14.5.2",
77
78
  "@types/koa": "2.13.4",
78
- "@types/styled-components": "5.1.26",
79
- "koa": "2.13.4",
79
+ "koa": "2.15.2",
80
80
  "msw": "1.3.0",
81
- "react": "^18.2.0",
82
- "react-dom": "^18.2.0",
83
- "react-router-dom": "5.3.4",
84
- "styled-components": "5.3.3",
81
+ "react": "18.3.1",
82
+ "react-dom": "18.3.1",
83
+ "react-query": "3.39.3",
84
+ "react-router-dom": "6.22.3",
85
+ "styled-components": "6.1.8",
85
86
  "typescript": "5.2.2"
86
87
  },
87
88
  "peerDependencies": {
88
- "@strapi/admin": "^4.19.0",
89
- "@strapi/strapi": "^4.15.1",
89
+ "@strapi/admin": "^5.0.0 || ^5.0.0-beta || ^5.0.0-alpha || ^5.0.0-rc",
90
+ "@strapi/content-manager": "^5.0.0 || ^5.0.0-beta || ^5.0.0-alpha || ^5.0.0-rc",
90
91
  "react": "^17.0.0 || ^18.0.0",
91
92
  "react-dom": "^17.0.0 || ^18.0.0",
92
- "react-router-dom": "5.3.4",
93
- "styled-components": "5.3.3"
93
+ "react-router-dom": "^6.0.0",
94
+ "styled-components": "^6.0.0"
94
95
  },
95
96
  "engines": {
96
97
  "node": ">=16.0.0 <=20.x.x",
97
98
  "npm": ">=6.0.0"
98
99
  },
99
- "nx": {
100
- "implicitDependencies": [
101
- "!@strapi/strapi"
102
- ]
103
- },
104
100
  "strapi": {
105
101
  "name": "content-releases",
106
102
  "description": "Organize and release content",
@@ -108,5 +104,5 @@
108
104
  "displayName": "Releases",
109
105
  "required": true
110
106
  },
111
- "gitHead": "ee4d311a5e6a131fad03cf07e4696f49fdd9c2e6"
107
+ "gitHead": "f75e3c6d67cc47c64ab37479efdbb7b43be50b78"
112
108
  }