Skip to content

chore: add TypeScript linting and formatting with oxlint/oxfmt#44

Merged
makinosp merged 6 commits into
mainfrom
chore/typescript-tooling
Jul 7, 2026
Merged

chore: add TypeScript linting and formatting with oxlint/oxfmt#44
makinosp merged 6 commits into
mainfrom
chore/typescript-tooling

Conversation

@makinosp

@makinosp makinosp commented Jul 7, 2026

Copy link
Copy Markdown
Owner

Summary

Introduce oxlint (linter) and oxfmt (formatter) as the project's TypeScript tooling, managed via pnpm. All existing TypeScript files have been formatted and lint warnings resolved.

Changes

4 Commits

  1. chore: add TypeScript tooling configurationsoxfmt.config.ts, oxlint.config.ts, package.json with pnpm scripts, pnpm-workspace.yaml, .gitignore entries
  2. style: apply oxfmt formatting to TypeScript files — Normalize code style (single quotes, consistent semicolons/trailing commas, sorted imports) across k6/ and scripts/seed/
  3. fix: resolve oxlint warnings across TypeScript files — Remove unused imports (getAuthToken, AccountSeed, TransactionSeed, BOOTSTRAP_KEY), add type specifier, fix catch parameter naming, add explicit return types
  4. docs: update AI-DLC documentation for TypeScript tooling — Update aidlc-state.md, audit.md, build-instructions.md, build-and-test-summary.md

Configuration Highlights

File Purpose
oxfmt.config.ts Formatter: single quotes, 120 print width, sorted imports, excludes .vendor//.kiro/
oxlint.config.ts Linter: ESLint + Oxc + TypeScript + Unicorn + Promise rules; k6-specific overrides for JSON.parse patterns
package.json Scripts: pnpm fmt, pnpm fmt:check, pnpm lint, pnpm lint:fix

Tooling

  • Formatter: oxfmt ^0.44.0
  • Linter: oxlint ^1.59.0
  • Package manager: pnpm

Verification

  • pnpm fmt:check — all files correctly formatted
  • pnpm lint — 0 errors, 0 warnings

makinosp added 6 commits July 7, 2026 21:40
Introduce oxfmt and oxlint as the project's TypeScript
formatter and linter, managed via pnpm.

- oxfmt.config.ts: formatter config with singleQuote, 120 print width,
  sorted imports, excluding .vendor/ and .kiro/
- oxlint.config.ts: linter config with ESLint, Oxc, TypeScript, Unicorn,
  and Promise rules; k6-specific overrides for JSON.parse patterns
- package.json: scripts for fmt, fmt:check, lint, lint:fix
- pnpm-workspace.yaml: workspace pointing to scripts/seed/
- .gitignore: add node_modules/ and pnpm-lock.yaml entries
Normalize code style across k6/ and scripts/seed/ files:
- single quotes throughout
- consistent semicolons (none)
- consistent trailing commas in multi-line constructs
- sorted import groups (type imports first)
Address all lint findings:

- k6/auth.ts, k6/accounts.ts, k6/transactions.ts: remove unused
  getAuthToken import (authenticatedHeaders() is used instead)
- k6/accounts.ts, k6/transactions.ts: mark type-only imports with
  'type' specifier (FireflyResource, FireflyListEnvelope, etc.)
- scripts/seed/index.ts: remove unused AccountSeed, TransactionSeed
  imports and unused BOOTSTRAP_KEY constant
- scripts/seed/index.ts: rename catch parameter 'err' to 'error'
- scripts/ci/setup-env.ts: add explicit 'void' return type on setupEnv()
- aidlc-state.md: add TypeScript Linter/Formatter to Post-Workflow
  Enhancements as completed
- audit.md: log the enhancement session with user decisions
- build-instructions.md: add oxfmt/oxlint checks as required local
  build steps (Step 3); add pnpm prerequisite
- build-and-test-summary.md: add TypeScript Code Quality section
  documenting tooling, scope, and local quality gates
@makinosp
makinosp merged commit 9b1f618 into main Jul 7, 2026
2 checks passed
@makinosp
makinosp deleted the chore/typescript-tooling branch July 7, 2026 12:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant