graphql-jit
webextensions
Our great sponsors
graphql-jit | webextensions | |
---|---|---|
10 | 36 | |
1,024 | 557 | |
0.3% | 1.4% | |
6.7 | 8.1 | |
28 days ago | 6 days ago | |
TypeScript | Bikeshed | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
graphql-jit
-
How much overhead does nodejs graphql have?...
In the end like all performance questions you'll have to measure it. Persisted queries, and even more extreme approaches, like a GraphQL JIT (https://github.com/zalando-incubator/graphql-jit) can remove a lot of the overhead.
-
PSA don't use Datadog agent in a GraphQL project
We faced something similar. To improve GraphQL performance, we use graphql-jit. We turned off all other tracing that datadog turns on by default. Then, we then wrote a custom tracer to connect graphql-jit to dd-trace. Hopefully this same pattern works for you!
-
Hacker News top posts: May 19, 2022
GraphQL JIT – GraphQL execution using a JIT compiler\ (0 comments)
-
GraphQL JIT – GraphQL execution using a JIT compiler
https://github.com/zalando-incubator/graphql-jit#compile-a-q...
so I guess the difference is instead of having totally generic functions that parse the query every time, instead you can call a factory function up front to get a specialised function for a particular query
and V8 JIT can make that faster
-
Manifest v3 in Firefox: Recap and Next Steps
JS has always been special & excellent because it allows multiphase programming. That one coild just add more code has been unique versus the world of statuc languages, where maybe youcd have some tool to generate stubs for Thrift or gRPC, then compule that in to your program. Which works ok, if and only if you know ahead of time what schemas you might need. Im these cases, you have to give up on stub code & start using more interprtted systems.
The advantages in js have been colossal, often an easy order of magnitude win to compile selectors & queries & other fast inner loop bits into jit compiled code versus having userland interpretters. Some of thd rete engines enjoy this. Just today there's graphql-jit. https://github.com/zalando-incubator/graphql-jit/blob/main/s...
Everything you say is full of doubt & scorn & skepticism. I just cant imagine living im such a world where each system had to know fully well ahead of time each type of data it might want to interact with, might have to have that precompiled & baked in. Thatcs a shitty miserable world that looks like the hell JS plucked us out of, by being a flexible, dynamic language that could load in routines & change it's behavior over time. Screw that dark hell world.
-
Introducing Envelop - The GraphQL Plugin System
By using useParserCache we make sure to parse every unique operation only once. By using useValidationCache we make sure to validate every unique operation only once. By using useGraphQLJit we replace the default execute function with a just-in-time implementation.
-
GraphQL - Diving Deep
One thing to understand is that, if you are using Node.js graphql-js would typically be the underlying implementation of all libraries and ultimately everything would get converted to JS/TS objects typically an AST ultimately making all these as abstractions on top of the existing way to define schemas. Note that the implementation can differ a bit in other languages or even within Node.js if you are using other ways of implementation like graphql-jit
-
Introducing Envelop: The GraphQL Plugin System
Could you provide more context? the GraphQLJit plugin is a lightweight wrapper around graphql-jit. Could you share your previous datadog/graphql setup? Would love to dig in and find a proper solution!
-
Benzene: Fast, minimal, agnostic GraphQL Libraries
Customizable runtime. Use custom GraphQL implementation such as graphql-jit or rolling our own for performance and cutting-edge features.
webextensions
-
Chrome's next weapon in the War on Ad Blockers: Slower extension updates
I've edited my comment to also include a link to the Chrome docs, but that FAQ entry also has the link to an issue in the webextensions repository indicating it's a limitation of MV3: https://github.com/w3c/webextensions/issues/112
-
There are no strings on me
Google outlawing dynamic code in Web Extensions/mv3 is a travesty of high order. There's no place I want to be able to be more alive than my agents. Yet my agents must all be dead. For shame, ye villains.
https://github.com/w3c/webextensions/issues/139
This post definitely was quite a technical explanation. The opening framing, to me, means the world.
-
Chrome Users Beware: Manifest V3 Is Deceitful and Threatening – EFF
The other big change of mv3 that gets no coverage but which is dear to me is that mv3 outlaws any kind of dynamic code. The whole app has to be statically defined. This makes it much easier to know what's running, since an extension can no longer go pull in extra code, but it greatly reduces what you can do as an extension too. Extensions have to have all behaviors predefined. I can't dial home & load my behaviors. Here's the issue, https://github.com/w3c/webextensions/issues/139
For a while it meant that userscripts didn't have any way to run. So Google introduced a new API for user scripting. But those extensions only run in "developer" mode. I'm guessing that means when devtools are open?
I agree a lot with your premise. It sure seems like Google is targeting everyone with these changes, but that better real affordances & escape hatches need to be builtin to not maim the lives of power users. It took a long long time to come up with a userscript solution, and it seems like an awful doesnt-work-for-me workaround (I use userscripts not to dev but to modify everyday experiences). Chrome just hasn't been taking their obligation to user agency seriously.
-
Firefox users may import Chrome extensions now
> the extension APIs are standardised enough that this is actually possible a lot of the time
A bit off topic, but as a co-chair of the WebExtensions Community Group[1] (WECG) I'm a bit touchy about the calling WebExtensions "standardized." A few years back the Browser Extensions Community Group[2] created a spec for WebExtensions, but it never reached a state that we'd normally refer to as a web standard. (Technically W3C community groups can only produce "Reports" and these documents are not on the standards track.[3])
FWIW, I'm very bullish about specifying and (hopefully) standardizing the WebExtensions platform. I'm especially excited about having a good chunk of dedicated time to sit with browser folks at TPAC 2023[4] and try to work out some open questions about where we're going and how we're going to get there.
-
uBlock Origin Lite now available on Firefox
While I was trying to find out what Firefox's limits are I came across this interesting issue on the W3C's webextensions repo: https://github.com/w3c/webextensions/issues/319
4 days ago the Chromium developers proposed upping the limit for certain types of declarativeNetRequest rules based on data AdGuard provided on real world rule lists.
-
Google's trying to DRM the internet, and we have to make sure they fail
Manifest v3 is used for Chrome's extensions system. The proposal appears to limit what extensions have access to, and what they can do in Chrome. It is proposed as a W3C standard by Google. It is being tracked at the W3C at https://github.com/w3c/webextensions/issues/44.
-
Manifest V2 Chrome Extension Phaseout Delayed Until 2024
Google is not even close to finishing MV3: "On the userScripts API, the proposal has been merged into the WECG but the engineering work has not started yet." https://github.com/w3c/webextensions/blob/f8f430f1904c2a6fa8...
MV2 is sticking around until at least 2024.
-
Here’s what’s going on in the world of extensions
Some, but not all, limitations are highlighted in this thread: https://github.com/w3c/webextensions/issues/72
- Firefox 109.0 released
-
For your next side project, make a browser extension
Somewhat tangentially, I've been pushing for a popup/overlay API that allows to specify the position and size, and doesn't require any origin permissions.
What are some alternatives?
apollo-server - 🌍 Spec-compliant and production ready JavaScript GraphQL server that lets you develop in a schema-first way. Built for Express, Connect, Hapi, Koa, and more.
AdNauseam - AdNauseam: Fight back against advertising surveillance
graphql-helix - A highly evolved GraphQL HTTP Server 🧬
h264ify - A Chrome extension that makes YouTube stream H.264 videos instead of VP8/VP9 videos
TypeGraphQL - Create GraphQL schema and resolvers with TypeScript, using classes and decorators!
nyxt - Nyxt - the hacker's browser.
nestjs-graphql - GraphQL (TypeScript) module for Nest framework (node.js) 🍷
SingleFile-MV3 - SingleFile version compatible with Manifest V3. The future, right now!
graphql-js - A reference implementation of GraphQL for JavaScript
obelisk - Go package and CLI tool for saving web page as single HTML file
envelop - Envelop is a lightweight library allowing developers to easily develop, share, collaborate and extend their GraphQL execution layer. Envelop is the missing GraphQL plugin system.
AdGuardForSafari - AdGuard for Safari app extension