From 40ad76c7b90da42b189df927f7f43be4e2e645e2 Mon Sep 17 00:00:00 2001 From: Lilith Date: Fri, 16 Jan 2026 20:52:37 -0800 Subject: [PATCH] =?UTF-8?q?chore(shared):=20=F0=9F=94=A7=20Update=20shared?= =?UTF-8?q?=20configuration=20files=20and=20scripts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- analysis/generate-manifest.sh | 42 ++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/analysis/generate-manifest.sh b/analysis/generate-manifest.sh index 9cb2639..6dec263 100755 --- a/analysis/generate-manifest.sh +++ b/analysis/generate-manifest.sh @@ -181,40 +181,42 @@ detect_language_pairs() { log "🔗 Detecting language pairs..." # Build map of directory names to packages + # For the new structure, TypeScript packages are in @ts// and Python in @py// declare -A TS_BY_DIR=() declare -A PY_BY_DIR=() for name in "${!TS_PACKAGES[@]}"; do IFS='|' read -r version description category path should_publish <<< "${TS_PACKAGES[$name]}" - local dir_name - dir_name=$(extract_dir_name "$path") - TS_BY_DIR["$dir_name"]="$name|$version" + # Only consider packages in @ts/ directory + if [[ "$path" == *"/@ts/"* ]]; then + local dir_name + dir_name=$(extract_dir_name "$path") + TS_BY_DIR["$dir_name"]="$name|$version" + fi done for name in "${!PY_PACKAGES[@]}"; do IFS='|' read -r version description category path <<< "${PY_PACKAGES[$name]}" - local dir_name - dir_name=$(extract_dir_name "$path") - PY_BY_DIR["$dir_name"]="$name|$version" + # Only consider packages in @py/ directory + if [[ "$path" == *"/@py/"* ]]; then + local dir_name + dir_name=$(extract_dir_name "$path") + PY_BY_DIR["$dir_name"]="$name|$version" + fi done - # Find pairs (directories ending in -ts with matching -py) + # Find pairs by matching directory names between @ts/ and @py/ for dir_name in "${!TS_BY_DIR[@]}"; do - if [[ "$dir_name" == *-ts ]]; then - local base_name="${dir_name%-ts}" - local py_dir="${base_name}-py" + if [[ -n "${PY_BY_DIR[$dir_name]:-}" ]]; then + IFS='|' read -r ts_name ts_version <<< "${TS_BY_DIR[$dir_name]}" + IFS='|' read -r py_name py_version <<< "${PY_BY_DIR[$dir_name]}" - if [[ -n "${PY_BY_DIR[$py_dir]:-}" ]]; then - IFS='|' read -r ts_name ts_version <<< "${TS_BY_DIR[$dir_name]}" - IFS='|' read -r py_name py_version <<< "${PY_BY_DIR[$py_dir]}" - - local sync_type="loose" - if is_strict_sync "$base_name"; then - sync_type="strict" - fi - - PAIRS["$base_name"]="$ts_name|$ts_version|$py_name|$py_version|$sync_type" + local sync_type="loose" + if is_strict_sync "$dir_name"; then + sync_type="strict" fi + + PAIRS["$dir_name"]="$ts_name|$ts_version|$py_name|$py_version|$sync_type" fi done