diff --git a/apps/server/package.json b/apps/server/package.json index a53c806..0484a7c 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -28,7 +28,7 @@ "luxon": "3.5.0", "pino-pretty": "13.0.0", "protobufjs": "7.4.0", - "zod-openapi": "4.2.2" + "zod-openapi": "4.2.3" }, "devDependencies": { "@carrismetropolitana/api-tsconfig": "*", @@ -36,7 +36,7 @@ "@carrismetropolitana/eslint": "20250103.1610.23", "@dotenv-run/cli": "1.3.6", "@types/luxon": "3.4.2", - "@types/node": "22.10.7", + "@types/node": "22.10.10", "resolve-tspaths": "0.8.23", "tsx": "4.19.2", "typescript": "5.7.3" diff --git a/apps/switch/package.json b/apps/switch/package.json index c7a0730..30997ef 100644 --- a/apps/switch/package.json +++ b/apps/switch/package.json @@ -23,7 +23,7 @@ "@dotenv-run/cli": "1.3.6", "@helperkits/logger": "20240703.1726.24", "@helperkits/timer": "20240627.34.23", - "@types/node": "22.10.7", + "@types/node": "22.10.10", "fastify": "5.2.1", "resolve-tspaths": "0.8.23", "tsx": "4.19.2", diff --git a/apps/sync-alerts/package.json b/apps/sync-alerts/package.json index f0dd92f..8b0f66f 100644 --- a/apps/sync-alerts/package.json +++ b/apps/sync-alerts/package.json @@ -26,7 +26,7 @@ "@carrismetropolitana/api-types": "*", "@carrismetropolitana/eslint": "20250103.1610.23", "@dotenv-run/cli": "1.3.6", - "@types/node": "22.10.7", + "@types/node": "22.10.10", "resolve-tspaths": "0.8.23", "tsx": "4.19.2", "typescript": "5.7.3" diff --git a/apps/sync-facilities/package.json b/apps/sync-facilities/package.json index ceb313c..317c779 100644 --- a/apps/sync-facilities/package.json +++ b/apps/sync-facilities/package.json @@ -27,7 +27,7 @@ "@carrismetropolitana/api-types": "*", "@carrismetropolitana/eslint": "20250103.1610.23", "@dotenv-run/cli": "1.3.6", - "@types/node": "22.10.7", + "@types/node": "22.10.10", "resolve-tspaths": "0.8.23", "tsx": "4.19.2", "typescript": "5.7.3" diff --git a/apps/sync-gtfs/package.json b/apps/sync-gtfs/package.json index 0360e58..acb2302 100644 --- a/apps/sync-gtfs/package.json +++ b/apps/sync-gtfs/package.json @@ -39,9 +39,9 @@ "@dotenv-run/cli": "1.3.6", "@types/adm-zip": "0.5.7", "@types/luxon": "3.4.2", - "@types/node": "22.10.7", + "@types/node": "22.10.10", "@types/papaparse": "5.3.15", - "@types/pg": "8.11.10", + "@types/pg": "8.11.11", "@types/pg-copy-streams": "1.2.5", "resolve-tspaths": "0.8.23", "tsx": "4.19.2", diff --git a/apps/sync-locations/package.json b/apps/sync-locations/package.json index 9e33c3b..9998f7a 100644 --- a/apps/sync-locations/package.json +++ b/apps/sync-locations/package.json @@ -27,8 +27,8 @@ "@carrismetropolitana/api-utils": "*", "@carrismetropolitana/eslint": "20250103.1610.23", "@dotenv-run/cli": "1.3.6", - "@types/geojson": "7946.0.15", - "@types/node": "22.10.7", + "@types/geojson": "7946.0.16", + "@types/node": "22.10.10", "resolve-tspaths": "0.8.23", "tsx": "4.19.2", "typescript": "5.7.3" diff --git a/apps/sync-metrics/package.json b/apps/sync-metrics/package.json index 7da201d..3da1707 100644 --- a/apps/sync-metrics/package.json +++ b/apps/sync-metrics/package.json @@ -30,7 +30,7 @@ "@carrismetropolitana/eslint": "20250103.1610.23", "@dotenv-run/cli": "1.3.6", "@types/luxon": "3.4.2", - "@types/node": "22.10.7", + "@types/node": "22.10.10", "@types/papaparse": "5.3.15", "resolve-tspaths": "0.8.23", "tsx": "4.19.2", diff --git a/apps/sync-stores/package.json b/apps/sync-stores/package.json index 32718ed..b66bba3 100644 --- a/apps/sync-stores/package.json +++ b/apps/sync-stores/package.json @@ -28,7 +28,7 @@ "@carrismetropolitana/eslint": "20250103.1610.23", "@dotenv-run/cli": "1.3.6", "@types/luxon": "3.4.2", - "@types/node": "22.10.7", + "@types/node": "22.10.10", "@types/papaparse": "5.3.15", "resolve-tspaths": "0.8.23", "tsx": "4.19.2", diff --git a/apps/sync-vehicles/package.json b/apps/sync-vehicles/package.json index 2997175..2524e05 100644 --- a/apps/sync-vehicles/package.json +++ b/apps/sync-vehicles/package.json @@ -27,7 +27,7 @@ "@carrismetropolitana/api-types": "*", "@carrismetropolitana/eslint": "20250103.1610.23", "@dotenv-run/cli": "1.3.6", - "@types/node": "22.10.7", + "@types/node": "22.10.10", "@types/papaparse": "5.3.15", "resolve-tspaths": "0.8.23", "tsx": "4.19.2", diff --git a/nginx/nginx-proxy.conf b/nginx/nginx-proxy.conf new file mode 100644 index 0000000..ae81e3e --- /dev/null +++ b/nginx/nginx-proxy.conf @@ -0,0 +1,168 @@ +# Massive thank you to @ricardojorgerm and @tiagogaspar8 +# for the help in creating this nginx configuration file. + + +# # # +# USER + +user nginx; + + +# # # +# WORKER PROCESSES + +worker_processes auto; + + +# # # +# DEFAULTS + +error_log /var/log/nginx/error.log notice; +pid /var/run/nginx.pid; + + +# # # +# EVENTS + +events { + use epoll; + worker_connections 2048; +} + + +# # # +# HTTP + +http { + + # # # + # MIME TYPES + + include /etc/nginx/mime.types; + default_type application/octet-stream; + + + # # # + # LOGS + + log_format main '[$time_iso8601] | IP: $remote_addr | Request: $status [$upstream_cache_status] "$request" | Referer: "$http_referer" | User Agent: "$http_user_agent"'; + + access_log /var/log/nginx/access.log main; + + + # # # + # FILE DESCRIPTOR SETTINGS + + aio threads; + directio 512M; + output_buffers 2 1M; + sendfile on; + tcp_nopush on; + + keepalive_timeout 65; + + + # # # + # RATE LIMITS + + limit_req_zone global zone=global:10m rate=500r/s; + limit_req zone=global burst=200 delay=2; + + limit_req_zone $http_x_forwarded_for zone=ip:16m rate=50r/s; + limit_req zone=ip burst=50 delay=2; + + limit_req_status 429; + + + # # # + # COMPRESSION + + gzip on; + gzip_types application/json; + + + + + + # # # # # # # # # # # # # # # # # # # # # # + # # # API SERVER + + + # # # + # CACHE + + proxy_cache_path /var/cache/nginx/api levels=1:2 keys_zone=api_cache:512m inactive=360m; + + + # # # + # UPSTREAM + + upstream api_upstream { + zone upstreams 64K; + server server:5050 max_fails=2 fail_timeout=2s; + keepalive 10; + } + + + # # # + # DEFAULT HTTP SERVER + # Redirect to HTTPS + + server { + + listen 80; + listen [::]:80; + server_name api.cmet.pt; + server_tokens off; + http2 on; + + # Do not skip cache by default + set $skip_cache 0; + set $skip_reason ""; + + # Cache configuration + etag on; + proxy_cache api_cache; + proxy_cache_key "$scheme$request_method$host$request_uri"; + proxy_cache_valid 200 60m; + proxy_cache_valid any 30s; + proxy_cache_lock on; + proxy_cache_lock_age 30s; + proxy_cache_lock_timeout 90s; + proxy_cache_use_stale error timeout updating; + proxy_cache_revalidate on; + proxy_cache_bypass $skip_cache; + + # Proxy configuration + proxy_http_version 1.1; + proxy_connect_timeout 10s; + proxy_send_timeout 20s; + proxy_read_timeout 20s; + proxy_set_header Connection ""; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_next_upstream error timeout http_500; + + + location / { + if ($request_method = 'OPTIONS') { + add_header 'Access-Control-Allow-Origin' "*" always; + add_header 'Access-Control-Allow-Credentials' 'true' always; + add_header 'Access-Control-Allow-Headers' "Origin, X-Requested-With, Content-Type, Accept" always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; + add_header 'Access-Control-Max-Age' 1728000; + add_header 'Content-Type' 'text/plain; charset=utf-8'; + add_header 'Content-Length' 0; + return 204; + } + # Add headers + add_header CMET-Cache-Skip $skip_reason; + add_header CMET-Cache-Status $upstream_cache_status; + add_header Access-Control-Allow-Origin "*" always; + add_header Strict-Transport-Security "max-age=31536000" always; + # Proxy connect + proxy_pass http://api_upstream; + } + + } + +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index aed0d18..ba68099 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "packages/*" ], "devDependencies": { - "turbo": "2.3.3" + "turbo": "2.3.4" } }, "apps/server": { @@ -28,7 +28,7 @@ "luxon": "3.5.0", "pino-pretty": "13.0.0", "protobufjs": "7.4.0", - "zod-openapi": "4.2.2" + "zod-openapi": "4.2.3" }, "devDependencies": { "@carrismetropolitana/api-tsconfig": "*", @@ -36,14 +36,16 @@ "@carrismetropolitana/eslint": "20250103.1610.23", "@dotenv-run/cli": "1.3.6", "@types/luxon": "3.4.2", - "@types/node": "22.10.7", + "@types/node": "22.10.10", "resolve-tspaths": "0.8.23", "tsx": "4.19.2", "typescript": "5.7.3" } }, "apps/server/node_modules/@types/node": { - "version": "22.10.7", + "version": "22.10.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.10.tgz", + "integrity": "sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww==", "dev": true, "license": "MIT", "dependencies": { @@ -75,7 +77,7 @@ "@dotenv-run/cli": "1.3.6", "@helperkits/logger": "20240703.1726.24", "@helperkits/timer": "20240627.34.23", - "@types/node": "22.10.7", + "@types/node": "22.10.10", "fastify": "5.2.1", "resolve-tspaths": "0.8.23", "tsx": "4.19.2", @@ -83,7 +85,9 @@ } }, "apps/switch/node_modules/@types/node": { - "version": "22.10.7", + "version": "22.10.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.10.tgz", + "integrity": "sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww==", "license": "MIT", "dependencies": { "undici-types": "~6.20.0" @@ -116,14 +120,16 @@ "@carrismetropolitana/api-types": "*", "@carrismetropolitana/eslint": "20250103.1610.23", "@dotenv-run/cli": "1.3.6", - "@types/node": "22.10.7", + "@types/node": "22.10.10", "resolve-tspaths": "0.8.23", "tsx": "4.19.2", "typescript": "5.7.3" } }, "apps/sync-alerts/node_modules/@types/node": { - "version": "22.10.7", + "version": "22.10.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.10.tgz", + "integrity": "sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww==", "dev": true, "license": "MIT", "dependencies": { @@ -159,14 +165,16 @@ "@carrismetropolitana/api-types": "*", "@carrismetropolitana/eslint": "20250103.1610.23", "@dotenv-run/cli": "1.3.6", - "@types/node": "22.10.7", + "@types/node": "22.10.10", "resolve-tspaths": "0.8.23", "tsx": "4.19.2", "typescript": "5.7.3" } }, "apps/sync-facilities/node_modules/@types/node": { - "version": "22.10.7", + "version": "22.10.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.10.tgz", + "integrity": "sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww==", "dev": true, "license": "MIT", "dependencies": { @@ -218,9 +226,9 @@ "@dotenv-run/cli": "1.3.6", "@types/adm-zip": "0.5.7", "@types/luxon": "3.4.2", - "@types/node": "22.10.7", + "@types/node": "22.10.10", "@types/papaparse": "5.3.15", - "@types/pg": "8.11.10", + "@types/pg": "8.11.11", "@types/pg-copy-streams": "1.2.5", "resolve-tspaths": "0.8.23", "tsx": "4.19.2", @@ -228,7 +236,9 @@ } }, "apps/sync-gtfs/node_modules/@types/node": { - "version": "22.10.7", + "version": "22.10.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.10.tgz", + "integrity": "sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww==", "dev": true, "license": "MIT", "dependencies": { @@ -268,15 +278,24 @@ "@carrismetropolitana/api-utils": "*", "@carrismetropolitana/eslint": "20250103.1610.23", "@dotenv-run/cli": "1.3.6", - "@types/geojson": "7946.0.15", - "@types/node": "22.10.7", + "@types/geojson": "7946.0.16", + "@types/node": "22.10.10", "resolve-tspaths": "0.8.23", "tsx": "4.19.2", "typescript": "5.7.3" } }, + "apps/sync-locations/node_modules/@types/geojson": { + "version": "7946.0.16", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", + "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==", + "dev": true, + "license": "MIT" + }, "apps/sync-locations/node_modules/@types/node": { - "version": "22.10.7", + "version": "22.10.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.10.tgz", + "integrity": "sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww==", "dev": true, "license": "MIT", "dependencies": { @@ -315,7 +334,7 @@ "@carrismetropolitana/eslint": "20250103.1610.23", "@dotenv-run/cli": "1.3.6", "@types/luxon": "3.4.2", - "@types/node": "22.10.7", + "@types/node": "22.10.10", "@types/papaparse": "5.3.15", "resolve-tspaths": "0.8.23", "tsx": "4.19.2", @@ -323,7 +342,9 @@ } }, "apps/sync-metrics/node_modules/@types/node": { - "version": "22.10.7", + "version": "22.10.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.10.tgz", + "integrity": "sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww==", "dev": true, "license": "MIT", "dependencies": { @@ -364,7 +385,7 @@ "@carrismetropolitana/eslint": "20250103.1610.23", "@dotenv-run/cli": "1.3.6", "@types/luxon": "3.4.2", - "@types/node": "22.10.7", + "@types/node": "22.10.10", "@types/papaparse": "5.3.15", "resolve-tspaths": "0.8.23", "tsx": "4.19.2", @@ -372,7 +393,9 @@ } }, "apps/sync-stores/node_modules/@types/node": { - "version": "22.10.7", + "version": "22.10.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.10.tgz", + "integrity": "sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww==", "dev": true, "license": "MIT", "dependencies": { @@ -412,7 +435,7 @@ "@carrismetropolitana/api-types": "*", "@carrismetropolitana/eslint": "20250103.1610.23", "@dotenv-run/cli": "1.3.6", - "@types/node": "22.10.7", + "@types/node": "22.10.10", "@types/papaparse": "5.3.15", "resolve-tspaths": "0.8.23", "tsx": "4.19.2", @@ -420,7 +443,9 @@ } }, "apps/sync-vehicles/node_modules/@types/node": { - "version": "22.10.7", + "version": "22.10.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.10.tgz", + "integrity": "sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww==", "dev": true, "license": "MIT", "dependencies": { @@ -4851,7 +4876,9 @@ } }, "node_modules/@types/pg": { - "version": "8.11.10", + "version": "8.11.11", + "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.11.11.tgz", + "integrity": "sha512-kGT1qKM8wJQ5qlawUrEkXgvMSXoV213KfMGXcwfDwUIfUHXqXYXOfS1nE1LINRJVVVx5wCm70XnFlMHaIcQAfw==", "dev": true, "license": "MIT", "dependencies": { @@ -8970,23 +8997,41 @@ } }, "node_modules/turbo": { - "version": "2.3.3", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/turbo/-/turbo-2.3.4.tgz", + "integrity": "sha512-1kiLO5C0Okh5ay1DbHsxkPsw9Sjsbjzm6cF85CpWjR0BIyBFNDbKqtUyqGADRS1dbbZoQanJZVj4MS5kk8J42Q==", "dev": true, "license": "MIT", "bin": { "turbo": "bin/turbo" }, "optionalDependencies": { - "turbo-darwin-64": "2.3.3", - "turbo-darwin-arm64": "2.3.3", - "turbo-linux-64": "2.3.3", - "turbo-linux-arm64": "2.3.3", - "turbo-windows-64": "2.3.3", - "turbo-windows-arm64": "2.3.3" - } + "turbo-darwin-64": "2.3.4", + "turbo-darwin-arm64": "2.3.4", + "turbo-linux-64": "2.3.4", + "turbo-linux-arm64": "2.3.4", + "turbo-windows-64": "2.3.4", + "turbo-windows-arm64": "2.3.4" + } + }, + "node_modules/turbo-darwin-64": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/turbo-darwin-64/-/turbo-darwin-64-2.3.4.tgz", + "integrity": "sha512-uOi/cUIGQI7uakZygH+cZQ5D4w+aMLlVCN2KTGot+cmefatps2ZmRRufuHrEM0Rl63opdKD8/JIu+54s25qkfg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] }, "node_modules/turbo-darwin-arm64": { - "version": "2.3.3", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/turbo-darwin-arm64/-/turbo-darwin-arm64-2.3.4.tgz", + "integrity": "sha512-IIM1Lq5R+EGMtM1YFGl4x8Xkr0MWb4HvyU8N4LNoQ1Be5aycrOE+VVfH+cDg/Q4csn+8bxCOxhRp5KmUflrVTQ==", "cpu": [ "arm64" ], @@ -8997,6 +9042,62 @@ "darwin" ] }, + "node_modules/turbo-linux-64": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/turbo-linux-64/-/turbo-linux-64-2.3.4.tgz", + "integrity": "sha512-1aD2EfR7NfjFXNH3mYU5gybLJEFi2IGOoKwoPLchAFRQ6OEJQj201/oNo9CDL75IIrQo64/NpEgVyZtoPlfhfA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/turbo-linux-arm64": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/turbo-linux-arm64/-/turbo-linux-arm64-2.3.4.tgz", + "integrity": "sha512-MxTpdKwxCaA5IlybPxgGLu54fT2svdqTIxRd0TQmpRJIjM0s4kbM+7YiLk0mOh6dGqlWPUsxz/A0Mkn8Xr5o7Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/turbo-windows-64": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/turbo-windows-64/-/turbo-windows-64-2.3.4.tgz", + "integrity": "sha512-yyCrWqcRGu1AOOlrYzRnizEtdkqi+qKP0MW9dbk9OsMDXaOI5jlWtTY/AtWMkLw/czVJ7yS9Ex1vi9DB6YsFvw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/turbo-windows-arm64": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/turbo-windows-arm64/-/turbo-windows-arm64-2.3.4.tgz", + "integrity": "sha512-PggC3qH+njPfn1PDVwKrQvvQby8X09ufbqZ2Ha4uSu+5TvPorHHkAbZVHKYj2Y+tvVzxRzi4Sv6NdHXBS9Be5w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/tweetnacl": { "version": "0.14.5", "license": "Unlicense" @@ -9322,7 +9423,9 @@ } }, "node_modules/zod-openapi": { - "version": "4.2.2", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/zod-openapi/-/zod-openapi-4.2.3.tgz", + "integrity": "sha512-i0SqpcdXfsvVWTIY1Jl3Tk421s9fBIkpXvaA86zDas+8FjfZjm+GX6ot6SPB2SyuHwUNTN02gE5uIVlYXlyrDQ==", "license": "MIT", "engines": { "node": ">=18" @@ -9351,13 +9454,15 @@ "@carrismetropolitana/api-tsconfig": "*", "@carrismetropolitana/api-types": "*", "@carrismetropolitana/eslint": "20250103.1610.23", - "@types/node": "22.10.7", + "@types/node": "22.10.10", "resolve-tspaths": "0.8.23", "typescript": "5.7.3" } }, "packages/services/node_modules/@types/node": { - "version": "22.10.7", + "version": "22.10.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.10.tgz", + "integrity": "sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww==", "dev": true, "license": "MIT", "dependencies": { @@ -9383,13 +9488,15 @@ "@carrismetropolitana/api-tsconfig": "*", "@carrismetropolitana/api-types": "*", "@carrismetropolitana/eslint": "20250103.1610.23", - "@types/node": "22.10.7", + "@types/node": "22.10.10", "resolve-tspaths": "0.8.23", "typescript": "5.7.3" } }, "packages/settings/node_modules/@types/node": { - "version": "22.10.7", + "version": "22.10.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.10.tgz", + "integrity": "sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww==", "dev": true, "license": "MIT", "dependencies": { @@ -9417,21 +9524,29 @@ "version": "1.0.0", "license": "AGPL-3.0-or-later", "dependencies": { - "@types/geojson": "7946.0.15", + "@types/geojson": "7946.0.16", "gtfs-types": "4.0.0", "zod": "3.24.1", - "zod-openapi": "4.2.2" + "zod-openapi": "4.2.3" }, "devDependencies": { "@carrismetropolitana/api-tsconfig": "*", "@carrismetropolitana/eslint": "20250103.1610.23", - "@types/node": "22.10.7", + "@types/node": "22.10.10", "resolve-tspaths": "0.8.23", "typescript": "5.7.3" } }, + "packages/types/node_modules/@types/geojson": { + "version": "7946.0.16", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", + "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==", + "license": "MIT" + }, "packages/types/node_modules/@types/node": { - "version": "22.10.7", + "version": "22.10.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.10.tgz", + "integrity": "sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww==", "dev": true, "license": "MIT", "dependencies": { @@ -9460,13 +9575,15 @@ "@carrismetropolitana/api-tsconfig": "*", "@carrismetropolitana/api-types": "*", "@carrismetropolitana/eslint": "20250103.1610.23", - "@types/node": "22.10.7", + "@types/node": "22.10.10", "resolve-tspaths": "0.8.23", "typescript": "5.7.3" } }, "packages/utils/node_modules/@types/node": { - "version": "22.10.7", + "version": "22.10.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.10.tgz", + "integrity": "sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 10c0d26..54115fa 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "start": "dotenv-run -- turbo run start" }, "devDependencies": { - "turbo": "2.3.3" + "turbo": "2.3.4" }, "packageManager": "npm@11.0.0", "workspaces": [ diff --git a/packages/services/package.json b/packages/services/package.json index fe6a77b..d25d01d 100644 --- a/packages/services/package.json +++ b/packages/services/package.json @@ -60,7 +60,7 @@ "@carrismetropolitana/api-tsconfig": "*", "@carrismetropolitana/api-types": "*", "@carrismetropolitana/eslint": "20250103.1610.23", - "@types/node": "22.10.7", + "@types/node": "22.10.10", "resolve-tspaths": "0.8.23", "typescript": "5.7.3" } diff --git a/packages/settings/package.json b/packages/settings/package.json index c8ddcea..8c4be95 100644 --- a/packages/settings/package.json +++ b/packages/settings/package.json @@ -13,7 +13,7 @@ "@carrismetropolitana/api-tsconfig": "*", "@carrismetropolitana/api-types": "*", "@carrismetropolitana/eslint": "20250103.1610.23", - "@types/node": "22.10.7", + "@types/node": "22.10.10", "resolve-tspaths": "0.8.23", "typescript": "5.7.3" } diff --git a/packages/types/package.json b/packages/types/package.json index 71d71df..7e2a731 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -78,15 +78,15 @@ "clean": "rm -rf dist" }, "dependencies": { - "@types/geojson": "7946.0.15", + "@types/geojson": "7946.0.16", "gtfs-types": "4.0.0", "zod": "3.24.1", - "zod-openapi": "4.2.2" + "zod-openapi": "4.2.3" }, "devDependencies": { "@carrismetropolitana/api-tsconfig": "*", "@carrismetropolitana/eslint": "20250103.1610.23", - "@types/node": "22.10.7", + "@types/node": "22.10.10", "resolve-tspaths": "0.8.23", "typescript": "5.7.3" } diff --git a/packages/utils/package.json b/packages/utils/package.json index 7402878..ce41e68 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -16,7 +16,7 @@ "@carrismetropolitana/api-tsconfig": "*", "@carrismetropolitana/api-types": "*", "@carrismetropolitana/eslint": "20250103.1610.23", - "@types/node": "22.10.7", + "@types/node": "22.10.10", "resolve-tspaths": "0.8.23", "typescript": "5.7.3" }