graphql-jit VS webextensions

Compare graphql-jit vs webextensions and see what are their differences.

graphql-jit

GraphQL execution using a JIT compiler (by zalando-incubator)

webextensions

Charter and administrivia for the WebExtensions Community Group (WECG) (by w3c)
Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
graphql-jit webextensions
10 36
1,026 559
0.5% 1.8%
6.7 8.1
about 1 month ago 5 days ago
TypeScript Bikeshed
GNU General Public License v3.0 or later GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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

Posts with mentions or reviews of graphql-jit. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-11-15.
  • How much overhead does nodejs graphql have?...
    4 projects | /r/graphql | 15 Nov 2022
    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
    3 projects | /r/node | 22 Jul 2022
    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
    2 projects | /r/hackerdigest | 19 May 2022
    GraphQL JIT – GraphQL execution using a JIT compiler\ (0 comments)
  • GraphQL JIT – GraphQL execution using a JIT compiler
    3 projects | news.ycombinator.com | 19 May 2022
    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
    4 projects | news.ycombinator.com | 18 May 2022
    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
    12 projects | dev.to | 29 Jul 2021
    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
    47 projects | dev.to | 29 Jul 2021
    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
    3 projects | /r/graphql | 22 Jul 2021
    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
    2 projects | /r/graphql | 28 May 2021
    Customizable runtime. Use custom GraphQL implementation such as graphql-jit or rolling our own for performance and cutting-edge features.

webextensions

Posts with mentions or reviews of webextensions. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-01.
  • Chrome's next weapon in the War on Ad Blockers: Slower extension updates
    7 projects | news.ycombinator.com | 1 Dec 2023
    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
    2 projects | news.ycombinator.com | 25 Nov 2023
    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
    2 projects | news.ycombinator.com | 17 Nov 2023
    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
    2 projects | news.ycombinator.com | 24 Aug 2023
    > 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.

    [1]: https://github.com/w3c/webextensions/

  • uBlock Origin Lite now available on Firefox
    7 projects | news.ycombinator.com | 21 Aug 2023
    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
    1 project | /r/linux | 24 Jul 2023
    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
    2 projects | news.ycombinator.com | 1 Apr 2023
    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
    1 project | /r/firefox | 18 Jan 2023
    Some, but not all, limitations are highlighted in this thread: https://github.com/w3c/webextensions/issues/72
  • Firefox 109.0 released
    2 projects | /r/linux | 17 Jan 2023
  • For your next side project, make a browser extension
    14 projects | news.ycombinator.com | 15 Jan 2023
    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.

    https://github.com/w3c/webextensions/issues/307

What are some alternatives?

When comparing graphql-jit and webextensions you can also consider the following projects:

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