@strapi/core 0.0.0-experimental.6dbac0c205b0f8495781db5706c18cac1a62e62b → 0.0.0-experimental.90ca9123352ed07e0a9cedaf4bcad1475e74137f
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.
Potentially problematic release.
This version of @strapi/core might be problematic. Click here for more details.
- package/dist/Strapi.d.ts +4 -1
- package/dist/Strapi.d.ts.map +1 -1
- package/dist/Strapi.js +58 -47
- package/dist/Strapi.js.map +1 -1
- package/dist/Strapi.mjs +60 -48
- package/dist/Strapi.mjs.map +1 -1
- package/dist/configuration/config-loader.d.ts.map +1 -0
- package/dist/configuration/config-loader.js +102 -0
- package/dist/configuration/config-loader.js.map +1 -0
- package/dist/configuration/config-loader.mjs +100 -0
- package/dist/configuration/config-loader.mjs.map +1 -0
- package/dist/{core/app-configuration → configuration}/index.d.ts +20 -5
- package/dist/configuration/index.d.ts.map +1 -0
- package/dist/{core/app-configuration → configuration}/index.js +28 -5
- package/dist/configuration/index.js.map +1 -0
- package/dist/{core/app-configuration → configuration}/index.mjs +28 -5
- package/dist/configuration/index.mjs.map +1 -0
- package/dist/core-api/controller/collection-type.d.ts +1 -1
- package/dist/core-api/controller/collection-type.d.ts.map +1 -1
- package/dist/core-api/controller/collection-type.js +9 -20
- package/dist/core-api/controller/collection-type.js.map +1 -1
- package/dist/core-api/controller/collection-type.mjs +8 -20
- package/dist/core-api/controller/collection-type.mjs.map +1 -1
- package/dist/core-api/controller/index.d.ts.map +1 -1
- package/dist/core-api/controller/index.js +2 -2
- package/dist/core-api/controller/index.js.map +1 -1
- package/dist/core-api/controller/index.mjs +2 -2
- package/dist/core-api/controller/index.mjs.map +1 -1
- package/dist/core-api/controller/single-type.d.ts +1 -1
- package/dist/core-api/controller/single-type.d.ts.map +1 -1
- package/dist/core-api/controller/single-type.js +6 -11
- package/dist/core-api/controller/single-type.js.map +1 -1
- package/dist/core-api/controller/single-type.mjs +5 -11
- package/dist/core-api/controller/single-type.mjs.map +1 -1
- package/dist/core-api/controller/transform.d.ts +2 -11
- package/dist/core-api/controller/transform.d.ts.map +1 -1
- package/dist/core-api/controller/transform.js +2 -16
- package/dist/core-api/controller/transform.js.map +1 -1
- package/dist/core-api/controller/transform.mjs +2 -16
- package/dist/core-api/controller/transform.mjs.map +1 -1
- package/dist/core-api/service/collection-type.d.ts +28 -5
- package/dist/core-api/service/collection-type.d.ts.map +1 -1
- package/dist/core-api/service/collection-type.js +47 -49
- package/dist/core-api/service/collection-type.js.map +1 -1
- package/dist/core-api/service/collection-type.mjs +47 -50
- package/dist/core-api/service/collection-type.mjs.map +1 -1
- package/dist/core-api/service/core-service.d.ts +4 -0
- package/dist/core-api/service/core-service.d.ts.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 +2 -2
- package/dist/core-api/service/index.js.map +1 -1
- package/dist/core-api/service/index.mjs +4 -4
- package/dist/core-api/service/index.mjs.map +1 -1
- package/dist/core-api/service/pagination.d.ts +1 -5
- package/dist/core-api/service/pagination.d.ts.map +1 -1
- package/dist/core-api/service/pagination.js +0 -11
- package/dist/core-api/service/pagination.js.map +1 -1
- package/dist/core-api/service/pagination.mjs +0 -11
- package/dist/core-api/service/pagination.mjs.map +1 -1
- package/dist/core-api/service/single-type.d.ts +13 -8
- package/dist/core-api/service/single-type.d.ts.map +1 -1
- package/dist/core-api/service/single-type.js +25 -51
- package/dist/core-api/service/single-type.js.map +1 -1
- package/dist/core-api/service/single-type.mjs +24 -51
- package/dist/core-api/service/single-type.mjs.map +1 -1
- package/dist/{core/domain → domain}/content-type/index.d.ts +2 -1
- package/dist/domain/content-type/index.d.ts.map +1 -0
- package/dist/{core/domain → domain}/content-type/index.js +20 -34
- package/dist/domain/content-type/index.js.map +1 -0
- package/dist/{core/domain → domain}/content-type/index.mjs +21 -35
- package/dist/domain/content-type/index.mjs.map +1 -0
- package/dist/domain/content-type/validator.d.ts.map +1 -0
- package/dist/domain/content-type/validator.js.map +1 -0
- package/dist/domain/content-type/validator.mjs.map +1 -0
- package/dist/domain/module/index.d.ts.map +1 -0
- package/dist/{core/domain → domain}/module/index.js +30 -30
- package/dist/domain/module/index.js.map +1 -0
- package/dist/{core/domain → domain}/module/index.mjs +1 -1
- package/dist/domain/module/index.mjs.map +1 -0
- package/dist/domain/module/validation.d.ts.map +1 -0
- package/dist/domain/module/validation.js.map +1 -0
- package/dist/domain/module/validation.mjs.map +1 -0
- package/dist/ee/index.js +2 -2
- package/dist/ee/index.js.map +1 -1
- package/dist/ee/index.mjs +2 -2
- package/dist/ee/index.mjs.map +1 -1
- package/dist/ee/license.d.ts.map +1 -1
- package/dist/ee/license.js +2 -1
- package/dist/ee/license.js.map +1 -1
- package/dist/ee/license.mjs +2 -1
- package/dist/ee/license.mjs.map +1 -1
- package/dist/factories.d.ts +2 -1
- package/dist/factories.d.ts.map +1 -1
- package/dist/factories.js +16 -11
- package/dist/factories.js.map +1 -1
- package/dist/factories.mjs +17 -12
- package/dist/factories.mjs.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3 -1
- package/dist/index.mjs.map +1 -1
- package/dist/loaders/admin.d.ts.map +1 -0
- package/dist/{core/loaders → loaders}/admin.js +12 -1
- package/dist/loaders/admin.js.map +1 -0
- package/dist/{core/loaders → loaders}/admin.mjs +12 -1
- package/dist/loaders/admin.mjs.map +1 -0
- package/dist/loaders/apis.d.ts.map +1 -0
- package/dist/{core/loaders → loaders}/apis.js +19 -12
- package/dist/loaders/apis.js.map +1 -0
- package/dist/{core/loaders → loaders}/apis.mjs +17 -10
- package/dist/loaders/apis.mjs.map +1 -0
- package/dist/loaders/components.d.ts.map +1 -0
- package/dist/{core/loaders → loaders}/components.js +2 -2
- package/dist/loaders/components.js.map +1 -0
- package/dist/{core/loaders → loaders}/components.mjs +1 -1
- package/dist/loaders/components.mjs.map +1 -0
- package/dist/loaders/index.d.ts.map +1 -0
- package/dist/loaders/index.js.map +1 -0
- package/dist/loaders/index.mjs.map +1 -0
- package/dist/loaders/middlewares.d.ts.map +1 -0
- package/dist/{core/loaders → loaders}/middlewares.js +1 -1
- package/dist/loaders/middlewares.js.map +1 -0
- package/dist/{core/loaders → loaders}/middlewares.mjs +1 -1
- package/dist/loaders/middlewares.mjs.map +1 -0
- package/dist/loaders/plugins/get-enabled-plugins.d.ts.map +1 -0
- package/dist/{core/loaders → loaders}/plugins/get-enabled-plugins.js +2 -1
- package/dist/loaders/plugins/get-enabled-plugins.js.map +1 -0
- package/dist/{core/loaders → loaders}/plugins/get-enabled-plugins.mjs +2 -1
- package/dist/loaders/plugins/get-enabled-plugins.mjs.map +1 -0
- package/dist/loaders/plugins/get-user-plugins-config.d.ts.map +1 -0
- package/dist/{core/loaders → loaders}/plugins/get-user-plugins-config.js +3 -3
- package/dist/loaders/plugins/get-user-plugins-config.js.map +1 -0
- package/dist/{core/loaders → loaders}/plugins/get-user-plugins-config.mjs +3 -3
- package/dist/loaders/plugins/get-user-plugins-config.mjs.map +1 -0
- package/dist/loaders/plugins/index.d.ts.map +1 -0
- package/dist/{core/loaders → loaders}/plugins/index.js +18 -5
- package/dist/loaders/plugins/index.js.map +1 -0
- package/dist/{core/loaders → loaders}/plugins/index.mjs +16 -3
- package/dist/loaders/plugins/index.mjs.map +1 -0
- package/dist/loaders/policies.d.ts.map +1 -0
- package/dist/loaders/policies.js.map +1 -0
- package/dist/loaders/policies.mjs.map +1 -0
- package/dist/loaders/sanitizers.d.ts.map +1 -0
- package/dist/loaders/sanitizers.js.map +1 -0
- package/dist/loaders/sanitizers.mjs.map +1 -0
- package/dist/loaders/src-index.d.ts.map +1 -0
- package/dist/loaders/src-index.js.map +1 -0
- package/dist/loaders/src-index.mjs.map +1 -0
- package/dist/loaders/validators.d.ts.map +1 -0
- package/dist/loaders/validators.js.map +1 -0
- package/dist/loaders/validators.mjs.map +1 -0
- package/dist/middlewares/favicon.d.ts +1 -0
- package/dist/middlewares/favicon.d.ts.map +1 -1
- package/dist/middlewares/index.js +2 -2
- package/dist/middlewares/index.js.map +1 -1
- package/dist/middlewares/index.mjs +1 -1
- package/dist/middlewares/{public/index.d.ts → public.d.ts} +1 -1
- package/dist/middlewares/public.d.ts.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/security.d.ts.map +1 -1
- package/dist/middlewares/security.js +24 -3
- package/dist/middlewares/security.js.map +1 -1
- package/dist/middlewares/security.mjs +24 -3
- package/dist/middlewares/security.mjs.map +1 -1
- package/dist/registries/apis.d.ts.map +1 -0
- package/dist/registries/apis.js.map +1 -0
- package/dist/registries/apis.mjs.map +1 -0
- package/dist/registries/components.d.ts.map +1 -0
- package/dist/registries/components.js.map +1 -0
- package/dist/registries/components.mjs.map +1 -0
- package/dist/registries/config.d.ts.map +1 -0
- package/dist/registries/config.js.map +1 -0
- package/dist/registries/config.mjs.map +1 -0
- package/dist/registries/content-types.d.ts.map +1 -0
- package/dist/{core/registries → registries}/content-types.js +6 -7
- package/dist/registries/content-types.js.map +1 -0
- package/dist/{core/registries → registries}/content-types.mjs +2 -3
- package/dist/registries/content-types.mjs.map +1 -0
- package/dist/registries/controllers.d.ts.map +1 -0
- package/dist/{core/registries → registries}/controllers.js +5 -5
- package/dist/registries/controllers.js.map +1 -0
- package/dist/{core/registries → registries}/controllers.mjs +1 -1
- package/dist/registries/controllers.mjs.map +1 -0
- package/dist/registries/custom-fields.d.ts.map +1 -0
- package/dist/registries/custom-fields.js.map +1 -0
- package/dist/registries/custom-fields.mjs.map +1 -0
- package/dist/registries/hooks.d.ts.map +1 -0
- package/dist/{core/registries → registries}/hooks.js +5 -5
- package/dist/registries/hooks.js.map +1 -0
- package/dist/{core/registries → registries}/hooks.mjs +1 -1
- package/dist/registries/hooks.mjs.map +1 -0
- package/dist/{core/registries → registries}/index.d.ts +1 -0
- package/dist/registries/index.d.ts.map +1 -0
- package/dist/registries/middlewares.d.ts.map +1 -0
- package/dist/{core/registries → registries}/middlewares.js +5 -5
- package/dist/registries/middlewares.js.map +1 -0
- package/dist/{core/registries → registries}/middlewares.mjs +1 -1
- package/dist/registries/middlewares.mjs.map +1 -0
- package/dist/registries/models.d.ts +6 -0
- package/dist/registries/models.d.ts.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.d.ts.map +1 -0
- package/dist/registries/modules.js.map +1 -0
- package/dist/registries/modules.mjs.map +1 -0
- package/dist/{core/utils.d.ts → registries/namespace.d.ts} +1 -1
- package/dist/registries/namespace.d.ts.map +1 -0
- package/dist/{core/utils.js → registries/namespace.js} +1 -1
- package/dist/registries/namespace.js.map +1 -0
- package/dist/{core/utils.mjs → registries/namespace.mjs} +1 -1
- package/dist/registries/namespace.mjs.map +1 -0
- package/dist/registries/plugins.d.ts.map +1 -0
- package/dist/registries/plugins.js.map +1 -0
- package/dist/registries/plugins.mjs.map +1 -0
- package/dist/registries/policies.d.ts.map +1 -0
- package/dist/{core/registries → registries}/policies.js +5 -5
- package/dist/registries/policies.js.map +1 -0
- package/dist/{core/registries → registries}/policies.mjs +1 -1
- package/dist/registries/policies.mjs.map +1 -0
- package/dist/registries/sanitizers.d.ts.map +1 -0
- package/dist/registries/sanitizers.js.map +1 -0
- package/dist/registries/sanitizers.mjs.map +1 -0
- package/dist/registries/services.d.ts.map +1 -0
- package/dist/{core/registries → registries}/services.js +5 -5
- package/dist/registries/services.js.map +1 -0
- package/dist/{core/registries → registries}/services.mjs +1 -1
- package/dist/registries/services.mjs.map +1 -0
- package/dist/registries/validators.d.ts.map +1 -0
- package/dist/registries/validators.js.map +1 -0
- package/dist/registries/validators.mjs.map +1 -0
- package/dist/services/core-store.d.ts +2 -22
- package/dist/services/core-store.d.ts.map +1 -1
- package/dist/services/core-store.js +5 -1
- package/dist/services/core-store.js.map +1 -1
- package/dist/services/core-store.mjs +5 -1
- package/dist/services/core-store.mjs.map +1 -1
- package/dist/services/document-service/collection-type.d.ts +4 -0
- package/dist/services/document-service/collection-type.d.ts.map +1 -0
- package/dist/services/document-service/collection-type.js +145 -0
- package/dist/services/document-service/collection-type.js.map +1 -0
- package/dist/services/document-service/collection-type.mjs +145 -0
- package/dist/services/document-service/collection-type.mjs.map +1 -0
- package/dist/services/document-service/common.d.ts +4 -0
- package/dist/services/document-service/common.d.ts.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/document-engine.d.ts +8 -0
- package/dist/services/document-service/document-engine.d.ts.map +1 -0
- package/dist/services/document-service/document-engine.js +249 -0
- package/dist/services/document-service/document-engine.js.map +1 -0
- package/dist/services/document-service/document-engine.mjs +250 -0
- package/dist/services/document-service/document-engine.mjs.map +1 -0
- package/dist/services/document-service/draft-and-publish.d.ts +24 -0
- package/dist/services/document-service/draft-and-publish.d.ts.map +1 -0
- package/dist/services/document-service/draft-and-publish.js +41 -0
- package/dist/services/document-service/draft-and-publish.js.map +1 -0
- package/dist/services/document-service/draft-and-publish.mjs +41 -0
- package/dist/services/document-service/draft-and-publish.mjs.map +1 -0
- package/dist/services/document-service/index.d.ts +18 -7
- package/dist/services/document-service/index.d.ts.map +1 -1
- package/dist/services/document-service/index.js +18 -190
- package/dist/services/document-service/index.js.map +1 -1
- package/dist/services/document-service/index.mjs +17 -190
- package/dist/services/document-service/index.mjs.map +1 -1
- package/dist/services/document-service/internationalization.d.ts +7 -0
- package/dist/services/document-service/internationalization.d.ts.map +1 -0
- package/dist/services/document-service/internationalization.js +40 -0
- package/dist/services/document-service/internationalization.js.map +1 -0
- package/dist/services/document-service/internationalization.mjs +40 -0
- package/dist/services/document-service/internationalization.mjs.map +1 -0
- package/dist/services/document-service/middlewares.d.ts +8 -0
- package/dist/services/document-service/middlewares.d.ts.map +1 -0
- package/dist/services/document-service/middlewares.js +46 -0
- package/dist/services/document-service/middlewares.js.map +1 -0
- package/dist/services/document-service/middlewares.mjs +46 -0
- package/dist/services/document-service/middlewares.mjs.map +1 -0
- package/dist/services/document-service/repository-factory.d.ts +3 -0
- package/dist/services/document-service/repository-factory.d.ts.map +1 -0
- package/dist/services/document-service/repository-factory.js +12 -0
- package/dist/services/document-service/repository-factory.js.map +1 -0
- package/dist/services/document-service/repository-factory.mjs +12 -0
- package/dist/services/document-service/repository-factory.mjs.map +1 -0
- package/dist/services/document-service/single-type.d.ts +4 -0
- package/dist/services/document-service/single-type.d.ts.map +1 -0
- package/dist/services/document-service/single-type.js +92 -0
- package/dist/services/document-service/single-type.js.map +1 -0
- package/dist/services/document-service/single-type.mjs +92 -0
- package/dist/services/document-service/single-type.mjs.map +1 -0
- package/dist/services/document-service/transform/data.d.ts +5 -0
- package/dist/services/document-service/transform/data.d.ts.map +1 -0
- package/dist/services/document-service/transform/data.js +13 -0
- package/dist/services/document-service/transform/data.js.map +1 -0
- package/dist/services/document-service/transform/data.mjs +13 -0
- package/dist/services/document-service/transform/data.mjs.map +1 -0
- package/dist/services/document-service/transform/fields.d.ts +5 -0
- package/dist/services/document-service/transform/fields.d.ts.map +1 -0
- package/dist/services/document-service/transform/fields.js +23 -0
- package/dist/services/document-service/transform/fields.js.map +1 -0
- package/dist/services/document-service/transform/fields.mjs +23 -0
- package/dist/services/document-service/transform/fields.mjs.map +1 -0
- package/dist/services/document-service/transform/filters.d.ts +3 -0
- package/dist/services/document-service/transform/filters.d.ts.map +1 -0
- package/dist/services/document-service/transform/filters.js +49 -0
- package/dist/services/document-service/transform/filters.js.map +1 -0
- package/dist/services/document-service/transform/filters.mjs +49 -0
- package/dist/services/document-service/transform/filters.mjs.map +1 -0
- package/dist/services/document-service/transform/id-map.d.ts +23 -0
- package/dist/services/document-service/transform/id-map.d.ts.map +1 -0
- package/dist/services/document-service/transform/id-map.js +72 -0
- package/dist/services/document-service/transform/id-map.js.map +1 -0
- package/dist/services/document-service/transform/id-map.mjs +72 -0
- package/dist/services/document-service/transform/id-map.mjs.map +1 -0
- package/dist/services/document-service/transform/id-transform.d.ts +26 -0
- package/dist/services/document-service/transform/id-transform.d.ts.map +1 -0
- package/dist/services/document-service/transform/id-transform.js +57 -0
- package/dist/services/document-service/transform/id-transform.js.map +1 -0
- package/dist/services/document-service/transform/id-transform.mjs +57 -0
- package/dist/services/document-service/transform/id-transform.mjs.map +1 -0
- package/dist/services/document-service/transform/populate.d.ts +3 -0
- package/dist/services/document-service/transform/populate.d.ts.map +1 -0
- package/dist/services/document-service/transform/populate.js +31 -0
- package/dist/services/document-service/transform/populate.js.map +1 -0
- package/dist/services/document-service/transform/populate.mjs +31 -0
- package/dist/services/document-service/transform/populate.mjs.map +1 -0
- package/dist/services/document-service/transform/relations/extract/data-ids.d.ts +13 -0
- package/dist/services/document-service/transform/relations/extract/data-ids.d.ts.map +1 -0
- package/dist/services/document-service/transform/relations/extract/data-ids.js +76 -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 +76 -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.d.ts +10 -0
- package/dist/services/document-service/transform/relations/transform/data-ids.d.ts.map +1 -0
- package/dist/services/document-service/transform/relations/transform/data-ids.js +115 -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 +115 -0
- package/dist/services/document-service/transform/relations/transform/data-ids.mjs.map +1 -0
- package/dist/services/document-service/transform/relations/transform/output-ids.d.ts +4 -0
- package/dist/services/document-service/transform/relations/transform/output-ids.d.ts.map +1 -0
- package/dist/services/document-service/transform/relations/transform/output-ids.js +26 -0
- package/dist/services/document-service/transform/relations/transform/output-ids.js.map +1 -0
- package/dist/services/document-service/transform/relations/transform/output-ids.mjs +26 -0
- package/dist/services/document-service/transform/relations/transform/output-ids.mjs.map +1 -0
- package/dist/services/document-service/transform/relations/utils/data.d.ts +6 -0
- package/dist/services/document-service/transform/relations/utils/data.d.ts.map +1 -0
- package/dist/services/document-service/transform/relations/utils/data.js +12 -0
- package/dist/services/document-service/transform/relations/utils/data.js.map +1 -0
- package/dist/services/document-service/transform/relations/utils/data.mjs +12 -0
- package/dist/services/document-service/transform/relations/utils/data.mjs.map +1 -0
- package/dist/services/document-service/transform/relations/utils/i18n.d.ts +10 -0
- package/dist/services/document-service/transform/relations/utils/i18n.d.ts.map +1 -0
- package/dist/services/document-service/transform/relations/utils/i18n.js +31 -0
- package/dist/services/document-service/transform/relations/utils/i18n.js.map +1 -0
- package/dist/services/document-service/transform/relations/utils/i18n.mjs +31 -0
- package/dist/services/document-service/transform/relations/utils/i18n.mjs.map +1 -0
- package/dist/services/document-service/transform/relations/utils/types.d.ts +8 -0
- package/dist/services/document-service/transform/relations/utils/types.d.ts.map +1 -0
- package/dist/services/document-service/transform/sort.d.ts +5 -0
- package/dist/services/document-service/transform/sort.d.ts.map +1 -0
- package/dist/services/document-service/transform/sort.js +44 -0
- package/dist/services/document-service/transform/sort.js.map +1 -0
- package/dist/services/document-service/transform/sort.mjs +44 -0
- package/dist/services/document-service/transform/sort.mjs.map +1 -0
- package/dist/services/document-service/transform/types.d.ts +13 -0
- package/dist/services/document-service/transform/types.d.ts.map +1 -0
- package/dist/services/document-service/transform/utils.d.ts +9 -0
- package/dist/services/document-service/transform/utils.d.ts.map +1 -0
- package/dist/services/document-service/transform/utils.js +23 -0
- package/dist/services/document-service/transform/utils.js.map +1 -0
- package/dist/services/document-service/transform/utils.mjs +23 -0
- package/dist/services/document-service/transform/utils.mjs.map +1 -0
- package/dist/services/document-service/utils/populate.d.ts +3 -0
- package/dist/services/document-service/utils/populate.d.ts.map +1 -0
- package/dist/services/document-service/utils/populate.js +41 -0
- package/dist/services/document-service/utils/populate.js.map +1 -0
- package/dist/services/document-service/utils/populate.mjs +41 -0
- package/dist/services/document-service/utils/populate.mjs.map +1 -0
- package/dist/services/entity-validator/blocks-validator.d.ts.map +1 -1
- package/dist/services/entity-validator/blocks-validator.js +22 -2
- package/dist/services/entity-validator/blocks-validator.js.map +1 -1
- package/dist/services/entity-validator/blocks-validator.mjs +22 -2
- package/dist/services/entity-validator/blocks-validator.mjs.map +1 -1
- package/dist/services/entity-validator/index.d.ts.map +1 -1
- package/dist/services/entity-validator/index.js +4 -1
- package/dist/services/entity-validator/index.js.map +1 -1
- package/dist/services/entity-validator/index.mjs +4 -1
- package/dist/services/entity-validator/index.mjs.map +1 -1
- package/dist/services/entity-validator/validators.d.ts +14 -13
- package/dist/services/entity-validator/validators.d.ts.map +1 -1
- package/dist/services/entity-validator/validators.js +20 -16
- package/dist/services/entity-validator/validators.js.map +1 -1
- package/dist/services/entity-validator/validators.mjs +20 -16
- package/dist/services/entity-validator/validators.mjs.map +1 -1
- package/dist/services/features.d.ts +10 -0
- package/dist/services/features.d.ts.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/server/compose-endpoint.d.ts.map +1 -1
- package/dist/services/server/compose-endpoint.js +3 -0
- package/dist/services/server/compose-endpoint.js.map +1 -1
- package/dist/services/server/compose-endpoint.mjs +3 -0
- package/dist/services/server/compose-endpoint.mjs.map +1 -1
- package/dist/services/server/middleware.d.ts +1 -5
- package/dist/services/server/middleware.d.ts.map +1 -1
- package/dist/services/server/middleware.js.map +1 -1
- package/dist/services/server/middleware.mjs.map +1 -1
- package/dist/services/server/register-middlewares.js +1 -1
- package/dist/services/server/register-middlewares.js.map +1 -1
- package/dist/services/server/register-middlewares.mjs +1 -1
- package/dist/services/server/register-middlewares.mjs.map +1 -1
- package/dist/services/webhook-runner.d.ts +10 -1
- package/dist/services/webhook-runner.d.ts.map +1 -1
- package/dist/services/webhook-store.d.ts +2 -22
- package/dist/services/webhook-store.d.ts.map +1 -1
- package/dist/services/webhook-store.js +7 -3
- package/dist/services/webhook-store.js.map +1 -1
- package/dist/services/webhook-store.mjs +7 -3
- package/dist/services/webhook-store.mjs.map +1 -1
- package/dist/utils/convert-custom-field-type.d.ts +1 -2
- package/dist/utils/convert-custom-field-type.d.ts.map +1 -1
- package/dist/utils/convert-custom-field-type.js +2 -1
- package/dist/utils/convert-custom-field-type.js.map +1 -1
- package/dist/utils/convert-custom-field-type.mjs +1 -1
- package/dist/utils/convert-custom-field-type.mjs.map +1 -1
- package/dist/utils/ee.d.ts +1 -2
- package/dist/utils/ee.d.ts.map +1 -1
- package/dist/utils/fetch.d.ts +2 -1
- package/dist/utils/fetch.d.ts.map +1 -1
- package/dist/utils/fetch.js +2 -2
- package/dist/utils/fetch.js.map +1 -1
- package/dist/utils/fetch.mjs +2 -2
- package/dist/utils/fetch.mjs.map +1 -1
- package/dist/utils/filepath-to-prop-path.d.ts +5 -0
- package/dist/utils/filepath-to-prop-path.d.ts.map +1 -0
- package/dist/{load → utils}/filepath-to-prop-path.js +3 -2
- package/dist/utils/filepath-to-prop-path.js.map +1 -0
- package/dist/{load → utils}/filepath-to-prop-path.mjs +2 -2
- package/dist/utils/filepath-to-prop-path.mjs.map +1 -0
- package/dist/utils/get-dirs.d.ts +1 -2
- package/dist/utils/get-dirs.d.ts.map +1 -1
- package/dist/utils/get-dirs.js +2 -1
- package/dist/utils/get-dirs.js.map +1 -1
- package/dist/utils/get-dirs.mjs +1 -1
- package/dist/utils/get-dirs.mjs.map +1 -1
- package/dist/utils/index.d.ts +11 -4
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/is-initialized.d.ts +1 -1
- package/dist/utils/is-initialized.d.ts.map +1 -1
- package/dist/utils/is-initialized.js +4 -3
- package/dist/utils/is-initialized.js.map +1 -1
- package/dist/utils/is-initialized.mjs +3 -3
- package/dist/utils/is-initialized.mjs.map +1 -1
- package/dist/utils/load-config-file.d.ts +2 -0
- package/dist/utils/load-config-file.d.ts.map +1 -0
- package/dist/{core/app-configuration → utils}/load-config-file.js +2 -2
- package/dist/utils/load-config-file.js.map +1 -0
- package/dist/{core/app-configuration → utils}/load-config-file.mjs +2 -2
- package/dist/utils/load-config-file.mjs.map +1 -0
- package/dist/{load → utils}/load-files.d.ts +2 -2
- package/dist/utils/load-files.d.ts.map +1 -0
- package/dist/{load → utils}/load-files.js +7 -6
- package/dist/utils/load-files.js.map +1 -0
- package/dist/{load → utils}/load-files.mjs +7 -7
- package/dist/utils/load-files.mjs.map +1 -0
- package/dist/utils/open-browser.d.ts +1 -2
- package/dist/utils/open-browser.d.ts.map +1 -1
- package/dist/utils/open-browser.js +5 -5
- package/dist/utils/open-browser.js.map +1 -1
- package/dist/utils/open-browser.mjs +4 -5
- package/dist/utils/open-browser.mjs.map +1 -1
- package/dist/utils/startup-logger.d.ts +1 -2
- package/dist/utils/startup-logger.d.ts.map +1 -1
- package/dist/utils/startup-logger.js +19 -13
- package/dist/utils/startup-logger.js.map +1 -1
- package/dist/utils/startup-logger.mjs +18 -13
- package/dist/utils/startup-logger.mjs.map +1 -1
- package/dist/utils/transform-content-types-to-models.d.ts +2 -2
- package/dist/utils/transform-content-types-to-models.d.ts.map +1 -1
- package/dist/utils/transform-content-types-to-models.js +159 -11
- package/dist/utils/transform-content-types-to-models.js.map +1 -1
- package/dist/utils/transform-content-types-to-models.mjs +157 -11
- package/dist/utils/transform-content-types-to-models.mjs.map +1 -1
- package/dist/utils/update-notifier/index.d.ts +1 -2
- package/dist/utils/update-notifier/index.d.ts.map +1 -1
- package/dist/utils/update-notifier/index.js +8 -2
- package/dist/utils/update-notifier/index.js.map +1 -1
- package/dist/utils/update-notifier/index.mjs +7 -2
- package/dist/utils/update-notifier/index.mjs.map +1 -1
- package/package.json +17 -25
- package/bin/strapi.js +0 -2
- package/dist/admin.d.ts +0 -5
- package/dist/admin.d.ts.map +0 -1
- package/dist/cli.d.ts +0 -2
- package/dist/cli.d.ts.map +0 -1
- package/dist/commands/actions/admin/create-user/action.d.ts +0 -12
- package/dist/commands/actions/admin/create-user/action.d.ts.map +0 -1
- package/dist/commands/actions/admin/create-user/command.d.ts +0 -7
- package/dist/commands/actions/admin/create-user/command.d.ts.map +0 -1
- package/dist/commands/actions/admin/reset-user-password/action.d.ts +0 -10
- package/dist/commands/actions/admin/reset-user-password/action.d.ts.map +0 -1
- package/dist/commands/actions/admin/reset-user-password/command.d.ts +0 -7
- package/dist/commands/actions/admin/reset-user-password/command.d.ts.map +0 -1
- package/dist/commands/actions/components/list/action.d.ts +0 -3
- package/dist/commands/actions/components/list/action.d.ts.map +0 -1
- package/dist/commands/actions/components/list/command.d.ts +0 -7
- package/dist/commands/actions/components/list/command.d.ts.map +0 -1
- package/dist/commands/actions/configuration/dump/action.d.ts +0 -11
- package/dist/commands/actions/configuration/dump/action.d.ts.map +0 -1
- package/dist/commands/actions/configuration/dump/command.d.ts +0 -7
- package/dist/commands/actions/configuration/dump/command.d.ts.map +0 -1
- package/dist/commands/actions/configuration/restore/action.d.ts +0 -11
- package/dist/commands/actions/configuration/restore/action.d.ts.map +0 -1
- package/dist/commands/actions/configuration/restore/command.d.ts +0 -7
- package/dist/commands/actions/configuration/restore/command.d.ts.map +0 -1
- package/dist/commands/actions/console/action.d.ts +0 -6
- package/dist/commands/actions/console/action.d.ts.map +0 -1
- package/dist/commands/actions/console/command.d.ts +0 -7
- package/dist/commands/actions/console/command.d.ts.map +0 -1
- package/dist/commands/actions/content-types/list/action.d.ts +0 -3
- package/dist/commands/actions/content-types/list/action.d.ts.map +0 -1
- package/dist/commands/actions/content-types/list/command.d.ts +0 -7
- package/dist/commands/actions/content-types/list/command.d.ts.map +0 -1
- package/dist/commands/actions/controllers/list/action.d.ts +0 -3
- package/dist/commands/actions/controllers/list/action.d.ts.map +0 -1
- package/dist/commands/actions/controllers/list/command.d.ts +0 -7
- package/dist/commands/actions/controllers/list/command.d.ts.map +0 -1
- package/dist/commands/actions/generate/command.d.ts +0 -7
- package/dist/commands/actions/generate/command.d.ts.map +0 -1
- package/dist/commands/actions/hooks/list/action.d.ts +0 -3
- package/dist/commands/actions/hooks/list/action.d.ts.map +0 -1
- package/dist/commands/actions/hooks/list/command.d.ts +0 -7
- package/dist/commands/actions/hooks/list/command.d.ts.map +0 -1
- package/dist/commands/actions/install/action.d.ts +0 -3
- package/dist/commands/actions/install/action.d.ts.map +0 -1
- package/dist/commands/actions/install/command.d.ts +0 -7
- package/dist/commands/actions/install/command.d.ts.map +0 -1
- package/dist/commands/actions/middlewares/list/action.d.ts +0 -3
- package/dist/commands/actions/middlewares/list/action.d.ts.map +0 -1
- package/dist/commands/actions/middlewares/list/command.d.ts +0 -7
- package/dist/commands/actions/middlewares/list/command.d.ts.map +0 -1
- package/dist/commands/actions/new/action.d.ts +0 -8
- package/dist/commands/actions/new/action.d.ts.map +0 -1
- package/dist/commands/actions/new/command.d.ts +0 -7
- package/dist/commands/actions/new/command.d.ts.map +0 -1
- package/dist/commands/actions/plugin/build-command/action.d.ts +0 -7
- package/dist/commands/actions/plugin/build-command/action.d.ts.map +0 -1
- package/dist/commands/actions/plugin/build-command/command.d.ts +0 -7
- package/dist/commands/actions/plugin/build-command/command.d.ts.map +0 -1
- package/dist/commands/actions/plugin/watch/action.d.ts +0 -7
- package/dist/commands/actions/plugin/watch/action.d.ts.map +0 -1
- package/dist/commands/actions/plugin/watch/command.d.ts +0 -7
- package/dist/commands/actions/plugin/watch/command.d.ts.map +0 -1
- package/dist/commands/actions/policies/list/action.d.ts +0 -3
- package/dist/commands/actions/policies/list/action.d.ts.map +0 -1
- package/dist/commands/actions/policies/list/command.d.ts +0 -7
- package/dist/commands/actions/policies/list/command.d.ts.map +0 -1
- package/dist/commands/actions/report/action.d.ts +0 -8
- package/dist/commands/actions/report/action.d.ts.map +0 -1
- package/dist/commands/actions/report/command.d.ts +0 -7
- package/dist/commands/actions/report/command.d.ts.map +0 -1
- package/dist/commands/actions/routes/list/action.d.ts +0 -3
- package/dist/commands/actions/routes/list/action.d.ts.map +0 -1
- package/dist/commands/actions/routes/list/command.d.ts +0 -7
- package/dist/commands/actions/routes/list/command.d.ts.map +0 -1
- package/dist/commands/actions/services/list/action.d.ts +0 -3
- package/dist/commands/actions/services/list/action.d.ts.map +0 -1
- package/dist/commands/actions/services/list/command.d.ts +0 -7
- package/dist/commands/actions/services/list/command.d.ts.map +0 -1
- package/dist/commands/actions/start/action.d.ts +0 -6
- package/dist/commands/actions/start/action.d.ts.map +0 -1
- package/dist/commands/actions/start/command.d.ts +0 -7
- package/dist/commands/actions/start/command.d.ts.map +0 -1
- package/dist/commands/actions/telemetry/disable/action.d.ts +0 -2
- package/dist/commands/actions/telemetry/disable/action.d.ts.map +0 -1
- package/dist/commands/actions/telemetry/disable/command.d.ts +0 -7
- package/dist/commands/actions/telemetry/disable/command.d.ts.map +0 -1
- package/dist/commands/actions/telemetry/enable/action.d.ts +0 -3
- package/dist/commands/actions/telemetry/enable/action.d.ts.map +0 -1
- package/dist/commands/actions/telemetry/enable/command.d.ts +0 -7
- package/dist/commands/actions/telemetry/enable/command.d.ts.map +0 -1
- package/dist/commands/actions/templates/generate/action.d.ts +0 -2
- package/dist/commands/actions/templates/generate/action.d.ts.map +0 -1
- package/dist/commands/actions/templates/generate/command.d.ts +0 -7
- package/dist/commands/actions/templates/generate/command.d.ts.map +0 -1
- package/dist/commands/actions/ts/generate-types/action.d.ts +0 -9
- package/dist/commands/actions/ts/generate-types/action.d.ts.map +0 -1
- package/dist/commands/actions/ts/generate-types/command.d.ts +0 -7
- package/dist/commands/actions/ts/generate-types/command.d.ts.map +0 -1
- package/dist/commands/actions/uninstall/action.d.ts +0 -6
- package/dist/commands/actions/uninstall/action.d.ts.map +0 -1
- package/dist/commands/actions/uninstall/command.d.ts +0 -7
- package/dist/commands/actions/uninstall/command.d.ts.map +0 -1
- package/dist/commands/actions/version/command.d.ts +0 -7
- package/dist/commands/actions/version/command.d.ts.map +0 -1
- package/dist/commands/actions/watch-admin/action.d.ts +0 -7
- package/dist/commands/actions/watch-admin/action.d.ts.map +0 -1
- package/dist/commands/actions/watch-admin/command.d.ts +0 -7
- package/dist/commands/actions/watch-admin/command.d.ts.map +0 -1
- package/dist/commands/index.d.ts +0 -37
- package/dist/commands/index.d.ts.map +0 -1
- package/dist/commands/types.d.ts +0 -14
- package/dist/commands/types.d.ts.map +0 -1
- package/dist/commands/utils/commander.d.ts +0 -36
- package/dist/commands/utils/commander.d.ts.map +0 -1
- package/dist/commands/utils/helpers.d.ts +0 -49
- package/dist/commands/utils/helpers.d.ts.map +0 -1
- package/dist/commands/utils/logger.d.ts +0 -19
- package/dist/commands/utils/logger.d.ts.map +0 -1
- package/dist/commands/utils/pkg.d.ts +0 -119
- package/dist/commands/utils/pkg.d.ts.map +0 -1
- package/dist/commands/utils/tsconfig.d.ts +0 -19
- package/dist/commands/utils/tsconfig.d.ts.map +0 -1
- package/dist/core/app-configuration/config-loader.d.ts.map +0 -1
- package/dist/core/app-configuration/config-loader.js +0 -19
- package/dist/core/app-configuration/config-loader.js.map +0 -1
- package/dist/core/app-configuration/config-loader.mjs +0 -17
- package/dist/core/app-configuration/config-loader.mjs.map +0 -1
- package/dist/core/app-configuration/index.d.ts.map +0 -1
- package/dist/core/app-configuration/index.js.map +0 -1
- package/dist/core/app-configuration/index.mjs.map +0 -1
- package/dist/core/app-configuration/load-config-file.d.ts +0 -2
- package/dist/core/app-configuration/load-config-file.d.ts.map +0 -1
- package/dist/core/app-configuration/load-config-file.js.map +0 -1
- package/dist/core/app-configuration/load-config-file.mjs.map +0 -1
- package/dist/core/bootstrap.d.ts +0 -5
- package/dist/core/bootstrap.d.ts.map +0 -1
- package/dist/core/bootstrap.js +0 -28
- package/dist/core/bootstrap.js.map +0 -1
- package/dist/core/bootstrap.mjs +0 -27
- package/dist/core/bootstrap.mjs.map +0 -1
- package/dist/core/domain/content-type/index.d.ts.map +0 -1
- package/dist/core/domain/content-type/index.js.map +0 -1
- package/dist/core/domain/content-type/index.mjs.map +0 -1
- package/dist/core/domain/content-type/validator.d.ts.map +0 -1
- package/dist/core/domain/content-type/validator.js.map +0 -1
- package/dist/core/domain/content-type/validator.mjs.map +0 -1
- package/dist/core/domain/module/index.d.ts.map +0 -1
- package/dist/core/domain/module/index.js.map +0 -1
- package/dist/core/domain/module/index.mjs.map +0 -1
- package/dist/core/domain/module/validation.d.ts.map +0 -1
- package/dist/core/domain/module/validation.js.map +0 -1
- package/dist/core/domain/module/validation.mjs.map +0 -1
- package/dist/core/loaders/admin.d.ts.map +0 -1
- package/dist/core/loaders/admin.js.map +0 -1
- package/dist/core/loaders/admin.mjs.map +0 -1
- package/dist/core/loaders/apis.d.ts.map +0 -1
- package/dist/core/loaders/apis.js.map +0 -1
- package/dist/core/loaders/apis.mjs.map +0 -1
- package/dist/core/loaders/components.d.ts.map +0 -1
- package/dist/core/loaders/components.js.map +0 -1
- package/dist/core/loaders/components.mjs.map +0 -1
- package/dist/core/loaders/index.d.ts.map +0 -1
- package/dist/core/loaders/index.js.map +0 -1
- package/dist/core/loaders/index.mjs.map +0 -1
- package/dist/core/loaders/middlewares.d.ts.map +0 -1
- package/dist/core/loaders/middlewares.js.map +0 -1
- package/dist/core/loaders/middlewares.mjs.map +0 -1
- package/dist/core/loaders/plugins/get-enabled-plugins.d.ts.map +0 -1
- package/dist/core/loaders/plugins/get-enabled-plugins.js.map +0 -1
- package/dist/core/loaders/plugins/get-enabled-plugins.mjs.map +0 -1
- package/dist/core/loaders/plugins/get-user-plugins-config.d.ts.map +0 -1
- package/dist/core/loaders/plugins/get-user-plugins-config.js.map +0 -1
- package/dist/core/loaders/plugins/get-user-plugins-config.mjs.map +0 -1
- package/dist/core/loaders/plugins/index.d.ts.map +0 -1
- package/dist/core/loaders/plugins/index.js.map +0 -1
- package/dist/core/loaders/plugins/index.mjs.map +0 -1
- package/dist/core/loaders/policies.d.ts.map +0 -1
- package/dist/core/loaders/policies.js.map +0 -1
- package/dist/core/loaders/policies.mjs.map +0 -1
- package/dist/core/loaders/sanitizers.d.ts.map +0 -1
- package/dist/core/loaders/sanitizers.js.map +0 -1
- package/dist/core/loaders/sanitizers.mjs.map +0 -1
- package/dist/core/loaders/src-index.d.ts.map +0 -1
- package/dist/core/loaders/src-index.js.map +0 -1
- package/dist/core/loaders/src-index.mjs.map +0 -1
- package/dist/core/loaders/validators.d.ts.map +0 -1
- package/dist/core/loaders/validators.js.map +0 -1
- package/dist/core/loaders/validators.mjs.map +0 -1
- package/dist/core/registries/apis.d.ts.map +0 -1
- package/dist/core/registries/apis.js.map +0 -1
- package/dist/core/registries/apis.mjs.map +0 -1
- package/dist/core/registries/components.d.ts.map +0 -1
- package/dist/core/registries/components.js.map +0 -1
- package/dist/core/registries/components.mjs.map +0 -1
- package/dist/core/registries/config.d.ts.map +0 -1
- package/dist/core/registries/config.js.map +0 -1
- package/dist/core/registries/config.mjs.map +0 -1
- package/dist/core/registries/content-types.d.ts.map +0 -1
- package/dist/core/registries/content-types.js.map +0 -1
- package/dist/core/registries/content-types.mjs.map +0 -1
- package/dist/core/registries/controllers.d.ts.map +0 -1
- package/dist/core/registries/controllers.js.map +0 -1
- package/dist/core/registries/controllers.mjs.map +0 -1
- package/dist/core/registries/custom-fields.d.ts.map +0 -1
- package/dist/core/registries/custom-fields.js.map +0 -1
- package/dist/core/registries/custom-fields.mjs.map +0 -1
- package/dist/core/registries/hooks.d.ts.map +0 -1
- package/dist/core/registries/hooks.js.map +0 -1
- package/dist/core/registries/hooks.mjs.map +0 -1
- package/dist/core/registries/index.d.ts.map +0 -1
- package/dist/core/registries/middlewares.d.ts.map +0 -1
- package/dist/core/registries/middlewares.js.map +0 -1
- package/dist/core/registries/middlewares.mjs.map +0 -1
- package/dist/core/registries/modules.d.ts.map +0 -1
- package/dist/core/registries/modules.js.map +0 -1
- package/dist/core/registries/modules.mjs.map +0 -1
- package/dist/core/registries/plugins.d.ts.map +0 -1
- package/dist/core/registries/plugins.js.map +0 -1
- package/dist/core/registries/plugins.mjs.map +0 -1
- package/dist/core/registries/policies.d.ts.map +0 -1
- package/dist/core/registries/policies.js.map +0 -1
- package/dist/core/registries/policies.mjs.map +0 -1
- package/dist/core/registries/sanitizers.d.ts.map +0 -1
- package/dist/core/registries/sanitizers.js.map +0 -1
- package/dist/core/registries/sanitizers.mjs.map +0 -1
- package/dist/core/registries/services.d.ts.map +0 -1
- package/dist/core/registries/services.js.map +0 -1
- package/dist/core/registries/services.mjs.map +0 -1
- package/dist/core/registries/validators.d.ts.map +0 -1
- package/dist/core/registries/validators.js.map +0 -1
- package/dist/core/registries/validators.mjs.map +0 -1
- package/dist/core/utils.d.ts.map +0 -1
- package/dist/core/utils.js.map +0 -1
- package/dist/core/utils.mjs.map +0 -1
- package/dist/core-api/service/get-fetch-params.d.ts +0 -7
- package/dist/core-api/service/get-fetch-params.d.ts.map +0 -1
- package/dist/core-api/service/get-fetch-params.js +0 -14
- package/dist/core-api/service/get-fetch-params.js.map +0 -1
- package/dist/core-api/service/get-fetch-params.mjs +0 -14
- package/dist/core-api/service/get-fetch-params.mjs.map +0 -1
- package/dist/load/filepath-to-prop-path.d.ts +0 -6
- package/dist/load/filepath-to-prop-path.d.ts.map +0 -1
- package/dist/load/filepath-to-prop-path.js.map +0 -1
- package/dist/load/filepath-to-prop-path.mjs.map +0 -1
- package/dist/load/glob.d.ts +0 -7
- package/dist/load/glob.d.ts.map +0 -1
- package/dist/load/glob.js +0 -15
- package/dist/load/glob.js.map +0 -1
- package/dist/load/glob.mjs +0 -14
- package/dist/load/glob.mjs.map +0 -1
- package/dist/load/index.d.ts +0 -3
- package/dist/load/index.d.ts.map +0 -1
- package/dist/load/load-files.d.ts.map +0 -1
- package/dist/load/load-files.js.map +0 -1
- package/dist/load/load-files.mjs.map +0 -1
- package/dist/load/package-path.d.ts +0 -6
- package/dist/load/package-path.d.ts.map +0 -1
- package/dist/middlewares/public/assets/images/group_people_1.png +0 -0
- package/dist/middlewares/public/assets/images/group_people_2.png +0 -0
- package/dist/middlewares/public/assets/images/group_people_3.png +0 -0
- package/dist/middlewares/public/assets/images/logo_login.png +0 -0
- package/dist/middlewares/public/index.d.ts.map +0 -1
- package/dist/middlewares/public/index.html +0 -66
- package/dist/middlewares/public/index.js +0 -91
- package/dist/middlewares/public/index.js.map +0 -1
- package/dist/middlewares/public/index.mjs +0 -85
- package/dist/middlewares/public/index.mjs.map +0 -1
- package/dist/middlewares/public/serve-static.d.ts +0 -4
- package/dist/middlewares/public/serve-static.d.ts.map +0 -1
- package/dist/middlewares/public/serve-static.js +0 -24
- package/dist/middlewares/public/serve-static.js.map +0 -1
- package/dist/middlewares/public/serve-static.mjs +0 -21
- package/dist/middlewares/public/serve-static.mjs.map +0 -1
- package/dist/services/document-service/document-repository.d.ts +0 -21
- package/dist/services/document-service/document-repository.d.ts.map +0 -1
- package/dist/services/document-service/document-repository.js +0 -132
- package/dist/services/document-service/document-repository.js.map +0 -1
- package/dist/services/document-service/document-repository.mjs +0 -132
- package/dist/services/document-service/document-repository.mjs.map +0 -1
- package/dist/services/document-service/middlewares/defaults/draft-and-publish.d.ts +0 -26
- package/dist/services/document-service/middlewares/defaults/draft-and-publish.d.ts.map +0 -1
- package/dist/services/document-service/middlewares/defaults/draft-and-publish.js +0 -58
- package/dist/services/document-service/middlewares/defaults/draft-and-publish.js.map +0 -1
- package/dist/services/document-service/middlewares/defaults/draft-and-publish.mjs +0 -58
- package/dist/services/document-service/middlewares/defaults/draft-and-publish.mjs.map +0 -1
- package/dist/services/document-service/middlewares/defaults/index.d.ts +0 -3
- package/dist/services/document-service/middlewares/defaults/index.d.ts.map +0 -1
- package/dist/services/document-service/middlewares/defaults/index.js +0 -82
- package/dist/services/document-service/middlewares/defaults/index.js.map +0 -1
- package/dist/services/document-service/middlewares/defaults/index.mjs +0 -82
- package/dist/services/document-service/middlewares/defaults/index.mjs.map +0 -1
- package/dist/services/document-service/middlewares/defaults/locales.d.ts +0 -18
- package/dist/services/document-service/middlewares/defaults/locales.d.ts.map +0 -1
- package/dist/services/document-service/middlewares/defaults/locales.js +0 -40
- package/dist/services/document-service/middlewares/defaults/locales.js.map +0 -1
- package/dist/services/document-service/middlewares/defaults/locales.mjs +0 -40
- package/dist/services/document-service/middlewares/defaults/locales.mjs.map +0 -1
- package/dist/services/document-service/middlewares/index.d.ts +0 -11
- package/dist/services/document-service/middlewares/index.d.ts.map +0 -1
- package/dist/services/document-service/middlewares/index.js +0 -59
- package/dist/services/document-service/middlewares/index.js.map +0 -1
- package/dist/services/document-service/middlewares/index.mjs +0 -59
- package/dist/services/document-service/middlewares/index.mjs.map +0 -1
- package/dist/utils/addSlash.d.ts +0 -3
- package/dist/utils/addSlash.d.ts.map +0 -1
- package/dist/utils/ee.js +0 -4
- package/dist/utils/ee.js.map +0 -1
- package/dist/utils/ee.mjs +0 -5
- package/dist/utils/ee.mjs.map +0 -1
- /package/dist/{core/app-configuration → configuration}/config-loader.d.ts +0 -0
- /package/dist/{core/domain → domain}/content-type/validator.d.ts +0 -0
- /package/dist/{core/domain → domain}/content-type/validator.js +0 -0
- /package/dist/{core/domain → domain}/content-type/validator.mjs +0 -0
- /package/dist/{core/domain → domain}/module/index.d.ts +0 -0
- /package/dist/{core/domain → domain}/module/validation.d.ts +0 -0
- /package/dist/{core/domain → domain}/module/validation.js +0 -0
- /package/dist/{core/domain → domain}/module/validation.mjs +0 -0
- /package/dist/{core/loaders → loaders}/admin.d.ts +0 -0
- /package/dist/{core/loaders → loaders}/apis.d.ts +0 -0
- /package/dist/{core/loaders → loaders}/components.d.ts +0 -0
- /package/dist/{core/loaders → loaders}/index.d.ts +0 -0
- /package/dist/{core/loaders → loaders}/index.js +0 -0
- /package/dist/{core/loaders → loaders}/index.mjs +0 -0
- /package/dist/{core/loaders → loaders}/middlewares.d.ts +0 -0
- /package/dist/{core/loaders → loaders}/plugins/get-enabled-plugins.d.ts +0 -0
- /package/dist/{core/loaders → loaders}/plugins/get-user-plugins-config.d.ts +0 -0
- /package/dist/{core/loaders → loaders}/plugins/index.d.ts +0 -0
- /package/dist/{core/loaders → loaders}/policies.d.ts +0 -0
- /package/dist/{core/loaders → loaders}/policies.js +0 -0
- /package/dist/{core/loaders → loaders}/policies.mjs +0 -0
- /package/dist/{core/loaders → loaders}/sanitizers.d.ts +0 -0
- /package/dist/{core/loaders → loaders}/sanitizers.js +0 -0
- /package/dist/{core/loaders → loaders}/sanitizers.mjs +0 -0
- /package/dist/{core/loaders → loaders}/src-index.d.ts +0 -0
- /package/dist/{core/loaders → loaders}/src-index.js +0 -0
- /package/dist/{core/loaders → loaders}/src-index.mjs +0 -0
- /package/dist/{core/loaders → loaders}/validators.d.ts +0 -0
- /package/dist/{core/loaders → loaders}/validators.js +0 -0
- /package/dist/{core/loaders → loaders}/validators.mjs +0 -0
- /package/dist/{core/registries → registries}/apis.d.ts +0 -0
- /package/dist/{core/registries → registries}/apis.js +0 -0
- /package/dist/{core/registries → registries}/apis.mjs +0 -0
- /package/dist/{core/registries → registries}/components.d.ts +0 -0
- /package/dist/{core/registries → registries}/components.js +0 -0
- /package/dist/{core/registries → registries}/components.mjs +0 -0
- /package/dist/{core/registries → registries}/config.d.ts +0 -0
- /package/dist/{core/registries → registries}/config.js +0 -0
- /package/dist/{core/registries → registries}/config.mjs +0 -0
- /package/dist/{core/registries → registries}/content-types.d.ts +0 -0
- /package/dist/{core/registries → registries}/controllers.d.ts +0 -0
- /package/dist/{core/registries → registries}/custom-fields.d.ts +0 -0
- /package/dist/{core/registries → registries}/custom-fields.js +0 -0
- /package/dist/{core/registries → registries}/custom-fields.mjs +0 -0
- /package/dist/{core/registries → registries}/hooks.d.ts +0 -0
- /package/dist/{core/registries → registries}/middlewares.d.ts +0 -0
- /package/dist/{core/registries → registries}/modules.d.ts +0 -0
- /package/dist/{core/registries → registries}/modules.js +0 -0
- /package/dist/{core/registries → registries}/modules.mjs +0 -0
- /package/dist/{core/registries → registries}/plugins.d.ts +0 -0
- /package/dist/{core/registries → registries}/plugins.js +0 -0
- /package/dist/{core/registries → registries}/plugins.mjs +0 -0
- /package/dist/{core/registries → registries}/policies.d.ts +0 -0
- /package/dist/{core/registries → registries}/sanitizers.d.ts +0 -0
- /package/dist/{core/registries → registries}/sanitizers.js +0 -0
- /package/dist/{core/registries → registries}/sanitizers.mjs +0 -0
- /package/dist/{core/registries → registries}/services.d.ts +0 -0
- /package/dist/{core/registries → registries}/validators.d.ts +0 -0
- /package/dist/{core/registries → registries}/validators.js +0 -0
- /package/dist/{core/registries → registries}/validators.mjs +0 -0
|
@@ -3,10 +3,11 @@ const path = require("path");
|
|
|
3
3
|
const fse = require("fs-extra");
|
|
4
4
|
const _ = require("lodash/fp");
|
|
5
5
|
const strapiUtils = require("@strapi/utils");
|
|
6
|
-
const loadConfigFile = require("../../
|
|
7
|
-
const loadFiles = require("
|
|
6
|
+
const loadConfigFile = require("../../utils/load-config-file.js");
|
|
7
|
+
const loadFiles = require("../../utils/load-files.js");
|
|
8
8
|
const getEnabledPlugins = require("./get-enabled-plugins.js");
|
|
9
9
|
const getUserPluginsConfig = require("./get-user-plugins-config.js");
|
|
10
|
+
const index = require("../../domain/content-type/index.js");
|
|
10
11
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
11
12
|
const fse__default = /* @__PURE__ */ _interopDefault(fse);
|
|
12
13
|
const defaultPlugin = {
|
|
@@ -33,8 +34,8 @@ const applyUserExtension = async (plugins) => {
|
|
|
33
34
|
if (!await fse__default.default.pathExists(extensionsDir)) {
|
|
34
35
|
return;
|
|
35
36
|
}
|
|
36
|
-
const extendedSchemas = await loadFiles(extensionsDir, "**/content-types/**/schema.json");
|
|
37
|
-
const strapiServers = await loadFiles(extensionsDir, "**/strapi-server.js");
|
|
37
|
+
const extendedSchemas = await loadFiles.loadFiles(extensionsDir, "**/content-types/**/schema.json");
|
|
38
|
+
const strapiServers = await loadFiles.loadFiles(extensionsDir, "**/strapi-server.js");
|
|
38
39
|
for (const pluginName of Object.keys(plugins)) {
|
|
39
40
|
const plugin = plugins[pluginName];
|
|
40
41
|
for (const ctName of Object.keys(plugin.contentTypes)) {
|
|
@@ -87,10 +88,11 @@ async function loadPlugins(strapi2) {
|
|
|
87
88
|
if (!await fse__default.default.pathExists(serverEntrypointPath)) {
|
|
88
89
|
continue;
|
|
89
90
|
}
|
|
90
|
-
const pluginServer = loadConfigFile.
|
|
91
|
+
const pluginServer = loadConfigFile.loadConfigFile(serverEntrypointPath);
|
|
91
92
|
plugins[pluginName] = {
|
|
92
93
|
...defaultPlugin,
|
|
93
94
|
...pluginServer,
|
|
95
|
+
contentTypes: formatContentTypes(pluginName, pluginServer.contentTypes ?? {}),
|
|
94
96
|
config: _.defaults(defaultPlugin.config, pluginServer.config),
|
|
95
97
|
routes: pluginServer.routes ?? defaultPlugin.routes
|
|
96
98
|
};
|
|
@@ -101,5 +103,16 @@ async function loadPlugins(strapi2) {
|
|
|
101
103
|
strapi2.get("plugins").add(pluginName, plugins[pluginName]);
|
|
102
104
|
}
|
|
103
105
|
}
|
|
106
|
+
const formatContentTypes = (pluginName, contentTypes) => {
|
|
107
|
+
Object.values(contentTypes).forEach((definition) => {
|
|
108
|
+
const { schema } = definition;
|
|
109
|
+
Object.assign(schema, {
|
|
110
|
+
plugin: pluginName,
|
|
111
|
+
collectionName: schema.collectionName || `${pluginName}_${schema.info.singularName}`.toLowerCase(),
|
|
112
|
+
globalId: index.getGlobalId(schema, pluginName)
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
return contentTypes;
|
|
116
|
+
};
|
|
104
117
|
module.exports = loadPlugins;
|
|
105
118
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/loaders/plugins/index.ts"],"sourcesContent":["import { join } from 'path';\nimport fse from 'fs-extra';\nimport { defaultsDeep, defaults, getOr, get } from 'lodash/fp';\nimport { env } from '@strapi/utils';\nimport type { Strapi, Plugin, Schema } from '@strapi/types';\nimport { loadConfigFile } from '../../utils/load-config-file';\nimport { loadFiles } from '../../utils/load-files';\nimport { getEnabledPlugins } from './get-enabled-plugins';\nimport { getUserPluginsConfig } from './get-user-plugins-config';\nimport { getGlobalId } from '../../domain/content-type';\n\ninterface Plugins {\n [key: string]: Plugin.LoadedPlugin;\n}\n\nconst defaultPlugin = {\n bootstrap() {},\n destroy() {},\n register() {},\n config: {\n default: {},\n validator() {},\n },\n routes: [],\n controllers: {},\n services: {},\n policies: {},\n middlewares: {},\n contentTypes: {},\n};\n\nconst applyUserExtension = async (plugins: Plugins) => {\n const extensionsDir = strapi.dirs.dist.extensions;\n if (!(await fse.pathExists(extensionsDir))) {\n return;\n }\n\n const extendedSchemas = await loadFiles(extensionsDir, '**/content-types/**/schema.json');\n const strapiServers = await loadFiles(extensionsDir, '**/strapi-server.js');\n\n for (const pluginName of Object.keys(plugins)) {\n const plugin = plugins[pluginName];\n // first: load json schema\n for (const ctName of Object.keys(plugin.contentTypes)) {\n const extendedSchema = get([pluginName, 'content-types', ctName, 'schema'], extendedSchemas);\n if (extendedSchema) {\n plugin.contentTypes[ctName].schema = {\n ...plugin.contentTypes[ctName].schema,\n ...extendedSchema,\n };\n }\n }\n // second: execute strapi-server extension\n const strapiServer = get([pluginName, 'strapi-server'], strapiServers);\n if (strapiServer) {\n plugins[pluginName] = await strapiServer(plugin);\n }\n }\n};\n\nconst applyUserConfig = async (plugins: Plugins) => {\n const userPluginsConfig = await getUserPluginsConfig();\n\n for (const pluginName of Object.keys(plugins)) {\n const plugin = plugins[pluginName];\n const userPluginConfig = getOr({}, `${pluginName}.config`, userPluginsConfig);\n const defaultConfig =\n typeof plugin.config.default === 'function'\n ? plugin.config.default({ env })\n : plugin.config.default;\n\n const config = defaultsDeep(defaultConfig, userPluginConfig);\n try {\n plugin.config.validator(config);\n } catch (e) {\n if (e instanceof Error) {\n throw new Error(`Error regarding ${pluginName} config: ${e.message}`);\n }\n\n throw e;\n }\n plugin.config = config;\n }\n};\n\nexport default async function loadPlugins(strapi: Strapi) {\n const plugins: Plugins = {};\n\n const enabledPlugins = await getEnabledPlugins(strapi);\n\n strapi.config.set('enabledPlugins', enabledPlugins);\n\n for (const pluginName of Object.keys(enabledPlugins)) {\n const enabledPlugin = enabledPlugins[pluginName];\n\n let serverEntrypointPath;\n\n try {\n serverEntrypointPath = join(enabledPlugin.pathToPlugin, 'strapi-server.js');\n } catch (e) {\n throw new Error(\n `Error loading the plugin ${pluginName} because ${pluginName} is not installed. Please either install the plugin or remove it's configuration.`\n );\n }\n\n // only load plugins with a server entrypoint\n if (!(await fse.pathExists(serverEntrypointPath))) {\n continue;\n }\n\n const pluginServer = loadConfigFile(serverEntrypointPath);\n plugins[pluginName] = {\n ...defaultPlugin,\n ...pluginServer,\n contentTypes: formatContentTypes(pluginName, pluginServer.contentTypes ?? {}),\n config: defaults(defaultPlugin.config, pluginServer.config),\n routes: pluginServer.routes ?? defaultPlugin.routes,\n };\n }\n\n // TODO: validate plugin format\n await applyUserConfig(plugins);\n await applyUserExtension(plugins);\n\n for (const pluginName of Object.keys(plugins)) {\n strapi.get('plugins').add(pluginName, plugins[pluginName]);\n }\n}\n\nconst formatContentTypes = (\n pluginName: string,\n contentTypes: Record<string, { schema: Schema.ContentType }>\n) => {\n Object.values(contentTypes).forEach((definition) => {\n const { schema } = definition;\n\n Object.assign(schema, {\n plugin: pluginName,\n collectionName:\n schema.collectionName || `${pluginName}_${schema.info.singularName}`.toLowerCase(),\n globalId: getGlobalId(schema, pluginName),\n });\n });\n\n return contentTypes;\n};\n"],"names":["fse","loadFiles","get","getUserPluginsConfig","getOr","env","defaultsDeep","strapi","getEnabledPlugins","join","loadConfigFile","defaults","getGlobalId"],"mappings":";;;;;;;;;;;;AAeA,MAAM,gBAAgB;AAAA,EACpB,YAAY;AAAA,EAAC;AAAA,EACb,UAAU;AAAA,EAAC;AAAA,EACX,WAAW;AAAA,EAAC;AAAA,EACZ,QAAQ;AAAA,IACN,SAAS,CAAC;AAAA,IACV,YAAY;AAAA,IAAC;AAAA,EACf;AAAA,EACA,QAAQ,CAAC;AAAA,EACT,aAAa,CAAC;AAAA,EACd,UAAU,CAAC;AAAA,EACX,UAAU,CAAC;AAAA,EACX,aAAa,CAAC;AAAA,EACd,cAAc,CAAC;AACjB;AAEA,MAAM,qBAAqB,OAAO,YAAqB;AAC/C,QAAA,gBAAgB,OAAO,KAAK,KAAK;AACvC,MAAI,CAAE,MAAMA,aAAAA,QAAI,WAAW,aAAa,GAAI;AAC1C;AAAA,EACF;AAEA,QAAM,kBAAkB,MAAMC,UAAAA,UAAU,eAAe,iCAAiC;AACxF,QAAM,gBAAgB,MAAMA,UAAAA,UAAU,eAAe,qBAAqB;AAE1E,aAAW,cAAc,OAAO,KAAK,OAAO,GAAG;AACvC,UAAA,SAAS,QAAQ,UAAU;AAEjC,eAAW,UAAU,OAAO,KAAK,OAAO,YAAY,GAAG;AAC/C,YAAA,iBAAiBC,MAAI,CAAC,YAAY,iBAAiB,QAAQ,QAAQ,GAAG,eAAe;AAC3F,UAAI,gBAAgB;AACX,eAAA,aAAa,MAAM,EAAE,SAAS;AAAA,UACnC,GAAG,OAAO,aAAa,MAAM,EAAE;AAAA,UAC/B,GAAG;AAAA,QAAA;AAAA,MAEP;AAAA,IACF;AAEA,UAAM,eAAeA,EAAAA,IAAI,CAAC,YAAY,eAAe,GAAG,aAAa;AACrE,QAAI,cAAc;AAChB,cAAQ,UAAU,IAAI,MAAM,aAAa,MAAM;AAAA,IACjD;AAAA,EACF;AACF;AAEA,MAAM,kBAAkB,OAAO,YAAqB;AAC5C,QAAA,oBAAoB,MAAMC,qBAAAA;AAEhC,aAAW,cAAc,OAAO,KAAK,OAAO,GAAG;AACvC,UAAA,SAAS,QAAQ,UAAU;AACjC,UAAM,mBAAmBC,EAAM,MAAA,IAAI,GAAG,UAAU,WAAW,iBAAiB;AAC5E,UAAM,gBACJ,OAAO,OAAO,OAAO,YAAY,aAC7B,OAAO,OAAO,QAAQ,EAAEC,KAAAA,YAAAA,IAAK,CAAA,IAC7B,OAAO,OAAO;AAEd,UAAA,SAASC,EAAAA,aAAa,eAAe,gBAAgB;AACvD,QAAA;AACK,aAAA,OAAO,UAAU,MAAM;AAAA,aACvB,GAAG;AACV,UAAI,aAAa,OAAO;AACtB,cAAM,IAAI,MAAM,mBAAmB,UAAU,YAAY,EAAE,OAAO,EAAE;AAAA,MACtE;AAEM,YAAA;AAAA,IACR;AACA,WAAO,SAAS;AAAA,EAClB;AACF;AAEA,eAA8B,YAAYC,SAAgB;AACxD,QAAM,UAAmB,CAAA;AAEnB,QAAA,iBAAiB,MAAMC,oCAAkBD,OAAM;AAErDA,UAAO,OAAO,IAAI,kBAAkB,cAAc;AAElD,aAAW,cAAc,OAAO,KAAK,cAAc,GAAG;AAC9C,UAAA,gBAAgB,eAAe,UAAU;AAE3C,QAAA;AAEA,QAAA;AACqB,6BAAAE,KAAAA,KAAK,cAAc,cAAc,kBAAkB;AAAA,aACnE,GAAG;AACV,YAAM,IAAI;AAAA,QACR,4BAA4B,UAAU,YAAY,UAAU;AAAA,MAAA;AAAA,IAEhE;AAGA,QAAI,CAAE,MAAMT,aAAAA,QAAI,WAAW,oBAAoB,GAAI;AACjD;AAAA,IACF;AAEM,UAAA,eAAeU,8BAAe,oBAAoB;AACxD,YAAQ,UAAU,IAAI;AAAA,MACpB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,cAAc,mBAAmB,YAAY,aAAa,gBAAgB,CAAA,CAAE;AAAA,MAC5E,QAAQC,EAAAA,SAAS,cAAc,QAAQ,aAAa,MAAM;AAAA,MAC1D,QAAQ,aAAa,UAAU,cAAc;AAAA,IAAA;AAAA,EAEjD;AAGA,QAAM,gBAAgB,OAAO;AAC7B,QAAM,mBAAmB,OAAO;AAEhC,aAAW,cAAc,OAAO,KAAK,OAAO,GAAG;AAC7CJ,YAAO,IAAI,SAAS,EAAE,IAAI,YAAY,QAAQ,UAAU,CAAC;AAAA,EAC3D;AACF;AAEA,MAAM,qBAAqB,CACzB,YACA,iBACG;AACH,SAAO,OAAO,YAAY,EAAE,QAAQ,CAAC,eAAe;AAC5C,UAAA,EAAE,OAAW,IAAA;AAEnB,WAAO,OAAO,QAAQ;AAAA,MACpB,QAAQ;AAAA,MACR,gBACE,OAAO,kBAAkB,GAAG,UAAU,IAAI,OAAO,KAAK,YAAY,GAAG,YAAY;AAAA,MACnF,UAAUK,MAAAA,YAAY,QAAQ,UAAU;AAAA,IAAA,CACzC;AAAA,EAAA,CACF;AAEM,SAAA;AACT;;"}
|
|
@@ -2,10 +2,11 @@ import { join } from "path";
|
|
|
2
2
|
import fse from "fs-extra";
|
|
3
3
|
import { defaults, get, getOr, defaultsDeep } from "lodash/fp";
|
|
4
4
|
import { env } from "@strapi/utils";
|
|
5
|
-
import {
|
|
6
|
-
import loadFiles from "
|
|
5
|
+
import { loadConfigFile } from "../../utils/load-config-file.mjs";
|
|
6
|
+
import { loadFiles } from "../../utils/load-files.mjs";
|
|
7
7
|
import { getEnabledPlugins } from "./get-enabled-plugins.mjs";
|
|
8
8
|
import { getUserPluginsConfig } from "./get-user-plugins-config.mjs";
|
|
9
|
+
import { getGlobalId } from "../../domain/content-type/index.mjs";
|
|
9
10
|
const defaultPlugin = {
|
|
10
11
|
bootstrap() {
|
|
11
12
|
},
|
|
@@ -84,10 +85,11 @@ async function loadPlugins(strapi2) {
|
|
|
84
85
|
if (!await fse.pathExists(serverEntrypointPath)) {
|
|
85
86
|
continue;
|
|
86
87
|
}
|
|
87
|
-
const pluginServer =
|
|
88
|
+
const pluginServer = loadConfigFile(serverEntrypointPath);
|
|
88
89
|
plugins[pluginName] = {
|
|
89
90
|
...defaultPlugin,
|
|
90
91
|
...pluginServer,
|
|
92
|
+
contentTypes: formatContentTypes(pluginName, pluginServer.contentTypes ?? {}),
|
|
91
93
|
config: defaults(defaultPlugin.config, pluginServer.config),
|
|
92
94
|
routes: pluginServer.routes ?? defaultPlugin.routes
|
|
93
95
|
};
|
|
@@ -98,6 +100,17 @@ async function loadPlugins(strapi2) {
|
|
|
98
100
|
strapi2.get("plugins").add(pluginName, plugins[pluginName]);
|
|
99
101
|
}
|
|
100
102
|
}
|
|
103
|
+
const formatContentTypes = (pluginName, contentTypes) => {
|
|
104
|
+
Object.values(contentTypes).forEach((definition) => {
|
|
105
|
+
const { schema } = definition;
|
|
106
|
+
Object.assign(schema, {
|
|
107
|
+
plugin: pluginName,
|
|
108
|
+
collectionName: schema.collectionName || `${pluginName}_${schema.info.singularName}`.toLowerCase(),
|
|
109
|
+
globalId: getGlobalId(schema, pluginName)
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
return contentTypes;
|
|
113
|
+
};
|
|
101
114
|
export {
|
|
102
115
|
loadPlugins as default
|
|
103
116
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../src/loaders/plugins/index.ts"],"sourcesContent":["import { join } from 'path';\nimport fse from 'fs-extra';\nimport { defaultsDeep, defaults, getOr, get } from 'lodash/fp';\nimport { env } from '@strapi/utils';\nimport type { Strapi, Plugin, Schema } from '@strapi/types';\nimport { loadConfigFile } from '../../utils/load-config-file';\nimport { loadFiles } from '../../utils/load-files';\nimport { getEnabledPlugins } from './get-enabled-plugins';\nimport { getUserPluginsConfig } from './get-user-plugins-config';\nimport { getGlobalId } from '../../domain/content-type';\n\ninterface Plugins {\n [key: string]: Plugin.LoadedPlugin;\n}\n\nconst defaultPlugin = {\n bootstrap() {},\n destroy() {},\n register() {},\n config: {\n default: {},\n validator() {},\n },\n routes: [],\n controllers: {},\n services: {},\n policies: {},\n middlewares: {},\n contentTypes: {},\n};\n\nconst applyUserExtension = async (plugins: Plugins) => {\n const extensionsDir = strapi.dirs.dist.extensions;\n if (!(await fse.pathExists(extensionsDir))) {\n return;\n }\n\n const extendedSchemas = await loadFiles(extensionsDir, '**/content-types/**/schema.json');\n const strapiServers = await loadFiles(extensionsDir, '**/strapi-server.js');\n\n for (const pluginName of Object.keys(plugins)) {\n const plugin = plugins[pluginName];\n // first: load json schema\n for (const ctName of Object.keys(plugin.contentTypes)) {\n const extendedSchema = get([pluginName, 'content-types', ctName, 'schema'], extendedSchemas);\n if (extendedSchema) {\n plugin.contentTypes[ctName].schema = {\n ...plugin.contentTypes[ctName].schema,\n ...extendedSchema,\n };\n }\n }\n // second: execute strapi-server extension\n const strapiServer = get([pluginName, 'strapi-server'], strapiServers);\n if (strapiServer) {\n plugins[pluginName] = await strapiServer(plugin);\n }\n }\n};\n\nconst applyUserConfig = async (plugins: Plugins) => {\n const userPluginsConfig = await getUserPluginsConfig();\n\n for (const pluginName of Object.keys(plugins)) {\n const plugin = plugins[pluginName];\n const userPluginConfig = getOr({}, `${pluginName}.config`, userPluginsConfig);\n const defaultConfig =\n typeof plugin.config.default === 'function'\n ? plugin.config.default({ env })\n : plugin.config.default;\n\n const config = defaultsDeep(defaultConfig, userPluginConfig);\n try {\n plugin.config.validator(config);\n } catch (e) {\n if (e instanceof Error) {\n throw new Error(`Error regarding ${pluginName} config: ${e.message}`);\n }\n\n throw e;\n }\n plugin.config = config;\n }\n};\n\nexport default async function loadPlugins(strapi: Strapi) {\n const plugins: Plugins = {};\n\n const enabledPlugins = await getEnabledPlugins(strapi);\n\n strapi.config.set('enabledPlugins', enabledPlugins);\n\n for (const pluginName of Object.keys(enabledPlugins)) {\n const enabledPlugin = enabledPlugins[pluginName];\n\n let serverEntrypointPath;\n\n try {\n serverEntrypointPath = join(enabledPlugin.pathToPlugin, 'strapi-server.js');\n } catch (e) {\n throw new Error(\n `Error loading the plugin ${pluginName} because ${pluginName} is not installed. Please either install the plugin or remove it's configuration.`\n );\n }\n\n // only load plugins with a server entrypoint\n if (!(await fse.pathExists(serverEntrypointPath))) {\n continue;\n }\n\n const pluginServer = loadConfigFile(serverEntrypointPath);\n plugins[pluginName] = {\n ...defaultPlugin,\n ...pluginServer,\n contentTypes: formatContentTypes(pluginName, pluginServer.contentTypes ?? {}),\n config: defaults(defaultPlugin.config, pluginServer.config),\n routes: pluginServer.routes ?? defaultPlugin.routes,\n };\n }\n\n // TODO: validate plugin format\n await applyUserConfig(plugins);\n await applyUserExtension(plugins);\n\n for (const pluginName of Object.keys(plugins)) {\n strapi.get('plugins').add(pluginName, plugins[pluginName]);\n }\n}\n\nconst formatContentTypes = (\n pluginName: string,\n contentTypes: Record<string, { schema: Schema.ContentType }>\n) => {\n Object.values(contentTypes).forEach((definition) => {\n const { schema } = definition;\n\n Object.assign(schema, {\n plugin: pluginName,\n collectionName:\n schema.collectionName || `${pluginName}_${schema.info.singularName}`.toLowerCase(),\n globalId: getGlobalId(schema, pluginName),\n });\n });\n\n return contentTypes;\n};\n"],"names":["strapi"],"mappings":";;;;;;;;;AAeA,MAAM,gBAAgB;AAAA,EACpB,YAAY;AAAA,EAAC;AAAA,EACb,UAAU;AAAA,EAAC;AAAA,EACX,WAAW;AAAA,EAAC;AAAA,EACZ,QAAQ;AAAA,IACN,SAAS,CAAC;AAAA,IACV,YAAY;AAAA,IAAC;AAAA,EACf;AAAA,EACA,QAAQ,CAAC;AAAA,EACT,aAAa,CAAC;AAAA,EACd,UAAU,CAAC;AAAA,EACX,UAAU,CAAC;AAAA,EACX,aAAa,CAAC;AAAA,EACd,cAAc,CAAC;AACjB;AAEA,MAAM,qBAAqB,OAAO,YAAqB;AAC/C,QAAA,gBAAgB,OAAO,KAAK,KAAK;AACvC,MAAI,CAAE,MAAM,IAAI,WAAW,aAAa,GAAI;AAC1C;AAAA,EACF;AAEA,QAAM,kBAAkB,MAAM,UAAU,eAAe,iCAAiC;AACxF,QAAM,gBAAgB,MAAM,UAAU,eAAe,qBAAqB;AAE1E,aAAW,cAAc,OAAO,KAAK,OAAO,GAAG;AACvC,UAAA,SAAS,QAAQ,UAAU;AAEjC,eAAW,UAAU,OAAO,KAAK,OAAO,YAAY,GAAG;AAC/C,YAAA,iBAAiB,IAAI,CAAC,YAAY,iBAAiB,QAAQ,QAAQ,GAAG,eAAe;AAC3F,UAAI,gBAAgB;AACX,eAAA,aAAa,MAAM,EAAE,SAAS;AAAA,UACnC,GAAG,OAAO,aAAa,MAAM,EAAE;AAAA,UAC/B,GAAG;AAAA,QAAA;AAAA,MAEP;AAAA,IACF;AAEA,UAAM,eAAe,IAAI,CAAC,YAAY,eAAe,GAAG,aAAa;AACrE,QAAI,cAAc;AAChB,cAAQ,UAAU,IAAI,MAAM,aAAa,MAAM;AAAA,IACjD;AAAA,EACF;AACF;AAEA,MAAM,kBAAkB,OAAO,YAAqB;AAC5C,QAAA,oBAAoB,MAAM;AAEhC,aAAW,cAAc,OAAO,KAAK,OAAO,GAAG;AACvC,UAAA,SAAS,QAAQ,UAAU;AACjC,UAAM,mBAAmB,MAAM,IAAI,GAAG,UAAU,WAAW,iBAAiB;AAC5E,UAAM,gBACJ,OAAO,OAAO,OAAO,YAAY,aAC7B,OAAO,OAAO,QAAQ,EAAE,IAAK,CAAA,IAC7B,OAAO,OAAO;AAEd,UAAA,SAAS,aAAa,eAAe,gBAAgB;AACvD,QAAA;AACK,aAAA,OAAO,UAAU,MAAM;AAAA,aACvB,GAAG;AACV,UAAI,aAAa,OAAO;AACtB,cAAM,IAAI,MAAM,mBAAmB,UAAU,YAAY,EAAE,OAAO,EAAE;AAAA,MACtE;AAEM,YAAA;AAAA,IACR;AACA,WAAO,SAAS;AAAA,EAClB;AACF;AAEA,eAA8B,YAAYA,SAAgB;AACxD,QAAM,UAAmB,CAAA;AAEnB,QAAA,iBAAiB,MAAM,kBAAkBA,OAAM;AAErDA,UAAO,OAAO,IAAI,kBAAkB,cAAc;AAElD,aAAW,cAAc,OAAO,KAAK,cAAc,GAAG;AAC9C,UAAA,gBAAgB,eAAe,UAAU;AAE3C,QAAA;AAEA,QAAA;AACqB,6BAAA,KAAK,cAAc,cAAc,kBAAkB;AAAA,aACnE,GAAG;AACV,YAAM,IAAI;AAAA,QACR,4BAA4B,UAAU,YAAY,UAAU;AAAA,MAAA;AAAA,IAEhE;AAGA,QAAI,CAAE,MAAM,IAAI,WAAW,oBAAoB,GAAI;AACjD;AAAA,IACF;AAEM,UAAA,eAAe,eAAe,oBAAoB;AACxD,YAAQ,UAAU,IAAI;AAAA,MACpB,GAAG;AAAA,MACH,GAAG;AAAA,MACH,cAAc,mBAAmB,YAAY,aAAa,gBAAgB,CAAA,CAAE;AAAA,MAC5E,QAAQ,SAAS,cAAc,QAAQ,aAAa,MAAM;AAAA,MAC1D,QAAQ,aAAa,UAAU,cAAc;AAAA,IAAA;AAAA,EAEjD;AAGA,QAAM,gBAAgB,OAAO;AAC7B,QAAM,mBAAmB,OAAO;AAEhC,aAAW,cAAc,OAAO,KAAK,OAAO,GAAG;AAC7CA,YAAO,IAAI,SAAS,EAAE,IAAI,YAAY,QAAQ,UAAU,CAAC;AAAA,EAC3D;AACF;AAEA,MAAM,qBAAqB,CACzB,YACA,iBACG;AACH,SAAO,OAAO,YAAY,EAAE,QAAQ,CAAC,eAAe;AAC5C,UAAA,EAAE,OAAW,IAAA;AAEnB,WAAO,OAAO,QAAQ;AAAA,MACpB,QAAQ;AAAA,MACR,gBACE,OAAO,kBAAkB,GAAG,UAAU,IAAI,OAAO,KAAK,YAAY,GAAG,YAAY;AAAA,MACnF,UAAU,YAAY,QAAQ,UAAU;AAAA,IAAA,CACzC;AAAA,EAAA,CACF;AAEM,SAAA;AACT;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policies.d.ts","sourceRoot":"","sources":["../../src/loaders/policies.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAU,MAAM,eAAe,CAAC;AAGpD,wBAA8B,YAAY,CAAC,MAAM,EAAE,MAAM,iBAqBxD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policies.js","sources":["../../src/loaders/policies.ts"],"sourcesContent":["import { join, extname, basename } from 'path';\nimport fse from 'fs-extra';\nimport { importDefault } from '@strapi/utils';\n\nimport type { Strapi, Common } from '@strapi/types';\n\n// TODO:: allow folders with index.js inside for bigger policies\nexport default async function loadPolicies(strapi: Strapi) {\n const dir = strapi.dirs.dist.policies;\n\n if (!(await fse.pathExists(dir))) {\n return;\n }\n\n const policies: Record<string, Common.Policy> = {};\n const paths = await fse.readdir(dir, { withFileTypes: true });\n\n for (const fd of paths) {\n const { name } = fd;\n const fullPath = join(dir, name);\n\n if (fd.isFile() && extname(name) === '.js') {\n const key = basename(name, '.js');\n policies[key] = importDefault(fullPath);\n }\n }\n\n strapi.get('policies').add(`global::`, policies);\n}\n"],"names":["fse","join","extname","basename","importDefault"],"mappings":";;;;;;AAOA,eAA8B,aAAa,QAAgB;AACnD,QAAA,MAAM,OAAO,KAAK,KAAK;AAE7B,MAAI,CAAE,MAAMA,aAAAA,QAAI,WAAW,GAAG,GAAI;AAChC;AAAA,EACF;AAEA,QAAM,WAA0C,CAAA;AAC1C,QAAA,QAAQ,MAAMA,aAAAA,QAAI,QAAQ,KAAK,EAAE,eAAe,MAAM;AAE5D,aAAW,MAAM,OAAO;AAChB,UAAA,EAAE,KAAS,IAAA;AACX,UAAA,WAAWC,KAAAA,KAAK,KAAK,IAAI;AAE/B,QAAI,GAAG,OAAO,KAAKC,KAAQ,QAAA,IAAI,MAAM,OAAO;AACpC,YAAA,MAAMC,KAAAA,SAAS,MAAM,KAAK;AACvB,eAAA,GAAG,IAAIC,YAAA,cAAc,QAAQ;AAAA,IACxC;AAAA,EACF;AAEA,SAAO,IAAI,UAAU,EAAE,IAAI,YAAY,QAAQ;AACjD;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policies.mjs","sources":["../../src/loaders/policies.ts"],"sourcesContent":["import { join, extname, basename } from 'path';\nimport fse from 'fs-extra';\nimport { importDefault } from '@strapi/utils';\n\nimport type { Strapi, Common } from '@strapi/types';\n\n// TODO:: allow folders with index.js inside for bigger policies\nexport default async function loadPolicies(strapi: Strapi) {\n const dir = strapi.dirs.dist.policies;\n\n if (!(await fse.pathExists(dir))) {\n return;\n }\n\n const policies: Record<string, Common.Policy> = {};\n const paths = await fse.readdir(dir, { withFileTypes: true });\n\n for (const fd of paths) {\n const { name } = fd;\n const fullPath = join(dir, name);\n\n if (fd.isFile() && extname(name) === '.js') {\n const key = basename(name, '.js');\n policies[key] = importDefault(fullPath);\n }\n }\n\n strapi.get('policies').add(`global::`, policies);\n}\n"],"names":[],"mappings":";;;AAOA,eAA8B,aAAa,QAAgB;AACnD,QAAA,MAAM,OAAO,KAAK,KAAK;AAE7B,MAAI,CAAE,MAAM,IAAI,WAAW,GAAG,GAAI;AAChC;AAAA,EACF;AAEA,QAAM,WAA0C,CAAA;AAC1C,QAAA,QAAQ,MAAM,IAAI,QAAQ,KAAK,EAAE,eAAe,MAAM;AAE5D,aAAW,MAAM,OAAO;AAChB,UAAA,EAAE,KAAS,IAAA;AACX,UAAA,WAAW,KAAK,KAAK,IAAI;AAE/B,QAAI,GAAG,OAAO,KAAK,QAAQ,IAAI,MAAM,OAAO;AACpC,YAAA,MAAM,SAAS,MAAM,KAAK;AACvB,eAAA,GAAG,IAAI,cAAc,QAAQ;AAAA,IACxC;AAAA,EACF;AAEA,SAAO,IAAI,UAAU,EAAE,IAAI,YAAY,QAAQ;AACjD;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitizers.d.ts","sourceRoot":"","sources":["../../src/loaders/sanitizers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;iCAEpB,MAAM;AAA9B,wBAEE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitizers.js","sources":["../../src/loaders/sanitizers.ts"],"sourcesContent":["import type { Strapi } from '@strapi/types';\n\nexport default (strapi: Strapi) => {\n strapi.get('sanitizers').set('content-api', { input: [], output: [], query: [] });\n};\n"],"names":[],"mappings":";AAEA,MAAe,iBAAA,CAAC,WAAmB;AACjC,SAAO,IAAI,YAAY,EAAE,IAAI,eAAe,EAAE,OAAO,CAAA,GAAI,QAAQ,CAAA,GAAI,OAAO,CAAA,EAAI,CAAA;AAClF;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitizers.mjs","sources":["../../src/loaders/sanitizers.ts"],"sourcesContent":["import type { Strapi } from '@strapi/types';\n\nexport default (strapi: Strapi) => {\n strapi.get('sanitizers').set('content-api', { input: [], output: [], query: [] });\n};\n"],"names":[],"mappings":"AAEA,MAAe,iBAAA,CAAC,WAAmB;AACjC,SAAO,IAAI,YAAY,EAAE,IAAI,eAAe,EAAE,OAAO,CAAA,GAAI,QAAQ,CAAA,GAAI,OAAO,CAAA,EAAI,CAAA;AAClF;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"src-index.d.ts","sourceRoot":"","sources":["../../src/loaders/src-index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;iCAepB,MAAM;AAA9B,wBAuBE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"src-index.js","sources":["../../src/loaders/src-index.ts"],"sourcesContent":["import { resolve } from 'path';\nimport { statSync, existsSync } from 'fs';\nimport { yup, importDefault } from '@strapi/utils';\n\nimport type { Strapi } from '@strapi/types';\n\nconst srcSchema = yup\n .object()\n .shape({\n bootstrap: yup.mixed().isFunction(),\n register: yup.mixed().isFunction(),\n destroy: yup.mixed().isFunction(),\n })\n .noUnknown();\n\nconst validateSrcIndex = (srcIndex: unknown) => {\n return srcSchema.validateSync(srcIndex, { strict: true, abortEarly: false });\n};\n\nexport default (strapi: Strapi) => {\n if (!existsSync(strapi.dirs.dist.src)) {\n return;\n }\n\n const pathToSrcIndex = resolve(strapi.dirs.dist.src, 'index.js');\n if (!existsSync(pathToSrcIndex) || statSync(pathToSrcIndex).isDirectory()) {\n return {};\n }\n\n const srcIndex = importDefault(pathToSrcIndex);\n\n try {\n validateSrcIndex(srcIndex);\n } catch (e) {\n if (e instanceof yup.ValidationError) {\n strapi.stopWithError({ message: `Invalid file \\`./src/index.js\\`: ${e.message}` });\n }\n\n throw e;\n }\n\n strapi.app = srcIndex;\n};\n"],"names":["yup","existsSync","resolve","statSync","importDefault"],"mappings":";;;;AAMA,MAAM,YAAYA,YAAA,IACf,OAAO,EACP,MAAM;AAAA,EACL,WAAWA,YAAA,IAAI,MAAM,EAAE,WAAW;AAAA,EAClC,UAAUA,YAAA,IAAI,MAAM,EAAE,WAAW;AAAA,EACjC,SAASA,YAAA,IAAI,MAAM,EAAE,WAAW;AAClC,CAAC,EACA,UAAU;AAEb,MAAM,mBAAmB,CAAC,aAAsB;AACvC,SAAA,UAAU,aAAa,UAAU,EAAE,QAAQ,MAAM,YAAY,OAAO;AAC7E;AAEA,MAAe,eAAA,CAAC,WAAmB;AACjC,MAAI,CAACC,GAAW,WAAA,OAAO,KAAK,KAAK,GAAG,GAAG;AACrC;AAAA,EACF;AAEA,QAAM,iBAAiBC,KAAAA,QAAQ,OAAO,KAAK,KAAK,KAAK,UAAU;AAC3D,MAAA,CAACD,cAAW,cAAc,KAAKE,YAAS,cAAc,EAAE,eAAe;AACzE,WAAO;EACT;AAEM,QAAA,WAAWC,0BAAc,cAAc;AAEzC,MAAA;AACF,qBAAiB,QAAQ;AAAA,WAClB,GAAG;AACN,QAAA,aAAaJ,gBAAI,iBAAiB;AACpC,aAAO,cAAc,EAAE,SAAS,oCAAoC,EAAE,OAAO,IAAI;AAAA,IACnF;AAEM,UAAA;AAAA,EACR;AAEA,SAAO,MAAM;AACf;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"src-index.mjs","sources":["../../src/loaders/src-index.ts"],"sourcesContent":["import { resolve } from 'path';\nimport { statSync, existsSync } from 'fs';\nimport { yup, importDefault } from '@strapi/utils';\n\nimport type { Strapi } from '@strapi/types';\n\nconst srcSchema = yup\n .object()\n .shape({\n bootstrap: yup.mixed().isFunction(),\n register: yup.mixed().isFunction(),\n destroy: yup.mixed().isFunction(),\n })\n .noUnknown();\n\nconst validateSrcIndex = (srcIndex: unknown) => {\n return srcSchema.validateSync(srcIndex, { strict: true, abortEarly: false });\n};\n\nexport default (strapi: Strapi) => {\n if (!existsSync(strapi.dirs.dist.src)) {\n return;\n }\n\n const pathToSrcIndex = resolve(strapi.dirs.dist.src, 'index.js');\n if (!existsSync(pathToSrcIndex) || statSync(pathToSrcIndex).isDirectory()) {\n return {};\n }\n\n const srcIndex = importDefault(pathToSrcIndex);\n\n try {\n validateSrcIndex(srcIndex);\n } catch (e) {\n if (e instanceof yup.ValidationError) {\n strapi.stopWithError({ message: `Invalid file \\`./src/index.js\\`: ${e.message}` });\n }\n\n throw e;\n }\n\n strapi.app = srcIndex;\n};\n"],"names":[],"mappings":";;;AAMA,MAAM,YAAY,IACf,OAAO,EACP,MAAM;AAAA,EACL,WAAW,IAAI,MAAM,EAAE,WAAW;AAAA,EAClC,UAAU,IAAI,MAAM,EAAE,WAAW;AAAA,EACjC,SAAS,IAAI,MAAM,EAAE,WAAW;AAClC,CAAC,EACA,UAAU;AAEb,MAAM,mBAAmB,CAAC,aAAsB;AACvC,SAAA,UAAU,aAAa,UAAU,EAAE,QAAQ,MAAM,YAAY,OAAO;AAC7E;AAEA,MAAe,eAAA,CAAC,WAAmB;AACjC,MAAI,CAAC,WAAW,OAAO,KAAK,KAAK,GAAG,GAAG;AACrC;AAAA,EACF;AAEA,QAAM,iBAAiB,QAAQ,OAAO,KAAK,KAAK,KAAK,UAAU;AAC3D,MAAA,CAAC,WAAW,cAAc,KAAK,SAAS,cAAc,EAAE,eAAe;AACzE,WAAO;EACT;AAEM,QAAA,WAAW,cAAc,cAAc;AAEzC,MAAA;AACF,qBAAiB,QAAQ;AAAA,WAClB,GAAG;AACN,QAAA,aAAa,IAAI,iBAAiB;AACpC,aAAO,cAAc,EAAE,SAAS,oCAAoC,EAAE,OAAO,IAAI;AAAA,IACnF;AAEM,UAAA;AAAA,EACR;AAEA,SAAO,MAAM;AACf;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/loaders/validators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;iCAEpB,MAAM;AAA9B,wBAEE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.js","sources":["../../src/loaders/validators.ts"],"sourcesContent":["import type { Strapi } from '@strapi/types';\n\nexport default (strapi: Strapi) => {\n strapi.get('validators').set('content-api', { input: [], query: [] });\n};\n"],"names":[],"mappings":";AAEA,MAAe,iBAAA,CAAC,WAAmB;AACjC,SAAO,IAAI,YAAY,EAAE,IAAI,eAAe,EAAE,OAAO,CAAI,GAAA,OAAO,CAAA,EAAI,CAAA;AACtE;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.mjs","sources":["../../src/loaders/validators.ts"],"sourcesContent":["import type { Strapi } from '@strapi/types';\n\nexport default (strapi: Strapi) => {\n strapi.get('validators').set('content-api', { input: [], query: [] });\n};\n"],"names":[],"mappings":"AAEA,MAAe,iBAAA,CAAC,WAAmB;AACjC,SAAO,IAAI,YAAY,EAAE,IAAI,eAAe,EAAE,OAAO,CAAI,GAAA,OAAO,CAAA,EAAI,CAAA;AACtE;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"favicon.d.ts","sourceRoot":"","sources":["../../src/middlewares/favicon.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAOnE,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAgBpD,CAAC"}
|
|
1
|
+
{"version":3,"file":"favicon.d.ts","sourceRoot":"","sources":["../../src/middlewares/favicon.ts"],"names":[],"mappings":";AAEA,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAOnE,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAgBpD,CAAC"}
|
|
@@ -13,7 +13,7 @@ const responseTime = require("./response-time.js");
|
|
|
13
13
|
const responses = require("./responses.js");
|
|
14
14
|
const security = require("./security.js");
|
|
15
15
|
const session = require("./session.js");
|
|
16
|
-
const
|
|
16
|
+
const _public = require("./public.js");
|
|
17
17
|
const middlewares = {
|
|
18
18
|
compression: compression.compression,
|
|
19
19
|
cors: cors.cors,
|
|
@@ -28,7 +28,7 @@ const middlewares = {
|
|
|
28
28
|
responses: responses.responses,
|
|
29
29
|
security: security.security,
|
|
30
30
|
session: session.session,
|
|
31
|
-
public:
|
|
31
|
+
public: _public.publicStatic
|
|
32
32
|
};
|
|
33
33
|
exports.middlewares = middlewares;
|
|
34
34
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/middlewares/index.ts"],"sourcesContent":["import type { Common } from '@strapi/types';\nimport { compression } from './compression';\nimport { cors } from './cors';\nimport { errors } from './errors';\nimport { favicon } from './favicon';\nimport { ip } from './ip';\nimport { logger } from './logger';\nimport { poweredBy } from './powered-by';\nimport { body } from './body';\nimport { query } from './query';\nimport { responseTime } from './response-time';\nimport { responses } from './responses';\nimport { security } from './security';\nimport { session } from './session';\nimport { publicStatic } from './public';\n\nexport const middlewares: Record<string, Common.MiddlewareFactory> = {\n compression,\n cors,\n errors,\n favicon,\n ip,\n logger,\n poweredBy,\n body,\n query,\n responseTime,\n responses,\n security,\n session,\n public: publicStatic,\n};\n"],"names":["compression","cors","errors","favicon","ip","logger","poweredBy","body","query","responseTime","responses","security","session","publicStatic"],"mappings":";;;;;;;;;;;;;;;;AAgBO,MAAM,cAAwD;AAAA,EAAA,aACnEA,YAAA;AAAA,EAAA,MACAC,KAAA;AAAA,EAAA,QACAC,OAAA;AAAA,EAAA,SACAC,QAAA;AAAA,EAAA,IACAC,GAAA;AAAA,EAAA,QACAC,OAAA;AAAA,EAAA,WACAC,UAAA;AAAA,EAAA,MACAC,KAAA;AAAA,EAAA,OACAC,MAAA;AAAA,EAAA,cACAC,aAAA;AAAA,EAAA,WACAC,UAAA;AAAA,EAAA,UACAC,SAAA;AAAA,EAAA,SACAC,QAAA;AAAA,EACA,QAAQC,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/middlewares/index.ts"],"sourcesContent":["import type { Common } from '@strapi/types';\nimport { compression } from './compression';\nimport { cors } from './cors';\nimport { errors } from './errors';\nimport { favicon } from './favicon';\nimport { ip } from './ip';\nimport { logger } from './logger';\nimport { poweredBy } from './powered-by';\nimport { body } from './body';\nimport { query } from './query';\nimport { responseTime } from './response-time';\nimport { responses } from './responses';\nimport { security } from './security';\nimport { session } from './session';\nimport { publicStatic } from './public';\n\nexport const middlewares: Record<string, Common.MiddlewareFactory> = {\n compression,\n cors,\n errors,\n favicon,\n ip,\n logger,\n poweredBy,\n body,\n query,\n responseTime,\n responses,\n security,\n session,\n public: publicStatic,\n};\n"],"names":["compression","cors","errors","favicon","ip","logger","poweredBy","body","query","responseTime","responses","security","session","publicStatic"],"mappings":";;;;;;;;;;;;;;;;AAgBO,MAAM,cAAwD;AAAA,EAAA,aACnEA,YAAA;AAAA,EAAA,MACAC,KAAA;AAAA,EAAA,QACAC,OAAA;AAAA,EAAA,SACAC,QAAA;AAAA,EAAA,IACAC,GAAA;AAAA,EAAA,QACAC,OAAA;AAAA,EAAA,WACAC,UAAA;AAAA,EAAA,MACAC,KAAA;AAAA,EAAA,OACAC,MAAA;AAAA,EAAA,cACAC,aAAA;AAAA,EAAA,WACAC,UAAA;AAAA,EAAA,UACAC,SAAA;AAAA,EAAA,SACAC,QAAA;AAAA,EACA,QAAQC,QAAA;AACV;;"}
|
|
@@ -11,7 +11,7 @@ import { responseTime } from "./response-time.mjs";
|
|
|
11
11
|
import { responses } from "./responses.mjs";
|
|
12
12
|
import { security } from "./security.mjs";
|
|
13
13
|
import { session } from "./session.mjs";
|
|
14
|
-
import { publicStatic } from "./public
|
|
14
|
+
import { publicStatic } from "./public.mjs";
|
|
15
15
|
const middlewares = {
|
|
16
16
|
compression,
|
|
17
17
|
cors,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/middlewares/public.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,eAAe,CAAC;AAQpD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,iBA0BjC,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const _ = require("lodash/fp");
|
|
4
|
+
const koaStatic = require("koa-static");
|
|
5
|
+
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
6
|
+
const koaStatic__default = /* @__PURE__ */ _interopDefault(koaStatic);
|
|
7
|
+
const defaults = {
|
|
8
|
+
maxAge: 6e4
|
|
9
|
+
};
|
|
10
|
+
const publicStatic = (config, { strapi }) => {
|
|
11
|
+
const { maxAge } = _.defaultsDeep(defaults, config);
|
|
12
|
+
strapi.server.routes([
|
|
13
|
+
{
|
|
14
|
+
method: "GET",
|
|
15
|
+
path: "/",
|
|
16
|
+
handler(ctx) {
|
|
17
|
+
ctx.redirect("/admin");
|
|
18
|
+
},
|
|
19
|
+
config: { auth: false }
|
|
20
|
+
},
|
|
21
|
+
// All other public GET-routes except /uploads/(.*) which is handled in upload middleware
|
|
22
|
+
{
|
|
23
|
+
method: "GET",
|
|
24
|
+
path: "/((?!uploads/).+)",
|
|
25
|
+
handler: koaStatic__default.default(strapi.dirs.static.public, {
|
|
26
|
+
maxage: maxAge,
|
|
27
|
+
defer: true
|
|
28
|
+
}),
|
|
29
|
+
config: { auth: false }
|
|
30
|
+
}
|
|
31
|
+
]);
|
|
32
|
+
};
|
|
33
|
+
exports.publicStatic = publicStatic;
|
|
34
|
+
//# sourceMappingURL=public.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public.js","sources":["../../src/middlewares/public.ts"],"sourcesContent":["import { defaultsDeep } from 'lodash/fp';\nimport koaStatic from 'koa-static';\nimport type { Strapi, Common } from '@strapi/types';\n\ntype Config = koaStatic.Options;\n\nconst defaults = {\n maxAge: 60000,\n};\n\nexport const publicStatic: Common.MiddlewareFactory = (\n config: Config,\n { strapi }: { strapi: Strapi }\n) => {\n const { maxAge } = defaultsDeep(defaults, config);\n\n strapi.server.routes([\n {\n method: 'GET',\n path: '/',\n handler(ctx) {\n ctx.redirect('/admin');\n },\n config: { auth: false },\n },\n // All other public GET-routes except /uploads/(.*) which is handled in upload middleware\n {\n method: 'GET',\n path: '/((?!uploads/).+)',\n handler: koaStatic(strapi.dirs.static.public, {\n maxage: maxAge,\n defer: true,\n }),\n config: { auth: false },\n },\n ]);\n};\n"],"names":["defaultsDeep","koaStatic"],"mappings":";;;;;;AAMA,MAAM,WAAW;AAAA,EACf,QAAQ;AACV;AAEO,MAAM,eAAyC,CACpD,QACA,EAAE,aACC;AACH,QAAM,EAAE,OAAW,IAAAA,EAAA,aAAa,UAAU,MAAM;AAEhD,SAAO,OAAO,OAAO;AAAA,IACnB;AAAA,MACE,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,QAAQ,KAAK;AACX,YAAI,SAAS,QAAQ;AAAA,MACvB;AAAA,MACA,QAAQ,EAAE,MAAM,MAAM;AAAA,IACxB;AAAA;AAAA,IAEA;AAAA,MACE,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,SAASC,mBAAAA,QAAU,OAAO,KAAK,OAAO,QAAQ;AAAA,QAC5C,QAAQ;AAAA,QACR,OAAO;AAAA,MAAA,CACR;AAAA,MACD,QAAQ,EAAE,MAAM,MAAM;AAAA,IACxB;AAAA,EAAA,CACD;AACH;;"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { defaultsDeep } from "lodash/fp";
|
|
2
|
+
import koaStatic from "koa-static";
|
|
3
|
+
const defaults = {
|
|
4
|
+
maxAge: 6e4
|
|
5
|
+
};
|
|
6
|
+
const publicStatic = (config, { strapi }) => {
|
|
7
|
+
const { maxAge } = defaultsDeep(defaults, config);
|
|
8
|
+
strapi.server.routes([
|
|
9
|
+
{
|
|
10
|
+
method: "GET",
|
|
11
|
+
path: "/",
|
|
12
|
+
handler(ctx) {
|
|
13
|
+
ctx.redirect("/admin");
|
|
14
|
+
},
|
|
15
|
+
config: { auth: false }
|
|
16
|
+
},
|
|
17
|
+
// All other public GET-routes except /uploads/(.*) which is handled in upload middleware
|
|
18
|
+
{
|
|
19
|
+
method: "GET",
|
|
20
|
+
path: "/((?!uploads/).+)",
|
|
21
|
+
handler: koaStatic(strapi.dirs.static.public, {
|
|
22
|
+
maxage: maxAge,
|
|
23
|
+
defer: true
|
|
24
|
+
}),
|
|
25
|
+
config: { auth: false }
|
|
26
|
+
}
|
|
27
|
+
]);
|
|
28
|
+
};
|
|
29
|
+
export {
|
|
30
|
+
publicStatic
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=public.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public.mjs","sources":["../../src/middlewares/public.ts"],"sourcesContent":["import { defaultsDeep } from 'lodash/fp';\nimport koaStatic from 'koa-static';\nimport type { Strapi, Common } from '@strapi/types';\n\ntype Config = koaStatic.Options;\n\nconst defaults = {\n maxAge: 60000,\n};\n\nexport const publicStatic: Common.MiddlewareFactory = (\n config: Config,\n { strapi }: { strapi: Strapi }\n) => {\n const { maxAge } = defaultsDeep(defaults, config);\n\n strapi.server.routes([\n {\n method: 'GET',\n path: '/',\n handler(ctx) {\n ctx.redirect('/admin');\n },\n config: { auth: false },\n },\n // All other public GET-routes except /uploads/(.*) which is handled in upload middleware\n {\n method: 'GET',\n path: '/((?!uploads/).+)',\n handler: koaStatic(strapi.dirs.static.public, {\n maxage: maxAge,\n defer: true,\n }),\n config: { auth: false },\n },\n ]);\n};\n"],"names":[],"mappings":";;AAMA,MAAM,WAAW;AAAA,EACf,QAAQ;AACV;AAEO,MAAM,eAAyC,CACpD,QACA,EAAE,aACC;AACH,QAAM,EAAE,OAAW,IAAA,aAAa,UAAU,MAAM;AAEhD,SAAO,OAAO,OAAO;AAAA,IACnB;AAAA,MACE,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,QAAQ,KAAK;AACX,YAAI,SAAS,QAAQ;AAAA,MACvB;AAAA,MACA,QAAQ,EAAE,MAAM,MAAM;AAAA,IACxB;AAAA;AAAA,IAEA;AAAA,MACE,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,SAAS,UAAU,OAAO,KAAK,OAAO,QAAQ;AAAA,QAC5C,QAAQ;AAAA,QACR,OAAO;AAAA,MAAA,CACR;AAAA,MACD,QAAQ,EAAE,MAAM,MAAM;AAAA,IACxB;AAAA,EAAA,CACD;AACH;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/middlewares/security.ts"],"names":[],"mappings":"AACA,OAAe,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AA0B3D,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/middlewares/security.ts"],"names":[],"mappings":"AACA,OAAe,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AA0B3D,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAsDnD,CAAC"}
|
|
@@ -30,16 +30,37 @@ const defaults = {
|
|
|
30
30
|
const security = (config, { strapi }) => (ctx, next) => {
|
|
31
31
|
let helmetConfig = _.defaultsDeep(defaults, config);
|
|
32
32
|
const specialPaths = ["/documentation"];
|
|
33
|
-
|
|
33
|
+
const directives = {
|
|
34
|
+
"script-src": ["'self'", "'unsafe-inline'", "cdn.jsdelivr.net"],
|
|
35
|
+
"img-src": ["'self'", "data:", "cdn.jsdelivr.net", "strapi.io"],
|
|
36
|
+
"manifest-src": [],
|
|
37
|
+
"frame-src": []
|
|
38
|
+
};
|
|
39
|
+
if (strapi.plugin("graphql")?.service("utils").playground.isEnabled()) {
|
|
34
40
|
const { config: gqlConfig } = strapi.plugin("graphql");
|
|
35
41
|
specialPaths.push(gqlConfig("endpoint"));
|
|
42
|
+
directives["script-src"].push(`https: 'unsafe-inline'`);
|
|
43
|
+
directives["img-src"].push(`'apollo-server-landing-page.cdn.apollographql.com'`);
|
|
44
|
+
directives["manifest-src"].push(`'self'`);
|
|
45
|
+
directives["manifest-src"].push("apollo-server-landing-page.cdn.apollographql.com");
|
|
46
|
+
directives["frame-src"].push(`'self'`);
|
|
47
|
+
directives["frame-src"].push("sandbox.embed.apollographql.com");
|
|
36
48
|
}
|
|
37
49
|
if (ctx.method === "GET" && specialPaths.some((str) => ctx.path.startsWith(str))) {
|
|
50
|
+
helmetConfig = _.merge(helmetConfig, {
|
|
51
|
+
crossOriginEmbedderPolicy: false,
|
|
52
|
+
// TODO: only use this for graphql playground
|
|
53
|
+
contentSecurityPolicy: {
|
|
54
|
+
directives
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
if (ctx.method === "GET" && ["/admin"].some((str) => ctx.path.startsWith(str))) {
|
|
38
59
|
helmetConfig = _.merge(helmetConfig, {
|
|
39
60
|
contentSecurityPolicy: {
|
|
40
61
|
directives: {
|
|
41
|
-
"script-src": ["'self'", "'unsafe-inline'"
|
|
42
|
-
"
|
|
62
|
+
"script-src": ["'self'", "'unsafe-inline'"],
|
|
63
|
+
"connect-src": ["'self'", "https:", "ws:"]
|
|
43
64
|
}
|
|
44
65
|
}
|
|
45
66
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.js","sources":["../../src/middlewares/security.ts"],"sourcesContent":["import { defaultsDeep, merge } from 'lodash/fp';\nimport helmet, { KoaHelmet } from 'koa-helmet';\n\nimport type { Common } from '@strapi/types';\n\nexport type Config = NonNullable<Parameters<KoaHelmet>[0]>;\n\nconst defaults: Config = {\n crossOriginEmbedderPolicy: false,\n crossOriginOpenerPolicy: false,\n crossOriginResourcePolicy: false,\n originAgentCluster: false,\n contentSecurityPolicy: {\n useDefaults: true,\n directives: {\n 'connect-src': [\"'self'\", 'https:'],\n 'img-src': [\"'self'\", 'data:', 'blob:', 'https://market-assets.strapi.io'],\n 'media-src': [\"'self'\", 'data:', 'blob:'],\n upgradeInsecureRequests: null,\n },\n },\n xssFilter: false,\n hsts: {\n maxAge: 31536000,\n includeSubDomains: true,\n },\n frameguard: {\n action: 'sameorigin',\n },\n};\n\nexport const security: Common.MiddlewareFactory<Config> =\n (config, { strapi }) =>\n (ctx, next) => {\n let helmetConfig: Config = defaultsDeep(defaults, config);\n\n const specialPaths = ['/documentation'];\n\n if (strapi.plugin('graphql')) {\n const { config: gqlConfig } = strapi.plugin('graphql');\n specialPaths.push(gqlConfig('endpoint'));\n }\n\n if (ctx.method === 'GET' && specialPaths.some((str) => ctx.path.startsWith(str))) {\n helmetConfig = merge(helmetConfig, {\n contentSecurityPolicy: {\n directives: {\n 'script-src': [\"'self'\", \"'unsafe-inline'\"
|
|
1
|
+
{"version":3,"file":"security.js","sources":["../../src/middlewares/security.ts"],"sourcesContent":["import { defaultsDeep, merge } from 'lodash/fp';\nimport helmet, { KoaHelmet } from 'koa-helmet';\n\nimport type { Common } from '@strapi/types';\n\nexport type Config = NonNullable<Parameters<KoaHelmet>[0]>;\n\nconst defaults: Config = {\n crossOriginEmbedderPolicy: false,\n crossOriginOpenerPolicy: false,\n crossOriginResourcePolicy: false,\n originAgentCluster: false,\n contentSecurityPolicy: {\n useDefaults: true,\n directives: {\n 'connect-src': [\"'self'\", 'https:'],\n 'img-src': [\"'self'\", 'data:', 'blob:', 'https://market-assets.strapi.io'],\n 'media-src': [\"'self'\", 'data:', 'blob:'],\n upgradeInsecureRequests: null,\n },\n },\n xssFilter: false,\n hsts: {\n maxAge: 31536000,\n includeSubDomains: true,\n },\n frameguard: {\n action: 'sameorigin',\n },\n};\n\nexport const security: Common.MiddlewareFactory<Config> =\n (config, { strapi }) =>\n (ctx, next) => {\n let helmetConfig: Config = defaultsDeep(defaults, config);\n\n const specialPaths = ['/documentation'];\n\n const directives: {\n 'script-src': string[];\n 'img-src': string[];\n 'manifest-src': string[];\n 'frame-src': string[];\n } = {\n 'script-src': [\"'self'\", \"'unsafe-inline'\", 'cdn.jsdelivr.net'],\n 'img-src': [\"'self'\", 'data:', 'cdn.jsdelivr.net', 'strapi.io'],\n 'manifest-src': [],\n 'frame-src': [],\n };\n\n // if apollo graphql playground is enabled, add exceptions for it\n if (strapi.plugin('graphql')?.service('utils').playground.isEnabled()) {\n const { config: gqlConfig } = strapi.plugin('graphql');\n specialPaths.push(gqlConfig('endpoint'));\n\n directives['script-src'].push(`https: 'unsafe-inline'`);\n directives['img-src'].push(`'apollo-server-landing-page.cdn.apollographql.com'`);\n directives['manifest-src'].push(`'self'`);\n directives['manifest-src'].push('apollo-server-landing-page.cdn.apollographql.com');\n directives['frame-src'].push(`'self'`);\n directives['frame-src'].push('sandbox.embed.apollographql.com');\n }\n\n // TODO: we shouldn't combine playground exceptions with documentation for all routes, we should first check the path and then return exceptions specific to that\n if (ctx.method === 'GET' && specialPaths.some((str) => ctx.path.startsWith(str))) {\n helmetConfig = merge(helmetConfig, {\n crossOriginEmbedderPolicy: false, // TODO: only use this for graphql playground\n contentSecurityPolicy: {\n directives,\n },\n });\n }\n\n if (ctx.method === 'GET' && ['/admin'].some((str) => ctx.path.startsWith(str))) {\n helmetConfig = merge(helmetConfig, {\n contentSecurityPolicy: {\n directives: {\n 'script-src': [\"'self'\", \"'unsafe-inline'\"],\n 'connect-src': [\"'self'\", 'https:', 'ws:'],\n },\n },\n });\n }\n\n return helmet(helmetConfig)(ctx, next);\n };\n"],"names":["defaultsDeep","merge","helmet"],"mappings":";;;;;;AAOA,MAAM,WAAmB;AAAA,EACvB,2BAA2B;AAAA,EAC3B,yBAAyB;AAAA,EACzB,2BAA2B;AAAA,EAC3B,oBAAoB;AAAA,EACpB,uBAAuB;AAAA,IACrB,aAAa;AAAA,IACb,YAAY;AAAA,MACV,eAAe,CAAC,UAAU,QAAQ;AAAA,MAClC,WAAW,CAAC,UAAU,SAAS,SAAS,iCAAiC;AAAA,MACzE,aAAa,CAAC,UAAU,SAAS,OAAO;AAAA,MACxC,yBAAyB;AAAA,IAC3B;AAAA,EACF;AAAA,EACA,WAAW;AAAA,EACX,MAAM;AAAA,IACJ,QAAQ;AAAA,IACR,mBAAmB;AAAA,EACrB;AAAA,EACA,YAAY;AAAA,IACV,QAAQ;AAAA,EACV;AACF;AAEa,MAAA,WACX,CAAC,QAAQ,EAAE,aACX,CAAC,KAAK,SAAS;AACT,MAAA,eAAuBA,EAAAA,aAAa,UAAU,MAAM;AAElD,QAAA,eAAe,CAAC,gBAAgB;AAEtC,QAAM,aAKF;AAAA,IACF,cAAc,CAAC,UAAU,mBAAmB,kBAAkB;AAAA,IAC9D,WAAW,CAAC,UAAU,SAAS,oBAAoB,WAAW;AAAA,IAC9D,gBAAgB,CAAC;AAAA,IACjB,aAAa,CAAC;AAAA,EAAA;AAIZ,MAAA,OAAO,OAAO,SAAS,GAAG,QAAQ,OAAO,EAAE,WAAW,aAAa;AACrE,UAAM,EAAE,QAAQ,UAAA,IAAc,OAAO,OAAO,SAAS;AACxC,iBAAA,KAAK,UAAU,UAAU,CAAC;AAE5B,eAAA,YAAY,EAAE,KAAK,wBAAwB;AAC3C,eAAA,SAAS,EAAE,KAAK,oDAAoD;AACpE,eAAA,cAAc,EAAE,KAAK,QAAQ;AAC7B,eAAA,cAAc,EAAE,KAAK,kDAAkD;AACvE,eAAA,WAAW,EAAE,KAAK,QAAQ;AAC1B,eAAA,WAAW,EAAE,KAAK,iCAAiC;AAAA,EAChE;AAGA,MAAI,IAAI,WAAW,SAAS,aAAa,KAAK,CAAC,QAAQ,IAAI,KAAK,WAAW,GAAG,CAAC,GAAG;AAChF,mBAAeC,QAAM,cAAc;AAAA,MACjC,2BAA2B;AAAA;AAAA,MAC3B,uBAAuB;AAAA,QACrB;AAAA,MACF;AAAA,IAAA,CACD;AAAA,EACH;AAEA,MAAI,IAAI,WAAW,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK,WAAW,GAAG,CAAC,GAAG;AAC9E,mBAAeA,QAAM,cAAc;AAAA,MACjC,uBAAuB;AAAA,QACrB,YAAY;AAAA,UACV,cAAc,CAAC,UAAU,iBAAiB;AAAA,UAC1C,eAAe,CAAC,UAAU,UAAU,KAAK;AAAA,QAC3C;AAAA,MACF;AAAA,IAAA,CACD;AAAA,EACH;AAEA,SAAOC,gBAAO,QAAA,YAAY,EAAE,KAAK,IAAI;AACvC;;"}
|
|
@@ -26,16 +26,37 @@ const defaults = {
|
|
|
26
26
|
const security = (config, { strapi }) => (ctx, next) => {
|
|
27
27
|
let helmetConfig = defaultsDeep(defaults, config);
|
|
28
28
|
const specialPaths = ["/documentation"];
|
|
29
|
-
|
|
29
|
+
const directives = {
|
|
30
|
+
"script-src": ["'self'", "'unsafe-inline'", "cdn.jsdelivr.net"],
|
|
31
|
+
"img-src": ["'self'", "data:", "cdn.jsdelivr.net", "strapi.io"],
|
|
32
|
+
"manifest-src": [],
|
|
33
|
+
"frame-src": []
|
|
34
|
+
};
|
|
35
|
+
if (strapi.plugin("graphql")?.service("utils").playground.isEnabled()) {
|
|
30
36
|
const { config: gqlConfig } = strapi.plugin("graphql");
|
|
31
37
|
specialPaths.push(gqlConfig("endpoint"));
|
|
38
|
+
directives["script-src"].push(`https: 'unsafe-inline'`);
|
|
39
|
+
directives["img-src"].push(`'apollo-server-landing-page.cdn.apollographql.com'`);
|
|
40
|
+
directives["manifest-src"].push(`'self'`);
|
|
41
|
+
directives["manifest-src"].push("apollo-server-landing-page.cdn.apollographql.com");
|
|
42
|
+
directives["frame-src"].push(`'self'`);
|
|
43
|
+
directives["frame-src"].push("sandbox.embed.apollographql.com");
|
|
32
44
|
}
|
|
33
45
|
if (ctx.method === "GET" && specialPaths.some((str) => ctx.path.startsWith(str))) {
|
|
46
|
+
helmetConfig = merge(helmetConfig, {
|
|
47
|
+
crossOriginEmbedderPolicy: false,
|
|
48
|
+
// TODO: only use this for graphql playground
|
|
49
|
+
contentSecurityPolicy: {
|
|
50
|
+
directives
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
if (ctx.method === "GET" && ["/admin"].some((str) => ctx.path.startsWith(str))) {
|
|
34
55
|
helmetConfig = merge(helmetConfig, {
|
|
35
56
|
contentSecurityPolicy: {
|
|
36
57
|
directives: {
|
|
37
|
-
"script-src": ["'self'", "'unsafe-inline'"
|
|
38
|
-
"
|
|
58
|
+
"script-src": ["'self'", "'unsafe-inline'"],
|
|
59
|
+
"connect-src": ["'self'", "https:", "ws:"]
|
|
39
60
|
}
|
|
40
61
|
}
|
|
41
62
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.mjs","sources":["../../src/middlewares/security.ts"],"sourcesContent":["import { defaultsDeep, merge } from 'lodash/fp';\nimport helmet, { KoaHelmet } from 'koa-helmet';\n\nimport type { Common } from '@strapi/types';\n\nexport type Config = NonNullable<Parameters<KoaHelmet>[0]>;\n\nconst defaults: Config = {\n crossOriginEmbedderPolicy: false,\n crossOriginOpenerPolicy: false,\n crossOriginResourcePolicy: false,\n originAgentCluster: false,\n contentSecurityPolicy: {\n useDefaults: true,\n directives: {\n 'connect-src': [\"'self'\", 'https:'],\n 'img-src': [\"'self'\", 'data:', 'blob:', 'https://market-assets.strapi.io'],\n 'media-src': [\"'self'\", 'data:', 'blob:'],\n upgradeInsecureRequests: null,\n },\n },\n xssFilter: false,\n hsts: {\n maxAge: 31536000,\n includeSubDomains: true,\n },\n frameguard: {\n action: 'sameorigin',\n },\n};\n\nexport const security: Common.MiddlewareFactory<Config> =\n (config, { strapi }) =>\n (ctx, next) => {\n let helmetConfig: Config = defaultsDeep(defaults, config);\n\n const specialPaths = ['/documentation'];\n\n if (strapi.plugin('graphql')) {\n const { config: gqlConfig } = strapi.plugin('graphql');\n specialPaths.push(gqlConfig('endpoint'));\n }\n\n if (ctx.method === 'GET' && specialPaths.some((str) => ctx.path.startsWith(str))) {\n helmetConfig = merge(helmetConfig, {\n contentSecurityPolicy: {\n directives: {\n 'script-src': [\"'self'\", \"'unsafe-inline'\"
|
|
1
|
+
{"version":3,"file":"security.mjs","sources":["../../src/middlewares/security.ts"],"sourcesContent":["import { defaultsDeep, merge } from 'lodash/fp';\nimport helmet, { KoaHelmet } from 'koa-helmet';\n\nimport type { Common } from '@strapi/types';\n\nexport type Config = NonNullable<Parameters<KoaHelmet>[0]>;\n\nconst defaults: Config = {\n crossOriginEmbedderPolicy: false,\n crossOriginOpenerPolicy: false,\n crossOriginResourcePolicy: false,\n originAgentCluster: false,\n contentSecurityPolicy: {\n useDefaults: true,\n directives: {\n 'connect-src': [\"'self'\", 'https:'],\n 'img-src': [\"'self'\", 'data:', 'blob:', 'https://market-assets.strapi.io'],\n 'media-src': [\"'self'\", 'data:', 'blob:'],\n upgradeInsecureRequests: null,\n },\n },\n xssFilter: false,\n hsts: {\n maxAge: 31536000,\n includeSubDomains: true,\n },\n frameguard: {\n action: 'sameorigin',\n },\n};\n\nexport const security: Common.MiddlewareFactory<Config> =\n (config, { strapi }) =>\n (ctx, next) => {\n let helmetConfig: Config = defaultsDeep(defaults, config);\n\n const specialPaths = ['/documentation'];\n\n const directives: {\n 'script-src': string[];\n 'img-src': string[];\n 'manifest-src': string[];\n 'frame-src': string[];\n } = {\n 'script-src': [\"'self'\", \"'unsafe-inline'\", 'cdn.jsdelivr.net'],\n 'img-src': [\"'self'\", 'data:', 'cdn.jsdelivr.net', 'strapi.io'],\n 'manifest-src': [],\n 'frame-src': [],\n };\n\n // if apollo graphql playground is enabled, add exceptions for it\n if (strapi.plugin('graphql')?.service('utils').playground.isEnabled()) {\n const { config: gqlConfig } = strapi.plugin('graphql');\n specialPaths.push(gqlConfig('endpoint'));\n\n directives['script-src'].push(`https: 'unsafe-inline'`);\n directives['img-src'].push(`'apollo-server-landing-page.cdn.apollographql.com'`);\n directives['manifest-src'].push(`'self'`);\n directives['manifest-src'].push('apollo-server-landing-page.cdn.apollographql.com');\n directives['frame-src'].push(`'self'`);\n directives['frame-src'].push('sandbox.embed.apollographql.com');\n }\n\n // TODO: we shouldn't combine playground exceptions with documentation for all routes, we should first check the path and then return exceptions specific to that\n if (ctx.method === 'GET' && specialPaths.some((str) => ctx.path.startsWith(str))) {\n helmetConfig = merge(helmetConfig, {\n crossOriginEmbedderPolicy: false, // TODO: only use this for graphql playground\n contentSecurityPolicy: {\n directives,\n },\n });\n }\n\n if (ctx.method === 'GET' && ['/admin'].some((str) => ctx.path.startsWith(str))) {\n helmetConfig = merge(helmetConfig, {\n contentSecurityPolicy: {\n directives: {\n 'script-src': [\"'self'\", \"'unsafe-inline'\"],\n 'connect-src': [\"'self'\", 'https:', 'ws:'],\n },\n },\n });\n }\n\n return helmet(helmetConfig)(ctx, next);\n };\n"],"names":[],"mappings":";;AAOA,MAAM,WAAmB;AAAA,EACvB,2BAA2B;AAAA,EAC3B,yBAAyB;AAAA,EACzB,2BAA2B;AAAA,EAC3B,oBAAoB;AAAA,EACpB,uBAAuB;AAAA,IACrB,aAAa;AAAA,IACb,YAAY;AAAA,MACV,eAAe,CAAC,UAAU,QAAQ;AAAA,MAClC,WAAW,CAAC,UAAU,SAAS,SAAS,iCAAiC;AAAA,MACzE,aAAa,CAAC,UAAU,SAAS,OAAO;AAAA,MACxC,yBAAyB;AAAA,IAC3B;AAAA,EACF;AAAA,EACA,WAAW;AAAA,EACX,MAAM;AAAA,IACJ,QAAQ;AAAA,IACR,mBAAmB;AAAA,EACrB;AAAA,EACA,YAAY;AAAA,IACV,QAAQ;AAAA,EACV;AACF;AAEa,MAAA,WACX,CAAC,QAAQ,EAAE,aACX,CAAC,KAAK,SAAS;AACT,MAAA,eAAuB,aAAa,UAAU,MAAM;AAElD,QAAA,eAAe,CAAC,gBAAgB;AAEtC,QAAM,aAKF;AAAA,IACF,cAAc,CAAC,UAAU,mBAAmB,kBAAkB;AAAA,IAC9D,WAAW,CAAC,UAAU,SAAS,oBAAoB,WAAW;AAAA,IAC9D,gBAAgB,CAAC;AAAA,IACjB,aAAa,CAAC;AAAA,EAAA;AAIZ,MAAA,OAAO,OAAO,SAAS,GAAG,QAAQ,OAAO,EAAE,WAAW,aAAa;AACrE,UAAM,EAAE,QAAQ,UAAA,IAAc,OAAO,OAAO,SAAS;AACxC,iBAAA,KAAK,UAAU,UAAU,CAAC;AAE5B,eAAA,YAAY,EAAE,KAAK,wBAAwB;AAC3C,eAAA,SAAS,EAAE,KAAK,oDAAoD;AACpE,eAAA,cAAc,EAAE,KAAK,QAAQ;AAC7B,eAAA,cAAc,EAAE,KAAK,kDAAkD;AACvE,eAAA,WAAW,EAAE,KAAK,QAAQ;AAC1B,eAAA,WAAW,EAAE,KAAK,iCAAiC;AAAA,EAChE;AAGA,MAAI,IAAI,WAAW,SAAS,aAAa,KAAK,CAAC,QAAQ,IAAI,KAAK,WAAW,GAAG,CAAC,GAAG;AAChF,mBAAe,MAAM,cAAc;AAAA,MACjC,2BAA2B;AAAA;AAAA,MAC3B,uBAAuB;AAAA,QACrB;AAAA,MACF;AAAA,IAAA,CACD;AAAA,EACH;AAEA,MAAI,IAAI,WAAW,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK,WAAW,GAAG,CAAC,GAAG;AAC9E,mBAAe,MAAM,cAAc;AAAA,MACjC,uBAAuB;AAAA,QACrB,YAAY;AAAA,UACV,cAAc,CAAC,UAAU,iBAAiB;AAAA,UAC1C,eAAe,CAAC,UAAU,UAAU,KAAK;AAAA,QAC3C;AAAA,MACF;AAAA,IAAA,CACD;AAAA,EACH;AAEA,SAAO,OAAO,YAAY,EAAE,KAAK,IAAI;AACvC;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apis.d.ts","sourceRoot":"","sources":["../../src/registries/apis.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,QAAA,MAAM,YAAY,WAAY,MAAM;cAItB,MAAM;;iBAMH,MAAM,aAAa,OAAO;CAY1C,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apis.js","sources":["../../src/registries/apis.ts"],"sourcesContent":["import { has } from 'lodash/fp';\nimport type { Strapi } from '@strapi/types';\n\nconst apisRegistry = (strapi: Strapi) => {\n const apis: Record<string, unknown> = {};\n\n return {\n get(name: string) {\n return apis[name];\n },\n getAll() {\n return apis;\n },\n add(apiName: string, apiConfig: unknown) {\n if (has(apiName, apis)) {\n throw new Error(`API ${apiName} has already been registered.`);\n }\n\n const api = strapi.get('modules').add(`api::${apiName}`, apiConfig);\n\n apis[apiName] = api;\n\n return apis[apiName];\n },\n };\n};\n\nexport default apisRegistry;\n"],"names":["has"],"mappings":";;AAGM,MAAA,eAAe,CAAC,WAAmB;AACvC,QAAM,OAAgC,CAAA;AAE/B,SAAA;AAAA,IACL,IAAI,MAAc;AAChB,aAAO,KAAK,IAAI;AAAA,IAClB;AAAA,IACA,SAAS;AACA,aAAA;AAAA,IACT;AAAA,IACA,IAAI,SAAiB,WAAoB;AACnC,UAAAA,EAAA,IAAI,SAAS,IAAI,GAAG;AACtB,cAAM,IAAI,MAAM,OAAO,OAAO,+BAA+B;AAAA,MAC/D;AAEM,YAAA,MAAM,OAAO,IAAI,SAAS,EAAE,IAAI,QAAQ,OAAO,IAAI,SAAS;AAElE,WAAK,OAAO,IAAI;AAEhB,aAAO,KAAK,OAAO;AAAA,IACrB;AAAA,EAAA;AAEJ;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apis.mjs","sources":["../../src/registries/apis.ts"],"sourcesContent":["import { has } from 'lodash/fp';\nimport type { Strapi } from '@strapi/types';\n\nconst apisRegistry = (strapi: Strapi) => {\n const apis: Record<string, unknown> = {};\n\n return {\n get(name: string) {\n return apis[name];\n },\n getAll() {\n return apis;\n },\n add(apiName: string, apiConfig: unknown) {\n if (has(apiName, apis)) {\n throw new Error(`API ${apiName} has already been registered.`);\n }\n\n const api = strapi.get('modules').add(`api::${apiName}`, apiConfig);\n\n apis[apiName] = api;\n\n return apis[apiName];\n },\n };\n};\n\nexport default apisRegistry;\n"],"names":[],"mappings":";AAGM,MAAA,eAAe,CAAC,WAAmB;AACvC,QAAM,OAAgC,CAAA;AAE/B,SAAA;AAAA,IACL,IAAI,MAAc;AAChB,aAAO,KAAK,IAAI;AAAA,IAClB;AAAA,IACA,SAAS;AACA,aAAA;AAAA,IACT;AAAA,IACA,IAAI,SAAiB,WAAoB;AACnC,UAAA,IAAI,SAAS,IAAI,GAAG;AACtB,cAAM,IAAI,MAAM,OAAO,OAAO,+BAA+B;AAAA,MAC/D;AAEM,YAAA,MAAM,OAAO,IAAI,SAAS,EAAE,IAAI,QAAQ,OAAO,IAAI,SAAS;AAElE,WAAK,OAAO,IAAI;AAEhB,aAAO,KAAK,OAAO;AAAA,IACrB;AAAA,EAAA;AAEJ;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/registries/components.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEpD,QAAA,MAAM,kBAAkB;IAIpB;;OAEG;YACK,OAAO,GAAG,CAAC,SAAS,EAAE;IAI9B;;OAEG;aACM,OAAO,GAAG,CAAC,SAAS;IAI7B;;OAEG;;IAKH;;OAEG;aACM,OAAO,GAAG,CAAC,SAAS,aAAa,OAAO,SAAS;IAU1D;;OAEG;uBACgB,OAAO,OAAO,GAAG,CAAC,SAAS,EAAE,OAAO,SAAS,CAAC;CAMpE,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.js","sources":["../../src/registries/components.ts"],"sourcesContent":["import { has } from 'lodash/fp';\nimport type { Common, Schema } from '@strapi/types';\n\nconst componentsRegistry = () => {\n const components: Record<Common.UID.Component, Schema.Component> = {};\n\n return {\n /**\n * Returns this list of registered components uids\n */\n keys(): Common.UID.Component[] {\n return Object.keys(components) as Common.UID.Component[];\n },\n\n /**\n * Returns the instance of a component. Instantiate the component if not already done\n */\n get(uid: Common.UID.Component) {\n return components[uid];\n },\n\n /**\n * Returns a map with all the components in a namespace\n */\n getAll() {\n return components;\n },\n\n /**\n * Registers a component\n */\n set(uid: Common.UID.Component, component: Schema.Component) {\n if (has(uid, components)) {\n throw new Error(`Component ${uid} has already been registered.`);\n }\n\n components[uid] = component;\n\n return this;\n },\n\n /**\n * Registers a map of components for a specific namespace\n */\n add(newComponents: Record<Common.UID.Component, Schema.Component>) {\n for (const uid of Object.keys(newComponents) as Common.UID.Component[]) {\n this.set(uid, newComponents[uid]);\n }\n },\n };\n};\n\nexport default componentsRegistry;\n"],"names":["has"],"mappings":";;AAGA,MAAM,qBAAqB,MAAM;AAC/B,QAAM,aAA6D,CAAA;AAE5D,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAA+B;AACtB,aAAA,OAAO,KAAK,UAAU;AAAA,IAC/B;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAA2B;AAC7B,aAAO,WAAW,GAAG;AAAA,IACvB;AAAA;AAAA;AAAA;AAAA,IAKA,SAAS;AACA,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAA2B,WAA6B;AACtD,UAAAA,EAAA,IAAI,KAAK,UAAU,GAAG;AACxB,cAAM,IAAI,MAAM,aAAa,GAAG,+BAA+B;AAAA,MACjE;AAEA,iBAAW,GAAG,IAAI;AAEX,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,eAA+D;AACjE,iBAAW,OAAO,OAAO,KAAK,aAAa,GAA6B;AACtE,aAAK,IAAI,KAAK,cAAc,GAAG,CAAC;AAAA,MAClC;AAAA,IACF;AAAA,EAAA;AAEJ;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.mjs","sources":["../../src/registries/components.ts"],"sourcesContent":["import { has } from 'lodash/fp';\nimport type { Common, Schema } from '@strapi/types';\n\nconst componentsRegistry = () => {\n const components: Record<Common.UID.Component, Schema.Component> = {};\n\n return {\n /**\n * Returns this list of registered components uids\n */\n keys(): Common.UID.Component[] {\n return Object.keys(components) as Common.UID.Component[];\n },\n\n /**\n * Returns the instance of a component. Instantiate the component if not already done\n */\n get(uid: Common.UID.Component) {\n return components[uid];\n },\n\n /**\n * Returns a map with all the components in a namespace\n */\n getAll() {\n return components;\n },\n\n /**\n * Registers a component\n */\n set(uid: Common.UID.Component, component: Schema.Component) {\n if (has(uid, components)) {\n throw new Error(`Component ${uid} has already been registered.`);\n }\n\n components[uid] = component;\n\n return this;\n },\n\n /**\n * Registers a map of components for a specific namespace\n */\n add(newComponents: Record<Common.UID.Component, Schema.Component>) {\n for (const uid of Object.keys(newComponents) as Common.UID.Component[]) {\n this.set(uid, newComponents[uid]);\n }\n },\n };\n};\n\nexport default componentsRegistry;\n"],"names":[],"mappings":";AAGA,MAAM,qBAAqB,MAAM;AAC/B,QAAM,aAA6D,CAAA;AAE5D,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAA+B;AACtB,aAAA,OAAO,KAAK,UAAU;AAAA,IAC/B;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAA2B;AAC7B,aAAO,WAAW,GAAG;AAAA,IACvB;AAAA;AAAA;AAAA;AAAA,IAKA,SAAS;AACA,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAA2B,WAA6B;AACtD,UAAA,IAAI,KAAK,UAAU,GAAG;AACxB,cAAM,IAAI,MAAM,aAAa,GAAG,+BAA+B;AAAA,MACjE;AAEA,iBAAW,GAAG,IAAI;AAEX,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,eAA+D;AACjE,iBAAW,OAAO,OAAO,KAAK,aAAa,GAA6B;AACtE,aAAK,IAAI,KAAK,cAAc,GAAG,CAAC;AAAA,MAClC;AAAA,IACF;AAAA,EAAA;AAEJ;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/registries/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;gDAKf,cAAc;AAAnD,wBAgBE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sources":["../../src/registries/config.ts"],"sourcesContent":["import type { ConfigProvider } from '@strapi/types';\nimport _, { PropertyName } from 'lodash';\n\ntype Config = Record<string, unknown>;\n\nexport default (initialConfig = {}): ConfigProvider => {\n const _config: Config = { ...initialConfig }; // not deep clone because it would break some config\n\n return {\n ..._config, // TODO: to remove\n get(path: PropertyName, defaultValue?: unknown) {\n return _.get(_config, path, defaultValue);\n },\n set(path: PropertyName, val: unknown) {\n _.set(_config, path, val);\n return this;\n },\n has(path: PropertyName) {\n return _.has(_config, path);\n },\n };\n};\n"],"names":["_"],"mappings":";;;;AAKA,MAAA,SAAe,CAAC,gBAAgB,CAAA,MAAuB;AAC/C,QAAA,UAAkB,EAAE,GAAG;AAEtB,SAAA;AAAA,IACL,GAAG;AAAA;AAAA,IACH,IAAI,MAAoB,cAAwB;AAC9C,aAAOA,WAAE,QAAA,IAAI,SAAS,MAAM,YAAY;AAAA,IAC1C;AAAA,IACA,IAAI,MAAoB,KAAc;AAClCA,iBAAAA,QAAA,IAAI,SAAS,MAAM,GAAG;AACjB,aAAA;AAAA,IACT;AAAA,IACA,IAAI,MAAoB;AACf,aAAAA,mBAAE,IAAI,SAAS,IAAI;AAAA,IAC5B;AAAA,EAAA;AAEJ;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.mjs","sources":["../../src/registries/config.ts"],"sourcesContent":["import type { ConfigProvider } from '@strapi/types';\nimport _, { PropertyName } from 'lodash';\n\ntype Config = Record<string, unknown>;\n\nexport default (initialConfig = {}): ConfigProvider => {\n const _config: Config = { ...initialConfig }; // not deep clone because it would break some config\n\n return {\n ..._config, // TODO: to remove\n get(path: PropertyName, defaultValue?: unknown) {\n return _.get(_config, path, defaultValue);\n },\n set(path: PropertyName, val: unknown) {\n _.set(_config, path, val);\n return this;\n },\n has(path: PropertyName) {\n return _.has(_config, path);\n },\n };\n};\n"],"names":[],"mappings":";AAKA,MAAA,SAAe,CAAC,gBAAgB,CAAA,MAAuB;AAC/C,QAAA,UAAkB,EAAE,GAAG;AAEtB,SAAA;AAAA,IACL,GAAG;AAAA;AAAA,IACH,IAAI,MAAoB,cAAwB;AAC9C,aAAO,EAAE,IAAI,SAAS,MAAM,YAAY;AAAA,IAC1C;AAAA,IACA,IAAI,MAAoB,KAAc;AAClC,QAAA,IAAI,SAAS,MAAM,GAAG;AACjB,aAAA;AAAA,IACT;AAAA,IACA,IAAI,MAAoB;AACf,aAAA,EAAE,IAAI,SAAS,IAAI;AAAA,IAC5B;AAAA,EAAA;AAEJ;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-types.d.ts","sourceRoot":"","sources":["../../src/registries/content-types.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAqB,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAGlF,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAC/D,KAAK,mBAAmB,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,WAAW,CAAC;AAcnF,QAAA,MAAM,oBAAoB;IAItB;;OAEG;;IAKH;;OAEG;aACM,OAAO,GAAG,CAAC,WAAW;IAI/B;;OAEG;sBACe,MAAM;IAIxB;;OAEG;aACM,OAAO,GAAG,CAAC,WAAW,eAAe,OAAO,WAAW;IAKhE;;OAEG;mBACY,MAAM,mBAAmB,iBAAiB;IAczD;;OAEG;kBACW,OAAO,GAAG,CAAC,WAAW,YAAY,mBAAmB;CAYtE,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const _ = require("lodash/fp");
|
|
3
3
|
const index = require("../domain/content-type/index.js");
|
|
4
|
-
const
|
|
4
|
+
const namespace = require("./namespace.js");
|
|
5
5
|
const validateKeySameToSingularName = (contentTypes) => {
|
|
6
6
|
for (const ctName of Object.keys(contentTypes)) {
|
|
7
7
|
const contentType = contentTypes[ctName];
|
|
@@ -30,8 +30,8 @@ const contentTypesRegistry = () => {
|
|
|
30
30
|
/**
|
|
31
31
|
* Returns a map with all the contentTypes in a namespace
|
|
32
32
|
*/
|
|
33
|
-
getAll(namespace) {
|
|
34
|
-
return _.pickBy((_2, uid) =>
|
|
33
|
+
getAll(namespace$1) {
|
|
34
|
+
return _.pickBy((_2, uid) => namespace.hasNamespace(uid, namespace$1))(contentTypes);
|
|
35
35
|
},
|
|
36
36
|
/**
|
|
37
37
|
* Registers a contentType
|
|
@@ -43,10 +43,10 @@ const contentTypesRegistry = () => {
|
|
|
43
43
|
/**
|
|
44
44
|
* Registers a map of contentTypes for a specific namespace
|
|
45
45
|
*/
|
|
46
|
-
add(namespace, newContentTypes) {
|
|
46
|
+
add(namespace$1, newContentTypes) {
|
|
47
47
|
validateKeySameToSingularName(newContentTypes);
|
|
48
48
|
for (const rawCtName of Object.keys(newContentTypes)) {
|
|
49
|
-
const uid =
|
|
49
|
+
const uid = namespace.addNamespace(rawCtName, namespace$1);
|
|
50
50
|
if (_.has(uid, contentTypes)) {
|
|
51
51
|
throw new Error(`Content-type ${uid} has already been registered.`);
|
|
52
52
|
}
|
|
@@ -61,8 +61,7 @@ const contentTypesRegistry = () => {
|
|
|
61
61
|
if (!currentContentType) {
|
|
62
62
|
throw new Error(`Content-Type ${ctUID} doesn't exist`);
|
|
63
63
|
}
|
|
64
|
-
|
|
65
|
-
contentTypes[ctUID] = newContentType;
|
|
64
|
+
extendFn(currentContentType);
|
|
66
65
|
return this;
|
|
67
66
|
}
|
|
68
67
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-types.js","sources":["../../src/registries/content-types.ts"],"sourcesContent":["import { pickBy, has } from 'lodash/fp';\nimport type { Common, Schema } from '@strapi/types';\nimport { createContentType, ContentTypeDefinition } from '../domain/content-type';\nimport { addNamespace, hasNamespace } from './namespace';\n\ntype ContentTypesInput = Record<string, ContentTypeDefinition>;\ntype ContentTypeExtendFn = (contentType: Schema.ContentType) => Schema.ContentType;\n\nconst validateKeySameToSingularName = (contentTypes: ContentTypesInput) => {\n for (const ctName of Object.keys(contentTypes)) {\n const contentType = contentTypes[ctName];\n\n if (ctName !== contentType.schema.info.singularName) {\n throw new Error(\n `The key of the content-type should be the same as its singularName. Found ${ctName} and ${contentType.schema.info.singularName}.`\n );\n }\n }\n};\n\nconst contentTypesRegistry = () => {\n const contentTypes: Record<string, Schema.ContentType> = {};\n\n return {\n /**\n * Returns this list of registered contentTypes uids\n */\n keys() {\n return Object.keys(contentTypes);\n },\n\n /**\n * Returns the instance of a contentType. Instantiate the contentType if not already done\n */\n get(uid: Common.UID.ContentType) {\n return contentTypes[uid];\n },\n\n /**\n * Returns a map with all the contentTypes in a namespace\n */\n getAll(namespace: string) {\n return pickBy((_, uid) => hasNamespace(uid, namespace))(contentTypes);\n },\n\n /**\n * Registers a contentType\n */\n set(uid: Common.UID.ContentType, contentType: Schema.ContentType) {\n contentTypes[uid] = contentType;\n return this;\n },\n\n /**\n * Registers a map of contentTypes for a specific namespace\n */\n add(namespace: string, newContentTypes: ContentTypesInput) {\n validateKeySameToSingularName(newContentTypes);\n\n for (const rawCtName of Object.keys(newContentTypes)) {\n const uid = addNamespace(rawCtName, namespace);\n\n if (has(uid, contentTypes)) {\n throw new Error(`Content-type ${uid} has already been registered.`);\n }\n\n contentTypes[uid] = createContentType(uid, newContentTypes[rawCtName]);\n }\n },\n\n /**\n * Wraps a contentType to extend it\n */\n extend(ctUID: Common.UID.ContentType, extendFn: ContentTypeExtendFn) {\n const currentContentType = this.get(ctUID);\n\n if (!currentContentType) {\n throw new Error(`Content-Type ${ctUID} doesn't exist`);\n }\n\n extendFn(currentContentType);\n\n return this;\n },\n };\n};\n\nexport default contentTypesRegistry;\n"],"names":["namespace","pickBy","_","hasNamespace","addNamespace","has","createContentType"],"mappings":";;;;AAQA,MAAM,gCAAgC,CAAC,iBAAoC;AACzE,aAAW,UAAU,OAAO,KAAK,YAAY,GAAG;AACxC,UAAA,cAAc,aAAa,MAAM;AAEvC,QAAI,WAAW,YAAY,OAAO,KAAK,cAAc;AACnD,YAAM,IAAI;AAAA,QACR,6EAA6E,MAAM,QAAQ,YAAY,OAAO,KAAK,YAAY;AAAA,MAAA;AAAA,IAEnI;AAAA,EACF;AACF;AAEA,MAAM,uBAAuB,MAAM;AACjC,QAAM,eAAmD,CAAA;AAElD,SAAA;AAAA;AAAA;AAAA;AAAA,IAIL,OAAO;AACE,aAAA,OAAO,KAAK,YAAY;AAAA,IACjC;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAA6B;AAC/B,aAAO,aAAa,GAAG;AAAA,IACzB;AAAA;AAAA;AAAA;AAAA,IAKA,OAAOA,aAAmB;AACjB,aAAAC,EAAA,OAAO,CAACC,IAAG,QAAQC,UAAAA,aAAa,KAAKH,WAAS,CAAC,EAAE,YAAY;AAAA,IACtE;AAAA;AAAA;AAAA;AAAA,IAKA,IAAI,KAA6B,aAAiC;AAChE,mBAAa,GAAG,IAAI;AACb,aAAA;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKA,IAAIA,aAAmB,iBAAoC;AACzD,oCAA8B,eAAe;AAE7C,iBAAW,aAAa,OAAO,KAAK,eAAe,GAAG;AAC9C,cAAA,MAAMI,UAAAA,aAAa,WAAWJ,WAAS;AAEzC,YAAAK,EAAA,IAAI,KAAK,YAAY,GAAG;AAC1B,gBAAM,IAAI,MAAM,gBAAgB,GAAG,+BAA+B;AAAA,QACpE;AAEA,qBAAa,GAAG,IAAIC,MAAA,kBAAkB,KAAK,gBAAgB,SAAS,CAAC;AAAA,MACvE;AAAA,IACF;AAAA;AAAA;AAAA;AAAA,IAKA,OAAO,OAA+B,UAA+B;AAC7D,YAAA,qBAAqB,KAAK,IAAI,KAAK;AAEzC,UAAI,CAAC,oBAAoB;AACvB,cAAM,IAAI,MAAM,gBAAgB,KAAK,gBAAgB;AAAA,MACvD;AAEA,eAAS,kBAAkB;AAEpB,aAAA;AAAA,IACT;AAAA,EAAA;AAEJ;;"}
|