From c1a9a06786a66731185a6657067b654302983da8 Mon Sep 17 00:00:00 2001
From: petruki <31597636+petruki@users.noreply.github.com>
Date: Wed, 27 May 2026 17:05:17 -0700
Subject: [PATCH] chore(deps): bump Deno 2.8.1, validator4oak@1.3.1,
dotenv@0.225.7
---
.devcontainer/Dockerfile | 2 +-
.github/workflows/master.yml | 6 +--
.github/workflows/re-release.yml | 4 +-
.github/workflows/release.yml | 4 +-
.github/workflows/sonar.yml | 8 ++--
Dockerfile | 2 +-
README.md | 1 +
deno.lock | 69 ++++++++++++++++----------------
src/deps.ts | 4 +-
src/routes/feature.ts | 6 +--
10 files changed, 54 insertions(+), 52 deletions(-)
diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
index 6443b2d..aad8448 100644
--- a/.devcontainer/Dockerfile
+++ b/.devcontainer/Dockerfile
@@ -1,4 +1,4 @@
-FROM denoland/deno:2.7.13
+FROM denoland/deno:2.8.1
# Install tools
RUN apt-get update && \
diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml
index b5adef1..7898fe9 100644
--- a/.github/workflows/master.yml
+++ b/.github/workflows/master.yml
@@ -17,10 +17,10 @@ jobs:
with:
fetch-depth: 0
- - name: Setup Deno v2.7.13
+ - name: Setup Deno v2.8.1
uses: denoland/setup-deno@v2
with:
- deno-version: v2.7.13
+ deno-version: v2.8.1
- name: Setup LCOV
run: sudo apt install -y lcov
@@ -35,7 +35,7 @@ jobs:
run: deno task cover
- name: SonarCloud Scan
- uses: sonarsource/sonarqube-scan-action@v7.0.0
+ uses: sonarsource/sonarqube-scan-action@v8.1.0
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
if: env.SONAR_TOKEN != ''
diff --git a/.github/workflows/re-release.yml b/.github/workflows/re-release.yml
index 1223fc6..c014f10 100644
--- a/.github/workflows/re-release.yml
+++ b/.github/workflows/re-release.yml
@@ -20,10 +20,10 @@ jobs:
fetch-depth: 0
ref: ${{ github.event.inputs.tag }}
- - name: Setup Deno v2.7.13
+ - name: Setup Deno v2.8.1
uses: denoland/setup-deno@v2
with:
- deno-version: v2.7.13
+ deno-version: v2.8.1
- name: Verify formatting
run: deno task fmt
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index a9be829..218cf41 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -15,10 +15,10 @@ jobs:
with:
fetch-depth: 0
- - name: Setup Deno v2.7.13
+ - name: Setup Deno v2.8.1
uses: denoland/setup-deno@v2
with:
- deno-version: v2.7.13
+ deno-version: v2.8.1
- name: Verify formatting
run: deno task fmt
diff --git a/.github/workflows/sonar.yml b/.github/workflows/sonar.yml
index 80ec08a..ae0a919 100644
--- a/.github/workflows/sonar.yml
+++ b/.github/workflows/sonar.yml
@@ -16,7 +16,7 @@ jobs:
steps:
- name: Get PR details
id: pr
- uses: actions/github-script@v7
+ uses: actions/github-script@v9
with:
script: |
const pr = await github.rest.pulls.get({
@@ -33,10 +33,10 @@ jobs:
ref: ${{ steps.pr.outputs.head_sha }}
fetch-depth: 0
- - name: Setup Deno v2.7.13
+ - name: Setup Deno v2.8.1
uses: denoland/setup-deno@v2
with:
- deno-version: v2.7.13
+ deno-version: v2.8.1
- name: Setup LCOV
run: sudo apt install -y lcov
@@ -51,7 +51,7 @@ jobs:
run: deno task cover
- name: SonarCloud Scan
- uses: sonarsource/sonarqube-scan-action@v7.0.0
+ uses: sonarsource/sonarqube-scan-action@v8.1.0
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
if: env.SONAR_TOKEN != ''
diff --git a/Dockerfile b/Dockerfile
index a8a425c..c603549 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-FROM denoland/deno:alpine-2.7.13
+FROM denoland/deno:alpine-2.8.1
ENV APP_HOME=/home/app
WORKDIR $APP_HOME
diff --git a/README.md b/README.md
index 4b7e786..776df1a 100644
--- a/README.md
+++ b/README.md
@@ -9,6 +9,7 @@ Feature Flag Service for Switcher Management
[](https://github.com/switcherapi/switcher-management-feature/actions/workflows/master.yml)
[](https://sonarcloud.io/dashboard?id=switcherapi_switcher-management-feature)
+
[](https://hub.docker.com/r/trackerforce/switcher-management-feature)
[](https://opensource.org/licenses/MIT)
[](https://switcher-hq.slack.com/)
diff --git a/deno.lock b/deno.lock
index 420dfd4..fab0f35 100644
--- a/deno.lock
+++ b/deno.lock
@@ -7,29 +7,30 @@
"jsr:@std/assert@1.0.19": "1.0.19",
"jsr:@std/assert@^1.0.13": "1.0.19",
"jsr:@std/bytes@1": "1.0.6",
- "jsr:@std/cli@^1.0.29": "1.0.29",
+ "jsr:@std/cli@^1.0.30": "1.0.30",
"jsr:@std/crypto@1": "1.1.0",
- "jsr:@std/dotenv@0.225.6": "0.225.6",
+ "jsr:@std/dotenv@0.225.7": "0.225.7",
"jsr:@std/encoding@1": "1.0.10",
"jsr:@std/encoding@^1.0.10": "1.0.10",
"jsr:@std/fmt@1.0.10": "1.0.10",
"jsr:@std/fmt@^1.0.10": "1.0.10",
"jsr:@std/fs@1.0.19": "1.0.19",
- "jsr:@std/fs@^1.0.23": "1.0.23",
- "jsr:@std/html@^1.0.6": "1.0.6",
- "jsr:@std/http@1": "1.1.0",
- "jsr:@std/http@^1.0.16": "1.1.0",
- "jsr:@std/internal@^1.0.12": "1.0.13",
- "jsr:@std/internal@^1.0.9": "1.0.13",
+ "jsr:@std/fs@^1.0.24": "1.0.24",
+ "jsr:@std/html@^1.0.7": "1.0.7",
+ "jsr:@std/http@1": "1.1.1",
+ "jsr:@std/http@^1.0.16": "1.1.1",
+ "jsr:@std/internal@^1.0.12": "1.0.14",
+ "jsr:@std/internal@^1.0.14": "1.0.14",
+ "jsr:@std/internal@^1.0.9": "1.0.14",
"jsr:@std/media-types@1": "1.1.0",
"jsr:@std/media-types@^1.1.0": "1.1.0",
"jsr:@std/net@^1.0.6": "1.0.6",
- "jsr:@std/path@1": "1.1.4",
- "jsr:@std/path@^1.1.1": "1.1.4",
- "jsr:@std/path@^1.1.4": "1.1.4",
- "jsr:@std/streams@^1.1.0": "1.1.0",
+ "jsr:@std/path@1": "1.1.5",
+ "jsr:@std/path@^1.1.1": "1.1.5",
+ "jsr:@std/path@^1.1.5": "1.1.5",
+ "jsr:@std/streams@^1.1.1": "1.1.1",
"jsr:@switcherapi/switcher-client-deno@2.4.0": "2.4.0",
- "jsr:@trackerforce/validator4oak@1.3.0": "1.3.0",
+ "jsr:@trackerforce/validator4oak@1.3.1": "1.3.1",
"npm:path-to-regexp@^6.3.0": "6.3.0"
},
"jsr": {
@@ -65,14 +66,14 @@
"@std/bytes@1.0.6": {
"integrity": "f6ac6adbd8ccd99314045f5703e23af0a68d7f7e58364b47d2c7f408aeb5820a"
},
- "@std/cli@1.0.29": {
- "integrity": "fa4ef29130baa834d8a13b7d138240c3a2fcfba740bfb7afa646a360a15ec84f"
+ "@std/cli@1.0.30": {
+ "integrity": "769446536522d0417d7127ebcabcafac1ab0ce6766d0eb3fca1d36326fe98d13"
},
"@std/crypto@1.1.0": {
"integrity": "b8d6d0a6377a32b213af2661ed7bf1062d94feac0c57def5526a8e74a95c3ec8"
},
- "@std/dotenv@0.225.6": {
- "integrity": "1d6f9db72f565bd26790fa034c26e45ecb260b5245417be76c2279e5734c421b"
+ "@std/dotenv@0.225.7": {
+ "integrity": "11d8db03ca4ad5aba9eba809f2e8058b2a4f320b7b09fea4b360e162928329e3"
},
"@std/encoding@1.0.10": {
"integrity": "8783c6384a2d13abd5e9e87a7ae0520a30e9f56aeeaa3bdf910a3eaaf5c811a1"
@@ -87,28 +88,28 @@
"jsr:@std/path@^1.1.1"
]
},
- "@std/fs@1.0.23": {
- "integrity": "3ecbae4ce4fee03b180fa710caff36bb5adb66631c46a6460aaad49515565a37"
+ "@std/fs@1.0.24": {
+ "integrity": "f3061b45b81673a2bece689da041df32d174be064c89eb6397fb5718d3fb7877"
},
- "@std/html@1.0.6": {
- "integrity": "eaf759c8141e0733ca30eb49e4c08d8e6ca442b85c4d51f9894a56f502993e08"
+ "@std/html@1.0.7": {
+ "integrity": "175c818905a6e75743c69c251395e273d82698e58cfe7dd76268d70e28b8d8fe"
},
- "@std/http@1.1.0": {
- "integrity": "265cd9a589fea924c5bb0bbed8bebb4bb2fa19129f760bd014e78dbd7a365a51",
+ "@std/http@1.1.1": {
+ "integrity": "e343a9a80aea07c716b91be5c79df764144430ad2dd7c9121ed7443f08dc74f7",
"dependencies": [
"jsr:@std/cli",
"jsr:@std/encoding@^1.0.10",
"jsr:@std/fmt@^1.0.10",
- "jsr:@std/fs@^1.0.23",
+ "jsr:@std/fs@^1.0.24",
"jsr:@std/html",
"jsr:@std/media-types@^1.1.0",
"jsr:@std/net",
- "jsr:@std/path@^1.1.4",
+ "jsr:@std/path@^1.1.5",
"jsr:@std/streams"
]
},
- "@std/internal@1.0.13": {
- "integrity": "2f9546691d4ac2d32859c82dff284aaeac980ddeca38430d07941e7e288725c0"
+ "@std/internal@1.0.14": {
+ "integrity": "291516b3d4c35024d6ffbc0a9df5bf4c64116e05b50012cf846710152d2ffdf7"
},
"@std/media-types@1.1.0": {
"integrity": "c9d093f0c05c3512932b330e3cc1fe1d627b301db33a4c2c2185c02471d6eaa4"
@@ -116,14 +117,14 @@
"@std/net@1.0.6": {
"integrity": "110735f93e95bb9feb95790a8b1d1bf69ec0dc74f3f97a00a76ea5efea25500c"
},
- "@std/path@1.1.4": {
- "integrity": "1d2d43f39efb1b42f0b1882a25486647cb851481862dc7313390b2bb044314b5",
+ "@std/path@1.1.5": {
+ "integrity": "ccea00982ea28c36becaf6e62f855406c76a8c32d462f66f415bbb7d83a271bc",
"dependencies": [
- "jsr:@std/internal@^1.0.12"
+ "jsr:@std/internal@^1.0.14"
]
},
- "@std/streams@1.1.0": {
- "integrity": "2f7024d841f343fd478afe0c958a3f0f068ef2a0d2bcc954f550f97ac1fa22e3"
+ "@std/streams@1.1.1": {
+ "integrity": "92556d350e537e9dce527a6d08f6f15be3ff65e656079dea69d15252187c7613"
},
"@switcherapi/switcher-client-deno@2.4.0": {
"integrity": "7fea9e619caec812e53188387c2f145022c368e1a7eb70cc368c35c936b36fd6",
@@ -131,8 +132,8 @@
"jsr:@std/fs@1.0.19"
]
},
- "@trackerforce/validator4oak@1.3.0": {
- "integrity": "124aef92edeeac315bdc6b93a6caa6b88d6eaa98cddc638fa90e33cc570cd173"
+ "@trackerforce/validator4oak@1.3.1": {
+ "integrity": "f096dd124622299a8d7b58cd19ceee6e33defb069dd3c3879cddb0df99a0c25d"
}
},
"npm": {
diff --git a/src/deps.ts b/src/deps.ts
index 7498aab..bb28eb1 100644
--- a/src/deps.ts
+++ b/src/deps.ts
@@ -1,5 +1,5 @@
export { Application, Context, type Middleware, type Next, Router } from 'jsr:@oak/oak@17.2.0';
export { Client } from 'jsr:@switcherapi/switcher-client-deno@2.4.0';
-export { ValidatorFn, ValidatorMiddleware } from 'jsr:@trackerforce/validator4oak@1.3.0';
-export { load } from 'jsr:@std/dotenv@0.225.6';
+export { ValidatorFn, ValidatorMiddleware } from 'jsr:@trackerforce/validator4oak@1.3.1';
+export { load } from 'jsr:@std/dotenv@0.225.7';
export { bold, cyan, green } from 'jsr:@std/fmt@1.0.10/colors';
diff --git a/src/routes/feature.ts b/src/routes/feature.ts
index 1f987d1..2089ebe 100644
--- a/src/routes/feature.ts
+++ b/src/routes/feature.ts
@@ -12,9 +12,9 @@ const router = new Router();
let service: FeatureService;
const { body, check, useErrorHandler } = ValidatorMiddleware.createMiddleware();
-const { hasLenght, isArray } = ValidatorFn.createValidator();
-const featureNameConstraints = [hasLenght({ min: 3 })];
-const featureValueConstraints = [hasLenght({ max: 100 })];
+const { hasLength, isArray } = ValidatorFn.createValidator();
+const featureNameConstraints = [hasLength({ min: 3 })];
+const featureValueConstraints = [hasLength({ max: 100 })];
useErrorHandler((context: Context, error: string) => {
return responseError(context, new Error(error), 422);