diff --git a/package-lock.json b/package-lock.json index 012c17a815c026cf9aef0630794c6055b21357e5..f36c8ee8c368bc669f0b3216cc962adf19c44cde 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,62 +8,10 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "accepts": "^1.3.7", - "acorn": "^8.5.0", - "acorn-walk": "^8.2.0", - "arg": "^4.1.3", - "array-flatten": "^1.1.1", - "body-parser": "^1.19.0", - "bytes": "^3.1.0", - "content-disposition": "^0.5.3", - "content-type": "^1.0.4", - "cookie": "^0.4.0", - "cookie-signature": "^1.0.6", - "create-require": "^1.1.1", - "debug": "^2.6.9", - "depd": "^1.1.2", - "destroy": "^1.0.4", - "diff": "^4.0.2", - "ee-first": "^1.1.1", - "encodeurl": "^1.0.2", - "escape-html": "^1.0.3", - "etag": "^1.8.1", + "cors": "^2.8.5", + "dotenv": "^10.0.0", "express": "^4.17.1", - "finalhandler": "^1.1.2", - "forwarded": "^0.2.0", - "fresh": "^0.5.2", - "http-errors": "^1.7.2", - "iconv-lite": "^0.4.24", - "inherits": "^2.0.3", - "ipaddr.js": "^1.9.1", - "make-error": "^1.3.6", - "media-typer": "^0.3.0", - "merge-descriptors": "^1.0.1", - "methods": "^1.1.2", - "mime": "^1.6.0", - "mime-db": "^1.50.0", - "mime-types": "^2.1.33", - "ms": "^2.0.0", - "negotiator": "^0.6.2", - "on-finished": "^2.3.0", - "parseurl": "^1.3.3", - "path-to-regexp": "^0.1.7", - "proxy-addr": "^2.0.7", - "qs": "^6.7.0", - "range-parser": "^1.2.1", - "raw-body": "^2.4.0", - "safe-buffer": "^5.1.2", - "safer-buffer": "^2.1.2", - "send": "^0.17.1", - "serve-static": "^1.14.1", - "setprototypeof": "^1.1.1", - "statuses": "^1.5.0", - "toidentifier": "^1.0.0", - "type-is": "^1.6.18", - "unpipe": "^1.0.0", - "utils-merge": "^1.0.1", - "vary": "^1.1.2", - "yn": "^3.1.1" + "morgan": "^1.10.0" }, "devDependencies": { "@types/express": "^4.17.13", @@ -237,6 +185,7 @@ "version": "8.5.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==", + "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -248,6 +197,7 @@ "version": "8.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, "engines": { "node": ">=0.4.0" } @@ -301,7 +251,8 @@ "node_modules/arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true }, "node_modules/array-flatten": { "version": "1.1.1", @@ -314,6 +265,17 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "node_modules/basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -607,10 +569,23 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/create-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true }, "node_modules/crypto-random-string": { "version": "2.0.0", @@ -673,6 +648,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, "engines": { "node": ">=0.3.1" } @@ -689,6 +665,14 @@ "node": ">=8" } }, + "node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "engines": { + "node": ">=10" + } + }, "node_modules/duplexer3": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", @@ -1203,7 +1187,8 @@ "node_modules/make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true }, "node_modules/media-typer": { "version": "0.3.0", @@ -1283,6 +1268,29 @@ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, + "node_modules/morgan": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz", + "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", + "dependencies": { + "basic-auth": "~2.0.1", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-finished": "~2.3.0", + "on-headers": "~1.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/morgan/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -1373,6 +1381,14 @@ "node": ">=8" } }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", @@ -1384,6 +1400,14 @@ "node": ">= 0.8" } }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -2041,6 +2065,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, "engines": { "node": ">=6" } @@ -2195,12 +2220,14 @@ "acorn": { "version": "8.5.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", - "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==" + "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==", + "dev": true }, "acorn-walk": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true }, "ansi-align": { "version": "3.0.1", @@ -2239,7 +2266,8 @@ "arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true }, "array-flatten": { "version": "1.1.1", @@ -2252,6 +2280,14 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "requires": { + "safe-buffer": "5.1.2" + } + }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -2475,10 +2511,20 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, "create-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true }, "crypto-random-string": { "version": "2.0.0", @@ -2528,7 +2574,8 @@ "diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true }, "dot-prop": { "version": "5.3.0", @@ -2539,6 +2586,11 @@ "is-obj": "^2.0.0" } }, + "dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" + }, "duplexer3": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", @@ -2931,7 +2983,8 @@ "make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true }, "media-typer": { "version": "0.3.0", @@ -2987,6 +3040,25 @@ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, + "morgan": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz", + "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", + "requires": { + "basic-auth": "~2.0.1", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-finished": "~2.3.0", + "on-headers": "~1.0.2" + }, + "dependencies": { + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + } + } + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -3053,6 +3125,11 @@ "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", "dev": true }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", @@ -3061,6 +3138,11 @@ "ee-first": "1.1.1" } }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -3558,7 +3640,8 @@ "yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true } } } diff --git a/package.json b/package.json index b664bfbe5c91d53cf8adc581a1be895474e5aad1..2b7564ab1a7514c5eabca3a394d2ec9c72c4f5ad 100644 --- a/package.json +++ b/package.json @@ -4,62 +4,10 @@ "description": "", "main": "main.js", "dependencies": { - "accepts": "^1.3.7", - "acorn": "^8.5.0", - "acorn-walk": "^8.2.0", - "arg": "^4.1.3", - "array-flatten": "^1.1.1", - "body-parser": "^1.19.0", - "bytes": "^3.1.0", - "content-disposition": "^0.5.3", - "content-type": "^1.0.4", - "cookie": "^0.4.0", - "cookie-signature": "^1.0.6", - "create-require": "^1.1.1", - "debug": "^2.6.9", - "depd": "^1.1.2", - "destroy": "^1.0.4", - "diff": "^4.0.2", - "ee-first": "^1.1.1", - "encodeurl": "^1.0.2", - "escape-html": "^1.0.3", - "etag": "^1.8.1", + "cors": "^2.8.5", + "dotenv": "^10.0.0", "express": "^4.17.1", - "finalhandler": "^1.1.2", - "forwarded": "^0.2.0", - "fresh": "^0.5.2", - "http-errors": "^1.7.2", - "iconv-lite": "^0.4.24", - "inherits": "^2.0.3", - "ipaddr.js": "^1.9.1", - "make-error": "^1.3.6", - "media-typer": "^0.3.0", - "merge-descriptors": "^1.0.1", - "methods": "^1.1.2", - "mime": "^1.6.0", - "mime-db": "^1.50.0", - "mime-types": "^2.1.33", - "ms": "^2.0.0", - "negotiator": "^0.6.2", - "on-finished": "^2.3.0", - "parseurl": "^1.3.3", - "path-to-regexp": "^0.1.7", - "proxy-addr": "^2.0.7", - "qs": "^6.7.0", - "range-parser": "^1.2.1", - "raw-body": "^2.4.0", - "safe-buffer": "^5.1.2", - "safer-buffer": "^2.1.2", - "send": "^0.17.1", - "serve-static": "^1.14.1", - "setprototypeof": "^1.1.1", - "statuses": "^1.5.0", - "toidentifier": "^1.0.0", - "type-is": "^1.6.18", - "unpipe": "^1.0.0", - "utils-merge": "^1.0.1", - "vary": "^1.1.2", - "yn": "^3.1.1" + "morgan": "^1.10.0" }, "scripts": { "start": "ts-node ./src/main.ts", diff --git a/src/config/app.ts b/src/config/app.ts new file mode 100644 index 0000000000000000000000000000000000000000..988bc90044f35385141fa89b87fd935729f75d63 --- /dev/null +++ b/src/config/app.ts @@ -0,0 +1,4 @@ +export const appConfig = { + SERVICE_NAME: 'ttl-lifo', + TTL_EXPIRATION: 30 +} \ No newline at end of file diff --git a/src/config/env.ts b/src/config/env.ts new file mode 100644 index 0000000000000000000000000000000000000000..d38c7de1ad6f9fac6c91764192a27982784df6e8 --- /dev/null +++ b/src/config/env.ts @@ -0,0 +1,4 @@ +export const envConfig = { + PORT: 3000, + NODE_ENV: 'dev', +} \ No newline at end of file diff --git a/src/config/index.ts b/src/config/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..5123ec3ef2c2f444b831d40c2e30087a2568932a --- /dev/null +++ b/src/config/index.ts @@ -0,0 +1,9 @@ +import { envConfig } from './env'; +import { appConfig } from './app'; + +export const getConfig = () => { + const env = process.env; + const config = { ...appConfig, ...envConfig, ...env }; + + return config; +} \ No newline at end of file diff --git a/src/main.ts b/src/main.ts index 6065f87fc1dc984f959cd44d36c1c8adb312e420..b992263b9a513b9f46f377bb43d8f600d45335bb 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,15 +1,23 @@ -import express from 'express'; -import { Request, Response } from 'express'; +require('dotenv').config(); +import express, { Request, Response } from 'express'; +const cors = require("cors"); +const morgan = require("morgan"); +import { getConfig } from './config'; + +const app = express(); async function start() { - const app = express(); + const config = getConfig(); + app.use(express.json()); + app.use(cors()) + app.use(morgan('combained')); app.get('/', (req: Request, res: Response) => { res.send('Application works!'); }); - app.listen(3000, () => { - console.log('Application started on port 3000!'); + app.listen(config.PORT, () => { + console.log(`Application started on port ${config.PORT}!`); }); }