@cdmbase/graphql-shield
GraphQL Server permissions as another layer of abstraction!
A published fork of graphql-shield maintained at
reboxjs/graphql-shield . It exists to ship fixes that have
landed on upstream master but have not been released to npm - starting with the removal of the
deprecated util.isUndefined call (upstream #1552 ),
which crashes RuleChain/RuleRace on Node runtimes where that API no longer exists.
The API is identical to upstream; only the package name differs.
Installation
npm install @cdmbase/graphql-shield
Usage
import { shield, rule, and } from '@cdmbase/graphql-shield'
const isAuthenticated = rule()((parent, args, ctx) => ctx.user !== null)
const permissions = shield({
Query: {
me: isAuthenticated,
},
})
If you are migrating from upstream, changing the import specifier is the only step:
- import { shield } from 'graphql-shield'
+ import { shield } from '@cdmbase/graphql-shield'
Documentation
Upstream documentation applies as-is: the-guild.dev/graphql/shield .
License
MIT @ Matic Zavadlal
关于 @cdmbase/graphql-shield 的常见问题@cdmbase/graphql-shield 是什么? GraphQL Server permissions as another layer of abstraction!
如何安装 @cdmbase/graphql-shield? 在项目目录运行 npm install @cdmbase/graphql-shield,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:graphql(^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0)、graphql-middleware(^2.0.0 || ^3.0.0 || ^4.0.0 || ^6.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。
@cdmbase/graphql-shield 支持 TypeScript 吗? 支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。
@cdmbase/graphql-shield 支持 ESM 还是 CommonJS? 同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。
@cdmbase/graphql-shield 可以商用吗? @cdmbase/graphql-shield 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。
@cdmbase/graphql-shield 的下载量有多少? 根据 npm 官方下载统计,@cdmbase/graphql-shield 在 2026/10/10 – 2026/11/08 这 30 天内被下载 1,917 次,日均约 64 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。
@cdmbase/graphql-shield 还在维护吗? 最新版本 7.6.6 发布于 2026/08/29(2 个月前);至今共发布 1 个版本,其中过去 12 个月发布了 1 个;首次发布于 2026/08/29。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。