Skip to content

Vendor Errgo and remove promise-utils - #41

Merged
andreogle merged 3 commits into
andreogle:mainfrom
saviro-orin:refactor/vendor-errgo
Aug 10, 2026
Merged

Vendor Errgo and remove promise-utils#41
andreogle merged 3 commits into
andreogle:mainfrom
saviro-orin:refactor/vendor-errgo

Conversation

@saviro-orin

@saviro-orin saviro-orin commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Summary

  • vendor andreogle/errgo src/index.ts byte-for-byte at commit aaa1d5153a270cde4aa808369bd486ddbe263a38
  • migrate application startup, i18n initialization, client page loading, browser locale synchronization, accessibility auditing, and SSR rendering to Errgo's [error, value] tuples
  • await SSR locale changes before rendering instead of racing them in the background
  • remove @api3/promise-utils from package.json, the lockfile, and the installed dependency graph
  • add zero-dependency Node contract tests and run them through mix lint
  • update the template's async-error-handling guidance and provenance

Verification

  • mise exec -- npm run test:unit --prefix assets — 2 passed
  • mise exec -- npm run lint --prefix assets — 69 files clean
  • mise exec -- npm run typecheck --prefix assets — app and E2E TypeScript passed
  • mise exec -- mix precommit — 222 tests/doctests passed; Credo, i18n, routes, docs passed
  • mise exec -- mix assets.build — browser and SSR bundles built
  • vendored source SHA-256 matches upstream copy: f051197fc22e1c6a3f45d2ab05f70f39d00b6fa79fac31a698c678da768da5d9
  • npm ls @api3/promise-utils --depth=0 — empty

Scope

CommonJS build-tool process-boundary catches remain intentionally unchanged because importing the TypeScript utility there would require a runtime transpiler or duplicate implementation. Application TypeScript raw catches are confined to the vendored Errgo implementation.

@saviro-orin
saviro-orin requested a review from andreogle as a code owner August 10, 2026 21:40
@andreogle
andreogle merged commit 3a9535d into andreogle:main Aug 10, 2026
5 checks passed
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.

2 participants