@sundaysf/cli-v2 1.0.1 → 1.0.3

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.
Files changed (108) hide show
  1. package/README.md +178 -178
  2. package/dist/README.md +178 -178
  3. package/dist/bin/generators/class.js.map +1 -1
  4. package/dist/bin/generators/postman.js.map +1 -1
  5. package/dist/bin/index.js +1 -1
  6. package/dist/bin/index.js.map +1 -1
  7. package/dist/templates/backend/.claude/agents/knex-table-implementer.md +113 -113
  8. package/dist/templates/backend/.claude/agents/sundays-backend-builder.md +70 -70
  9. package/dist/templates/backend/.claude/settings.local.json +13 -13
  10. package/dist/templates/backend/.env.example +13 -13
  11. package/dist/templates/backend/.prettierignore +2 -2
  12. package/dist/templates/backend/.prettierrc +9 -9
  13. package/dist/templates/backend/CLAUDE.md +348 -348
  14. package/dist/templates/backend/Dockerfile +14 -14
  15. package/dist/templates/backend/README.md +18 -18
  16. package/dist/templates/backend/eslint.config.js +20 -20
  17. package/dist/templates/backend/src/app.ts +34 -34
  18. package/dist/templates/backend/src/common/config/origins/origins.config.ts +11 -11
  19. package/dist/templates/backend/src/common/utils/environment.resolver.ts +3 -3
  20. package/dist/templates/backend/src/common/utils/version.resolver.ts +4 -4
  21. package/dist/templates/backend/src/controllers/health/health.controller.ts +23 -23
  22. package/dist/templates/backend/src/middlewares/error/error.middleware.ts +21 -21
  23. package/dist/templates/backend/src/routes/health/health.router.ts +16 -16
  24. package/dist/templates/backend/src/routes/index.ts +57 -57
  25. package/dist/templates/backend/src/server.ts +16 -16
  26. package/dist/templates/backend/src/types.d.ts +10 -10
  27. package/dist/templates/backend/tsconfig.json +16 -16
  28. package/dist/templates/backend-db-sql/.claude/agents/knex-table-implementer.md +114 -114
  29. package/dist/templates/backend-db-sql/.claude/agents/sundays-backend-builder.md +70 -70
  30. package/dist/templates/backend-db-sql/.claude/settings.local.json +19 -19
  31. package/dist/templates/backend-db-sql/.env.example +13 -13
  32. package/dist/templates/backend-db-sql/.prettierignore +2 -2
  33. package/dist/templates/backend-db-sql/.prettierrc +9 -9
  34. package/dist/templates/backend-db-sql/CLAUDE.md +374 -374
  35. package/dist/templates/backend-db-sql/Dockerfile +17 -17
  36. package/dist/templates/backend-db-sql/README.md +34 -34
  37. package/dist/templates/backend-db-sql/db/knexfile.ts +33 -33
  38. package/dist/templates/backend-db-sql/db/migrations/001_create_sundays_package_version.ts +12 -12
  39. package/dist/templates/backend-db-sql/db/seeds/001_sundays_package_version_seed.ts +10 -10
  40. package/dist/templates/backend-db-sql/db/src/KnexConnection.ts +74 -74
  41. package/dist/templates/backend-db-sql/db/src/d.types.ts +18 -18
  42. package/dist/templates/backend-db-sql/db/src/dao/sundays-package-version/sundays-package-version.dao.ts +71 -71
  43. package/dist/templates/backend-db-sql/db/src/index.ts +9 -9
  44. package/dist/templates/backend-db-sql/db/src/interfaces/sundays-package-version/sundays-package-version.interfaces.ts +6 -6
  45. package/dist/templates/backend-db-sql/db/tsconfig.json +16 -16
  46. package/dist/templates/backend-db-sql/eslint.config.js +20 -20
  47. package/dist/templates/backend-db-sql/src/app.ts +34 -34
  48. package/dist/templates/backend-db-sql/src/common/config/origins/origins.config.ts +11 -11
  49. package/dist/templates/backend-db-sql/src/common/utils/environment.resolver.ts +3 -3
  50. package/dist/templates/backend-db-sql/src/common/utils/version.resolver.ts +4 -4
  51. package/dist/templates/backend-db-sql/src/controllers/health/health.controller.ts +23 -23
  52. package/dist/templates/backend-db-sql/src/middlewares/error/error.middleware.ts +21 -21
  53. package/dist/templates/backend-db-sql/src/routes/health/health.router.ts +16 -16
  54. package/dist/templates/backend-db-sql/src/routes/index.ts +57 -57
  55. package/dist/templates/backend-db-sql/src/server.ts +18 -18
  56. package/dist/templates/backend-db-sql/src/types.d.ts +10 -10
  57. package/dist/templates/backend-db-sql/tsconfig.json +16 -16
  58. package/dist/templates/backend-embedded-db-sql/.claude/agents/knex-table-implementer.md +116 -0
  59. package/dist/templates/backend-embedded-db-sql/.claude/agents/sundays-backend-builder.md +70 -0
  60. package/dist/templates/backend-embedded-db-sql/.claude/settings.local.json +18 -0
  61. package/dist/templates/backend-embedded-db-sql/.env.example +14 -0
  62. package/dist/templates/backend-embedded-db-sql/.prettierignore +3 -0
  63. package/dist/templates/backend-embedded-db-sql/.prettierrc +9 -0
  64. package/dist/templates/backend-embedded-db-sql/CLAUDE.md +371 -0
  65. package/dist/templates/backend-embedded-db-sql/Dockerfile +14 -0
  66. package/dist/templates/backend-embedded-db-sql/README.md +32 -0
  67. package/dist/templates/backend-embedded-db-sql/eslint.config.js +20 -0
  68. package/dist/templates/backend-embedded-db-sql/knexfile.ts +37 -0
  69. package/dist/templates/backend-embedded-db-sql/migrations/.gitkeep +0 -0
  70. package/dist/templates/backend-embedded-db-sql/migrations/001_create_sundays_package_version.ts +13 -0
  71. package/dist/templates/backend-embedded-db-sql/seeds/001_sundays_package_version_seed.ts +11 -0
  72. package/dist/templates/backend-embedded-db-sql/src/app.ts +35 -0
  73. package/dist/templates/backend-embedded-db-sql/src/common/config/origins/origins.config.ts +11 -0
  74. package/dist/templates/backend-embedded-db-sql/src/common/utils/environment.resolver.ts +4 -0
  75. package/dist/templates/backend-embedded-db-sql/src/common/utils/version.resolver.ts +5 -0
  76. package/dist/templates/backend-embedded-db-sql/src/controllers/health/health.controller.ts +24 -0
  77. package/dist/templates/backend-embedded-db-sql/src/db/KnexConnection.ts +74 -0
  78. package/dist/templates/backend-embedded-db-sql/src/db/d.types.ts +18 -0
  79. package/dist/templates/backend-embedded-db-sql/src/db/dao/sundays-package-version/sundays-package-version.dao.ts +71 -0
  80. package/dist/templates/backend-embedded-db-sql/src/db/index.ts +9 -0
  81. package/dist/templates/backend-embedded-db-sql/src/db/interfaces/sundays-package-version/sundays-package-version.interfaces.ts +6 -0
  82. package/dist/templates/backend-embedded-db-sql/src/middlewares/error/error.middleware.ts +21 -0
  83. package/dist/templates/backend-embedded-db-sql/src/routes/health/health.router.ts +17 -0
  84. package/dist/templates/backend-embedded-db-sql/src/routes/index.ts +57 -0
  85. package/dist/templates/backend-embedded-db-sql/src/server.ts +18 -0
  86. package/dist/templates/backend-embedded-db-sql/src/types.d.ts +10 -0
  87. package/dist/templates/backend-embedded-db-sql/tsconfig.json +16 -0
  88. package/dist/templates/db-sql/.claude/agents/knex-table-implementer.md +113 -113
  89. package/dist/templates/db-sql/.claude/agents/sundays-backend-builder.md +70 -70
  90. package/dist/templates/db-sql/.claude/settings.local.json +10 -10
  91. package/dist/templates/db-sql/.env.example +8 -8
  92. package/dist/templates/db-sql/CLAUDE.md +105 -105
  93. package/dist/templates/db-sql/knexfile.ts +33 -33
  94. package/dist/templates/db-sql/migrations/001_create_sundays_package_version.ts +12 -12
  95. package/dist/templates/db-sql/seeds/001_sundays_package_version_seed.ts +10 -10
  96. package/dist/templates/db-sql/src/KnexConnection.ts +74 -74
  97. package/dist/templates/db-sql/src/d.types.ts +18 -18
  98. package/dist/templates/db-sql/src/dao/sundays-package-version/sundays-package-version.dao.ts +71 -71
  99. package/dist/templates/db-sql/src/index.ts +9 -9
  100. package/dist/templates/db-sql/src/interfaces/sundays-package-version/sundays-package-version.interfaces.ts +6 -6
  101. package/dist/templates/db-sql/tsconfig.json +16 -16
  102. package/dist/templates/module/.claude/agents/knex-table-implementer.md +113 -113
  103. package/dist/templates/module/.claude/agents/sundays-backend-builder.md +70 -70
  104. package/dist/templates/module/.claude/settings.local.json +10 -10
  105. package/dist/templates/module/CLAUDE.md +158 -158
  106. package/dist/templates/module/src/index.ts +9 -9
  107. package/dist/templates/module/tsconfig.json +19 -19
  108. package/package.json +40 -40
