Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
@hdsydsvenskan/graphql-partials
Advanced tools
Experimental transformer implementing support for partials in GraphQL Schemas
Experimental transformer implementing support for partials in GraphQL Schemas.
This module's sole purpose is as an experimental implementation of the concepts brought up in graphql/graphql-js#703. It's not intended as a long term solution by itself, but as an experiment with a possible future extension of the GraphQL Schema itself.
npm install -g @hdsydsvenskan/graphql-partials
Then run it to output the transformed schema:
graphql-partials <path-to-schema-with-partials.graphql>
npm install --save-dev @hdsydsvenskan/graphql-partials
Then:
"scripts": {
"build": "graphql-partials schema-partials.graphql > schema.graphql"
}
npm install --save @hdsydsvenskan/graphql-partials
const renderSchemaWithPartials = require('@hdsydsvenskan/graphql-partials');
const schemaWithoutPartials = renderSchemaWithPartials('partial abc { ... } type xyz using abc { ... }');
This transformer provides a way to import field definitions from a defined partial
to an interface
and/or type
, thus complementing interface
:s by providing a mechanism to reduce repition of fields while not messing with any existing semantics.
This model is similar to what eg. PHP does with traits, but as GraphQL Schema's interface
and type
are more similar than interface
and class
in PHP, the using
keyword here applies to both interface
and type
, allowing field definitions to be imported into both of them.
partial
This transformer introduced a new experimental entity with the name partial
. This entity defines a set of fields, similar to what an interface
does, and it's sole purpose is to be referenced by the new using
keyword.
using
Similar to how a type
can reference an interface
using the implements
keyword both a type
and an interface
can reference a partial
through the experimental keyword using
that this transformer introduces. Like implements
it accepts a comma separated list if one wants to apply multiple partials to the same definition.
The transformer makes no checks whether multiple partials conflicts with each other or whether any partial and the definition of the interface/type itself conflicts with each other. The only check it makes is whether a partial of the stated name actually exists and then it prepends the field definitions of that partial to the field definitions of the interface/type itself.
FAQs
Experimental transformer implementing support for partials in GraphQL Schemas
We found that @hdsydsvenskan/graphql-partials demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 12 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.