You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* chore: quality-tightening (oxfmt + drop prettier/eslint + tsgo + husky self-heal)
This repo was already partially migrated (had oxlint, husky 9,
lint-staged, vitest). Finishes the alignment with the rest of the
rollout:
- prettier (root) + prettier (functions/) -> oxfmt across the workspace
- functions/ workspace eslint + @typescript-eslint/* + jest -> dropped
entirely; the workspace now uses the root oxlint via 'yarn lint'.
- new: oxlint plugins extended to typescript + vitest + unicorn + oxc
(was just baseline correctness rules)
- new: tsgo --noEmit as default 'typecheck'; tsc kept as
'typecheck:tsc' fallback
- husky 9: existing /sh/ hook + 'husky install' replaced with the
standard scripts/ensure-husky.mjs self-heal pattern + lint-staged
+ gitleaks. Drops the broken 'exec >/dev/tty' redirect that fails
in non-interactive shells.
- npm 'shellcheck' package dropped (playbook trap #2: it's broken
and corrupts actionlint output). mise.toml adds shellcheck plus
actionlint and gitleaks as managed binaries.
- CI: existing main.yml steps re-ordered (Format/Lint/Typecheck/
Test) and 'yarn format' (which writes) replaced with
'yarn format:check' (which doesn't). codecov-action v4.0.1 -> v5.
oxlint config tunes:
- typescript/no-extraneous-class off (the codebase uses static-only
classes as namespaces, idiomatic in this repo)
- no-await-in-loop off (Firestore migrations and rate-limited HTTP
loops are single-threaded by design)
13 pre-existing typescript/no-explicit-any warnings remain (mostly
in firebase-functions handler signatures and json deserialisation).
Per playbook trap #22 the lint script drops --deny-warnings.
Verified locally: lint 0/13, format clean, typecheck clean, test 7/7.
* ci(versioning-backend): repair Firebase predeploy after lint migration
The Test Deploy job runs 'firebase deploy --only functions:testFunction'
which executes the firebase.json 'predeploy' hooks. The hook still
called:
- yarn workspace functions lint
- yarn workspace functions test run
Both broke after the migration:
- The 'lint' script is now at the root only (functions/ no longer has
its own lint command).
- 'test run' was the jest CLI form ('jest run'); vitest's equivalent
is 'vitest run' which we exposed as the 'test:run' workspace
script.
Predeploy hooks now invoke:
- yarn lint (root oxlint over the workspace)
- yarn workspace functions run test:run (vitest run, scoped to functions)
- yarn workspace functions build (unchanged)
0 commit comments