From 11df74b3a43632cff45fae89221a1e78d1347f12 Mon Sep 17 00:00:00 2001 From: Akshay Date: Mon, 9 Aug 2021 10:02:25 +0530 Subject: [PATCH] Docker deploy setup for Nestjs (#474) * make nginx config generic * fixes env substituted * remove npm script dependencies from dev * match all nginx location to server * revert git clone dev branch --- deploy/ec2/nginx.conf | 99 ------------------------ deploy/ec2/setup_machine.sh | 20 +++-- deploy/ec2/tooljet_ubuntu_bionic.pkr.hcl | 2 +- docker/server.Dockerfile | 4 +- frontend/config/entrypoint.sh | 6 +- frontend/config/nginx.conf.template | 17 +--- server/entrypoint.sh | 2 +- server/package-lock.json | 80 ++++++------------- server/package.json | 10 +-- 9 files changed, 52 insertions(+), 188 deletions(-) delete mode 100644 deploy/ec2/nginx.conf diff --git a/deploy/ec2/nginx.conf b/deploy/ec2/nginx.conf deleted file mode 100644 index 57d61d65bf..0000000000 --- a/deploy/ec2/nginx.conf +++ /dev/null @@ -1,99 +0,0 @@ -user www-data; -worker_processes auto; -pid /usr/local/openresty/nginx/logs/nginx.pid; - -events -{ - worker_connections 1024; -} - -http -{ - include mime.types; - default_type application/octet-stream; - - sendfile on; - tcp_nopush on; - tcp_nodelay on; - - keepalive_timeout 65; - - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - - access_log /var/log/openresty/access.log; - error_log /var/log/openresty/error.log; - - gzip on; - gzip_disable "msie6"; - - lua_shared_dict auto_ssl 1m; - lua_shared_dict auto_ssl_settings 64k; - resolver 8.8.8.8 ipv6=off; - - init_by_lua_block - { - auto_ssl = (require "resty.auto-ssl").new() - auto_ssl:set("allow_domain", function(domain) - return true - end) - auto_ssl:init() - } - - init_worker_by_lua_block - { - auto_ssl:init_worker() - } - - server - { - listen 443 ssl; - ssl_certificate_by_lua_block - { - auto_ssl:ssl_certificate() - } - ssl_certificate /etc/ssl/resty-auto-ssl-fallback.crt; - ssl_certificate_key /etc/ssl/resty-auto-ssl-fallback.key; - - - location / - { - proxy_pass http://localhost:3000; - proxy_redirect off; - proxy_set_header Host $host; - } - } - - server - { - listen 80; - location /.well-known/acme-challenge/ - { - content_by_lua_block - { - auto_ssl:challenge_server() - } - } - - location / - { - proxy_pass http://localhost:3000; - proxy_redirect off; - proxy_set_header Host $host; - } - } - - server - { - listen 127.0.0.1:8999; - client_body_buffer_size 128k; - client_max_body_size 128k; - - location / - { - content_by_lua_block - { - auto_ssl:hook_server() - } - } - } -} diff --git a/deploy/ec2/setup_machine.sh b/deploy/ec2/setup_machine.sh index 8a235d5920..363c732ed8 100644 --- a/deploy/ec2/setup_machine.sh +++ b/deploy/ec2/setup_machine.sh @@ -22,24 +22,30 @@ sudo apt-get install -y curl g++ gcc autoconf automake bison libc6-dev \ freetds-dev libpq-dev sudo apt-get install -y luarocks sudo luarocks install lua-resty-auto-ssl -sudo mkdir /etc/resty-auto-ssl +sudo mkdir /etc/resty-auto-ssl /var/log/openresty /etc/fallback-certs sudo chown -R www-data:www-data /etc/resty-auto-ssl -sudo mkdir /var/log/openresty # Gen fallback certs sudo openssl rand -out /home/ubuntu/.rnd -hex 256 sudo chown www-data:www-data /home/ubuntu/.rnd sudo openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 \ -subj '/CN=sni-support-required-for-valid-ssl' \ - -keyout /etc/ssl/resty-auto-ssl-fallback.key \ - -out /etc/ssl/resty-auto-ssl-fallback.crt + -keyout /etc/fallback-certs/resty-auto-ssl-fallback.key \ + -out /etc/fallback-certs/resty-auto-ssl-fallback.crt -# Setup directories -sudo mv /tmp/nginx.conf /usr/local/openresty/nginx/conf/nginx.conf +# Setup nginx config +export SERVER_HOST="${SERVER_HOST:=localhost}" +export SERVER_USER="${SERVER_USER:=www-data}" +VARS_TO_SUBSTITUTE='$SERVER_HOST:$SERVER_USER' +envsubst "${VARS_TO_SUBSTITUTE}" < /tmp/nginx.conf > /tmp/nginx-substituted.conf +sudo cp /tmp/nginx-substituted.conf /usr/local/openresty/nginx/conf/nginx.conf + +# Setup app as systemd service sudo cp /tmp/nest.service /lib/systemd/system/nest.service +# Setup app directory mkdir -p ~/app -git clone -b nestjs-packer-changes https://github.com/ToolJet/ToolJet.git ~/app && cd ~/app +git clone -b main https://github.com/ToolJet/ToolJet.git ~/app && cd ~/app mv /tmp/.env ~/app/.env mv /tmp/setup_app ~/app/setup_app diff --git a/deploy/ec2/tooljet_ubuntu_bionic.pkr.hcl b/deploy/ec2/tooljet_ubuntu_bionic.pkr.hcl index 690452a310..ebaca85aaa 100644 --- a/deploy/ec2/tooljet_ubuntu_bionic.pkr.hcl +++ b/deploy/ec2/tooljet_ubuntu_bionic.pkr.hcl @@ -35,7 +35,7 @@ build { } provisioner "file" { - source = "nginx.conf" + source = "../../frontend/config/nginx.conf.template" destination = "/tmp/nginx.conf" } diff --git a/docker/server.Dockerfile b/docker/server.Dockerfile index 1442eca231..2eb1272401 100644 --- a/docker/server.Dockerfile +++ b/docker/server.Dockerfile @@ -1,4 +1,4 @@ -FROM node:14.17.0-buster +FROM node:14.17.3-buster # Fix for JS heap limit allocation issue ENV NODE_OPTIONS="--max-old-space-size=2048" @@ -16,7 +16,7 @@ ENV NODE_ENV=production COPY ./server/package.json ./server/package-lock.json ./server/ RUN npm --prefix server install COPY ./server/ ./server/ -RUN npm install -g @nestjs/cli ts-node typescript tsconfig-paths +RUN npm install -g @nestjs/cli RUN npm --prefix server run build COPY ./docker/ ./docker/ diff --git a/frontend/config/entrypoint.sh b/frontend/config/entrypoint.sh index 5b99b439e2..058ae7cc0e 100755 --- a/frontend/config/entrypoint.sh +++ b/frontend/config/entrypoint.sh @@ -1,6 +1,11 @@ #!/usr/bin/env sh set -eu + export SERVER_HOST="${SERVER_HOST:=server}" +export SERVER_USER="${SERVER_USER:=root}" +VARS_TO_SUBSTITUTE='$SERVER_HOST:$SERVER_USER' + +envsubst "${VARS_TO_SUBSTITUTE}" < /etc/openresty/nginx.conf.template > /etc/openresty/nginx.conf if [ ! -f /etc/fallback-certs/resty-auto-ssl-fallback.crt ]; then openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 \ @@ -8,6 +13,5 @@ if [ ! -f /etc/fallback-certs/resty-auto-ssl-fallback.crt ]; then -keyout /etc/fallback-certs/resty-auto-ssl-fallback.key \ -out /etc/fallback-certs/resty-auto-ssl-fallback.crt fi -envsubst '${SERVER_HOST}' < /etc/openresty/nginx.conf.template > /etc/openresty/nginx.conf exec "$@" diff --git a/frontend/config/nginx.conf.template b/frontend/config/nginx.conf.template index 14862c6cb2..d8560d5cc6 100644 --- a/frontend/config/nginx.conf.template +++ b/frontend/config/nginx.conf.template @@ -1,4 +1,4 @@ -user root; +user ${SERVER_USER}; worker_processes auto; pid /usr/local/openresty/nginx/logs/nginx.pid; @@ -57,13 +57,6 @@ http location / { - root /var/www; - try_files $uri $uri/ /index.html; - } - - location /_backend_ - { - rewrite /_backend_/(.*) /$1 break; proxy_pass http://${SERVER_HOST}:3000; proxy_redirect off; proxy_set_header Host $host; @@ -83,18 +76,10 @@ http location / { - root /var/www; - try_files $uri $uri/ /index.html; - } - - location /_backend_ - { - rewrite /_backend_/(.*) /$1 break; proxy_pass http://${SERVER_HOST}:3000; proxy_redirect off; proxy_set_header Host $host; } - } server diff --git a/server/entrypoint.sh b/server/entrypoint.sh index 857743be32..f5aae76cb6 100755 --- a/server/entrypoint.sh +++ b/server/entrypoint.sh @@ -1,6 +1,6 @@ #!/bin/sh set -e -# bundle check || bundle install + npm run db:create npm run db:migrate diff --git a/server/package-lock.json b/server/package-lock.json index 4d2172be85..9d6f25f2ec 100644 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -43,7 +43,10 @@ "rimraf": "^3.0.2", "rxjs": "^7.2.0", "tedious": "^11.2.0", - "typeorm": "^0.2.34" + "ts-node": "^10.0.0", + "tsconfig-paths": "^3.10.1", + "typeorm": "^0.2.34", + "typescript": "^4.3.5" }, "devDependencies": { "@nestjs/cli": "^8.0.0", @@ -63,10 +66,7 @@ "prettier": "^2.3.2", "supertest": "^6.1.3", "ts-jest": "^27.0.3", - "ts-loader": "^9.2.3", - "ts-node": "^10.0.0", - "tsconfig-paths": "^3.10.1", - "typescript": "^4.3.5" + "ts-loader": "^9.2.3" }, "engines": { "node": ">=14.17.3", @@ -2529,26 +2529,22 @@ "node_modules/@tsconfig/node10": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", - "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", - "dev": true + "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==" }, "node_modules/@tsconfig/node12": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", - "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", - "dev": true + "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==" }, "node_modules/@tsconfig/node14": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", - "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", - "dev": true + "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==" }, "node_modules/@tsconfig/node16": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.1.tgz", - "integrity": "sha512-FTgBI767POY/lKNDNbIzgAX6miIDBs6NTCbdlDb8TrWovHsSvaVIZDlTqym29C6UqhzwcJx4CYr+AlrMywA0cA==", - "dev": true + "integrity": "sha512-FTgBI767POY/lKNDNbIzgAX6miIDBs6NTCbdlDb8TrWovHsSvaVIZDlTqym29C6UqhzwcJx4CYr+AlrMywA0cA==" }, "node_modules/@types/babel__core": { "version": "7.1.15", @@ -3673,8 +3669,7 @@ "node_modules/arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" }, "node_modules/argparse": { "version": "1.0.10", @@ -4778,8 +4773,7 @@ "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==", - "dev": true + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" }, "node_modules/cross-spawn": { "version": "7.0.3", @@ -4988,7 +4982,6 @@ "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" } @@ -9138,7 +9131,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, "dependencies": { "minimist": "^1.2.5" }, @@ -9675,8 +9667,7 @@ "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==", - "dev": true + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, "node_modules/makeerror": { "version": "1.0.11", @@ -11703,7 +11694,6 @@ "version": "0.5.19", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -11713,7 +11703,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -11897,7 +11886,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true, "engines": { "node": ">=4" } @@ -12650,7 +12638,6 @@ "version": "10.0.0", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.0.0.tgz", "integrity": "sha512-ROWeOIUvfFbPZkoDis0L/55Fk+6gFQNZwwKPLinacRl6tsxstTF1DbAcLKkovwnpKMVvOMHP1TIbnwXwtLg1gg==", - "dev": true, "dependencies": { "@tsconfig/node10": "^1.0.7", "@tsconfig/node12": "^1.0.7", @@ -12692,7 +12679,6 @@ "version": "3.10.1", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.10.1.tgz", "integrity": "sha512-rETidPDgCpltxF7MjBZlAFPUHv5aHH2MymyPvh+vEyWAED4Eb/WeMbsnD/JDr4OKPOA1TssDHgIcpTN5Kh0p6Q==", - "dev": true, "dependencies": { "json5": "^2.2.0", "minimist": "^1.2.0", @@ -12928,7 +12914,6 @@ "version": "4.3.5", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.5.tgz", "integrity": "sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==", - "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -13579,7 +13564,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, "engines": { "node": ">=6" } @@ -15543,26 +15527,22 @@ "@tsconfig/node10": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", - "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", - "dev": true + "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==" }, "@tsconfig/node12": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", - "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", - "dev": true + "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==" }, "@tsconfig/node14": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", - "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", - "dev": true + "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==" }, "@tsconfig/node16": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.1.tgz", - "integrity": "sha512-FTgBI767POY/lKNDNbIzgAX6miIDBs6NTCbdlDb8TrWovHsSvaVIZDlTqym29C6UqhzwcJx4CYr+AlrMywA0cA==", - "dev": true + "integrity": "sha512-FTgBI767POY/lKNDNbIzgAX6miIDBs6NTCbdlDb8TrWovHsSvaVIZDlTqym29C6UqhzwcJx4CYr+AlrMywA0cA==" }, "@types/babel__core": { "version": "7.1.15", @@ -16523,8 +16503,7 @@ "arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" }, "argparse": { "version": "1.0.10", @@ -17382,8 +17361,7 @@ "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==", - "dev": true + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" }, "cross-spawn": { "version": "7.0.3", @@ -17548,8 +17526,7 @@ "diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" }, "diff-sequences": { "version": "26.6.2", @@ -20771,7 +20748,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, "requires": { "minimist": "^1.2.5" } @@ -21208,8 +21184,7 @@ "make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, "makeerror": { "version": "1.0.11", @@ -22762,7 +22737,6 @@ "version": "0.5.19", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -22771,8 +22745,7 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" } } }, @@ -22913,8 +22886,7 @@ "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" }, "strip-final-newline": { "version": "2.0.0", @@ -23462,7 +23434,6 @@ "version": "10.0.0", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.0.0.tgz", "integrity": "sha512-ROWeOIUvfFbPZkoDis0L/55Fk+6gFQNZwwKPLinacRl6tsxstTF1DbAcLKkovwnpKMVvOMHP1TIbnwXwtLg1gg==", - "dev": true, "requires": { "@tsconfig/node10": "^1.0.7", "@tsconfig/node12": "^1.0.7", @@ -23480,7 +23451,6 @@ "version": "3.10.1", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.10.1.tgz", "integrity": "sha512-rETidPDgCpltxF7MjBZlAFPUHv5aHH2MymyPvh+vEyWAED4Eb/WeMbsnD/JDr4OKPOA1TssDHgIcpTN5Kh0p6Q==", - "dev": true, "requires": { "json5": "^2.2.0", "minimist": "^1.2.0", @@ -23652,8 +23622,7 @@ "typescript": { "version": "4.3.5", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.5.tgz", - "integrity": "sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==", - "dev": true + "integrity": "sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==" }, "uc.micro": { "version": "1.0.6", @@ -24143,8 +24112,7 @@ "yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" }, "yocto-queue": { "version": "0.1.0", diff --git a/server/package.json b/server/package.json index 3bc67df816..37d4c72d90 100644 --- a/server/package.json +++ b/server/package.json @@ -62,7 +62,10 @@ "rimraf": "^3.0.2", "rxjs": "^7.2.0", "tedious": "^11.2.0", - "typeorm": "^0.2.34" + "typeorm": "^0.2.34", + "ts-node": "^10.0.0", + "tsconfig-paths": "^3.10.1", + "typescript": "^4.3.5" }, "devDependencies": { "@nestjs/cli": "^8.0.0", @@ -82,10 +85,7 @@ "prettier": "^2.3.2", "supertest": "^6.1.3", "ts-jest": "^27.0.3", - "ts-loader": "^9.2.3", - "ts-node": "^10.0.0", - "tsconfig-paths": "^3.10.1", - "typescript": "^4.3.5" + "ts-loader": "^9.2.3" }, "engines": { "node": ">=14.17.3",