2026-04-02
This commit is contained in:
parent
5f332f4068
commit
15371d2469
13 changed files with 295 additions and 125 deletions
|
|
@ -7,8 +7,8 @@
|
||||||
"/vendor/composer/**/*"
|
"/vendor/composer/**/*"
|
||||||
],
|
],
|
||||||
"language_server.diagnostic_outsource_timeout": 5,
|
"language_server.diagnostic_outsource_timeout": 5,
|
||||||
"language_server.diagnostics_on_update": true,
|
|
||||||
"language_server.diagnostics_on_save": true,
|
"language_server.diagnostics_on_save": true,
|
||||||
|
"language_server.diagnostics_on_update": true,
|
||||||
"language_server_highlight.enabled": true,
|
"language_server_highlight.enabled": true,
|
||||||
"language_server_php_cs_fixer.enabled": true,
|
"language_server_php_cs_fixer.enabled": true,
|
||||||
"language_server_phpstan.config": "phpstan.neon",
|
"language_server_phpstan.config": "phpstan.neon",
|
||||||
|
|
|
||||||
62
bun.lock
62
bun.lock
|
|
@ -8,18 +8,18 @@
|
||||||
"@mobily/ts-belt": "v4.0.0-rc.5",
|
"@mobily/ts-belt": "v4.0.0-rc.5",
|
||||||
"@sentry/browser": "^10.47.0",
|
"@sentry/browser": "^10.47.0",
|
||||||
"a11y-dialog": "^8.1.4",
|
"a11y-dialog": "^8.1.4",
|
||||||
"effect": "^3.21.0",
|
"effect": "^4.0.0-beta.43",
|
||||||
"lit-html": "^3.3.1",
|
"lit-html": "^3.3.1",
|
||||||
"purify-ts": "2.1.2",
|
"purify-ts": "2.1.2",
|
||||||
"ts-pattern": "^5.9.0",
|
"ts-pattern": "^5.9.0",
|
||||||
"valibot": "1.1.0",
|
"valibot": "1.1.0",
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@effect/language-service": "^0.84.2",
|
"@effect/language-service": "^0.84.3",
|
||||||
"@gcch/configuration-eslint": "git+https://git.gcch.fr/gcch/configuration-eslint#62ee424274",
|
"@gcch/configuration-eslint": "git+https://git.gcch.fr/gcch/configuration-eslint#62ee424274",
|
||||||
"@gcch/configuration-oxlint": "git+https://git.gcch.fr/gcch/configuration-oxlint#c53b1c1f78",
|
"@gcch/configuration-oxlint": "git+https://git.gcch.fr/gcch/configuration-oxlint#c53b1c1f78",
|
||||||
"@gcch/configuration-prettier": "git+https://git.gcch.fr/gcch/configuration-prettier#8de937e801",
|
"@gcch/configuration-prettier": "git+https://git.gcch.fr/gcch/configuration-prettier#8de937e801",
|
||||||
"@playwright/test": "^1.59.0",
|
"@playwright/test": "^1.59.1",
|
||||||
"@sentry/core": "^10.47.0",
|
"@sentry/core": "^10.47.0",
|
||||||
"@types/bun": "^1.3.11",
|
"@types/bun": "^1.3.11",
|
||||||
"@types/node": "^25.5.0",
|
"@types/node": "^25.5.0",
|
||||||
|
|
@ -31,7 +31,7 @@
|
||||||
"eslint-plugin-functional": "^9.0.4",
|
"eslint-plugin-functional": "^9.0.4",
|
||||||
"eslint-plugin-jsx-a11y": "^6.10.2",
|
"eslint-plugin-jsx-a11y": "^6.10.2",
|
||||||
"eslint-plugin-oxlint": "^1.58.0",
|
"eslint-plugin-oxlint": "^1.58.0",
|
||||||
"eslint-plugin-perfectionist": "^5.7.0",
|
"eslint-plugin-perfectionist": "^5.8.0",
|
||||||
"eslint-plugin-sonarjs": "^4.0.2",
|
"eslint-plugin-sonarjs": "^4.0.2",
|
||||||
"fdir": "^6.5.0",
|
"fdir": "^6.5.0",
|
||||||
"globals": "^17.4.0",
|
"globals": "^17.4.0",
|
||||||
|
|
@ -41,7 +41,7 @@
|
||||||
"lightningcss-cli": "^1.32.0",
|
"lightningcss-cli": "^1.32.0",
|
||||||
"oxlint": "^1.58.0",
|
"oxlint": "^1.58.0",
|
||||||
"oxlint-tsgolint": "^0.19.0",
|
"oxlint-tsgolint": "^0.19.0",
|
||||||
"playwright": "^1.59.0",
|
"playwright": "^1.59.1",
|
||||||
"prettier": "^3.8.1",
|
"prettier": "^3.8.1",
|
||||||
"prettier-plugin-pkg": "^0.22.1",
|
"prettier-plugin-pkg": "^0.22.1",
|
||||||
"prettier-plugin-sh": "^0.18.0",
|
"prettier-plugin-sh": "^0.18.0",
|
||||||
|
|
@ -60,7 +60,9 @@
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"trustedDependencies": [
|
"trustedDependencies": [
|
||||||
|
"lightningcss-cli",
|
||||||
"core-js",
|
"core-js",
|
||||||
|
"msgpackr-extract",
|
||||||
"@parcel/watcher",
|
"@parcel/watcher",
|
||||||
],
|
],
|
||||||
"packages": {
|
"packages": {
|
||||||
|
|
@ -264,7 +266,7 @@
|
||||||
|
|
||||||
"@csstools/selector-specificity": ["@csstools/selector-specificity@6.0.0", "", { "peerDependencies": { "postcss-selector-parser": "^7.1.1" } }, "sha512-4sSgl78OtOXEX/2d++8A83zHNTgwCJMaR24FvsYL7Uf/VS8HZk9PTwR51elTbGqMuwH3szLvvOXEaVnqn0Z3zA=="],
|
"@csstools/selector-specificity": ["@csstools/selector-specificity@6.0.0", "", { "peerDependencies": { "postcss-selector-parser": "^7.1.1" } }, "sha512-4sSgl78OtOXEX/2d++8A83zHNTgwCJMaR24FvsYL7Uf/VS8HZk9PTwR51elTbGqMuwH3szLvvOXEaVnqn0Z3zA=="],
|
||||||
|
|
||||||
"@effect/language-service": ["@effect/language-service@0.84.2", "", { "bin": { "effect-language-service": "cli.js" } }, "sha512-l04qNxpiA8rY5yXWckRPJ7Mk5MNerXuNymSFf+IdflfI5i8jgL1bpBNLuP6ijg7wgjdHc/KmTnCj2kT0SCntuA=="],
|
"@effect/language-service": ["@effect/language-service@0.84.3", "", { "bin": { "effect-language-service": "cli.js" } }, "sha512-zpxi6rLCwst/cBQd7ElwDvt36Y6Jvz8v6bCLnNiOL6OXvdLmqjOFWyzWZdMh92vvBQA/aVKhfIAAOP3o4wKt0A=="],
|
||||||
|
|
||||||
"@emnapi/core": ["@emnapi/core@1.9.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.0", "tslib": "^2.4.0" } }, "sha512-mukuNALVsoix/w1BJwFzwXBN/dHeejQtuVzcDsfOEsdpCumXb/E9j8w11h5S54tT1xhifGfbbSm/ICrObRb3KA=="],
|
"@emnapi/core": ["@emnapi/core@1.9.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.0", "tslib": "^2.4.0" } }, "sha512-mukuNALVsoix/w1BJwFzwXBN/dHeejQtuVzcDsfOEsdpCumXb/E9j8w11h5S54tT1xhifGfbbSm/ICrObRb3KA=="],
|
||||||
|
|
||||||
|
|
@ -324,6 +326,18 @@
|
||||||
|
|
||||||
"@mobily/ts-belt": ["@mobily/ts-belt@4.0.0-rc.5", "", {}, "sha512-HLWJ8yKrfwdMzCvckRunrAL8Z+K5q31FdY6JzhkBp8o6uQsVuzf26KFyno1s6n6GB78OJEsjs57SaDk9plsJhA=="],
|
"@mobily/ts-belt": ["@mobily/ts-belt@4.0.0-rc.5", "", {}, "sha512-HLWJ8yKrfwdMzCvckRunrAL8Z+K5q31FdY6JzhkBp8o6uQsVuzf26KFyno1s6n6GB78OJEsjs57SaDk9plsJhA=="],
|
||||||
|
|
||||||
|
"@msgpackr-extract/msgpackr-extract-darwin-arm64": ["@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.3", "", { "os": "darwin", "cpu": "arm64" }, "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw=="],
|
||||||
|
|
||||||
|
"@msgpackr-extract/msgpackr-extract-darwin-x64": ["@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.3", "", { "os": "darwin", "cpu": "x64" }, "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw=="],
|
||||||
|
|
||||||
|
"@msgpackr-extract/msgpackr-extract-linux-arm": ["@msgpackr-extract/msgpackr-extract-linux-arm@3.0.3", "", { "os": "linux", "cpu": "arm" }, "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw=="],
|
||||||
|
|
||||||
|
"@msgpackr-extract/msgpackr-extract-linux-arm64": ["@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg=="],
|
||||||
|
|
||||||
|
"@msgpackr-extract/msgpackr-extract-linux-x64": ["@msgpackr-extract/msgpackr-extract-linux-x64@3.0.3", "", { "os": "linux", "cpu": "x64" }, "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg=="],
|
||||||
|
|
||||||
|
"@msgpackr-extract/msgpackr-extract-win32-x64": ["@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3", "", { "os": "win32", "cpu": "x64" }, "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ=="],
|
||||||
|
|
||||||
"@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.2", "", { "dependencies": { "@tybys/wasm-util": "^0.10.1" }, "peerDependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1" } }, "sha512-sNXv5oLJ7ob93xkZ1XnxisYhGYXfaG9f65/ZgYuAu3qt7b3NadcOEhLvx28hv31PgX8SZJRYrAIPQilQmFpLVw=="],
|
"@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.2", "", { "dependencies": { "@tybys/wasm-util": "^0.10.1" }, "peerDependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1" } }, "sha512-sNXv5oLJ7ob93xkZ1XnxisYhGYXfaG9f65/ZgYuAu3qt7b3NadcOEhLvx28hv31PgX8SZJRYrAIPQilQmFpLVw=="],
|
||||||
|
|
||||||
"@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="],
|
"@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="],
|
||||||
|
|
@ -494,7 +508,7 @@
|
||||||
|
|
||||||
"@pkgr/core": ["@pkgr/core@0.2.9", "", {}, "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA=="],
|
"@pkgr/core": ["@pkgr/core@0.2.9", "", {}, "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA=="],
|
||||||
|
|
||||||
"@playwright/test": ["@playwright/test@1.59.0", "", { "dependencies": { "playwright": "1.59.0" }, "bin": { "playwright": "cli.js" } }, "sha512-TOA5sTLd49rTDaZpYpvCQ9hGefHQq/OYOyCVnGqS2mjMfX+lGZv2iddIJd0I48cfxqSPttS9S3OuLKyylHcO1w=="],
|
"@playwright/test": ["@playwright/test@1.59.1", "", { "dependencies": { "playwright": "1.59.1" }, "bin": { "playwright": "cli.js" } }, "sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg=="],
|
||||||
|
|
||||||
"@reteps/dockerfmt": ["@reteps/dockerfmt@0.3.6", "", {}, "sha512-Tb5wIMvBf/nLejTQ61krK644/CEMB/cpiaIFXqGApfGqO3GwcR3qnI0DbmkFVCl2OyEp8LnLX3EkucoL0+tbFg=="],
|
"@reteps/dockerfmt": ["@reteps/dockerfmt@0.3.6", "", {}, "sha512-Tb5wIMvBf/nLejTQ61krK644/CEMB/cpiaIFXqGApfGqO3GwcR3qnI0DbmkFVCl2OyEp8LnLX3EkucoL0+tbFg=="],
|
||||||
|
|
||||||
|
|
@ -782,7 +796,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=="],
|
"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.21.0", "", { "dependencies": { "@standard-schema/spec": "^1.0.0", "fast-check": "^3.23.1" } }, "sha512-PPN80qRokCd1f015IANNhrwOnLO7GrrMQfk4/lnZRE/8j7UPWrNNjPV0uBrZutI/nHzernbW+J0hdqQysHiSnQ=="],
|
"effect": ["effect@4.0.0-beta.43", "", { "dependencies": { "@standard-schema/spec": "^1.1.0", "fast-check": "^4.5.3", "find-my-way-ts": "^0.1.6", "ini": "^6.0.0", "kubernetes-types": "^1.30.0", "msgpackr": "^1.11.8", "multipasta": "^0.2.7", "toml": "^3.0.0", "uuid": "^13.0.0", "yaml": "^2.8.2" } }, "sha512-AJYyDimIwJOn87uUz/JzmgDc5GfjxJbXvEbTvNzMa+M3Uer344bLo/O5mMRkqc1vBleA+Ygs4+dbE3QsqOkKTQ=="],
|
||||||
|
|
||||||
"electron-to-chromium": ["electron-to-chromium@1.5.330", "", {}, "sha512-jFNydB5kFtYUobh4IkWUnXeyDbjf/r9gcUEXe1xcrcUxIGfTdzPXA+ld6zBRbwvgIGVzDll/LTIiDztEtckSnA=="],
|
"electron-to-chromium": ["electron-to-chromium@1.5.330", "", {}, "sha512-jFNydB5kFtYUobh4IkWUnXeyDbjf/r9gcUEXe1xcrcUxIGfTdzPXA+ld6zBRbwvgIGVzDll/LTIiDztEtckSnA=="],
|
||||||
|
|
||||||
|
|
@ -826,7 +840,7 @@
|
||||||
|
|
||||||
"eslint-plugin-oxlint": ["eslint-plugin-oxlint@1.58.0", "", { "dependencies": { "jsonc-parser": "^3.3.1" }, "peerDependencies": { "oxlint": "~1.58.0" } }, "sha512-L3aZSg0x2fL0dXyOgoK8A1QUbnfGzXt6bX4AFD7Scauw6zVUBOZrES5eRTzLLGgeVg0el5lvqHGl1WFAGo14DA=="],
|
"eslint-plugin-oxlint": ["eslint-plugin-oxlint@1.58.0", "", { "dependencies": { "jsonc-parser": "^3.3.1" }, "peerDependencies": { "oxlint": "~1.58.0" } }, "sha512-L3aZSg0x2fL0dXyOgoK8A1QUbnfGzXt6bX4AFD7Scauw6zVUBOZrES5eRTzLLGgeVg0el5lvqHGl1WFAGo14DA=="],
|
||||||
|
|
||||||
"eslint-plugin-perfectionist": ["eslint-plugin-perfectionist@5.7.0", "", { "dependencies": { "@typescript-eslint/utils": "^8.57.1", "natural-orderby": "^5.0.0" }, "peerDependencies": { "eslint": "^8.45.0 || ^9.0.0 || ^10.0.0" } }, "sha512-WRHj7OZS/INutQ/gKN5C1ZGnMhkQ3oKZQAA2I7rl5yM8keBtSd9oj/qlJaHuwh5873FhMPqYlttcadF0YsTN7g=="],
|
"eslint-plugin-perfectionist": ["eslint-plugin-perfectionist@5.8.0", "", { "dependencies": { "@typescript-eslint/utils": "^8.58.0", "natural-orderby": "^5.0.0" }, "peerDependencies": { "eslint": "^8.45.0 || ^9.0.0 || ^10.0.0" } }, "sha512-k8uIptWIxkUclonCFGyDzgYs9NI+Qh0a7cUXS3L7IYZDEsjXuimFBVbxXPQQngWqMiaxJRwbtYB4smMGMqF+cw=="],
|
||||||
|
|
||||||
"eslint-plugin-sonarjs": ["eslint-plugin-sonarjs@4.0.2", "", { "dependencies": { "@eslint-community/regexpp": "^4.12.2", "builtin-modules": "^3.3.0", "bytes": "^3.1.2", "functional-red-black-tree": "^1.0.1", "globals": "^17.4.0", "jsx-ast-utils-x": "^0.1.0", "lodash.merge": "^4.6.2", "minimatch": "^10.2.4", "scslre": "^0.3.0", "semver": "^7.7.4", "ts-api-utils": "^2.4.0", "typescript": ">=5" }, "peerDependencies": { "eslint": "^8.0.0 || ^9.0.0 || ^10.0.0" } }, "sha512-BTcT1zr1iTbmJtVlcesISwnXzh+9uhf9LEOr+RRNf4kR8xA0HQTPft4oiyOCzCOGKkpSJxjR8ZYF6H7VPyplyw=="],
|
"eslint-plugin-sonarjs": ["eslint-plugin-sonarjs@4.0.2", "", { "dependencies": { "@eslint-community/regexpp": "^4.12.2", "builtin-modules": "^3.3.0", "bytes": "^3.1.2", "functional-red-black-tree": "^1.0.1", "globals": "^17.4.0", "jsx-ast-utils-x": "^0.1.0", "lodash.merge": "^4.6.2", "minimatch": "^10.2.4", "scslre": "^0.3.0", "semver": "^7.7.4", "ts-api-utils": "^2.4.0", "typescript": ">=5" }, "peerDependencies": { "eslint": "^8.0.0 || ^9.0.0 || ^10.0.0" } }, "sha512-BTcT1zr1iTbmJtVlcesISwnXzh+9uhf9LEOr+RRNf4kR8xA0HQTPft4oiyOCzCOGKkpSJxjR8ZYF6H7VPyplyw=="],
|
||||||
|
|
||||||
|
|
@ -846,7 +860,7 @@
|
||||||
|
|
||||||
"esutils": ["esutils@2.0.3", "", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="],
|
"esutils": ["esutils@2.0.3", "", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="],
|
||||||
|
|
||||||
"fast-check": ["fast-check@3.23.2", "", { "dependencies": { "pure-rand": "^6.1.0" } }, "sha512-h5+1OzzfCC3Ef7VbtKdcv7zsstUQwUDlYpUTvjeUsJAssPgLn7QzbboPtL5ro04Mq0rPOsMzl7q5hIbRs2wD1A=="],
|
"fast-check": ["fast-check@4.6.0", "", { "dependencies": { "pure-rand": "^8.0.0" } }, "sha512-h7H6Dm0Fy+H4ciQYFxFjXnXkzR2kr9Fb22c0UBpHnm59K2zpr2t13aPTHlltFiNT6zuxp6HMPAVVvgur4BLdpA=="],
|
||||||
|
|
||||||
"fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="],
|
"fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="],
|
||||||
|
|
||||||
|
|
@ -870,6 +884,8 @@
|
||||||
|
|
||||||
"fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="],
|
"fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="],
|
||||||
|
|
||||||
|
"find-my-way-ts": ["find-my-way-ts@0.1.6", "", {}, "sha512-a85L9ZoXtNAey3Y6Z+eBWW658kO/MwR7zIafkIUPUMf3isZG0NCs2pjW2wtjxAKuJPxMAsHUIP4ZPGv0o5gyTA=="],
|
||||||
|
|
||||||
"find-up": ["find-up@5.0.0", "", { "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="],
|
"find-up": ["find-up@5.0.0", "", { "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="],
|
||||||
|
|
||||||
"find-up-simple": ["find-up-simple@1.0.1", "", {}, "sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ=="],
|
"find-up-simple": ["find-up-simple@1.0.1", "", {}, "sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ=="],
|
||||||
|
|
@ -960,7 +976,7 @@
|
||||||
|
|
||||||
"indent-string": ["indent-string@5.0.0", "", {}, "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg=="],
|
"indent-string": ["indent-string@5.0.0", "", {}, "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg=="],
|
||||||
|
|
||||||
"ini": ["ini@1.3.8", "", {}, "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="],
|
"ini": ["ini@6.0.0", "", {}, "sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ=="],
|
||||||
|
|
||||||
"internal-slot": ["internal-slot@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "hasown": "^2.0.2", "side-channel": "^1.1.0" } }, "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw=="],
|
"internal-slot": ["internal-slot@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "hasown": "^2.0.2", "side-channel": "^1.1.0" } }, "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw=="],
|
||||||
|
|
||||||
|
|
@ -1064,6 +1080,8 @@
|
||||||
|
|
||||||
"known-css-properties": ["known-css-properties@0.37.0", "", {}, "sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ=="],
|
"known-css-properties": ["known-css-properties@0.37.0", "", {}, "sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ=="],
|
||||||
|
|
||||||
|
"kubernetes-types": ["kubernetes-types@1.30.0", "", {}, "sha512-Dew1okvhM/SQcIa2rcgujNndZwU8VnSapDgdxlYoB84ZlpAD43U6KLAFqYo17ykSFGHNPrg0qry0bP+GJd9v7Q=="],
|
||||||
|
|
||||||
"language-subtag-registry": ["language-subtag-registry@0.3.23", "", {}, "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ=="],
|
"language-subtag-registry": ["language-subtag-registry@0.3.23", "", {}, "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ=="],
|
||||||
|
|
||||||
"language-tags": ["language-tags@1.0.9", "", { "dependencies": { "language-subtag-registry": "^0.3.20" } }, "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA=="],
|
"language-tags": ["language-tags@1.0.9", "", { "dependencies": { "language-subtag-registry": "^0.3.20" } }, "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA=="],
|
||||||
|
|
@ -1198,6 +1216,12 @@
|
||||||
|
|
||||||
"ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="],
|
"ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="],
|
||||||
|
|
||||||
|
"msgpackr": ["msgpackr@1.11.9", "", { "optionalDependencies": { "msgpackr-extract": "^3.0.2" } }, "sha512-FkoAAyyA6HM8wL882EcEyFZ9s7hVADSwG9xrVx3dxxNQAtgADTrJoEWivID82Iv1zWDsv/OtbrrcZAzGzOMdNw=="],
|
||||||
|
|
||||||
|
"msgpackr-extract": ["msgpackr-extract@3.0.3", "", { "dependencies": { "node-gyp-build-optional-packages": "5.2.2" }, "optionalDependencies": { "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3", "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3", "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3", "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3", "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3", "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3" }, "bin": { "download-msgpackr-prebuilds": "bin/download-prebuilds.js" } }, "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA=="],
|
||||||
|
|
||||||
|
"multipasta": ["multipasta@0.2.7", "", {}, "sha512-KPA58d68KgGil15oDqXjkUBEBYc00XvbPj5/X+dyzeo/lWm9Nc25pQRlf1D+gv4OpK7NM0J1odrbu9JNNGvynA=="],
|
||||||
|
|
||||||
"nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="],
|
"nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="],
|
||||||
|
|
||||||
"natural-compare": ["natural-compare@1.4.0", "", {}, "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="],
|
"natural-compare": ["natural-compare@1.4.0", "", {}, "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="],
|
||||||
|
|
@ -1206,6 +1230,8 @@
|
||||||
|
|
||||||
"node-addon-api": ["node-addon-api@7.1.1", "", {}, "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ=="],
|
"node-addon-api": ["node-addon-api@7.1.1", "", {}, "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ=="],
|
||||||
|
|
||||||
|
"node-gyp-build-optional-packages": ["node-gyp-build-optional-packages@5.2.2", "", { "dependencies": { "detect-libc": "^2.0.1" }, "bin": { "node-gyp-build-optional-packages": "bin.js", "node-gyp-build-optional-packages-optional": "optional.js", "node-gyp-build-optional-packages-test": "build-test.js" } }, "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw=="],
|
||||||
|
|
||||||
"node-releases": ["node-releases@2.0.36", "", {}, "sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA=="],
|
"node-releases": ["node-releases@2.0.36", "", {}, "sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA=="],
|
||||||
|
|
||||||
"normalize-path": ["normalize-path@3.0.0", "", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="],
|
"normalize-path": ["normalize-path@3.0.0", "", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="],
|
||||||
|
|
@ -1256,9 +1282,9 @@
|
||||||
|
|
||||||
"picomatch": ["picomatch@4.0.4", "", {}, "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A=="],
|
"picomatch": ["picomatch@4.0.4", "", {}, "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A=="],
|
||||||
|
|
||||||
"playwright": ["playwright@1.59.0", "", { "dependencies": { "playwright-core": "1.59.0" }, "optionalDependencies": { "fsevents": "2.3.2" }, "bin": { "playwright": "cli.js" } }, "sha512-wihGScriusvATUxmhfENxg0tj1vHEFeIwxlnPFKQTOQVd7aG08mUfvvniRP/PtQOC+2Bs52kBOC/Up1jTXeIbw=="],
|
"playwright": ["playwright@1.59.1", "", { "dependencies": { "playwright-core": "1.59.1" }, "optionalDependencies": { "fsevents": "2.3.2" }, "bin": { "playwright": "cli.js" } }, "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw=="],
|
||||||
|
|
||||||
"playwright-core": ["playwright-core@1.59.0", "", { "bin": { "playwright-core": "cli.js" } }, "sha512-PW/X/IoZ6BMUUy8rpwHEZ8Kc0IiLIkgKYGNFaMs5KmQhcfLILNx9yCQD0rnWeWfz1PNeqcFP1BsihQhDOBCwZw=="],
|
"playwright-core": ["playwright-core@1.59.1", "", { "bin": { "playwright-core": "cli.js" } }, "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg=="],
|
||||||
|
|
||||||
"pluralize": ["pluralize@8.0.0", "", {}, "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA=="],
|
"pluralize": ["pluralize@8.0.0", "", {}, "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA=="],
|
||||||
|
|
||||||
|
|
@ -1298,7 +1324,7 @@
|
||||||
|
|
||||||
"punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="],
|
"punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="],
|
||||||
|
|
||||||
"pure-rand": ["pure-rand@6.1.0", "", {}, "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA=="],
|
"pure-rand": ["pure-rand@8.4.0", "", {}, "sha512-IoM8YF/jY0hiugFo/wOWqfmarlE6J0wc6fDK1PhftMk7MGhVZl88sZimmqBBFomLOCSmcCCpsfj7wXASCpvK9A=="],
|
||||||
|
|
||||||
"purify-ts": ["purify-ts@2.1.2", "", { "dependencies": { "@types/json-schema": "7.0.15" } }, "sha512-v9RnHfoxZJZt5PeZork6zErRwYnGKxUiO7wk+NqPnJcG7AKjt97ut41WbGRMSUuMBexrXZsVNePSMcO9qPHODQ=="],
|
"purify-ts": ["purify-ts@2.1.2", "", { "dependencies": { "@types/json-schema": "7.0.15" } }, "sha512-v9RnHfoxZJZt5PeZork6zErRwYnGKxUiO7wk+NqPnJcG7AKjt97ut41WbGRMSUuMBexrXZsVNePSMcO9qPHODQ=="],
|
||||||
|
|
||||||
|
|
@ -1506,6 +1532,8 @@
|
||||||
|
|
||||||
"to-valid-identifier": ["to-valid-identifier@1.0.0", "", { "dependencies": { "@sindresorhus/base62": "^1.0.0", "reserved-identifiers": "^1.0.0" } }, "sha512-41wJyvKep3yT2tyPqX/4blcfybknGB4D+oETKLs7Q76UiPqRpUJK3hr1nxelyYO0PHKVzJwlu0aCeEAsGI6rpw=="],
|
"to-valid-identifier": ["to-valid-identifier@1.0.0", "", { "dependencies": { "@sindresorhus/base62": "^1.0.0", "reserved-identifiers": "^1.0.0" } }, "sha512-41wJyvKep3yT2tyPqX/4blcfybknGB4D+oETKLs7Q76UiPqRpUJK3hr1nxelyYO0PHKVzJwlu0aCeEAsGI6rpw=="],
|
||||||
|
|
||||||
|
"toml": ["toml@3.0.0", "", {}, "sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w=="],
|
||||||
|
|
||||||
"ts-api-utils": ["ts-api-utils@2.5.0", "", { "peerDependencies": { "typescript": ">=4.8.4" } }, "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA=="],
|
"ts-api-utils": ["ts-api-utils@2.5.0", "", { "peerDependencies": { "typescript": ">=4.8.4" } }, "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA=="],
|
||||||
|
|
||||||
"ts-declaration-location": ["ts-declaration-location@1.0.7", "", { "dependencies": { "picomatch": "^4.0.2" }, "peerDependencies": { "typescript": ">=4.0.0" } }, "sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA=="],
|
"ts-declaration-location": ["ts-declaration-location@1.0.7", "", { "dependencies": { "picomatch": "^4.0.2" }, "peerDependencies": { "typescript": ">=4.0.0" } }, "sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA=="],
|
||||||
|
|
@ -1554,6 +1582,8 @@
|
||||||
|
|
||||||
"util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="],
|
"util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="],
|
||||||
|
|
||||||
|
"uuid": ["uuid@13.0.0", "", { "bin": { "uuid": "dist-node/bin/uuid" } }, "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w=="],
|
||||||
|
|
||||||
"valibot": ["valibot@1.1.0", "", { "peerDependencies": { "typescript": ">=5" }, "optionalPeers": ["typescript"] }, "sha512-Nk8lX30Qhu+9txPYTwM0cFlWLdPFsFr6LblzqIySfbZph9+BFsAHsNvHOymEviUepeIW6KFHzpX8TKhbptBXXw=="],
|
"valibot": ["valibot@1.1.0", "", { "peerDependencies": { "typescript": ">=5" }, "optionalPeers": ["typescript"] }, "sha512-Nk8lX30Qhu+9txPYTwM0cFlWLdPFsFr6LblzqIySfbZph9+BFsAHsNvHOymEviUepeIW6KFHzpX8TKhbptBXXw=="],
|
||||||
|
|
||||||
"varint": ["varint@6.0.0", "", {}, "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg=="],
|
"varint": ["varint@6.0.0", "", {}, "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg=="],
|
||||||
|
|
@ -1602,6 +1632,8 @@
|
||||||
|
|
||||||
"@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="],
|
"@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="],
|
||||||
|
|
||||||
|
"@gcch/configuration-eslint/eslint-plugin-perfectionist": ["eslint-plugin-perfectionist@5.7.0", "", { "dependencies": { "@typescript-eslint/utils": "^8.57.1", "natural-orderby": "^5.0.0" }, "peerDependencies": { "eslint": "^8.45.0 || ^9.0.0 || ^10.0.0" } }, "sha512-WRHj7OZS/INutQ/gKN5C1ZGnMhkQ3oKZQAA2I7rl5yM8keBtSd9oj/qlJaHuwh5873FhMPqYlttcadF0YsTN7g=="],
|
||||||
|
|
||||||
"@keyv/bigmap/keyv": ["keyv@5.6.0", "", { "dependencies": { "@keyv/serialize": "^1.1.1" } }, "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw=="],
|
"@keyv/bigmap/keyv": ["keyv@5.6.0", "", { "dependencies": { "@keyv/serialize": "^1.1.1" } }, "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw=="],
|
||||||
|
|
||||||
"@typescript-eslint/eslint-plugin/ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="],
|
"@typescript-eslint/eslint-plugin/ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="],
|
||||||
|
|
@ -1630,6 +1662,8 @@
|
||||||
|
|
||||||
"fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="],
|
"fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="],
|
||||||
|
|
||||||
|
"global-prefix/ini": ["ini@1.3.8", "", {}, "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="],
|
||||||
|
|
||||||
"global-prefix/which": ["which@1.3.1", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "which": "./bin/which" } }, "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ=="],
|
"global-prefix/which": ["which@1.3.1", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "which": "./bin/which" } }, "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ=="],
|
||||||
|
|
||||||
"globby/ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="],
|
"globby/ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="],
|
||||||
|
|
|
||||||
17
composer.lock
generated
17
composer.lock
generated
|
|
@ -5024,12 +5024,12 @@
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/Roave/SecurityAdvisories.git",
|
"url": "https://github.com/Roave/SecurityAdvisories.git",
|
||||||
"reference": "6a77cce24e143b6042397d1c255d085e22afae16"
|
"reference": "61130731cdf896e60028ed82193a1bc3c50d032a"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/6a77cce24e143b6042397d1c255d085e22afae16",
|
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/61130731cdf896e60028ed82193a1bc3c50d032a",
|
||||||
"reference": "6a77cce24e143b6042397d1c255d085e22afae16",
|
"reference": "61130731cdf896e60028ed82193a1bc3c50d032a",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
|
|
@ -5079,7 +5079,7 @@
|
||||||
"athlon1600/youtube-downloader": "<=4",
|
"athlon1600/youtube-downloader": "<=4",
|
||||||
"aureuserp/aureuserp": "<1.3.0.0-beta1",
|
"aureuserp/aureuserp": "<1.3.0.0-beta1",
|
||||||
"austintoddj/canvas": "<=3.4.2",
|
"austintoddj/canvas": "<=3.4.2",
|
||||||
"auth0/auth0-php": ">=3.3,<8.18",
|
"auth0/auth0-php": ">=3.3,<=8.18",
|
||||||
"auth0/login": "<7.20",
|
"auth0/login": "<7.20",
|
||||||
"auth0/symfony": "<=5.5",
|
"auth0/symfony": "<=5.5",
|
||||||
"auth0/wordpress": "<=5.4",
|
"auth0/wordpress": "<=5.4",
|
||||||
|
|
@ -5200,7 +5200,7 @@
|
||||||
"derhansen/sf_event_mgt": "<4.3.1|>=5,<5.1.1|>=7,<7.4",
|
"derhansen/sf_event_mgt": "<4.3.1|>=5,<5.1.1|>=7,<7.4",
|
||||||
"desperado/xml-bundle": "<=0.1.7",
|
"desperado/xml-bundle": "<=0.1.7",
|
||||||
"dev-lancer/minecraft-motd-parser": "<=1.0.5",
|
"dev-lancer/minecraft-motd-parser": "<=1.0.5",
|
||||||
"devcode-it/openstamanager": "<=2.9.8",
|
"devcode-it/openstamanager": "<=2.10.1",
|
||||||
"devgroup/dotplant": "<2020.09.14-dev",
|
"devgroup/dotplant": "<2020.09.14-dev",
|
||||||
"digimix/wp-svg-upload": "<=1",
|
"digimix/wp-svg-upload": "<=1",
|
||||||
"directmailteam/direct-mail": "<6.0.3|>=7,<7.0.3|>=8,<9.5.2",
|
"directmailteam/direct-mail": "<6.0.3|>=7,<7.0.3|>=8,<9.5.2",
|
||||||
|
|
@ -5412,6 +5412,7 @@
|
||||||
"islandora/crayfish": "<4.1",
|
"islandora/crayfish": "<4.1",
|
||||||
"islandora/islandora": ">=2,<2.4.1",
|
"islandora/islandora": ">=2,<2.4.1",
|
||||||
"ivankristianto/phpwhois": "<=4.3",
|
"ivankristianto/phpwhois": "<=4.3",
|
||||||
|
"j0k3r/graby": "<=2.5",
|
||||||
"jackalope/jackalope-doctrine-dbal": "<1.7.4",
|
"jackalope/jackalope-doctrine-dbal": "<1.7.4",
|
||||||
"jambagecom/div2007": "<0.10.2",
|
"jambagecom/div2007": "<0.10.2",
|
||||||
"james-heinrich/getid3": "<1.9.21",
|
"james-heinrich/getid3": "<1.9.21",
|
||||||
|
|
@ -5864,7 +5865,7 @@
|
||||||
"thelia/thelia": ">=2.1,<2.1.3",
|
"thelia/thelia": ">=2.1,<2.1.3",
|
||||||
"theonedemon/phpwhois": "<=4.2.5",
|
"theonedemon/phpwhois": "<=4.2.5",
|
||||||
"thinkcmf/thinkcmf": "<6.0.8",
|
"thinkcmf/thinkcmf": "<6.0.8",
|
||||||
"thorsten/phpmyfaq": "<=4.1",
|
"thorsten/phpmyfaq": "<4.1.1",
|
||||||
"tikiwiki/tiki-manager": "<=17.1",
|
"tikiwiki/tiki-manager": "<=17.1",
|
||||||
"timber/timber": ">=0.16.6,<1.23.1|>=1.24,<1.24.1|>=2,<2.1",
|
"timber/timber": ">=0.16.6,<1.23.1|>=1.24,<1.24.1|>=2,<2.1",
|
||||||
"tinymce/tinymce": "<7.2",
|
"tinymce/tinymce": "<7.2",
|
||||||
|
|
@ -5970,7 +5971,7 @@
|
||||||
"xpressengine/xpressengine": "<3.0.15",
|
"xpressengine/xpressengine": "<3.0.15",
|
||||||
"yab/quarx": "<2.4.5",
|
"yab/quarx": "<2.4.5",
|
||||||
"yansongda/pay": "<=3.7.19",
|
"yansongda/pay": "<=3.7.19",
|
||||||
"yeswiki/yeswiki": "<=4.5.4",
|
"yeswiki/yeswiki": "<4.6",
|
||||||
"yetiforce/yetiforce-crm": "<6.5",
|
"yetiforce/yetiforce-crm": "<6.5",
|
||||||
"yidashi/yii2cmf": "<=2",
|
"yidashi/yii2cmf": "<=2",
|
||||||
"yii2mod/yii2-cms": "<1.9.2",
|
"yii2mod/yii2-cms": "<1.9.2",
|
||||||
|
|
@ -6065,7 +6066,7 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2026-03-31T23:11:43+00:00"
|
"time": "2026-04-02T00:32:12+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/diff",
|
"name": "sebastian/diff",
|
||||||
|
|
|
||||||
23
mago.toml
23
mago.toml
|
|
@ -15,18 +15,39 @@ threads = 8
|
||||||
ambiguous-function-call = { enabled = true }
|
ambiguous-function-call = { enabled = true }
|
||||||
halstead = { effort-threshold = 7000 }
|
halstead = { effort-threshold = 7000 }
|
||||||
literal-named-argument = { enabled = false }
|
literal-named-argument = { enabled = false }
|
||||||
|
no-inline = { enabled = true }
|
||||||
no-redundant-readonly = { enabled = true }
|
no-redundant-readonly = { enabled = true }
|
||||||
no-redundant-use = { enabled = true }
|
no-redundant-use = { enabled = true }
|
||||||
no-variable-variable = { enabled = true }
|
no-variable-variable = { enabled = true }
|
||||||
|
require-namespace = { enabled = true }
|
||||||
|
|
||||||
[analyzer]
|
[analyzer]
|
||||||
allow-possibly-undefined-array-keys = true
|
allow-possibly-undefined-array-keys = false
|
||||||
analyze-dead-code = true
|
analyze-dead-code = true
|
||||||
check-arrow-function-missing-type-hints = true
|
check-arrow-function-missing-type-hints = true
|
||||||
check-closure-missing-type-hints = true
|
check-closure-missing-type-hints = true
|
||||||
|
check-missing-override = true
|
||||||
check-missing-type-hints = true
|
check-missing-type-hints = true
|
||||||
|
check-property-initialization = true
|
||||||
check-throws = true
|
check-throws = true
|
||||||
|
check-use-statements = true
|
||||||
|
enforce-class-finality = true
|
||||||
find-unused-definitions = true
|
find-unused-definitions = true
|
||||||
find-unused-expressions = true
|
find-unused-expressions = true
|
||||||
|
find-unused-parameters = true
|
||||||
|
no-boolean-literal-comparison = false
|
||||||
perform-heuristic-checks = true
|
perform-heuristic-checks = true
|
||||||
|
plugins = ["psl"]
|
||||||
|
require-api-or-internal = true
|
||||||
strict-list-index-checks = true
|
strict-list-index-checks = true
|
||||||
|
trust-existence-checks = false
|
||||||
|
|
||||||
|
[analyzer.performance]
|
||||||
|
saturation-complexity-threshold = 16384
|
||||||
|
disjunction-complexity-threshold = 8192
|
||||||
|
negation-complexity-threshold = 8192
|
||||||
|
consensus-limit-threshold = 512
|
||||||
|
formula-size-threshold = 1024
|
||||||
|
string-combination-threshold = 256
|
||||||
|
integer-combination-threshold = 256
|
||||||
|
array-combination-threshold = 256
|
||||||
|
|
|
||||||
12
package.json
12
package.json
|
|
@ -14,18 +14,18 @@
|
||||||
"@mobily/ts-belt": "v4.0.0-rc.5",
|
"@mobily/ts-belt": "v4.0.0-rc.5",
|
||||||
"@sentry/browser": "^10.47.0",
|
"@sentry/browser": "^10.47.0",
|
||||||
"a11y-dialog": "^8.1.4",
|
"a11y-dialog": "^8.1.4",
|
||||||
"effect": "^3.21.0",
|
"effect": "^4.0.0-beta.43",
|
||||||
"lit-html": "^3.3.1",
|
"lit-html": "^3.3.1",
|
||||||
"purify-ts": "2.1.2",
|
"purify-ts": "2.1.2",
|
||||||
"ts-pattern": "^5.9.0",
|
"ts-pattern": "^5.9.0",
|
||||||
"valibot": "1.1.0"
|
"valibot": "1.1.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@effect/language-service": "^0.84.2",
|
"@effect/language-service": "^0.84.3",
|
||||||
"@gcch/configuration-eslint": "git+https://git.gcch.fr/gcch/configuration-eslint#62ee424274",
|
"@gcch/configuration-eslint": "git+https://git.gcch.fr/gcch/configuration-eslint#62ee424274",
|
||||||
"@gcch/configuration-oxlint": "git+https://git.gcch.fr/gcch/configuration-oxlint#c53b1c1f78",
|
"@gcch/configuration-oxlint": "git+https://git.gcch.fr/gcch/configuration-oxlint#c53b1c1f78",
|
||||||
"@gcch/configuration-prettier": "git+https://git.gcch.fr/gcch/configuration-prettier#8de937e801",
|
"@gcch/configuration-prettier": "git+https://git.gcch.fr/gcch/configuration-prettier#8de937e801",
|
||||||
"@playwright/test": "^1.59.0",
|
"@playwright/test": "^1.59.1",
|
||||||
"@sentry/core": "^10.47.0",
|
"@sentry/core": "^10.47.0",
|
||||||
"@types/bun": "^1.3.11",
|
"@types/bun": "^1.3.11",
|
||||||
"@types/node": "^25.5.0",
|
"@types/node": "^25.5.0",
|
||||||
|
|
@ -37,7 +37,7 @@
|
||||||
"eslint-plugin-functional": "^9.0.4",
|
"eslint-plugin-functional": "^9.0.4",
|
||||||
"eslint-plugin-jsx-a11y": "^6.10.2",
|
"eslint-plugin-jsx-a11y": "^6.10.2",
|
||||||
"eslint-plugin-oxlint": "^1.58.0",
|
"eslint-plugin-oxlint": "^1.58.0",
|
||||||
"eslint-plugin-perfectionist": "^5.7.0",
|
"eslint-plugin-perfectionist": "^5.8.0",
|
||||||
"eslint-plugin-sonarjs": "^4.0.2",
|
"eslint-plugin-sonarjs": "^4.0.2",
|
||||||
"fdir": "^6.5.0",
|
"fdir": "^6.5.0",
|
||||||
"globals": "^17.4.0",
|
"globals": "^17.4.0",
|
||||||
|
|
@ -47,7 +47,7 @@
|
||||||
"lightningcss-cli": "^1.32.0",
|
"lightningcss-cli": "^1.32.0",
|
||||||
"oxlint": "^1.58.0",
|
"oxlint": "^1.58.0",
|
||||||
"oxlint-tsgolint": "^0.19.0",
|
"oxlint-tsgolint": "^0.19.0",
|
||||||
"playwright": "^1.59.0",
|
"playwright": "^1.59.1",
|
||||||
"prettier": "^3.8.1",
|
"prettier": "^3.8.1",
|
||||||
"prettier-plugin-pkg": "^0.22.1",
|
"prettier-plugin-pkg": "^0.22.1",
|
||||||
"prettier-plugin-sh": "^0.18.0",
|
"prettier-plugin-sh": "^0.18.0",
|
||||||
|
|
@ -76,5 +76,5 @@
|
||||||
"entry": ["web/app/themes/haiku-atelier-2024/src/scripts/*.ts"],
|
"entry": ["web/app/themes/haiku-atelier-2024/src/scripts/*.ts"],
|
||||||
"project": ["web/app/themes/haiku-atelier-2024/src/scripts/**/*.{js,ts,d.ts}"]
|
"project": ["web/app/themes/haiku-atelier-2024/src/scripts/**/*.{js,ts,d.ts}"]
|
||||||
},
|
},
|
||||||
"trustedDependencies": ["@parcel/watcher", "core-js"]
|
"trustedDependencies": ["@parcel/watcher", "core-js", "lightningcss-cli", "msgpackr-extract"]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,40 +1,98 @@
|
||||||
import { $ } from "bun";
|
import { $ } from "bun";
|
||||||
import { Array, Option, Order, pipe } from "effect";
|
import { Array, Console, Effect, Layer, ManagedRuntime, Option, Order, pipe, Schema, ServiceMap } from "effect";
|
||||||
|
import { UnknownError } from "effect/Cause";
|
||||||
import { readdir } from "node:fs/promises";
|
import { readdir } from "node:fs/promises";
|
||||||
|
|
||||||
const launchContainers = async (): Promise<string> => {
|
class PodmanError extends Schema.TaggedErrorClass<PodmanError>()("PodmanError", {
|
||||||
return await $`podman compose up -d`.text();
|
cause: Schema.Error,
|
||||||
};
|
}) {}
|
||||||
|
|
||||||
const getLatestDbExport = async (): Promise<string> => {
|
class FileSystemError extends Schema.TaggedErrorClass<FileSystemError>()("FileSystemError", {
|
||||||
return pipe(
|
cause: Schema.Error,
|
||||||
await readdir(`../db`),
|
}) {}
|
||||||
(paths: ReadonlyArray<string>) => Array.sort(paths, Order.string),
|
|
||||||
(sortedPaths: ReadonlyArray<string>) => Array.last(sortedPaths),
|
class Podman extends ServiceMap.Service<
|
||||||
(last: Option.Option<string>) =>
|
Podman,
|
||||||
Option.getOrThrowWith(last, () => new Error("Aucun export de BDD n'est disponible.")),
|
{
|
||||||
|
launchContainers(): Effect.Effect<string, PodmanError>;
|
||||||
|
importLatestDbInWordPressContainer(exportPath: string): Effect.Effect<string, PodmanError>;
|
||||||
|
}
|
||||||
|
>()("haikuatelier.fr/scripts/importe-dernier-export-bdd/Podman") {
|
||||||
|
static readonly layer = Layer.effect(
|
||||||
|
Podman,
|
||||||
|
// oxlint-disable-next-line require-yield
|
||||||
|
Effect.gen(function* () {
|
||||||
|
const launchContainers = Effect.fn("launchContainers")(function* () {
|
||||||
|
return yield* pipe(
|
||||||
|
Effect.tryPromise(() => $`podman compose up -d &> /dev/null`),
|
||||||
|
Effect.map((shell: $.ShellOutput) => shell.text()),
|
||||||
|
Effect.mapError((error: UnknownError) => new PodmanError({ cause: error })),
|
||||||
);
|
);
|
||||||
};
|
});
|
||||||
|
|
||||||
const importLatestDbInWordpressContainer = async (exportPath: string) => {
|
const importLatestDbInWordPressContainer = Effect.fn("importLatestDbInWordPressContainer")(function* (
|
||||||
await $`podman exec -it haikuatelier.fr-wordpress fish -c "cd web && wp --allow-root db import ${exportPath}"`;
|
exportPath: string,
|
||||||
};
|
) {
|
||||||
|
return yield* pipe(
|
||||||
|
Effect.tryPromise(
|
||||||
|
() =>
|
||||||
|
$`podman exec -it haikuatelier.fr-wordpress fish -c "cd web && wp --allow-root db import ${exportPath} > /dev/null"`,
|
||||||
|
),
|
||||||
|
Effect.map((shell: $.ShellOutput) => shell.text()),
|
||||||
|
Effect.mapError((error: UnknownError) => new PodmanError({ cause: error })),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
try {
|
return Podman.of({
|
||||||
// S'assure que les conteneurs soient lancées.
|
launchContainers,
|
||||||
await launchContainers();
|
importLatestDbInWordPressContainer,
|
||||||
|
});
|
||||||
const latestExportPath: string = `../db/${await getLatestDbExport()}`;
|
}),
|
||||||
console.log(`Dernier export : ${latestExportPath}`);
|
);
|
||||||
|
|
||||||
// Exécute l'opération d'import dans le conteneur WordPress via wp-cli.
|
|
||||||
await importLatestDbInWordpressContainer(latestExportPath);
|
|
||||||
} catch (error: unknown) {
|
|
||||||
if (error instanceof $.ShellError) {
|
|
||||||
console.error(`Commande échouée avec code d'erreur: ${error.exitCode}`);
|
|
||||||
console.log(error.stdout.toString());
|
|
||||||
console.log(error.stderr.toString());
|
|
||||||
} else {
|
|
||||||
console.error(error);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class FileSystem extends ServiceMap.Service<
|
||||||
|
FileSystem,
|
||||||
|
{
|
||||||
|
getLatestDbExport(): Effect.Effect<string, FileSystemError>;
|
||||||
}
|
}
|
||||||
|
>()("haikuatelier.fr/scripts/importe-dernier-export-bdd/FileSystem") {
|
||||||
|
static readonly layer = Layer.effect(
|
||||||
|
FileSystem,
|
||||||
|
// oxlint-disable-next-line require-yield
|
||||||
|
Effect.gen(function* () {
|
||||||
|
const getLatestDbExport = Effect.fn("getLatestDbExport")(function* () {
|
||||||
|
return yield* pipe(
|
||||||
|
Effect.tryPromise(() => readdir(`./db`)),
|
||||||
|
Effect.map((paths: ReadonlyArray<string>) => Array.sort(paths, Order.String)),
|
||||||
|
Effect.map((sortedPaths: ReadonlyArray<string>) => Array.last(sortedPaths)),
|
||||||
|
Effect.flatMap((path: Option.Option<string>) => Effect.fromOption(path)),
|
||||||
|
Effect.mapError((_) => new FileSystemError({ cause: new Error("Aucun export de BDD n'est disponible.") })),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
return FileSystem.of({
|
||||||
|
getLatestDbExport,
|
||||||
|
});
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const mainLayer = Layer.mergeAll(Podman.layer, FileSystem.layer);
|
||||||
|
const runtime = ManagedRuntime.make(mainLayer);
|
||||||
|
|
||||||
|
const program = Effect.fn("program")(function* () {
|
||||||
|
yield* Podman.use((podman) => podman.launchContainers());
|
||||||
|
yield* Console.log("Containers are launched.");
|
||||||
|
|
||||||
|
const latestExportPath: string = pipe(
|
||||||
|
yield* FileSystem.use((fs) => fs.getLatestDbExport()),
|
||||||
|
(path) => `../db/${path}`,
|
||||||
|
);
|
||||||
|
yield* Console.log(latestExportPath);
|
||||||
|
|
||||||
|
yield* Podman.use((podman) => podman.importLatestDbInWordPressContainer(latestExportPath));
|
||||||
|
yield* Console.log("Import done.");
|
||||||
|
});
|
||||||
|
|
||||||
|
runtime.runFork(program().pipe(Effect.tapError(Console.error)));
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,11 @@
|
||||||
"noUncheckedSideEffectImports": true,
|
"noUncheckedSideEffectImports": true,
|
||||||
"noUnusedLocals": true,
|
"noUnusedLocals": true,
|
||||||
"noUnusedParameters": true,
|
"noUnusedParameters": true,
|
||||||
|
"plugins": [
|
||||||
|
{
|
||||||
|
"name": "@effect/language-service"
|
||||||
|
}
|
||||||
|
],
|
||||||
"skipLibCheck": false,
|
"skipLibCheck": false,
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"strictBindCallApply": true,
|
"strictBindCallApply": true,
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,14 @@ declare(strict_types=1);
|
||||||
* Le modèle de la Page 404.
|
* Le modèle de la Page 404.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
namespace HaikuAtelier;
|
||||||
|
|
||||||
|
use Exception;
|
||||||
use HaikuAtelier\WP\Resource;
|
use HaikuAtelier\WP\Resource;
|
||||||
use Timber\Timber;
|
use Timber\Timber;
|
||||||
|
|
||||||
|
use function add_action;
|
||||||
|
|
||||||
$context = Timber::context();
|
$context = Timber::context();
|
||||||
$templates = ['404.twig'];
|
$templates = ['404.twig'];
|
||||||
|
|
||||||
|
|
@ -17,14 +22,14 @@ $templates = ['404.twig'];
|
||||||
*
|
*
|
||||||
* @throws Exception une exception est levée s'il est impossible d'obtenir la date de modification du fichier à charger
|
* @throws Exception une exception est levée s'il est impossible d'obtenir la date de modification du fichier à charger
|
||||||
*/
|
*/
|
||||||
function charge_scripts_styles_page_404(): void {
|
function load_page_resources(): void {
|
||||||
Resource::enqueue_style_file(
|
Resource::enqueue_style_file(
|
||||||
handle: 'haiku-atelier-2024-styles-page-a-propos',
|
handle: 'haiku-atelier-2024-styles-page-a-propos',
|
||||||
path: '/assets/css/pages/page-modele-simple.css'
|
path: '/assets/css/pages/page-modele-simple.css'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
add_action('wp_enqueue_scripts', 'charge_scripts_styles_page_404');
|
add_action('wp_enqueue_scripts', load_page_resources(...));
|
||||||
|
|
||||||
Timber::render(
|
Timber::render(
|
||||||
data: $context,
|
data: $context,
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,17 @@ declare(strict_types=1);
|
||||||
* Le modèle de la Page Boutique (« E-Shop »).
|
* Le modèle de la Page Boutique (« E-Shop »).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
namespace HaikuAtelier;
|
||||||
|
|
||||||
|
use Exception;
|
||||||
use HaikuAtelier\Data\Product;
|
use HaikuAtelier\Data\Product;
|
||||||
use HaikuAtelier\WP\Resource;
|
use HaikuAtelier\WP\Resource;
|
||||||
use Timber\Timber;
|
use Timber\Timber;
|
||||||
|
use WC_Product;
|
||||||
|
|
||||||
|
use function add_action;
|
||||||
|
use function array_map;
|
||||||
|
use function wc_get_products;
|
||||||
|
|
||||||
require_once __DIR__ . '/src/inc/TraitementInformations.php';
|
require_once __DIR__ . '/src/inc/TraitementInformations.php';
|
||||||
|
|
||||||
|
|
@ -29,7 +37,7 @@ $context['products'] = $products;
|
||||||
*
|
*
|
||||||
* @throws Exception une exception est levée s'il est impossible d'obtenir la date de modification du fichier à charger
|
* @throws Exception une exception est levée s'il est impossible d'obtenir la date de modification du fichier à charger
|
||||||
*/
|
*/
|
||||||
function charge_scripts_page_boutique(): void {
|
function load_page_resources(): void {
|
||||||
Resource::enqueue_style_file(
|
Resource::enqueue_style_file(
|
||||||
handle: 'haiku-atelier-2024-styles-page-boutique',
|
handle: 'haiku-atelier-2024-styles-page-boutique',
|
||||||
path: '/assets/css/pages/page-boutique.css'
|
path: '/assets/css/pages/page-boutique.css'
|
||||||
|
|
@ -44,10 +52,7 @@ function charge_scripts_page_boutique(): void {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
add_action('wp_enqueue_scripts', 'charge_scripts_page_boutique');
|
add_action('wp_enqueue_scripts', load_page_resources(...));
|
||||||
|
|
||||||
// $lal = wp_json_encode($context);
|
|
||||||
// echo "<script>console.debug({$lal});</script>";
|
|
||||||
|
|
||||||
Timber::render(
|
Timber::render(
|
||||||
data: $context,
|
data: $context,
|
||||||
|
|
|
||||||
|
|
@ -6,14 +6,23 @@ declare(strict_types=1);
|
||||||
* Le modèle de la Page d'Accueil.
|
* Le modèle de la Page d'Accueil.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
namespace HaikuAtelier;
|
||||||
|
|
||||||
|
use Exception;
|
||||||
use HaikuAtelier\WP\Resource;
|
use HaikuAtelier\WP\Resource;
|
||||||
use Timber\Timber;
|
use Timber\Timber;
|
||||||
|
|
||||||
|
use function add_action;
|
||||||
|
|
||||||
$context = Timber::context();
|
$context = Timber::context();
|
||||||
$templates = ['accueil.twig'];
|
$templates = ['accueil.twig'];
|
||||||
|
|
||||||
// Charge les scripts et styles de la page
|
/**
|
||||||
function charge_scripts_styles_page_accueil(): void {
|
* Charge les scripts et styles de la page.
|
||||||
|
*
|
||||||
|
* @throws Exception une exception est levée s'il est impossible d'obtenir la date de modification du fichier à charger
|
||||||
|
*/
|
||||||
|
function load_resources(): void {
|
||||||
Resource::enqueue_style_file(
|
Resource::enqueue_style_file(
|
||||||
handle: 'haiku-atelier-2024-styles-page-accueil',
|
handle: 'haiku-atelier-2024-styles-page-accueil',
|
||||||
path: '/assets/css/pages/page-accueil.css'
|
path: '/assets/css/pages/page-accueil.css'
|
||||||
|
|
@ -24,7 +33,7 @@ function charge_scripts_styles_page_accueil(): void {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
add_action('wp_enqueue_scripts', 'charge_scripts_styles_page_accueil');
|
add_action('wp_enqueue_scripts', load_resources(...));
|
||||||
|
|
||||||
Timber::render(
|
Timber::render(
|
||||||
data: $context,
|
data: $context,
|
||||||
|
|
|
||||||
|
|
@ -3,16 +3,24 @@
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Le modèle de la Page À Propos (« About »).
|
* Le modèle de la Page « À Propos (About) ».
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
namespace HaikuAtelier;
|
||||||
|
|
||||||
|
use Exception;
|
||||||
use HaikuAtelier\WP\Resource;
|
use HaikuAtelier\WP\Resource;
|
||||||
use Timber\Timber;
|
use Timber\Timber;
|
||||||
|
|
||||||
|
use function add_action;
|
||||||
|
use function get_template_directory;
|
||||||
|
use function getimagesize;
|
||||||
|
use function is_bool;
|
||||||
|
|
||||||
$context = Timber::context();
|
$context = Timber::context();
|
||||||
$templates = ['a-propos.twig'];
|
$templates = ['a-propos.twig'];
|
||||||
|
|
||||||
// Les dimensions de l'image du storytelling.
|
/** Les dimensions de l'image du storytelling. */
|
||||||
$image_dimensions = getimagesize(filename: get_template_directory() . '/assets/img/about/haikuabout.png');
|
$image_dimensions = getimagesize(filename: get_template_directory() . '/assets/img/about/haikuabout.png');
|
||||||
|
|
||||||
if (is_bool($image_dimensions)) {
|
if (is_bool($image_dimensions)) {
|
||||||
|
|
@ -26,7 +34,7 @@ $context['image_dimensions'] = $image_dimensions;
|
||||||
*
|
*
|
||||||
* @throws Exception une exception est levée s'il est impossible d'obtenir la date de modification du fichier à charger
|
* @throws Exception une exception est levée s'il est impossible d'obtenir la date de modification du fichier à charger
|
||||||
*/
|
*/
|
||||||
function charge_scripts_styles_page_a_propos(): void {
|
function load_resources(): void {
|
||||||
Resource::enqueue_style_file(
|
Resource::enqueue_style_file(
|
||||||
handle: 'haiku-atelier-2024-styles-page-a-propos',
|
handle: 'haiku-atelier-2024-styles-page-a-propos',
|
||||||
path: '/assets/css/pages/page-a-propos.css'
|
path: '/assets/css/pages/page-a-propos.css'
|
||||||
|
|
@ -37,7 +45,7 @@ function charge_scripts_styles_page_a_propos(): void {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
add_action('wp_enqueue_scripts', 'charge_scripts_styles_page_a_propos');
|
add_action('wp_enqueue_scripts', load_resources(...));
|
||||||
|
|
||||||
Timber::render(
|
Timber::render(
|
||||||
data: $context,
|
data: $context,
|
||||||
|
|
|
||||||
|
|
@ -3,13 +3,28 @@
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Le modèle de la Page Panier (« Cart »).
|
* Le modèle de la Page « Panier (Cart) ».
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
namespace HaikuAtelier;
|
||||||
|
|
||||||
|
use Exception;
|
||||||
|
use HaikuAtelier\WP\Resource;
|
||||||
use Illuminate\Support\Number;
|
use Illuminate\Support\Number;
|
||||||
use Timber\Timber;
|
use Timber\Timber;
|
||||||
|
|
||||||
|
use function add_action;
|
||||||
|
use function collect;
|
||||||
use function Crell\fp\pipe;
|
use function Crell\fp\pipe;
|
||||||
|
use function filemtime;
|
||||||
|
use function genere_balise_img_multiformats;
|
||||||
|
use function get_template_directory;
|
||||||
|
use function get_template_directory_uri;
|
||||||
|
use function is_bool;
|
||||||
|
use function recupere_et_formate_attributs_produit;
|
||||||
|
use function WC;
|
||||||
|
use function wp_enqueue_script_module;
|
||||||
|
use function wp_enqueue_style;
|
||||||
|
|
||||||
// Importe la fonction pour récupérer les informations affichées des Produits dans le Panier
|
// Importe la fonction pour récupérer les informations affichées des Produits dans le Panier
|
||||||
require_once __DIR__ . '/src/inc/TraitementInformations.php';
|
require_once __DIR__ . '/src/inc/TraitementInformations.php';
|
||||||
|
|
@ -18,7 +33,7 @@ require_once __DIR__ . '/src/inc/TraitementInformations.php';
|
||||||
$contexte = Timber::context();
|
$contexte = Timber::context();
|
||||||
$modeles = ['panier.twig'];
|
$modeles = ['panier.twig'];
|
||||||
|
|
||||||
$pays_acceptes = [
|
$allowed_countries = [
|
||||||
'AD',
|
'AD',
|
||||||
'AL',
|
'AL',
|
||||||
'AM',
|
'AM',
|
||||||
|
|
@ -90,22 +105,33 @@ $pays_acceptes = [
|
||||||
];
|
];
|
||||||
|
|
||||||
// Récupère les informations affichés des Produits du Panier
|
// Récupère les informations affichés des Produits du Panier
|
||||||
$panier = [];
|
$cart = [];
|
||||||
|
|
||||||
/** @var float $sous_total_panier Le sous-total de la Commande dans le Panier. */
|
/** Le sous-total de la Commande dans le Panier. */
|
||||||
$sous_total_panier = WC()->cart->get_subtotal();
|
$cart_subtotal = WC()->cart->get_subtotal();
|
||||||
|
|
||||||
/** @var string|null $code_promo Le code promo appliqué au Panier s'il existe. */
|
/** @var string|null $promo_code Le code promo appliqué au Panier s'il existe. */
|
||||||
$code_promo = collect(WC()->cart->get_applied_coupons())->first();
|
$promo_code = collect(WC()->cart->get_applied_coupons())->first();
|
||||||
|
|
||||||
/** @var int $sous_total_reduction Le total du montant de la Réduction appliquée au Panier */
|
/** @var array<string,int> */
|
||||||
$sous_total_reduction = Number::format(WC()->cart->get_totals()['discount_total'], maxPrecision: 2);
|
$cart_totals = WC()->cart->get_totals();
|
||||||
|
|
||||||
/** @var float $total_panier Le total de la Commande dans le Panier. */
|
/** @var string $cart_subtotal_with_discount Le total du montant de la Réduction appliquée au Panier. */
|
||||||
$total_panier = Number::format((float) WC()->cart->get_totals()['total'], maxPrecision: 2);
|
$cart_subtotal_with_discount = $cart_totals['discount_total']
|
||||||
|
|> (static fn(int $number) => Number::format($number, maxPrecision: 2))
|
||||||
|
|> (static fn(false|string $number) => is_bool($number) ? '0' : $number);
|
||||||
|
/** @var float $cart_total Le total de la Commande dans le Panier. */
|
||||||
|
$cart_total = $cart_totals['total']
|
||||||
|
|> (static fn(int $number) => Number::format($number, maxPrecision: 2))
|
||||||
|
|> (static fn(false|string $number) => is_bool($number) ? '0' : $number)
|
||||||
|
|> (static fn(string $number) => (float) $number);
|
||||||
|
/** @var string $shipping_subtotal Le sous-total de la livraison. */
|
||||||
|
$shipping_subtotal = $cart_totals['shipping_total']
|
||||||
|
|> (static fn(int $number) => Number::format($number, precision: 0))
|
||||||
|
|> (static fn(false|string $number) => is_bool($number) ? '0' : $number);
|
||||||
|
|
||||||
foreach (WC()->cart->get_cart() as $cle_panier => $article_panier) {
|
foreach (WC()->cart->get_cart() as $cle_panier => $article_panier) {
|
||||||
$panier[$cle_panier] = [
|
$cart[$cle_panier] = [
|
||||||
'attributs' => $article_panier['data']?->get_type() === 'variation'
|
'attributs' => $article_panier['data']?->get_type() === 'variation'
|
||||||
? recupere_et_formate_attributs_produit($article_panier['data']?->get_attributes())
|
? recupere_et_formate_attributs_produit($article_panier['data']?->get_attributes())
|
||||||
: [],
|
: [],
|
||||||
|
|
@ -128,8 +154,7 @@ $email = WC()->customer->get_billing_email();
|
||||||
$adresse_livraison = WC()->customer->get_shipping();
|
$adresse_livraison = WC()->customer->get_shipping();
|
||||||
$adresse_facturation = WC()->customer->get_billing();
|
$adresse_facturation = WC()->customer->get_billing();
|
||||||
$adresse_renseignee = $adresse_livraison['city'] !== '';
|
$adresse_renseignee = $adresse_livraison['city'] !== '';
|
||||||
$pays_livraison = collect(WC()->countries->get_countries())->only($pays_acceptes)->toArray();
|
$allowed_countries = collect(WC()->countries->get_countries())->only($allowed_countries)->toArray();
|
||||||
$total_livraison = Number::format((float) WC()->cart->get_totals()['shipping_total'], precision: 0);
|
|
||||||
$methodes_livraison = collect(WC()->session->get('shipping_for_package_0')['rates'])
|
$methodes_livraison = collect(WC()->session->get('shipping_for_package_0')['rates'])
|
||||||
->values()
|
->values()
|
||||||
->map(static fn(WC_Shipping_Rate $methode): array => [
|
->map(static fn(WC_Shipping_Rate $methode): array => [
|
||||||
|
|
@ -143,36 +168,32 @@ $contexte['email'] = $email;
|
||||||
$contexte['adresse_livraison'] = $adresse_livraison;
|
$contexte['adresse_livraison'] = $adresse_livraison;
|
||||||
$contexte['adresse_facturation'] = $adresse_facturation;
|
$contexte['adresse_facturation'] = $adresse_facturation;
|
||||||
$contexte['adresse_renseignee'] = $adresse_renseignee;
|
$contexte['adresse_renseignee'] = $adresse_renseignee;
|
||||||
$contexte['sous_total_panier'] = $sous_total_panier;
|
$contexte['sous_total_panier'] = $cart_subtotal;
|
||||||
$contexte['code_promo'] = $code_promo;
|
$contexte['code_promo'] = $promo_code;
|
||||||
$contexte['sous_total_reduction'] = $sous_total_reduction;
|
$contexte['sous_total_reduction'] = $cart_subtotal_with_discount;
|
||||||
$contexte['total_panier'] = $total_panier;
|
$contexte['total_panier'] = $cart_total;
|
||||||
$contexte['produits_panier'] = $panier;
|
$contexte['produits_panier'] = $cart;
|
||||||
$contexte['pays_livraison'] = $pays_livraison;
|
$contexte['pays_livraison'] = $allowed_countries;
|
||||||
$contexte['sous_total_livraison'] = $total_livraison;
|
$contexte['sous_total_livraison'] = $shipping_subtotal;
|
||||||
$contexte['methodes_livraison'] = $methodes_livraison;
|
$contexte['methodes_livraison'] = $methodes_livraison;
|
||||||
|
|
||||||
// Charge les scripts et styles de la page
|
/**
|
||||||
function charge_scripts_styles_page_panier(): void {
|
* Charge les scripts et styles de la page.
|
||||||
wp_enqueue_style(
|
*
|
||||||
|
* @throws Exception une exception est levée s'il est impossible d'obtenir la date de modification du fichier à charger
|
||||||
|
*/
|
||||||
|
function load_resources(): void {
|
||||||
|
Resource::enqueue_style_file(
|
||||||
handle: 'haiku-atelier-2024-styles-page-panier',
|
handle: 'haiku-atelier-2024-styles-page-panier',
|
||||||
src: get_template_directory_uri() . '/assets/css/pages/page-panier.css',
|
path: '/assets/css/pages/page-panier.css'
|
||||||
deps: [],
|
|
||||||
ver: filemtime(get_template_directory() . '/assets/css/pages/page-panier.css'),
|
|
||||||
media: 'all'
|
|
||||||
);
|
);
|
||||||
wp_enqueue_script_module(
|
Resource::enqueue_script_module_file(
|
||||||
id: 'haiku-atelier-2024-scripts-page-panier',
|
id: 'haiku-atelier-2024-scripts-page-panier',
|
||||||
src: get_template_directory_uri() . '/assets/js/scripts-page-panier.js',
|
path: '/assets/js/scripts-page-panier.js'
|
||||||
deps: [],
|
|
||||||
version: filemtime(get_template_directory() . '/assets/js/scripts-page-panier.js')
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
add_action('wp_enqueue_scripts', 'charge_scripts_styles_page_panier');
|
add_action('wp_enqueue_scripts', load_resources(...));
|
||||||
|
|
||||||
// $lal = wp_json_encode($contexte);
|
|
||||||
// echo "<script>console.debug({$lal});</script>";
|
|
||||||
|
|
||||||
// Rendu
|
// Rendu
|
||||||
Timber::render(
|
Timber::render(
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ $templates = ['boutique.twig'];
|
||||||
|
|
||||||
/** @var WP_Term */
|
/** @var WP_Term */
|
||||||
$current_term = get_queried_object();
|
$current_term = get_queried_object();
|
||||||
|
/** @var string */
|
||||||
$category_slug = $current_term->slug;
|
$category_slug = $current_term->slug;
|
||||||
|
|
||||||
/** @var list<WC_Product> $raw_products Les informations brutes des Produits. */
|
/** @var list<WC_Product> $raw_products Les informations brutes des Produits. */
|
||||||
|
|
@ -29,16 +30,21 @@ $raw_products = wc_get_products([
|
||||||
'status' => 'publish'
|
'status' => 'publish'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
/** @var list<Product> */
|
||||||
$products = array_map(
|
$products = array_map(
|
||||||
callback: Product::new(...),
|
callback: Product::new(...),
|
||||||
array: $raw_products
|
array: $raw_products
|
||||||
);
|
);
|
||||||
$context['products'] = $products;
|
$context['products'] = $products;
|
||||||
|
|
||||||
|
/** @var string */
|
||||||
$products_category_id = array_shift($raw_products)?->get_category_ids()[0] ?? '';
|
$products_category_id = array_shift($raw_products)?->get_category_ids()[0] ?? '';
|
||||||
$context['products_category_id'] = $products_category_id;
|
$context['products_category_id'] = $products_category_id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Charge les ressources nécessaires pour la page d'Archive.
|
* Charge les scripts et styles de la page.
|
||||||
|
*
|
||||||
|
* @throws Exception une exception est levée s'il est impossible d'obtenir la date de modification du fichier à charger
|
||||||
*/
|
*/
|
||||||
function load_page_resources(): void {
|
function load_page_resources(): void {
|
||||||
Resource::enqueue_style_file(
|
Resource::enqueue_style_file(
|
||||||
|
|
@ -57,9 +63,6 @@ function load_page_resources(): void {
|
||||||
|
|
||||||
add_action('wp_enqueue_scripts', 'load_page_resources');
|
add_action('wp_enqueue_scripts', 'load_page_resources');
|
||||||
|
|
||||||
$lal = wp_json_encode($context);
|
|
||||||
echo "<script>console.debug({$lal});</script>";
|
|
||||||
|
|
||||||
// Rendu
|
// Rendu
|
||||||
Timber::render(
|
Timber::render(
|
||||||
filenames: $templates,
|
filenames: $templates,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue