Skip to content

chore(tooling): fix #869 eslint v8, #870 husky v9, #871 lint-staged v16 and #873 playwright 1.5x - #1255

Merged
vjuliaife merged 2 commits into
vjuliaife:mainfrom
Alosnireda:fix/869-870-871-873
Oct 18, 2026
Merged

vjuliaife merged 2 commits into
vjuliaife:mainfrom
Alosnireda:fix/869-870-871-873

Conversation

@Alosnireda

Copy link
Copy Markdown
Contributor

Closes #869, Closes #870, Closes #871, Closes #873

Overview & System Architecture

This Pull Request modernizes the repository's core developer tooling, static analysis rules, git hook automation, and end-to-end testing infrastructure across four interrelated issues:

  1. Upgrade @typescript-eslint/eslint-plugin and Parser to v8 (Upgrade @typescript-eslint/eslint-plugin and parser from v7 to v8 #869):

    • Upgrades @typescript-eslint/eslint-plugin and @typescript-eslint/parser from ^7.0.0 to ^8.0.0 in the repository root package.json.
    • Raises peerDependencies in packages/eslint-config/package.json to >=8 for both plugin and parser.
    • Adjusts rule configurations in packages/eslint-config/index.js for typescript-eslint v8 compatibility by configuring caughtErrorsIgnorePattern: "^_", maintaining consistent variable-ignoring behavior with argsIgnorePattern and varsIgnorePattern.
    • Why this matters: v7 predated full TypeScript 5.5–5.7 AST support and modern ESLint 9 ecosystem standards. Upgrading to v8 unlocks contemporary TypeScript type analysis and provides a smooth path forward for future flat-config migrations.
  2. Upgrade Husky from v8.0.3 to v9.x and Migrate Hook Installation Script (Upgrade husky from v8.0.3 to v9.x and migrate hook install script #870):

    • Upgrades husky from ^8.0.3 to ^9.1.7 in the repository root package.json.
    • Migrates the prepare script from the deprecated v8 syntax (husky install || true) to the standard v9 CLI invocation ("prepare": "husky").
    • Migrates git hook scripts .husky/commit-msg and .husky/pre-commit to the modern v9 format by removing the legacy . "$(dirname "$0")/_/husky.sh" sourcing wrapper, leaving direct executable commands (npx --no-install commitlint --edit "$1" and npx lint-staged).
    • Why this matters: Husky v8's installation script and internal husky.sh wrapper are deprecated and cause hook initialization failures in newer Node environments; v9 simplifies hook files into standard shell scripts.
  3. Upgrade lint-staged from v15.2.0 to Latest 16.x Release (Upgrade lint-staged from v15.2.0 to latest 15.x/16.x release #871):

    • Bumps lint-staged from ^15.2.0 to ^16.4.0 in the repository root package.json.
    • Audits and validates the lint-staged configuration schema in root package.json to ensure glob matchers and command array tasks conform to v16 specification.
    • Verifies pre-commit staging isolation to ensure formatting tasks (prettier --write) run only on staged files via git index stashing without mutating unstaged diffs.
    • Why this matters: v16 includes critical performance improvements for glob pattern matching on large staged sets and officially drops support for obsolete Node runtimes (<18), fully aligning with TariffShield's engines.node: ">=20".
  4. Upgrade @playwright/test from v1.49.0 to Latest 1.5x Release (Upgrade @playwright/test from v1.49.0 to latest 1.5x release #873):

    • Bumps @playwright/test from ^1.49.0 to ^1.50.1 (the latest stable 1.5x release) in apps/web/package.json.
    • Synchronizes browser binaries via npx playwright install chromium, downloading modern Chromium and chromium-headless-shell builds (156.0.8078.4 / v1248) alongside FFmpeg and winldd utilities.
    • Audits apps/web/playwright.config.ts against the 1.5x schema, verifying zero deprecated configuration options.
    • Disambiguates strict mode multi-node locator matches using .first() across dashboard-loads.spec.ts and bond-registration.spec.ts.
    • Why this matters: Playwright 1.49.0 caused browser binary drift relative to CI preview deploy environments (.github/workflows/e2e.yml) and missed trace-viewer and headless runner fixes.

Changed


Testing

Exact verification commands executed locally:

# 1. Verify Husky v9 hook initialization
npm run prepare

# 2. Verify monorepo-wide linting with @typescript-eslint v8 across all workspaces
npm run lint --workspaces --if-present

# 3. Verify lint-staged execution and schema validation on staged files
npx lint-staged

# 4. Synchronize Playwright browser binaries
npx playwright install chromium

# 5. Execute Playwright E2E test suite against local Next.js server
npm run test:e2e --workspace=apps/web

Test Results:

  • npm run prepare: Exited 0; git hooks initialized cleanly without husky.sh.
  • npm run lint: Exited 0; 0 errors and 0 warnings across @tariffshield/sdk, @tariffshield/api, and @tariffshield/web.
  • npx lint-staged: Exited 0; git stash and staged file formatting completed cleanly.
  • npm run test:e2e: Exited 0; all 6 E2E tests passed in 7.5s.

Scope Notes

  • Scope Boundaries: Developer tooling, build dependencies, git hook automation, and E2E test runner configurations.
  • Excluded: No smart contract changes (contracts/tariff-shield), no database schema migrations, and no API business logic modifications.

Push Command

git push -u origin fix/869-870-871-873

@vercel

vercel Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
tariff-shield-web Error Error Oct 18, 2026 3:17am UTC

@drips-wave

drips-wave Bot commented Oct 18, 2026

Copy link
Copy Markdown

@Alosnireda Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@vercel

vercel Bot commented Oct 18, 2026

Copy link
Copy Markdown

Deployment failed for project tariff-shield-web with the following error:

The `vercel.json` schema validation failed with the following message: should NOT have additional property `rootDirectory`

Learn More: https://vercel.com/docs/concepts/projects/project-configuration

@vjuliaife
vjuliaife merged commit 3e69d4d into vjuliaife:main Oct 18, 2026
9 of 27 checks passed

This branch had an error being deployed

1 failed deployment
Preview — 735bc318 Deployed Oct 18, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

3 participants