mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-19 00:02:03 +00:00
398c0bb34e
* add ts extensions by default * remove script * add script to remove ext * simpler scripts * add readme * add revert mode * nit * fix * fix typos * typo
54 lines
1.5 KiB
Bash
Executable File
54 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Set script to exit on any error
|
|
set -e
|
|
script_dirpath="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
# Parse command line arguments
|
|
RESTORE_MODE=false
|
|
while [[ $# -gt 0 ]]; do
|
|
case $1 in
|
|
-r)
|
|
RESTORE_MODE=true
|
|
shift
|
|
;;
|
|
*)
|
|
echo "Unknown option: $1"
|
|
echo "Usage: $0 [-r]"
|
|
echo " -r Restore .ts extensions to imports/exports"
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if [[ "$RESTORE_MODE" == true ]]; then
|
|
echo "Adding .ts extensions to imports..."
|
|
# Only add .ts if the path doesn't already end with .ts or /
|
|
REGEX='/\.ts["'\'']/! s/(from|import)[[:space:]]+["'\'']([^"'\'']*[^/])(["'\''])/\1 "\2.ts\3/g'
|
|
SUCCESS_MSG="✓ All .ts extensions added to import/export statements"
|
|
else
|
|
echo "Removing .ts extensions from imports..."
|
|
REGEX='s/(from|import)[[:space:]]+["'\'']([^"'\'']*?)\.ts(["'\''])/\1 "\2\3/g'
|
|
SUCCESS_MSG="✓ All .ts extensions removed from import/export statements"
|
|
fi
|
|
|
|
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
echo "Detected macOS - using GNU sed (gsed)"
|
|
if ! command -v gsed &> /dev/null; then
|
|
echo "Error: gsed not found"
|
|
echo "Run: brew install gnu-sed"
|
|
exit 1
|
|
fi
|
|
else
|
|
echo "Detected Linux - using GNU sed"
|
|
fi
|
|
|
|
find "$script_dirpath"/src -name "*.ts" -type f | while read -r file; do
|
|
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
gsed -E -i "$REGEX" "$file"
|
|
else
|
|
sed -E -i "$REGEX" "$file"
|
|
fi
|
|
done
|
|
|
|
echo "$SUCCESS_MSG" |