@strapi/content-type-builder 5.48.1 → 5.50.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/components/AIChat/components/Messages/Message.js +5 -1
- package/dist/admin/components/AIChat/components/Messages/Message.js.map +1 -1
- package/dist/admin/components/AIChat/components/SimpleMenu.js +3 -2
- package/dist/admin/components/AIChat/components/SimpleMenu.js.map +1 -1
- package/dist/admin/components/AIChat/hooks/useCodeUpload.js +7 -2
- package/dist/admin/components/AIChat/hooks/useCodeUpload.js.map +1 -1
- package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.js +11 -5
- package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.js.map +1 -1
- package/dist/admin/components/AllowedTypesSelect.js +5 -1
- package/dist/admin/components/AllowedTypesSelect.js.map +1 -1
- package/dist/admin/components/AttributeOptions/EmptyAttributes.js +3 -2
- package/dist/admin/components/AttributeOptions/EmptyAttributes.js.map +1 -1
- package/dist/admin/components/AttributeRow.js +10 -5
- package/dist/admin/components/AttributeRow.js.map +1 -1
- package/dist/admin/components/AutoReloadOverlayBlocker.js +3 -2
- package/dist/admin/components/AutoReloadOverlayBlocker.js.map +1 -1
- package/dist/admin/components/ComponentCard/ComponentCard.js +5 -1
- package/dist/admin/components/ComponentCard/ComponentCard.js.map +1 -1
- package/dist/admin/components/ComponentList.js +5 -1
- package/dist/admin/components/ComponentList.js.map +1 -1
- package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js +5 -1
- package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js.map +1 -1
- package/dist/admin/components/DataManager/DataManagerProvider.js +12 -6
- package/dist/admin/components/DataManager/DataManagerProvider.js.map +1 -1
- package/dist/admin/components/DataManager/reducer.js +7 -2
- package/dist/admin/components/DataManager/reducer.js.map +1 -1
- package/dist/admin/components/DataManager/utils/cleanData.js +10 -4
- package/dist/admin/components/DataManager/utils/cleanData.js.map +1 -1
- package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.js +5 -1
- package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.js.map +1 -1
- package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.js +5 -1
- package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.js.map +1 -1
- package/dist/admin/components/FormModal/FormModal.js +30 -22
- package/dist/admin/components/FormModal/FormModal.js.map +1 -1
- package/dist/admin/components/FormModal/attributes/ConditionForm.js +3 -2
- package/dist/admin/components/FormModal/attributes/ConditionForm.js.map +1 -1
- package/dist/admin/components/FormModal/attributes/types.js +7 -3
- package/dist/admin/components/FormModal/attributes/types.js.map +1 -1
- package/dist/admin/components/FormModal/attributes/validation/common.js +8 -4
- package/dist/admin/components/FormModal/attributes/validation/common.js.map +1 -1
- package/dist/admin/components/FormModal/component/createComponentSchema.js +4 -3
- package/dist/admin/components/FormModal/component/createComponentSchema.js.map +1 -1
- package/dist/admin/components/FormModal/component/createComponentSchema.mjs +1 -1
- package/dist/admin/components/FormModal/component/createComponentSchema.mjs.map +1 -1
- package/dist/admin/components/FormModal/contentType/createContentTypeSchema.js +3 -2
- package/dist/admin/components/FormModal/contentType/createContentTypeSchema.js.map +1 -1
- package/dist/admin/components/FormModal/forms/utils/createCollectionName.js +5 -1
- package/dist/admin/components/FormModal/forms/utils/createCollectionName.js.map +1 -1
- package/dist/admin/components/FormModal/reducer.js +32 -26
- package/dist/admin/components/FormModal/reducer.js.map +1 -1
- package/dist/admin/components/FormModalHeader.js +6 -2
- package/dist/admin/components/FormModalHeader.js.map +1 -1
- package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.js +3 -2
- package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.js.map +1 -1
- package/dist/admin/components/FormModalSubHeader.js +6 -2
- package/dist/admin/components/FormModalSubHeader.js.map +1 -1
- package/dist/admin/components/GenericInputs.js +9 -4
- package/dist/admin/components/GenericInputs.js.map +1 -1
- package/dist/admin/components/IconPicker/constants.js +4 -3
- package/dist/admin/components/IconPicker/constants.js.map +1 -1
- package/dist/admin/components/PluralName.js +5 -1
- package/dist/admin/components/PluralName.js.map +1 -1
- package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.js +13 -7
- package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.js.map +1 -1
- package/dist/admin/components/TabForm.js +7 -3
- package/dist/admin/components/TabForm.js.map +1 -1
- package/dist/admin/pages/ListView/ListView.js +5 -1
- package/dist/admin/pages/ListView/ListView.js.map +1 -1
- package/dist/admin/src/components/AIChat/components/AnimatedBox.d.ts +4 -5
- package/dist/admin/src/components/AIChat/components/Attachments/AttachmentPreview.d.ts +1 -1
- package/dist/admin/src/components/AIChat/components/Dropzone.d.ts +0 -1
- package/dist/admin/src/components/AIChat/components/FloatingPanel.d.ts +0 -1
- package/dist/admin/src/components/AIChat/components/Input.d.ts +2 -3
- package/dist/admin/src/components/AIChat/components/ResizableTextArea.d.ts +0 -1
- package/dist/admin/src/components/AIChat/components/SimpleMenu.d.ts +9 -9
- package/dist/admin/src/components/AIChat/components/icons/FigmaIcon.d.ts +0 -1
- package/dist/admin/src/components/AIChat/components/icons/StopIcon.d.ts +0 -1
- package/dist/admin/src/components/AIChat/hooks/useAIFetch.d.ts +5 -5
- package/dist/admin/src/components/AttributeOptions/OptionBoxWrapper.d.ts +2 -3
- package/dist/admin/src/components/AttributeRow.d.ts +7 -8
- package/dist/admin/src/components/CTBSession/sessionContext.d.ts +0 -1
- package/dist/admin/src/components/ComponentRow.d.ts +6 -7
- package/dist/admin/src/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.d.ts +0 -1
- package/dist/admin/src/components/CustomRadioGroup/Styles.d.ts +3 -4
- package/dist/admin/src/components/DataManager/DataManagerContext.d.ts +0 -1
- package/dist/admin/src/components/DataManager/reducer.d.ts +2 -2
- package/dist/admin/src/components/DataManager/utils/cleanData.d.ts +56 -56
- package/dist/admin/src/components/FormModal/attributes/form.d.ts +3 -3
- package/dist/admin/src/components/FormModal/attributes/validation/common.d.ts +1 -1
- package/dist/admin/src/components/FormModal/forms/forms.d.ts +2 -2
- package/dist/admin/src/components/FormModalNavigation/FormModalNavigationProvider.d.ts +0 -1
- package/dist/admin/src/components/List.d.ts +2 -3
- package/dist/admin/src/components/Relation/RelationNaturePicker/Components.d.ts +6 -7
- package/dist/admin/src/pages/ListView/LinkToCMSettingsView.d.ts +0 -1
- package/dist/admin/src/utils/isAllowedContentTypesForRelations.d.ts +1 -1
- package/dist/admin/translations/en.json.js +1 -0
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +1 -0
- package/dist/admin/translations/en.json.mjs.map +1 -1
- package/dist/admin/translations/ja.json.js +109 -50
- package/dist/admin/translations/ja.json.js.map +1 -1
- package/dist/admin/translations/ja.json.mjs +109 -50
- package/dist/admin/translations/ja.json.mjs.map +1 -1
- package/dist/admin/utils/formAPI.js +11 -6
- package/dist/admin/utils/formAPI.js.map +1 -1
- package/dist/admin/utils/getMaxDepth.js.map +1 -1
- package/dist/admin/utils/getMaxDepth.mjs.map +1 -1
- package/dist/admin/utils/nameToSlug.js +5 -1
- package/dist/admin/utils/nameToSlug.js.map +1 -1
- package/dist/admin/utils/toRegressedEnumValue.js +5 -1
- package/dist/admin/utils/toRegressedEnumValue.js.map +1 -1
- package/dist/server/controllers/components.js +6 -2
- package/dist/server/controllers/components.js.map +1 -1
- package/dist/server/controllers/content-types.js +8 -4
- package/dist/server/controllers/content-types.js.map +1 -1
- package/dist/server/controllers/validation/common.js +6 -2
- package/dist/server/controllers/validation/common.js.map +1 -1
- package/dist/server/controllers/validation/common.mjs +1 -1
- package/dist/server/controllers/validation/common.mjs.map +1 -1
- package/dist/server/controllers/validation/component.js +9 -5
- package/dist/server/controllers/validation/component.js.map +1 -1
- package/dist/server/controllers/validation/data-transform.js +6 -2
- package/dist/server/controllers/validation/data-transform.js.map +1 -1
- package/dist/server/controllers/validation/model-schema.js +6 -2
- package/dist/server/controllers/validation/model-schema.js.map +1 -1
- package/dist/server/controllers/validation/types.js +8 -4
- package/dist/server/controllers/validation/types.js.map +1 -1
- package/dist/server/routes/content-api.js +3 -2
- package/dist/server/routes/content-api.js.map +1 -1
- package/dist/server/services/api-handler.js +4 -3
- package/dist/server/services/api-handler.js.map +1 -1
- package/dist/server/services/api-handler.mjs.map +1 -1
- package/dist/server/services/components.js.map +1 -1
- package/dist/server/services/components.mjs.map +1 -1
- package/dist/server/services/content-types.js +8 -4
- package/dist/server/services/content-types.js.map +1 -1
- package/dist/server/services/schema-builder/component-builder.js +11 -5
- package/dist/server/services/schema-builder/component-builder.js.map +1 -1
- package/dist/server/services/schema-builder/content-type-builder.js +13 -8
- package/dist/server/services/schema-builder/content-type-builder.js.map +1 -1
- package/dist/server/services/schema-builder/index.js +5 -1
- package/dist/server/services/schema-builder/index.js.map +1 -1
- package/dist/server/services/schema-builder/schema-handler.js +35 -29
- package/dist/server/services/schema-builder/schema-handler.js.map +1 -1
- package/dist/server/services/schema-builder/schema-handler.mjs.map +1 -1
- package/dist/server/services/schema.js +5 -1
- package/dist/server/services/schema.js.map +1 -1
- package/dist/server/src/bootstrap.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/common.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/component-category.d.ts +1 -1
- package/dist/server/src/controllers/validation/component.d.ts +1 -1
- package/dist/server/src/controllers/validation/component.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/content-type.d.ts +1 -1
- package/dist/server/src/controllers/validation/content-type.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/data-transform.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/model-schema.d.ts +1 -1
- package/dist/server/src/controllers/validation/model-schema.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/relations.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/schema.d.ts +1 -1
- package/dist/server/src/controllers/validation/types.d.ts.map +1 -1
- package/dist/server/src/middlewares/is-development-mode.d.ts.map +1 -1
- package/dist/server/src/register.d.ts.map +1 -1
- package/dist/server/src/services/builder.d.ts.map +1 -1
- package/dist/server/src/services/component-categories.d.ts.map +1 -1
- package/dist/server/src/services/components.d.ts +3 -26
- package/dist/server/src/services/components.d.ts.map +1 -1
- package/dist/server/src/services/content-types.d.ts +1 -1
- package/dist/server/src/services/content-types.d.ts.map +1 -1
- package/dist/server/src/services/schema-builder/component-builder.d.ts +12 -12
- package/dist/server/src/services/schema-builder/component-builder.d.ts.map +1 -1
- package/dist/server/src/services/schema-builder/content-type-builder.d.ts +14 -14
- package/dist/server/src/services/schema-builder/content-type-builder.d.ts.map +1 -1
- package/dist/server/src/services/schema-builder/index.d.ts +27 -27
- package/dist/server/src/services/schema-builder/index.d.ts.map +1 -1
- package/dist/server/src/services/schema-builder/schema-handler.d.ts +13 -12
- package/dist/server/src/services/schema-builder/schema-handler.d.ts.map +1 -1
- package/dist/server/src/services/schema.d.ts +66 -66
- package/dist/server/src/services/schema.d.ts.map +1 -1
- package/dist/server/src/utils/attributes.d.ts +2 -2
- package/dist/server/src/utils/attributes.d.ts.map +1 -1
- package/dist/server/src/utils/helpers.d.ts.map +1 -1
- package/dist/server/src/utils/typeguards.d.ts.map +1 -1
- package/dist/server/utils/attributes.js +12 -7
- package/dist/server/utils/attributes.js.map +1 -1
- package/package.json +12 -8
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Schema } from '@strapi/types';
|
|
2
2
|
export declare const isConfigurable: (attribute: Schema.Attribute.AnyAttribute) => boolean;
|
|
3
|
-
export declare const isRelation: (attribute: Schema.Attribute.AnyAttribute) =>
|
|
3
|
+
export declare const isRelation: (attribute: Schema.Attribute.AnyAttribute) => attribute is Schema.Attribute.Relation<Schema.Attribute.RelationKind.Any, import("@strapi/types/dist/uid").ContentType>;
|
|
4
4
|
/**
|
|
5
5
|
* Formats a component's attributes
|
|
6
6
|
*/
|
|
@@ -400,7 +400,7 @@ export declare const formatAttribute: (attribute: Schema.Attribute.AnyAttribute
|
|
|
400
400
|
column?: Partial<Schema.Attribute.Column> | undefined;
|
|
401
401
|
targetField?: string | undefined;
|
|
402
402
|
options?: Schema.Attribute.UIDOptions | undefined;
|
|
403
|
-
regex?:
|
|
403
|
+
regex?: RegExp["source"] | undefined;
|
|
404
404
|
configurable?: boolean | undefined;
|
|
405
405
|
default?: string | (() => string) | undefined;
|
|
406
406
|
minLength?: number | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../../../../server/src/utils/attributes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAI5C,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../../../../server/src/utils/attributes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAI5C,eAAO,MAAM,cAAc,GAAI,WAAW,MAAM,CAAC,SAAS,CAAC,YAAY,YAC/B,CAAC;AAEzC,eAAO,MAAM,UAAU,GAAI,WAAW,MAAM,CAAC,SAAS,CAAC,YAAY,4HACpC,CAAC;AAEhC;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,GAAG,QAQ1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,WAAW,MAAM,CAAC,SAAS,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8B7F,CAAC;AAGF,eAAO,MAAM,oBAAoB,GAAI,QAAQ,GAAG,MAAM,QAAQ,GAAG,QA4ChE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../server/src/utils/helpers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../server/src/utils/helpers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,GAAI,gBAAY,EAAE,oBAAkB,WAE9D,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,WAAW,MAAM,GAAG,MAAM,KAAG,MAAM,GAAG,MAcpE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeguards.d.ts","sourceRoot":"","sources":["../../../../server/src/utils/typeguards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,eAAO,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"typeguards.d.ts","sourceRoot":"","sources":["../../../../server/src/utils/typeguards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,eAAO,MAAM,mBAAmB,GAC9B,WAAW,MAAM,CAAC,SAAS,CAAC,YAAY,KACvC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAErF,CAAC"}
|
|
@@ -3,13 +3,18 @@
|
|
|
3
3
|
var _ = require('lodash');
|
|
4
4
|
var utils = require('@strapi/utils');
|
|
5
5
|
|
|
6
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
|
+
|
|
8
|
+
var ___default = /*#__PURE__*/_interopDefault(_);
|
|
9
|
+
var utils__default = /*#__PURE__*/_interopDefault(utils);
|
|
10
|
+
|
|
6
11
|
const { ApplicationError } = utils.errors;
|
|
7
|
-
const isConfigurable = (attribute)=>
|
|
12
|
+
const isConfigurable = (attribute)=>___default.default.get(attribute, 'configurable', true);
|
|
8
13
|
const isRelation = (attribute)=>attribute.type === 'relation';
|
|
9
14
|
/**
|
|
10
15
|
* Formats a component's attributes
|
|
11
16
|
*/ const formatAttributes = (model)=>{
|
|
12
|
-
const { getVisibleAttributes } =
|
|
17
|
+
const { getVisibleAttributes } = utils__default.default.contentTypes;
|
|
13
18
|
// only get attributes that can be seen in the CTB
|
|
14
19
|
return getVisibleAttributes(model).reduce((acc, key)=>{
|
|
15
20
|
acc[key] = formatAttribute(model.attributes[key]);
|
|
@@ -53,23 +58,23 @@ const replaceTemporaryUIDs = (uidMap)=>(schema)=>{
|
|
|
53
58
|
attributes: Object.keys(schema.attributes).reduce((acc, key)=>{
|
|
54
59
|
const attr = schema.attributes[key];
|
|
55
60
|
if (attr.type === 'component') {
|
|
56
|
-
if (
|
|
61
|
+
if (___default.default.has(uidMap, attr.component)) {
|
|
57
62
|
acc[key] = {
|
|
58
63
|
...attr,
|
|
59
64
|
component: uidMap[attr.component]
|
|
60
65
|
};
|
|
61
66
|
return acc;
|
|
62
67
|
}
|
|
63
|
-
if (!
|
|
68
|
+
if (!___default.default.has(strapi.components, attr.component)) {
|
|
64
69
|
throw new ApplicationError('component.notFound');
|
|
65
70
|
}
|
|
66
71
|
}
|
|
67
|
-
if (attr.type === 'dynamiczone' &&
|
|
72
|
+
if (attr.type === 'dynamiczone' && ___default.default.intersection(attr.components, Object.keys(uidMap)).length > 0) {
|
|
68
73
|
acc[key] = {
|
|
69
74
|
...attr,
|
|
70
75
|
components: attr.components.map((value)=>{
|
|
71
|
-
if (
|
|
72
|
-
if (!
|
|
76
|
+
if (___default.default.has(uidMap, value)) return uidMap[value];
|
|
77
|
+
if (!___default.default.has(strapi.components, value)) {
|
|
73
78
|
throw new ApplicationError('component.notFound');
|
|
74
79
|
}
|
|
75
80
|
return value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attributes.js","sources":["../../../server/src/utils/attributes.ts"],"sourcesContent":["import _ from 'lodash';\nimport utils, { errors } from '@strapi/utils';\nimport type { Schema } from '@strapi/types';\n\nconst { ApplicationError } = errors;\n\nexport const isConfigurable = (attribute: Schema.Attribute.AnyAttribute) =>\n _.get(attribute, 'configurable', true);\n\nexport const isRelation = (attribute: Schema.Attribute.AnyAttribute) =>\n attribute.type === 'relation';\n\n/**\n * Formats a component's attributes\n */\nexport const formatAttributes = (model: any) => {\n const { getVisibleAttributes } = utils.contentTypes;\n\n // only get attributes that can be seen in the CTB\n return getVisibleAttributes(model).reduce((acc: any, key) => {\n acc[key] = formatAttribute(model.attributes[key]);\n return acc;\n }, {});\n};\n\n/**\n * Formats a component attribute\n */\nexport const formatAttribute = (attribute: Schema.Attribute.AnyAttribute & Record<string, any>) => {\n const { configurable, required, autoPopulate, pluginOptions } = attribute;\n\n if (attribute.type === 'media') {\n return {\n type: 'media',\n multiple: !!attribute.multiple,\n required: !!required,\n configurable: configurable === false ? false : undefined,\n private: !!attribute.private,\n allowedTypes: attribute.allowedTypes,\n pluginOptions,\n };\n }\n\n if (attribute.type === 'relation') {\n return {\n ...attribute,\n type: 'relation',\n target: attribute.target,\n targetAttribute: attribute.inversedBy || attribute.mappedBy || null,\n configurable: configurable === false ? false : undefined,\n private: !!attribute.private,\n pluginOptions,\n // TODO: remove\n autoPopulate,\n };\n }\n\n return attribute;\n};\n\n// TODO: move to schema builder\nexport const replaceTemporaryUIDs = (uidMap: any) => (schema: any) => {\n return {\n ...schema,\n attributes: Object.keys(schema.attributes).reduce((acc: any, key) => {\n const attr = schema.attributes[key];\n if (attr.type === 'component') {\n if (_.has(uidMap, attr.component)) {\n acc[key] = {\n ...attr,\n component: uidMap[attr.component],\n };\n\n return acc;\n }\n\n if (!_.has(strapi.components, attr.component)) {\n throw new ApplicationError('component.notFound');\n }\n }\n\n if (\n attr.type === 'dynamiczone' &&\n _.intersection(attr.components, Object.keys(uidMap)).length > 0\n ) {\n acc[key] = {\n ...attr,\n components: attr.components.map((value: any) => {\n if (_.has(uidMap, value)) return uidMap[value];\n\n if (!_.has(strapi.components, value)) {\n throw new ApplicationError('component.notFound');\n }\n\n return value;\n }),\n };\n\n return acc;\n }\n\n acc[key] = attr;\n return acc;\n }, {}),\n };\n};\n"],"names":["ApplicationError","errors","isConfigurable","attribute","_","get","isRelation","type","formatAttributes","model","getVisibleAttributes","utils","contentTypes","reduce","acc","key","formatAttribute","attributes","configurable","required","autoPopulate","pluginOptions","multiple","undefined","private","allowedTypes","target","targetAttribute","inversedBy","mappedBy","replaceTemporaryUIDs","uidMap","schema","Object","keys","attr","has","component","strapi","components","intersection","length","map","value"],"mappings":"
|
|
1
|
+
{"version":3,"file":"attributes.js","sources":["../../../server/src/utils/attributes.ts"],"sourcesContent":["import _ from 'lodash';\nimport utils, { errors } from '@strapi/utils';\nimport type { Schema } from '@strapi/types';\n\nconst { ApplicationError } = errors;\n\nexport const isConfigurable = (attribute: Schema.Attribute.AnyAttribute) =>\n _.get(attribute, 'configurable', true);\n\nexport const isRelation = (attribute: Schema.Attribute.AnyAttribute) =>\n attribute.type === 'relation';\n\n/**\n * Formats a component's attributes\n */\nexport const formatAttributes = (model: any) => {\n const { getVisibleAttributes } = utils.contentTypes;\n\n // only get attributes that can be seen in the CTB\n return getVisibleAttributes(model).reduce((acc: any, key) => {\n acc[key] = formatAttribute(model.attributes[key]);\n return acc;\n }, {});\n};\n\n/**\n * Formats a component attribute\n */\nexport const formatAttribute = (attribute: Schema.Attribute.AnyAttribute & Record<string, any>) => {\n const { configurable, required, autoPopulate, pluginOptions } = attribute;\n\n if (attribute.type === 'media') {\n return {\n type: 'media',\n multiple: !!attribute.multiple,\n required: !!required,\n configurable: configurable === false ? false : undefined,\n private: !!attribute.private,\n allowedTypes: attribute.allowedTypes,\n pluginOptions,\n };\n }\n\n if (attribute.type === 'relation') {\n return {\n ...attribute,\n type: 'relation',\n target: attribute.target,\n targetAttribute: attribute.inversedBy || attribute.mappedBy || null,\n configurable: configurable === false ? false : undefined,\n private: !!attribute.private,\n pluginOptions,\n // TODO: remove\n autoPopulate,\n };\n }\n\n return attribute;\n};\n\n// TODO: move to schema builder\nexport const replaceTemporaryUIDs = (uidMap: any) => (schema: any) => {\n return {\n ...schema,\n attributes: Object.keys(schema.attributes).reduce((acc: any, key) => {\n const attr = schema.attributes[key];\n if (attr.type === 'component') {\n if (_.has(uidMap, attr.component)) {\n acc[key] = {\n ...attr,\n component: uidMap[attr.component],\n };\n\n return acc;\n }\n\n if (!_.has(strapi.components, attr.component)) {\n throw new ApplicationError('component.notFound');\n }\n }\n\n if (\n attr.type === 'dynamiczone' &&\n _.intersection(attr.components, Object.keys(uidMap)).length > 0\n ) {\n acc[key] = {\n ...attr,\n components: attr.components.map((value: any) => {\n if (_.has(uidMap, value)) return uidMap[value];\n\n if (!_.has(strapi.components, value)) {\n throw new ApplicationError('component.notFound');\n }\n\n return value;\n }),\n };\n\n return acc;\n }\n\n acc[key] = attr;\n return acc;\n }, {}),\n };\n};\n"],"names":["ApplicationError","errors","isConfigurable","attribute","_","get","isRelation","type","formatAttributes","model","getVisibleAttributes","utils","contentTypes","reduce","acc","key","formatAttribute","attributes","configurable","required","autoPopulate","pluginOptions","multiple","undefined","private","allowedTypes","target","targetAttribute","inversedBy","mappedBy","replaceTemporaryUIDs","uidMap","schema","Object","keys","attr","has","component","strapi","components","intersection","length","map","value"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@strapi/content-type-builder",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.50.0",
|
|
4
4
|
"description": "Create and manage content types",
|
|
5
5
|
"homepage": "https://strapi.io",
|
|
6
6
|
"bugs": {
|
|
@@ -62,6 +62,8 @@
|
|
|
62
62
|
"test:ts:front": "run -T tsc -p admin/tsconfig.json",
|
|
63
63
|
"test:unit": "run -T jest",
|
|
64
64
|
"test:unit:watch": "run -T jest --watch",
|
|
65
|
+
"test:unit:vitest": "vitest run",
|
|
66
|
+
"test:unit:vitest:watch": "vitest --watch",
|
|
65
67
|
"watch": "run -T rollup -c -w"
|
|
66
68
|
},
|
|
67
69
|
"dependencies": {
|
|
@@ -72,10 +74,10 @@
|
|
|
72
74
|
"@dnd-kit/utilities": "3.2.2",
|
|
73
75
|
"@reduxjs/toolkit": "1.9.7",
|
|
74
76
|
"@sindresorhus/slugify": "1.1.0",
|
|
75
|
-
"@strapi/design-system": "2.2.
|
|
76
|
-
"@strapi/generators": "5.
|
|
77
|
-
"@strapi/icons": "2.2.
|
|
78
|
-
"@strapi/utils": "5.
|
|
77
|
+
"@strapi/design-system": "2.2.1",
|
|
78
|
+
"@strapi/generators": "5.50.0",
|
|
79
|
+
"@strapi/icons": "2.2.1",
|
|
80
|
+
"@strapi/utils": "5.50.0",
|
|
79
81
|
"ai": "5.0.52",
|
|
80
82
|
"date-fns": "2.30.0",
|
|
81
83
|
"fs-extra": "11.3.4",
|
|
@@ -93,8 +95,8 @@
|
|
|
93
95
|
"zod": "3.25.67"
|
|
94
96
|
},
|
|
95
97
|
"devDependencies": {
|
|
96
|
-
"@strapi/admin": "5.
|
|
97
|
-
"@strapi/types": "5.
|
|
98
|
+
"@strapi/admin": "5.50.0",
|
|
99
|
+
"@strapi/types": "5.50.0",
|
|
98
100
|
"@testing-library/dom": "10.4.1",
|
|
99
101
|
"@testing-library/react": "16.3.2",
|
|
100
102
|
"@testing-library/user-event": "14.6.1",
|
|
@@ -107,7 +109,9 @@
|
|
|
107
109
|
"react-dom": "18.3.1",
|
|
108
110
|
"react-query": "3.39.3",
|
|
109
111
|
"react-router-dom": "6.30.3",
|
|
110
|
-
"styled-components": "6.4.1"
|
|
112
|
+
"styled-components": "6.4.1",
|
|
113
|
+
"vitest": "catalog:",
|
|
114
|
+
"vitest-config": "5.50.0"
|
|
111
115
|
},
|
|
112
116
|
"peerDependencies": {
|
|
113
117
|
"@strapi/admin": "^5.0.0",
|