
Research
Security News
Lazarus Strikes npm Again with New Wave of Malicious Packages
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
@teamstarter/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.
We found that @teamstarter/graphql-sequelize-generator demonstrated a healthy version release cadence and project activity because the last version was released less than 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
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.
Security News
Opengrep continues building momentum with the alpha release of its Playground tool, demonstrating the project's rapid evolution just two months after its initial launch.