diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index db23e23..0e244ac 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -image: alpine:3.19 +image: alpine:3.20 variables: GIT_DEPTH: 1 diff --git a/biome.json b/biome.json index 797b4e4..1f97db9 100644 --- a/biome.json +++ b/biome.json @@ -14,11 +14,16 @@ "nursery": { "all": true, "useImportRestrictions": "off", - "noNodejsModules": "off" + "noUndeclaredDependencies": "off", + "useTopLevelRegex": "off" }, "suspicious": { "all": true, "noEmptyBlockStatements": "off" + }, + "correctness": { + "all": true, + "noNodejsModules": "off" } } }, @@ -50,7 +55,10 @@ }, "css": { "formatter": { - "enabled": true + "enabled": false + }, + "linter": { + "enabled": false } } } diff --git a/docker-compose.yml b/docker-compose.yml index 0bbc261..3ae0c85 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,6 @@ services: php: - build: ./docker/php82 + build: ./docker/php83 image: example_tasks_php cap_drop: [all] volumes: diff --git a/docker/apib2html/Dockerfile b/docker/apib2html/Dockerfile index 7b3f129..4dda902 100644 --- a/docker/apib2html/Dockerfile +++ b/docker/apib2html/Dockerfile @@ -1,6 +1,6 @@ # see https://github.com/funbox/blueprinter -FROM alpine:3.19 +FROM alpine:3.20 RUN apk upgrade --no-cache \ && apk add --no-cache npm nodejs \ diff --git a/docker/apib2openapi/Dockerfile b/docker/apib2openapi/Dockerfile index 75f7bef..f11f4e3 100644 --- a/docker/apib2openapi/Dockerfile +++ b/docker/apib2openapi/Dockerfile @@ -1,6 +1,6 @@ # see https://github.com/kminami/apib2swagger -FROM alpine:3.19 +FROM alpine:3.20 RUN apk upgrade --no-cache \ && apk add --no-cache npm nodejs \ diff --git a/docker/chromium/Dockerfile b/docker/chromium/Dockerfile index b8e97df..5f7340e 100644 --- a/docker/chromium/Dockerfile +++ b/docker/chromium/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.19 +FROM alpine:3.20 RUN apk --no-cache upgrade \ && apk --no-cache add chromium-swiftshader \ diff --git a/docker/mailpit/Dockerfile b/docker/mailpit/Dockerfile index 34970f1..4ab38e7 100644 --- a/docker/mailpit/Dockerfile +++ b/docker/mailpit/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.19 +FROM alpine:3.20 RUN apk upgrade --no-cache \ && ARCH=$([ $(uname -m) == "x86_64" ] && echo "amd64" || echo "arm64") \ diff --git a/docker/nginx/Dockerfile b/docker/nginx/Dockerfile index d53ce06..2777215 100644 --- a/docker/nginx/Dockerfile +++ b/docker/nginx/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.19 as build +FROM alpine:3.20 as build RUN apk upgrade --no-cache \ && apk add --no-cache openssl \ @@ -10,7 +10,7 @@ RUN apk upgrade --no-cache \ -CAcreateserial \ -extfile <(printf "authorityKeyIdentifier=keyid,issuer\nbasicConstraints=CA:FALSE\nsubjectAltName=DNS:nginx,IP:127.0.0.1") -FROM alpine:3.19 +FROM alpine:3.20 RUN apk upgrade --no-cache \ && apk add --no-cache nginx \ diff --git a/docker/npm/Dockerfile b/docker/npm/Dockerfile index 96f3082..b499149 100644 --- a/docker/npm/Dockerfile +++ b/docker/npm/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.19 +FROM alpine:3.20 RUN apk upgrade --no-cache \ && apk add --no-cache npm nodejs patch \ diff --git a/docker/php81/Dockerfile b/docker/php81/Dockerfile index 280ec03..13c825b 100644 --- a/docker/php81/Dockerfile +++ b/docker/php81/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.19 +FROM alpine:edge # use 1 run command to reduce container image layers RUN apk --no-cache upgrade \ diff --git a/docker/php83/Dockerfile b/docker/php83/Dockerfile index f3ad196..67eb435 100644 --- a/docker/php83/Dockerfile +++ b/docker/php83/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.19 +FROM alpine:edge # use 1 run command to reduce container image layers RUN apk --no-cache upgrade \ diff --git a/docker/redis/Dockerfile b/docker/redis/Dockerfile index b1ec1e5..59f29a0 100644 --- a/docker/redis/Dockerfile +++ b/docker/redis/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.19 +FROM alpine:3.20 RUN apk upgrade --no-cache \ && apk add --no-cache redis diff --git a/tasks_fe/biome.json b/tasks_fe/biome.json index 6d88a64..ac49a3b 100644 --- a/tasks_fe/biome.json +++ b/tasks_fe/biome.json @@ -14,11 +14,16 @@ "nursery": { "all": true, "useImportRestrictions": "off", - "noNodejsModules": "off" + "noUndeclaredDependencies": "off", + "useTopLevelRegex": "off" }, "suspicious": { "all": true, "noEmptyBlockStatements": "off" + }, + "correctness": { + "all": true, + "noNodejsModules": "off" } } }, @@ -52,7 +57,10 @@ }, "css": { "formatter": { - "enabled": true + "enabled": false + }, + "linter": { + "enabled": false } } } diff --git a/tasks_fe/src/templates/tasks_list.css b/tasks_fe/src/templates/tasks_list.css index 7365a8d..c1e453c 100644 --- a/tasks_fe/src/templates/tasks_list.css +++ b/tasks_fe/src/templates/tasks_list.css @@ -33,7 +33,7 @@ height: 32px; } } - a:link, a:visited { + a:visited, a:link { color: inherit; } } diff --git a/tasks_fe/tests/package-lock.json b/tasks_fe/tests/package-lock.json index 8a95386..881175a 100644 --- a/tasks_fe/tests/package-lock.json +++ b/tasks_fe/tests/package-lock.json @@ -119,9 +119,9 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" }, "node_modules/@biomejs/biome": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.8.2.tgz", - "integrity": "sha512-XafCzLgs0xbH0bCjYKxQ63ig2V86fZQMq1jiy5pyLToWk9aHxA8GAUxyBtklPHtPYZPGEPOYglQHj4jyfUp+Iw==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.8.3.tgz", + "integrity": "sha512-/uUV3MV+vyAczO+vKrPdOW0Iaet7UnJMU4bNMinggGJTAnBPjCoLEYcyYtYHNnUNYlv4xZMH6hVIQCAozq8d5w==", "hasInstallScript": true, "bin": { "biome": "bin/biome" @@ -134,20 +134,20 @@ "url": "https://opencollective.com/biome" }, "optionalDependencies": { - "@biomejs/cli-darwin-arm64": "1.8.2", - "@biomejs/cli-darwin-x64": "1.8.2", - "@biomejs/cli-linux-arm64": "1.8.2", - "@biomejs/cli-linux-arm64-musl": "1.8.2", - "@biomejs/cli-linux-x64": "1.8.2", - "@biomejs/cli-linux-x64-musl": "1.8.2", - "@biomejs/cli-win32-arm64": "1.8.2", - "@biomejs/cli-win32-x64": "1.8.2" + "@biomejs/cli-darwin-arm64": "1.8.3", + "@biomejs/cli-darwin-x64": "1.8.3", + "@biomejs/cli-linux-arm64": "1.8.3", + "@biomejs/cli-linux-arm64-musl": "1.8.3", + "@biomejs/cli-linux-x64": "1.8.3", + "@biomejs/cli-linux-x64-musl": "1.8.3", + "@biomejs/cli-win32-arm64": "1.8.3", + "@biomejs/cli-win32-x64": "1.8.3" } }, "node_modules/@biomejs/cli-darwin-arm64": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.8.2.tgz", - "integrity": "sha512-l9msLsTcSIAPqMsPIhodQmb50sEfaXPLQ0YW4cdj6INmd8iaOh/V9NceQb2366vACTJgcWDQ2RzlvURek1T68g==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.8.3.tgz", + "integrity": "sha512-9DYOjclFpKrH/m1Oz75SSExR8VKvNSSsLnVIqdnKexj6NwmiMlKk94Wa1kZEdv6MCOHGHgyyoV57Cw8WzL5n3A==", "cpu": [ "arm64" ], @@ -160,9 +160,9 @@ } }, "node_modules/@biomejs/cli-darwin-x64": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.8.2.tgz", - "integrity": "sha512-Fc4y/FuIxRSiB3TJ+y27vFDE/HJt4QgBuymktsIKEcBZvnKfsRjxvzVDunccRn4xbKgepnp+fn6BoS+ZIg/I3Q==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.8.3.tgz", + "integrity": "sha512-UeW44L/AtbmOF7KXLCoM+9PSgPo0IDcyEUfIoOXYeANaNXXf9mLUwV1GeF2OWjyic5zj6CnAJ9uzk2LT3v/wAw==", "cpu": [ "x64" ], @@ -175,9 +175,9 @@ } }, "node_modules/@biomejs/cli-linux-arm64": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.8.2.tgz", - "integrity": "sha512-Q99qwP0qibkZxm2kfnt37OxeIlliDYf5ogi3zX9ij2DULzc+KtPA9Uj0wCljcJofOBsBYaHc7597Q+Bf/251ww==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.8.3.tgz", + "integrity": "sha512-fed2ji8s+I/m8upWpTJGanqiJ0rnlHOK3DdxsyVLZQ8ClY6qLuPc9uehCREBifRJLl/iJyQpHIRufLDeotsPtw==", "cpu": [ "arm64" ], @@ -190,9 +190,9 @@ } }, "node_modules/@biomejs/cli-linux-arm64-musl": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.8.2.tgz", - "integrity": "sha512-WpT41QJJvkZa1eZq0WmD513zkC6AYaMI39HJKmKeiUeX2NZirG+bxv1YRDhqkns1NbBqo3+qrJqBkPmOW+xAVA==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.8.3.tgz", + "integrity": "sha512-9yjUfOFN7wrYsXt/T/gEWfvVxKlnh3yBpnScw98IF+oOeCYb5/b/+K7YNqKROV2i1DlMjg9g/EcN9wvj+NkMuQ==", "cpu": [ "arm64" ], @@ -205,9 +205,9 @@ } }, "node_modules/@biomejs/cli-linux-x64": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.8.2.tgz", - "integrity": "sha512-bjhhUVFchFid2gOjrvBe4fg8BShcpyFQTHuB/QQnfGxs1ddrGP30yq3fHfc6S6MoCcz9Tjd3Zzq1EfWfyy5iHA==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.8.3.tgz", + "integrity": "sha512-I8G2QmuE1teISyT8ie1HXsjFRz9L1m5n83U1O6m30Kw+kPMPSKjag6QGUn+sXT8V+XWIZxFFBoTDEDZW2KPDDw==", "cpu": [ "x64" ], @@ -220,9 +220,9 @@ } }, "node_modules/@biomejs/cli-linux-x64-musl": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.8.2.tgz", - "integrity": "sha512-rk1Wj4d3LIlAlIAS1m2jlyfOjkNbuY1lfwKvWIAeZC51yDMzwhRD7cReE5PE+jqLDtq60PX38hDPeKd7nA1S6A==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.8.3.tgz", + "integrity": "sha512-UHrGJX7PrKMKzPGoEsooKC9jXJMa28TUSMjcIlbDnIO4EAavCoVmNQaIuUSH0Ls2mpGMwUIf+aZJv657zfWWjA==", "cpu": [ "x64" ], @@ -235,9 +235,9 @@ } }, "node_modules/@biomejs/cli-win32-arm64": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.8.2.tgz", - "integrity": "sha512-EUbqmCmNWT5xhnxHrCAEBzJB1AnLqxTYoRjlxiCMzGvsy5jQzhCanJ8CT9kNsApW3pfPWBWkoTa7qrwWmwnEGA==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.8.3.tgz", + "integrity": "sha512-J+Hu9WvrBevfy06eU1Na0lpc7uR9tibm9maHynLIoAjLZpQU3IW+OKHUtyL8p6/3pT2Ju5t5emReeIS2SAxhkQ==", "cpu": [ "arm64" ], @@ -250,9 +250,9 @@ } }, "node_modules/@biomejs/cli-win32-x64": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.8.2.tgz", - "integrity": "sha512-n9H5oRUCk1uNezMgyJh9+hZdtfD8PXLLeq8DUzTycIhl0I1BulIoZ/uxWgRVDFDwAR1JHu1AykISCRFNGnc4iA==", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.8.3.tgz", + "integrity": "sha512-/PJ59vA1pnQeKahemaQf4Nyj7IKUvGQSc3Ze1uIGi+Wvr1xF7rGobSrAAG01T/gUDG21vkDsZYM03NAmPiVkqg==", "cpu": [ "x64" ], @@ -265,9 +265,9 @@ } }, "node_modules/@csstools/css-parser-algorithms": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.6.3.tgz", - "integrity": "sha512-xI/tL2zxzEbESvnSxwFgwvy5HS00oCXxL4MLs6HUiDcYfwowsoQaABKxUElp1ARITrINzBnsECOc1q0eg2GOrA==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.7.0.tgz", + "integrity": "sha512-qvBMcOU/uWFCH/VO0MYe0AMs0BGMWAt6FTryMbFIKYtZtVnqTZtT8ktv5o718llkaGZWomJezJZjq3vJDHeJNQ==", "funding": [ { "type": "github", @@ -283,13 +283,13 @@ "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^2.3.1" + "@csstools/css-tokenizer": "^2.3.2" } }, "node_modules/@csstools/css-tokenizer": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.3.1.tgz", - "integrity": "sha512-iMNHTyxLbBlWIfGtabT157LH9DUx9X8+Y3oymFEuMj8HNc+rpE3dPFGFgHjpKfjeFDjLjYIAIhXPGvS2lKxL9g==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.3.2.tgz", + "integrity": "sha512-0xYOf4pQpAaE6Sm2Q0x3p25oRukzWQ/O8hWVvhIt9Iv98/uu053u2CGm/g3kJ+P0vOYTAYzoU8Evq2pg9ZPXtw==", "funding": [ { "type": "github", @@ -306,9 +306,9 @@ } }, "node_modules/@csstools/media-query-list-parser": { - "version": "2.1.11", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.11.tgz", - "integrity": "sha512-uox5MVhvNHqitPP+SynrB1o8oPxPMt2JLgp5ghJOWf54WGQ5OKu47efne49r1SWqs3wRP8xSWjnO9MBKxhB1dA==", + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.12.tgz", + "integrity": "sha512-t1/CdyVJzOQUiGUcIBXRzTAkWTFPxiPnoKwowKW2z9Uj78c2bBWI/X94BeVfUwVq1xtCjD7dnO8kS6WONgp8Jw==", "funding": [ { "type": "github", @@ -324,8 +324,8 @@ "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^2.6.3", - "@csstools/css-tokenizer": "^2.3.1" + "@csstools/css-parser-algorithms": "^2.7.0", + "@csstools/css-tokenizer": "^2.3.2" } }, "node_modules/@csstools/selector-specificity": { @@ -897,17 +897,17 @@ } }, "node_modules/@playwright/test": { - "version": "1.44.1", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.44.1.tgz", - "integrity": "sha512-1hZ4TNvD5z9VuhNJ/walIjvMVvYkZKf71axoF/uiAqpntQJXpG64dlXhoDXE3OczPuTuvjf/M5KWFg5VAVUS3Q==", + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.45.0.tgz", + "integrity": "sha512-TVYsfMlGAaxeUllNkywbwek67Ncf8FRGn8ZlRdO291OL3NjG9oMbfVhyP82HQF0CZLMrYsvesqoUekxdWuF9Qw==", "dependencies": { - "playwright": "1.44.1" + "playwright": "1.45.0" }, "bin": { "playwright": "cli.js" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/@puppeteer/browsers": { @@ -1386,9 +1386,9 @@ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" }, "node_modules/@types/node": { - "version": "20.14.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.8.tgz", - "integrity": "sha512-DO+2/jZinXfROG7j7WKFn/3C6nFwxy2lLpgLjEXJz+0XKphZlTLJ14mo8Vfg8X5BWN6XjyESXq+LcYdT7tR3bA==", + "version": "20.14.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.9.tgz", + "integrity": "sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==", "dependencies": { "undici-types": "~5.26.4" } @@ -2911,6 +2911,10 @@ "url": "https://github.com/sponsors/html-validate" } ], + "workspaces": [ + "docs", + "tests/vitest" + ], "dependencies": { "@babel/code-frame": "^7.10.0", "@html-validate/stylish": "^4.1.0", @@ -2972,9 +2976,9 @@ } }, "node_modules/https-proxy-agent": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", - "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", "dependencies": { "agent-base": "^7.0.2", "debug": "4" @@ -3596,9 +3600,9 @@ "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==" }, "node_modules/lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.3.0.tgz", + "integrity": "sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==", "engines": { "node": "14 || >=16.14" } @@ -3731,9 +3735,9 @@ } }, "node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -3907,18 +3911,18 @@ } }, "node_modules/pac-proxy-agent": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz", - "integrity": "sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.2.tgz", + "integrity": "sha512-BFi3vZnO9X5Qt6NRz7ZOaPja3ic0PhlsmCRYLOpN11+mWBCR6XJDqW5RF3j8jm4WGGQZtBA+bTfxYzeKW73eHg==", "dependencies": { "@tootallnate/quickjs-emscripten": "^0.23.0", "agent-base": "^7.0.2", "debug": "^4.3.4", "get-uri": "^6.0.1", "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.2", - "pac-resolver": "^7.0.0", - "socks-proxy-agent": "^8.0.2" + "https-proxy-agent": "^7.0.5", + "pac-resolver": "^7.0.1", + "socks-proxy-agent": "^8.0.4" }, "engines": { "node": ">= 14" @@ -4091,37 +4095,37 @@ } }, "node_modules/playwright": { - "version": "1.44.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.44.1.tgz", - "integrity": "sha512-qr/0UJ5CFAtloI3avF95Y0L1xQo6r3LQArLIg/z/PoGJ6xa+EwzrwO5lpNr/09STxdHuUoP2mvuELJS+hLdtgg==", + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.45.0.tgz", + "integrity": "sha512-4z3ac3plDfYzGB6r0Q3LF8POPR20Z8D0aXcxbJvmfMgSSq1hkcgvFRXJk9rUq5H/MJ0Ktal869hhOdI/zUTeLA==", "dependencies": { - "playwright-core": "1.44.1" + "playwright-core": "1.45.0" }, "bin": { "playwright": "cli.js" }, "engines": { - "node": ">=16" + "node": ">=18" }, "optionalDependencies": { "fsevents": "2.3.2" } }, "node_modules/playwright-core": { - "version": "1.44.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.44.1.tgz", - "integrity": "sha512-wh0JWtYTrhv1+OSsLPgFzGzt67Y7BE/ZS3jEqgGBlp2ppp1ZDj8c+9IARNW4dwf1poq5MgHreEM2KV/GuR4cFA==", + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.45.0.tgz", + "integrity": "sha512-lZmHlFQ0VYSpAs43dRq1/nJ9G/6SiTI7VPqidld9TDefL9tX87bTKExWZZUF5PeRyqtXqd8fQi2qmfIedkwsNQ==", "bin": { "playwright-core": "cli.js" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/postcss": { - "version": "8.4.38", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", - "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "version": "8.4.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz", + "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", "funding": [ { "type": "opencollective", @@ -4138,7 +4142,7 @@ ], "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "source-map-js": "^1.2.0" }, "engines": { @@ -4302,15 +4306,15 @@ } }, "node_modules/puppeteer-core": { - "version": "22.12.0", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-22.12.0.tgz", - "integrity": "sha512-9gY+JwBW/Fp3/x9+cOGK7ZcwqjvtvY2xjqRqsAA0B3ZFMzBauVTSZ26iWTmvOQX2sk78TN/rd5rnetxVxmK5CQ==", + "version": "22.12.1", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-22.12.1.tgz", + "integrity": "sha512-XmqeDPVdC5/3nGJys1jbgeoZ02wP0WV1GBlPtr/ULRbGXJFuqgXMcKQ3eeNtFpBzGRbpeoCGWHge1ZWKWl0Exw==", "dependencies": { "@puppeteer/browsers": "2.2.3", "chromium-bidi": "0.5.24", - "debug": "4.3.5", + "debug": "^4.3.5", "devtools-protocol": "0.0.1299070", - "ws": "8.17.1" + "ws": "^8.17.1" }, "engines": { "node": ">=18" @@ -4623,13 +4627,13 @@ } }, "node_modules/socks-proxy-agent": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.3.tgz", - "integrity": "sha512-VNegTZKhuGq5vSD6XNKlbqWhyt/40CgoEw8XxD6dhnm8Jq9IEa3nIa4HwnM8XOqU0CdB0BwWVXusqiFXfHB3+A==", + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz", + "integrity": "sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==", "dependencies": { "agent-base": "^7.1.1", "debug": "^4.3.4", - "socks": "^2.7.1" + "socks": "^2.8.3" }, "engines": { "node": ">= 14" @@ -5235,16 +5239,16 @@ } }, "node_modules/tldts-core": { - "version": "6.1.29", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.29.tgz", - "integrity": "sha512-ZhgwrF9P697hrsO8PZ4dFL8UZLLmczYcFwiknsPEk81BTC0xauqQfepPefIfS/YK2z2VVRQmyg0hZujShTlH7A==" + "version": "6.1.30", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.30.tgz", + "integrity": "sha512-CPlL58/oIvnovk5KTHIho/B0bMuvPkZrcC7f4pfQH+BBPY/mMz6CekiIdhjFxk9XZZJNirbwh1rRTSo4e5KXQA==" }, "node_modules/tldts-icann": { - "version": "6.1.29", - "resolved": "https://registry.npmjs.org/tldts-icann/-/tldts-icann-6.1.29.tgz", - "integrity": "sha512-EMN6Y25sN+pgwYaisBvorac27NAY80OAQ9CLF6ae82oS8ak0IKDQMis3DnT5ExrFWUirZbaKEq5f1ryHcJNdMQ==", + "version": "6.1.30", + "resolved": "https://registry.npmjs.org/tldts-icann/-/tldts-icann-6.1.30.tgz", + "integrity": "sha512-1ekjlDThO9urnJvPJ533AS/ZY9O2E7AVNmy7yX4QDQzATuvDv8qeUuuPsc+nWoinXila5LoQVEmqOR310q34BQ==", "dependencies": { - "tldts-core": "^6.1.29" + "tldts-core": "^6.1.30" } }, "node_modules/to-fast-properties": { @@ -5400,9 +5404,9 @@ "peer": true }, "node_modules/vite": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.1.tgz", - "integrity": "sha512-XBmSKRLXLxiaPYamLv3/hnP/KXDai1NDexN0FpkTaZXTfycHvkRHoenpgl/fvuK/kPbB6xAgoyiryAhQNxYmAQ==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.2.tgz", + "integrity": "sha512-6lA7OBHBlXUxiJxbO5aAY2fsHHzDr1q7DvXYnyZycRs2Dz+dXBWuhpWHvmljTRTpQC2uvGmUFFkSHF2vGo90MA==", "dependencies": { "esbuild": "^0.21.3", "postcss": "^8.4.38", @@ -5888,9 +5892,9 @@ } }, "node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", "engines": { "node": ">=12.20" }, diff --git a/tasks_fe/tests/playwright/accessibility.spec.js b/tasks_fe/tests/playwright/accessibility.spec.js index 6a26392..19491e2 100644 --- a/tasks_fe/tests/playwright/accessibility.spec.js +++ b/tasks_fe/tests/playwright/accessibility.spec.js @@ -2,7 +2,7 @@ import AxeBuilder from '@axe-core/playwright'; import { expect, test } from '@playwright/test'; -import { beforeEachTest } from './utils/helper'; +import { beforeEachTest } from './utils/helper.js'; test.beforeEach(async ({ page }) => beforeEachTest(page)); test.use({ bypassCSP: true }); // required by Axebuilder diff --git a/tasks_fe/tests/playwright/index-html.spec.js b/tasks_fe/tests/playwright/index-html.spec.js index 350bbb4..5fa2205 100644 --- a/tasks_fe/tests/playwright/index-html.spec.js +++ b/tasks_fe/tests/playwright/index-html.spec.js @@ -1,7 +1,7 @@ // @ts-check import { expect, test } from '@playwright/test'; -import { afterEachTest, beforeEachTest } from './utils/helper'; +import { afterEachTest, beforeEachTest } from './utils/helper.js'; test.beforeEach(async ({ page }) => beforeEachTest(page)); test.afterEach(async ({ page }) => afterEachTest(page)); diff --git a/tasks_fe/tests/playwright/utils/helper.js b/tasks_fe/tests/playwright/utils/helper.js index 525aec8..d11b4b0 100644 --- a/tasks_fe/tests/playwright/utils/helper.js +++ b/tasks_fe/tests/playwright/utils/helper.js @@ -1,6 +1,6 @@ // @ts-check -import { emulateApiFetch } from '../utils/fetch'; +import { emulateApiFetch } from '../utils/fetch.js'; /** * @param {import("@playwright/test").Page} page diff --git a/tasks_fe/tests/unit/utils/app.js b/tasks_fe/tests/unit/utils/app.js index 9efd808..843aeac 100644 --- a/tasks_fe/tests/unit/utils/app.js +++ b/tasks_fe/tests/unit/utils/app.js @@ -1,6 +1,6 @@ // @ts-check -import { App } from '../../../src/framework/App'; +import { App } from '../../../src/framework/App.js'; /** * @param {string} cookie