You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ru...@apache.org on 2026/05/26 02:41:59 UTC
(superset) 01/06: chore(precommit): add full-tsc pre-push hook for frontend
This is an automated email from the ASF dual-hosted git repository.
rusackas pushed a commit to branch feat/glyph-single-file
in repository https://gitbox.apache.org/repos/asf/superset.git
commit f3e6a409484827087f671f7a77b8bf29f876191d
Author: Evan Rusackas <ev...@rusackas.com>
AuthorDate: Mon May 25 19:03:32 2026 -0700
chore(precommit): add full-tsc pre-push hook for frontend
The existing type-checking-frontend hook runs targeted (per-file) tsc on
pre-commit, which catches most errors but can miss some that the full
project-wide check picks up. CI already runs `npm run type` (full tsc),
but local feedback only arrives after push.
This adds a pre-push stage hook that runs the same `npm run type` so
contributors get the project-wide check before pushing. It also sets
default_install_hook_types so a single `pre-commit install` installs
both pre-commit and pre-push hooks.
Co-Authored-By: Claude Sonnet 4.6 <no...@anthropic.com>
---
.pre-commit-config.yaml | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index a15303b2a3c..acf97e3397d 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -14,6 +14,10 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
+# Install pre-push hooks too, not just pre-commit:
+# pre-commit install --hook-type pre-push
+# (or this default applies automatically on `pre-commit install`)
+default_install_hook_types: [pre-commit, pre-push]
repos:
- repo: https://github.com/MarcoGorelli/auto-walrus
rev: 0.3.4
@@ -94,6 +98,19 @@ repos:
files: ^superset-frontend\/.*\.(js|jsx|ts|tsx)$
exclude: ^superset-frontend/cypress-base\/
require_serial: true
+ - id: full-type-check-frontend
+ name: Full Type-Check (Frontend, pre-push)
+ # The pre-commit (per-file) variant catches most issues but `tsc <file>`
+ # bypasses some project-wide invariants. This runs the same check CI
+ # runs (`npm run type` -> `tsc --noEmit -p tsconfig.json`) so cross-file
+ # type errors are surfaced before they reach origin.
+ entry: bash -c 'cd superset-frontend && npm run type'
+ language: system
+ files: ^superset-frontend\/.*\.(js|jsx|ts|tsx)$
+ exclude: ^superset-frontend/cypress-base\/
+ pass_filenames: false
+ stages: [pre-push]
+ require_serial: true
# blacklist unsafe functions like make_url (see #19526)
- repo: https://github.com/skorokithakis/blacklist-pre-commit-hook
rev: e2f070289d8eddcaec0b580d3bde29437e7c8221