diff --git a/backend/build.gradle.kts b/backend/build.gradle.kts index a2cff42f..58cc36f0 100644 --- a/backend/build.gradle.kts +++ b/backend/build.gradle.kts @@ -41,16 +41,16 @@ dependencies { implementation("org.springdoc:springdoc-openapi-kotlin:1.7.0") // Serialization - implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.15.2") + implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.16.0") // Postgres Database - implementation("org.postgresql:postgresql:42.6.0") + implementation("org.postgresql:postgresql:42.7.0") // Run Flyway DB migration tool on startup https://flywaydb.org/ implementation("org.flywaydb:flyway-core:8.5.13") // Read .mmdb (MaxMind) DB files for IP lookups https://maxmind.github.io/MaxMind-DB/ - implementation("com.maxmind.geoip2:geoip2:4.0.1") + implementation("com.maxmind.geoip2:geoip2:4.1.0") // Collect metrics implementation("com.newrelic.telemetry:micrometer-registry-new-relic:0.10.0") @@ -68,13 +68,13 @@ dependencies { testImplementation("org.springframework.boot:spring-boot-starter-test") { exclude(group = "org.junit.vintage", module = "junit-vintage-engine") } - testImplementation("io.kotest:kotest-runner-junit5:5.6.2") - testImplementation("io.kotest:kotest-assertions-core:5.6.2") + testImplementation("io.kotest:kotest-runner-junit5:5.8.0") + testImplementation("io.kotest:kotest-assertions-core:5.8.0") testImplementation("io.kotest.extensions:kotest-extensions-spring:1.1.3") // Testcontainers to provide Postgres DB (https://testcontainers.org/) - testImplementation("org.testcontainers:testcontainers:1.18.3") - testImplementation("org.testcontainers:junit-jupiter:1.18.3") - testImplementation("org.testcontainers:postgresql:1.18.3") + testImplementation("org.testcontainers:testcontainers:1.19.3") + testImplementation("org.testcontainers:junit-jupiter:1.19.3") + testImplementation("org.testcontainers:postgresql:1.19.3") // Mocking with Mockk (https://mockk.io/) testImplementation("io.mockk:mockk:1.13.8") } diff --git a/backend/gradle/wrapper/gradle-wrapper.jar b/backend/gradle/wrapper/gradle-wrapper.jar index 033e24c4..d64cd491 100644 Binary files a/backend/gradle/wrapper/gradle-wrapper.jar and b/backend/gradle/wrapper/gradle-wrapper.jar differ diff --git a/backend/gradle/wrapper/gradle-wrapper.properties b/backend/gradle/wrapper/gradle-wrapper.properties index 9f4197d5..1af9e093 100644 --- a/backend/gradle/wrapper/gradle-wrapper.properties +++ b/backend/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/backend/gradlew b/backend/gradlew index fcb6fca1..1aa94a42 100755 --- a/backend/gradlew +++ b/backend/gradlew @@ -83,7 +83,8 @@ done # This is normally unused # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -144,7 +145,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac @@ -152,7 +153,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then '' | soft) :;; #( *) # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 + # shellcheck disable=SC2039,SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -201,11 +202,11 @@ fi # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ diff --git a/frontend/Dockerfile b/frontend/Dockerfile index a460fe2e..9e5d0d6b 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -6,7 +6,7 @@ RUN yarn install --immutable RUN yarn run build # Bundle static assets with nginx -FROM nginx:1.25.1-alpine as production +FROM nginx:1.25.3-alpine as production ENV NODE_ENV production # Copy built assets from `builder` image COPY --from=builder /app/build /usr/share/nginx/html diff --git a/frontend/package.json b/frontend/package.json index ed973a8a..1dc45030 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -11,13 +11,13 @@ "dependencies": { "@emotion/react": "11.11.1", "@emotion/styled": "11.11.0", - "@mui/icons-material": "5.14.0", - "@mui/material": "5.14.0", - "@mui/styles": "5.14.0", + "@mui/icons-material": "5.14.19", + "@mui/material": "5.14.20", + "@mui/styles": "5.14.20", "@mui/x-date-pickers": "5.0.20", "axios": "1.4.0", "date-fns": "2.30.0", - "jotai": "2.2.2", + "jotai": "2.6.0", "leaflet": "1.9.4", "leaflet.heat": "0.2.0", "notistack": "3.0.1", @@ -28,22 +28,22 @@ "react-sliding-pane": "7.3.0" }, "devDependencies": { - "@types/geojson": "7946.0.10", - "@types/leaflet": "1.9.0", + "@types/geojson": "7946.0.13", + "@types/leaflet": "1.9.8", "@types/leaflet.heat": "0.2.1", - "@types/node": "16.18.38", - "@types/react": "18.2.15", - "@types/react-dom": "18.2.7", + "@types/node": "16.18.67", + "@types/react": "18.2.42", + "@types/react-dom": "18.2.17", "@types/react-infinite-scroller": "^1", - "@typescript-eslint/eslint-plugin": "6.7.2", - "@typescript-eslint/parser": "6.7.2", - "@vitejs/plugin-react-swc": "3.3.2", - "eslint": "8.45.0", - "eslint-plugin-jsx-a11y": "6.7.1", - "eslint-plugin-react": "7.32.2", - "typescript": "5.1.6", + "@typescript-eslint/eslint-plugin": "6.13.2", + "@typescript-eslint/parser": "6.13.2", + "@vitejs/plugin-react-swc": "3.5.0", + "eslint": "8.55.0", + "eslint-plugin-jsx-a11y": "6.8.0", + "eslint-plugin-react": "7.33.2", + "typescript": "5.3.2", "vite": "4.4.4", "vite-plugin-checker": "0.6.2" }, - "packageManager": "yarn@3.6.1" + "packageManager": "yarn@3.7.0" }