Skip to content

Commit 2625901

Browse files
author
Colin McNeil
committed
Tweak TS file discovery
1 parent dda6a85 commit 2625901

File tree

1 file changed

+13
-22
lines changed

1 file changed

+13
-22
lines changed

prompts/eslint/scripts/lint-standardjs.sh

Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,31 @@
11
#!/bin/bash
22

3-
PROJECT_DIR="/project"
3+
shopt -s globstar
44

5-
echo "ARGS:"
5+
PROJECT_DIR="/project"
66

77
# First arg
88
ARGS="$1"
99

10-
echo $ARGS
11-
1210
# First arg is json {typescript: boolean, fix: boolean, files: string[]}
1311
TYPESCRIPT=$(echo $ARGS | jq -r '.typescript')
1412

1513
# Get boolean value of fix
1614
FIX=$(echo $ARGS | jq -r '.fix')
1715

18-
# If files key is not present, just use .
16+
# If files key is not present, just use glob
1917

2018
if [ $(echo $ARGS | jq -r '.files') == 'null' ]; then
21-
FILES="."
19+
# Glob for js, ts, tsx, jsx files
20+
FILES=$(fd -e js -e ts -e tsx -e jsx)
2221
else
2322
FILES=$(echo $ARGS | jq -r '.files[]')
2423
fi
2524

26-
echo "Running StandardJS..."
2725

2826
# If typescript is false, run standard
2927
if [ $TYPESCRIPT == 'false' ]; then
28+
echo "Running standard"
3029
$LINT_ARGS="$FILES"
3130
# If FIX
3231
if [ $FIX == "true" ]; then
@@ -39,37 +38,28 @@ fi
3938

4039
echo "Running ts-standard..."
4140

42-
TS_FILES=$(echo $FILES | grep -E "\.ts$|\.tsx$")
43-
44-
#Make sure all $TS_FILES start with $PROJECT_DIR, or add it
45-
for TS_FILE in $TS_FILES; do
46-
if [[ ! $TS_FILE == $PROJECT_DIR* ]]; then
47-
# Escape / in filenames
48-
TS_FILE_ESCAPED=$(echo $TS_FILE | sed 's/\//\\\//g')
49-
PROJECT_DIR_ESCAPED=$(echo $PROJECT_DIR | sed 's/\//\\\//g')
50-
TS_FILES=$(echo $TS_FILES | sed -e "s/$TS_FILE_ESCAPED/$PROJECT_DIR_ESCAPED\/$TS_FILE_ESCAPED/g")
51-
fi
52-
done
41+
TS_FILES=$(echo "$FILES" | grep -E "\.ts$|\.tsx$")
5342

5443
TS_ROOTS=$(fd -d 3 tsconfig.json)
5544

5645
# If no node roots found
5746
if [ -z "$TS_ROOTS" ]; then
58-
echo "No Typescript configs found in project"
47+
echo "No Typescript configs found in project. Exiting."
5948
exit 0
6049
fi
6150

6251
TS_OUTPUT=""
6352
EXIT_CODE=0
6453

54+
PROJECT_DIR=$(pwd)
55+
6556
# Run ts-standard in each node root
6657
for TS_ROOT in $TS_ROOTS; do
67-
TS_ROOT="$PROJECT_DIR/$TS_ROOT"
6858
root_dirname=$(dirname $TS_ROOT)
6959
cd $root_dirname
7060
# Filter all TS_FILES in root_dirname
71-
TS_FILES_IN_ROOT=$(echo $TS_FILES | grep $root_dirname)
72-
61+
TS_FILES_IN_ROOT=$(echo "$TS_FILES" | grep -E $root_dirname)
62+
echo "Linting TS Files in $root_dirname"
7363
# If no TS_FILES in root_dirname, skip
7464
if [ -z "$TS_FILES_IN_ROOT" ]; then
7565
continue
@@ -86,6 +76,7 @@ for TS_ROOT in $TS_ROOTS; do
8676
if [ $? -ne 0 ] && [ $EXIT_CODE -eq 0 ]; then
8777
EXIT_CODE=$?
8878
fi
79+
cd $PROJECT_DIR
8980
done
9081

9182
echo $TS_OUTPUT

0 commit comments

Comments
 (0)