Skip to content

chore: pay down dogfood lint debt#56

Draft
natemoo-re wants to merge 1 commit into
mainfrom
chore/dogfood-debt
Draft

chore: pay down dogfood lint debt#56
natemoo-re wants to merge 1 commit into
mainfrom
chore/dogfood-debt

Conversation

@natemoo-re

Copy link
Copy Markdown
Member

Summary

The tools repo failed its own lint: 9 errors on main. This PR brings it to 1 — and that last one (stdio.ts's stream _write override) is resolved by design once #53 lands, so it's deliberately left alone rather than suppressed.

  • node:path → URL APIs in init.ts (basename via pathname segments), sync.ts (new relativeUrlPath/resolveLinkTarget helpers for symlink targets), fixture.ts
  • Coded ToolsError replaces the generic Error in test.ts
  • Config bug found: package.json#knip was silently ignored because knip.jsonc takes precedence — the ignoreDependencies list lived in the wrong place. Consolidated; 3 phantom unused-dependency warnings gone
  • oxlintrc overrides: *.config.* and rules/** exempt from import/no-default-export (configs and oxlint plugins legitimately need default exports; also pre-clears the plugin.js error that feat(lint): tier knip dead-code behind --strict, restructure output #51's project-wide scope surfaces)
  • Fixture.write()/append() accept strings — the TS2345 in fixture.test.ts was a type lie (typed Uint8Array-only; runtime and all call sites used strings), fixed at the interface
  • vitest testTimeout: 15s — integration tests spawn real oxlint/knip binaries and flaked at 5s under load

Validation

Includes changeset (minor).

- replace node:path with URL APIs in init/sync/fixture
- throw coded ToolsError instead of generic Error
- oxlintrc overrides: config files and rules/** exempt from
  import/no-default-export
- Fixture.write/append accept strings (matches runtime behavior)
- consolidate duplicate knip config into knip.jsonc (package.json#knip
  was being silently ignored)
- raise vitest testTimeout to 15s for binary-spawning integration tests
@changeset-bot

changeset-bot Bot commented Jul 23, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: bb5beb4

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@bomb.sh/tools Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@pkg-pr-new

pkg-pr-new Bot commented Jul 23, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@bomb.sh/tools@56

commit: bb5beb4

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