@@ -1,14 +1,14 @@
1
- FROM node:22-alpine AS builder
2
- WORKDIR /var/api
3
- COPY package*.json ./
4
- RUN npm ci
5
- COPY . .
6
- RUN npm run build
7
-
8
- FROM node:22-alpine
9
- WORKDIR /var/api
10
- COPY package*.json ./
11
- RUN npm ci --omit=dev
12
- COPY --from=builder /var/api/dist ./dist
13
- EXPOSE 3098
14
- CMD ["node", "dist/server.js"]
1
+ FROM node:22-alpine AS builder
2
+ WORKDIR /var/api
3
+ COPY package*.json ./
4
+ RUN npm ci
5
+ COPY . .
6
+ RUN npm run build
7
+
8
+ FROM node:22-alpine
9
+ WORKDIR /var/api
10
+ COPY package*.json ./
11
+ RUN npm ci --omit=dev
12
+ COPY --from=builder /var/api/dist ./dist
13
+ EXPOSE 3098
14
+ CMD ["node", "dist/server.js"]
@@ -1,18 +1,18 @@
1
- # Sundays Framework Project
2
-
3
- This directory contains the starter backend generated by the CLI.
4
-
5
- ## Quick start
6
-
7
- 1. Install dependencies:
8
- ```
9
- npm install
10
- ```
11
- 2. Copy `.env.example` to `.env` and set your environment variables.
12
- 3. Start the development server:
13
- ```
14
- npm run start:dev
15
- ```
16
-
17
- The server will run on the port specified in your `.env` file.
18
-
1
+ # Sundays Framework Project
2
+
3
+ This directory contains the starter backend generated by the CLI.
4
+
5
+ ## Quick start
6
+
7
+ 1. Install dependencies:
8
+ ```
9
+ npm install
10
+ ```
11
+ 2. Copy `.env.example` to `.env` and set your environment variables.
12
+ 3. Start the development server:
13
+ ```
14
+ npm run start:dev
15
+ ```
16
+
17
+ The server will run on the port specified in your `.env` file.
18
+
@@ -1,20 +1,20 @@
1
- const eslint = require('@eslint/js');
2
- const tseslint = require('typescript-eslint');
3
-
4
- module.exports = tseslint.config(
5
- eslint.configs.recommended,
6
- ...tseslint.configs.recommended,
7
- {
8
- languageOptions: {
9
- parserOptions: {
10
- project: './tsconfig.json',
11
- },
12
- },
13
- rules: {},
14
- },
15
- {
16
- ignores: ['dist/', 'node_modules/'],
17
- }
18
- );
19
-
20
- //# sourceMappingURL=eslint.config.js.map
1
+ const eslint = require('@eslint/js');
2
+ const tseslint = require('typescript-eslint');
3
+
4
+ module.exports = tseslint.config(
5
+ eslint.configs.recommended,
6
+ ...tseslint.configs.recommended,
7
+ {
8
+ languageOptions: {
9
+ parserOptions: {
10
+ project: './tsconfig.json',
11
+ },
12
+ },
13
+ rules: {},
14
+ },
15
+ {
16
+ ignores: ['dist/', 'node_modules/'],
17
+ }
18
+ );
19
+
20
+ //# sourceMappingURL=eslint.config.js.map
@@ -1,35 +1,35 @@
1
- import dotenv from 'dotenv';
2
- import express, { type Express } from 'express';
3
- import logger from 'morgan';
4
- import cors from 'cors';
5
- import { IndexRouter } from './routes/index';
6
- import { errorMiddleware } from './middlewares/error/error.middleware';
7
- import { getAllowedOrigins } from './common/config/origins/origins.config';
8
- dotenv.config();
9
-
10
- const app: Express = express();
11
-
12
- app.use(
13
- logger('tiny', {
14
- skip: (req, _res) => {
15
- return req.originalUrl.startsWith('/api/health');
16
- },
17
- })
18
- );
19
-
20
- app.use(
21
- cors({
22
- origin: getAllowedOrigins(),
23
- credentials: true,
24
- allowedHeaders: ['Content-Type', 'Authorization'],
25
- })
26
- );
27
-
28
- app.use(express.urlencoded({ extended: true }));
29
- app.use(express.json());
30
-
31
- app.use('/api', new IndexRouter().router);
32
-
33
- app.use(errorMiddleware);
34
-
1
+ import dotenv from 'dotenv';
2
+ import express, { type Express } from 'express';
3
+ import logger from 'morgan';
4
+ import cors from 'cors';
5
+ import { IndexRouter } from './routes/index';
6
+ import { errorMiddleware } from './middlewares/error/error.middleware';
7
+ import { getAllowedOrigins } from './common/config/origins/origins.config';
8
+ dotenv.config();
9
+
10
+ const app: Express = express();
11
+
12
+ app.use(
13
+ logger('tiny', {
14
+ skip: (req, _res) => {
15
+ return req.originalUrl.startsWith('/api/health');
16
+ },
17
+ })
18
+ );
19
+
20
+ app.use(
21
+ cors({
22
+ origin: getAllowedOrigins(),
23
+ credentials: true,
24
+ allowedHeaders: ['Content-Type', 'Authorization'],
25
+ })
26
+ );
27
+
28
+ app.use(express.urlencoded({ extended: true }));
29
+ app.use(express.json());
30
+
31
+ app.use('/api', new IndexRouter().router);
32
+
33
+ app.use(errorMiddleware);
34
+
35
35
  export default app;
