@strapi/core 0.0.0-next.39c0188c3aa01bec7b64b948211571d5159e811d → 0.0.0-next.3a1d87a9c3b1d4d89f741c6ecd7f501230fd8d76
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.
- package/dist/Strapi.js +437 -0
- package/dist/Strapi.js.map +1 -0
- package/dist/Strapi.mjs +416 -0
- package/dist/Strapi.mjs.map +1 -0
- package/dist/compile.js +18 -0
- package/dist/compile.js.map +1 -0
- package/dist/compile.mjs +17 -0
- package/dist/compile.mjs.map +1 -0
- package/dist/configuration/config-loader.js +105 -0
- package/dist/configuration/config-loader.js.map +1 -0
- package/dist/configuration/config-loader.mjs +103 -0
- package/dist/configuration/config-loader.mjs.map +1 -0
- package/dist/configuration/get-dirs.js +31 -0
- package/dist/configuration/get-dirs.js.map +1 -0
- package/dist/configuration/get-dirs.mjs +31 -0
- package/dist/configuration/get-dirs.mjs.map +1 -0
- package/dist/configuration/index.d.ts.map +1 -1
- package/dist/configuration/index.js +85 -0
- package/dist/configuration/index.js.map +1 -0
- package/dist/configuration/index.mjs +80 -0
- package/dist/configuration/index.mjs.map +1 -0
- package/dist/configuration/urls.js +68 -0
- package/dist/configuration/urls.js.map +1 -0
- package/dist/configuration/urls.mjs +66 -0
- package/dist/configuration/urls.mjs.map +1 -0
- package/dist/container.js +30 -0
- package/dist/container.js.map +1 -0
- package/dist/container.mjs +30 -0
- package/dist/container.mjs.map +1 -0
- package/dist/core-api/controller/collection-type.js +84 -0
- package/dist/core-api/controller/collection-type.js.map +1 -0
- package/dist/core-api/controller/collection-type.mjs +84 -0
- package/dist/core-api/controller/collection-type.mjs.map +1 -0
- package/dist/core-api/controller/index.js +52 -0
- package/dist/core-api/controller/index.js.map +1 -0
- package/dist/core-api/controller/index.mjs +52 -0
- package/dist/core-api/controller/index.mjs.map +1 -0
- package/dist/core-api/controller/single-type.js +46 -0
- package/dist/core-api/controller/single-type.js.map +1 -0
- package/dist/core-api/controller/single-type.mjs +46 -0
- package/dist/core-api/controller/single-type.mjs.map +1 -0
- package/dist/core-api/controller/transform.js +76 -0
- package/dist/core-api/controller/transform.js.map +1 -0
- package/dist/core-api/controller/transform.mjs +76 -0
- package/dist/core-api/controller/transform.mjs.map +1 -0
- package/dist/core-api/routes/index.js +67 -0
- package/dist/core-api/routes/index.js.map +1 -0
- package/dist/core-api/routes/index.mjs +67 -0
- package/dist/core-api/routes/index.mjs.map +1 -0
- package/dist/core-api/service/collection-type.js +67 -0
- package/dist/core-api/service/collection-type.js.map +1 -0
- package/dist/core-api/service/collection-type.mjs +67 -0
- package/dist/core-api/service/collection-type.mjs.map +1 -0
- package/dist/core-api/service/core-service.js +12 -0
- package/dist/core-api/service/core-service.js.map +1 -0
- package/dist/core-api/service/core-service.mjs +12 -0
- package/dist/core-api/service/core-service.mjs.map +1 -0
- package/dist/core-api/service/index.js +16 -0
- package/dist/core-api/service/index.js.map +1 -0
- package/dist/core-api/service/index.mjs +16 -0
- package/dist/core-api/service/index.mjs.map +1 -0
- package/dist/core-api/service/pagination.js +52 -0
- package/dist/core-api/service/pagination.js.map +1 -0
- package/dist/core-api/service/pagination.mjs +52 -0
- package/dist/core-api/service/pagination.mjs.map +1 -0
- package/dist/core-api/service/single-type.js +45 -0
- package/dist/core-api/service/single-type.js.map +1 -0
- package/dist/core-api/service/single-type.mjs +45 -0
- package/dist/core-api/service/single-type.mjs.map +1 -0
- package/dist/domain/content-type/index.js +111 -0
- package/dist/domain/content-type/index.js.map +1 -0
- package/dist/domain/content-type/index.mjs +109 -0
- package/dist/domain/content-type/index.mjs.map +1 -0
- package/dist/domain/content-type/validator.js +77 -0
- package/dist/domain/content-type/validator.js.map +1 -0
- package/dist/domain/content-type/validator.mjs +75 -0
- package/dist/domain/content-type/validator.mjs.map +1 -0
- package/dist/domain/module/index.js +107 -0
- package/dist/domain/module/index.js.map +1 -0
- package/dist/domain/module/index.mjs +105 -0
- package/dist/domain/module/index.mjs.map +1 -0
- package/dist/domain/module/validation.js +25 -0
- package/dist/domain/module/validation.js.map +1 -0
- package/dist/domain/module/validation.mjs +25 -0
- package/dist/domain/module/validation.mjs.map +1 -0
- package/dist/ee/index.js +158 -0
- package/dist/ee/index.js.map +1 -0
- package/dist/ee/index.mjs +159 -0
- package/dist/ee/index.mjs.map +1 -0
- package/dist/ee/license.js +91 -0
- package/dist/ee/license.js.map +1 -0
- package/dist/ee/license.mjs +88 -0
- package/dist/ee/license.mjs.map +1 -0
- package/dist/factories.js +80 -0
- package/dist/factories.js.map +1 -0
- package/dist/factories.mjs +80 -0
- package/dist/factories.mjs.map +1 -0
- package/dist/index.js +27 -9954
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +29 -9932
- package/dist/index.mjs.map +1 -1
- package/dist/loaders/admin.js +26 -0
- package/dist/loaders/admin.js.map +1 -0
- package/dist/loaders/admin.mjs +25 -0
- package/dist/loaders/admin.mjs.map +1 -0
- package/dist/loaders/apis.js +137 -0
- package/dist/loaders/apis.js.map +1 -0
- package/dist/loaders/apis.mjs +135 -0
- package/dist/loaders/apis.mjs.map +1 -0
- package/dist/loaders/components.js +38 -0
- package/dist/loaders/components.js.map +1 -0
- package/dist/loaders/components.mjs +37 -0
- package/dist/loaders/components.mjs.map +1 -0
- package/dist/loaders/index.js +24 -0
- package/dist/loaders/index.js.map +1 -0
- package/dist/loaders/index.mjs +24 -0
- package/dist/loaders/index.mjs.map +1 -0
- package/dist/loaders/middlewares.js +31 -0
- package/dist/loaders/middlewares.js.map +1 -0
- package/dist/loaders/middlewares.mjs +30 -0
- package/dist/loaders/middlewares.mjs.map +1 -0
- package/dist/loaders/plugins/get-enabled-plugins.js +141 -0
- package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -0
- package/dist/loaders/plugins/get-enabled-plugins.mjs +117 -0
- package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -0
- package/dist/loaders/plugins/get-user-plugins-config.js +27 -0
- package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -0
- package/dist/loaders/plugins/get-user-plugins-config.mjs +25 -0
- package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -0
- package/dist/loaders/plugins/index.js +144 -0
- package/dist/loaders/plugins/index.js.map +1 -0
- package/dist/loaders/plugins/index.mjs +125 -0
- package/dist/loaders/plugins/index.mjs.map +1 -0
- package/dist/loaders/policies.js +25 -0
- package/dist/loaders/policies.js.map +1 -0
- package/dist/loaders/policies.mjs +24 -0
- package/dist/loaders/policies.mjs.map +1 -0
- package/dist/loaders/sanitizers.js +6 -0
- package/dist/loaders/sanitizers.js.map +1 -0
- package/dist/loaders/sanitizers.mjs +7 -0
- package/dist/loaders/sanitizers.mjs.map +1 -0
- package/dist/loaders/src-index.js +33 -0
- package/dist/loaders/src-index.js.map +1 -0
- package/dist/loaders/src-index.mjs +34 -0
- package/dist/loaders/src-index.mjs.map +1 -0
- package/dist/loaders/validators.js +6 -0
- package/dist/loaders/validators.js.map +1 -0
- package/dist/loaders/validators.mjs +7 -0
- package/dist/loaders/validators.mjs.map +1 -0
- package/dist/middlewares/body.d.ts.map +1 -1
- package/dist/middlewares/body.js +65 -0
- package/dist/middlewares/body.js.map +1 -0
- package/dist/middlewares/body.mjs +61 -0
- package/dist/middlewares/body.mjs.map +1 -0
- package/dist/middlewares/compression.js +8 -0
- package/dist/middlewares/compression.js.map +1 -0
- package/dist/middlewares/compression.mjs +6 -0
- package/dist/middlewares/compression.mjs.map +1 -0
- package/dist/middlewares/cors.js +53 -0
- package/dist/middlewares/cors.js.map +1 -0
- package/dist/middlewares/cors.mjs +51 -0
- package/dist/middlewares/cors.mjs.map +1 -0
- package/dist/middlewares/errors.js +33 -0
- package/dist/middlewares/errors.js.map +1 -0
- package/dist/middlewares/errors.mjs +33 -0
- package/dist/middlewares/errors.mjs.map +1 -0
- package/dist/middlewares/favicon.js +22 -0
- package/dist/middlewares/favicon.js.map +1 -0
- package/dist/middlewares/favicon.mjs +20 -0
- package/dist/middlewares/favicon.mjs.map +1 -0
- package/dist/middlewares/index.js +34 -0
- package/dist/middlewares/index.js.map +1 -0
- package/dist/middlewares/index.mjs +34 -0
- package/dist/middlewares/index.mjs.map +1 -0
- package/dist/middlewares/ip.js +8 -0
- package/dist/middlewares/ip.js.map +1 -0
- package/dist/middlewares/ip.mjs +6 -0
- package/dist/middlewares/ip.mjs.map +1 -0
- package/dist/middlewares/logger.js +12 -0
- package/dist/middlewares/logger.js.map +1 -0
- package/dist/middlewares/logger.mjs +12 -0
- package/dist/middlewares/logger.mjs.map +1 -0
- package/dist/middlewares/powered-by.js +14 -0
- package/dist/middlewares/powered-by.js.map +1 -0
- package/dist/middlewares/powered-by.mjs +14 -0
- package/dist/middlewares/powered-by.mjs.map +1 -0
- package/dist/middlewares/public.js +34 -0
- package/dist/middlewares/public.js.map +1 -0
- package/dist/middlewares/public.mjs +32 -0
- package/dist/middlewares/public.mjs.map +1 -0
- package/dist/middlewares/query.js +40 -0
- package/dist/middlewares/query.js.map +1 -0
- package/dist/middlewares/query.mjs +38 -0
- package/dist/middlewares/query.mjs.map +1 -0
- package/dist/middlewares/response-time.js +12 -0
- package/dist/middlewares/response-time.js.map +1 -0
- package/dist/middlewares/response-time.mjs +12 -0
- package/dist/middlewares/response-time.mjs.map +1 -0
- package/dist/middlewares/responses.js +15 -0
- package/dist/middlewares/responses.js.map +1 -0
- package/dist/middlewares/responses.mjs +15 -0
- package/dist/middlewares/responses.mjs.map +1 -0
- package/dist/middlewares/security.js +78 -0
- package/dist/middlewares/security.js.map +1 -0
- package/dist/middlewares/security.mjs +76 -0
- package/dist/middlewares/security.mjs.map +1 -0
- package/dist/middlewares/session.js +30 -0
- package/dist/middlewares/session.js.map +1 -0
- package/dist/middlewares/session.mjs +28 -0
- package/dist/middlewares/session.mjs.map +1 -0
- package/dist/migrations/database/5.0.0-discard-drafts.js +109 -0
- package/dist/migrations/database/5.0.0-discard-drafts.js.map +1 -0
- package/dist/migrations/database/5.0.0-discard-drafts.mjs +109 -0
- package/dist/migrations/database/5.0.0-discard-drafts.mjs.map +1 -0
- package/dist/migrations/draft-publish.d.ts +1 -1
- package/dist/migrations/draft-publish.d.ts.map +1 -1
- package/dist/migrations/draft-publish.js +42 -0
- package/dist/migrations/draft-publish.js.map +1 -0
- package/dist/migrations/draft-publish.mjs +42 -0
- package/dist/migrations/draft-publish.mjs.map +1 -0
- package/dist/migrations/i18n.js +54 -0
- package/dist/migrations/i18n.js.map +1 -0
- package/dist/migrations/i18n.mjs +54 -0
- package/dist/migrations/i18n.mjs.map +1 -0
- package/dist/migrations/index.js +15 -0
- package/dist/migrations/index.js.map +1 -0
- package/dist/migrations/index.mjs +15 -0
- package/dist/migrations/index.mjs.map +1 -0
- package/dist/providers/admin.js +20 -0
- package/dist/providers/admin.js.map +1 -0
- package/dist/providers/admin.mjs +21 -0
- package/dist/providers/admin.mjs.map +1 -0
- package/dist/providers/coreStore.js +11 -0
- package/dist/providers/coreStore.js.map +1 -0
- package/dist/providers/coreStore.mjs +12 -0
- package/dist/providers/coreStore.mjs.map +1 -0
- package/dist/providers/cron.js +20 -0
- package/dist/providers/cron.js.map +1 -0
- package/dist/providers/cron.mjs +21 -0
- package/dist/providers/cron.mjs.map +1 -0
- package/dist/providers/index.js +11 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/index.mjs +11 -0
- package/dist/providers/index.mjs.map +1 -0
- package/dist/providers/provider.js +5 -0
- package/dist/providers/provider.js.map +1 -0
- package/dist/providers/provider.mjs +5 -0
- package/dist/providers/provider.mjs.map +1 -0
- package/dist/providers/registries.js +35 -0
- package/dist/providers/registries.js.map +1 -0
- package/dist/providers/registries.mjs +36 -0
- package/dist/providers/registries.mjs.map +1 -0
- package/dist/providers/telemetry.js +19 -0
- package/dist/providers/telemetry.js.map +1 -0
- package/dist/providers/telemetry.mjs +20 -0
- package/dist/providers/telemetry.mjs.map +1 -0
- package/dist/providers/webhooks.js +30 -0
- package/dist/providers/webhooks.js.map +1 -0
- package/dist/providers/webhooks.mjs +31 -0
- package/dist/providers/webhooks.mjs.map +1 -0
- package/dist/registries/apis.js +23 -0
- package/dist/registries/apis.js.map +1 -0
- package/dist/registries/apis.mjs +24 -0
- package/dist/registries/apis.mjs.map +1 -0
- package/dist/registries/components.js +45 -0
- package/dist/registries/components.js.map +1 -0
- package/dist/registries/components.mjs +46 -0
- package/dist/registries/components.mjs.map +1 -0
- package/dist/registries/content-types.js +70 -0
- package/dist/registries/content-types.js.map +1 -0
- package/dist/registries/content-types.mjs +71 -0
- package/dist/registries/content-types.mjs.map +1 -0
- package/dist/registries/controllers.js +80 -0
- package/dist/registries/controllers.js.map +1 -0
- package/dist/registries/controllers.mjs +81 -0
- package/dist/registries/controllers.mjs.map +1 -0
- package/dist/registries/custom-fields.js +71 -0
- package/dist/registries/custom-fields.js.map +1 -0
- package/dist/registries/custom-fields.mjs +72 -0
- package/dist/registries/custom-fields.mjs.map +1 -0
- package/dist/registries/hooks.js +58 -0
- package/dist/registries/hooks.js.map +1 -0
- package/dist/registries/hooks.mjs +59 -0
- package/dist/registries/hooks.mjs.map +1 -0
- package/dist/registries/middlewares.js +60 -0
- package/dist/registries/middlewares.js.map +1 -0
- package/dist/registries/middlewares.mjs +61 -0
- package/dist/registries/middlewares.mjs.map +1 -0
- package/dist/registries/models.js +16 -0
- package/dist/registries/models.js.map +1 -0
- package/dist/registries/models.mjs +16 -0
- package/dist/registries/models.mjs.map +1 -0
- package/dist/registries/modules.js +39 -0
- package/dist/registries/modules.js.map +1 -0
- package/dist/registries/modules.mjs +40 -0
- package/dist/registries/modules.mjs.map +1 -0
- package/dist/registries/namespace.js +27 -0
- package/dist/registries/namespace.js.map +1 -0
- package/dist/registries/namespace.mjs +27 -0
- package/dist/registries/namespace.mjs.map +1 -0
- package/dist/registries/plugins.js +23 -0
- package/dist/registries/plugins.js.map +1 -0
- package/dist/registries/plugins.mjs +24 -0
- package/dist/registries/plugins.mjs.map +1 -0
- package/dist/registries/policies.js +108 -0
- package/dist/registries/policies.js.map +1 -0
- package/dist/registries/policies.mjs +109 -0
- package/dist/registries/policies.mjs.map +1 -0
- package/dist/registries/sanitizers.js +25 -0
- package/dist/registries/sanitizers.js.map +1 -0
- package/dist/registries/sanitizers.mjs +24 -0
- package/dist/registries/sanitizers.mjs.map +1 -0
- package/dist/registries/services.js +80 -0
- package/dist/registries/services.js.map +1 -0
- package/dist/registries/services.mjs +81 -0
- package/dist/registries/services.mjs.map +1 -0
- package/dist/registries/validators.js +25 -0
- package/dist/registries/validators.js.map +1 -0
- package/dist/registries/validators.mjs +24 -0
- package/dist/registries/validators.mjs.map +1 -0
- package/dist/services/auth/index.js +81 -0
- package/dist/services/auth/index.js.map +1 -0
- package/dist/services/auth/index.mjs +80 -0
- package/dist/services/auth/index.mjs.map +1 -0
- package/dist/services/config.js +47 -0
- package/dist/services/config.js.map +1 -0
- package/dist/services/config.mjs +47 -0
- package/dist/services/config.mjs.map +1 -0
- package/dist/services/content-api/index.js +85 -0
- package/dist/services/content-api/index.js.map +1 -0
- package/dist/services/content-api/index.mjs +84 -0
- package/dist/services/content-api/index.mjs.map +1 -0
- package/dist/services/content-api/permissions/engine.js +7 -0
- package/dist/services/content-api/permissions/engine.js.map +1 -0
- package/dist/services/content-api/permissions/engine.mjs +6 -0
- package/dist/services/content-api/permissions/engine.mjs.map +1 -0
- package/dist/services/content-api/permissions/index.js +87 -0
- package/dist/services/content-api/permissions/index.js.map +1 -0
- package/dist/services/content-api/permissions/index.mjs +86 -0
- package/dist/services/content-api/permissions/index.mjs.map +1 -0
- package/dist/services/content-api/permissions/providers/action.js +16 -0
- package/dist/services/content-api/permissions/providers/action.js.map +1 -0
- package/dist/services/content-api/permissions/providers/action.mjs +17 -0
- package/dist/services/content-api/permissions/providers/action.mjs.map +1 -0
- package/dist/services/content-api/permissions/providers/condition.js +16 -0
- package/dist/services/content-api/permissions/providers/condition.js.map +1 -0
- package/dist/services/content-api/permissions/providers/condition.mjs +17 -0
- package/dist/services/content-api/permissions/providers/condition.mjs.map +1 -0
- package/dist/services/core-store.js +107 -0
- package/dist/services/core-store.js.map +1 -0
- package/dist/services/core-store.mjs +107 -0
- package/dist/services/core-store.mjs.map +1 -0
- package/dist/services/cron.js +67 -0
- package/dist/services/cron.js.map +1 -0
- package/dist/services/cron.mjs +68 -0
- package/dist/services/cron.mjs.map +1 -0
- package/dist/services/custom-fields.js +10 -0
- package/dist/services/custom-fields.js.map +1 -0
- package/dist/services/custom-fields.mjs +11 -0
- package/dist/services/custom-fields.mjs.map +1 -0
- package/dist/services/document-service/attributes/index.js +22 -0
- package/dist/services/document-service/attributes/index.js.map +1 -0
- package/dist/services/document-service/attributes/index.mjs +22 -0
- package/dist/services/document-service/attributes/index.mjs.map +1 -0
- package/dist/services/document-service/attributes/transforms.js +20 -0
- package/dist/services/document-service/attributes/transforms.js.map +1 -0
- package/dist/services/document-service/attributes/transforms.mjs +19 -0
- package/dist/services/document-service/attributes/transforms.mjs.map +1 -0
- package/dist/services/document-service/common.js +7 -0
- package/dist/services/document-service/common.js.map +1 -0
- package/dist/services/document-service/common.mjs +7 -0
- package/dist/services/document-service/common.mjs.map +1 -0
- package/dist/services/document-service/components.js +288 -0
- package/dist/services/document-service/components.js.map +1 -0
- package/dist/services/document-service/components.mjs +286 -0
- package/dist/services/document-service/components.mjs.map +1 -0
- package/dist/services/document-service/draft-and-publish.d.ts +1 -1
- package/dist/services/document-service/draft-and-publish.d.ts.map +1 -1
- package/dist/services/document-service/draft-and-publish.js +69 -0
- package/dist/services/document-service/draft-and-publish.js.map +1 -0
- package/dist/services/document-service/draft-and-publish.mjs +69 -0
- package/dist/services/document-service/draft-and-publish.mjs.map +1 -0
- package/dist/services/document-service/entries.js +95 -0
- package/dist/services/document-service/entries.js.map +1 -0
- package/dist/services/document-service/entries.mjs +95 -0
- package/dist/services/document-service/entries.mjs.map +1 -0
- package/dist/services/document-service/events.d.ts +1 -1
- package/dist/services/document-service/events.d.ts.map +1 -1
- package/dist/services/document-service/events.js +47 -0
- package/dist/services/document-service/events.js.map +1 -0
- package/dist/services/document-service/events.mjs +47 -0
- package/dist/services/document-service/events.mjs.map +1 -0
- package/dist/services/document-service/index.js +36 -0
- package/dist/services/document-service/index.js.map +1 -0
- package/dist/services/document-service/index.mjs +36 -0
- package/dist/services/document-service/index.mjs.map +1 -0
- package/dist/services/document-service/internationalization.js +63 -0
- package/dist/services/document-service/internationalization.js.map +1 -0
- package/dist/services/document-service/internationalization.mjs +63 -0
- package/dist/services/document-service/internationalization.mjs.map +1 -0
- package/dist/services/document-service/middlewares/errors.js +25 -0
- package/dist/services/document-service/middlewares/errors.js.map +1 -0
- package/dist/services/document-service/middlewares/errors.mjs +25 -0
- package/dist/services/document-service/middlewares/errors.mjs.map +1 -0
- package/dist/services/document-service/middlewares/middleware-manager.js +49 -0
- package/dist/services/document-service/middlewares/middleware-manager.js.map +1 -0
- package/dist/services/document-service/middlewares/middleware-manager.mjs +49 -0
- package/dist/services/document-service/middlewares/middleware-manager.mjs.map +1 -0
- package/dist/services/document-service/params.js +8 -0
- package/dist/services/document-service/params.js.map +1 -0
- package/dist/services/document-service/params.mjs +8 -0
- package/dist/services/document-service/params.mjs.map +1 -0
- package/dist/services/document-service/repository.js +332 -0
- package/dist/services/document-service/repository.js.map +1 -0
- package/dist/services/document-service/repository.mjs +332 -0
- package/dist/services/document-service/repository.mjs.map +1 -0
- package/dist/services/document-service/transform/data.js +15 -0
- package/dist/services/document-service/transform/data.js.map +1 -0
- package/dist/services/document-service/transform/data.mjs +15 -0
- package/dist/services/document-service/transform/data.mjs.map +1 -0
- package/dist/services/document-service/transform/fields.js +24 -0
- package/dist/services/document-service/transform/fields.js.map +1 -0
- package/dist/services/document-service/transform/fields.mjs +24 -0
- package/dist/services/document-service/transform/fields.mjs.map +1 -0
- package/dist/services/document-service/transform/id-map.d.ts +1 -1
- package/dist/services/document-service/transform/id-map.d.ts.map +1 -1
- package/dist/services/document-service/transform/id-map.js +85 -0
- package/dist/services/document-service/transform/id-map.js.map +1 -0
- package/dist/services/document-service/transform/id-map.mjs +85 -0
- package/dist/services/document-service/transform/id-map.mjs.map +1 -0
- package/dist/services/document-service/transform/id-transform.d.ts +1 -1
- package/dist/services/document-service/transform/id-transform.d.ts.map +1 -1
- package/dist/services/document-service/transform/id-transform.js +33 -0
- package/dist/services/document-service/transform/id-transform.js.map +1 -0
- package/dist/services/document-service/transform/id-transform.mjs +33 -0
- package/dist/services/document-service/transform/id-transform.mjs.map +1 -0
- package/dist/services/document-service/transform/populate.js +21 -0
- package/dist/services/document-service/transform/populate.js.map +1 -0
- package/dist/services/document-service/transform/populate.mjs +21 -0
- package/dist/services/document-service/transform/populate.mjs.map +1 -0
- package/dist/services/document-service/transform/query.js +9 -0
- package/dist/services/document-service/transform/query.js.map +1 -0
- package/dist/services/document-service/transform/query.mjs +9 -0
- package/dist/services/document-service/transform/query.mjs.map +1 -0
- package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +1 -1
- package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -1
- package/dist/services/document-service/transform/relations/extract/data-ids.js +64 -0
- package/dist/services/document-service/transform/relations/extract/data-ids.js.map +1 -0
- package/dist/services/document-service/transform/relations/extract/data-ids.mjs +64 -0
- package/dist/services/document-service/transform/relations/extract/data-ids.mjs.map +1 -0
- package/dist/services/document-service/transform/relations/transform/data-ids.js +85 -0
- package/dist/services/document-service/transform/relations/transform/data-ids.js.map +1 -0
- package/dist/services/document-service/transform/relations/transform/data-ids.mjs +85 -0
- package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -0
- package/dist/services/document-service/transform/relations/transform/default-locale.js +32 -0
- package/dist/services/document-service/transform/relations/transform/default-locale.js.map +1 -0
- package/dist/services/document-service/transform/relations/transform/default-locale.mjs +32 -0
- package/dist/services/document-service/transform/relations/transform/default-locale.mjs.map +1 -0
- package/dist/services/document-service/transform/relations/utils/dp.d.ts +1 -1
- package/dist/services/document-service/transform/relations/utils/dp.d.ts.map +1 -1
- package/dist/services/document-service/transform/relations/utils/dp.js +30 -0
- package/dist/services/document-service/transform/relations/utils/dp.js.map +1 -0
- package/dist/services/document-service/transform/relations/utils/dp.mjs +30 -0
- package/dist/services/document-service/transform/relations/utils/dp.mjs.map +1 -0
- package/dist/services/document-service/transform/relations/utils/i18n.d.ts +1 -1
- package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -1
- package/dist/services/document-service/transform/relations/utils/i18n.js +25 -0
- package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -0
- package/dist/services/document-service/transform/relations/utils/i18n.mjs +25 -0
- package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -0
- package/dist/services/document-service/transform/relations/utils/map-relation.js +84 -0
- package/dist/services/document-service/transform/relations/utils/map-relation.js.map +1 -0
- package/dist/services/document-service/transform/relations/utils/map-relation.mjs +84 -0
- package/dist/services/document-service/transform/relations/utils/map-relation.mjs.map +1 -0
- package/dist/services/document-service/utils/populate.d.ts +1 -1
- package/dist/services/document-service/utils/populate.d.ts.map +1 -1
- package/dist/services/document-service/utils/populate.js +47 -0
- package/dist/services/document-service/utils/populate.js.map +1 -0
- package/dist/services/document-service/utils/populate.mjs +47 -0
- package/dist/services/document-service/utils/populate.mjs.map +1 -0
- package/dist/services/document-service/utils/unidirectional-relations.d.ts +1 -1
- package/dist/services/document-service/utils/unidirectional-relations.d.ts.map +1 -1
- package/dist/services/document-service/utils/unidirectional-relations.js +68 -0
- package/dist/services/document-service/utils/unidirectional-relations.js.map +1 -0
- package/dist/services/document-service/utils/unidirectional-relations.mjs +68 -0
- package/dist/services/document-service/utils/unidirectional-relations.mjs.map +1 -0
- package/dist/services/entity-service/index.js +169 -0
- package/dist/services/entity-service/index.js.map +1 -0
- package/dist/services/entity-service/index.mjs +167 -0
- package/dist/services/entity-service/index.mjs.map +1 -0
- package/dist/services/entity-validator/blocks-validator.js +128 -0
- package/dist/services/entity-validator/blocks-validator.js.map +1 -0
- package/dist/services/entity-validator/blocks-validator.mjs +128 -0
- package/dist/services/entity-validator/blocks-validator.mjs.map +1 -0
- package/dist/services/entity-validator/index.d.ts +1 -1
- package/dist/services/entity-validator/index.d.ts.map +1 -1
- package/dist/services/entity-validator/index.js +389 -0
- package/dist/services/entity-validator/index.js.map +1 -0
- package/dist/services/entity-validator/index.mjs +388 -0
- package/dist/services/entity-validator/index.mjs.map +1 -0
- package/dist/services/entity-validator/validators.js +241 -0
- package/dist/services/entity-validator/validators.js.map +1 -0
- package/dist/services/entity-validator/validators.mjs +239 -0
- package/dist/services/entity-validator/validators.mjs.map +1 -0
- package/dist/services/errors.js +76 -0
- package/dist/services/errors.js.map +1 -0
- package/dist/services/errors.mjs +74 -0
- package/dist/services/errors.mjs.map +1 -0
- package/dist/services/event-hub.js +72 -0
- package/dist/services/event-hub.js.map +1 -0
- package/dist/services/event-hub.mjs +73 -0
- package/dist/services/event-hub.mjs.map +1 -0
- package/dist/services/features.js +17 -0
- package/dist/services/features.js.map +1 -0
- package/dist/services/features.mjs +17 -0
- package/dist/services/features.mjs.map +1 -0
- package/dist/services/fs.js +51 -0
- package/dist/services/fs.js.map +1 -0
- package/dist/services/fs.mjs +49 -0
- package/dist/services/fs.mjs.map +1 -0
- package/dist/services/metrics/admin-user-hash.js +14 -0
- package/dist/services/metrics/admin-user-hash.js.map +1 -0
- package/dist/services/metrics/admin-user-hash.mjs +12 -0
- package/dist/services/metrics/admin-user-hash.mjs.map +1 -0
- package/dist/services/metrics/index.js +44 -0
- package/dist/services/metrics/index.js.map +1 -0
- package/dist/services/metrics/index.mjs +45 -0
- package/dist/services/metrics/index.mjs.map +1 -0
- package/dist/services/metrics/is-truthy.js +9 -0
- package/dist/services/metrics/is-truthy.js.map +1 -0
- package/dist/services/metrics/is-truthy.mjs +8 -0
- package/dist/services/metrics/is-truthy.mjs.map +1 -0
- package/dist/services/metrics/middleware.js +27 -0
- package/dist/services/metrics/middleware.js.map +1 -0
- package/dist/services/metrics/middleware.mjs +28 -0
- package/dist/services/metrics/middleware.mjs.map +1 -0
- package/dist/services/metrics/rate-limiter.js +24 -0
- package/dist/services/metrics/rate-limiter.js.map +1 -0
- package/dist/services/metrics/rate-limiter.mjs +25 -0
- package/dist/services/metrics/rate-limiter.mjs.map +1 -0
- package/dist/services/metrics/sender.js +76 -0
- package/dist/services/metrics/sender.js.map +1 -0
- package/dist/services/metrics/sender.mjs +70 -0
- package/dist/services/metrics/sender.mjs.map +1 -0
- package/dist/services/query-params.js +12 -0
- package/dist/services/query-params.js.map +1 -0
- package/dist/services/query-params.mjs +13 -0
- package/dist/services/query-params.mjs.map +1 -0
- package/dist/services/reloader.js +36 -0
- package/dist/services/reloader.js.map +1 -0
- package/dist/services/reloader.mjs +36 -0
- package/dist/services/reloader.mjs.map +1 -0
- package/dist/services/request-context.js +13 -0
- package/dist/services/request-context.js.map +1 -0
- package/dist/services/request-context.mjs +14 -0
- package/dist/services/request-context.mjs.map +1 -0
- package/dist/services/server/admin-api.js +13 -0
- package/dist/services/server/admin-api.js.map +1 -0
- package/dist/services/server/admin-api.mjs +13 -0
- package/dist/services/server/admin-api.mjs.map +1 -0
- package/dist/services/server/api.js +30 -0
- package/dist/services/server/api.js.map +1 -0
- package/dist/services/server/api.mjs +28 -0
- package/dist/services/server/api.mjs.map +1 -0
- package/dist/services/server/compose-endpoint.js +117 -0
- package/dist/services/server/compose-endpoint.js.map +1 -0
- package/dist/services/server/compose-endpoint.mjs +116 -0
- package/dist/services/server/compose-endpoint.mjs.map +1 -0
- package/dist/services/server/content-api.js +12 -0
- package/dist/services/server/content-api.js.map +1 -0
- package/dist/services/server/content-api.mjs +12 -0
- package/dist/services/server/content-api.mjs.map +1 -0
- package/dist/services/server/http-server.js +50 -0
- package/dist/services/server/http-server.js.map +1 -0
- package/dist/services/server/http-server.mjs +48 -0
- package/dist/services/server/http-server.mjs.map +1 -0
- package/dist/services/server/index.js +87 -0
- package/dist/services/server/index.js.map +1 -0
- package/dist/services/server/index.mjs +85 -0
- package/dist/services/server/index.mjs.map +1 -0
- package/dist/services/server/koa.js +52 -0
- package/dist/services/server/koa.js.map +1 -0
- package/dist/services/server/koa.mjs +48 -0
- package/dist/services/server/koa.mjs.map +1 -0
- package/dist/services/server/middleware.js +92 -0
- package/dist/services/server/middleware.js.map +1 -0
- package/dist/services/server/middleware.mjs +90 -0
- package/dist/services/server/middleware.mjs.map +1 -0
- package/dist/services/server/policy.js +20 -0
- package/dist/services/server/policy.js.map +1 -0
- package/dist/services/server/policy.mjs +20 -0
- package/dist/services/server/policy.mjs.map +1 -0
- package/dist/services/server/register-middlewares.js +72 -0
- package/dist/services/server/register-middlewares.js.map +1 -0
- package/dist/services/server/register-middlewares.mjs +73 -0
- package/dist/services/server/register-middlewares.mjs.map +1 -0
- package/dist/services/server/register-routes.js +76 -0
- package/dist/services/server/register-routes.js.map +1 -0
- package/dist/services/server/register-routes.mjs +75 -0
- package/dist/services/server/register-routes.mjs.map +1 -0
- package/dist/services/server/routing.js +91 -0
- package/dist/services/server/routing.js.map +1 -0
- package/dist/services/server/routing.mjs +89 -0
- package/dist/services/server/routing.mjs.map +1 -0
- package/dist/services/utils/dynamic-zones.js +17 -0
- package/dist/services/utils/dynamic-zones.js.map +1 -0
- package/dist/services/utils/dynamic-zones.mjs +18 -0
- package/dist/services/utils/dynamic-zones.mjs.map +1 -0
- package/dist/services/webhook-runner.js +133 -0
- package/dist/services/webhook-runner.js.map +1 -0
- package/dist/services/webhook-runner.mjs +131 -0
- package/dist/services/webhook-runner.mjs.map +1 -0
- package/dist/services/webhook-store.js +110 -0
- package/dist/services/webhook-store.js.map +1 -0
- package/dist/services/webhook-store.mjs +110 -0
- package/dist/services/webhook-store.mjs.map +1 -0
- package/dist/services/worker-queue.js +56 -0
- package/dist/services/worker-queue.js.map +1 -0
- package/dist/services/worker-queue.mjs +55 -0
- package/dist/services/worker-queue.mjs.map +1 -0
- package/dist/utils/convert-custom-field-type.js +24 -0
- package/dist/utils/convert-custom-field-type.js.map +1 -0
- package/dist/utils/convert-custom-field-type.mjs +24 -0
- package/dist/utils/convert-custom-field-type.mjs.map +1 -0
- package/dist/utils/cron.js +38 -0
- package/dist/utils/cron.js.map +1 -0
- package/dist/utils/cron.mjs +38 -0
- package/dist/utils/cron.mjs.map +1 -0
- package/dist/utils/fetch.js +21 -0
- package/dist/utils/fetch.js.map +1 -0
- package/dist/utils/fetch.mjs +21 -0
- package/dist/utils/fetch.mjs.map +1 -0
- package/dist/utils/filepath-to-prop-path.js +33 -0
- package/dist/utils/filepath-to-prop-path.js.map +1 -0
- package/dist/utils/filepath-to-prop-path.mjs +30 -0
- package/dist/utils/filepath-to-prop-path.mjs.map +1 -0
- package/dist/utils/is-initialized.js +16 -0
- package/dist/utils/is-initialized.js.map +1 -0
- package/dist/utils/is-initialized.mjs +16 -0
- package/dist/utils/is-initialized.mjs.map +1 -0
- package/dist/utils/lifecycles.js +9 -0
- package/dist/utils/lifecycles.js.map +1 -0
- package/dist/utils/lifecycles.mjs +9 -0
- package/dist/utils/lifecycles.mjs.map +1 -0
- package/dist/utils/load-config-file.js +45 -0
- package/dist/utils/load-config-file.js.map +1 -0
- package/dist/utils/load-config-file.mjs +42 -0
- package/dist/utils/load-config-file.mjs.map +1 -0
- package/dist/utils/load-files.js +38 -0
- package/dist/utils/load-files.js.map +1 -0
- package/dist/utils/load-files.mjs +34 -0
- package/dist/utils/load-files.mjs.map +1 -0
- package/dist/utils/open-browser.js +11 -0
- package/dist/utils/open-browser.js.map +1 -0
- package/dist/utils/open-browser.mjs +9 -0
- package/dist/utils/open-browser.mjs.map +1 -0
- package/dist/utils/resolve-working-dirs.js +13 -0
- package/dist/utils/resolve-working-dirs.js.map +1 -0
- package/dist/utils/resolve-working-dirs.mjs +11 -0
- package/dist/utils/resolve-working-dirs.mjs.map +1 -0
- package/dist/utils/signals.js +17 -0
- package/dist/utils/signals.js.map +1 -0
- package/dist/utils/signals.mjs +17 -0
- package/dist/utils/signals.mjs.map +1 -0
- package/dist/utils/startup-logger.js +86 -0
- package/dist/utils/startup-logger.js.map +1 -0
- package/dist/utils/startup-logger.mjs +82 -0
- package/dist/utils/startup-logger.mjs.map +1 -0
- package/dist/utils/transform-content-types-to-models.js +288 -0
- package/dist/utils/transform-content-types-to-models.js.map +1 -0
- package/dist/utils/transform-content-types-to-models.mjs +285 -0
- package/dist/utils/transform-content-types-to-models.mjs.map +1 -0
- package/dist/utils/update-notifier/index.d.ts.map +1 -1
- package/dist/utils/update-notifier/index.js +85 -0
- package/dist/utils/update-notifier/index.js.map +1 -0
- package/dist/utils/update-notifier/index.mjs +78 -0
- package/dist/utils/update-notifier/index.mjs.map +1 -0
- package/package.json +22 -22
@@ -0,0 +1,285 @@
|
|
1
|
+
import { createId } from "@paralleldrive/cuid2";
|
2
|
+
import assert from "node:assert";
|
3
|
+
import fp from "lodash/fp";
|
4
|
+
const getComponentJoinTableName = (collectionName, identifiers) => {
|
5
|
+
return identifiers.getNameFromTokens([
|
6
|
+
{ name: collectionName, compressible: true },
|
7
|
+
{ name: "components", shortName: "cmps", compressible: false }
|
8
|
+
]);
|
9
|
+
};
|
10
|
+
const getDzJoinTableName = (collectionName, identifiers) => {
|
11
|
+
return identifiers.getNameFromTokens([
|
12
|
+
{ name: collectionName, compressible: true },
|
13
|
+
{ name: "components", shortName: "cmps", compressible: false }
|
14
|
+
]);
|
15
|
+
};
|
16
|
+
const getComponentJoinColumnEntityName = (identifiers) => {
|
17
|
+
return identifiers.getNameFromTokens([
|
18
|
+
{ name: "entity", compressible: false },
|
19
|
+
{ name: "id", compressible: false }
|
20
|
+
]);
|
21
|
+
};
|
22
|
+
const getComponentJoinColumnInverseName = (identifiers) => {
|
23
|
+
return identifiers.getNameFromTokens([
|
24
|
+
{ name: "component", shortName: "cmp", compressible: false },
|
25
|
+
{ name: "id", compressible: false }
|
26
|
+
]);
|
27
|
+
};
|
28
|
+
const getComponentTypeColumn = (identifiers) => {
|
29
|
+
return identifiers.getNameFromTokens([{ name: "component_type", compressible: false }]);
|
30
|
+
};
|
31
|
+
const getComponentFkIndexName = (contentType, identifiers) => {
|
32
|
+
return identifiers.getNameFromTokens([
|
33
|
+
{ name: contentType, compressible: true },
|
34
|
+
{ name: "entity", compressible: false },
|
35
|
+
{ name: "fk", compressible: false }
|
36
|
+
]);
|
37
|
+
};
|
38
|
+
const transformAttribute = (name, attribute, contentType, identifiers) => {
|
39
|
+
switch (attribute.type) {
|
40
|
+
case "media": {
|
41
|
+
return {
|
42
|
+
type: "relation",
|
43
|
+
relation: attribute.multiple === true ? "morphMany" : "morphOne",
|
44
|
+
target: "plugin::upload.file",
|
45
|
+
morphBy: "related"
|
46
|
+
};
|
47
|
+
}
|
48
|
+
case "component": {
|
49
|
+
const joinTableName = getComponentJoinTableName(contentType.collectionName, identifiers);
|
50
|
+
const joinColumnEntityName = getComponentJoinColumnEntityName(identifiers);
|
51
|
+
const joinColumnInverseName = getComponentJoinColumnInverseName(identifiers);
|
52
|
+
const compTypeColumn = getComponentTypeColumn(identifiers);
|
53
|
+
return {
|
54
|
+
type: "relation",
|
55
|
+
relation: attribute.repeatable === true ? "oneToMany" : "oneToOne",
|
56
|
+
target: attribute.component,
|
57
|
+
// We need the join table name to be deterministic,
|
58
|
+
// We need to allow passing the join table name as an option
|
59
|
+
joinTable: {
|
60
|
+
name: joinTableName,
|
61
|
+
joinColumn: {
|
62
|
+
name: joinColumnEntityName,
|
63
|
+
referencedColumn: identifiers.ID_COLUMN
|
64
|
+
},
|
65
|
+
inverseJoinColumn: {
|
66
|
+
name: joinColumnInverseName,
|
67
|
+
referencedColumn: identifiers.ID_COLUMN
|
68
|
+
},
|
69
|
+
on: {
|
70
|
+
field: name
|
71
|
+
},
|
72
|
+
orderColumnName: identifiers.ORDER_COLUMN,
|
73
|
+
orderBy: {
|
74
|
+
order: "asc"
|
75
|
+
},
|
76
|
+
pivotColumns: [
|
77
|
+
joinColumnEntityName,
|
78
|
+
joinColumnInverseName,
|
79
|
+
identifiers.FIELD_COLUMN,
|
80
|
+
compTypeColumn
|
81
|
+
]
|
82
|
+
}
|
83
|
+
};
|
84
|
+
}
|
85
|
+
case "dynamiczone": {
|
86
|
+
const joinTableName = getDzJoinTableName(contentType.collectionName, identifiers);
|
87
|
+
const joinColumnEntityName = getComponentJoinColumnEntityName(identifiers);
|
88
|
+
const joinColumnInverseName = getComponentJoinColumnInverseName(identifiers);
|
89
|
+
const compTypeColumn = getComponentTypeColumn(identifiers);
|
90
|
+
return {
|
91
|
+
type: "relation",
|
92
|
+
relation: "morphToMany",
|
93
|
+
// TODO: handle restrictions at some point
|
94
|
+
// target: attribute.components,
|
95
|
+
joinTable: {
|
96
|
+
name: joinTableName,
|
97
|
+
joinColumn: {
|
98
|
+
name: joinColumnEntityName,
|
99
|
+
referencedColumn: identifiers.ID_COLUMN
|
100
|
+
},
|
101
|
+
morphColumn: {
|
102
|
+
idColumn: {
|
103
|
+
name: joinColumnInverseName,
|
104
|
+
referencedColumn: identifiers.ID_COLUMN
|
105
|
+
},
|
106
|
+
typeColumn: {
|
107
|
+
name: compTypeColumn
|
108
|
+
},
|
109
|
+
typeField: "__component"
|
110
|
+
},
|
111
|
+
on: {
|
112
|
+
field: name
|
113
|
+
},
|
114
|
+
orderBy: {
|
115
|
+
order: "asc"
|
116
|
+
},
|
117
|
+
pivotColumns: [
|
118
|
+
joinColumnEntityName,
|
119
|
+
joinColumnInverseName,
|
120
|
+
identifiers.FIELD_COLUMN,
|
121
|
+
compTypeColumn
|
122
|
+
]
|
123
|
+
}
|
124
|
+
};
|
125
|
+
}
|
126
|
+
default: {
|
127
|
+
return attribute;
|
128
|
+
}
|
129
|
+
}
|
130
|
+
};
|
131
|
+
const transformAttributes = (contentType, identifiers) => {
|
132
|
+
return Object.keys(contentType.attributes || {}).reduce((attrs, attrName) => {
|
133
|
+
return {
|
134
|
+
...attrs,
|
135
|
+
[attrName]: transformAttribute(
|
136
|
+
attrName,
|
137
|
+
contentType.attributes[attrName],
|
138
|
+
contentType,
|
139
|
+
identifiers
|
140
|
+
)
|
141
|
+
};
|
142
|
+
}, {});
|
143
|
+
};
|
144
|
+
const hasComponentsOrDz = (contentType) => {
|
145
|
+
return Object.values(contentType.attributes || {}).some(
|
146
|
+
({ type }) => type === "dynamiczone" || type === "component"
|
147
|
+
);
|
148
|
+
};
|
149
|
+
const createDocumentId = createId;
|
150
|
+
const createCompoLinkModel = (contentType, identifiers) => {
|
151
|
+
const name = getComponentJoinTableName(contentType.collectionName, identifiers);
|
152
|
+
const entityId = getComponentJoinColumnEntityName(identifiers);
|
153
|
+
const componentId = getComponentJoinColumnInverseName(identifiers);
|
154
|
+
const compTypeColumn = getComponentTypeColumn(identifiers);
|
155
|
+
const fkIndex = getComponentFkIndexName(contentType.collectionName, identifiers);
|
156
|
+
return {
|
157
|
+
// TODO: make sure there can't be any conflicts with a prefix
|
158
|
+
singularName: name,
|
159
|
+
uid: name,
|
160
|
+
tableName: name,
|
161
|
+
attributes: {
|
162
|
+
[identifiers.ID_COLUMN]: {
|
163
|
+
type: "increments"
|
164
|
+
},
|
165
|
+
[entityId]: {
|
166
|
+
type: "integer",
|
167
|
+
column: {
|
168
|
+
unsigned: true
|
169
|
+
}
|
170
|
+
},
|
171
|
+
[componentId]: {
|
172
|
+
type: "integer",
|
173
|
+
column: {
|
174
|
+
unsigned: true
|
175
|
+
}
|
176
|
+
},
|
177
|
+
[compTypeColumn]: {
|
178
|
+
type: "string"
|
179
|
+
},
|
180
|
+
[identifiers.FIELD_COLUMN]: {
|
181
|
+
type: "string"
|
182
|
+
},
|
183
|
+
[identifiers.ORDER_COLUMN]: {
|
184
|
+
type: "float",
|
185
|
+
column: {
|
186
|
+
unsigned: true,
|
187
|
+
defaultTo: null
|
188
|
+
}
|
189
|
+
}
|
190
|
+
},
|
191
|
+
indexes: [
|
192
|
+
{
|
193
|
+
name: identifiers.getIndexName([contentType.collectionName, identifiers.FIELD_COLUMN]),
|
194
|
+
columns: [identifiers.FIELD_COLUMN]
|
195
|
+
},
|
196
|
+
{
|
197
|
+
name: identifiers.getIndexName([contentType.collectionName, compTypeColumn]),
|
198
|
+
columns: [compTypeColumn]
|
199
|
+
},
|
200
|
+
{
|
201
|
+
name: fkIndex,
|
202
|
+
columns: [entityId]
|
203
|
+
},
|
204
|
+
{
|
205
|
+
// NOTE: since we don't include attribute names, we need to be careful not to create another unique index
|
206
|
+
name: identifiers.getUniqueIndexName([contentType.collectionName]),
|
207
|
+
columns: [entityId, componentId, identifiers.FIELD_COLUMN, compTypeColumn],
|
208
|
+
type: "unique"
|
209
|
+
}
|
210
|
+
],
|
211
|
+
foreignKeys: [
|
212
|
+
{
|
213
|
+
name: fkIndex,
|
214
|
+
columns: [entityId],
|
215
|
+
referencedColumns: [identifiers.ID_COLUMN],
|
216
|
+
referencedTable: identifiers.getTableName(contentType.collectionName),
|
217
|
+
onDelete: "CASCADE"
|
218
|
+
}
|
219
|
+
]
|
220
|
+
};
|
221
|
+
};
|
222
|
+
const transformContentTypesToModels = (contentTypes, identifiers) => {
|
223
|
+
const models = [];
|
224
|
+
contentTypes.forEach((contentType) => {
|
225
|
+
assert(contentType.collectionName, 'Content type "collectionName" is required');
|
226
|
+
assert(contentType.modelName, 'Content type "modelName" is required');
|
227
|
+
assert(contentType.uid, 'Content type "uid" is required');
|
228
|
+
const documentIdAttribute = contentType.modelType === "contentType" ? { documentId: { type: "string", default: createDocumentId } } : {};
|
229
|
+
const reservedAttributeNames = ["document_id", identifiers.ID_COLUMN];
|
230
|
+
Object.keys(contentType.attributes || {}).forEach((attributeName) => {
|
231
|
+
const snakeCasedAttributeName = fp.snakeCase(attributeName);
|
232
|
+
if (reservedAttributeNames.includes(snakeCasedAttributeName)) {
|
233
|
+
throw new Error(
|
234
|
+
`The attribute "${attributeName}" is reserved and cannot be used in a model. Please rename "${contentType.modelName}" attribute "${attributeName}" to something else.`
|
235
|
+
);
|
236
|
+
}
|
237
|
+
});
|
238
|
+
if (hasComponentsOrDz(contentType)) {
|
239
|
+
const compoLinkModel = createCompoLinkModel(contentType, identifiers);
|
240
|
+
models.push(compoLinkModel);
|
241
|
+
}
|
242
|
+
const model = {
|
243
|
+
uid: contentType.uid,
|
244
|
+
singularName: contentType.modelName,
|
245
|
+
tableName: contentType.collectionName,
|
246
|
+
// This gets shortened in metadata.loadModels(), so we don't shorten here or it will happen twice
|
247
|
+
attributes: {
|
248
|
+
[identifiers.ID_COLUMN]: {
|
249
|
+
type: "increments"
|
250
|
+
},
|
251
|
+
...documentIdAttribute,
|
252
|
+
...transformAttributes(contentType, identifiers)
|
253
|
+
},
|
254
|
+
indexes: contentType.indexes,
|
255
|
+
foreignKeys: contentType.foreignKeys,
|
256
|
+
lifecycles: contentType?.lifecycles ?? {}
|
257
|
+
};
|
258
|
+
if (contentType.modelType === "contentType") {
|
259
|
+
model.indexes = [
|
260
|
+
...model.indexes || [],
|
261
|
+
{
|
262
|
+
name: identifiers.getIndexName([contentType.collectionName, "documents"]),
|
263
|
+
// Filter attributes that are not in the schema
|
264
|
+
columns: ["documentId", "locale", "publishedAt"].filter((n) => model.attributes[n]).map((name) => identifiers.getColumnName(fp.snakeCase(name)))
|
265
|
+
}
|
266
|
+
];
|
267
|
+
}
|
268
|
+
models.push(model);
|
269
|
+
});
|
270
|
+
return models;
|
271
|
+
};
|
272
|
+
export {
|
273
|
+
createDocumentId,
|
274
|
+
getComponentFkIndexName,
|
275
|
+
getComponentJoinColumnEntityName,
|
276
|
+
getComponentJoinColumnInverseName,
|
277
|
+
getComponentJoinTableName,
|
278
|
+
getComponentTypeColumn,
|
279
|
+
getDzJoinTableName,
|
280
|
+
hasComponentsOrDz,
|
281
|
+
transformAttribute,
|
282
|
+
transformAttributes,
|
283
|
+
transformContentTypesToModels
|
284
|
+
};
|
285
|
+
//# sourceMappingURL=transform-content-types-to-models.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"transform-content-types-to-models.mjs","sources":["../../src/utils/transform-content-types-to-models.ts"],"sourcesContent":["import { type Model, type Identifiers } from '@strapi/database';\nimport type { Struct, Schema } from '@strapi/types';\nimport { createId } from '@paralleldrive/cuid2';\nimport assert from 'node:assert';\nimport _ from 'lodash/fp';\n\n/**\n * Because strapi/database models don't know about things like components or dynamic zones, we use this file to convert them\n * to a relations format that it recognizes\n *\n * Therefore we have to keep an additional set of helpers/extensions to the database naming methods\n *\n * IMPORTANT!\n * If we use short versions of anything, we MUST call getNameFromTokens directly; attempting to shorten them ourselves\n * prevents the unshortened name map from being filled properly, so for example it will think that the short name\n * 'collection4f3a_cmps' maps to the unshortened 'collectionname_cmps' rather than 'collectionname_components'\n * Therefore, we only use the identifiers helpers in cases where we do not do any of our own shortening\n */\n\nexport const getComponentJoinTableName = (collectionName: string, identifiers: Identifiers) => {\n return identifiers.getNameFromTokens([\n { name: collectionName, compressible: true },\n { name: 'components', shortName: 'cmps', compressible: false },\n ]);\n};\n\nexport const getDzJoinTableName = (collectionName: string, identifiers: Identifiers) => {\n return identifiers.getNameFromTokens([\n { name: collectionName, compressible: true },\n { name: 'components', shortName: 'cmps', compressible: false },\n ]);\n};\n\nexport const getComponentJoinColumnEntityName = (identifiers: Identifiers) => {\n return identifiers.getNameFromTokens([\n { name: 'entity', compressible: false },\n { name: 'id', compressible: false },\n ]);\n};\n\nexport const getComponentJoinColumnInverseName = (identifiers: Identifiers) => {\n return identifiers.getNameFromTokens([\n { name: 'component', shortName: 'cmp', compressible: false },\n { name: 'id', compressible: false },\n ]);\n};\n\nexport const getComponentTypeColumn = (identifiers: Identifiers) => {\n return identifiers.getNameFromTokens([{ name: 'component_type', compressible: false }]);\n};\n\nexport const getComponentFkIndexName = (contentType: string, identifiers: Identifiers) => {\n return identifiers.getNameFromTokens([\n { name: contentType, compressible: true },\n { name: 'entity', compressible: false },\n { name: 'fk', compressible: false },\n ]);\n};\n\n// const { ID_COLUMN: id, FIELD_COLUMN: field, ORDER_COLUMN: order } = identifiers;\n\nexport type LoadedContentTypeModel = Struct.ContentTypeSchema &\n Required<Pick<Struct.ContentTypeSchema, 'collectionName' | 'uid' | 'modelName'>> &\n Pick<Model, 'lifecycles'>;\n\n// Transforms an attribute (particularly for relation types) into the format that strapi/database accepts\nexport const transformAttribute = (\n name: string,\n attribute: Schema.Attribute.AnyAttribute,\n contentType: LoadedContentTypeModel,\n identifiers: Identifiers\n) => {\n switch (attribute.type) {\n case 'media': {\n return {\n type: 'relation',\n relation: attribute.multiple === true ? 'morphMany' : 'morphOne',\n target: 'plugin::upload.file',\n morphBy: 'related',\n };\n }\n case 'component': {\n const joinTableName = getComponentJoinTableName(contentType.collectionName, identifiers);\n const joinColumnEntityName = getComponentJoinColumnEntityName(identifiers);\n const joinColumnInverseName = getComponentJoinColumnInverseName(identifiers);\n const compTypeColumn = getComponentTypeColumn(identifiers);\n return {\n type: 'relation',\n relation: attribute.repeatable === true ? 'oneToMany' : 'oneToOne',\n target: attribute.component,\n\n // We need the join table name to be deterministic,\n // We need to allow passing the join table name as an option\n joinTable: {\n name: joinTableName,\n joinColumn: {\n name: joinColumnEntityName,\n referencedColumn: identifiers.ID_COLUMN,\n },\n inverseJoinColumn: {\n name: joinColumnInverseName,\n referencedColumn: identifiers.ID_COLUMN,\n },\n on: {\n field: name,\n },\n orderColumnName: identifiers.ORDER_COLUMN,\n orderBy: {\n order: 'asc',\n },\n pivotColumns: [\n joinColumnEntityName,\n joinColumnInverseName,\n identifiers.FIELD_COLUMN,\n compTypeColumn,\n ],\n },\n };\n }\n case 'dynamiczone': {\n const joinTableName = getDzJoinTableName(contentType.collectionName, identifiers);\n const joinColumnEntityName = getComponentJoinColumnEntityName(identifiers);\n const joinColumnInverseName = getComponentJoinColumnInverseName(identifiers);\n const compTypeColumn = getComponentTypeColumn(identifiers);\n\n return {\n type: 'relation',\n relation: 'morphToMany',\n // TODO: handle restrictions at some point\n // target: attribute.components,\n joinTable: {\n name: joinTableName,\n joinColumn: {\n name: joinColumnEntityName,\n referencedColumn: identifiers.ID_COLUMN,\n },\n morphColumn: {\n idColumn: {\n name: joinColumnInverseName,\n referencedColumn: identifiers.ID_COLUMN,\n },\n typeColumn: {\n name: compTypeColumn,\n },\n typeField: '__component',\n },\n on: {\n field: name,\n },\n orderBy: {\n order: 'asc',\n },\n pivotColumns: [\n joinColumnEntityName,\n joinColumnInverseName,\n identifiers.FIELD_COLUMN,\n compTypeColumn,\n ],\n },\n };\n }\n default: {\n return attribute;\n }\n }\n};\n\nexport const transformAttributes = (\n contentType: LoadedContentTypeModel,\n identifiers: Identifiers\n) => {\n return Object.keys(contentType.attributes! || {}).reduce((attrs, attrName) => {\n return {\n ...attrs,\n [attrName]: transformAttribute(\n attrName,\n contentType.attributes[attrName]!,\n contentType,\n identifiers\n ),\n };\n }, {});\n};\n\nexport const hasComponentsOrDz = (\n contentType: LoadedContentTypeModel\n): contentType is LoadedContentTypeModel & { type: 'dynamiczone' | 'component' } => {\n return Object.values(contentType.attributes || {}).some(\n (({ type }: { type: string }) => type === 'dynamiczone' || type === 'component') as any\n );\n};\n\nexport const createDocumentId = createId;\n\nconst createCompoLinkModel = (\n contentType: LoadedContentTypeModel,\n identifiers: Identifiers\n): Model => {\n const name = getComponentJoinTableName(contentType.collectionName, identifiers);\n\n const entityId = getComponentJoinColumnEntityName(identifiers);\n const componentId = getComponentJoinColumnInverseName(identifiers);\n const compTypeColumn = getComponentTypeColumn(identifiers);\n const fkIndex = getComponentFkIndexName(contentType.collectionName, identifiers);\n\n return {\n // TODO: make sure there can't be any conflicts with a prefix\n singularName: name,\n uid: name,\n tableName: name,\n attributes: {\n [identifiers.ID_COLUMN]: {\n type: 'increments',\n },\n [entityId]: {\n type: 'integer',\n column: {\n unsigned: true,\n },\n },\n [componentId]: {\n type: 'integer',\n column: {\n unsigned: true,\n },\n },\n [compTypeColumn]: {\n type: 'string',\n },\n [identifiers.FIELD_COLUMN]: {\n type: 'string',\n },\n [identifiers.ORDER_COLUMN]: {\n type: 'float',\n column: {\n unsigned: true,\n defaultTo: null,\n },\n },\n },\n indexes: [\n {\n name: identifiers.getIndexName([contentType.collectionName, identifiers.FIELD_COLUMN]),\n columns: [identifiers.FIELD_COLUMN],\n },\n {\n name: identifiers.getIndexName([contentType.collectionName, compTypeColumn]),\n columns: [compTypeColumn],\n },\n {\n name: fkIndex,\n columns: [entityId],\n },\n {\n // NOTE: since we don't include attribute names, we need to be careful not to create another unique index\n name: identifiers.getUniqueIndexName([contentType.collectionName]),\n columns: [entityId, componentId, identifiers.FIELD_COLUMN, compTypeColumn],\n type: 'unique',\n },\n ],\n foreignKeys: [\n {\n name: fkIndex,\n columns: [entityId],\n referencedColumns: [identifiers.ID_COLUMN],\n referencedTable: identifiers.getTableName(contentType.collectionName),\n onDelete: 'CASCADE',\n },\n ],\n };\n};\n\nexport const transformContentTypesToModels = (\n contentTypes: LoadedContentTypeModel[],\n identifiers: Identifiers\n): Model[] => {\n const models: Model[] = [];\n\n contentTypes.forEach((contentType) => {\n assert(contentType.collectionName, 'Content type \"collectionName\" is required');\n assert(contentType.modelName, 'Content type \"modelName\" is required');\n assert(contentType.uid, 'Content type \"uid\" is required');\n\n // Add document id to content types\n // as it is not documented\n const documentIdAttribute: Record<string, Schema.Attribute.AnyAttribute> =\n contentType.modelType === 'contentType'\n ? { documentId: { type: 'string', default: createDocumentId } }\n : {};\n\n // TODO: this needs to be combined with getReservedNames, we should not be maintaining two lists\n // Prevent user from creating a documentId attribute\n const reservedAttributeNames = ['document_id', identifiers.ID_COLUMN];\n Object.keys(contentType.attributes || {}).forEach((attributeName) => {\n const snakeCasedAttributeName = _.snakeCase(attributeName);\n if (reservedAttributeNames.includes(snakeCasedAttributeName)) {\n throw new Error(\n `The attribute \"${attributeName}\" is reserved and cannot be used in a model. Please rename \"${contentType.modelName}\" attribute \"${attributeName}\" to something else.`\n );\n }\n });\n\n if (hasComponentsOrDz(contentType)) {\n const compoLinkModel = createCompoLinkModel(contentType, identifiers);\n models.push(compoLinkModel);\n }\n\n const model: Model = {\n uid: contentType.uid,\n singularName: contentType.modelName,\n tableName: contentType.collectionName, // This gets shortened in metadata.loadModels(), so we don't shorten here or it will happen twice\n attributes: {\n [identifiers.ID_COLUMN]: {\n type: 'increments',\n },\n ...documentIdAttribute,\n ...transformAttributes(contentType, identifiers),\n },\n indexes: contentType.indexes as Model['indexes'],\n foreignKeys: contentType.foreignKeys as Model['foreignKeys'],\n lifecycles: contentType?.lifecycles ?? {},\n };\n\n // Add indexes to model\n if (contentType.modelType === 'contentType') {\n model.indexes = [\n ...(model.indexes || []),\n {\n name: identifiers.getIndexName([contentType.collectionName, 'documents']),\n // Filter attributes that are not in the schema\n columns: ['documentId', 'locale', 'publishedAt']\n .filter((n) => model.attributes[n])\n .map((name) => identifiers.getColumnName(_.snakeCase(name))),\n },\n ];\n }\n\n models.push(model);\n });\n\n return models;\n};\n"],"names":["_"],"mappings":";;;AAmBa,MAAA,4BAA4B,CAAC,gBAAwB,gBAA6B;AAC7F,SAAO,YAAY,kBAAkB;AAAA,IACnC,EAAE,MAAM,gBAAgB,cAAc,KAAK;AAAA,IAC3C,EAAE,MAAM,cAAc,WAAW,QAAQ,cAAc,MAAM;AAAA,EAAA,CAC9D;AACH;AAEa,MAAA,qBAAqB,CAAC,gBAAwB,gBAA6B;AACtF,SAAO,YAAY,kBAAkB;AAAA,IACnC,EAAE,MAAM,gBAAgB,cAAc,KAAK;AAAA,IAC3C,EAAE,MAAM,cAAc,WAAW,QAAQ,cAAc,MAAM;AAAA,EAAA,CAC9D;AACH;AAEa,MAAA,mCAAmC,CAAC,gBAA6B;AAC5E,SAAO,YAAY,kBAAkB;AAAA,IACnC,EAAE,MAAM,UAAU,cAAc,MAAM;AAAA,IACtC,EAAE,MAAM,MAAM,cAAc,MAAM;AAAA,EAAA,CACnC;AACH;AAEa,MAAA,oCAAoC,CAAC,gBAA6B;AAC7E,SAAO,YAAY,kBAAkB;AAAA,IACnC,EAAE,MAAM,aAAa,WAAW,OAAO,cAAc,MAAM;AAAA,IAC3D,EAAE,MAAM,MAAM,cAAc,MAAM;AAAA,EAAA,CACnC;AACH;AAEa,MAAA,yBAAyB,CAAC,gBAA6B;AAC3D,SAAA,YAAY,kBAAkB,CAAC,EAAE,MAAM,kBAAkB,cAAc,MAAM,CAAC,CAAC;AACxF;AAEa,MAAA,0BAA0B,CAAC,aAAqB,gBAA6B;AACxF,SAAO,YAAY,kBAAkB;AAAA,IACnC,EAAE,MAAM,aAAa,cAAc,KAAK;AAAA,IACxC,EAAE,MAAM,UAAU,cAAc,MAAM;AAAA,IACtC,EAAE,MAAM,MAAM,cAAc,MAAM;AAAA,EAAA,CACnC;AACH;AASO,MAAM,qBAAqB,CAChC,MACA,WACA,aACA,gBACG;AACH,UAAQ,UAAU,MAAM;AAAA,IACtB,KAAK,SAAS;AACL,aAAA;AAAA,QACL,MAAM;AAAA,QACN,UAAU,UAAU,aAAa,OAAO,cAAc;AAAA,QACtD,QAAQ;AAAA,QACR,SAAS;AAAA,MACX;AAAA,IAAA;AAAA,IAEF,KAAK,aAAa;AAChB,YAAM,gBAAgB,0BAA0B,YAAY,gBAAgB,WAAW;AACjF,YAAA,uBAAuB,iCAAiC,WAAW;AACnE,YAAA,wBAAwB,kCAAkC,WAAW;AACrE,YAAA,iBAAiB,uBAAuB,WAAW;AAClD,aAAA;AAAA,QACL,MAAM;AAAA,QACN,UAAU,UAAU,eAAe,OAAO,cAAc;AAAA,QACxD,QAAQ,UAAU;AAAA;AAAA;AAAA,QAIlB,WAAW;AAAA,UACT,MAAM;AAAA,UACN,YAAY;AAAA,YACV,MAAM;AAAA,YACN,kBAAkB,YAAY;AAAA,UAChC;AAAA,UACA,mBAAmB;AAAA,YACjB,MAAM;AAAA,YACN,kBAAkB,YAAY;AAAA,UAChC;AAAA,UACA,IAAI;AAAA,YACF,OAAO;AAAA,UACT;AAAA,UACA,iBAAiB,YAAY;AAAA,UAC7B,SAAS;AAAA,YACP,OAAO;AAAA,UACT;AAAA,UACA,cAAc;AAAA,YACZ;AAAA,YACA;AAAA,YACA,YAAY;AAAA,YACZ;AAAA,UAAA;AAAA,QACF;AAAA,MAEJ;AAAA,IAAA;AAAA,IAEF,KAAK,eAAe;AAClB,YAAM,gBAAgB,mBAAmB,YAAY,gBAAgB,WAAW;AAC1E,YAAA,uBAAuB,iCAAiC,WAAW;AACnE,YAAA,wBAAwB,kCAAkC,WAAW;AACrE,YAAA,iBAAiB,uBAAuB,WAAW;AAElD,aAAA;AAAA,QACL,MAAM;AAAA,QACN,UAAU;AAAA;AAAA;AAAA,QAGV,WAAW;AAAA,UACT,MAAM;AAAA,UACN,YAAY;AAAA,YACV,MAAM;AAAA,YACN,kBAAkB,YAAY;AAAA,UAChC;AAAA,UACA,aAAa;AAAA,YACX,UAAU;AAAA,cACR,MAAM;AAAA,cACN,kBAAkB,YAAY;AAAA,YAChC;AAAA,YACA,YAAY;AAAA,cACV,MAAM;AAAA,YACR;AAAA,YACA,WAAW;AAAA,UACb;AAAA,UACA,IAAI;AAAA,YACF,OAAO;AAAA,UACT;AAAA,UACA,SAAS;AAAA,YACP,OAAO;AAAA,UACT;AAAA,UACA,cAAc;AAAA,YACZ;AAAA,YACA;AAAA,YACA,YAAY;AAAA,YACZ;AAAA,UAAA;AAAA,QACF;AAAA,MAEJ;AAAA,IAAA;AAAA,IAEF,SAAS;AACA,aAAA;AAAA,IAAA;AAAA,EACT;AAEJ;AAEa,MAAA,sBAAsB,CACjC,aACA,gBACG;AACI,SAAA,OAAO,KAAK,YAAY,cAAe,CAAE,CAAA,EAAE,OAAO,CAAC,OAAO,aAAa;AACrE,WAAA;AAAA,MACL,GAAG;AAAA,MACH,CAAC,QAAQ,GAAG;AAAA,QACV;AAAA,QACA,YAAY,WAAW,QAAQ;AAAA,QAC/B;AAAA,QACA;AAAA,MAAA;AAAA,IAEJ;AAAA,EACF,GAAG,EAAE;AACP;AAEa,MAAA,oBAAoB,CAC/B,gBACkF;AAClF,SAAO,OAAO,OAAO,YAAY,cAAc,CAAA,CAAE,EAAE;AAAA,IAChD,CAAC,EAAE,KAA6B,MAAA,SAAS,iBAAiB,SAAS;AAAA,EACtE;AACF;AAEO,MAAM,mBAAmB;AAEhC,MAAM,uBAAuB,CAC3B,aACA,gBACU;AACV,QAAM,OAAO,0BAA0B,YAAY,gBAAgB,WAAW;AAExE,QAAA,WAAW,iCAAiC,WAAW;AACvD,QAAA,cAAc,kCAAkC,WAAW;AAC3D,QAAA,iBAAiB,uBAAuB,WAAW;AACzD,QAAM,UAAU,wBAAwB,YAAY,gBAAgB,WAAW;AAExE,SAAA;AAAA;AAAA,IAEL,cAAc;AAAA,IACd,KAAK;AAAA,IACL,WAAW;AAAA,IACX,YAAY;AAAA,MACV,CAAC,YAAY,SAAS,GAAG;AAAA,QACvB,MAAM;AAAA,MACR;AAAA,MACA,CAAC,QAAQ,GAAG;AAAA,QACV,MAAM;AAAA,QACN,QAAQ;AAAA,UACN,UAAU;AAAA,QAAA;AAAA,MAEd;AAAA,MACA,CAAC,WAAW,GAAG;AAAA,QACb,MAAM;AAAA,QACN,QAAQ;AAAA,UACN,UAAU;AAAA,QAAA;AAAA,MAEd;AAAA,MACA,CAAC,cAAc,GAAG;AAAA,QAChB,MAAM;AAAA,MACR;AAAA,MACA,CAAC,YAAY,YAAY,GAAG;AAAA,QAC1B,MAAM;AAAA,MACR;AAAA,MACA,CAAC,YAAY,YAAY,GAAG;AAAA,QAC1B,MAAM;AAAA,QACN,QAAQ;AAAA,UACN,UAAU;AAAA,UACV,WAAW;AAAA,QAAA;AAAA,MACb;AAAA,IAEJ;AAAA,IACA,SAAS;AAAA,MACP;AAAA,QACE,MAAM,YAAY,aAAa,CAAC,YAAY,gBAAgB,YAAY,YAAY,CAAC;AAAA,QACrF,SAAS,CAAC,YAAY,YAAY;AAAA,MACpC;AAAA,MACA;AAAA,QACE,MAAM,YAAY,aAAa,CAAC,YAAY,gBAAgB,cAAc,CAAC;AAAA,QAC3E,SAAS,CAAC,cAAc;AAAA,MAC1B;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,SAAS,CAAC,QAAQ;AAAA,MACpB;AAAA,MACA;AAAA;AAAA,QAEE,MAAM,YAAY,mBAAmB,CAAC,YAAY,cAAc,CAAC;AAAA,QACjE,SAAS,CAAC,UAAU,aAAa,YAAY,cAAc,cAAc;AAAA,QACzE,MAAM;AAAA,MAAA;AAAA,IAEV;AAAA,IACA,aAAa;AAAA,MACX;AAAA,QACE,MAAM;AAAA,QACN,SAAS,CAAC,QAAQ;AAAA,QAClB,mBAAmB,CAAC,YAAY,SAAS;AAAA,QACzC,iBAAiB,YAAY,aAAa,YAAY,cAAc;AAAA,QACpE,UAAU;AAAA,MAAA;AAAA,IACZ;AAAA,EAEJ;AACF;AAEa,MAAA,gCAAgC,CAC3C,cACA,gBACY;AACZ,QAAM,SAAkB,CAAC;AAEZ,eAAA,QAAQ,CAAC,gBAAgB;AAC7B,WAAA,YAAY,gBAAgB,2CAA2C;AACvE,WAAA,YAAY,WAAW,sCAAsC;AAC7D,WAAA,YAAY,KAAK,gCAAgC;AAIxD,UAAM,sBACJ,YAAY,cAAc,gBACtB,EAAE,YAAY,EAAE,MAAM,UAAU,SAAS,iBAAiB,MAC1D,CAAC;AAIP,UAAM,yBAAyB,CAAC,eAAe,YAAY,SAAS;AAC7D,WAAA,KAAK,YAAY,cAAc,CAAA,CAAE,EAAE,QAAQ,CAAC,kBAAkB;AAC7D,YAAA,0BAA0BA,GAAE,UAAU,aAAa;AACrD,UAAA,uBAAuB,SAAS,uBAAuB,GAAG;AAC5D,cAAM,IAAI;AAAA,UACR,kBAAkB,aAAa,+DAA+D,YAAY,SAAS,gBAAgB,aAAa;AAAA,QAClJ;AAAA,MAAA;AAAA,IACF,CACD;AAEG,QAAA,kBAAkB,WAAW,GAAG;AAC5B,YAAA,iBAAiB,qBAAqB,aAAa,WAAW;AACpE,aAAO,KAAK,cAAc;AAAA,IAAA;AAG5B,UAAM,QAAe;AAAA,MACnB,KAAK,YAAY;AAAA,MACjB,cAAc,YAAY;AAAA,MAC1B,WAAW,YAAY;AAAA;AAAA,MACvB,YAAY;AAAA,QACV,CAAC,YAAY,SAAS,GAAG;AAAA,UACvB,MAAM;AAAA,QACR;AAAA,QACA,GAAG;AAAA,QACH,GAAG,oBAAoB,aAAa,WAAW;AAAA,MACjD;AAAA,MACA,SAAS,YAAY;AAAA,MACrB,aAAa,YAAY;AAAA,MACzB,YAAY,aAAa,cAAc,CAAA;AAAA,IACzC;AAGI,QAAA,YAAY,cAAc,eAAe;AAC3C,YAAM,UAAU;AAAA,QACd,GAAI,MAAM,WAAW,CAAC;AAAA,QACtB;AAAA,UACE,MAAM,YAAY,aAAa,CAAC,YAAY,gBAAgB,WAAW,CAAC;AAAA;AAAA,UAExE,SAAS,CAAC,cAAc,UAAU,aAAa,EAC5C,OAAO,CAAC,MAAM,MAAM,WAAW,CAAC,CAAC,EACjC,IAAI,CAAC,SAAS,YAAY,cAAcA,GAAE,UAAU,IAAI,CAAC,CAAC;AAAA,QAAA;AAAA,MAEjE;AAAA,IAAA;AAGF,WAAO,KAAK,KAAK;AAAA,EAAA,CAClB;AAEM,SAAA;AACT;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/update-notifier/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/update-notifier/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AA0B1C,eAAO,MAAM,oBAAoB,WAAY,KAAK,MAAM,SAkEvD,CAAC"}
|
@@ -0,0 +1,85 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
|
+
const path = require("path");
|
4
|
+
const packageJson = require("package-json");
|
5
|
+
const Configstore = require("configstore");
|
6
|
+
const semver = require("semver");
|
7
|
+
const boxen = require("boxen");
|
8
|
+
const chalk = require("chalk");
|
9
|
+
const strapiUtils = require("@strapi/utils");
|
10
|
+
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
11
|
+
const path__default = /* @__PURE__ */ _interopDefault(path);
|
12
|
+
const packageJson__default = /* @__PURE__ */ _interopDefault(packageJson);
|
13
|
+
const Configstore__default = /* @__PURE__ */ _interopDefault(Configstore);
|
14
|
+
const semver__default = /* @__PURE__ */ _interopDefault(semver);
|
15
|
+
const boxen__default = /* @__PURE__ */ _interopDefault(boxen);
|
16
|
+
const chalk__default = /* @__PURE__ */ _interopDefault(chalk);
|
17
|
+
const pkg = require("../../../package.json");
|
18
|
+
const CHECK_INTERVAL = 1e3 * 60 * 60 * 24 * 1;
|
19
|
+
const NOTIF_INTERVAL = 1e3 * 60 * 60 * 24 * 7;
|
20
|
+
const boxenOptions = {
|
21
|
+
padding: 1,
|
22
|
+
margin: 1,
|
23
|
+
align: "center",
|
24
|
+
borderColor: "yellow",
|
25
|
+
borderStyle: "round"
|
26
|
+
};
|
27
|
+
const getUpdateMessage = (newVersion, currentVersion) => {
|
28
|
+
const currentVersionLog = chalk__default.default.dim(currentVersion);
|
29
|
+
const newVersionLog = chalk__default.default.green(newVersion);
|
30
|
+
const releaseLink = chalk__default.default.bold("https://github.com/strapi/strapi/releases");
|
31
|
+
return `
|
32
|
+
A new version of Strapi is available ${currentVersionLog} → ${newVersionLog}
|
33
|
+
Check out the new releases at: ${releaseLink}
|
34
|
+
`.trim();
|
35
|
+
};
|
36
|
+
const createUpdateNotifier = (strapi) => {
|
37
|
+
let config;
|
38
|
+
try {
|
39
|
+
config = new Configstore__default.default(
|
40
|
+
pkg.name,
|
41
|
+
{},
|
42
|
+
{ configPath: path__default.default.join(strapi.dirs.app.root, ".strapi-updater.json") }
|
43
|
+
);
|
44
|
+
} catch {
|
45
|
+
return;
|
46
|
+
}
|
47
|
+
const checkUpdate = async (checkInterval) => {
|
48
|
+
const now = Date.now();
|
49
|
+
const lastUpdateCheck = config.get("lastUpdateCheck") || 0;
|
50
|
+
if (lastUpdateCheck + checkInterval > now) {
|
51
|
+
return;
|
52
|
+
}
|
53
|
+
try {
|
54
|
+
const res = await packageJson__default.default(pkg.name);
|
55
|
+
if (res.version) {
|
56
|
+
config.set("latest", res.version);
|
57
|
+
config.set("lastUpdateCheck", now);
|
58
|
+
}
|
59
|
+
} catch {
|
60
|
+
}
|
61
|
+
};
|
62
|
+
const display = (notifInterval) => {
|
63
|
+
const now = Date.now();
|
64
|
+
const latestVersion = config.get("latest");
|
65
|
+
const lastNotification = config.get("lastNotification") || 0;
|
66
|
+
if (!process.stdout.isTTY || lastNotification + notifInterval > now || !semver__default.default.valid(latestVersion) || !semver__default.default.valid(pkg.version) || semver__default.default.lte(latestVersion, pkg.version)) {
|
67
|
+
return;
|
68
|
+
}
|
69
|
+
const message = boxen__default.default(getUpdateMessage(latestVersion, pkg.version), boxenOptions);
|
70
|
+
config.set("lastNotification", now);
|
71
|
+
console.log(message);
|
72
|
+
};
|
73
|
+
if (strapiUtils.env.bool("STRAPI_DISABLE_UPDATE_NOTIFICATION", false)) {
|
74
|
+
strapi.log.warn(
|
75
|
+
"STRAPI_DISABLE_UPDATE_NOTIFICATION is no longer supported. Instead, set logger.updates.enabled to false in your server configuration."
|
76
|
+
);
|
77
|
+
}
|
78
|
+
if (!strapi.config.get("server.logger.updates.enabled") || !config) {
|
79
|
+
return;
|
80
|
+
}
|
81
|
+
display(NOTIF_INTERVAL);
|
82
|
+
checkUpdate(CHECK_INTERVAL);
|
83
|
+
};
|
84
|
+
exports.createUpdateNotifier = createUpdateNotifier;
|
85
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/utils/update-notifier/index.ts"],"sourcesContent":["import path from 'path';\nimport packageJson from 'package-json';\nimport Configstore from 'configstore';\nimport semver from 'semver';\nimport boxen from 'boxen';\nimport chalk from 'chalk';\nimport { env } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst pkg = require('../../../package.json');\n\nconst CHECK_INTERVAL = 1000 * 60 * 60 * 24 * 1; // 1 day\nconst NOTIF_INTERVAL = 1000 * 60 * 60 * 24 * 7; // 1 week\nconst boxenOptions: boxen.Options = {\n padding: 1,\n margin: 1,\n align: 'center',\n borderColor: 'yellow',\n borderStyle: 'round',\n};\n\nconst getUpdateMessage = (newVersion: string, currentVersion: string) => {\n const currentVersionLog = chalk.dim(currentVersion);\n const newVersionLog = chalk.green(newVersion);\n const releaseLink = chalk.bold('https://github.com/strapi/strapi/releases');\n\n return `\nA new version of Strapi is available ${currentVersionLog} → ${newVersionLog}\nCheck out the new releases at: ${releaseLink}\n`.trim();\n};\n\nexport const createUpdateNotifier = (strapi: Core.Strapi) => {\n let config: InstanceType<typeof Configstore>;\n\n try {\n config = new Configstore(\n pkg.name,\n {},\n { configPath: path.join(strapi.dirs.app.root, '.strapi-updater.json') }\n );\n } catch {\n // we don't have write access to the file system\n // we silence the error\n return;\n }\n\n const checkUpdate = async (checkInterval: number) => {\n const now = Date.now();\n const lastUpdateCheck = config.get('lastUpdateCheck') || 0;\n if (lastUpdateCheck + checkInterval > now) {\n return;\n }\n\n try {\n const res = await packageJson(pkg.name);\n if (res.version) {\n config.set('latest', res.version);\n config.set('lastUpdateCheck', now);\n }\n } catch {\n // silence error if offline\n }\n };\n\n const display = (notifInterval: number) => {\n const now = Date.now();\n const latestVersion = config.get('latest');\n const lastNotification = config.get('lastNotification') || 0;\n\n if (\n !process.stdout.isTTY ||\n lastNotification + notifInterval > now ||\n !semver.valid(latestVersion) ||\n !semver.valid(pkg.version) ||\n semver.lte(latestVersion, pkg.version)\n ) {\n return;\n }\n\n const message = boxen(getUpdateMessage(latestVersion, pkg.version), boxenOptions);\n config.set('lastNotification', now);\n console.log(message);\n };\n\n // TODO v6: Remove this warning\n if (env.bool('STRAPI_DISABLE_UPDATE_NOTIFICATION', false)) {\n strapi.log.warn(\n 'STRAPI_DISABLE_UPDATE_NOTIFICATION is no longer supported. Instead, set logger.updates.enabled to false in your server configuration.'\n );\n }\n\n if (!strapi.config.get('server.logger.updates.enabled') || !config) {\n return;\n }\n\n display(NOTIF_INTERVAL);\n checkUpdate(CHECK_INTERVAL); // doesn't need to await\n};\n"],"names":["chalk","Configstore","path","packageJson","semver","boxen","env"],"mappings":";;;;;;;;;;;;;;;;AAUA,MAAM,MAAM,QAAQ,uBAAuB;AAE3C,MAAM,iBAAiB,MAAO,KAAK,KAAK,KAAK;AAC7C,MAAM,iBAAiB,MAAO,KAAK,KAAK,KAAK;AAC7C,MAAM,eAA8B;AAAA,EAClC,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,aAAa;AAAA,EACb,aAAa;AACf;AAEA,MAAM,mBAAmB,CAAC,YAAoB,mBAA2B;AACjE,QAAA,oBAAoBA,eAAAA,QAAM,IAAI,cAAc;AAC5C,QAAA,gBAAgBA,eAAAA,QAAM,MAAM,UAAU;AACtC,QAAA,cAAcA,eAAAA,QAAM,KAAK,2CAA2C;AAEnE,SAAA;AAAA,uCAC8B,iBAAiB,MAAM,aAAa;AAAA,iCAC1C,WAAW;AAAA,EAC1C,KAAK;AACP;AAEa,MAAA,uBAAuB,CAAC,WAAwB;AACvD,MAAA;AAEA,MAAA;AACF,aAAS,IAAIC,qBAAA;AAAA,MACX,IAAI;AAAA,MACJ,CAAC;AAAA,MACD,EAAE,YAAYC,cAAK,QAAA,KAAK,OAAO,KAAK,IAAI,MAAM,sBAAsB,EAAE;AAAA,IACxE;AAAA,EAAA,QACM;AAGN;AAAA,EAAA;AAGI,QAAA,cAAc,OAAO,kBAA0B;AAC7C,UAAA,MAAM,KAAK,IAAI;AACrB,UAAM,kBAAkB,OAAO,IAAI,iBAAiB,KAAK;AACrD,QAAA,kBAAkB,gBAAgB,KAAK;AACzC;AAAA,IAAA;AAGE,QAAA;AACF,YAAM,MAAM,MAAMC,6BAAY,IAAI,IAAI;AACtC,UAAI,IAAI,SAAS;AACR,eAAA,IAAI,UAAU,IAAI,OAAO;AACzB,eAAA,IAAI,mBAAmB,GAAG;AAAA,MAAA;AAAA,IACnC,QACM;AAAA,IAAA;AAAA,EAGV;AAEM,QAAA,UAAU,CAAC,kBAA0B;AACnC,UAAA,MAAM,KAAK,IAAI;AACf,UAAA,gBAAgB,OAAO,IAAI,QAAQ;AACzC,UAAM,mBAAmB,OAAO,IAAI,kBAAkB,KAAK;AAGzD,QAAA,CAAC,QAAQ,OAAO,SAChB,mBAAmB,gBAAgB,OACnC,CAACC,wBAAO,MAAM,aAAa,KAC3B,CAACA,wBAAO,MAAM,IAAI,OAAO,KACzBA,wBAAO,IAAI,eAAe,IAAI,OAAO,GACrC;AACA;AAAA,IAAA;AAGF,UAAM,UAAUC,eAAAA,QAAM,iBAAiB,eAAe,IAAI,OAAO,GAAG,YAAY;AACzE,WAAA,IAAI,oBAAoB,GAAG;AAClC,YAAQ,IAAI,OAAO;AAAA,EACrB;AAGA,MAAIC,gBAAI,KAAK,sCAAsC,KAAK,GAAG;AACzD,WAAO,IAAI;AAAA,MACT;AAAA,IACF;AAAA,EAAA;AAGF,MAAI,CAAC,OAAO,OAAO,IAAI,+BAA+B,KAAK,CAAC,QAAQ;AAClE;AAAA,EAAA;AAGF,UAAQ,cAAc;AACtB,cAAY,cAAc;AAC5B;;"}
|
@@ -0,0 +1,78 @@
|
|
1
|
+
import path from "path";
|
2
|
+
import packageJson from "package-json";
|
3
|
+
import Configstore from "configstore";
|
4
|
+
import semver from "semver";
|
5
|
+
import boxen from "boxen";
|
6
|
+
import chalk from "chalk";
|
7
|
+
import { env } from "@strapi/utils";
|
8
|
+
const pkg = require("../../../package.json");
|
9
|
+
const CHECK_INTERVAL = 1e3 * 60 * 60 * 24 * 1;
|
10
|
+
const NOTIF_INTERVAL = 1e3 * 60 * 60 * 24 * 7;
|
11
|
+
const boxenOptions = {
|
12
|
+
padding: 1,
|
13
|
+
margin: 1,
|
14
|
+
align: "center",
|
15
|
+
borderColor: "yellow",
|
16
|
+
borderStyle: "round"
|
17
|
+
};
|
18
|
+
const getUpdateMessage = (newVersion, currentVersion) => {
|
19
|
+
const currentVersionLog = chalk.dim(currentVersion);
|
20
|
+
const newVersionLog = chalk.green(newVersion);
|
21
|
+
const releaseLink = chalk.bold("https://github.com/strapi/strapi/releases");
|
22
|
+
return `
|
23
|
+
A new version of Strapi is available ${currentVersionLog} → ${newVersionLog}
|
24
|
+
Check out the new releases at: ${releaseLink}
|
25
|
+
`.trim();
|
26
|
+
};
|
27
|
+
const createUpdateNotifier = (strapi) => {
|
28
|
+
let config;
|
29
|
+
try {
|
30
|
+
config = new Configstore(
|
31
|
+
pkg.name,
|
32
|
+
{},
|
33
|
+
{ configPath: path.join(strapi.dirs.app.root, ".strapi-updater.json") }
|
34
|
+
);
|
35
|
+
} catch {
|
36
|
+
return;
|
37
|
+
}
|
38
|
+
const checkUpdate = async (checkInterval) => {
|
39
|
+
const now = Date.now();
|
40
|
+
const lastUpdateCheck = config.get("lastUpdateCheck") || 0;
|
41
|
+
if (lastUpdateCheck + checkInterval > now) {
|
42
|
+
return;
|
43
|
+
}
|
44
|
+
try {
|
45
|
+
const res = await packageJson(pkg.name);
|
46
|
+
if (res.version) {
|
47
|
+
config.set("latest", res.version);
|
48
|
+
config.set("lastUpdateCheck", now);
|
49
|
+
}
|
50
|
+
} catch {
|
51
|
+
}
|
52
|
+
};
|
53
|
+
const display = (notifInterval) => {
|
54
|
+
const now = Date.now();
|
55
|
+
const latestVersion = config.get("latest");
|
56
|
+
const lastNotification = config.get("lastNotification") || 0;
|
57
|
+
if (!process.stdout.isTTY || lastNotification + notifInterval > now || !semver.valid(latestVersion) || !semver.valid(pkg.version) || semver.lte(latestVersion, pkg.version)) {
|
58
|
+
return;
|
59
|
+
}
|
60
|
+
const message = boxen(getUpdateMessage(latestVersion, pkg.version), boxenOptions);
|
61
|
+
config.set("lastNotification", now);
|
62
|
+
console.log(message);
|
63
|
+
};
|
64
|
+
if (env.bool("STRAPI_DISABLE_UPDATE_NOTIFICATION", false)) {
|
65
|
+
strapi.log.warn(
|
66
|
+
"STRAPI_DISABLE_UPDATE_NOTIFICATION is no longer supported. Instead, set logger.updates.enabled to false in your server configuration."
|
67
|
+
);
|
68
|
+
}
|
69
|
+
if (!strapi.config.get("server.logger.updates.enabled") || !config) {
|
70
|
+
return;
|
71
|
+
}
|
72
|
+
display(NOTIF_INTERVAL);
|
73
|
+
checkUpdate(CHECK_INTERVAL);
|
74
|
+
};
|
75
|
+
export {
|
76
|
+
createUpdateNotifier
|
77
|
+
};
|
78
|
+
//# sourceMappingURL=index.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../src/utils/update-notifier/index.ts"],"sourcesContent":["import path from 'path';\nimport packageJson from 'package-json';\nimport Configstore from 'configstore';\nimport semver from 'semver';\nimport boxen from 'boxen';\nimport chalk from 'chalk';\nimport { env } from '@strapi/utils';\nimport type { Core } from '@strapi/types';\n\n// eslint-disable-next-line @typescript-eslint/no-var-requires\nconst pkg = require('../../../package.json');\n\nconst CHECK_INTERVAL = 1000 * 60 * 60 * 24 * 1; // 1 day\nconst NOTIF_INTERVAL = 1000 * 60 * 60 * 24 * 7; // 1 week\nconst boxenOptions: boxen.Options = {\n padding: 1,\n margin: 1,\n align: 'center',\n borderColor: 'yellow',\n borderStyle: 'round',\n};\n\nconst getUpdateMessage = (newVersion: string, currentVersion: string) => {\n const currentVersionLog = chalk.dim(currentVersion);\n const newVersionLog = chalk.green(newVersion);\n const releaseLink = chalk.bold('https://github.com/strapi/strapi/releases');\n\n return `\nA new version of Strapi is available ${currentVersionLog} → ${newVersionLog}\nCheck out the new releases at: ${releaseLink}\n`.trim();\n};\n\nexport const createUpdateNotifier = (strapi: Core.Strapi) => {\n let config: InstanceType<typeof Configstore>;\n\n try {\n config = new Configstore(\n pkg.name,\n {},\n { configPath: path.join(strapi.dirs.app.root, '.strapi-updater.json') }\n );\n } catch {\n // we don't have write access to the file system\n // we silence the error\n return;\n }\n\n const checkUpdate = async (checkInterval: number) => {\n const now = Date.now();\n const lastUpdateCheck = config.get('lastUpdateCheck') || 0;\n if (lastUpdateCheck + checkInterval > now) {\n return;\n }\n\n try {\n const res = await packageJson(pkg.name);\n if (res.version) {\n config.set('latest', res.version);\n config.set('lastUpdateCheck', now);\n }\n } catch {\n // silence error if offline\n }\n };\n\n const display = (notifInterval: number) => {\n const now = Date.now();\n const latestVersion = config.get('latest');\n const lastNotification = config.get('lastNotification') || 0;\n\n if (\n !process.stdout.isTTY ||\n lastNotification + notifInterval > now ||\n !semver.valid(latestVersion) ||\n !semver.valid(pkg.version) ||\n semver.lte(latestVersion, pkg.version)\n ) {\n return;\n }\n\n const message = boxen(getUpdateMessage(latestVersion, pkg.version), boxenOptions);\n config.set('lastNotification', now);\n console.log(message);\n };\n\n // TODO v6: Remove this warning\n if (env.bool('STRAPI_DISABLE_UPDATE_NOTIFICATION', false)) {\n strapi.log.warn(\n 'STRAPI_DISABLE_UPDATE_NOTIFICATION is no longer supported. Instead, set logger.updates.enabled to false in your server configuration.'\n );\n }\n\n if (!strapi.config.get('server.logger.updates.enabled') || !config) {\n return;\n }\n\n display(NOTIF_INTERVAL);\n checkUpdate(CHECK_INTERVAL); // doesn't need to await\n};\n"],"names":[],"mappings":";;;;;;;AAUA,MAAM,MAAM,QAAQ,uBAAuB;AAE3C,MAAM,iBAAiB,MAAO,KAAK,KAAK,KAAK;AAC7C,MAAM,iBAAiB,MAAO,KAAK,KAAK,KAAK;AAC7C,MAAM,eAA8B;AAAA,EAClC,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,aAAa;AAAA,EACb,aAAa;AACf;AAEA,MAAM,mBAAmB,CAAC,YAAoB,mBAA2B;AACjE,QAAA,oBAAoB,MAAM,IAAI,cAAc;AAC5C,QAAA,gBAAgB,MAAM,MAAM,UAAU;AACtC,QAAA,cAAc,MAAM,KAAK,2CAA2C;AAEnE,SAAA;AAAA,uCAC8B,iBAAiB,MAAM,aAAa;AAAA,iCAC1C,WAAW;AAAA,EAC1C,KAAK;AACP;AAEa,MAAA,uBAAuB,CAAC,WAAwB;AACvD,MAAA;AAEA,MAAA;AACF,aAAS,IAAI;AAAA,MACX,IAAI;AAAA,MACJ,CAAC;AAAA,MACD,EAAE,YAAY,KAAK,KAAK,OAAO,KAAK,IAAI,MAAM,sBAAsB,EAAE;AAAA,IACxE;AAAA,EAAA,QACM;AAGN;AAAA,EAAA;AAGI,QAAA,cAAc,OAAO,kBAA0B;AAC7C,UAAA,MAAM,KAAK,IAAI;AACrB,UAAM,kBAAkB,OAAO,IAAI,iBAAiB,KAAK;AACrD,QAAA,kBAAkB,gBAAgB,KAAK;AACzC;AAAA,IAAA;AAGE,QAAA;AACF,YAAM,MAAM,MAAM,YAAY,IAAI,IAAI;AACtC,UAAI,IAAI,SAAS;AACR,eAAA,IAAI,UAAU,IAAI,OAAO;AACzB,eAAA,IAAI,mBAAmB,GAAG;AAAA,MAAA;AAAA,IACnC,QACM;AAAA,IAAA;AAAA,EAGV;AAEM,QAAA,UAAU,CAAC,kBAA0B;AACnC,UAAA,MAAM,KAAK,IAAI;AACf,UAAA,gBAAgB,OAAO,IAAI,QAAQ;AACzC,UAAM,mBAAmB,OAAO,IAAI,kBAAkB,KAAK;AAGzD,QAAA,CAAC,QAAQ,OAAO,SAChB,mBAAmB,gBAAgB,OACnC,CAAC,OAAO,MAAM,aAAa,KAC3B,CAAC,OAAO,MAAM,IAAI,OAAO,KACzB,OAAO,IAAI,eAAe,IAAI,OAAO,GACrC;AACA;AAAA,IAAA;AAGF,UAAM,UAAU,MAAM,iBAAiB,eAAe,IAAI,OAAO,GAAG,YAAY;AACzE,WAAA,IAAI,oBAAoB,GAAG;AAClC,YAAQ,IAAI,OAAO;AAAA,EACrB;AAGA,MAAI,IAAI,KAAK,sCAAsC,KAAK,GAAG;AACzD,WAAO,IAAI;AAAA,MACT;AAAA,IACF;AAAA,EAAA;AAGF,MAAI,CAAC,OAAO,OAAO,IAAI,+BAA+B,KAAK,CAAC,QAAQ;AAClE;AAAA,EAAA;AAGF,UAAQ,cAAc;AACtB,cAAY,cAAc;AAC5B;"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@strapi/core",
|
3
|
-
"version": "0.0.0-next.
|
3
|
+
"version": "0.0.0-next.3a1d87a9c3b1d4d89f741c6ecd7f501230fd8d76",
|
4
4
|
"description": "Core of Strapi",
|
5
5
|
"homepage": "https://strapi.io",
|
6
6
|
"bugs": {
|
@@ -23,10 +23,6 @@
|
|
23
23
|
"url": "https://strapi.io"
|
24
24
|
}
|
25
25
|
],
|
26
|
-
"main": "./dist/index.js",
|
27
|
-
"module": "./dist/index.mjs",
|
28
|
-
"source": "./src/index.ts",
|
29
|
-
"types": "./dist/index.d.ts",
|
30
26
|
"exports": {
|
31
27
|
".": {
|
32
28
|
"types": "./dist/index.d.ts",
|
@@ -37,33 +33,37 @@
|
|
37
33
|
},
|
38
34
|
"./package.json": "./package.json"
|
39
35
|
},
|
36
|
+
"main": "./dist/index.js",
|
37
|
+
"module": "./dist/index.mjs",
|
38
|
+
"source": "./src/index.ts",
|
39
|
+
"types": "./dist/index.d.ts",
|
40
40
|
"files": [
|
41
41
|
"dist/",
|
42
42
|
"resources/"
|
43
43
|
],
|
44
44
|
"scripts": {
|
45
|
-
"build": "
|
46
|
-
"build:code": "run -T rollup -c",
|
47
|
-
"build:types": "run -T tsc -p tsconfig.build.json --emitDeclarationOnly",
|
48
|
-
"watch": "run -T rollup -c -w",
|
45
|
+
"build": "pack-up build && run copy-files",
|
49
46
|
"clean": "run -T rimraf ./dist",
|
47
|
+
"copy-files": "copyfiles -u 1 -a 'src/**/*.html' 'src/**/*.png' dist",
|
50
48
|
"lint": "run -T eslint .",
|
51
49
|
"prepublishOnly": "yarn clean && yarn build",
|
52
50
|
"test:unit": "run -T jest",
|
53
|
-
"test:unit:watch": "run -T jest --watch"
|
51
|
+
"test:unit:watch": "run -T jest --watch",
|
52
|
+
"watch": "pack-up watch"
|
54
53
|
},
|
55
54
|
"dependencies": {
|
56
55
|
"@koa/cors": "5.0.0",
|
57
56
|
"@koa/router": "12.0.2",
|
58
57
|
"@paralleldrive/cuid2": "2.2.2",
|
59
|
-
"@strapi/admin": "0.0.0-next.
|
60
|
-
"@strapi/database": "0.0.0-next.
|
61
|
-
"@strapi/generators": "0.0.0-next.
|
62
|
-
"@strapi/logger": "0.0.0-next.
|
63
|
-
"@strapi/
|
64
|
-
"@strapi/
|
65
|
-
"@strapi/
|
66
|
-
"@strapi/utils": "0.0.0-next.
|
58
|
+
"@strapi/admin": "0.0.0-next.3a1d87a9c3b1d4d89f741c6ecd7f501230fd8d76",
|
59
|
+
"@strapi/database": "0.0.0-next.3a1d87a9c3b1d4d89f741c6ecd7f501230fd8d76",
|
60
|
+
"@strapi/generators": "0.0.0-next.3a1d87a9c3b1d4d89f741c6ecd7f501230fd8d76",
|
61
|
+
"@strapi/logger": "0.0.0-next.3a1d87a9c3b1d4d89f741c6ecd7f501230fd8d76",
|
62
|
+
"@strapi/pack-up": "5.0.2",
|
63
|
+
"@strapi/permissions": "0.0.0-next.3a1d87a9c3b1d4d89f741c6ecd7f501230fd8d76",
|
64
|
+
"@strapi/types": "0.0.0-next.3a1d87a9c3b1d4d89f741c6ecd7f501230fd8d76",
|
65
|
+
"@strapi/typescript-utils": "0.0.0-next.3a1d87a9c3b1d4d89f741c6ecd7f501230fd8d76",
|
66
|
+
"@strapi/utils": "0.0.0-next.3a1d87a9c3b1d4d89f741c6ecd7f501230fd8d76",
|
67
67
|
"bcryptjs": "2.4.3",
|
68
68
|
"boxen": "5.1.2",
|
69
69
|
"chalk": "4.1.2",
|
@@ -102,13 +102,13 @@
|
|
102
102
|
"resolve.exports": "2.0.2",
|
103
103
|
"semver": "7.5.4",
|
104
104
|
"statuses": "2.0.1",
|
105
|
-
"typescript": "5.
|
105
|
+
"typescript": "5.3.2",
|
106
106
|
"undici": "6.19.2",
|
107
107
|
"yup": "0.32.9"
|
108
108
|
},
|
109
109
|
"devDependencies": {
|
110
|
+
"@strapi/pack-up": "5.0.2",
|
110
111
|
"@strapi/ts-zen": "^0.2.0",
|
111
|
-
"@swc/core": "1.9.3",
|
112
112
|
"@types/bcryptjs": "2.4.3",
|
113
113
|
"@types/configstore": "5.0.1",
|
114
114
|
"@types/delegates": "1.0.0",
|
@@ -126,9 +126,9 @@
|
|
126
126
|
"@types/node": "18.19.24",
|
127
127
|
"@types/node-schedule": "2.1.7",
|
128
128
|
"@types/statuses": "2.0.1",
|
129
|
-
"eslint-config-custom": "0.0.0-next.
|
129
|
+
"eslint-config-custom": "0.0.0-next.3a1d87a9c3b1d4d89f741c6ecd7f501230fd8d76",
|
130
130
|
"supertest": "6.3.3",
|
131
|
-
"tsconfig": "0.0.0-next.
|
131
|
+
"tsconfig": "0.0.0-next.3a1d87a9c3b1d4d89f741c6ecd7f501230fd8d76"
|
132
132
|
},
|
133
133
|
"engines": {
|
134
134
|
"node": ">=18.0.0 <=22.x.x",
|