Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V3 #1487

Merged
merged 61 commits into from
Oct 12, 2022
Merged

V3 #1487

merged 61 commits into from
Oct 12, 2022

Conversation

saihaj
Copy link
Collaborator

@saihaj saihaj commented Aug 17, 2022

  • Change envelop function structure to require passing all functions
  • Use TS structural typings for functions signatures
  • Remove graphql import from core and drop as peerDependencies
  • Ensure we have eslint rule to prevent imports from graphql
  • Run tests with the fork
  • Remove graphql imports in plugins where possible - https://www.notion.so/theguildoss/Envelop-Plugins-Engine-Agnostic-5e055afb91284365901bac973d353f95
  • Remove GraphQL matrix from CI pipeline
  • Major breaking change changeset
  • Update docs
  • versioned docs with v3 default

Goal is to have this kind of migration path:

Before

const getEnveloped = envelop([ ... ])

After

import { parse, validate, execute, subscribe } from 'graphql';

const getEnveloped = envelop({ parse, validate, execute, subscribe, plugins: [ ... ] })

@changeset-bot
Copy link

changeset-bot bot commented Aug 17, 2022

🦋 Changeset detected

Latest commit: 78febf3

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 35 packages
Name Type
@envelop/core Major
@envelop/on-resolve Major
@envelop/sentry Major
@envelop/testing Major
@envelop/apollo-datasources Major
@envelop/apollo-federation Major
@envelop/apollo-server-errors Major
@envelop/apollo-tracing Major
@envelop/auth0 Major
@envelop/dataloader Major
@envelop/depth-limit Major
@envelop/disable-introspection Major
@envelop/execute-subscription-event Major
@envelop/extended-validation Major
@envelop/filter-operation-type Major
@envelop/fragment-arguments Major
@envelop/generic-auth Major
@envelop/graphql-jit Major
@envelop/graphql-middleware Major
@envelop/graphql-modules Major
@envelop/immediate-introspection Major
@envelop/live-query Major
@envelop/newrelic Major
@envelop/opentelemetry Major
@envelop/operation-field-permissions Major
@envelop/parser-cache Major
@envelop/persisted-operations Major
@envelop/preload-assets Major
@envelop/prometheus Major
@envelop/rate-limiter Major
@envelop/resource-limitations Major
@envelop/response-cache Major
@envelop/statsd Major
@envelop/validation-cache Major
@envelop/response-cache-redis Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel
Copy link

vercel bot commented Aug 17, 2022

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated
envelop ✅ Ready (Inspect) Visit Preview Sep 28, 2022 at 2:26PM (UTC)

@theguild-bot
Copy link
Collaborator

theguild-bot commented Aug 17, 2022

❌ Benchmark Failed

Failed assertions detected: some GraphQL operations included in the loadtest are failing.

If the performance regression is expected, please increase the failing threshold.

     ✓ no_errors
     ✗ expected_result
      ↳  0% — ✓ 0 / ✗ 399201

     checks.............................................: 50.00%  ✓ 399201      ✗ 399201
     data_received......................................: 127 MB  849 kB/s
     data_sent..........................................: 173 MB  1.2 MB/s
     envelop_total......................................: avg=0s      min=0s       med=0s     max=0s       p(90)=0s     p(95)=0s    
     ✓ { mode:envelop-cache-jit }.......................: avg=0s      min=0s       med=0s     max=0s       p(90)=0s     p(95)=0s    
     ✓ { mode:envelop-just-cache }......................: avg=0s      min=0s       med=0s     max=0s       p(90)=0s     p(95)=0s    
     ✓ { mode:graphql-js }..............................: avg=0s      min=0s       med=0s     max=0s       p(90)=0s     p(95)=0s    
     ✓ { mode:prom-tracing }............................: avg=0s      min=0s       med=0s     max=0s       p(90)=0s     p(95)=0s    
     http_req_blocked...................................: avg=1.83µs  min=500ns    med=1.3µs  max=10.78ms  p(90)=1.6µs  p(95)=1.9µs 
     http_req_connecting................................: avg=85ns    min=0s       med=0s     max=1.41ms   p(90)=0s     p(95)=0s    
     http_req_duration..................................: avg=2.65ms  min=116.9µs  med=2.73ms max=182.39ms p(90)=3.96ms p(95)=5.19ms
     ✓ { mode:envelop-cache-and-no-internal-tracing }...: avg=2.5ms   min=117.7µs  med=2.44ms max=32.04ms  p(90)=3.91ms p(95)=5.03ms
     ✓ { mode:envelop-cache-jit }.......................: avg=2.57ms  min=121.4µs  med=2.57ms max=182.39ms p(90)=3.77ms p(95)=4.83ms
     ✓ { mode:envelop-just-cache }......................: avg=2.59ms  min=116.9µs  med=2.6ms  max=45ms     p(90)=3.87ms p(95)=5ms   
     ✓ { mode:graphql-js }..............................: avg=3.05ms  min=140.91µs med=3.29ms max=34.56ms  p(90)=4.66ms p(95)=6.13ms
     ✓ { mode:prom-tracing }............................: avg=2.53ms  min=118.5µs  med=2.63ms max=37.02ms  p(90)=3.69ms p(95)=4.85ms
     http_req_failed....................................: 100.00% ✓ 399201      ✗ 0     
     http_req_receiving.................................: avg=27.16µs min=7.2µs    med=17.5µs max=19.69ms  p(90)=22.8µs p(95)=27.2µs
     http_req_sending...................................: avg=16.06µs min=3.8µs    med=7.2µs  max=20.1ms   p(90)=9.4µs  p(95)=13.3µs
     http_req_tls_handshaking...........................: avg=0s      min=0s       med=0s     max=0s       p(90)=0s     p(95)=0s    
     http_req_waiting...................................: avg=2.6ms   min=93.5µs   med=2.69ms max=182.34ms p(90)=3.91ms p(95)=5.1ms 
     http_reqs..........................................: 399201  2660.964647/s
     iteration_duration.................................: avg=3.75ms  min=208.71µs med=2.98ms max=933.43ms p(90)=4.31ms p(95)=5.75ms
     iterations.........................................: 399201  2660.964647/s
     vus................................................: 10      min=10        max=20  
     vus_max............................................: 20      min=20        max=20  

@saihaj saihaj marked this pull request as ready for review September 21, 2022 14:21
saihaj and others added 2 commits September 28, 2022 10:20
* feat: use engine plugin

* remove assertion

* make useEngine plugin the only way to pass engine functions (#1536)

* make useEngine plugin the only way to pass engine fns

* update types

* update docs

* Update packages/plugins/apollo-datasources/README.md

Co-authored-by: Arda TANRIKULU <ardatanrikulu@gmail.com>

* prettier:

Co-authored-by: Arda TANRIKULU <ardatanrikulu@gmail.com>

Co-authored-by: Arda TANRIKULU <ardatanrikulu@gmail.com>
@saihaj saihaj requested a review from charlypoly October 10, 2022 15:52
@github-actions
Copy link
Contributor

github-actions bot commented Oct 10, 2022

🚀 Website Preview

The latest changes to the website are available as preview in: https://f5919801.envelop.pages.dev

@saihaj saihaj merged commit dc1e24b into main Oct 12, 2022
@saihaj saihaj deleted the saihaj/engine-agnostic-non-breaking branch October 12, 2022 13:59
@saihaj saihaj mentioned this pull request Oct 12, 2022
11 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants