Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/notadd/notadd-cli
a simple tool to generate graphql for @nestjs/graphql
https://github.com/notadd/notadd-cli
cli graphql grpc nest nestcli nestjs nodejs typescript
Last synced: 11 days ago
JSON representation
a simple tool to generate graphql for @nestjs/graphql
- Host: GitHub
- URL: https://github.com/notadd/notadd-cli
- Owner: notadd
- Created: 2019-09-27T03:24:53.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-10-16T06:50:50.000Z (about 2 months ago)
- Last Synced: 2024-11-06T23:40:42.307Z (about 1 month ago)
- Topics: cli, graphql, grpc, nest, nestcli, nestjs, nodejs, typescript
- Language: TypeScript
- Homepage:
- Size: 469 KB
- Stars: 6
- Watchers: 4
- Forks: 1
- Open Issues: 48
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-nestjs - notadd-cli - Typescript 生成 Graphql 。 (资源 / 集成)
README
[English](README_EN.md) | 简体中文
> 支持nestjs/nger## 功能特点
- 纯 Typescript 生成,无需维护 graphql 文件
- 无依赖## TODO
- [ ] 支持同时生成 proto 文件(grpc 用)
- [x] 支持 webapck 打包发布## @notadd/cli
> 一个轻量级的生成.graphql文件的工具##### 安装
```sh
npm i -g @notadd/cli
```##### build nodejs project
生产模式
```
notadd build --prod
```
开发模式
```
notadd build --dev
```##### use
```ts
notadd graphql
-i main.ts // input file default `main.ts`
-o notadd.graphql // output file default `notadd.graphql`
```##### demo.ts and run `notadd graphql`
```ts
import { Resolver, Query } from "@nestjs/graphql";
export interface List {
data: T[];
currentPage: number;
pageSize: number;
total: number;
}
export interface User {
username: string;
}
export interface Article {
title: string;
}
@Resolver()
export class DemoResolver {
@Query()
getUser(): List {
return {} as any;
}
@Query()
getArticles(): List {
return {} as any;
}
}
``````graphql
type User {
username: String!
}type UserList {
data: [User]!
currentPage: Int!
pageSize: Int!
total: Int!
}type Article {
title: String!
}type ArticleList {
data: [Article]!
currentPage: Int!
pageSize: Int!
total: Int!
}type Query {
getUser: UserList!
getArticles: ArticleList!
}
```