From 01d72f76fa2d9fcf4bd257bf16c7d0dc70d0129f Mon Sep 17 00:00:00 2001 From: Manabu Nakazawa Date: Mon, 30 Oct 2023 00:47:16 +1000 Subject: [PATCH] Add a rule sets generating scrpit --- .gitignore | 1 + docs/scripts/generate-rule-set-list.sh | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 .gitignore create mode 100755 docs/scripts/generate-rule-set-list.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9ab870d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +generated/ diff --git a/docs/scripts/generate-rule-set-list.sh b/docs/scripts/generate-rule-set-list.sh new file mode 100755 index 0000000..0a697c2 --- /dev/null +++ b/docs/scripts/generate-rule-set-list.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +cd "$(dirname "${BASH_SOURCE:-$0}")" + +combined='[]' + +for dir in ../rules-in-library/*; do + if [ -d "$dir" ] && [ -f "$dir/rule-set.json" ]; then + id=$(basename "$dir" | cut -d'_' -f1) + + if ! [[ $id =~ ^[0-9]+$ ]]; then + echo "❌ Error: Directory $dir does not start with '_' format." + exit 1 + fi + + processed_json=$(jq --argjson id "$id" '{id: $id|tonumber, redirectList: .}' "$dir/rule-set.json") + combined=$(echo "$combined" | jq --argjson newElement "$processed_json" '. += [$newElement]') + fi +done + +wrapped=$(echo "$combined" | jq '{ "rule-sets": . }') +output_dir="../generated/rule-set/" +mkdir -p $output_dir +echo "$wrapped" > $output_dir/list.json +echo "✅ Created list.json"