Comments (6)
Thanks! We'll check it out! Definitely want smaller.. :)
from airbrake-js.
Thank you so much @destari
from airbrake-js.
I agree with this 100%
I'd be fully on board with a modern browser only version I think a lions share of browsers now are all 'green' browsers.
My total app is only 57kb gzipped adding airbrake takes it to 70kb. That's just not worth it.
from airbrake-js.
But I see this pull issue has been opened since Sept 2021 so I guess no one cares?
from airbrake-js.
I pulled this down and compiled it and I get about 22k gzipped
I then removed babel and instead set the tsconfig target to ES2017
I also removed the promise polyfills and the fetch polyfill
I now get 11k gzipped
That's still pretty big for what it does but MUCH better. Take a look at caniuse.com. you don't need the polyfills anymore
You can lose even more weight if you get rid of the error stack parser and come up with something lighter. I suspect much of that parser is stuck in the IE11 view of the world.
If you still think you need to support every browser ever, perhaps you can offer airbrake-modern or something?
Another way to make this lighter is to move the parsing to your backend. We did this at my company for phone validation. The client side library was too big so we just spun up a node endpoint with the SAME CODE but now it's not on the client. I suspect you can do the same thing by having your API endpoint take in the error stack as an object and you handle the parsing on your end.
Code that ends up in everyones payload should be SMALL.....
from airbrake-js.
So I got tired of waiting and just rebuilt it myself:
https://github.com/dparish/airbrake-js-lite
or:
npm install airbrake-js-lite
11k gz'd
I had to add in quite a few ts-ignore's to get it to compile and still need to put the tests back in.
It got this small by removing the polyfill's, getting rid of cross-fetch and targeting es2019.
I have not tested it thoroughly, but if you see a problem feel free to open a pr and I'll take a look.
from airbrake-js.
Related Issues (20)
- Params not passed on notify method with React ErrorBoundary HOT 1
- This dependency was not found: * async_hooks in ./node_modules/@airbrake/node/esm/scope.js
- Object Not Found Matching Id:3
- Github security alerts
- Cross-Fetch dep is trying to use XHR in service-worker context. HOT 2
- [Documentation] Version 1 to Version 2 Migration Guide
- Unable to post sourcemaps to /v4/projects/:projectId/sourcemaps HOT 2
- Too aggressive error grouping
- No backtrace on error HOT 3
- Uncaught ReferenceError: Notifier is not defined airbrake angularjs HOT 1
- security update: cross-fetch HOT 7
- Airbrake not globally available when using webpacker
- Using blocklist with "name" filters out notifier name HOT 2
- error-stack-parser versions < 2.1.4 causes stack parsing to fail with `ErrorStackParser.parse is not a function` error HOT 2
- Simplify "notify" for error reporting
- Test suite shouldn't make network calls
- AbortError: The user aborted a request.
- Use of instrumentation.fetch for Performance Statistics HOT 1
- Rejected error with Cybersource Flex Microform JS HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from airbrake-js.