graphql-shield icon indicating copy to clipboard operation
graphql-shield copied to clipboard

Is this project still maintained?

Open marcin-szczot opened this issue 1 year ago • 4 comments

Explain your question

  • [x] I have checked existing issue and found none that could answer my question.

Hi, as the title says, is this project still maintained? I love the concept and was looking to use this in my project and wanted to check if it is still actively maintained.

Thanks

marcin-szczot avatar Apr 12 '24 07:04 marcin-szczot

Is it still part of the guild?

TheMikeyRoss avatar Apr 21 '24 14:04 TheMikeyRoss

is it still alive?

JasonShin avatar Jul 08 '24 06:07 JasonShin

Bueller?

bgronek avatar Oct 03 '24 23:10 bgronek

Looks like the Guild has some recommendations for replacing this no-longer-maintained plugin: https://the-guild.dev/graphql/yoga-server/docs/migration/migration-from-yoga-v1#replacing-graphql-shield

If you are using graphql-shield you might wanna have a look and see whether the following plugins might replace it:

@envelop/generic-auth: authentication and simple (directive-based) authorization on field level @envelop/operation-field-permissions: granular field permission access based on schema coordinates GraphQL AuthZ: a modern and flexible GraphQL authorization layer

peterklingelhofer avatar Oct 14 '24 17:10 peterklingelhofer

fwiw, the 3 packages suggested didn't really suit our use case. I love graphql-shield's API for rules. I didn't like how it wrapped every field in a promise along with a few other performance gotchas like the middleware. I did like resolver-composition but the rule API was lackluster. I combined the two awhile back & it has worked well for us. Add rules to a permission map, and then pass that into a composeResolvers function that only wraps the resolvers it needs to. Hope this helps as a good jumping off point.

https://github.com/ParabolInc/parabol/blob/adf5fdb394a19da10d8270e05784b3648c75bb17/packages/server/graphql/composeResolvers.ts

mattkrick avatar May 13 '25 23:05 mattkrick