diff --git a/src/validators/filenameValidate.ts b/src/validators/filenameValidate.ts index 32a982f3e..7abb2147b 100644 --- a/src/validators/filenameValidate.ts +++ b/src/validators/filenameValidate.ts @@ -284,6 +284,16 @@ async function invalidLocation( if (context.directory) { return } + if (context.entities.prov && context.path.startsWith('/prov/prov-')) { + if (!context.path.startsWith(`/prov/prov-${context.entities.prov}`)) { + context.dataset.issues.add({ + code: 'INVALID_LOCATION', + location: context.path, + issueMessage: `Expected location: /prov/prov-${context.entities.prov}`, + }) + return + } + } if (!context.entities.tpl) { _validateLocation(context, 'sub', 'ses') } diff --git a/src/validators/internal/unusedFile.ts b/src/validators/internal/unusedFile.ts index 08dfe77b9..4b1558baf 100644 --- a/src/validators/internal/unusedFile.ts +++ b/src/validators/internal/unusedFile.ts @@ -41,7 +41,7 @@ export async function sidecarWithoutDatafile( ) { const unusedSidecars = [...walkFileTree(dsContext.tree, dsContext)].filter( (file) => (!file.viewed && file.name.endsWith('.json') && - !standalone_json.includes(file.name)), + !standalone_json.includes(file.name) && !file.path.startsWith('/prov')), ) unusedSidecars.forEach((sidecar) => { dsContext.issues.add({ code: 'SIDECAR_WITHOUT_DATAFILE', location: sidecar.path })