Skip to content

Commit 0562a32

Browse files
committed
build: lint tests corresponding to TS declaration files
--- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: passed - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed ---
1 parent 534fbd0 commit 0562a32

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

tools/git/hooks/pre-commit

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -545,8 +545,9 @@ run_lint() {
545545
fi
546546
# Lint TypeScript declaration files...
547547
add_task 'lint_typescript_declarations'
548+
declaration_files=$(echo "${changed_files}" | grep '/docs/types/.*\.d\.ts$')
548549
if [[ -z "${skip_typescript_declarations}" ]]; then
549-
files=$(echo "${changed_files}" | grep '/docs/types/.*\.d.ts$' | tr '\n' ' ')
550+
files=$(echo "${declaration_files}" | tr '\n' ' ')
550551
if [[ -n "${files}" ]]; then
551552
make TYPESCRIPT_DECLARATIONS_LINTER=eslint FILES="${files}" lint-typescript-declarations-files > /dev/null >&2
552553
if [[ "$?" -ne 0 ]]; then
@@ -565,7 +566,26 @@ run_lint() {
565566
# Lint TypeScript declaration test files...
566567
add_task 'lint_typescript_tests'
567568
if [[ -z "${skip_typescript_tests}" ]]; then
569+
# Get directly changed `test.ts` files:
568570
files=$(echo "${changed_files}" | grep '/docs/types/test.ts$' | tr '\n' ' ')
571+
572+
# Also get `test.ts` files corresponding to changed `index.d.ts` files...
573+
if [[ -n "${declaration_files}" ]]; then
574+
while IFS= read -r decl_file; do
575+
# Only process index.d.ts files (skip other .d.ts files)
576+
if [[ "${decl_file}" == */index.d.ts ]]; then
577+
# Replace `index.d.ts` with `test.ts` to get the test file path:
578+
test_file="${decl_file%index.d.ts}test.ts"
579+
580+
# Check if the test file exists and isn't already in the list:
581+
if [[ -f "${test_file}" ]] && [[ ! " ${files} " =~ [[:space:]]${test_file}[[:space:]] ]]; then
582+
files="${files} ${test_file}"
583+
fi
584+
fi
585+
done <<< "${declaration_files}"
586+
fi
587+
588+
# Lint all collected test files...
569589
if [[ -n "${files}" ]]; then
570590
make TYPESCRIPT_DECLARATIONS_LINTER=eslint FILES="${files}" ESLINT_TS_CONF="${eslint_typescript_tests_conf}" lint-typescript-declarations-files > /dev/null >&2
571591
if [[ "$?" -ne 0 ]]; then

0 commit comments

Comments
 (0)