Research
Security News
Threat Actor Exposes Playbook for Exploiting npm to Build Blockchain-Powered Botnets
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
graphql-sequelize-generator
Advanced tools
A set of tools to easily generate a Graphql API from sequelize models.
Graphql-Sequelize-Generator (GSG) is a set of tools that will allow you to easily generate a GraphQL API from your sequelize models.
It's a very good fit for POCs and MVPs, while also scaling pretty well thanks to dataloader-sequelize.
The complete documentation car be found here
The tools provided by this library will allow you to:
Add the lib and the peer dependencies of GraphQL-Sequelize-Generator:
yarn add graphql-sequelize-generator graphql sequelize graphql-sequelize @apollo/server dataloader-sequelize graphql-relay ws
⚠️ Caution: GSG requires Node v9.11.2 or greater as it is using async/await.
If you need to initialize the project, please follow this Sequelize documentation page : Sequelize-Cli and Migrations
Create a file where you will set up your server and paste the following code. We used index.js (at the root of our example project):
// index.js
const { expressMiddleware } = require('@apollo/server/express4')
const express = require('express')
const http = require('http')
const cors = require('cors')
const json = require('body-parser')
const { createContext, EXPECTED_OPTIONS_KEY } = require('dataloader-sequelize')
const setupServer = require('./schema')
const models = require('./models') //Assuming "models" is your import of the Sequelize models folder, initialized by Sequelize-Cli
const createServer = async (options = {}, globalPreCallback = () => null) => {
const app = express()
options = {
spdy: { plain: true },
...options,
}
const httpServer = http.createServer(options, app)
const { server } = setupServer(globalPreCallback, httpServer)
await server.start()
//server.applyMiddleware({ app, path: '/graphql' })
app.use(
'/graphql',
cors(),
json(),
expressMiddleware(server, {
context: async ({ req, connection }) => {
const contextDataloader = createContext(models.sequelize)
// Connection is provided when a webSocket is connected.
if (connection) {
// check connection for metadata
return {
...connection.context,
[EXPECTED_OPTIONS_KEY]: contextDataloader,
}
}
},
})
)
await new Promise((resolve) => {
httpServer.listen(process.env.PORT || 8080, () => {
resolve()
})
console.log(
`🚀 Server ready at http://localhost:${process.env.PORT || 8080}/graphql`
)
})
return httpServer
}
const closeServer = async (server) => {
await Promise.all([new Promise((resolve) => server.close(() => resolve()))])
}
createServer()
You can easily start a project with graphql-sequelize-generator using these boilerplates:
FAQs
A set of tools to easily generate a Graphql API from sequelize models.
The npm package graphql-sequelize-generator receives a total of 29 weekly downloads. As such, graphql-sequelize-generator popularity was classified as not popular.
We found that graphql-sequelize-generator demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 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
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
Security News
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
Security News
Research
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.