From fbb2afd8559f09015a72fff74ce854f52c4a5588 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Berkefeld?= Date: Thu, 7 Nov 2024 18:38:23 +0100 Subject: [PATCH] #1839: limit noRootFolder validation rule to types other than cloudpages, lists, automations, attributeSets --- @types/lib/metadataTypes/Automation.d.ts | 3 +-- @types/lib/metadataTypes/Automation.d.ts.map | 2 +- .../definitions/Automation.definition.d.ts | 3 +-- @types/lib/util/validations.d.ts.map | 2 +- lib/util/validations.js | 16 +++++++++++++++- 5 files changed, 19 insertions(+), 7 deletions(-) diff --git a/@types/lib/metadataTypes/Automation.d.ts b/@types/lib/metadataTypes/Automation.d.ts index 29539c7b4..01d4702a2 100644 --- a/@types/lib/metadataTypes/Automation.d.ts +++ b/@types/lib/metadataTypes/Automation.d.ts @@ -544,8 +544,7 @@ declare namespace Automation { typeDescription: string; typeRetrieveByDefault: boolean; typeName: string; - customDeployTypes: string[]; - manualDeployTypes: any[]; + manualDeployTypes: string[]; fields: { categoryId: { isCreateable: boolean; diff --git a/@types/lib/metadataTypes/Automation.d.ts.map b/@types/lib/metadataTypes/Automation.d.ts.map index 0ea8dc5d0..4f485ed50 100644 --- a/@types/lib/metadataTypes/Automation.d.ts.map +++ b/@types/lib/metadataTypes/Automation.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"Automation.d.ts","sourceRoot":"","sources":["../../../lib/metadataTypes/Automation.js"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Automation.d.ts","sourceRoot":"","sources":["../../../lib/metadataTypes/Automation.js"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/@types/lib/metadataTypes/definitions/Automation.definition.d.ts b/@types/lib/metadataTypes/definitions/Automation.definition.d.ts index a79727ee1..fc1664450 100644 --- a/@types/lib/metadataTypes/definitions/Automation.definition.d.ts +++ b/@types/lib/metadataTypes/definitions/Automation.definition.d.ts @@ -264,8 +264,7 @@ declare namespace _default { export let typeDescription: string; export let typeRetrieveByDefault: boolean; export let typeName: string; - export let customDeployTypes: string[]; - export let manualDeployTypes: any[]; + export let manualDeployTypes: string[]; export let fields: { categoryId: { isCreateable: boolean; diff --git a/@types/lib/util/validations.d.ts.map b/@types/lib/util/validations.d.ts.map index 9808d8f56..d3ea06e52 100644 --- a/@types/lib/util/validations.d.ts.map +++ b/@types/lib/util/validations.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../../../lib/util/validations.js"],"names":[],"mappings":"AAkBA;;;;;;;GAOG;AACH,+CANW,GAAG,QACH,GAAG,aACH,MAAM,uBACN,WAAW,EAAE,GACX,OAAO,CAAE,GAAG,CAAC,CAgFzB;iCAnGY,OAAO,wBAAwB,EAAE,kBAAkB;iCACnD,OAAO,wBAAwB,EAAE,kBAAkB;0BACnD,OAAO,wBAAwB,EAAE,WAAW"} \ No newline at end of file +{"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../../../lib/util/validations.js"],"names":[],"mappings":"AAkBA;;;;;;;GAOG;AACH,+CANW,GAAG,QACH,GAAG,aACH,MAAM,uBACN,WAAW,EAAE,GACX,OAAO,CAAE,GAAG,CAAC,CAwFzB;iCA3GY,OAAO,wBAAwB,EAAE,kBAAkB;iCACnD,OAAO,wBAAwB,EAAE,kBAAkB;0BACnD,OAAO,wBAAwB,EAAE,WAAW"} \ No newline at end of file diff --git a/lib/util/validations.js b/lib/util/validations.js index a40386706..07f2de88d 100644 --- a/lib/util/validations.js +++ b/lib/util/validations.js @@ -28,7 +28,13 @@ export default async function validation(definition, item, targetDir, codeExtrac try { if (customRuleImport) { customRules = customRuleImport - ? await customRuleImport.validation(definition, item, targetDir, Util) + ? await customRuleImport.validation( + definition, + item, + targetDir, + Util, + codeExtractItemArr + ) : {}; } } catch (ex) { @@ -67,6 +73,14 @@ export default async function validation(definition, item, targetDir, codeExtrac // some types do not support folders return true; } + const doNotEvaluate = ['automation', 'attributeSet', 'list']; + if ( + doNotEvaluate.includes(definition.type) || + (definition.type === 'asset' && item?.assetType?.name === 'webpage') + ) { + // this subtype is not visible in the interface and hence always technically sits in the root + return true; + } return folderPath.includes('/'); },