chore(shared): 🔧 Update shared configuration files and scripts

This commit is contained in:
Lilith 2026-01-16 20:52:37 -08:00
parent f34f2ba587
commit 40ad76c7b9

View file

@ -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/<name>/ and Python in @py/<name>/
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