作者 陈志颖

first commit

  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 +};
  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
  1 +{
  2 + "singleQuote": true,
  3 + "trailingComma": "all"
  4 +}
  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).
  1 +{
  2 + "collection": "@nestjs/schematics",
  3 + "sourceRoot": "src"
  4 +}
此 diff 太大无法显示。
  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 +}
  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 +});
  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 +}
  1 +import { Module } from '@nestjs/common';
  2 +import { AppController } from './app.controller';
  3 +import { AppService } from './app.service';
  4 +
  5 +@Module({
  6 + imports: [],
  7 + controllers: [AppController],
  8 + providers: [AppService],
  9 +})
  10 +export class AppModule {}
  1 +import { Injectable } from '@nestjs/common';
  2 +
  3 +@Injectable()
  4 +export class AppService {
  5 + getHello(): string {
  6 + return 'Hello World!';
  7 + }
  8 +}
  1 +import { NestFactory } from '@nestjs/core';
  2 +import { AppModule } from './app.module';
  3 +
  4 +async function bootstrap() {
  5 + const app = await NestFactory.create(AppModule);
  6 + await app.listen(3000);
  7 +}
  8 +bootstrap();
  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 +});
  1 +{
  2 + "moduleFileExtensions": ["js", "json", "ts"],
  3 + "rootDir": ".",
  4 + "testEnvironment": "node",
  5 + "testRegex": ".e2e-spec.ts$",
  6 + "transform": {
  7 + "^.+\\.(t|j)s$": "ts-jest"
  8 + }
  9 +}
  1 +{
  2 + "extends": "./tsconfig.json",
  3 + "exclude": ["node_modules", "test", "dist", "**/*spec.ts"]
  4 +}
  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 +}