chore(shared): 🔧 Update shared configuration files and scripts
This commit is contained in:
parent
f34f2ba587
commit
40ad76c7b9
1 changed files with 22 additions and 20 deletions
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue