@jterrazz/typescript 2.3.4 → 2.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/ts-watch.sh +21 -11
- package/package.json +1 -1
package/bin/ts-watch.sh
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
2
|
|
|
3
|
+
# Exit on error
|
|
4
|
+
set -e
|
|
5
|
+
|
|
6
|
+
# Colors for output (using Vitest-like colors)
|
|
7
|
+
RED='\033[0;31m'
|
|
8
|
+
GREEN='\033[0;32m'
|
|
9
|
+
CYAN_BG='\033[46m' # Cyan background
|
|
10
|
+
BRIGHT_WHITE='\033[1;30m' # Bold black text
|
|
11
|
+
NC='\033[0m' # No Color
|
|
12
|
+
|
|
3
13
|
# Get the directory where the script is being called from (caller's project root)
|
|
4
14
|
# If called through bin, we need to get the directory where the command was executed
|
|
5
15
|
if [ -n "$INIT_CWD" ]; then
|
|
@@ -8,40 +18,40 @@ else
|
|
|
8
18
|
PROJECT_ROOT=$(pwd)
|
|
9
19
|
fi
|
|
10
20
|
|
|
11
|
-
|
|
21
|
+
printf "${CYAN_BG}${BRIGHT_WHITE} START ${NC} Starting TypeScript watch mode\n\n"
|
|
12
22
|
|
|
13
23
|
# Default paths relative to project root
|
|
14
24
|
IN_PATH="$PROJECT_ROOT/src"
|
|
15
25
|
OUT_PATH="$PROJECT_ROOT/dist"
|
|
16
26
|
|
|
17
|
-
|
|
18
|
-
|
|
27
|
+
printf "Input directory: %s\n" "$IN_PATH"
|
|
28
|
+
printf "Output directory: %s\n" "$OUT_PATH"
|
|
19
29
|
|
|
20
30
|
# Convert tsconfig.json to .swcrc
|
|
21
|
-
|
|
31
|
+
printf "\n${CYAN_BG}${BRIGHT_WHITE} RUN ${NC} Converting tsconfig.json to .swcrc\n\n"
|
|
22
32
|
TMP_SWCRC=$(mktemp -q /tmp/.swcrc.XXXXXX)
|
|
23
33
|
if [ $? -ne 0 ]; then
|
|
24
|
-
|
|
34
|
+
printf "${RED}✗ Error: Can't create temporary .swcrc file${NC}\n"
|
|
25
35
|
exit 1
|
|
26
36
|
fi
|
|
27
37
|
|
|
28
38
|
# Ensure we're in the project root directory for TypeScript configuration
|
|
29
39
|
cd "$PROJECT_ROOT"
|
|
30
40
|
npx tsconfig-to-swcconfig --output="$TMP_SWCRC"
|
|
31
|
-
|
|
41
|
+
printf "${GREEN}✓ Successfully converted tsconfig.json to .swcrc${NC}\n"
|
|
32
42
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
43
|
+
printf "\n${CYAN_BG}${BRIGHT_WHITE} RUN ${NC} Starting watch mode with nodemon\n\n"
|
|
44
|
+
printf "Watching for changes in: %s\n" "$IN_PATH"
|
|
45
|
+
printf "Changes will trigger automatic recompilation and execution\n\n"
|
|
36
46
|
|
|
37
47
|
# Watch for changes in the src directory, compile and run
|
|
38
48
|
npx nodemon --quiet \
|
|
39
49
|
--watch "$IN_PATH" \
|
|
40
50
|
--ext '*' \
|
|
41
|
-
--exec "
|
|
51
|
+
--exec "printf 'File change detected, recompiling\\n' && npx swc $IN_PATH \
|
|
42
52
|
--source-maps \
|
|
43
53
|
--copy-files \
|
|
44
54
|
--config-file $TMP_SWCRC \
|
|
45
55
|
--out-dir $OUT_PATH \
|
|
46
56
|
--strip-leading-paths \
|
|
47
|
-
&&
|
|
57
|
+
&& printf '${GREEN}✓ Compilation successful, running project${NC}\\n' && node --enable-source-maps $OUT_PATH/index.js"
|