Skip to content

v0.2.0

Choose a tag to compare

@hasan-muzak hasan-muzak released this 08 Oct 07:38
· 2 commits to main since this release
  • @fixwire/nextjs, new: Fixwire for Next.js 15.3 and newer from one import, which bundlers resolve to its Node.js, edge or browser build. init() in instrumentation.ts and instrumentation-client.ts reads FIXWIRE_* and NEXT_PUBLIC_FIXWIRE_* settings and traces page loads when tracing is on; captureRequestError reports server errors with the route pattern (on the edge runtime too, delivered before it returns); onRouterTransitionStart leaves navigation breadcrumbs; useCaptureException reports what error.tsx and global-error.tsx show, except server errors already reported; withFixwireConfig turns on browser source maps.
  • @fixwire/vue, new: init({ app, router }) reports the errors Vue catches (renders, setup, watchers, hooks, event handlers) with the component, its parents and the hook, keeping the app's own errorHandler; vue-router's routes (4 or 5) name page loads, navigations and the errors after them, and the router's errors are reported. attachErrorHandler(app) and browserTracingIntegration({ router }) do each part alone.
  • @fixwire/nuxt, new: a Nuxt module (Nuxt 3.13 and newer) that sets up the browser and the server from fixwire in nuxt.config (runtime config, so NUXT_PUBLIC_FIXWIRE_DSN sets the DSN when the server starts) and the optional fixwire.client.config and fixwire.server.config files. Vue's errors come from Nuxt's hooks, so Nuxt's error page shows when it would have; server rendering's and Nitro's errors are reported once each, 4xx not; page loads, navigations, rendered pages and API requests are named after their routes; with client source maps on, the browser build is stamped with debug ids before Nitro records the files' sizes.
  • @fixwire/sveltekit, new: one import for SvelteKit 2 and 3, resolved to its server or browser build. handleErrorWithFixwire() reports unexpected errors (SvelteKit 3's kind: "unknown", SvelteKit 2's 5xx) named after their route and returns your handler's App.Error; fixwireHandle() names requests after their route and puts the route and the request's trace in a rendered page's head, so the browser names its page load and continues the trace; trackNavigation names navigations; fixwireSvelteKit() from @fixwire/sveltekit/vite stamps the client build with debug ids before adapters list and compress it (a chunk whose bundler wrote one keeps it and gets the snippet). The server reads PUBLIC_FIXWIRE_DSN too.
  • @fixwire/angular, new: for Angular 20 and newer, without decorators. provideFixwire() provides an ErrorHandler that reports what Angular catches (then logs as Angular's does) and @boundary blocks' errors as handled, naming their component by selector; HttpClient's HttpErrorResponse arrives named as such with the request's status and URL and without the response body, however it was caught; the Router's routes name pages, navigations and errors, and failed navigations are reported. createErrorHandler() for apps that provide their own.
  • @fixwire/core: the EventProcessor type is exported, as Scope.addEventProcessor takes one.
  • @fixwire/vue: captureVueError reports an error Vue caught for hosts that hand it over another way, and @fixwire/vue/shared has what needs no browser SDK, for server rendering.
  • @fixwire/core: setRouteName(route) names the request's or page's segment and the errors after it after the route the framework matched.
  • An example app per framework, made with the framework's own scaffolding, built for production and driven in Chromium by its test: Next.js, Vue, Nuxt, SvelteKit and Angular. FIXWIRE_CLI runs them with a fixwire-cli built from source.