diff --git a/.zed/settings.json b/.zed/settings.json index e69de29b..0c41da3e 100644 --- a/.zed/settings.json +++ b/.zed/settings.json @@ -0,0 +1,17 @@ +{ + "language_servers": [ + "!biome", + "!deno", + "!intelephense", + "!prettier", + "!tailwindcss-language-server", + "!vtsls", + "..." + ], + "languages": { + "PHP": { + "format_on_save": "on", + "formatter": { "external": { "command": "mago", "arguments": ["format", "--stdin-input"] } } + } + } +} diff --git a/bun.lock b/bun.lock index a99ee54c..b93fef15 100644 --- a/bun.lock +++ b/bun.lock @@ -1,5 +1,6 @@ { "lockfileVersion": 1, + "configVersion": 0, "workspaces": { "": { "name": "haikuatelier.fr", @@ -252,23 +253,23 @@ "@babel/types": ["@babel/types@7.28.5", "", { "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.28.5" } }, "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA=="], - "@biomejs/biome": ["@biomejs/biome@2.3.3", "http://localhost:4873/@biomejs/biome/-/biome-2.3.3.tgz", { "optionalDependencies": { "@biomejs/cli-darwin-arm64": "2.3.3", "@biomejs/cli-darwin-x64": "2.3.3", "@biomejs/cli-linux-arm64": "2.3.3", "@biomejs/cli-linux-arm64-musl": "2.3.3", "@biomejs/cli-linux-x64": "2.3.3", "@biomejs/cli-linux-x64-musl": "2.3.3", "@biomejs/cli-win32-arm64": "2.3.3", "@biomejs/cli-win32-x64": "2.3.3" }, "bin": { "biome": "bin/biome" } }, "sha512-zn/P1pRBCpDdhi+VNSMnpczOz9DnqzOA2c48K8xgxjDODvi5O8gs3a2H233rck/5HXpkFj6TmyoqVvxirZUnvg=="], + "@biomejs/biome": ["@biomejs/biome@2.3.4", "http://localhost:4873/@biomejs/biome/-/biome-2.3.4.tgz", { "optionalDependencies": { "@biomejs/cli-darwin-arm64": "2.3.4", "@biomejs/cli-darwin-x64": "2.3.4", "@biomejs/cli-linux-arm64": "2.3.4", "@biomejs/cli-linux-arm64-musl": "2.3.4", "@biomejs/cli-linux-x64": "2.3.4", "@biomejs/cli-linux-x64-musl": "2.3.4", "@biomejs/cli-win32-arm64": "2.3.4", "@biomejs/cli-win32-x64": "2.3.4" }, "bin": { "biome": "bin/biome" } }, "sha512-TU08LXjBHdy0mEY9APtEtZdNQQijXUDSXR7IK1i45wgoPD5R0muK7s61QcFir6FpOj/RP1+YkPx5QJlycXUU3w=="], - "@biomejs/cli-darwin-arm64": ["@biomejs/cli-darwin-arm64@2.3.3", "http://localhost:4873/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.3.3.tgz", { "os": "darwin", "cpu": "arm64" }, "sha512-5+JtW6RKmjqL9un0UtHV0ezOslAyYBzyl5ZhYiu7GHesX2x8NCDl6tXYrenv9m7e1RLbkO5E5Kh04kseMtz6lw=="], + "@biomejs/cli-darwin-arm64": ["@biomejs/cli-darwin-arm64@2.3.4", "http://localhost:4873/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.3.4.tgz", { "os": "darwin", "cpu": "arm64" }, "sha512-w40GvlNzLaqmuWYiDU6Ys9FNhJiclngKqcGld3iJIiy2bpJ0Q+8n3haiaC81uTPY/NA0d8Q/I3Z9+ajc14102Q=="], - "@biomejs/cli-darwin-x64": ["@biomejs/cli-darwin-x64@2.3.3", "http://localhost:4873/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.3.3.tgz", { "os": "darwin", "cpu": "x64" }, "sha512-UPmKRalkHicvIpeccuKqq+/gA2HYV8FUnAEDJnqYBlGlycKqe6xrovWqvWTE4TTNpIFf4UQyuaDzLkN6Kz6tbA=="], + "@biomejs/cli-darwin-x64": ["@biomejs/cli-darwin-x64@2.3.4", "http://localhost:4873/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.3.4.tgz", { "os": "darwin", "cpu": "x64" }, "sha512-3s7TLVtjJ7ni1xADXsS7x7GMUrLBZXg8SemXc3T0XLslzvqKj/dq1xGeBQ+pOWQzng9MaozfacIHdK2UlJ3jGA=="], - "@biomejs/cli-linux-arm64": ["@biomejs/cli-linux-arm64@2.3.3", "http://localhost:4873/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.3.3.tgz", { "os": "linux", "cpu": "arm64" }, "sha512-zeiKwALNB/hax7+LLhCYqhqzlWdTfgE9BGkX2Z8S4VmCYnGFrf2fON/ec6KCos7mra5MDm6fYICsEWN2+HKZhw=="], + "@biomejs/cli-linux-arm64": ["@biomejs/cli-linux-arm64@2.3.4", "http://localhost:4873/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.3.4.tgz", { "os": "linux", "cpu": "arm64" }, "sha512-y7efHyyM2gYmHy/AdWEip+VgTMe9973aP7XYKPzu/j8JxnPHuSUXftzmPhkVw0lfm4ECGbdBdGD6+rLmTgNZaA=="], - "@biomejs/cli-linux-arm64-musl": ["@biomejs/cli-linux-arm64-musl@2.3.3", "http://localhost:4873/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.3.3.tgz", { "os": "linux", "cpu": "arm64" }, "sha512-KhCDMV+V7Yu72v40ssGJTHuv/j0n7JQ6l0s/c+EMcX5zPYLMLr4XpmI+WXhp4Vfkz0T5Xnh5wbrTBI3f2UTpjQ=="], + "@biomejs/cli-linux-arm64-musl": ["@biomejs/cli-linux-arm64-musl@2.3.4", "http://localhost:4873/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.3.4.tgz", { "os": "linux", "cpu": "arm64" }, "sha512-IruVGQRwMURivWazchiq7gKAqZSFs5so6gi0hJyxk7x6HR+iwZbO2IxNOqyLURBvL06qkIHs7Wffl6Bw30vCbQ=="], - "@biomejs/cli-linux-x64": ["@biomejs/cli-linux-x64@2.3.3", "http://localhost:4873/@biomejs/cli-linux-x64/-/cli-linux-x64-2.3.3.tgz", { "os": "linux", "cpu": "x64" }, "sha512-05CjPLbvVVU8J6eaO6iSEoA0FXKy2l6ddL+1h/VpiosCmIp3HxRKLOa1hhC1n+D13Z8g9b1DtnglGtM5U3sTag=="], + "@biomejs/cli-linux-x64": ["@biomejs/cli-linux-x64@2.3.4", "http://localhost:4873/@biomejs/cli-linux-x64/-/cli-linux-x64-2.3.4.tgz", { "os": "linux", "cpu": "x64" }, "sha512-gKfjWR/6/dfIxPJCw8REdEowiXCkIpl9jycpNVHux8aX2yhWPLjydOshkDL6Y/82PcQJHn95VCj7J+BRcE5o1Q=="], - "@biomejs/cli-linux-x64-musl": ["@biomejs/cli-linux-x64-musl@2.3.3", "http://localhost:4873/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.3.3.tgz", { "os": "linux", "cpu": "x64" }, "sha512-IyqQ+jYzU5MVy9CK5NV0U+NnUMPUAhYMrB/x4QgL/Dl1MqzBVc61bHeyhLnKM6DSEk73/TQYrk/8/QmVHudLdQ=="], + "@biomejs/cli-linux-x64-musl": ["@biomejs/cli-linux-x64-musl@2.3.4", "http://localhost:4873/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.3.4.tgz", { "os": "linux", "cpu": "x64" }, "sha512-mzKFFv/w66e4/jCobFmD3kymCqG+FuWE7sVa4Yjqd9v7qt2UhXo67MSZKY9Ih18V2IwPzRKQPCw6KwdZs6AXSA=="], - "@biomejs/cli-win32-arm64": ["@biomejs/cli-win32-arm64@2.3.3", "http://localhost:4873/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.3.3.tgz", { "os": "win32", "cpu": "arm64" }, "sha512-NtlLs3pdFqFAQYZjlEHKOwJEn3GEaz7rtR2oCrzaLT2Xt3Cfd55/VvodQ5V+X+KepLa956QJagckJrNL+DmumQ=="], + "@biomejs/cli-win32-arm64": ["@biomejs/cli-win32-arm64@2.3.4", "http://localhost:4873/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.3.4.tgz", { "os": "win32", "cpu": "arm64" }, "sha512-5TJ6JfVez+yyupJ/iGUici2wzKf0RrSAxJhghQXtAEsc67OIpdwSKAQboemILrwKfHDi5s6mu7mX+VTCTUydkw=="], - "@biomejs/cli-win32-x64": ["@biomejs/cli-win32-x64@2.3.3", "http://localhost:4873/@biomejs/cli-win32-x64/-/cli-win32-x64-2.3.3.tgz", { "os": "win32", "cpu": "x64" }, "sha512-klJKPPQvUk9Rlp0Dd56gQw/+Wt6uUprHdHWtbDC93f3Iv+knA2tLWpcYoOZJgPV+9s+RBmYv0DGy4mUlr20esg=="], + "@biomejs/cli-win32-x64": ["@biomejs/cli-win32-x64@2.3.4", "http://localhost:4873/@biomejs/cli-win32-x64/-/cli-win32-x64-2.3.4.tgz", { "os": "win32", "cpu": "x64" }, "sha512-FGCijXecmC4IedQ0esdYNlMpx0Jxgf4zceCaMu6fkjWyjgn50ZQtMiqZZQ0Q/77yqPxvtkgZAvt5uGw0gAAjig=="], "@bufbuild/protobuf": ["@bufbuild/protobuf@2.5.2", "", {}, "sha512-foZ7qr0IsUBjzWIq+SuBLfdQCpJ1j8cTuNNT4owngTHoN5KsJb8L9t65fzz7SCeSWzescoOil/0ldqiL041ABg=="], @@ -478,21 +479,21 @@ "@oxc-resolver/binding-win32-x64-msvc": ["@oxc-resolver/binding-win32-x64-msvc@11.13.0", "", { "os": "win32", "cpu": "x64" }, "sha512-wH7t+I0o6EU+O+VMV1AitqYeyZCGtpKDtK8fSqD6N35JQVOHYSsnxrtULoP5PA5SMAEW4GwE8ZbOajaUXXxzuA=="], - "@oxlint/darwin-arm64": ["@oxlint/darwin-arm64@1.25.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-OLx4XyUv5SO7k8y5FzJIoTKan+iKK53T1Ws8fBIl4zblUIWI66ZIqSVG2A2rxOBA7XfINqCz8UipGzOW9yzKcg=="], + "@oxlint/darwin-arm64": ["@oxlint/darwin-arm64@1.27.0", "http://localhost:4873/@oxlint/darwin-arm64/-/darwin-arm64-1.27.0.tgz", { "os": "darwin", "cpu": "arm64" }, "sha512-EqH4PqgTk/cIfDBUPKjY4jS1NBzHTobzXJXxRqoY+E8W0EyGRymf0EI918c7fcCiQXKailfTt9J7URPMwH/bbQ=="], - "@oxlint/darwin-x64": ["@oxlint/darwin-x64@1.25.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-srndNPiliA0rchYKqYfOdqA9kqyVQ6YChK3XJe9Lxo/YG8tTJ5K65g2A5SHTT2s1Nm5DnQa5AKZH7w+7KI/m8A=="], + "@oxlint/darwin-x64": ["@oxlint/darwin-x64@1.27.0", "http://localhost:4873/@oxlint/darwin-x64/-/darwin-x64-1.27.0.tgz", { "os": "darwin", "cpu": "x64" }, "sha512-6sYU8/u6qkGd8RgORfzK+PJrlk9h9yWaE3MuGIEGD/jY2zWDyJksvMyE2G3RahFgutEmwRiZfT3SvpdlXk3BlQ=="], - "@oxlint/linux-arm64-gnu": ["@oxlint/linux-arm64-gnu@1.25.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-W9+DnHDbygprpGV586BolwWES+o2raOcSJv404nOFPQjWZ09efG24nuXrg/fpyoMQb4YoW2W1fvlnyMVU+ADcw=="], + "@oxlint/linux-arm64-gnu": ["@oxlint/linux-arm64-gnu@1.27.0", "http://localhost:4873/@oxlint/linux-arm64-gnu/-/linux-arm64-gnu-1.27.0.tgz", { "os": "linux", "cpu": "arm64" }, "sha512-PJCk4B8ZTvXpcl6blYNjQvkhtuotJQe+fjbqA3g2ym2epprGbB8VHsV7tlLSpM7rPQNcdwd0dtSKILMLkZO3eA=="], - "@oxlint/linux-arm64-musl": ["@oxlint/linux-arm64-musl@1.25.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-1tIMpQhKlItm7uKzs3lluG7KorZR5ItoNKd1iFYF/IPmZ+i0/iuZ7MVWXRjBcgQMhMYSdfZpSVEdFKcFz2HDxA=="], + "@oxlint/linux-arm64-musl": ["@oxlint/linux-arm64-musl@1.27.0", "http://localhost:4873/@oxlint/linux-arm64-musl/-/linux-arm64-musl-1.27.0.tgz", { "os": "linux", "cpu": "arm64" }, "sha512-zHUySNKynnJYIbWp2NCUEycBJxBMOkCZ54gXhkI1jh3yDgEQYMdwrv+lB81P6Cp3MgODwh9Pe9h8K3sDziw3KA=="], - "@oxlint/linux-x64-gnu": ["@oxlint/linux-x64-gnu@1.25.0", "", { "os": "linux", "cpu": "x64" }, "sha512-xVkmk/zkIulc5o0OUWY04DyBfKotnq9+60O9I5c0DpdKAELVLhZkLmct0apx3jAX6Z/3yYPzhc6Lw1Ia3jU3VQ=="], + "@oxlint/linux-x64-gnu": ["@oxlint/linux-x64-gnu@1.27.0", "http://localhost:4873/@oxlint/linux-x64-gnu/-/linux-x64-gnu-1.27.0.tgz", { "os": "linux", "cpu": "x64" }, "sha512-rNnevQF48dqbnjdOHcOFwzbfNp6iSsNCxAl9mXoQY92ki2IK4IWVFsLCa4qfZ+uFoJ+G4sT/oJVO+aVht14Ebw=="], - "@oxlint/linux-x64-musl": ["@oxlint/linux-x64-musl@1.25.0", "", { "os": "linux", "cpu": "x64" }, "sha512-IeO10dZosJV58YzN0gckhRYac+FM9s5VCKUx2ghgbKR91z/bpSRcRl8Sy5cWTkcVwu3ZTikhK8aXC6j7XIqKNw=="], + "@oxlint/linux-x64-musl": ["@oxlint/linux-x64-musl@1.27.0", "http://localhost:4873/@oxlint/linux-x64-musl/-/linux-x64-musl-1.27.0.tgz", { "os": "linux", "cpu": "x64" }, "sha512-9wu9jp0sPj7nAL1FsJcu5xOcG+xbwi2Ebt33npyXro4fnEIna2jnCcq5sLOa5PLgqaNATw7GRP9o6fkJc9nWiA=="], - "@oxlint/win32-arm64": ["@oxlint/win32-arm64@1.25.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-mpdiXZm2oNuSQAbTEPRDuSeR6v1DCD7Cl/xouR2ggHZu3AKZ4XYmm29hyrzIxrYVoQ/5j+182TGdOpGYn9xQJg=="], + "@oxlint/win32-arm64": ["@oxlint/win32-arm64@1.27.0", "http://localhost:4873/@oxlint/win32-arm64/-/win32-arm64-1.27.0.tgz", { "os": "win32", "cpu": "arm64" }, "sha512-9e3+y8yDjoxWQ2lsYy0rNV5LDkEIljo9z/SY9Wr8iYZIo646Jc92S6zILovXphwLNXS9FsmbeLO/3S7UuaMNtA=="], - "@oxlint/win32-x64": ["@oxlint/win32-x64@1.25.0", "", { "os": "win32", "cpu": "x64" }, "sha512-opoIACOkcFloWQO6dubBLbcWwW52ML8+3deFdr0WE0PeM9UXdLB0jRMuLsEnplmBoy9TRvmxDJ+Pw8xc2PsOfQ=="], + "@oxlint/win32-x64": ["@oxlint/win32-x64@1.27.0", "http://localhost:4873/@oxlint/win32-x64/-/win32-x64-1.27.0.tgz", { "os": "win32", "cpu": "x64" }, "sha512-M4lxhmL714CljRBSr8PFPi1aCBkxdD3kHocncY5m2688gS6+WsAyLlpxxhdRj0pNPXBF3hT7EmvuaKWHp+pN3w=="], "@parcel/watcher": ["@parcel/watcher@2.5.1", "", { "dependencies": { "detect-libc": "^1.0.3", "is-glob": "^4.0.3", "micromatch": "^4.0.5", "node-addon-api": "^7.0.0" }, "optionalDependencies": { "@parcel/watcher-android-arm64": "2.5.1", "@parcel/watcher-darwin-arm64": "2.5.1", "@parcel/watcher-darwin-x64": "2.5.1", "@parcel/watcher-freebsd-x64": "2.5.1", "@parcel/watcher-linux-arm-glibc": "2.5.1", "@parcel/watcher-linux-arm-musl": "2.5.1", "@parcel/watcher-linux-arm64-glibc": "2.5.1", "@parcel/watcher-linux-arm64-musl": "2.5.1", "@parcel/watcher-linux-x64-glibc": "2.5.1", "@parcel/watcher-linux-x64-musl": "2.5.1", "@parcel/watcher-win32-arm64": "2.5.1", "@parcel/watcher-win32-ia32": "2.5.1", "@parcel/watcher-win32-x64": "2.5.1" } }, "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg=="], @@ -578,17 +579,17 @@ "@sec-ant/readable-stream": ["@sec-ant/readable-stream@0.4.1", "", {}, "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg=="], - "@sentry-internal/browser-utils": ["@sentry-internal/browser-utils@10.22.0", "http://localhost:4873/@sentry-internal/browser-utils/-/browser-utils-10.22.0.tgz", { "dependencies": { "@sentry/core": "10.22.0" } }, "sha512-BpJoLZEyJr7ORzkCrIjxRTnFWwO1mJNICVh3B9g5d9245niGT4OJvRozmLz89WgJkZFHWu84ls6Xfq5b/3tGFQ=="], + "@sentry-internal/browser-utils": ["@sentry-internal/browser-utils@10.24.0", "http://localhost:4873/@sentry-internal/browser-utils/-/browser-utils-10.24.0.tgz", { "dependencies": { "@sentry/core": "10.24.0" } }, "sha512-2nLj5TgPc/KkGy7LCW9sBGJT0CT+9U+Vlqa8yl7APd5agzxrpRyTcm4hPBBOw5tw7D4NWWUMulFxtZKZzT/Rcw=="], - "@sentry-internal/feedback": ["@sentry-internal/feedback@10.22.0", "http://localhost:4873/@sentry-internal/feedback/-/feedback-10.22.0.tgz", { "dependencies": { "@sentry/core": "10.22.0" } }, "sha512-zXySOin/gGHPV+yKaHqjN9YZ7psEJwzLn8PzCLeo+4REzF1eQwbYZIgOxJFD32z8s3nZiABSWFM/n1CvVfMEsQ=="], + "@sentry-internal/feedback": ["@sentry-internal/feedback@10.24.0", "http://localhost:4873/@sentry-internal/feedback/-/feedback-10.24.0.tgz", { "dependencies": { "@sentry/core": "10.24.0" } }, "sha512-leYFQfgax50sYTEgkcEzPP8lTvtE12nryJSsdtPNym6gmQgA2SN20oSRNlxo1AitNpwNnTkj+ow/Y9ytrJlXUQ=="], - "@sentry-internal/replay": ["@sentry-internal/replay@10.22.0", "http://localhost:4873/@sentry-internal/replay/-/replay-10.22.0.tgz", { "dependencies": { "@sentry-internal/browser-utils": "10.22.0", "@sentry/core": "10.22.0" } }, "sha512-JNE4kHAQSG4/V+J+Zog3vKBWgOe9H33ol/MEU1RuLM/4I+uLf4mTetwnS9ilpnnW/Z/gQYfA+R3CiMrZtqTivw=="], + "@sentry-internal/replay": ["@sentry-internal/replay@10.24.0", "http://localhost:4873/@sentry-internal/replay/-/replay-10.24.0.tgz", { "dependencies": { "@sentry-internal/browser-utils": "10.24.0", "@sentry/core": "10.24.0" } }, "sha512-xqSw3sCu5yxDQFpo/42t1zzxe+6kn542DRwHNBqIBd0CWN7un/j5YIW1Sq/+TdHYGbeG8LzD5UOuvZsT4zF2nQ=="], - "@sentry-internal/replay-canvas": ["@sentry-internal/replay-canvas@10.22.0", "http://localhost:4873/@sentry-internal/replay-canvas/-/replay-canvas-10.22.0.tgz", { "dependencies": { "@sentry-internal/replay": "10.22.0", "@sentry/core": "10.22.0" } }, "sha512-DE4JNUskJg+O+wFq42W5gAa/99aD5k7TfGOwABxvnzFv8vkKA7pqXwPbFFPzypdKIkln+df7RmbnDwQRNg6/lA=="], + "@sentry-internal/replay-canvas": ["@sentry-internal/replay-canvas@10.24.0", "http://localhost:4873/@sentry-internal/replay-canvas/-/replay-canvas-10.24.0.tgz", { "dependencies": { "@sentry-internal/replay": "10.24.0", "@sentry/core": "10.24.0" } }, "sha512-pjNZ+/L/ct0huutkTQrcR+V/v3ICf5wKE8OOB2Dt3DcjNsbLKtUsy9Um6bCbSz/fRI8K/ZFlVLjiIQkMW+WX0Q=="], - "@sentry/browser": ["@sentry/browser@10.22.0", "http://localhost:4873/@sentry/browser/-/browser-10.22.0.tgz", { "dependencies": { "@sentry-internal/browser-utils": "10.22.0", "@sentry-internal/feedback": "10.22.0", "@sentry-internal/replay": "10.22.0", "@sentry-internal/replay-canvas": "10.22.0", "@sentry/core": "10.22.0" } }, "sha512-wD2XqN+yeBpQFfdPo6+wlKDMyyuDctVGzZWE4qTPntICKQuwMdAfeq5Ma89ad0Dw+bzG9UijGeyuJQlswF87Mw=="], + "@sentry/browser": ["@sentry/browser@10.24.0", "http://localhost:4873/@sentry/browser/-/browser-10.24.0.tgz", { "dependencies": { "@sentry-internal/browser-utils": "10.24.0", "@sentry-internal/feedback": "10.24.0", "@sentry-internal/replay": "10.24.0", "@sentry-internal/replay-canvas": "10.24.0", "@sentry/core": "10.24.0" } }, "sha512-kKSNYupPIIk02+4OVR13qpJ8/uzsf6SrCzgxr6EvdK8qEuGYLJyM6lLJze/C5BZTSsam6UGAfahrSI1K5il8oQ=="], - "@sentry/core": ["@sentry/core@10.22.0", "http://localhost:4873/@sentry/core/-/core-10.22.0.tgz", {}, "sha512-V1oeHbrOKzxadsCmgtPku3v3Emo/Bpb3VSuKmlLrQefiHX98MWtjJ3XDGfduzD5/dCdh0r/OOLwjcmrO/PZ2aw=="], + "@sentry/core": ["@sentry/core@10.24.0", "http://localhost:4873/@sentry/core/-/core-10.24.0.tgz", {}, "sha512-apJ1NtCK/Kt5uTytee+4rhhcTm4u3+z0bESH8GNMXMcuJ/A3Rvy3HUh+gqCx4BTOR0Sa44dbMvJcm/ewO+mzVg=="], "@sindresorhus/is": ["@sindresorhus/is@5.6.0", "", {}, "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g=="], @@ -838,7 +839,7 @@ "callsites": ["callsites@3.1.0", "", {}, "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="], - "caniuse-lite": ["caniuse-lite@1.0.30001753", "", {}, "sha512-Bj5H35MD/ebaOV4iDLqPEtiliTN29qkGtEHCwawWn4cYm+bPJM2NsaP30vtZcnERClMzp52J4+aw2UNbK4o+zw=="], + "caniuse-lite": ["caniuse-lite@1.0.30001754", "http://localhost:4873/caniuse-lite/-/caniuse-lite-1.0.30001754.tgz", {}, "sha512-x6OeBXueoAceOmotzx3PO4Zpt4rzpeIFsSr6AAePTZxSkXiYDUmpypEl7e2+8NCd9bD7bXjqyef8CJYPC1jfxg=="], "chalk": ["chalk@5.6.2", "", {}, "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA=="], @@ -932,7 +933,7 @@ "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="], - "effect": ["effect@3.19.0", "http://localhost:4873/effect/-/effect-3.19.0.tgz", { "dependencies": { "@standard-schema/spec": "^1.0.0", "fast-check": "^3.23.1" } }, "sha512-eFvvryWkbXvQ4Gak1Nadv9CW6U35+UUS/fIkF4c/Th8rs2u47g+tNkViYeVGliglNnR6Ai5Otl9tLbav3yZjXg=="], + "effect": ["effect@3.19.3", "http://localhost:4873/effect/-/effect-3.19.3.tgz", { "dependencies": { "@standard-schema/spec": "^1.0.0", "fast-check": "^3.23.1" } }, "sha512-LodiPXiyUJWQ5LoMhUGbu0acD2ff5A5teJtUlLKDPVfoeWEBcZLlzK8BeVXpVa0f30UsdHouVCf0C/E0TxYMrA=="], "electron-to-chromium": ["electron-to-chromium@1.5.244", "", {}, "sha512-OszpBN7xZX4vWMPJwB9illkN/znA8M36GQqQxi6MNy9axWxhOfJyZZJtSLQCpEFLHP2xK33BiWx9aIuIEXVCcw=="], @@ -958,7 +959,7 @@ "eslint": ["eslint@9.39.1", "http://localhost:4873/eslint/-/eslint-9.39.1.tgz", { "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.21.1", "@eslint/config-helpers": "^0.4.2", "@eslint/core": "^0.17.0", "@eslint/eslintrc": "^3.3.1", "@eslint/js": "9.39.1", "@eslint/plugin-kit": "^0.4.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^8.4.0", "eslint-visitor-keys": "^4.2.1", "espree": "^10.4.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, "peerDependencies": { "jiti": "*" }, "optionalPeers": ["jiti"], "bin": { "eslint": "bin/eslint.js" } }, "sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g=="], - "eslint-plugin-oxlint": ["eslint-plugin-oxlint@1.25.0", "", { "dependencies": { "jsonc-parser": "^3.3.1" } }, "sha512-grS4KdR9FAxoQC+wMkepeQHL4osMhoYfUI11Pot6Gitqr4wWi+JZrX0Shr8Bs9fjdWhEjtaZIV6cr4mbfytmyw=="], + "eslint-plugin-oxlint": ["eslint-plugin-oxlint@1.26.0", "http://localhost:4873/eslint-plugin-oxlint/-/eslint-plugin-oxlint-1.26.0.tgz", { "dependencies": { "jsonc-parser": "^3.3.1" } }, "sha512-G+9/9BVh+dNkup7HGp4xb7J/4CO0xQQ66MVhjFgzmxnlVZqx0frry73iNXcafZgQOaNUg2NfuMv61AbAVJ+l1A=="], "eslint-plugin-perfectionist": ["eslint-plugin-perfectionist@4.15.1", "", { "dependencies": { "@typescript-eslint/types": "^8.38.0", "@typescript-eslint/utils": "^8.38.0", "natural-orderby": "^5.0.0" }, "peerDependencies": { "eslint": ">=8.45.0" } }, "sha512-MHF0cBoOG0XyBf7G0EAFCuJJu4I18wy0zAoT1OHfx2o6EOx1EFTIzr2HGeuZa1kDcusoX0xJ9V7oZmaeFd773Q=="], @@ -1206,7 +1207,7 @@ "kind-of": ["kind-of@6.0.3", "", {}, "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="], - "knip": ["knip@5.67.1", "http://localhost:4873/knip/-/knip-5.67.1.tgz", { "dependencies": { "@nodelib/fs.walk": "^1.2.3", "fast-glob": "^3.3.3", "formatly": "^0.3.0", "jiti": "^2.6.0", "js-yaml": "^4.1.0", "minimist": "^1.2.8", "oxc-resolver": "^11.12.0", "picocolors": "^1.1.1", "picomatch": "^4.0.1", "smol-toml": "^1.4.1", "strip-json-comments": "5.0.2", "zod": "^4.1.11" }, "peerDependencies": { "@types/node": ">=18", "typescript": ">=5.0.4 <7" }, "bin": { "knip": "bin/knip.js", "knip-bun": "bin/knip-bun.js" } }, "sha512-U5AtiqnZAbWIxihs5wxFFEZlpKhzRLWlXSGwA79na7wvlX+MsE0rSuU6If+kl/A4o3TDzTtKGZ4SjeLyWkNR/A=="], + "knip": ["knip@5.68.0", "http://localhost:4873/knip/-/knip-5.68.0.tgz", { "dependencies": { "@nodelib/fs.walk": "^1.2.3", "fast-glob": "^3.3.3", "formatly": "^0.3.0", "jiti": "^2.6.0", "js-yaml": "^4.1.0", "minimist": "^1.2.8", "oxc-resolver": "^11.12.0", "picocolors": "^1.1.1", "picomatch": "^4.0.1", "smol-toml": "^1.4.1", "strip-json-comments": "5.0.2", "zod": "^4.1.11" }, "peerDependencies": { "@types/node": ">=18", "typescript": ">=5.0.4 <7" }, "bin": { "knip": "bin/knip.js", "knip-bun": "bin/knip-bun.js" } }, "sha512-YFTu0uy/0x3UhNhlKGsFSwDXkdw+1ZKobrkPL5rbPJtmHnZrGOFI1yjTAi/emicy06zvLYhmW51jPKvwZETgQA=="], "known-css-properties": ["known-css-properties@0.37.0", "", {}, "sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ=="], @@ -1380,7 +1381,7 @@ "oxc-resolver": ["oxc-resolver@11.13.0", "", { "optionalDependencies": { "@oxc-resolver/binding-android-arm-eabi": "11.13.0", "@oxc-resolver/binding-android-arm64": "11.13.0", "@oxc-resolver/binding-darwin-arm64": "11.13.0", "@oxc-resolver/binding-darwin-x64": "11.13.0", "@oxc-resolver/binding-freebsd-x64": "11.13.0", "@oxc-resolver/binding-linux-arm-gnueabihf": "11.13.0", "@oxc-resolver/binding-linux-arm-musleabihf": "11.13.0", "@oxc-resolver/binding-linux-arm64-gnu": "11.13.0", "@oxc-resolver/binding-linux-arm64-musl": "11.13.0", "@oxc-resolver/binding-linux-ppc64-gnu": "11.13.0", "@oxc-resolver/binding-linux-riscv64-gnu": "11.13.0", "@oxc-resolver/binding-linux-riscv64-musl": "11.13.0", "@oxc-resolver/binding-linux-s390x-gnu": "11.13.0", "@oxc-resolver/binding-linux-x64-gnu": "11.13.0", "@oxc-resolver/binding-linux-x64-musl": "11.13.0", "@oxc-resolver/binding-wasm32-wasi": "11.13.0", "@oxc-resolver/binding-win32-arm64-msvc": "11.13.0", "@oxc-resolver/binding-win32-ia32-msvc": "11.13.0", "@oxc-resolver/binding-win32-x64-msvc": "11.13.0" } }, "sha512-Pp9ULXeB0KDclQrSRVUUF0NwXCoADtzMBd2kKsk2pHeQoDlZHl9NwVzeCIYFdfKrc7LQxtGoVec3eX2tZHS0Bw=="], - "oxlint": ["oxlint@1.25.0", "", { "optionalDependencies": { "@oxlint/darwin-arm64": "1.25.0", "@oxlint/darwin-x64": "1.25.0", "@oxlint/linux-arm64-gnu": "1.25.0", "@oxlint/linux-arm64-musl": "1.25.0", "@oxlint/linux-x64-gnu": "1.25.0", "@oxlint/linux-x64-musl": "1.25.0", "@oxlint/win32-arm64": "1.25.0", "@oxlint/win32-x64": "1.25.0" }, "peerDependencies": { "oxlint-tsgolint": ">=0.4.0" }, "optionalPeers": ["oxlint-tsgolint"], "bin": { "oxlint": "bin/oxlint", "oxc_language_server": "bin/oxc_language_server" } }, "sha512-O6iJ9xeuy9eQCi8/EghvsNO6lzSaUPs0FR1uLy51Exp3RkVpjvJKyPPhd9qv65KLnfG/BNd2HE/rH0NbEfVVzA=="], + "oxlint": ["oxlint@1.27.0", "http://localhost:4873/oxlint/-/oxlint-1.27.0.tgz", { "optionalDependencies": { "@oxlint/darwin-arm64": "1.27.0", "@oxlint/darwin-x64": "1.27.0", "@oxlint/linux-arm64-gnu": "1.27.0", "@oxlint/linux-arm64-musl": "1.27.0", "@oxlint/linux-x64-gnu": "1.27.0", "@oxlint/linux-x64-musl": "1.27.0", "@oxlint/win32-arm64": "1.27.0", "@oxlint/win32-x64": "1.27.0" }, "peerDependencies": { "oxlint-tsgolint": ">=0.4.0" }, "optionalPeers": ["oxlint-tsgolint"], "bin": { "oxlint": "bin/oxlint", "oxc_language_server": "bin/oxc_language_server" } }, "sha512-vqMUHIyaDoYVgoTunGMhKfFlaPMLBfIhFYkVuZuqu/D6beLr/6WiLXbIaC/lrcFC+gh+uwQuL0ECfmNlnPCaqQ=="], "p-cancelable": ["p-cancelable@3.0.0", "", {}, "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw=="], @@ -1780,7 +1781,7 @@ "varint": ["varint@6.0.0", "", {}, "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg=="], - "vite": ["vite@7.1.12", "http://localhost:4873/vite/-/vite-7.1.12.tgz", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug=="], + "vite": ["vite@7.2.2", "http://localhost:4873/vite/-/vite-7.2.2.tgz", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-BxAKBWmIbrDgrokdGZH1IgkIk/5mMHDreLDmCJ0qpyJaAteP8NvMhkwr/ZCQNqNH97bw/dANTE9PDzqwJghfMQ=="], "vite-plugin-compression2": ["vite-plugin-compression2@2.3.1", "", { "dependencies": { "@rollup/pluginutils": "^5.1.0", "tar-mini": "^0.2.0" } }, "sha512-bnhLTsurtvOiiP6EMISIKVsOMCeTAjE6FJbyqQus3W4mtAxF7pCuC4puUIAiCgNs98tOCpqo6GIXJXTLufzIaw=="], @@ -1970,6 +1971,8 @@ "browserify-sign/readable-stream": ["readable-stream@2.3.8", "", { "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA=="], + "browserslist/caniuse-lite": ["caniuse-lite@1.0.30001753", "", {}, "sha512-Bj5H35MD/ebaOV4iDLqPEtiliTN29qkGtEHCwawWn4cYm+bPJM2NsaP30vtZcnERClMzp52J4+aw2UNbK4o+zw=="], + "cacheable/keyv": ["keyv@5.5.3", "", { "dependencies": { "@keyv/serialize": "^1.1.1" } }, "sha512-h0Un1ieD+HUrzBH6dJXhod3ifSghk5Hw/2Y4/KHBziPlZecrFyE9YOTPU6eOs0V9pYl8gOs86fkr/KN8lUX39A=="], "core-js-compat/browserslist": ["browserslist@4.25.0", "", { "dependencies": { "caniuse-lite": "^1.0.30001718", "electron-to-chromium": "^1.5.160", "node-releases": "^2.0.19", "update-browserslist-db": "^1.1.3" }, "bin": { "browserslist": "cli.js" } }, "sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA=="], diff --git a/composer.lock b/composer.lock index abac0f34..16881360 100644 --- a/composer.lock +++ b/composer.lock @@ -3004,16 +3004,16 @@ }, { "name": "symfony/translation-contracts", - "version": "v3.6.0", + "version": "v3.6.1", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d" + "reference": "65a8bc82080447fae78373aa10f8d13b38338977" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/df210c7a2573f1913b2d17cc95f90f53a73d8f7d", - "reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/65a8bc82080447fae78373aa10f8d13b38338977", + "reference": "65a8bc82080447fae78373aa10f8d13b38338977", "shasum": "" }, "require": { @@ -3062,7 +3062,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.6.0" + "source": "https://github.com/symfony/translation-contracts/tree/v3.6.1" }, "funding": [ { @@ -3073,12 +3073,16 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-27T08:32:26+00:00" + "time": "2025-07-15T13:41:35+00:00" }, { "name": "symfony/uid", @@ -4070,16 +4074,16 @@ }, { "name": "friendsofphp/php-cs-fixer", - "version": "v3.89.1", + "version": "v3.89.2", "source": { "type": "git", "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", - "reference": "f34967da2866ace090a2b447de1f357356474573" + "reference": "7569658f91e475ec93b99bd5964b059ad1336dcf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/f34967da2866ace090a2b447de1f357356474573", - "reference": "f34967da2866ace090a2b447de1f357356474573", + "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/7569658f91e475ec93b99bd5964b059ad1336dcf", + "reference": "7569658f91e475ec93b99bd5964b059ad1336dcf", "shasum": "" }, "require": { @@ -4115,7 +4119,7 @@ "justinrainbow/json-schema": "^6.5", "keradus/cli-executor": "^2.2", "mikey179/vfsstream": "^1.6.12", - "php-coveralls/php-coveralls": "^2.8", + "php-coveralls/php-coveralls": "^2.9", "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.6", "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.6", "phpunit/phpunit": "^9.6.25 || ^10.5.53 || ^11.5.34", @@ -4161,7 +4165,7 @@ ], "support": { "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", - "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.89.1" + "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.89.2" }, "funding": [ { @@ -4169,7 +4173,7 @@ "type": "github" } ], - "time": "2025-10-24T12:05:10+00:00" + "time": "2025-11-06T21:12:50+00:00" }, { "name": "php-stubs/wordpress-stubs", @@ -6088,16 +6092,16 @@ }, { "name": "symfony/console", - "version": "v7.3.5", + "version": "v7.3.6", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "cdb80fa5869653c83cfe1a9084a673b6daf57ea7" + "reference": "c28ad91448f86c5f6d9d2c70f0cf68bf135f252a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/cdb80fa5869653c83cfe1a9084a673b6daf57ea7", - "reference": "cdb80fa5869653c83cfe1a9084a673b6daf57ea7", + "url": "https://api.github.com/repos/symfony/console/zipball/c28ad91448f86c5f6d9d2c70f0cf68bf135f252a", + "reference": "c28ad91448f86c5f6d9d2c70f0cf68bf135f252a", "shasum": "" }, "require": { @@ -6162,7 +6166,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.3.5" + "source": "https://github.com/symfony/console/tree/v7.3.6" }, "funding": [ { @@ -6182,7 +6186,7 @@ "type": "tidelift" } ], - "time": "2025-10-14T15:46:26+00:00" + "time": "2025-11-04T01:21:42+00:00" }, { "name": "symfony/event-dispatcher", @@ -6346,16 +6350,16 @@ }, { "name": "symfony/filesystem", - "version": "v7.3.2", + "version": "v7.3.6", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "edcbb768a186b5c3f25d0643159a787d3e63b7fd" + "reference": "e9bcfd7837928ab656276fe00464092cc9e1826a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/edcbb768a186b5c3f25d0643159a787d3e63b7fd", - "reference": "edcbb768a186b5c3f25d0643159a787d3e63b7fd", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/e9bcfd7837928ab656276fe00464092cc9e1826a", + "reference": "e9bcfd7837928ab656276fe00464092cc9e1826a", "shasum": "" }, "require": { @@ -6392,7 +6396,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v7.3.2" + "source": "https://github.com/symfony/filesystem/tree/v7.3.6" }, "funding": [ { @@ -6412,7 +6416,7 @@ "type": "tidelift" } ], - "time": "2025-07-07T08:17:47+00:00" + "time": "2025-11-05T09:52:27+00:00" }, { "name": "symfony/finder", @@ -6867,16 +6871,16 @@ }, { "name": "symfony/service-contracts", - "version": "v3.6.0", + "version": "v3.6.1", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4" + "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4", - "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43", + "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43", "shasum": "" }, "require": { @@ -6930,7 +6934,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.6.0" + "source": "https://github.com/symfony/service-contracts/tree/v3.6.1" }, "funding": [ { @@ -6941,12 +6945,16 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-04-25T09:37:31+00:00" + "time": "2025-07-15T11:30:57+00:00" }, { "name": "symfony/stopwatch", diff --git a/cspell.json b/cspell.json index 49d81869..615bac00 100644 --- a/cspell.json +++ b/cspell.json @@ -1,8 +1,5 @@ { - "dictionaries": [ - "fr-fr", - "en-gb" - ], + "dictionaries": ["fr-fr", "en-gb"], "words": [ "GLITCHTIP", "Vali", @@ -42,4 +39,4 @@ "ERRMODE", "laravel" ] -} \ No newline at end of file +} diff --git a/justfile b/justfile index c2b0e475..01cf860c 100755 --- a/justfile +++ b/justfile @@ -31,10 +31,8 @@ format: -dprint fmt # TwigCsFixher -vendor/bin/twig-cs-fixer fix web/app/themes/haiku-atelier-2024/ - # PHP CS - # ./vendor/bin/phpcs - # PHP CS Fixer via Pint - -./vendor/bin/pint --parallel + # Mago + mago fmt # Compile, minifie et optimise Sass vers CSS. [group('css')] diff --git a/mago.toml b/mago.toml index 04011b11..a7011c27 100644 --- a/mago.toml +++ b/mago.toml @@ -1,7 +1,7 @@ php-version = "8.4.0" [source] - excludes = [] + excludes = ["web/wp/wp-admin/includes/noop.php"] extensions = ["php"] includes = ["config", "vendor", "web/app/plugins", "web/vendor", "web/wp"] paths = ["web/app/themes/haiku-atelier-2024/"] @@ -86,12 +86,15 @@ php-version = "8.4.0" integrations = ["wordpress"] [linter.rules] - ambiguous-function-call = { enabled = false } + ambiguous-function-call = { enabled = true } halstead = { effort-threshold = 7000 } literal-named-argument = { enabled = false } + no-redundant-readonly = { enabled = true } + no-redundant-use = { enabled = true } + no-variable-variable = { enabled = true } [analyzer] - allow-possibly-undefined-array-keys = false + allow-possibly-undefined-array-keys = true analyze-dead-code = true check-arrow-function-missing-type-hints = true check-closure-missing-type-hints = true diff --git a/mise.toml b/mise.toml index a1d0dc78..fce0bf1e 100644 --- a/mise.toml +++ b/mise.toml @@ -1,2 +1,2 @@ [tools] -"cargo:mago" = "latest" + "cargo:mago" = "latest" diff --git a/package.json b/package.json index 3b17d29d..1ec9df82 100755 --- a/package.json +++ b/package.json @@ -11,10 +11,10 @@ "dependencies": { "@logtape/logtape": "^1.1.2", "@mobily/ts-belt": "v4.0.0-rc.5", - "@sentry/browser": "^10.22.0", + "@sentry/browser": "^10.24.0", "a11y-dialog": "^8.1.4", "chalk": "^5.6.2", - "effect": "^3.19.0", + "effect": "^3.19.3", "lit-html": "^3.3.1", "loglevel": "^1.9.2", "loglevel-plugin-prefix": "^0.8.4", @@ -24,28 +24,28 @@ "valibot": "1.1.0" }, "devDependencies": { - "@biomejs/biome": "^2.3.3", + "@biomejs/biome": "^2.3.4", "@cspell/dict-fr-fr": "^2.3.2", "@eslint/js": "^9.39.1", "@gcch/configuration-prettier": "^0.0.10", "@playwright/test": "^1.56.1", "@prettier/plugin-xml": "^3.4.2", - "@sentry/core": "^10.22.0", + "@sentry/core": "^10.24.0", "@swc/cli": "0.7.8", "@types/eslint__js": "^9.14.0", "@types/node": "^24.10.0", "@vitejs/plugin-legacy": "^7.2.1", "better-typescript-lib": "^2.12.0", "browserslist": "^4.27.0", - "caniuse-lite": "^1.0.30001753", + "caniuse-lite": "^1.0.30001754", "eslint": "^9.39.1", - "eslint-plugin-oxlint": "^1.25.0", + "eslint-plugin-oxlint": "^1.26.0", "eslint-plugin-perfectionist": "^4.15.1", "fdir": "^6.5.0", "globals": "^16.5.0", - "knip": "^5.67.1", + "knip": "^5.68.0", "lightningcss-cli": "^1.30.2", - "oxlint": "^1.25.0", + "oxlint": "^1.27.0", "picomatch": "^4.0.3", "playwright": "^1.56.1", "prettier": "^3.6.2", @@ -60,7 +60,7 @@ "stylelint-plugin-logical-css": "^1.2.3", "typescript": "5.9.3", "typescript-eslint": "^8.46.3", - "vite": "^7.1.12", + "vite": "^7.2.2", "vite-plugin-compression2": "^2.3.1", "vite-plugin-manifest-sri": "^0.2.0", "vite-plugin-node-polyfills": "^0.24.0", diff --git a/phpstan.neon b/phpstan.neon index 5beeb545..7901b46f 100755 --- a/phpstan.neon +++ b/phpstan.neon @@ -1,12 +1,22 @@ parameters: - level: 6 - paths: - - web/app/themes/haiku-atelier-2024 - scanDirectories: - - vendor - - web/app/plugins - - web/vendor - - web/wp - typeAliases: - InformationsProduitShop: 'array{id: int, nom: string, prix: string, photo_repos: string, photo_survol: string, url: string}' - InformationsVariation: 'array{id: int, titre: string, prix: string}' + parallel: + maximumNumberOfProcesses: 8 + level: 6 + paths: + - web/app/themes/haiku-atelier-2024 + scanDirectories: + - vendor + - web/app + - web/vendor + - web/wp + scanFiles: + - .php-cs-fixer.dist.php + - web/index.php + - web/wp-config.php + + excludePaths: + analyse: + - web/app/themes/la-fille-davril/vendor + analyseAndScan: + - web/app/themes/twentytwentyfour + - web/app/languages diff --git a/web/app/themes/haiku-atelier-2024/functions.php b/web/app/themes/haiku-atelier-2024/functions.php index 72e1a1e1..a29f3c87 100755 --- a/web/app/themes/haiku-atelier-2024/functions.php +++ b/web/app/themes/haiku-atelier-2024/functions.php @@ -6,6 +6,8 @@ use Carbon_Fields\Carbon_Fields; use HaikuAtelier\StarterSite; use Timber\Timber; +use function wp_enqueue_script_module; + // Récupère les dépendances Composer require_once __DIR__ . '../../../../../vendor/autoload.php'; require_once __DIR__ . '/src/StarterSite.php'; diff --git a/web/app/themes/haiku-atelier-2024/page-successful-order.php b/web/app/themes/haiku-atelier-2024/page-successful-order.php index bf4ae517..9ea6912e 100755 --- a/web/app/themes/haiku-atelier-2024/page-successful-order.php +++ b/web/app/themes/haiku-atelier-2024/page-successful-order.php @@ -16,7 +16,7 @@ use function Crell\fp\pipe; require_once __DIR__ . '/src/inc/TraitementInformations.php'; /** @var string $url_accueil L'URL de la page d'Accueil. */ -$url_accueil = get_page_link(get_page_by_path('home')->ID); +$url_accueil = get_page_link(get_page_by_path('home')?->ID); /** @var string $session_id L'ID de la Session Stripe liée à la Commande. */ $session_id = $_GET['session_id']; @@ -72,7 +72,7 @@ try { // Récupère le nom et la valeur de l'attribut du Produit $attribut = $produit->is_type('variable') - ? collect($produit->get_attributes())->mapWithKeys(function ($atr, $cle) use ($produit_commande) { + ? collect($produit->get_attributes())->mapWithKeys(function ($_atr, $cle) use ($produit_commande) { $nom_attribut = wc_attribute_label($cle, $produit_commande->get_product()); $valeur_attribut = $produit_commande->get_product()->get_attribute($cle); diff --git a/web/app/themes/haiku-atelier-2024/src/StarterSite.php b/web/app/themes/haiku-atelier-2024/src/StarterSite.php index a8d528d0..a944e861 100755 --- a/web/app/themes/haiku-atelier-2024/src/StarterSite.php +++ b/web/app/themes/haiku-atelier-2024/src/StarterSite.php @@ -8,8 +8,25 @@ use Roots\WPConfig\Config; use Timber\Site; use Timber\URLHelper; +use function add_action; +use function add_theme_support; +use function array_map; +use function base64_encode; use function Crell\fp\pipe; use function Env\env; +use function esc_url; +use function get_categories; +use function get_option; +use function get_page_by_path; +use function get_page_link; +use function get_privacy_policy_url; +use function get_theme_mod; +use function get_theme_mods; +use function preg_match; +use function WC; +use function wp_create_nonce; +use function wp_get_attachment_image_src; +use function wpautop; class StarterSite extends Site { public function __construct() { diff --git a/web/app/themes/haiku-atelier-2024/src/inc/ControlesPersonnalises.php b/web/app/themes/haiku-atelier-2024/src/inc/ControlesPersonnalises.php index 6d9dadbd..8d32b79b 100755 --- a/web/app/themes/haiku-atelier-2024/src/inc/ControlesPersonnalises.php +++ b/web/app/themes/haiku-atelier-2024/src/inc/ControlesPersonnalises.php @@ -25,6 +25,7 @@ function enregistre_controle_personnalise_tinymce(): void { /** * Enqueue our scripts and styles. */ + #[\Override()] public function enqueue(): void { wp_enqueue_script( handle: 'controle-personnalise-tinymce', @@ -39,6 +40,7 @@ function enregistre_controle_personnalise_tinymce(): void { /** * Pass our TinyMCE toolbar string to JavaScript. */ + #[\Override()] public function to_json(): void { parent::to_json(); @@ -58,6 +60,7 @@ function enregistre_controle_personnalise_tinymce(): void { /** * Render the control in the customizer. */ + #[\Override()] public function render_content() { ?>
label); ?> diff --git a/web/app/themes/haiku-atelier-2024/src/inc/FonctionnalitesWooCommerce.php b/web/app/themes/haiku-atelier-2024/src/inc/FonctionnalitesWooCommerce.php index 0c8a35ea..ebbf1ff5 100755 --- a/web/app/themes/haiku-atelier-2024/src/inc/FonctionnalitesWooCommerce.php +++ b/web/app/themes/haiku-atelier-2024/src/inc/FonctionnalitesWooCommerce.php @@ -132,7 +132,7 @@ function retire_merdes_wc() { * * @return WP_REST_Response */ -function genere_balises_img_dans_produit_dans_reponse_rest($response, $product) { +function genere_balises_img_dans_produit_dans_reponse_rest($response, $_product) { // Vérifie que la Réponse a des données if (empty($response->data)) { return $response; @@ -180,13 +180,12 @@ add_filter('woocommerce_rest_prepare_product_object', 'genere_balises_img_dans_p /** * TODO. * - * @param WP_REST_Respone $$reponse - * @param WC_Data $produit - * @param mixed $reponse + * @param WP_REST_Response $reponse + * @param WC_Data $_produit * * @return WP_REST_Response */ -function genere_prix_maximal_produit_variable_dans_reponse_rest($reponse, $produit) { +function genere_prix_maximal_produit_variable_dans_reponse_rest($reponse, $_produit) { // Vérifie que la Réponse a des données if (empty($reponse->data)) { return $reponse; diff --git a/web/app/themes/haiku-atelier-2024/woocommerce/emails/customer-invoice.php b/web/app/themes/haiku-atelier-2024/woocommerce/emails/customer-invoice.php index 37d4103e..56ac1546 100755 --- a/web/app/themes/haiku-atelier-2024/woocommerce/emails/customer-invoice.php +++ b/web/app/themes/haiku-atelier-2024/woocommerce/emails/customer-invoice.php @@ -42,19 +42,19 @@ $email = [ ], 'paiement' => ['methode' => ''], 'produits' => collect($commande->get_items())->map(function (WC_Order_Item_Product $article) { - /** @var WC_Product_Simple|WC_Product_Variable $produit */ - $produit = wc_get_product($article['product_id']); + $produit = $article->get_product(); - /** @var WC_Product_Simple|WC_Product_Variation $produit_article */ - $produit_article = $article->get_product(); + if (is_bool($produit) || $produit === null) { + return []; + } return [ // Récupère l'Attribut d'un Produit variable ou renvoie un tableau vide 'attribut' => $produit->is_type('variable') ? collect($produit->get_attributes()) - ->mapWithKeys(fn($atr, $cle) => [ - 'nom' => Str::lower(wc_attribute_label($cle, $produit_article)), - 'valeur' => $produit_article->get_attribute($cle), + ->mapWithKeys(fn($_atr, $cle) => [ + 'nom' => Str::lower(wc_attribute_label($cle, $produit)), + 'valeur' => $produit->get_attribute($cle), ]) ->toArray() : [], @@ -69,10 +69,10 @@ $email = [ ? 'Free' : $commande->get_shipping_total() . '€', 'sous_total_produits' => $commande->get_subtotal() . '€', - 'sous_total_reduction' => '0.00' === $commande->get_discount_total + 'sous_total_reduction' => '0.00' === $commande->get_discount_total() ? '0' - : Number::format($commande->get_discount_total(), maxPrecision: 2) . '€', - 'total' => Number::format($commande->get_total(), maxPrecision: 2) . '€', + : Number::format((float) $commande->get_discount_total(), maxPrecision: 2) . '€', + 'total' => Number::format((float) $commande->get_total(), maxPrecision: 2) . '€', ], ]; // Transforme les codes de pays en noms de pays diff --git a/web/app/themes/haiku-atelier-2024/woocommerce/emails/customer-processing-order.php b/web/app/themes/haiku-atelier-2024/woocommerce/emails/customer-processing-order.php index 6af1df0a..8bfab522 100755 --- a/web/app/themes/haiku-atelier-2024/woocommerce/emails/customer-processing-order.php +++ b/web/app/themes/haiku-atelier-2024/woocommerce/emails/customer-processing-order.php @@ -38,19 +38,19 @@ $email = [ 'commande' => ['date' => $date->toDateString(), 'id' => $commande->get_id()], 'paiement' => ['methode' => ''], 'produits' => collect($commande->get_items())->map(function (WC_Order_Item_Product $article) { - /** @var WC_Product_Simple|WC_Product_Variable $produit */ - $produit = wc_get_product($article['product_id']); + $produit = $article->get_product(); - /** @var WC_Product_Simple|WC_Product_Variation $produit_article */ - $produit_article = $article->get_product(); + if (is_bool($produit) || $produit === null) { + return []; + } return [ // Récupère l'Attribut d'un Produit variable ou renvoie un tableau vide - 'attribut' => $produit->is_type('variable') + 'attribut' => $article->is_type('variable') ? collect($produit->get_attributes()) - ->mapWithKeys(fn($atr, $cle) => [ - 'nom' => Str::lower(wc_attribute_label($cle, $produit_article)), - 'valeur' => $produit_article->get_attribute($cle), + ->mapWithKeys(fn($_atr, $cle) => [ + 'nom' => Str::lower(wc_attribute_label($cle, $produit)), + 'valeur' => $produit->get_attribute($cle), ]) ->toArray() : [], @@ -65,10 +65,10 @@ $email = [ ? 'Free' : $commande->get_shipping_total() . '€', 'sous_total_produits' => $commande->get_subtotal() . '€', - 'sous_total_reduction' => '0.00' === $commande->get_discount_total + 'sous_total_reduction' => '0.00' === $commande->get_discount_total() ? '0' - : Number::format($commande->get_discount_total(), maxPrecision: 2) . '€', - 'total' => Number::format($commande->get_total(), maxPrecision: 2) . '€', + : Number::format((float) $commande->get_discount_total(), maxPrecision: 2) . '€', + 'total' => Number::format((float) $commande->get_total(), maxPrecision: 2) . '€', ], ]; // Transforme les codes de pays en noms de pays @@ -76,6 +76,7 @@ $email['adresses']['livraison']['country'] = WC()->countries->countries[$command $email['adresses']['facturation']['country'] = WC()->countries->countries[$commande->get_billing_country()]; $contexte['commande'] = $email; + // Rendu Timber::render( filenames: $modeles,