
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
apollo-sentry-helper
Advanced tools
Capture your Apollo GraphQL exceptions into Sentry, in a meaningful way.
⚠️ Capture your Apollo GraphQL exceptions into Sentry, in a meaningful way.
This package provides a new link to connect Sentry with Apollo Client, in order to automatically report GraphQL errors to Sentry in a meaningful way.
⚠️ Attention! Currently, there are two tags on the NPM package: latest
and next
.
latest
: Uses apollo-link-error
, is compatible with Apollo Client 2.next
: Uses @apollo/client/link/error
, is compatible with Apollo Client 3.# With npm
npm install apollo-sentry-helper@next
# With yarn
yarn add apollo-sentry-helper@next
# With npm
npm install apollo-sentry-helper
# With yarn
yarn add apollo-sentry-helper
Initialize Sentry as you would normally. Then, build the error link with your settings and add it to your Apollo Client's link
array:
import {
ApolloLink,
ApolloClient,
InMemoryCache,
createHttpLink,
} from "@apollo/client";
import { buildSentryErrorLink } from "apollo-sentry-helper";
const httpLink = createHttpLink({ uri: "API_URI_HERE" });
const sentryErrorLink = buildSentryErrorLink();
const link = ApolloLink.from([
sentryErrorLink, // This needs to be before your httpLink!
// Other links here
httpLink,
]);
const client = new ApolloClient({
cache: new InMemoryCache(),
link,
});
You can customize what is going to be included in the error report, and which errors should be reported.
const sentryErrorLink = buildSentryErrorLink({
// Defines if the operation body is going to be included in the error report.
// Defaults to true.
includeBody: true,
// Defines if the response is going to be included in the error report.
// Defaults to true.
includeResponse: true,
// Defines if variables are going to be included in the error report.
// Defaults to true.
includeVariables: true,
// Allows the user to filter errors that should be included in the error report.
// By default errors will only be reported if there was a network error, or if
// the operation hasn't returned any data, meaning that the server processed the request,
// but it was invalid. You can override this behavior by setting the "filter" option.
filter: (error: ErrorResponse) => boolean,
});
Please note that Sentry sets some limits to how big events can be. For instance, events greater than 200KiB are immediately dropped (pre decompression). More information on that here.
Furthermore, much of the data you are sending to Sentry can include (sensitive) personal information. This might lead you to violating the terms of the GDPR, so you'll need to be careful here.
Pull requests are welcome! If you have any feedback, issue or suggestion, feel free to open a new issue so we can talk about it 💬.
MIT © Jungsoft
FAQs
Capture your Apollo GraphQL exceptions into Sentry, in a meaningful way.
The npm package apollo-sentry-helper receives a total of 166 weekly downloads. As such, apollo-sentry-helper popularity was classified as not popular.
We found that apollo-sentry-helper demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.