typescript-express-starter 9.2.0 → 10.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONTRIBUTORS.md +69 -0
- package/README.kr.md +122 -167
- package/README.md +118 -163
- package/bin/cli.js +1 -1
- package/lib/default/.swcrc +0 -3
- package/lib/default/Dockerfile.dev +18 -0
- package/lib/default/Dockerfile.prod +18 -0
- package/lib/default/Makefile +29 -16
- package/lib/default/docker-compose.yml +8 -8
- package/lib/default/package.json +3 -1
- package/lib/default/src/app.ts +4 -5
- package/lib/default/src/controllers/auth.controller.ts +9 -11
- package/lib/default/src/controllers/users.controller.ts +11 -13
- package/lib/default/src/dtos/users.dto.ts +12 -1
- package/lib/default/src/interfaces/users.interface.ts +2 -2
- package/lib/default/src/middlewares/auth.middleware.ts +16 -10
- package/lib/default/src/middlewares/error.middleware.ts +2 -4
- package/lib/default/src/middlewares/validation.middleware.ts +22 -20
- package/lib/default/src/models/users.model.ts +6 -8
- package/lib/default/src/routes/auth.route.ts +8 -11
- package/lib/default/src/routes/users.route.ts +10 -12
- package/lib/default/src/server.ts +6 -7
- package/lib/default/src/services/auth.service.ts +22 -33
- package/lib/default/src/services/users.service.ts +16 -25
- package/lib/{graphql/src/tests → default/src/test}/auth.test.ts +21 -21
- package/lib/default/src/test/users.test.ts +62 -0
- package/lib/default/src/utils/validateEnv.ts +1 -3
- package/lib/default/tsconfig.json +1 -1
- package/lib/graphql/.env.development.local +6 -6
- package/lib/graphql/.env.production.local +6 -6
- package/lib/graphql/.env.test.local +6 -6
- package/lib/graphql/.swcrc +1 -1
- package/lib/graphql/Dockerfile.dev +19 -0
- package/lib/graphql/Dockerfile.prod +19 -0
- package/lib/graphql/Makefile +32 -15
- package/lib/graphql/docker-compose.yml +23 -15
- package/lib/graphql/package.json +2 -1
- package/lib/graphql/src/app.ts +16 -16
- package/lib/graphql/src/config/index.ts +2 -2
- package/lib/graphql/src/database/index.ts +26 -0
- package/lib/graphql/src/dtos/users.dto.ts +14 -1
- package/lib/graphql/src/interfaces/users.interface.ts +2 -2
- package/lib/graphql/src/middlewares/auth.middleware.ts +16 -6
- package/lib/graphql/src/middlewares/error.middleware.ts +2 -4
- package/lib/graphql/src/repositories/auth.repository.ts +16 -24
- package/lib/graphql/src/repositories/users.repository.ts +5 -14
- package/lib/graphql/src/resolvers/auth.resolver.ts +2 -2
- package/lib/graphql/src/resolvers/users.resolver.ts +4 -4
- package/lib/graphql/src/server.ts +6 -7
- package/lib/graphql/src/test/auth.test.ts +10 -0
- package/lib/graphql/src/test/users.test.ts +11 -0
- package/lib/graphql/src/typedefs/users.type.ts +2 -2
- package/lib/graphql/src/utils/logger.ts +2 -0
- package/lib/graphql/src/utils/validateEnv.ts +1 -3
- package/lib/graphql/tsconfig.json +2 -2
- package/lib/knex/.env.development.local +2 -2
- package/lib/knex/.env.production.local +3 -3
- package/lib/knex/.env.test.local +3 -3
- package/lib/knex/.swcrc +1 -1
- package/lib/knex/Dockerfile.dev +19 -0
- package/lib/knex/Dockerfile.prod +19 -0
- package/lib/knex/Makefile +32 -15
- package/lib/knex/docker-compose.yml +19 -14
- package/lib/knex/knexfile.ts +7 -9
- package/lib/knex/package.json +2 -0
- package/lib/knex/src/app.ts +7 -9
- package/lib/knex/src/config/index.ts +2 -1
- package/lib/knex/src/controllers/auth.controller.ts +9 -11
- package/lib/knex/src/controllers/users.controller.ts +10 -12
- package/lib/knex/src/database/index.ts +24 -0
- package/lib/knex/src/database/migrations/20210713110926_initial.ts +17 -0
- package/lib/knex/src/dtos/users.dto.ts +12 -1
- package/lib/knex/src/interfaces/users.interface.ts +2 -2
- package/lib/knex/src/middlewares/auth.middleware.ts +17 -10
- package/lib/knex/src/middlewares/error.middleware.ts +2 -4
- package/lib/knex/src/middlewares/validation.middleware.ts +22 -20
- package/lib/knex/src/models/users.model.ts +2 -2
- package/lib/knex/src/routes/auth.route.ts +8 -10
- package/lib/knex/src/routes/users.route.ts +10 -12
- package/lib/knex/src/server.ts +6 -7
- package/lib/knex/src/services/auth.service.ts +24 -33
- package/lib/knex/src/services/users.service.ts +14 -19
- package/lib/knex/src/{tests → test}/auth.test.ts +2 -2
- package/lib/knex/src/{tests → test}/users.test.ts +2 -2
- package/lib/knex/src/utils/validateEnv.ts +1 -3
- package/lib/knex/tsconfig.json +2 -2
- package/lib/mikro-orm/.env.production.local +1 -1
- package/lib/mikro-orm/.env.test.local +1 -1
- package/lib/mikro-orm/.swcrc +1 -1
- package/lib/mikro-orm/Dockerfile.dev +19 -0
- package/lib/mikro-orm/Dockerfile.prod +19 -0
- package/lib/mikro-orm/Makefile +32 -15
- package/lib/mikro-orm/docker-compose.yml +20 -11
- package/lib/mikro-orm/package.json +2 -0
- package/lib/mikro-orm/src/app.ts +12 -13
- package/lib/mikro-orm/src/config/index.ts +2 -1
- package/lib/mikro-orm/src/controllers/auth.controller.ts +9 -11
- package/lib/mikro-orm/src/controllers/users.controller.ts +11 -13
- package/lib/mikro-orm/src/dtos/users.dto.ts +12 -1
- package/lib/mikro-orm/src/interfaces/users.interface.ts +1 -1
- package/lib/mikro-orm/src/middlewares/auth.middleware.ts +17 -10
- package/lib/mikro-orm/src/middlewares/error.middleware.ts +2 -4
- package/lib/mikro-orm/src/middlewares/validation.middleware.ts +22 -20
- package/lib/mikro-orm/src/routes/auth.route.ts +8 -10
- package/lib/mikro-orm/src/routes/users.route.ts +9 -11
- package/lib/mikro-orm/src/server.ts +6 -7
- package/lib/mikro-orm/src/services/auth.service.ts +19 -29
- package/lib/mikro-orm/src/services/users.service.ts +8 -16
- package/lib/mikro-orm/src/{tests → test}/auth.test.ts +3 -4
- package/lib/mikro-orm/src/{tests → test}/users.test.ts +4 -5
- package/lib/mikro-orm/src/utils/validateEnv.ts +1 -3
- package/lib/mikro-orm/tsconfig.json +2 -2
- package/lib/mongoose/.env.production.local +1 -1
- package/lib/mongoose/.env.test.local +1 -1
- package/lib/mongoose/.swcrc +1 -1
- package/lib/mongoose/Dockerfile.dev +19 -0
- package/lib/mongoose/Dockerfile.prod +19 -0
- package/lib/mongoose/Makefile +32 -15
- package/lib/mongoose/docker-compose.yml +20 -11
- package/lib/mongoose/package.json +2 -0
- package/lib/mongoose/src/app.ts +7 -13
- package/lib/mongoose/src/config/index.ts +2 -1
- package/lib/mongoose/src/controllers/auth.controller.ts +9 -11
- package/lib/mongoose/src/controllers/users.controller.ts +11 -13
- package/lib/mongoose/src/database/index.ts +18 -0
- package/lib/mongoose/src/dtos/users.dto.ts +12 -1
- package/lib/mongoose/src/interfaces/users.interface.ts +1 -1
- package/lib/mongoose/src/middlewares/auth.middleware.ts +16 -9
- package/lib/mongoose/src/middlewares/error.middleware.ts +2 -4
- package/lib/mongoose/src/middlewares/validation.middleware.ts +22 -20
- package/lib/mongoose/src/models/users.model.ts +2 -4
- package/lib/mongoose/src/routes/auth.route.ts +8 -10
- package/lib/mongoose/src/routes/users.route.ts +9 -11
- package/lib/mongoose/src/server.ts +6 -7
- package/lib/mongoose/src/services/auth.service.ts +22 -33
- package/lib/mongoose/src/services/users.service.ts +14 -24
- package/lib/{typegoose/src/tests → mongoose/src/test}/users.test.ts +7 -7
- package/lib/mongoose/src/utils/validateEnv.ts +1 -3
- package/lib/mongoose/tsconfig.json +2 -2
- package/lib/node-postgres/.dockerignore +18 -0
- package/lib/node-postgres/.editorconfig +9 -0
- package/lib/node-postgres/.env.development.local +13 -0
- package/lib/node-postgres/.env.production.local +13 -0
- package/lib/node-postgres/.env.test.local +13 -0
- package/lib/node-postgres/.eslintignore +1 -0
- package/lib/node-postgres/.eslintrc +18 -0
- package/lib/node-postgres/.huskyrc +5 -0
- package/lib/node-postgres/.lintstagedrc.json +5 -0
- package/lib/node-postgres/.prettierrc +8 -0
- package/lib/node-postgres/.swcrc +39 -0
- package/lib/node-postgres/.vscode/launch.json +35 -0
- package/lib/node-postgres/.vscode/settings.json +6 -0
- package/lib/node-postgres/Dockerfile.dev +17 -0
- package/lib/node-postgres/Dockerfile.prod +17 -0
- package/lib/node-postgres/Makefile +46 -0
- package/lib/node-postgres/docker-compose.yml +61 -0
- package/lib/node-postgres/ecosystem.config.js +57 -0
- package/lib/node-postgres/jest.config.js +12 -0
- package/lib/node-postgres/nginx.conf +40 -0
- package/lib/node-postgres/nodemon.json +12 -0
- package/lib/node-postgres/package.json +78 -0
- package/lib/node-postgres/src/app.ts +87 -0
- package/lib/node-postgres/src/config/index.ts +6 -0
- package/lib/node-postgres/src/controllers/auth.controller.ts +44 -0
- package/lib/node-postgres/src/controllers/users.controller.ts +63 -0
- package/lib/node-postgres/src/database/index.ts +6 -0
- package/lib/node-postgres/src/database/init.sql +110 -0
- package/lib/node-postgres/src/dtos/users.dto.ts +20 -0
- package/lib/node-postgres/src/exceptions/httpException.ts +10 -0
- package/lib/node-postgres/src/http/auth.http +27 -0
- package/lib/node-postgres/src/http/users.http +34 -0
- package/lib/node-postgres/src/interfaces/auth.interface.ts +15 -0
- package/lib/node-postgres/src/interfaces/routes.interface.ts +6 -0
- package/lib/node-postgres/src/interfaces/users.interface.ts +5 -0
- package/lib/node-postgres/src/middlewares/auth.middleware.ts +38 -0
- package/lib/node-postgres/src/middlewares/error.middleware.ts +15 -0
- package/lib/node-postgres/src/middlewares/validation.middleware.ts +27 -0
- package/lib/node-postgres/src/models/users.model.ts +9 -0
- package/lib/node-postgres/src/routes/auth.route.ts +21 -0
- package/lib/node-postgres/src/routes/users.route.ts +23 -0
- package/lib/node-postgres/src/server.ts +10 -0
- package/lib/node-postgres/src/services/auth.service.ts +52 -0
- package/lib/node-postgres/src/services/users.service.ts +51 -0
- package/lib/{default/src/tests → node-postgres/src/test}/auth.test.ts +2 -2
- package/lib/{default/src/tests → node-postgres/src/test}/users.test.ts +5 -5
- package/lib/node-postgres/src/utils/logger.ts +65 -0
- package/lib/node-postgres/src/utils/validateEnv.ts +8 -0
- package/lib/node-postgres/swagger.yaml +123 -0
- package/lib/node-postgres/tsconfig.json +40 -0
- package/lib/prisma/.env.production.local +1 -1
- package/lib/prisma/.env.test.local +1 -1
- package/lib/prisma/Dockerfile.dev +19 -0
- package/lib/prisma/Dockerfile.prod +19 -0
- package/lib/prisma/Makefile +32 -15
- package/lib/prisma/docker-compose.yml +15 -14
- package/lib/prisma/package.json +2 -0
- package/lib/prisma/src/app.ts +4 -5
- package/lib/prisma/src/controllers/auth.controller.ts +10 -12
- package/lib/prisma/src/controllers/users.controller.ts +12 -14
- package/lib/prisma/src/dtos/users.dto.ts +12 -1
- package/lib/prisma/src/interfaces/auth.interface.ts +1 -1
- package/lib/prisma/src/interfaces/users.interface.ts +5 -0
- package/lib/prisma/src/middlewares/auth.middleware.ts +16 -11
- package/lib/prisma/src/middlewares/error.middleware.ts +2 -4
- package/lib/prisma/src/middlewares/validation.middleware.ts +22 -20
- package/lib/prisma/src/routes/auth.route.ts +8 -10
- package/lib/prisma/src/routes/users.route.ts +9 -11
- package/lib/prisma/src/server.ts +6 -7
- package/lib/prisma/src/services/auth.service.ts +6 -12
- package/lib/prisma/src/services/users.service.ts +15 -23
- package/lib/prisma/src/utils/validateEnv.ts +1 -3
- package/lib/prisma/tsconfig.json +1 -1
- package/lib/routing-controllers/Dockerfile.dev +19 -0
- package/lib/routing-controllers/Dockerfile.prod +19 -0
- package/lib/routing-controllers/Makefile +29 -16
- package/lib/routing-controllers/docker-compose.yml +9 -9
- package/lib/routing-controllers/package.json +1 -0
- package/lib/routing-controllers/src/app.ts +4 -6
- package/lib/routing-controllers/src/controllers/auth.controller.ts +13 -12
- package/lib/routing-controllers/src/controllers/users.controller.ts +15 -13
- package/lib/routing-controllers/src/dtos/users.dto.ts +12 -1
- package/lib/routing-controllers/src/interfaces/users.interface.ts +1 -1
- package/lib/routing-controllers/src/middlewares/auth.middleware.ts +16 -10
- package/lib/routing-controllers/src/middlewares/error.middleware.ts +2 -5
- package/lib/routing-controllers/src/middlewares/validation.middleware.ts +23 -27
- package/lib/routing-controllers/src/models/users.model.ts +1 -3
- package/lib/routing-controllers/src/server.ts +5 -6
- package/lib/routing-controllers/src/services/auth.service.ts +21 -31
- package/lib/routing-controllers/src/services/users.service.ts +13 -21
- package/lib/routing-controllers/src/{tests → test}/auth.test.ts +1 -1
- package/lib/routing-controllers/src/{tests → test}/users.test.ts +10 -10
- package/lib/routing-controllers/src/utils/validateEnv.ts +1 -3
- package/lib/routing-controllers/tsconfig.json +1 -1
- package/lib/sequelize/.env.development.local +2 -2
- package/lib/sequelize/.env.production.local +3 -3
- package/lib/sequelize/.env.test.local +3 -3
- package/lib/sequelize/.sequelizerc +8 -0
- package/lib/sequelize/.swcrc +1 -1
- package/lib/sequelize/Dockerfile.dev +23 -0
- package/lib/sequelize/Dockerfile.prod +23 -0
- package/lib/sequelize/Makefile +32 -15
- package/lib/sequelize/docker-compose.yml +19 -14
- package/lib/sequelize/package.json +5 -1
- package/lib/sequelize/src/app.ts +7 -8
- package/lib/sequelize/src/config/index.ts +2 -1
- package/lib/sequelize/src/config/sequelize-cli.js +15 -0
- package/lib/sequelize/src/controllers/auth.controller.ts +7 -8
- package/lib/sequelize/src/controllers/users.controller.ts +9 -10
- package/lib/sequelize/src/{databases → database}/index.ts +1 -3
- package/lib/sequelize/src/dtos/users.dto.ts +12 -1
- package/lib/sequelize/src/interfaces/users.interface.ts +1 -1
- package/lib/sequelize/src/middlewares/auth.middleware.ts +16 -10
- package/lib/sequelize/src/middlewares/error.middleware.ts +2 -4
- package/lib/sequelize/src/middlewares/validation.middleware.ts +22 -20
- package/lib/sequelize/src/routes/auth.route.ts +8 -11
- package/lib/sequelize/src/routes/users.route.ts +9 -11
- package/lib/sequelize/src/server.ts +6 -7
- package/lib/sequelize/src/services/auth.service.ts +20 -31
- package/lib/sequelize/src/services/users.service.ts +14 -25
- package/lib/sequelize/src/{tests → test}/auth.test.ts +2 -2
- package/lib/sequelize/src/{tests → test}/users.test.ts +2 -2
- package/lib/sequelize/src/utils/validateEnv.ts +1 -3
- package/lib/sequelize/tsconfig.json +2 -2
- package/lib/starter.js +17 -26
- package/lib/typegoose/.env.production.local +1 -1
- package/lib/typegoose/.env.test.local +1 -1
- package/lib/typegoose/.swcrc +1 -1
- package/lib/typegoose/Dockerfile.dev +19 -0
- package/lib/typegoose/Dockerfile.prod +19 -0
- package/lib/typegoose/Makefile +32 -15
- package/lib/typegoose/docker-compose.yml +20 -11
- package/lib/typegoose/package.json +2 -0
- package/lib/typegoose/src/app.ts +7 -10
- package/lib/typegoose/src/config/index.ts +2 -1
- package/lib/typegoose/src/controllers/auth.controller.ts +9 -11
- package/lib/typegoose/src/controllers/users.controller.ts +11 -13
- package/lib/typegoose/src/database/index.ts +18 -0
- package/lib/typegoose/src/dtos/users.dto.ts +12 -1
- package/lib/typegoose/src/interfaces/users.interface.ts +1 -1
- package/lib/typegoose/src/middlewares/auth.middleware.ts +16 -10
- package/lib/typegoose/src/middlewares/error.middleware.ts +2 -4
- package/lib/typegoose/src/middlewares/validation.middleware.ts +22 -20
- package/lib/typegoose/src/models/users.model.ts +1 -3
- package/lib/typegoose/src/routes/auth.route.ts +8 -11
- package/lib/typegoose/src/routes/users.route.ts +9 -11
- package/lib/typegoose/src/server.ts +5 -6
- package/lib/typegoose/src/services/auth.service.ts +23 -32
- package/lib/typegoose/src/services/users.service.ts +12 -21
- package/lib/typegoose/src/{tests → test}/auth.test.ts +2 -2
- package/lib/{mongoose/src/tests → typegoose/src/test}/users.test.ts +7 -7
- package/lib/typegoose/src/utils/validateEnv.ts +1 -3
- package/lib/typegoose/tsconfig.json +2 -2
- package/lib/typeorm/.env.development.local +2 -2
- package/lib/typeorm/.env.production.local +3 -3
- package/lib/typeorm/.env.test.local +3 -3
- package/lib/typeorm/.swcrc +1 -1
- package/lib/typeorm/Dockerfile.dev +19 -0
- package/lib/typeorm/Dockerfile.prod +19 -0
- package/lib/typeorm/Makefile +32 -15
- package/lib/typeorm/docker-compose.yml +21 -14
- package/lib/typeorm/package.json +1 -0
- package/lib/typeorm/src/app.ts +7 -10
- package/lib/typeorm/src/config/index.ts +2 -1
- package/lib/typeorm/src/controllers/auth.controller.ts +9 -11
- package/lib/typeorm/src/controllers/users.controller.ts +11 -13
- package/lib/typeorm/src/database/index.ts +26 -0
- package/lib/typeorm/src/dtos/users.dto.ts +12 -1
- package/lib/typeorm/src/interfaces/users.interface.ts +1 -1
- package/lib/typeorm/src/middlewares/auth.middleware.ts +14 -7
- package/lib/typeorm/src/middlewares/error.middleware.ts +2 -4
- package/lib/typeorm/src/middlewares/validation.middleware.ts +22 -20
- package/lib/typeorm/src/routes/auth.route.ts +8 -11
- package/lib/typeorm/src/routes/users.route.ts +9 -11
- package/lib/typeorm/src/server.ts +6 -7
- package/lib/typeorm/src/services/auth.service.ts +20 -28
- package/lib/typeorm/src/services/users.service.ts +6 -16
- package/lib/typeorm/src/{tests → test}/auth.test.ts +6 -6
- package/lib/typeorm/src/{tests → test}/users.test.ts +6 -6
- package/lib/typeorm/src/utils/validateEnv.ts +1 -3
- package/lib/typeorm/tsconfig.json +2 -2
- package/package.json +2 -1
- package/lib/default/Dockerfile +0 -24
- package/lib/default/src/controllers/index.controller.ts +0 -13
- package/lib/default/src/routes/index.route.ts +0 -19
- package/lib/default/src/utils/util.ts +0 -19
- package/lib/graphql/Dockerfile +0 -24
- package/lib/graphql/src/databases/index.ts +0 -22
- package/lib/graphql/src/tests/index.test.ts +0 -18
- package/lib/graphql/src/tests/users.test.ts +0 -71
- package/lib/graphql/src/utils/util.ts +0 -19
- package/lib/knex/Dockerfile +0 -24
- package/lib/knex/src/controllers/index.controller.ts +0 -13
- package/lib/knex/src/databases/index.ts +0 -21
- package/lib/knex/src/databases/migrations/20210713110926_initial.ts +0 -13
- package/lib/knex/src/routes/index.route.ts +0 -19
- package/lib/knex/src/tests/index.test.ts +0 -17
- package/lib/knex/src/utils/util.ts +0 -19
- package/lib/mikro-orm/Dockerfile +0 -24
- package/lib/mikro-orm/src/controllers/index.controller.ts +0 -13
- package/lib/mikro-orm/src/routes/index.route.ts +0 -19
- package/lib/mikro-orm/src/tests/index.test.ts +0 -18
- package/lib/mikro-orm/src/utils/util.ts +0 -19
- package/lib/mongoose/Dockerfile +0 -24
- package/lib/mongoose/src/controllers/index.controller.ts +0 -13
- package/lib/mongoose/src/databases/index.ts +0 -9
- package/lib/mongoose/src/routes/index.route.ts +0 -19
- package/lib/mongoose/src/utils/util.ts +0 -19
- package/lib/prisma/Dockerfile +0 -24
- package/lib/prisma/src/controllers/index.controller.ts +0 -13
- package/lib/prisma/src/routes/index.route.ts +0 -19
- package/lib/prisma/src/tests/index.test.ts +0 -18
- package/lib/prisma/src/utils/util.ts +0 -19
- package/lib/routing-controllers/Dockerfile +0 -24
- package/lib/routing-controllers/src/controllers/index.controller.ts +0 -9
- package/lib/routing-controllers/src/tests/index.test.ts +0 -17
- package/lib/routing-controllers/src/utils/util.ts +0 -19
- package/lib/sequelize/Dockerfile +0 -28
- package/lib/sequelize/src/controllers/index.controller.ts +0 -13
- package/lib/sequelize/src/routes/index.route.ts +0 -19
- package/lib/sequelize/src/tests/index.test.ts +0 -18
- package/lib/sequelize/src/utils/util.ts +0 -19
- package/lib/typegoose/Dockerfile +0 -24
- package/lib/typegoose/src/controllers/index.controller.ts +0 -13
- package/lib/typegoose/src/databases/index.ts +0 -3
- package/lib/typegoose/src/routes/index.route.ts +0 -19
- package/lib/typegoose/src/tests/index.test.ts +0 -18
- package/lib/typegoose/src/utils/util.ts +0 -19
- package/lib/typeorm/Dockerfile +0 -24
- package/lib/typeorm/src/controllers/index.controller.ts +0 -13
- package/lib/typeorm/src/databases/index.ts +0 -22
- package/lib/typeorm/src/routes/index.route.ts +0 -19
- package/lib/typeorm/src/tests/index.test.ts +0 -18
- package/lib/typeorm/src/utils/util.ts +0 -19
- package/lib/knex/src/{databases → database}/migrations/.gitkeep +0 -0
- package/lib/knex/src/{databases → database}/seeds/.gitkeep +0 -0
- package/lib/mikro-orm/src/{databases → database}/index.ts +0 -0
- package/lib/mongoose/src/{tests → test}/auth.test.ts +0 -0
- package/lib/{default/src/tests → mongoose/src/test}/index.test.ts +0 -0
- package/lib/prisma/src/{tests → test}/auth.test.ts +1 -1
- package/lib/{mongoose/src/tests → prisma/src/test}/index.test.ts +0 -0
- package/lib/prisma/src/{tests → test}/users.test.ts +1 -1
- /package/lib/sequelize/src/{migrations → database/migrations}/.gitkeep +0 -0
- /package/lib/sequelize/src/{seeders → database/seeders}/.gitkeep +0 -0
- /package/lib/typeorm/src/{migration → database/migrations}/.gitkeep +0 -0
package/README.md
CHANGED
|
@@ -23,10 +23,10 @@
|
|
|
23
23
|
<img src="https://img.shields.io/github/v/release/ljlm0402/typescript-express-starter" alt="npm Release Version" />
|
|
24
24
|
</a>
|
|
25
25
|
<a href="http://npm.im/typescript-express-starter" target="_blank">
|
|
26
|
-
<img src="https://img.shields.io/npm/
|
|
26
|
+
<img src="https://img.shields.io/npm/dm/typescript-express-starter.svg" alt="npm Downloads" />
|
|
27
27
|
</a>
|
|
28
28
|
<a href="http://npm.im/typescript-express-starter" target="_blank">
|
|
29
|
-
<img src="https://img.shields.io/npm/
|
|
29
|
+
<img src="https://img.shields.io/npm/l/typescript-express-starter.svg" alt="npm Package License" />
|
|
30
30
|
</a>
|
|
31
31
|
</p>
|
|
32
32
|
|
|
@@ -47,10 +47,8 @@
|
|
|
47
47
|
|
|
48
48
|
<br />
|
|
49
49
|
|
|
50
|
-
## Translations - read in your own language
|
|
51
|
-
|
|
52
|
-
- [🇺🇸 English](https://github.com/ljlm0402/typescript-express-starter/blob/master/README.md)
|
|
53
50
|
- [🇰🇷 Korean](https://github.com/ljlm0402/typescript-express-starter/blob/master/README.kr.md)
|
|
51
|
+
- [🇺🇸 English](https://github.com/ljlm0402/typescript-express-starter/blob/master/README.md)
|
|
54
52
|
|
|
55
53
|
<br />
|
|
56
54
|
|
|
@@ -96,19 +94,29 @@ Start your typescript-express-starter app in development mode at `http://localho
|
|
|
96
94
|
|
|
97
95
|
#### Template Type
|
|
98
96
|
|
|
99
|
-
| Name
|
|
100
|
-
|
|
|
101
|
-
| Default
|
|
102
|
-
| [Routing Controllers](https://github.com/typestack/routing-controllers)
|
|
103
|
-
| [Sequelize](https://github.com/sequelize/sequelize)
|
|
104
|
-
| [Mongoose](https://github.com/Automattic/mongoose)
|
|
105
|
-
| [TypeORM](https://github.com/typeorm/typeorm)
|
|
106
|
-
| [Prisma](https://github.com/prisma/prisma)
|
|
107
|
-
| [Knex](https://github.com/knex/knex)
|
|
108
|
-
| [GraphQL](https://github.com/graphql/graphql-js)
|
|
109
|
-
| [Typegoose](https://github.com/typegoose/typegoose)
|
|
110
|
-
| [Mikro ORM](https://github.com/mikro-orm/mikro-orm)
|
|
111
|
-
| [
|
|
97
|
+
| Name | Description |
|
|
98
|
+
| :---------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
99
|
+
| Default | Express Default |
|
|
100
|
+
| [Routing Controllers](https://github.com/typestack/routing-controllers) | Create structured, declarative and beautifully organized class-based controllers with heavy decorators usage |
|
|
101
|
+
| [Sequelize](https://github.com/sequelize/sequelize) | Easy to use multi SQL dialect ORM for Node.js |
|
|
102
|
+
| [Mongoose](https://github.com/Automattic/mongoose) | MongoDB Object Modeling(ODM) designed to work in an asynchronous environment |
|
|
103
|
+
| [TypeORM](https://github.com/typeorm/typeorm) | An ORM that can run in Node.js and Others |
|
|
104
|
+
| [Prisma](https://github.com/prisma/prisma) | Modern Database Access for TypeScript & Node.js |
|
|
105
|
+
| [Knex](https://github.com/knex/knex) | SQL query builder for Postgres, MySQL, MariaDB, SQLite3 and Oracle |
|
|
106
|
+
| [GraphQL](https://github.com/graphql/graphql-js) | query language for APIs and a runtime for fulfilling those queries with your existing data |
|
|
107
|
+
| [Typegoose](https://github.com/typegoose/typegoose) | Define Mongoose models using TypeScript classes |
|
|
108
|
+
| [Mikro ORM](https://github.com/mikro-orm/mikro-orm) | TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, MariaDB, PostgreSQL and SQLite databases |
|
|
109
|
+
| [Node Postgres](https://node-postgres.com/) | node-postgres is a collection of node.js modules for interfacing with your PostgreSQL database |
|
|
110
|
+
|
|
111
|
+
#### Template to be developed
|
|
112
|
+
|
|
113
|
+
| Name | Description |
|
|
114
|
+
| :------------------------------------------------------------------------------ | :------------------------------------------------------------------------- |
|
|
115
|
+
| [Sequelize Typescript](https://github.com/RobinBuschmann/sequelize-typescript) | Decorators and some other features for sequelize |
|
|
116
|
+
| [TS SQL](https://github.com/codemix/ts-sql) | A SQL database implemented purely in TypeScript type annotations |
|
|
117
|
+
| [inversify-express-utils](https://github.com/inversify/inversify-express-utils) | Some utilities for the development of Express application with InversifyJS |
|
|
118
|
+
| [postgress typescript]() | |
|
|
119
|
+
| [graphql prisma]() | |
|
|
112
120
|
|
|
113
121
|
## 🛎 Available Commands for the Server
|
|
114
122
|
|
|
@@ -120,34 +128,28 @@ Start your typescript-express-starter app in development mode at `http://localho
|
|
|
120
128
|
|
|
121
129
|
## 💎 The Package Features
|
|
122
130
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
- 
|
|
146
|
-

|
|
147
|
-

|
|
148
|
-

|
|
149
|
-
|
|
150
|
-
> [Simple Icons](https://simpleicons.org/)
|
|
131
|
+
<p>
|
|
132
|
+
<img src="https://img.shields.io/badge/-TypeScript-007ACC?style=for-the-badge&logo=TypeScript&logoColor=fff" />
|
|
133
|
+
<img src="https://img.shields.io/badge/-Node.js-339933?style=for-the-badge&logo=Node.js&logoColor=fff" />
|
|
134
|
+
<img src="https://img.shields.io/badge/-NPM-CB3837?style=for-the-badge&logo=NPM&logoColor=fff" />
|
|
135
|
+
</p>
|
|
136
|
+
<p>
|
|
137
|
+
<img src="https://img.shields.io/badge/-Docker-2496ED?style=for-the-badge&logo=Docker&logoColor=fff" />
|
|
138
|
+
<img src="https://img.shields.io/badge/-NGINX-269539?style=for-the-badge&logo=NGINX&logoColor=fff" />
|
|
139
|
+
<img src="https://img.shields.io/badge/-PM2-2B037A?style=for-the-badge&logo=PM2&logoColor=fff" />
|
|
140
|
+
<img src="https://img.shields.io/badge/-Nodemon-76D04B?style=for-the-badge&logo=Nodemon&logoColor=fff" />
|
|
141
|
+
<img src="https://img.shields.io/badge/-ESLint-4B32C3?style=for-the-badge&logo=ESLint&logoColor=fff" />
|
|
142
|
+
<img src="https://img.shields.io/badge/-Prettier-F7B93E?style=for-the-badge&logo=Prettier&logoColor=000" />
|
|
143
|
+
<img src="https://img.shields.io/badge/-Jest-C21325?style=for-the-badge&logo=Jest&logoColor=fff" />
|
|
144
|
+
<img src="https://img.shields.io/badge/-Swagger-85EA2D?style=for-the-badge&logo=Swagger&logoColor=000" />
|
|
145
|
+
<img src="https://img.shields.io/badge/-SWC-FFFFFF?style=for-the-badge&logo=swc&logoColor=FBE1A6" />
|
|
146
|
+
</p>
|
|
147
|
+
<p>
|
|
148
|
+
<img src="https://img.shields.io/badge/-MySQL-4479A1?style=for-the-badge&logo=MySQL&logoColor=fff" />
|
|
149
|
+
<img src="https://img.shields.io/badge/-MariaDB-003545?style=for-the-badge&logo=MariaDB&logoColor=fff" />
|
|
150
|
+
<img src="https://img.shields.io/badge/-PostgreSQL-336791?style=for-the-badge&logo=PostgreSQL&logoColor=fff" />
|
|
151
|
+
<img src="https://img.shields.io/badge/-MongoDB-47A248?style=for-the-badge&logo=MongoDB&logoColor=fff" />
|
|
152
|
+
</p>
|
|
151
153
|
|
|
152
154
|
### 🐳 Docker :: Container Platform
|
|
153
155
|
|
|
@@ -231,67 +233,71 @@ Modify `ecosystem.config.js` file to your source code.
|
|
|
231
233
|
|
|
232
234
|
Modify `.swcrc` file to your source code.
|
|
233
235
|
|
|
236
|
+
### 💄 Makefile :: This is a setting file of the make program used to make the compilation that occurs repeatedly on Linux
|
|
237
|
+
|
|
238
|
+
[Makefile](https://makefiletutorial.com/)s are used to help decide which parts of a large program need to be recompiled.
|
|
239
|
+
|
|
240
|
+
- help :: `make help`
|
|
241
|
+
|
|
242
|
+
Modify `Makefile` file to your source code.
|
|
243
|
+
|
|
234
244
|
## 🗂 Code Structure (default)
|
|
235
245
|
|
|
236
|
-
```
|
|
246
|
+
```sh
|
|
237
247
|
│
|
|
238
|
-
|
|
239
|
-
│
|
|
240
|
-
│
|
|
248
|
+
├──📂 .vscode
|
|
249
|
+
│ ├── launch.json
|
|
250
|
+
│ └── settings.json
|
|
241
251
|
│
|
|
242
|
-
|
|
243
|
-
│
|
|
244
|
-
│
|
|
245
|
-
│
|
|
246
|
-
│
|
|
247
|
-
│
|
|
248
|
-
│
|
|
249
|
-
│
|
|
250
|
-
│
|
|
251
|
-
│
|
|
252
|
-
│
|
|
253
|
-
│
|
|
254
|
-
│
|
|
255
|
-
│
|
|
256
|
-
│
|
|
257
|
-
│
|
|
258
|
-
│
|
|
259
|
-
│
|
|
260
|
-
│
|
|
261
|
-
│
|
|
262
|
-
│
|
|
263
|
-
│
|
|
264
|
-
│
|
|
265
|
-
│
|
|
266
|
-
│
|
|
267
|
-
│
|
|
268
|
-
│
|
|
269
|
-
│
|
|
270
|
-
│
|
|
271
|
-
│
|
|
272
|
-
│
|
|
273
|
-
│
|
|
274
|
-
│
|
|
275
|
-
│
|
|
276
|
-
│
|
|
277
|
-
│
|
|
278
|
-
│
|
|
279
|
-
│
|
|
280
|
-
│
|
|
281
|
-
│
|
|
282
|
-
│
|
|
283
|
-
│
|
|
284
|
-
│
|
|
285
|
-
│
|
|
286
|
-
│
|
|
287
|
-
│
|
|
288
|
-
│
|
|
289
|
-
│
|
|
290
|
-
│
|
|
291
|
-
│ │ └── vaildateEnv.ts
|
|
292
|
-
│ │
|
|
293
|
-
│ ├── app.ts
|
|
294
|
-
│ └── server.ts
|
|
252
|
+
├──📂 src
|
|
253
|
+
│ ├──📂 config
|
|
254
|
+
│ │ └── index.ts
|
|
255
|
+
│ │
|
|
256
|
+
│ ├──📂 controllers
|
|
257
|
+
│ │ ├── auth.controller.ts
|
|
258
|
+
│ │ └── users.controller.ts
|
|
259
|
+
│ │
|
|
260
|
+
│ ├──📂 dtos
|
|
261
|
+
│ │ └── users.dto.ts
|
|
262
|
+
│ │
|
|
263
|
+
│ ├──📂 exceptions
|
|
264
|
+
│ │ └── httpException.ts
|
|
265
|
+
│ │
|
|
266
|
+
│ ├──📂 http
|
|
267
|
+
│ │ ├── auth.http
|
|
268
|
+
│ │ └── users.http
|
|
269
|
+
│ │
|
|
270
|
+
│ ├──📂 interfaces
|
|
271
|
+
│ │ ├── auth.interface.ts
|
|
272
|
+
│ │ ├── routes.interface.ts
|
|
273
|
+
│ │ └── users.interface.ts
|
|
274
|
+
│ │
|
|
275
|
+
│ ├──📂 middlewares
|
|
276
|
+
│ │ ├── auth.middleware.ts
|
|
277
|
+
│ │ ├── error.middleware.ts
|
|
278
|
+
│ │ └── validation.middleware.ts
|
|
279
|
+
│ │
|
|
280
|
+
│ ├──📂 models
|
|
281
|
+
│ │ └── users.model.ts
|
|
282
|
+
│ │
|
|
283
|
+
│ ├──📂 routes
|
|
284
|
+
│ │ ├── auth.route.ts
|
|
285
|
+
│ │ └── users.route.ts
|
|
286
|
+
│ │
|
|
287
|
+
│ ├──📂 services
|
|
288
|
+
│ │ ├── auth.service.ts
|
|
289
|
+
│ │ └── users.service.ts
|
|
290
|
+
│ │
|
|
291
|
+
│ ├──📂 test
|
|
292
|
+
│ │ ├── auth.test.ts
|
|
293
|
+
│ │ └── users.test.ts
|
|
294
|
+
│ │
|
|
295
|
+
│ ├──📂 utils
|
|
296
|
+
│ │ ├── logger.ts
|
|
297
|
+
│ │ └── vaildateEnv.ts
|
|
298
|
+
│ │
|
|
299
|
+
│ ├── app.ts
|
|
300
|
+
│ └── server.ts
|
|
295
301
|
│
|
|
296
302
|
├── .dockerignore
|
|
297
303
|
├── .editorconfig
|
|
@@ -306,7 +312,8 @@ Modify `.swcrc` file to your source code.
|
|
|
306
312
|
├── .prettierrc
|
|
307
313
|
├── .swcrc
|
|
308
314
|
├── docker-compose.yml
|
|
309
|
-
├── Dockerfile
|
|
315
|
+
├── Dockerfile.dev
|
|
316
|
+
├── Dockerfile.prod
|
|
310
317
|
├── ecosystem.config.js
|
|
311
318
|
├── jest.config.js
|
|
312
319
|
├── Makefile
|
|
@@ -328,67 +335,13 @@ Modify `.swcrc` file to your source code.
|
|
|
328
335
|
|
|
329
336
|
## 🤝 Contributors
|
|
330
337
|
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
- Jeongwon Kim [https://github.com/swtpumpkin](https://github.com/swtpumpkin)
|
|
334
|
-
|
|
335
|
-
- João Silva [https://github.com/joaopms](https://github.com/joaopms)
|
|
336
|
-
|
|
337
|
-
- BitYoungjae [https://github.com/BitYoungjae](https://github.com/BitYoungjae)
|
|
338
|
-
|
|
339
|
-
- Paolo Tagliani [https://github.com/pablosproject](https://github.com/pablosproject)
|
|
340
|
-
|
|
341
|
-
- Lloyd Park [https://github.com/yeondam88](https://github.com/yeondam88)
|
|
342
|
-
|
|
343
|
-
- strama4 [https://github.com/strama4](https://github.com/strama4)
|
|
344
|
-
|
|
345
|
-
- sonbyungjun [https://github.com/sonbyungjun](https://github.com/sonbyungjun)
|
|
346
|
-
|
|
347
|
-
- Sean Maxwell [https://github.com/seanpmaxwell](https://github.com/seanpmaxwell)
|
|
348
|
-
|
|
349
|
-
- Ed Guy [https://github.com/edguy3](https://github.com/edguy3)
|
|
350
|
-
|
|
351
|
-
- Malavan [https://github.com/malavancs](https://github.com/malavancs)
|
|
352
|
-
|
|
353
|
-
- Jon Gallant [https://github.com/jongio](https://github.com/jongio)
|
|
354
|
-
|
|
355
|
-
- Kuba Rozkwitalski [https://github.com/kubarozkwitalski](https://github.com/kubarozkwitalski)
|
|
356
|
-
|
|
357
|
-
- Craig Harman [https://github.com/craigharman](https://github.com/craigharman)
|
|
358
|
-
|
|
359
|
-
- Edward Teixeira Dias Junior [https://github.com/edward-teixeira](https://github.com/edward-teixeira)
|
|
360
|
-
|
|
361
|
-
- n2ptune [https://github.com/n2ptune](https://github.com/n2ptune)
|
|
362
|
-
|
|
363
|
-
- michael r [https://github.com/alanmynah](https://github.com/alanmynah)
|
|
364
|
-
|
|
365
|
-
- Benjamin [https://github.com/benjaminudoh10](https://github.com/benjaminudoh10)
|
|
366
|
-
|
|
367
|
-
- Amrik Singh [https://github.com/AmrikSD](https://github.com/AmrikSD)
|
|
368
|
-
|
|
369
|
-
- oricc [https://github.com/oricc](https://github.com/oricc)
|
|
370
|
-
|
|
371
|
-
- Dustin Newbold [https://github.com/dustinnewbold](https://github.com/dustinnewbold)
|
|
372
|
-
|
|
373
|
-
- WhatIfWeDigDeeper [https://github.com/WhatIfWeDigDeeper](https://github.com/WhatIfWeDigDeeper)
|
|
374
|
-
|
|
375
|
-
- David Stewart [https://github.com/davidjmstewart](https://github.com/davidjmstewart)
|
|
376
|
-
|
|
377
|
-
- JagTheFriend [JagTheFriend](https://github.com/JagTheFriend)
|
|
378
|
-
|
|
379
|
-
- Tamzid Karim [Tamzid Karim](https://github.com/tamzidkarim)
|
|
380
|
-
|
|
381
|
-
- Andrija Milojević [https://github.com/andrija29](https://github.com/andrija29)
|
|
382
|
-
|
|
383
|
-
- Engjell Avdiu [https://github.com/engjellavdiu](https://github.com/engjellavdiu)
|
|
384
|
-
|
|
385
|
-
- Florian Mifsud [https://github.com/florianmifsud](https://github.com/florianmifsud)
|
|
338
|
+
[](https://github.com/ljlm0402/typescript-express-starter/graphs/contributors)
|
|
386
339
|
|
|
387
340
|
## 💳 License
|
|
388
341
|
|
|
389
342
|
[MIT](LICENSE)
|
|
390
343
|
|
|
391
|
-
##
|
|
344
|
+
## 📑 Recommended Commit Message
|
|
392
345
|
|
|
393
346
|
| When | Commit Message |
|
|
394
347
|
| :--------------- | :----------------- |
|
|
@@ -402,8 +355,10 @@ Modify `.swcrc` file to your source code.
|
|
|
402
355
|
|
|
403
356
|
## 📬 Please request an issue
|
|
404
357
|
|
|
405
|
-
|
|
358
|
+
Please leave a question or question as an issue.
|
|
359
|
+
|
|
360
|
+
I will do my best to answer and reflect.
|
|
406
361
|
|
|
407
|
-
Thank you
|
|
362
|
+
Thank you for your interest.
|
|
408
363
|
|
|
409
|
-
#
|
|
364
|
+
# ദ്ദി*ˊᗜˋ*)
|
package/bin/cli.js
CHANGED
package/lib/default/.swcrc
CHANGED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# NodeJS Version 16
|
|
2
|
+
FROM node:16.18-buster-slim
|
|
3
|
+
|
|
4
|
+
# Copy Dir
|
|
5
|
+
COPY . ./app
|
|
6
|
+
|
|
7
|
+
# Work to Dir
|
|
8
|
+
WORKDIR /app
|
|
9
|
+
|
|
10
|
+
# Install Node Package
|
|
11
|
+
RUN npm install --legacy-peer-deps
|
|
12
|
+
|
|
13
|
+
# Set Env
|
|
14
|
+
ENV NODE_ENV development
|
|
15
|
+
EXPOSE 3000
|
|
16
|
+
|
|
17
|
+
# Cmd script
|
|
18
|
+
CMD ["npm", "run", "dev"]
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# NodeJS Version 16
|
|
2
|
+
FROM node:16.18-buster-slim
|
|
3
|
+
|
|
4
|
+
# Copy Dir
|
|
5
|
+
COPY . ./app
|
|
6
|
+
|
|
7
|
+
# Work to Dir
|
|
8
|
+
WORKDIR /app
|
|
9
|
+
|
|
10
|
+
# Install Node Package
|
|
11
|
+
RUN npm install --legacy-peer-deps
|
|
12
|
+
|
|
13
|
+
# Set Env
|
|
14
|
+
ENV NODE_ENV production
|
|
15
|
+
EXPOSE 3000
|
|
16
|
+
|
|
17
|
+
# Cmd script
|
|
18
|
+
CMD ["npm", "run", "start"]
|
package/lib/default/Makefile
CHANGED
|
@@ -2,28 +2,41 @@
|
|
|
2
2
|
# ex) production-stage: make build APP_NAME=<APP_NAME>
|
|
3
3
|
# ex) development-stage: make build-dev APP_NAME=<APP_NAME>
|
|
4
4
|
|
|
5
|
+
SHELL := /bin/bash
|
|
6
|
+
|
|
5
7
|
APP_NAME = typescript-express
|
|
6
8
|
APP_NAME := $(APP_NAME)
|
|
7
9
|
|
|
8
|
-
.PHONY:
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
.PHONY: help up down clean db
|
|
11
|
+
|
|
12
|
+
help:
|
|
13
|
+
@grep -E '^[1-9a-zA-Z_-]+:.*?## .*$$|(^#--)' $(MAKEFILE_LIST) \
|
|
14
|
+
| awk 'BEGIN {FS = ":.*?## "}; {printf "\033[32m %-43s\033[0m %s\n", $$1, $$2}' \
|
|
15
|
+
| sed -e 's/\[32m #-- /[33m/'
|
|
16
|
+
|
|
17
|
+
#-- Docker
|
|
18
|
+
up: ## Up the container images
|
|
19
|
+
docker-compose up -d
|
|
20
|
+
|
|
21
|
+
down: ## Down the container images
|
|
22
|
+
docker-compose down
|
|
14
23
|
|
|
15
|
-
|
|
16
|
-
build:
|
|
24
|
+
build: ## Build the container image - Production
|
|
17
25
|
docker build -t ${APP_NAME}\
|
|
18
|
-
|
|
19
|
-
-f Dockerfile .
|
|
26
|
+
-f Dockerfile.prod .
|
|
20
27
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
28
|
+
build-dev: ## Build the container image - Development
|
|
29
|
+
docker build -t ${APP_NAME}\
|
|
30
|
+
-f Dockerfile.dev .
|
|
24
31
|
|
|
25
|
-
|
|
26
|
-
run:
|
|
32
|
+
run: ## Run the container image
|
|
27
33
|
docker run -d -it -p 3000:3000 ${APP_NAME}
|
|
28
34
|
|
|
29
|
-
|
|
35
|
+
pause: ## Pause the containers
|
|
36
|
+
docker container rm -f ${APP_NAME}
|
|
37
|
+
|
|
38
|
+
clean: ## Clean the images
|
|
39
|
+
docker rmi -f ${APP_NAME}
|
|
40
|
+
|
|
41
|
+
remove: ## Remove the volumes
|
|
42
|
+
docker volume rm -f ${APP_NAME}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
version:
|
|
1
|
+
version: "3.9"
|
|
2
2
|
|
|
3
3
|
services:
|
|
4
4
|
proxy:
|
|
5
|
-
image: nginx:alpine
|
|
6
5
|
container_name: proxy
|
|
6
|
+
image: nginx:alpine
|
|
7
7
|
ports:
|
|
8
|
-
-
|
|
8
|
+
- "80:80"
|
|
9
9
|
volumes:
|
|
10
10
|
- ./nginx.conf:/etc/nginx/nginx.conf
|
|
11
|
-
restart:
|
|
11
|
+
restart: "unless-stopped"
|
|
12
12
|
networks:
|
|
13
13
|
- backend
|
|
14
|
+
|
|
14
15
|
server:
|
|
16
|
+
container_name: server
|
|
15
17
|
build:
|
|
16
18
|
context: ./
|
|
17
|
-
|
|
18
|
-
dockerfile: Dockerfile
|
|
19
|
-
container_name: server
|
|
19
|
+
dockerfile: Dockerfile.dev
|
|
20
20
|
ports:
|
|
21
|
-
-
|
|
21
|
+
- "3000:3000"
|
|
22
22
|
volumes:
|
|
23
23
|
- ./:/app
|
|
24
24
|
- /app/node_modules
|
package/lib/default/package.json
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"build": "swc src -d dist --source-maps --copy-files",
|
|
11
11
|
"build:tsc": "tsc && tsc-alias",
|
|
12
12
|
"test": "jest --forceExit --detectOpenHandles",
|
|
13
|
-
"lint": "eslint --ignore-path .gitignore --ext .ts src
|
|
13
|
+
"lint": "eslint --ignore-path .gitignore --ext .ts src",
|
|
14
14
|
"lint:fix": "npm run lint -- --fix",
|
|
15
15
|
"deploy:prod": "npm run build && pm2 start ecosystem.config.js --only prod",
|
|
16
16
|
"deploy:dev": "pm2 start ecosystem.config.js --only dev"
|
|
@@ -29,8 +29,10 @@
|
|
|
29
29
|
"hpp": "^0.2.3",
|
|
30
30
|
"jsonwebtoken": "^8.5.1",
|
|
31
31
|
"morgan": "^1.10.0",
|
|
32
|
+
"reflect-metadata": "^0.1.13",
|
|
32
33
|
"swagger-jsdoc": "^6.2.1",
|
|
33
34
|
"swagger-ui-express": "^4.5.0",
|
|
35
|
+
"typedi": "^0.10.0",
|
|
34
36
|
"winston": "^3.8.1",
|
|
35
37
|
"winston-daily-rotate-file": "^4.7.1"
|
|
36
38
|
},
|
package/lib/default/src/app.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
1
2
|
import compression from 'compression';
|
|
2
3
|
import cookieParser from 'cookie-parser';
|
|
3
4
|
import cors from 'cors';
|
|
@@ -9,10 +10,10 @@ import swaggerJSDoc from 'swagger-jsdoc';
|
|
|
9
10
|
import swaggerUi from 'swagger-ui-express';
|
|
10
11
|
import { NODE_ENV, PORT, LOG_FORMAT, ORIGIN, CREDENTIALS } from '@config';
|
|
11
12
|
import { Routes } from '@interfaces/routes.interface';
|
|
12
|
-
import
|
|
13
|
+
import { ErrorMiddleware } from '@middlewares/error.middleware';
|
|
13
14
|
import { logger, stream } from '@utils/logger';
|
|
14
15
|
|
|
15
|
-
class App {
|
|
16
|
+
export class App {
|
|
16
17
|
public app: express.Application;
|
|
17
18
|
public env: string;
|
|
18
19
|
public port: string | number;
|
|
@@ -75,8 +76,6 @@ class App {
|
|
|
75
76
|
}
|
|
76
77
|
|
|
77
78
|
private initializeErrorHandling() {
|
|
78
|
-
this.app.use(
|
|
79
|
+
this.app.use(ErrorMiddleware);
|
|
79
80
|
}
|
|
80
81
|
}
|
|
81
|
-
|
|
82
|
-
export default App;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { NextFunction, Request, Response } from 'express';
|
|
2
|
-
import {
|
|
2
|
+
import { Container } from 'typedi';
|
|
3
3
|
import { RequestWithUser } from '@interfaces/auth.interface';
|
|
4
4
|
import { User } from '@interfaces/users.interface';
|
|
5
|
-
import AuthService from '@services/auth.service';
|
|
5
|
+
import { AuthService } from '@services/auth.service';
|
|
6
6
|
|
|
7
|
-
class AuthController {
|
|
8
|
-
public
|
|
7
|
+
export class AuthController {
|
|
8
|
+
public auth = Container.get(AuthService);
|
|
9
9
|
|
|
10
10
|
public signUp = async (req: Request, res: Response, next: NextFunction): Promise<void> => {
|
|
11
11
|
try {
|
|
12
|
-
const userData:
|
|
13
|
-
const signUpUserData: User = await this.
|
|
12
|
+
const userData: User = req.body;
|
|
13
|
+
const signUpUserData: User = await this.auth.signup(userData);
|
|
14
14
|
|
|
15
15
|
res.status(201).json({ data: signUpUserData, message: 'signup' });
|
|
16
16
|
} catch (error) {
|
|
@@ -20,8 +20,8 @@ class AuthController {
|
|
|
20
20
|
|
|
21
21
|
public logIn = async (req: Request, res: Response, next: NextFunction): Promise<void> => {
|
|
22
22
|
try {
|
|
23
|
-
const userData:
|
|
24
|
-
const { cookie, findUser } = await this.
|
|
23
|
+
const userData: User = req.body;
|
|
24
|
+
const { cookie, findUser } = await this.auth.login(userData);
|
|
25
25
|
|
|
26
26
|
res.setHeader('Set-Cookie', [cookie]);
|
|
27
27
|
res.status(200).json({ data: findUser, message: 'login' });
|
|
@@ -33,7 +33,7 @@ class AuthController {
|
|
|
33
33
|
public logOut = async (req: RequestWithUser, res: Response, next: NextFunction): Promise<void> => {
|
|
34
34
|
try {
|
|
35
35
|
const userData: User = req.user;
|
|
36
|
-
const logOutUserData: User = await this.
|
|
36
|
+
const logOutUserData: User = await this.auth.logout(userData);
|
|
37
37
|
|
|
38
38
|
res.setHeader('Set-Cookie', ['Authorization=; Max-age=0']);
|
|
39
39
|
res.status(200).json({ data: logOutUserData, message: 'logout' });
|
|
@@ -42,5 +42,3 @@ class AuthController {
|
|
|
42
42
|
}
|
|
43
43
|
};
|
|
44
44
|
}
|
|
45
|
-
|
|
46
|
-
export default AuthController;
|