Skip to content

rphansen91/ts-mongo-codegen

TypeScript Mongo Codegen

npm downloads Travis Coverage Status Dev Dependencies Known Vulnerabilities styled with prettier

This project generates types for a seamless integration between GraphQL and MongoDB. Generate All CRUD and Pagination Operations (10 minutes or less)

Usage

yarn add @elevatejs/ts-mongo-codegen

./codegen.json

{
  "schema": "http://localhost:8082",
  "generates": {
    "./src/gql/types.ts": {
      "plugins": [
        "typescript",
        "typescript-operations",
        "typescript-resolvers",
        "ts-mongo-codegen",
      ]
    }
  }
}

./gql/books.schema

type Book @collection(name: "books") {
  id: ObjectId
  title: String
  author: String
}

./src/stores/mongo.ts

import { connect } from 'ts-mongo-codegen'
import { mongoFactory } from '../gql/types'

export async function mongoStore(url: string, name: string) {
  const db = (await connect(url)).db(name)
  const datastore = mongoFactory(db)
  // datastore.books is a mongo collection
  return datastore
}

Upcoming Release

  • Augment your schema with CRUD operations for your collections.
  • Generate a changelog to keep a running list of changes to a document
  • Generate subscriptions

Turns This

Example Schema

Into This

Into Tis

About

Codegeneration Tools to work with Typescript Mongo and GraphQL

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors