From 066b18aaf21d5f00e5793abc397b113a4040a1cc Mon Sep 17 00:00:00 2001 From: Jesse Wright <63333554+jeswr@users.noreply.github.com> Date: Mon, 26 May 2025 17:26:01 +0100 Subject: [PATCH] chore: don't suppress shex conversion errors --- packages/cli/src/util/forAllShapes.ts | 43 ++++++++++++++------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/packages/cli/src/util/forAllShapes.ts b/packages/cli/src/util/forAllShapes.ts index e84da86..9703d5c 100644 --- a/packages/cli/src/util/forAllShapes.ts +++ b/packages/cli/src/util/forAllShapes.ts @@ -44,31 +44,32 @@ export async function forAllShapes( const shaclPromise = Promise.all( shapeDir.map(async (file) => { if (file.isFile()) { + let store: Awaited>; try { - const store = await derefStore(path.join(shapePath, file.name), { + store = await derefStore(path.join(shapePath, file.name), { localFiles: true, }); - // Make sure the RDF file contains a SHACL shape - if ( - hasMatch( - store.store, - rdf.type, - "http://www.w3.org/ns/shacl#NodeShape", - ) || - hasMatch( - store.store, - rdf.type, - "http://www.w3.org/ns/shacl#PropertyShape", - ) - ) { - const shex = await writeShexSchema( - await shaclStoreToShexSchema(store.store), - store.prefixes, - ); - await callback(shex, path.parse(file.name).name); - } } catch (e) { - // no-op ignore invalid RDF file + return; + } + // Make sure the RDF file contains a SHACL shape + if ( + hasMatch( + store.store, + rdf.type, + "http://www.w3.org/ns/shacl#NodeShape", + ) || + hasMatch( + store.store, + rdf.type, + "http://www.w3.org/ns/shacl#PropertyShape", + ) + ) { + const shex = await writeShexSchema( + await shaclStoreToShexSchema(store.store), + store.prefixes, + ); + await callback(shex, path.parse(file.name).name); } } }),