@@ -1,11 +1,11 @@
1
- export const getAllowedOrigins = (): string[] => {
2
- let origins: string = process.env.CORS_ALLOWED_ORIGINS || 'http://localhost:3098';
3
- origins = origins
4
- .split('\n')
5
- .join('')
6
- .split('\r')
7
- .join('')
8
- .split(' ')
9
- .join('');
10
- return origins.split(',');
11
- };
1
+ export const getAllowedOrigins = (): string[] => {
2
+ let origins: string = process.env.CORS_ALLOWED_ORIGINS || 'http://localhost:3098';
3
+ origins = origins
4
+ .split('\n')
5
+ .join('')
6
+ .split('\r')
7
+ .join('')
8
+ .split(' ')
9
+ .join('');
10
+ return origins.split(',');
11
+ };
@@ -1,4 +1,4 @@
1
- export const getServiceEnvironment = (): string => {
2
- const serEnv: string = process.env.ENVIRONMENT || 'undefined';
3
- return serEnv.charAt(0).toUpperCase() + serEnv.slice(1);
1
+ export const getServiceEnvironment = (): string => {
2
+ const serEnv: string = process.env.ENVIRONMENT || 'undefined';
3
+ return serEnv.charAt(0).toUpperCase() + serEnv.slice(1);
4
4
  };
@@ -1,5 +1,5 @@
1
- const pjson = require('../../../package.json');
2
-
3
- export const getServiceVersion = (): string => {
4
- return pjson['version'];
1
+ const pjson = require('../../../package.json');
2
+
3
+ export const getServiceVersion = (): string => {
4
+ return pjson['version'];
5
5
  };
@@ -1,24 +1,24 @@
1
- import { NextFunction, Request, Response } from 'express';
2
- import { getServiceVersion } from '../../common/utils/version.resolver';
3
- import { getServiceEnvironment } from '../../common/utils/environment.resolver';
4
-
5
- export class HealthController {
6
- public async getHealthStatus(
7
- _req: Request,
8
- res: Response,
9
- next: NextFunction
10
- ): Promise<void> {
11
- try {
12
- const version: string = await getServiceVersion();
13
- const environment: string = await getServiceEnvironment();
14
- res.status(200).json({
15
- success: true,
16
- health: 'Up!',
17
- version,
18
- environment,
19
- });
20
- } catch (err: any) {
21
- next(err);
22
- }
23
- }
1
+ import { NextFunction, Request, Response } from 'express';
2
+ import { getServiceVersion } from '../../common/utils/version.resolver';
3
+ import { getServiceEnvironment } from '../../common/utils/environment.resolver';
4
+
5
+ export class HealthController {
6
+ public async getHealthStatus(
7
+ _req: Request,
8
+ res: Response,
9
+ next: NextFunction
10
+ ): Promise<void> {
11
+ try {
12
+ const version: string = await getServiceVersion();
13
+ const environment: string = await getServiceEnvironment();
14
+ res.status(200).json({
15
+ success: true,
16
+ health: 'Up!',
17
+ version,
18
+ environment,
19
+ });
20
+ } catch (err: any) {
21
+ next(err);
22
+ }
23
+ }
24
24
  }
@@ -1,21 +1,21 @@
1
- import { NextFunction, Response, Request } from 'express';
2
- export const errorMiddleware = (
3
- err: any,
4
- req: Request | any,
5
- res: Response,
6
- _next: NextFunction
7
- ) => {
8
- console.error(err);
9
- const statusError: number =
10
- err.statusError ||
11
- err.statusCode ||
12
- err.status ||
13
- req.statusCode ||
14
- req.statusError ||
15
- 500;
16
- const isProduction = process.env.ENVIRONMENT === 'production';
17
- res.status(statusError).json({
18
- success: false,
19
- message: isProduction && statusError === 500 ? 'Internal server error' : err.message,
20
- });
21
- };
1
+ import { NextFunction, Response, Request } from 'express';
2
+ export const errorMiddleware = (
3
+ err: any,
4
+ req: Request | any,
5
+ res: Response,
6
+ _next: NextFunction
7
+ ) => {
8
+ console.error(err);
9
+ const statusError: number =
10
+ err.statusError ||
11
+ err.statusCode ||
12
+ err.status ||
13
+ req.statusCode ||
14
+ req.statusError ||
15
+ 500;
16
+ const isProduction = process.env.ENVIRONMENT === 'production';
17
+ res.status(statusError).json({
18
+ success: false,
19
+ message: isProduction && statusError === 500 ? 'Internal server error' : err.message,
20
+ });
21
+ };
@@ -1,17 +1,17 @@
1
- import { Router } from 'express';
2
- import { HealthController } from '../../controllers/health/health.controller';
3
-
4
- export class HealthRouter {
5
- public router: Router = Router();
6
- private readonly healthController: HealthController = new HealthController();
7
- constructor() {
8
- this.initRoutes();
9
- }
10
-
11
- private initRoutes(): void {
12
- this.router.get(
13
- '/',
14
- this.healthController.getHealthStatus.bind(this.healthController)
15
- );
16
- }
1
+ import { Router } from 'express';
2
+ import { HealthController } from '../../controllers/health/health.controller';
3
+
4
+ export class HealthRouter {
5
+ public router: Router = Router();
6
+ private readonly healthController: HealthController = new HealthController();
7
+ constructor() {
8
+ this.initRoutes();
9
+ }
10
+
11
+ private initRoutes(): void {
12
+ this.router.get(
13
+ '/',
14
+ this.healthController.getHealthStatus.bind(this.healthController)
15
+ );
16
+ }
17
17
  }
@@ -1,57 +1,57 @@
1
- import { Router } from 'express';
2
- import fs from 'fs';
3
- import path from 'path';
4
-
5
- export class IndexRouter {
6
- private _router: Router;
7
-
8
- constructor() {
9
- this._router = Router();
10
- this.loadRoutes();
11
- }
12
-
13
- private loadRoutes(): void {
14
- const routesPath = path.join(__dirname);
15
-
16
- const folders = fs.readdirSync(routesPath).filter(file =>
17
- fs.statSync(path.join(routesPath, file)).isDirectory()
18
- );
19
-
20
- folders.forEach(folder => {
21
- const baseName = `${folder}.router`;
22
- const tsPath = path.join(routesPath, folder, `${baseName}.ts`);
23
- const jsPath = path.join(routesPath, folder, `${baseName}.js`);
24
-
25
- let filePath = '';
26
- if (fs.existsSync(tsPath)) {
27
- filePath = tsPath;
28
- } else if (fs.existsSync(jsPath)) {
29
- filePath = jsPath;
30
- } else {
31
- console.warn(`[⚠] No route file found for: ${folder}`);
32
- return;
33
- }
34
-
35
- try {
36
- const routeModule = require(filePath);
37
- const RouterClass =
38
- routeModule.default || Object.values(routeModule).find((e) => typeof e === 'function');
39
-
40
- if (RouterClass) {
41
- const instance = new (RouterClass as any)();
42
- this._router.use(`/${folder}`, instance.router);
43
- console.log(`[✔] Route mounted: /${folder} → ${path.basename(filePath)}`);
44
- } else {
45
- console.warn(`[⚠] No class exported in: ${filePath}`);
46
- }
47
- } catch (err) {
48
- console.error(`[❌] Failed to load router at: ${filePath}`);
49
- console.error(err);
50
- }
51
- });
52
- }
53
-
54
- public get router(): Router {
55
- return this._router;
56
- }
57
- }
1
+ import { Router } from 'express';
2
+ import fs from 'fs';
3
+ import path from 'path';
4
+
5
+ export class IndexRouter {
6
+ private _router: Router;
7
+
8
+ constructor() {
9
+ this._router = Router();
10
+ this.loadRoutes();
11
+ }
12
+
13
+ private loadRoutes(): void {
14
+ const routesPath = path.join(__dirname);
15
+
16
+ const folders = fs.readdirSync(routesPath).filter(file =>
17
+ fs.statSync(path.join(routesPath, file)).isDirectory()
18
+ );
19
+
20
+ folders.forEach(folder => {
21
+ const baseName = `${folder}.router`;
22
+ const tsPath = path.join(routesPath, folder, `${baseName}.ts`);
23
+ const jsPath = path.join(routesPath, folder, `${baseName}.js`);
24
+
25
+ let filePath = '';
26
+ if (fs.existsSync(tsPath)) {
27
+ filePath = tsPath;
28
+ } else if (fs.existsSync(jsPath)) {
29
+ filePath = jsPath;
30
+ } else {
31
+ console.warn(`[⚠] No route file found for: ${folder}`);
32
+ return;
33
+ }
34
+
35
+ try {
36
+ const routeModule = require(filePath);
37
+ const RouterClass =
38
+ routeModule.default || Object.values(routeModule).find((e) => typeof e === 'function');
39
+
40
+ if (RouterClass) {
41
+ const instance = new (RouterClass as any)();
42
+ this._router.use(`/${folder}`, instance.router);
43
+ console.log(`[✔] Route mounted: /${folder} → ${path.basename(filePath)}`);
44
+ } else {
45
+ console.warn(`[⚠] No class exported in: ${filePath}`);
46
+ }
47
+ } catch (err) {
48
+ console.error(`[❌] Failed to load router at: ${filePath}`);
49
+ console.error(err);
50
+ }
51
+ });
52
+ }
53
+
54
+ public get router(): Router {
55
+ return this._router;
56
+ }
57
+ }
@@ -1,16 +1,16 @@
1
- import dotenv from 'dotenv';
2
- dotenv.config();
3
-
4
- const envPort: string = process.env.PORT || '3005';
5
-
6
- if (isNaN(parseInt(envPort))) {
7
- throw new Error('The port must to be a number');
8
- }
9
-
10
- const PORT: number = parseInt(envPort);
11
-
12
- (async () => { })().then(async () => {
13
- const { default: app } = await import('./app');
14
- app.listen(PORT, () => console.info(`Server up and running on port ${PORT}`));
15
- });
16
-
1
+ import dotenv from 'dotenv';
2
+ dotenv.config();
3
+
4
+ const envPort: string = process.env.PORT || '3005';
5
+
6
+ if (isNaN(parseInt(envPort))) {
7
+ throw new Error('The port must to be a number');
8
+ }
9
+
10
+ const PORT: number = parseInt(envPort);
11
+
12
+ (async () => { })().then(async () => {
13
+ const { default: app } = await import('./app');
14
+ app.listen(PORT, () => console.info(`Server up and running on port ${PORT}`));
15
+ });
16
+
@@ -1,10 +1,10 @@
1
- import { Request, Response, NextFunction } from 'express';
2
-
3
- export interface IBaseController {
4
- getAll(req: Request, res: Response, next: NextFunction): Promise<void>;
5
- getByUuid(req: Request, res: Response, next: NextFunction): Promise<void>;
6
- create(req: Request, res: Response, next: NextFunction): Promise<void>;
7
- update(req: Request, res: Response, next: NextFunction): Promise<void>;
8
- patch(req: Request, res: Response, next: NextFunction): Promise<void>;
9
- delete(req: Request, res: Response, next: NextFunction): Promise<void>;
10
- }
1
+ import { Request, Response, NextFunction } from 'express';
2
+
3
+ export interface IBaseController {
4
+ getAll(req: Request, res: Response, next: NextFunction): Promise<void>;
5
+ getByUuid(req: Request, res: Response, next: NextFunction): Promise<void>;
6
+ create(req: Request, res: Response, next: NextFunction): Promise<void>;
7
+ update(req: Request, res: Response, next: NextFunction): Promise<void>;
8
+ patch(req: Request, res: Response, next: NextFunction): Promise<void>;
9
+ delete(req: Request, res: Response, next: NextFunction): Promise<void>;
10
+ }
@@ -1,16 +1,16 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2022",
4
- "module": "commonjs",
5
- "rootDir": "./src",
6
- "outDir": "./dist",
7
- "resolveJsonModule": true,
8
- "esModuleInterop": true,
9
- "forceConsistentCasingInFileNames": true,
10
- "strict": true,
11
- "noUnusedLocals": true,
12
- "skipLibCheck": true
13
- },
14
- "include": ["src/**/*"],
15
- "exclude": ["node_modules", "dist"]
16
- }
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "commonjs",
5
+ "rootDir": "./src",
6
+ "outDir": "./dist",
7
+ "resolveJsonModule": true,
8
+ "esModuleInterop": true,
9
+ "forceConsistentCasingInFileNames": true,
10
+ "strict": true,
11
+ "noUnusedLocals": true,
12
+ "skipLibCheck": true
13
+ },
14
+ "include": ["src/**/*"],
15
+ "exclude": ["node_modules", "dist"]
16
+ }