Skip to content

align tooling with ts-lib-starter - #19

Merged
mrhyde merged 1 commit into
masterfrom
chore/align-with-template
Aug 2, 2026
Merged

align tooling with ts-lib-starter#19
mrhyde merged 1 commit into
masterfrom
chore/align-with-template

Conversation

@mrhyde

@mrhyde mrhyde commented Aug 2, 2026

Copy link
Copy Markdown
Member

Brings tvt onto the same toolchain as the template so future node and dependency bumps stop requiring per-repo workflow edits.

What changed:

  • npm to pnpm 11.17.0, package-lock.json replaced with pnpm-lock.yaml. pnpm-workspace.yaml allows the koffi and @swc/core build scripts.
  • node >=24 to >=26, volta pinned to 26.5.0.
  • eslint and biome replaced with oxlint and oxfmt (@2bad/axiom 2.1.0). oxfmt reformatted nothing, so the source diff is limited to the enum change below.
  • @2bad/tsconfig 3.0.2 to 4.0.0 and typescript 5.9.3 to 7.0.2.
  • Workflows moved to blacksmith runners and read node from package.json. Check names are now version-free: build, test on blacksmith-4vcpu-ubuntu-2404, test on blacksmith-4vcpu-windows-2025. Branch protection on master has already been switched to these three contexts, so the old build on node@22 style checks are no longer required.
  • publish.yml now installs and publishes with pnpm.

tsconfig 4.0.0 turns on erasableSyntaxOnly, which rejects the two enums in lib/types.ts. Both are now const objects. NET_SDK_ERROR loses its numeric reverse mapping, so the two call sites that turned an error code back into a name use a NET_SDK_ERROR_NAME map instead. rootDir is set in tsconfig.build.json because TS7 no longer infers it for the declaration build.

The build still uses swc rather than tsdown. tsdown emits stage-3 decorator syntax verbatim (oxc only transforms legacy decorators), which makes build/device.js unparseable, so device.ts's @auth and @measure usages block that swap. Tracked in #20.

@codecov

codecov Bot commented Aug 2, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 6 lines in your changes missing coverage. Please review.
✅ Project coverage is 3.81%. Comparing base (0642eab) to head (37da735).

Files with missing lines Patch % Lines
source/lib/types.ts 0.00% 4 Missing ⚠️
source/device.ts 0.00% 0 Missing and 2 partials ⚠️
Additional details and impacted files
@@            Coverage Diff            @@
##           master     #19      +/-   ##
=========================================
+ Coverage    2.60%   3.81%   +1.20%     
=========================================
  Files          11      11              
  Lines         345     236     -109     
  Branches       35      35              
=========================================
  Hits            9       9              
+ Misses        307     198     -109     
  Partials       29      29              
Flag Coverage Δ
unit 3.81% <0.00%> (+1.20%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@mrhyde
mrhyde force-pushed the chore/align-with-template branch from bdfa057 to 63c21d8 Compare August 2, 2026 16:47
@mrhyde
mrhyde force-pushed the chore/align-with-template branch from 63c21d8 to 37da735 Compare August 2, 2026 16:50
@mrhyde
mrhyde merged commit b7317c3 into master Aug 2, 2026
6 of 7 checks passed
@mrhyde
mrhyde deleted the chore/align-with-template branch August 2, 2026 19:53
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