正在显示
16 个修改的文件
包含
326 行增加
和
0 行删除
.eslintrc.js
0 → 100644
1 | +module.exports = { | ||
2 | + parser: '@typescript-eslint/parser', | ||
3 | + parserOptions: { | ||
4 | + project: 'tsconfig.json', | ||
5 | + sourceType: 'module', | ||
6 | + }, | ||
7 | + plugins: ['@typescript-eslint/eslint-plugin'], | ||
8 | + extends: [ | ||
9 | + 'plugin:@typescript-eslint/recommended', | ||
10 | + 'prettier/@typescript-eslint', | ||
11 | + 'plugin:prettier/recommended', | ||
12 | + ], | ||
13 | + root: true, | ||
14 | + env: { | ||
15 | + node: true, | ||
16 | + jest: true, | ||
17 | + }, | ||
18 | + ignorePatterns: ['.eslintrc.js'], | ||
19 | + rules: { | ||
20 | + '@typescript-eslint/interface-name-prefix': 'off', | ||
21 | + '@typescript-eslint/explicit-function-return-type': 'off', | ||
22 | + '@typescript-eslint/explicit-module-boundary-types': 'off', | ||
23 | + '@typescript-eslint/no-explicit-any': 'off', | ||
24 | + }, | ||
25 | +}; |
.gitignore
0 → 100644
1 | +# compiled output | ||
2 | +/dist | ||
3 | +/node_modules | ||
4 | + | ||
5 | +# Logs | ||
6 | +logs | ||
7 | +*.log | ||
8 | +npm-debug.log* | ||
9 | +yarn-debug.log* | ||
10 | +yarn-error.log* | ||
11 | +lerna-debug.log* | ||
12 | + | ||
13 | +# OS | ||
14 | +.DS_Store | ||
15 | + | ||
16 | +# Tests | ||
17 | +/coverage | ||
18 | +/.nyc_output | ||
19 | + | ||
20 | +# IDEs and editors | ||
21 | +/.idea | ||
22 | +.project | ||
23 | +.classpath | ||
24 | +.c9/ | ||
25 | +*.launch | ||
26 | +.settings/ | ||
27 | +*.sublime-workspace | ||
28 | + | ||
29 | +# IDE - VSCode | ||
30 | +.vscode/* | ||
31 | +!.vscode/settings.json | ||
32 | +!.vscode/tasks.json | ||
33 | +!.vscode/launch.json | ||
34 | +!.vscode/extensions.json |
.prettierrc
0 → 100644
README.md
0 → 100644
1 | +<p align="center"> | ||
2 | + <a href="http://nestjs.com/" target="blank"><img src="https://nestjs.com/img/logo_text.svg" width="320" alt="Nest Logo" /></a> | ||
3 | +</p> | ||
4 | + | ||
5 | +[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456 | ||
6 | +[circleci-url]: https://circleci.com/gh/nestjs/nest | ||
7 | + | ||
8 | + <p align="center">A progressive <a href="http://nodejs.org" target="_blank">Node.js</a> framework for building efficient and scalable server-side applications.</p> | ||
9 | + <p align="center"> | ||
10 | +<a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/v/@nestjs/core.svg" alt="NPM Version" /></a> | ||
11 | +<a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/l/@nestjs/core.svg" alt="Package License" /></a> | ||
12 | +<a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/dm/@nestjs/common.svg" alt="NPM Downloads" /></a> | ||
13 | +<a href="https://circleci.com/gh/nestjs/nest" target="_blank"><img src="https://img.shields.io/circleci/build/github/nestjs/nest/master" alt="CircleCI" /></a> | ||
14 | +<a href="https://coveralls.io/github/nestjs/nest?branch=master" target="_blank"><img src="https://coveralls.io/repos/github/nestjs/nest/badge.svg?branch=master#9" alt="Coverage" /></a> | ||
15 | +<a href="https://discord.gg/G7Qnnhy" target="_blank"><img src="https://img.shields.io/badge/discord-online-brightgreen.svg" alt="Discord"/></a> | ||
16 | +<a href="https://opencollective.com/nest#backer" target="_blank"><img src="https://opencollective.com/nest/backers/badge.svg" alt="Backers on Open Collective" /></a> | ||
17 | +<a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://opencollective.com/nest/sponsors/badge.svg" alt="Sponsors on Open Collective" /></a> | ||
18 | + <a href="https://paypal.me/kamilmysliwiec" target="_blank"><img src="https://img.shields.io/badge/Donate-PayPal-ff3f59.svg"/></a> | ||
19 | + <a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://img.shields.io/badge/Support%20us-Open%20Collective-41B883.svg" alt="Support us"></a> | ||
20 | + <a href="https://twitter.com/nestframework" target="_blank"><img src="https://img.shields.io/twitter/follow/nestframework.svg?style=social&label=Follow"></a> | ||
21 | +</p> | ||
22 | + <!--[![Backers on Open Collective](https://opencollective.com/nest/backers/badge.svg)](https://opencollective.com/nest#backer) | ||
23 | + [![Sponsors on Open Collective](https://opencollective.com/nest/sponsors/badge.svg)](https://opencollective.com/nest#sponsor)--> | ||
24 | + | ||
25 | +## Description | ||
26 | + | ||
27 | +[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository. | ||
28 | + | ||
29 | +## Installation | ||
30 | + | ||
31 | +```bash | ||
32 | +$ npm install | ||
33 | +``` | ||
34 | + | ||
35 | +## Running the app | ||
36 | + | ||
37 | +```bash | ||
38 | +# development | ||
39 | +$ npm run start | ||
40 | + | ||
41 | +# watch mode | ||
42 | +$ npm run start:dev | ||
43 | + | ||
44 | +# production mode | ||
45 | +$ npm run start:prod | ||
46 | +``` | ||
47 | + | ||
48 | +## Test | ||
49 | + | ||
50 | +```bash | ||
51 | +# unit tests | ||
52 | +$ npm run test | ||
53 | + | ||
54 | +# e2e tests | ||
55 | +$ npm run test:e2e | ||
56 | + | ||
57 | +# test coverage | ||
58 | +$ npm run test:cov | ||
59 | +``` | ||
60 | + | ||
61 | +## Support | ||
62 | + | ||
63 | +Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support). | ||
64 | + | ||
65 | +## Stay in touch | ||
66 | + | ||
67 | +- Author - [Kamil Myśliwiec](https://kamilmysliwiec.com) | ||
68 | +- Website - [https://nestjs.com](https://nestjs.com/) | ||
69 | +- Twitter - [@nestframework](https://twitter.com/nestframework) | ||
70 | + | ||
71 | +## License | ||
72 | + | ||
73 | +Nest is [MIT licensed](LICENSE). |
nest-cli.json
0 → 100644
package-lock.json
0 → 100644
此 diff 太大无法显示。
package.json
0 → 100644
1 | +{ | ||
2 | + "name": "nestjs-graphql", | ||
3 | + "version": "0.0.1", | ||
4 | + "description": "", | ||
5 | + "author": "", | ||
6 | + "private": true, | ||
7 | + "license": "UNLICENSED", | ||
8 | + "scripts": { | ||
9 | + "prebuild": "rimraf dist", | ||
10 | + "build": "nest build", | ||
11 | + "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", | ||
12 | + "start": "nest start", | ||
13 | + "start:dev": "nest start --watch", | ||
14 | + "start:debug": "nest start --debug --watch", | ||
15 | + "start:prod": "node dist/main", | ||
16 | + "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", | ||
17 | + "test": "jest", | ||
18 | + "test:watch": "jest --watch", | ||
19 | + "test:cov": "jest --coverage", | ||
20 | + "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", | ||
21 | + "test:e2e": "jest --config ./test/jest-e2e.json" | ||
22 | + }, | ||
23 | + "dependencies": { | ||
24 | + "@nestjs/common": "^7.5.1", | ||
25 | + "@nestjs/core": "^7.5.1", | ||
26 | + "@nestjs/graphql": "^7.9.9", | ||
27 | + "@nestjs/platform-express": "^7.5.1", | ||
28 | + "apollo-server-express": "^2.21.0", | ||
29 | + "graphql": "^15.5.0", | ||
30 | + "graphql-tools": "^7.0.4", | ||
31 | + "reflect-metadata": "^0.1.13", | ||
32 | + "rimraf": "^3.0.2", | ||
33 | + "rxjs": "^6.6.3" | ||
34 | + }, | ||
35 | + "devDependencies": { | ||
36 | + "@nestjs/cli": "^7.5.1", | ||
37 | + "@nestjs/schematics": "^7.1.3", | ||
38 | + "@nestjs/testing": "^7.5.1", | ||
39 | + "@types/express": "^4.17.8", | ||
40 | + "@types/jest": "^26.0.15", | ||
41 | + "@types/node": "^14.14.6", | ||
42 | + "@types/supertest": "^2.0.10", | ||
43 | + "@typescript-eslint/eslint-plugin": "^4.6.1", | ||
44 | + "@typescript-eslint/parser": "^4.6.1", | ||
45 | + "eslint": "^7.12.1", | ||
46 | + "eslint-config-prettier": "7.2.0", | ||
47 | + "eslint-plugin-prettier": "^3.1.4", | ||
48 | + "jest": "^26.6.3", | ||
49 | + "prettier": "^2.1.2", | ||
50 | + "supertest": "^6.0.0", | ||
51 | + "ts-jest": "^26.4.3", | ||
52 | + "ts-loader": "^8.0.8", | ||
53 | + "ts-node": "^9.0.0", | ||
54 | + "tsconfig-paths": "^3.9.0", | ||
55 | + "typescript": "^4.0.5" | ||
56 | + }, | ||
57 | + "jest": { | ||
58 | + "moduleFileExtensions": [ | ||
59 | + "js", | ||
60 | + "json", | ||
61 | + "ts" | ||
62 | + ], | ||
63 | + "rootDir": "src", | ||
64 | + "testRegex": ".*\\.spec\\.ts$", | ||
65 | + "transform": { | ||
66 | + "^.+\\.(t|j)s$": "ts-jest" | ||
67 | + }, | ||
68 | + "collectCoverageFrom": [ | ||
69 | + "**/*.(t|j)s" | ||
70 | + ], | ||
71 | + "coverageDirectory": "../coverage", | ||
72 | + "testEnvironment": "node" | ||
73 | + } | ||
74 | +} |
src/app.controller.spec.ts
0 → 100644
1 | +import { Test, TestingModule } from '@nestjs/testing'; | ||
2 | +import { AppController } from './app.controller'; | ||
3 | +import { AppService } from './app.service'; | ||
4 | + | ||
5 | +describe('AppController', () => { | ||
6 | + let appController: AppController; | ||
7 | + | ||
8 | + beforeEach(async () => { | ||
9 | + const app: TestingModule = await Test.createTestingModule({ | ||
10 | + controllers: [AppController], | ||
11 | + providers: [AppService], | ||
12 | + }).compile(); | ||
13 | + | ||
14 | + appController = app.get<AppController>(AppController); | ||
15 | + }); | ||
16 | + | ||
17 | + describe('root', () => { | ||
18 | + it('should return "Hello World!"', () => { | ||
19 | + expect(appController.getHello()).toBe('Hello World!'); | ||
20 | + }); | ||
21 | + }); | ||
22 | +}); |
src/app.controller.ts
0 → 100644
1 | +import { Controller, Get } from '@nestjs/common'; | ||
2 | +import { AppService } from './app.service'; | ||
3 | + | ||
4 | +@Controller() | ||
5 | +export class AppController { | ||
6 | + constructor(private readonly appService: AppService) {} | ||
7 | + | ||
8 | + @Get() | ||
9 | + getHello(): string { | ||
10 | + return this.appService.getHello(); | ||
11 | + } | ||
12 | +} |
src/app.module.ts
0 → 100644
src/app.service.ts
0 → 100644
src/main.ts
0 → 100644
test/app.e2e-spec.ts
0 → 100644
1 | +import { Test, TestingModule } from '@nestjs/testing'; | ||
2 | +import { INestApplication } from '@nestjs/common'; | ||
3 | +import * as request from 'supertest'; | ||
4 | +import { AppModule } from './../src/app.module'; | ||
5 | + | ||
6 | +describe('AppController (e2e)', () => { | ||
7 | + let app: INestApplication; | ||
8 | + | ||
9 | + beforeEach(async () => { | ||
10 | + const moduleFixture: TestingModule = await Test.createTestingModule({ | ||
11 | + imports: [AppModule], | ||
12 | + }).compile(); | ||
13 | + | ||
14 | + app = moduleFixture.createNestApplication(); | ||
15 | + await app.init(); | ||
16 | + }); | ||
17 | + | ||
18 | + it('/ (GET)', () => { | ||
19 | + return request(app.getHttpServer()) | ||
20 | + .get('/') | ||
21 | + .expect(200) | ||
22 | + .expect('Hello World!'); | ||
23 | + }); | ||
24 | +}); |
test/jest-e2e.json
0 → 100644
tsconfig.build.json
0 → 100644
tsconfig.json
0 → 100644
1 | +{ | ||
2 | + "compilerOptions": { | ||
3 | + "module": "commonjs", | ||
4 | + "declaration": true, | ||
5 | + "removeComments": true, | ||
6 | + "emitDecoratorMetadata": true, | ||
7 | + "experimentalDecorators": true, | ||
8 | + "allowSyntheticDefaultImports": true, | ||
9 | + "target": "es2017", | ||
10 | + "sourceMap": true, | ||
11 | + "outDir": "./dist", | ||
12 | + "baseUrl": "./", | ||
13 | + "incremental": true | ||
14 | + } | ||
15 | +} |
-
请 注册 或 登录 后发表评论