typescript-express-starter 9.1.2 → 10.0.0
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/.vscode/configurationCache.log +1 -0
- package/.vscode/dryrun.log +6 -0
- package/.vscode/settings.json +3 -0
- package/.vscode/targets.log +239 -0
- package/CONTRIBUTORS.md +61 -0
- package/README.kr.md +122 -161
- package/README.md +118 -157
- 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/jest.config.js +1 -1
- package/lib/default/package.json +42 -40
- 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 +25 -36
- package/lib/default/src/services/users.service.ts +20 -29
- 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/jest.config.js +1 -1
- package/lib/graphql/package.json +42 -41
- package/lib/graphql/src/app.ts +14 -13
- package/lib/graphql/src/config/index.ts +2 -2
- package/lib/{typeorm/src/databases → graphql/src/database}/index.ts +6 -6
- 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 +19 -27
- package/lib/graphql/src/repositories/users.repository.ts +9 -18
- 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/jest.config.js +1 -1
- package/lib/knex/knexfile.ts +8 -8
- package/lib/knex/package.json +44 -42
- package/lib/knex/src/app.ts +6 -7
- 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/{databases → database}/index.ts +4 -4
- 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 +27 -36
- package/lib/knex/src/services/users.service.ts +18 -23
- 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 +42 -40
- package/lib/mikro-orm/src/app.ts +10 -12
- 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 +23 -33
- package/lib/mikro-orm/src/services/users.service.ts +13 -21
- 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/jest.config.js +1 -1
- package/lib/mongoose/package.json +43 -41
- package/lib/mongoose/src/app.ts +6 -7
- 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/{databases → database}/index.ts +1 -2
- 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 +26 -37
- package/lib/mongoose/src/services/users.service.ts +19 -29
- 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/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/jest.config.js +1 -1
- package/lib/prisma/package.json +43 -41
- 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 +10 -16
- package/lib/prisma/src/services/users.service.ts +19 -27
- 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/jest.config.js +1 -1
- package/lib/routing-controllers/package.json +41 -40
- 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 +25 -35
- package/lib/routing-controllers/src/services/users.service.ts +17 -25
- 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/.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/jest.config.js +1 -1
- package/lib/sequelize/package.json +45 -43
- package/lib/sequelize/src/app.ts +5 -6
- package/lib/sequelize/src/config/index.ts +2 -1
- 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 +24 -35
- package/lib/sequelize/src/services/users.service.ts +18 -29
- 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 +18 -27
- 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/jest.config.js +1 -1
- package/lib/typegoose/package.json +41 -39
- package/lib/typegoose/src/app.ts +3 -2
- 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 +11 -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 +27 -36
- package/lib/typegoose/src/services/users.service.ts +17 -26
- 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/jest.config.js +1 -1
- package/lib/typeorm/package.json +42 -41
- package/lib/typeorm/src/app.ts +6 -8
- 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/{graphql/src/databases → typeorm/src/database}/index.ts +3 -3
- package/lib/typeorm/src/dtos/users.dto.ts +12 -1
- package/lib/typeorm/src/exceptions/httpException.ts +10 -0
- 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 +24 -32
- package/lib/typeorm/src/services/users.service.ts +10 -20
- package/lib/typeorm/src/{tests → test}/auth.test.ts +10 -11
- package/lib/typeorm/src/{tests → test}/users.test.ts +34 -38
- package/lib/typeorm/src/utils/validateEnv.ts +1 -3
- package/lib/typeorm/tsconfig.json +2 -2
- package/package.json +3 -3
- 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/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/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/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/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/default/src/exceptions/{HttpException.ts → httpException.ts} +0 -0
- package/lib/graphql/src/exceptions/{HttpException.ts → httpException.ts} +0 -0
- package/lib/knex/src/{databases → database}/migrations/.gitkeep +0 -0
- package/lib/knex/src/{databases → database}/seeds/.gitkeep +0 -0
- package/lib/knex/src/exceptions/{HttpException.ts → httpException.ts} +0 -0
- package/lib/mikro-orm/src/{databases → database}/index.ts +0 -0
- package/lib/mikro-orm/src/exceptions/{HttpException.ts → httpException.ts} +0 -0
- package/lib/mongoose/src/exceptions/{HttpException.ts → httpException.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/exceptions/HttpException.ts → node-postgres/src/exceptions/httpException.ts} +0 -0
- package/lib/{sequelize/src/exceptions/HttpException.ts → prisma/src/exceptions/httpException.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/routing-controllers/src/exceptions/{HttpException.ts → httpException.ts} +0 -0
- /package/lib/sequelize/src/{migrations → database/migrations}/.gitkeep +0 -0
- /package/lib/sequelize/src/{seeders → database/seeders}/.gitkeep +0 -0
- /package/lib/{typegoose/src/exceptions/HttpException.ts → sequelize/src/exceptions/httpException.ts} +0 -0
- /package/lib/{typeorm/src/exceptions/HttpException.ts → typegoose/src/exceptions/httpException.ts} +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,61 +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)
|
|
338
|
+
[](https://github.com/ljlm0402/typescript-express-starter/graphs/contributors)
|
|
380
339
|
|
|
381
340
|
## 💳 License
|
|
382
341
|
|
|
383
342
|
[MIT](LICENSE)
|
|
384
343
|
|
|
385
|
-
##
|
|
344
|
+
## 📑 Recommended Commit Message
|
|
386
345
|
|
|
387
346
|
| When | Commit Message |
|
|
388
347
|
| :--------------- | :----------------- |
|
|
@@ -396,8 +355,10 @@ Modify `.swcrc` file to your source code.
|
|
|
396
355
|
|
|
397
356
|
## 📬 Please request an issue
|
|
398
357
|
|
|
399
|
-
|
|
358
|
+
Please leave a question or question as an issue.
|
|
359
|
+
|
|
360
|
+
I will do my best to answer and reflect.
|
|
400
361
|
|
|
401
|
-
Thank you
|
|
362
|
+
Thank you for your interest.
|
|
402
363
|
|
|
403
|
-
#
|
|
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 - Dvelopment
|
|
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"
|
|
@@ -18,57 +18,59 @@
|
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"bcrypt": "^5.0.1",
|
|
20
20
|
"class-transformer": "^0.5.1",
|
|
21
|
-
"class-validator": "^0.13.
|
|
21
|
+
"class-validator": "^0.13.2",
|
|
22
22
|
"compression": "^1.7.4",
|
|
23
|
-
"cookie-parser": "^1.4.
|
|
23
|
+
"cookie-parser": "^1.4.6",
|
|
24
24
|
"cors": "^2.8.5",
|
|
25
|
-
"dotenv": "^
|
|
26
|
-
"envalid": "^7.1
|
|
27
|
-
"express": "^4.
|
|
28
|
-
"helmet": "^
|
|
25
|
+
"dotenv": "^16.0.1",
|
|
26
|
+
"envalid": "^7.3.1",
|
|
27
|
+
"express": "^4.18.1",
|
|
28
|
+
"helmet": "^5.1.1",
|
|
29
29
|
"hpp": "^0.2.3",
|
|
30
30
|
"jsonwebtoken": "^8.5.1",
|
|
31
31
|
"morgan": "^1.10.0",
|
|
32
|
-
"
|
|
33
|
-
"swagger-
|
|
34
|
-
"
|
|
35
|
-
"
|
|
32
|
+
"reflect-metadata": "^0.1.13",
|
|
33
|
+
"swagger-jsdoc": "^6.2.1",
|
|
34
|
+
"swagger-ui-express": "^4.5.0",
|
|
35
|
+
"typedi": "^0.10.0",
|
|
36
|
+
"winston": "^3.8.1",
|
|
37
|
+
"winston-daily-rotate-file": "^4.7.1"
|
|
36
38
|
},
|
|
37
39
|
"devDependencies": {
|
|
38
|
-
"@swc/cli": "^0.1.
|
|
39
|
-
"@swc/core": "^1.2.
|
|
40
|
+
"@swc/cli": "^0.1.57",
|
|
41
|
+
"@swc/core": "^1.2.220",
|
|
40
42
|
"@types/bcrypt": "^5.0.0",
|
|
41
|
-
"@types/compression": "^1.7.
|
|
42
|
-
"@types/cookie-parser": "^1.4.
|
|
43
|
-
"@types/cors": "^2.8.
|
|
43
|
+
"@types/compression": "^1.7.2",
|
|
44
|
+
"@types/cookie-parser": "^1.4.3",
|
|
45
|
+
"@types/cors": "^2.8.12",
|
|
44
46
|
"@types/express": "^4.17.13",
|
|
45
|
-
"@types/hpp": "^0.2.
|
|
46
|
-
"@types/jest": "
|
|
47
|
-
"@types/jsonwebtoken": "^8.5.
|
|
47
|
+
"@types/hpp": "^0.2.2",
|
|
48
|
+
"@types/jest": "^28.1.6",
|
|
49
|
+
"@types/jsonwebtoken": "^8.5.8",
|
|
48
50
|
"@types/morgan": "^1.9.3",
|
|
49
|
-
"@types/node": "^
|
|
50
|
-
"@types/supertest": "^2.0.
|
|
51
|
+
"@types/node": "^17.0.45",
|
|
52
|
+
"@types/supertest": "^2.0.12",
|
|
51
53
|
"@types/swagger-jsdoc": "^6.0.1",
|
|
52
54
|
"@types/swagger-ui-express": "^4.1.3",
|
|
53
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
54
|
-
"@typescript-eslint/parser": "^
|
|
55
|
+
"@typescript-eslint/eslint-plugin": "^5.29.0",
|
|
56
|
+
"@typescript-eslint/parser": "^5.29.0",
|
|
55
57
|
"cross-env": "^7.0.3",
|
|
56
|
-
"eslint": "^
|
|
57
|
-
"eslint-config-prettier": "^8.
|
|
58
|
-
"eslint-plugin-prettier": "^
|
|
59
|
-
"husky": "^
|
|
60
|
-
"jest": "
|
|
61
|
-
"lint-staged": "^
|
|
58
|
+
"eslint": "^8.20.0",
|
|
59
|
+
"eslint-config-prettier": "^8.5.0",
|
|
60
|
+
"eslint-plugin-prettier": "^4.2.1",
|
|
61
|
+
"husky": "^8.0.1",
|
|
62
|
+
"jest": "^28.1.1",
|
|
63
|
+
"lint-staged": "^13.0.3",
|
|
62
64
|
"node-config": "^0.0.2",
|
|
63
|
-
"node-gyp": "^
|
|
64
|
-
"nodemon": "^2.0.
|
|
65
|
-
"pm2": "^5.
|
|
66
|
-
"prettier": "^2.
|
|
67
|
-
"supertest": "^6.2.
|
|
68
|
-
"ts-jest": "^
|
|
69
|
-
"ts-node": "^10.
|
|
70
|
-
"tsc-alias": "^1.
|
|
71
|
-
"tsconfig-paths": "^
|
|
72
|
-
"typescript": "^4.
|
|
65
|
+
"node-gyp": "^9.1.0",
|
|
66
|
+
"nodemon": "^2.0.19",
|
|
67
|
+
"pm2": "^5.2.0",
|
|
68
|
+
"prettier": "^2.7.1",
|
|
69
|
+
"supertest": "^6.2.4",
|
|
70
|
+
"ts-jest": "^28.0.7",
|
|
71
|
+
"ts-node": "^10.9.1",
|
|
72
|
+
"tsc-alias": "^1.7.0",
|
|
73
|
+
"tsconfig-paths": "^4.0.0",
|
|
74
|
+
"typescript": "^4.7.4"
|
|
73
75
|
}
|
|
74
|
-
}
|
|
76
|
+
}
|
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;
|