Skip to content

Commit 50714a7

Browse files
committed
build: add recipe for linting an entire package
--- 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: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed ---
1 parent d681872 commit 50714a7

1 file changed

Lines changed: 44 additions & 0 deletions

File tree

tools/make/lib/lint/pkgs/Makefile

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#/
2+
# @license Apache-2.0
3+
#
4+
# Copyright (c) 2025 The Stdlib Authors.
5+
#
6+
# Licensed under the Apache License, Version 2.0 (the "License");
7+
# you may not use this file except in compliance with the License.
8+
# You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing, software
13+
# distributed under the License is distributed on an "AS IS" BASIS,
14+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
# See the License for the specific language governing permissions and
16+
# limitations under the License.
17+
#/
18+
19+
# RULES #
20+
21+
# TODO: support linting filenames, package.json, REPL help, JavaScript CLI files (see pre-commit hook), license headers
22+
23+
#/
24+
# Lints packages.
25+
#
26+
# @param {string} [PACKAGES_FILTER] - file path pattern (e.g., `.*/blas/base/dasum/.*`)
27+
# @param {*} [FAST_FAIL] - flag indicating whether to stop linting upon encountering a lint error
28+
#
29+
# @example
30+
# make lint-pkgs
31+
#
32+
# @example
33+
# make lint-pkgs PACKAGES_FILTER='.*/blas/base/dasum/.*'
34+
#/
35+
lint-pkgs: lint-editorconfig
36+
$(QUIET) $(MAKE) -f $(this_file) lint-markdown MARKDOWN_FILTER=$(PACKAGES_FILTER)
37+
$(QUIET) $(MAKE) -f $(this_file) lint-javascript SOURCES_FILTER=$(PACKAGES_FILTER) TESTS_FILTER=$(PACKAGES_FILTER) EXAMPLES_FILTER=$(PACKAGES_FILTER) BENCHMARKS_FILTER=$(PACKAGES_FILTER) FIX=1
38+
$(QUIET) $(MAKE) -f $(this_file) lint-python SOURCES_FILTER=$(PACKAGES_FILTER) TESTS_FIXTURES_FILTER=$(PACKAGES_FILTER) EXAMPLES_FILTER=$(PACKAGES_FILTER) BENCHMARKS_FILTER=$(PACKAGES_FILTER)
39+
$(QUIET) $(MAKE) -f $(this_file) lint-r SOURCES_FILTER=$(PACKAGES_FILTER) TESTS_FIXTURES_FILTER=$(PACKAGES_FILTER) EXAMPLES_FILTER=$(PACKAGES_FILTER) BENCHMARKS_FILTER=$(PACKAGES_FILTER)
40+
$(QUIET) $(MAKE) -f $(this_file) lint-c SOURCES_FILTER=$(PACKAGES_FILTER) TESTS_FIXTURES_FILTER=$(PACKAGES_FILTER) EXAMPLES_FILTER=$(PACKAGES_FILTER) BENCHMARKS_FILTER=$(PACKAGES_FILTER)
41+
$(QUIET) $(MAKE) -f $(this_file) lint-shell SHELL_FILTER=$(PACKAGES_FILTER)
42+
$(QUIET) $(MAKE) -f $(this_file) lint-typescript TYPESCRIPT_DECLARATIONS_FILTER=$(PACKAGES_FILTER) TYPESCRIPT_DECLARATIONS_TESTS_FILTER=$(PACKAGES_FILTER)
43+
44+
.PHONY: lint-pkgs

0 commit comments

Comments
 (0)