From bceb6fa058bfc9c01c8a303f992e08cc8e87afc0 Mon Sep 17 00:00:00 2001 From: ignatiusm Date: Tue, 28 Jul 2026 11:22:26 +1200 Subject: [PATCH 01/17] Fix failing UsersController test --- application/backend/src/controllers/UsersController.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/application/backend/src/controllers/UsersController.test.ts b/application/backend/src/controllers/UsersController.test.ts index c29eaf92..f62a8736 100644 --- a/application/backend/src/controllers/UsersController.test.ts +++ b/application/backend/src/controllers/UsersController.test.ts @@ -660,7 +660,7 @@ describe('UsersController', () => { expect(res1.body.data).toHaveLength(0) await prisma.user.delete({ where: { - id: OPERATOR_ADMIN_ID, + id: TestUsers.OPERATOR_ADMIN.id, }, }) const res2 = await request(app) @@ -679,7 +679,7 @@ describe('UsersController', () => { expect(res1.body.data).toHaveLength(0) await prisma.user.delete({ where: { - id: OPERATOR_ADMIN_ID, + id: TestUsers.OPERATOR_ADMIN.id, }, }) const res2 = await request(app) From ba609a772ba1051504a3f146845d2b745aa69976 Mon Sep 17 00:00:00 2001 From: ignatiusm Date: Tue, 28 Jul 2026 11:23:33 +1200 Subject: [PATCH 02/17] Add pre-commit to nix flake --- flake.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/flake.nix b/flake.nix index fbed7cc8..ed51a176 100644 --- a/flake.nix +++ b/flake.nix @@ -54,6 +54,7 @@ pkgs.nodePackages.typescript pkgs.nodePackages.typescript-language-server + pkgs.pre-commit ]; }; }); From 9607929e68cd07784cbd1a3e989304036ed2d924 Mon Sep 17 00:00:00 2001 From: ignatiusm Date: Tue, 28 Jul 2026 11:24:40 +1200 Subject: [PATCH 03/17] Bump fast-uri --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index e26b2c66..afa533d7 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "diff@^5.1.0": "^5.2.2", "esbuild@^0.21.3": "^0.28.1", "esbuild@0.25.8": "^0.28.1", - "fast-uri": "^3.1.1", + "fast-uri": "^3.1.4", "follow-redirects@^1.0.0": "^1.16.0", "follow-redirects@^1.15.11": "^1.16.0", "glob@^10": "^10.5.0", diff --git a/yarn.lock b/yarn.lock index 5f6b995a..72c44923 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8632,10 +8632,10 @@ __metadata: languageName: node linkType: hard -"fast-uri@npm:^3.1.1": - version: 3.1.3 - resolution: "fast-uri@npm:3.1.3" - checksum: 10c0/0ce405815546770ad7e730b8f8fd58db80cefe4533ee99ee1a3263f11d2ccc3b8a0cf10d6cd9ba590e9746eb43b60f2ef2631d0c379a9ebba063ce0d4076b109 +"fast-uri@npm:^3.1.4": + version: 3.1.4 + resolution: "fast-uri@npm:3.1.4" + checksum: 10c0/f90948821ceb49980f64f89b8216ba498f5957f26035be813526a55b6145d26cbd63ef5618d5205a3292b31edc9c08589749350cd72bd86c7095eb434dceb757 languageName: node linkType: hard From f3542800bee7d9f0c188aefdf768e5cdc9ae8fb1 Mon Sep 17 00:00:00 2001 From: ignatiusm Date: Tue, 28 Jul 2026 11:26:37 +1200 Subject: [PATCH 04/17] Bump tar --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index afa533d7..cc893c1c 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,7 @@ "rollup@^4.20.0": "^4.59.0", "rollup@^4.43.0": "^4.59.0", "router/path-to-regexp": "^8.4.0", - "tar": "^7.5.11", + "tar": "^7.5.22", "tmp": "^0.2.7", "validator": "^13.15.22", "vite-node/vite": "^7.3.5", diff --git a/yarn.lock b/yarn.lock index 72c44923..851d80cd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15172,16 +15172,16 @@ __metadata: languageName: node linkType: hard -"tar@npm:^7.5.11": - version: 7.5.11 - resolution: "tar@npm:7.5.11" +"tar@npm:^7.5.22": + version: 7.5.22 + resolution: "tar@npm:7.5.22" dependencies: "@isaacs/fs-minipass": "npm:^4.0.0" chownr: "npm:^3.0.0" minipass: "npm:^7.1.2" minizlib: "npm:^3.1.0" yallist: "npm:^5.0.0" - checksum: 10c0/b6bb420550ef50ef23356018155e956cd83282c97b6128d8d5cfe5740c57582d806a244b2ef0bf686a74ce526babe8b8b9061527623e935e850008d86d838929 + checksum: 10c0/1311f6be85a8157ac4c9147bae43e13923d2a1aae15e4aa1bd5239e4e03d2cf53cfe103dde7f35832fbb4c938b042856bc8e9a0afd29abd05e2d1608788c4fea languageName: node linkType: hard From 1c383d99fa8641b02ca852026bc6eda1a10d79f8 Mon Sep 17 00:00:00 2001 From: ignatiusm Date: Tue, 28 Jul 2026 11:28:36 +1200 Subject: [PATCH 05/17] Bump js-yaml --- package.json | 6 ++---- yarn.lock | 16 ++++++++-------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index cc893c1c..efec9891 100644 --- a/package.json +++ b/package.json @@ -47,10 +47,8 @@ "handlebars@^4.7.7": "^4.7.9", "@hapi/content": "^6.0.2", "@hapi/wreck": "^18.1.2", - "js-yaml@^3.10.0": "^3.14.2", - "js-yaml@^3.13.0": "^3.14.2", - "js-yaml@^3.13.1": "^3.14.2", - "js-yaml@^4.1.0": "^4.1.1", + "js-yaml@^3.14.2": "^3.15.0", + "js-yaml@^4.1.0": "^4.3.0", "jws": "^3.2.3", "lodash": "^4.18.1", "lodash-es": "^4.18.1", diff --git a/yarn.lock b/yarn.lock index 851d80cd..195a5f43 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10692,26 +10692,26 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^3.14.2": - version: 3.14.2 - resolution: "js-yaml@npm:3.14.2" +"js-yaml@npm:^3.10.0, js-yaml@npm:^3.13.0, js-yaml@npm:^3.13.1": + version: 3.15.0 + resolution: "js-yaml@npm:3.15.0" dependencies: argparse: "npm:^1.0.7" esprima: "npm:^4.0.0" bin: js-yaml: bin/js-yaml.js - checksum: 10c0/3261f25912f5dd76605e5993d0a126c2b6c346311885d3c483706cd722efe34f697ea0331f654ce27c00a42b426e524518ec89d65ed02ea47df8ad26dcc8ce69 + checksum: 10c0/ca966bd354ac5b1b7a4694ebdba46526796aa3a6a99529fa540af2abf85918bd155a50ccc0166b413130a00622999973754458ec01e7095bc902177bfdbd5b64 languageName: node linkType: hard -"js-yaml@npm:^4.1.1": - version: 4.1.1 - resolution: "js-yaml@npm:4.1.1" +"js-yaml@npm:^4.3.0": + version: 4.3.0 + resolution: "js-yaml@npm:4.3.0" dependencies: argparse: "npm:^2.0.1" bin: js-yaml: bin/js-yaml.js - checksum: 10c0/561c7d7088c40a9bb53cc75becbfb1df6ae49b34b5e6e5a81744b14ae8667ec564ad2527709d1a6e7d5e5fa6d483aa0f373a50ad98d42fde368ec4a190d4fae7 + checksum: 10c0/058b30473d6915ca5b4feb11e2f7d4d97242f98d00a798ed48dd90b46b7c640398afe9128c5db22c5300f8c6528fe2a174b9a93f351a70ebc28c6203938d8bff languageName: node linkType: hard From ed23774c67d89ab7c1a13368e04197063ec65723 Mon Sep 17 00:00:00 2001 From: ignatiusm Date: Tue, 28 Jul 2026 12:18:43 +1200 Subject: [PATCH 06/17] Bump sharp --- application/backend/package.json | 2 +- yarn.lock | 309 ++++++++++++++++++------------- 2 files changed, 183 insertions(+), 128 deletions(-) diff --git a/application/backend/package.json b/application/backend/package.json index 35cd6992..5e0aab5e 100644 --- a/application/backend/package.json +++ b/application/backend/package.json @@ -38,7 +38,7 @@ "nodemailer": "^9.0.1", "pg": "^8.12.0", "prisma-field-encryption": "^1.6.0", - "sharp": "^0.34.1", + "sharp": "^0.35.3", "swagger-ui-express": "^5.0.1", "tsoa": "^6.6.0", "uuid": "^11.1.0", diff --git a/yarn.lock b/yarn.lock index 195a5f43..7bdae10f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1166,12 +1166,12 @@ __metadata: languageName: node linkType: hard -"@emnapi/runtime@npm:^1.4.4": - version: 1.4.5 - resolution: "@emnapi/runtime@npm:1.4.5" +"@emnapi/runtime@npm:^1.11.1": + version: 1.11.3 + resolution: "@emnapi/runtime@npm:1.11.3" dependencies: tslib: "npm:^2.4.0" - checksum: 10c0/37a0278be5ac81e918efe36f1449875cbafba947039c53c65a1f8fc238001b866446fc66041513b286baaff5d6f9bec667f5164b3ca481373a8d9cb65bfc984b + checksum: 10c0/a00f1020fefb9d4145c367f93a9fddb383a00da8ffd7871e20b19659890379b83aeecb9f84d7d0eda5456343f4a09eb05b0acb5153b0d3d889539dedb1ed87c3 languageName: node linkType: hard @@ -2097,11 +2097,18 @@ __metadata: languageName: node linkType: hard -"@img/sharp-darwin-arm64@npm:0.34.3": - version: 0.34.3 - resolution: "@img/sharp-darwin-arm64@npm:0.34.3" +"@img/colour@npm:^1.1.0": + version: 1.1.0 + resolution: "@img/colour@npm:1.1.0" + checksum: 10c0/2ebea2c0bbaee73b99badcefa04e1e71d83f36e5369337d3121dca841f4569533c4e2faddda6d62dd247f0d5cca143711f9446c59bcce81e427ba433a7a94a17 + languageName: node + linkType: hard + +"@img/sharp-darwin-arm64@npm:0.35.3": + version: 0.35.3 + resolution: "@img/sharp-darwin-arm64@npm:0.35.3" dependencies: - "@img/sharp-libvips-darwin-arm64": "npm:1.2.0" + "@img/sharp-libvips-darwin-arm64": "npm:1.3.2" dependenciesMeta: "@img/sharp-libvips-darwin-arm64": optional: true @@ -2109,11 +2116,11 @@ __metadata: languageName: node linkType: hard -"@img/sharp-darwin-x64@npm:0.34.3": - version: 0.34.3 - resolution: "@img/sharp-darwin-x64@npm:0.34.3" +"@img/sharp-darwin-x64@npm:0.35.3": + version: 0.35.3 + resolution: "@img/sharp-darwin-x64@npm:0.35.3" dependencies: - "@img/sharp-libvips-darwin-x64": "npm:1.2.0" + "@img/sharp-libvips-darwin-x64": "npm:1.3.2" dependenciesMeta: "@img/sharp-libvips-darwin-x64": optional: true @@ -2121,74 +2128,90 @@ __metadata: languageName: node linkType: hard -"@img/sharp-libvips-darwin-arm64@npm:1.2.0": - version: 1.2.0 - resolution: "@img/sharp-libvips-darwin-arm64@npm:1.2.0" +"@img/sharp-freebsd-wasm32@npm:0.35.3": + version: 0.35.3 + resolution: "@img/sharp-freebsd-wasm32@npm:0.35.3" + dependencies: + "@img/sharp-wasm32": "npm:0.35.3" + conditions: os=freebsd + languageName: node + linkType: hard + +"@img/sharp-libvips-darwin-arm64@npm:1.3.2": + version: 1.3.2 + resolution: "@img/sharp-libvips-darwin-arm64@npm:1.3.2" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@img/sharp-libvips-darwin-x64@npm:1.2.0": - version: 1.2.0 - resolution: "@img/sharp-libvips-darwin-x64@npm:1.2.0" +"@img/sharp-libvips-darwin-x64@npm:1.3.2": + version: 1.3.2 + resolution: "@img/sharp-libvips-darwin-x64@npm:1.3.2" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@img/sharp-libvips-linux-arm64@npm:1.2.0": - version: 1.2.0 - resolution: "@img/sharp-libvips-linux-arm64@npm:1.2.0" +"@img/sharp-libvips-linux-arm64@npm:1.3.2": + version: 1.3.2 + resolution: "@img/sharp-libvips-linux-arm64@npm:1.3.2" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@img/sharp-libvips-linux-arm@npm:1.2.0": - version: 1.2.0 - resolution: "@img/sharp-libvips-linux-arm@npm:1.2.0" +"@img/sharp-libvips-linux-arm@npm:1.3.2": + version: 1.3.2 + resolution: "@img/sharp-libvips-linux-arm@npm:1.3.2" conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard -"@img/sharp-libvips-linux-ppc64@npm:1.2.0": - version: 1.2.0 - resolution: "@img/sharp-libvips-linux-ppc64@npm:1.2.0" +"@img/sharp-libvips-linux-ppc64@npm:1.3.2": + version: 1.3.2 + resolution: "@img/sharp-libvips-linux-ppc64@npm:1.3.2" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@img/sharp-libvips-linux-s390x@npm:1.2.0": - version: 1.2.0 - resolution: "@img/sharp-libvips-linux-s390x@npm:1.2.0" +"@img/sharp-libvips-linux-riscv64@npm:1.3.2": + version: 1.3.2 + resolution: "@img/sharp-libvips-linux-riscv64@npm:1.3.2" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@img/sharp-libvips-linux-s390x@npm:1.3.2": + version: 1.3.2 + resolution: "@img/sharp-libvips-linux-s390x@npm:1.3.2" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@img/sharp-libvips-linux-x64@npm:1.2.0": - version: 1.2.0 - resolution: "@img/sharp-libvips-linux-x64@npm:1.2.0" +"@img/sharp-libvips-linux-x64@npm:1.3.2": + version: 1.3.2 + resolution: "@img/sharp-libvips-linux-x64@npm:1.3.2" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@img/sharp-libvips-linuxmusl-arm64@npm:1.2.0": - version: 1.2.0 - resolution: "@img/sharp-libvips-linuxmusl-arm64@npm:1.2.0" +"@img/sharp-libvips-linuxmusl-arm64@npm:1.3.2": + version: 1.3.2 + resolution: "@img/sharp-libvips-linuxmusl-arm64@npm:1.3.2" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@img/sharp-libvips-linuxmusl-x64@npm:1.2.0": - version: 1.2.0 - resolution: "@img/sharp-libvips-linuxmusl-x64@npm:1.2.0" +"@img/sharp-libvips-linuxmusl-x64@npm:1.3.2": + version: 1.3.2 + resolution: "@img/sharp-libvips-linuxmusl-x64@npm:1.3.2" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@img/sharp-linux-arm64@npm:0.34.3": - version: 0.34.3 - resolution: "@img/sharp-linux-arm64@npm:0.34.3" +"@img/sharp-linux-arm64@npm:0.35.3": + version: 0.35.3 + resolution: "@img/sharp-linux-arm64@npm:0.35.3" dependencies: - "@img/sharp-libvips-linux-arm64": "npm:1.2.0" + "@img/sharp-libvips-linux-arm64": "npm:1.3.2" dependenciesMeta: "@img/sharp-libvips-linux-arm64": optional: true @@ -2196,11 +2219,11 @@ __metadata: languageName: node linkType: hard -"@img/sharp-linux-arm@npm:0.34.3": - version: 0.34.3 - resolution: "@img/sharp-linux-arm@npm:0.34.3" +"@img/sharp-linux-arm@npm:0.35.3": + version: 0.35.3 + resolution: "@img/sharp-linux-arm@npm:0.35.3" dependencies: - "@img/sharp-libvips-linux-arm": "npm:1.2.0" + "@img/sharp-libvips-linux-arm": "npm:1.3.2" dependenciesMeta: "@img/sharp-libvips-linux-arm": optional: true @@ -2208,11 +2231,11 @@ __metadata: languageName: node linkType: hard -"@img/sharp-linux-ppc64@npm:0.34.3": - version: 0.34.3 - resolution: "@img/sharp-linux-ppc64@npm:0.34.3" +"@img/sharp-linux-ppc64@npm:0.35.3": + version: 0.35.3 + resolution: "@img/sharp-linux-ppc64@npm:0.35.3" dependencies: - "@img/sharp-libvips-linux-ppc64": "npm:1.2.0" + "@img/sharp-libvips-linux-ppc64": "npm:1.3.2" dependenciesMeta: "@img/sharp-libvips-linux-ppc64": optional: true @@ -2220,11 +2243,23 @@ __metadata: languageName: node linkType: hard -"@img/sharp-linux-s390x@npm:0.34.3": - version: 0.34.3 - resolution: "@img/sharp-linux-s390x@npm:0.34.3" +"@img/sharp-linux-riscv64@npm:0.35.3": + version: 0.35.3 + resolution: "@img/sharp-linux-riscv64@npm:0.35.3" dependencies: - "@img/sharp-libvips-linux-s390x": "npm:1.2.0" + "@img/sharp-libvips-linux-riscv64": "npm:1.3.2" + dependenciesMeta: + "@img/sharp-libvips-linux-riscv64": + optional: true + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@img/sharp-linux-s390x@npm:0.35.3": + version: 0.35.3 + resolution: "@img/sharp-linux-s390x@npm:0.35.3" + dependencies: + "@img/sharp-libvips-linux-s390x": "npm:1.3.2" dependenciesMeta: "@img/sharp-libvips-linux-s390x": optional: true @@ -2232,11 +2267,11 @@ __metadata: languageName: node linkType: hard -"@img/sharp-linux-x64@npm:0.34.3": - version: 0.34.3 - resolution: "@img/sharp-linux-x64@npm:0.34.3" +"@img/sharp-linux-x64@npm:0.35.3": + version: 0.35.3 + resolution: "@img/sharp-linux-x64@npm:0.35.3" dependencies: - "@img/sharp-libvips-linux-x64": "npm:1.2.0" + "@img/sharp-libvips-linux-x64": "npm:1.3.2" dependenciesMeta: "@img/sharp-libvips-linux-x64": optional: true @@ -2244,11 +2279,11 @@ __metadata: languageName: node linkType: hard -"@img/sharp-linuxmusl-arm64@npm:0.34.3": - version: 0.34.3 - resolution: "@img/sharp-linuxmusl-arm64@npm:0.34.3" +"@img/sharp-linuxmusl-arm64@npm:0.35.3": + version: 0.35.3 + resolution: "@img/sharp-linuxmusl-arm64@npm:0.35.3" dependencies: - "@img/sharp-libvips-linuxmusl-arm64": "npm:1.2.0" + "@img/sharp-libvips-linuxmusl-arm64": "npm:1.3.2" dependenciesMeta: "@img/sharp-libvips-linuxmusl-arm64": optional: true @@ -2256,11 +2291,11 @@ __metadata: languageName: node linkType: hard -"@img/sharp-linuxmusl-x64@npm:0.34.3": - version: 0.34.3 - resolution: "@img/sharp-linuxmusl-x64@npm:0.34.3" +"@img/sharp-linuxmusl-x64@npm:0.35.3": + version: 0.35.3 + resolution: "@img/sharp-linuxmusl-x64@npm:0.35.3" dependencies: - "@img/sharp-libvips-linuxmusl-x64": "npm:1.2.0" + "@img/sharp-libvips-linuxmusl-x64": "npm:1.3.2" dependenciesMeta: "@img/sharp-libvips-linuxmusl-x64": optional: true @@ -2268,32 +2303,41 @@ __metadata: languageName: node linkType: hard -"@img/sharp-wasm32@npm:0.34.3": - version: 0.34.3 - resolution: "@img/sharp-wasm32@npm:0.34.3" +"@img/sharp-wasm32@npm:0.35.3": + version: 0.35.3 + resolution: "@img/sharp-wasm32@npm:0.35.3" + dependencies: + "@emnapi/runtime": "npm:^1.11.1" + checksum: 10c0/627125c330ab96e324c888d3c43fa72eb7c975e653277755121df14447373b7b47b011a1eae9c8c360a9535a7072bd6205b6498974006124b513c033a07e0e32 + languageName: node + linkType: hard + +"@img/sharp-webcontainers-wasm32@npm:0.35.3": + version: 0.35.3 + resolution: "@img/sharp-webcontainers-wasm32@npm:0.35.3" dependencies: - "@emnapi/runtime": "npm:^1.4.4" + "@img/sharp-wasm32": "npm:0.35.3" conditions: cpu=wasm32 languageName: node linkType: hard -"@img/sharp-win32-arm64@npm:0.34.3": - version: 0.34.3 - resolution: "@img/sharp-win32-arm64@npm:0.34.3" +"@img/sharp-win32-arm64@npm:0.35.3": + version: 0.35.3 + resolution: "@img/sharp-win32-arm64@npm:0.35.3" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@img/sharp-win32-ia32@npm:0.34.3": - version: 0.34.3 - resolution: "@img/sharp-win32-ia32@npm:0.34.3" +"@img/sharp-win32-ia32@npm:0.35.3": + version: 0.35.3 + resolution: "@img/sharp-win32-ia32@npm:0.35.3" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@img/sharp-win32-x64@npm:0.34.3": - version: 0.34.3 - resolution: "@img/sharp-win32-x64@npm:0.34.3" +"@img/sharp-win32-x64@npm:0.35.3": + version: 0.35.3 + resolution: "@img/sharp-win32-x64@npm:0.35.3" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -6204,7 +6248,7 @@ __metadata: prisma: "npm:^5.20.0" prisma-field-encryption: "npm:^1.6.0" prisma-json-types-generator: "npm:^3.1.1" - sharp: "npm:^0.34.1" + sharp: "npm:^0.35.3" supertest: "npm:^7.0.0" swagger-ui-express: "npm:^5.0.1" ts-jest: "npm:^29.1.5" @@ -6928,7 +6972,7 @@ __metadata: languageName: node linkType: hard -"color-string@npm:^1.6.0, color-string@npm:^1.9.0, color-string@npm:^1.9.1": +"color-string@npm:^1.6.0, color-string@npm:^1.9.1": version: 1.9.1 resolution: "color-string@npm:1.9.1" dependencies: @@ -6955,16 +6999,6 @@ __metadata: languageName: node linkType: hard -"color@npm:^4.2.3": - version: 4.2.3 - resolution: "color@npm:4.2.3" - dependencies: - color-convert: "npm:^2.0.1" - color-string: "npm:^1.9.0" - checksum: 10c0/7fbe7cfb811054c808349de19fb380252e5e34e61d7d168ec3353e9e9aacb1802674bddc657682e4e9730c2786592a4de6f8283e7e0d3870b829bb0b7b2f6118 - languageName: node - linkType: hard - "colorette@npm:^2.0.16": version: 2.0.20 resolution: "colorette@npm:2.0.20" @@ -7533,10 +7567,10 @@ __metadata: languageName: node linkType: hard -"detect-libc@npm:^2.0.4": - version: 2.0.4 - resolution: "detect-libc@npm:2.0.4" - checksum: 10c0/c15541f836eba4b1f521e4eecc28eefefdbc10a94d3b8cb4c507689f332cc111babb95deda66f2de050b22122113189986d5190be97d51b5a2b23b938415e67c +"detect-libc@npm:^2.1.2": + version: 2.1.2 + resolution: "detect-libc@npm:2.1.2" + checksum: 10c0/acc675c29a5649fa1fb6e255f993b8ee829e510b6b56b0910666949c80c364738833417d0edb5f90e4e46be17228b0f2b66a010513984e18b15deeeac49369c4 languageName: node linkType: hard @@ -14391,6 +14425,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.8.5": + version: 7.8.5 + resolution: "semver@npm:7.8.5" + bin: + semver: bin/semver.js + checksum: 10c0/b1f3127a5be8125a94f37188b361c212466c292c6910adce3ec106cff5dc211ccaedc4739c11bb70fda59d6fc1f040a9bca289f4e093451521a2372e5231fe0c + languageName: node + linkType: hard + "send@npm:0.19.0": version: 0.19.0 resolution: "send@npm:0.19.0" @@ -14471,40 +14514,45 @@ __metadata: languageName: node linkType: hard -"sharp@npm:^0.34.1": - version: 0.34.3 - resolution: "sharp@npm:0.34.3" - dependencies: - "@img/sharp-darwin-arm64": "npm:0.34.3" - "@img/sharp-darwin-x64": "npm:0.34.3" - "@img/sharp-libvips-darwin-arm64": "npm:1.2.0" - "@img/sharp-libvips-darwin-x64": "npm:1.2.0" - "@img/sharp-libvips-linux-arm": "npm:1.2.0" - "@img/sharp-libvips-linux-arm64": "npm:1.2.0" - "@img/sharp-libvips-linux-ppc64": "npm:1.2.0" - "@img/sharp-libvips-linux-s390x": "npm:1.2.0" - "@img/sharp-libvips-linux-x64": "npm:1.2.0" - "@img/sharp-libvips-linuxmusl-arm64": "npm:1.2.0" - "@img/sharp-libvips-linuxmusl-x64": "npm:1.2.0" - "@img/sharp-linux-arm": "npm:0.34.3" - "@img/sharp-linux-arm64": "npm:0.34.3" - "@img/sharp-linux-ppc64": "npm:0.34.3" - "@img/sharp-linux-s390x": "npm:0.34.3" - "@img/sharp-linux-x64": "npm:0.34.3" - "@img/sharp-linuxmusl-arm64": "npm:0.34.3" - "@img/sharp-linuxmusl-x64": "npm:0.34.3" - "@img/sharp-wasm32": "npm:0.34.3" - "@img/sharp-win32-arm64": "npm:0.34.3" - "@img/sharp-win32-ia32": "npm:0.34.3" - "@img/sharp-win32-x64": "npm:0.34.3" - color: "npm:^4.2.3" - detect-libc: "npm:^2.0.4" - semver: "npm:^7.7.2" +"sharp@npm:^0.35.3": + version: 0.35.3 + resolution: "sharp@npm:0.35.3" + dependencies: + "@img/colour": "npm:^1.1.0" + "@img/sharp-darwin-arm64": "npm:0.35.3" + "@img/sharp-darwin-x64": "npm:0.35.3" + "@img/sharp-freebsd-wasm32": "npm:0.35.3" + "@img/sharp-libvips-darwin-arm64": "npm:1.3.2" + "@img/sharp-libvips-darwin-x64": "npm:1.3.2" + "@img/sharp-libvips-linux-arm": "npm:1.3.2" + "@img/sharp-libvips-linux-arm64": "npm:1.3.2" + "@img/sharp-libvips-linux-ppc64": "npm:1.3.2" + "@img/sharp-libvips-linux-riscv64": "npm:1.3.2" + "@img/sharp-libvips-linux-s390x": "npm:1.3.2" + "@img/sharp-libvips-linux-x64": "npm:1.3.2" + "@img/sharp-libvips-linuxmusl-arm64": "npm:1.3.2" + "@img/sharp-libvips-linuxmusl-x64": "npm:1.3.2" + "@img/sharp-linux-arm": "npm:0.35.3" + "@img/sharp-linux-arm64": "npm:0.35.3" + "@img/sharp-linux-ppc64": "npm:0.35.3" + "@img/sharp-linux-riscv64": "npm:0.35.3" + "@img/sharp-linux-s390x": "npm:0.35.3" + "@img/sharp-linux-x64": "npm:0.35.3" + "@img/sharp-linuxmusl-arm64": "npm:0.35.3" + "@img/sharp-linuxmusl-x64": "npm:0.35.3" + "@img/sharp-webcontainers-wasm32": "npm:0.35.3" + "@img/sharp-win32-arm64": "npm:0.35.3" + "@img/sharp-win32-ia32": "npm:0.35.3" + "@img/sharp-win32-x64": "npm:0.35.3" + detect-libc: "npm:^2.1.2" + semver: "npm:^7.8.5" dependenciesMeta: "@img/sharp-darwin-arm64": optional: true "@img/sharp-darwin-x64": optional: true + "@img/sharp-freebsd-wasm32": + optional: true "@img/sharp-libvips-darwin-arm64": optional: true "@img/sharp-libvips-darwin-x64": @@ -14515,6 +14563,8 @@ __metadata: optional: true "@img/sharp-libvips-linux-ppc64": optional: true + "@img/sharp-libvips-linux-riscv64": + optional: true "@img/sharp-libvips-linux-s390x": optional: true "@img/sharp-libvips-linux-x64": @@ -14529,6 +14579,8 @@ __metadata: optional: true "@img/sharp-linux-ppc64": optional: true + "@img/sharp-linux-riscv64": + optional: true "@img/sharp-linux-s390x": optional: true "@img/sharp-linux-x64": @@ -14537,7 +14589,7 @@ __metadata: optional: true "@img/sharp-linuxmusl-x64": optional: true - "@img/sharp-wasm32": + "@img/sharp-webcontainers-wasm32": optional: true "@img/sharp-win32-arm64": optional: true @@ -14545,7 +14597,10 @@ __metadata: optional: true "@img/sharp-win32-x64": optional: true - checksum: 10c0/df9e6645e3db6ed298a0ac956ba74e468c367fc038b547936fbdddc6a29fce9af40413acbef73b3716291530760f311a20e45c8983f20ee5ea69dd2f21464a2b + peerDependenciesMeta: + "@types/node": + optional: true + checksum: 10c0/d99d60fc716aacbf42fcb0eb6d129142e0912eb23310adf48bc94e6989e27c838c5b5f507b928c723c72d265f9ceea3d4b1207e8fd5929797b23005663ce1d07 languageName: node linkType: hard From 3b395d8be499d9233afef3e3ffe1b58c586b9676 Mon Sep 17 00:00:00 2001 From: ignatiusm Date: Tue, 28 Jul 2026 12:20:21 +1200 Subject: [PATCH 07/17] Bump brace-expansion --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index efec9891..199a1cd9 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "axios@^1.11.0": "^1.16.0", "axios@^1.13.5": "^1.16.0", "body-parser@^2.2.0": "^2.2.1", - "brace-expansion": "^5.0.7", + "brace-expansion": "^5.0.8", "cross-spawn": "^7.0.5", "diff@^4.0.1": "^4.0.4", "diff@^5.1.0": "^5.2.2", diff --git a/yarn.lock b/yarn.lock index 7bdae10f..147b93a3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6392,12 +6392,12 @@ __metadata: languageName: node linkType: hard -"brace-expansion@npm:^5.0.7": - version: 5.0.7 - resolution: "brace-expansion@npm:5.0.7" +"brace-expansion@npm:^5.0.8": + version: 5.0.8 + resolution: "brace-expansion@npm:5.0.8" dependencies: balanced-match: "npm:^4.0.2" - checksum: 10c0/4769109c3c082de178e449a371bcad50d51ab468f644bce2dd9188efe0cf0a080ed102105d7fc8577382cedc45bad7e6443a91bf3d8102264ee8cf927dbaf205 + checksum: 10c0/73304caafd00fdc5b0168e693ac15bf25b6357dec76d1195fcd628fe2cf99c46f9c889a7ecfa3cfe236dbd2d5ce3e27a6ccc4370b46d475d0d19081e11f86019 languageName: node linkType: hard From 535021182303428daecb10a9e25fadd7a391d0b9 Mon Sep 17 00:00:00 2001 From: ignatiusm Date: Tue, 28 Jul 2026 12:22:44 +1200 Subject: [PATCH 08/17] Bump postcss --- package.json | 1 + yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 199a1cd9..f67446c2 100644 --- a/package.json +++ b/package.json @@ -64,6 +64,7 @@ "picomatch@^2.3.1": "^2.3.2", "picomatch@^4.0.2": "^4.0.4", "picomatch@^4.0.3": "^4.0.4", + "postcss": "^8.5.23", "qs": "^6.14.2", "react-router": "^6.30.4", "react-router-dom": "^6.30.4", diff --git a/yarn.lock b/yarn.lock index 147b93a3..60976e9c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12325,12 +12325,12 @@ __metadata: languageName: node linkType: hard -"nanoid@npm:^3.3.11": - version: 3.3.11 - resolution: "nanoid@npm:3.3.11" +"nanoid@npm:^3.3.16": + version: 3.3.16 + resolution: "nanoid@npm:3.3.16" bin: nanoid: bin/nanoid.cjs - checksum: 10c0/40e7f70b3d15f725ca072dfc4f74e81fcf1fbb02e491cf58ac0c79093adc9b0a73b152bcde57df4b79cd097e13023d7504acb38404a4da7bc1cd8e887b82fe0b + checksum: 10c0/bbf2dcffe22d2b62d16de2711752070b539c0f644c7916f823ad6521986b2078cbe524f2d6240f58c46e9141ea0c7b87a029e100c0f7f175228cacaf30e41bba languageName: node linkType: hard @@ -13115,14 +13115,14 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.3.11, postcss@npm:^8.5.6": - version: 8.5.6 - resolution: "postcss@npm:8.5.6" +"postcss@npm:^8.5.23": + version: 8.5.23 + resolution: "postcss@npm:8.5.23" dependencies: - nanoid: "npm:^3.3.11" + nanoid: "npm:^3.3.16" picocolors: "npm:^1.1.1" source-map-js: "npm:^1.2.1" - checksum: 10c0/5127cc7c91ed7a133a1b7318012d8bfa112da9ef092dddf369ae699a1f10ebbd89b1b9f25f3228795b84585c72aabd5ced5fc11f2ba467eedf7b081a66fad024 + checksum: 10c0/ed714e635b330bb42666ecdd0c0b4f30224ded15b0b0052d6bc2b92832f2cf17d1c1141359453f96f0a84f8fbf4c405a74df187f559163b8f31131b2535455aa languageName: node linkType: hard From 2c941c2536b5c7e50ea29e9ea025cab9958f5aeb Mon Sep 17 00:00:00 2001 From: ignatiusm Date: Tue, 28 Jul 2026 12:31:39 +1200 Subject: [PATCH 09/17] Bump react-router --- package.json | 2 +- yarn.lock | 31 +++++++++++++++++++++++++------ 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index f67446c2..d4f80cc3 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "picomatch@^4.0.3": "^4.0.4", "postcss": "^8.5.23", "qs": "^6.14.2", - "react-router": "^6.30.4", + "react-router": "^7.18.1", "react-router-dom": "^6.30.4", "rollup@^4.20.0": "^4.59.0", "rollup@^4.43.0": "^4.59.0", diff --git a/yarn.lock b/yarn.lock index 60976e9c..fbd2b215 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7199,6 +7199,13 @@ __metadata: languageName: node linkType: hard +"cookie@npm:^1.0.1": + version: 1.1.1 + resolution: "cookie@npm:1.1.1" + checksum: 10c0/79c4ddc0fcad9c4f045f826f42edf54bcc921a29586a4558b0898277fa89fb47be95bc384c2253f493af7b29500c830da28341274527328f18eba9f58afa112c + languageName: node + linkType: hard + "cookiejar@npm:^2.1.4": version: 2.1.4 resolution: "cookiejar@npm:2.1.4" @@ -13770,14 +13777,19 @@ __metadata: languageName: node linkType: hard -"react-router@npm:^6.30.4": - version: 6.30.4 - resolution: "react-router@npm:6.30.4" +"react-router@npm:^7.18.1": + version: 7.18.1 + resolution: "react-router@npm:7.18.1" dependencies: - "@remix-run/router": "npm:1.23.3" + cookie: "npm:^1.0.1" + set-cookie-parser: "npm:^2.6.0" peerDependencies: - react: ">=16.8" - checksum: 10c0/fb6de7d1002bcab9ea12c4072d93792eca494f1e4f30cfec334ccb6523756d23ce3e093c7c1241399296cebed94789a3fb89f96ee76004e0e746458a8f6bab33 + react: ">=18" + react-dom: ">=18" + peerDependenciesMeta: + react-dom: + optional: true + checksum: 10c0/1a559de58d656bad5565f2232e4f4fab7e9f5282dfaf95bc24f195a06e7e85b281077fe5c21ed3ff527e3d90d930447e0d0bb0f0713950d2a56ad0f0377a7d09 languageName: node linkType: hard @@ -14498,6 +14510,13 @@ __metadata: languageName: node linkType: hard +"set-cookie-parser@npm:^2.6.0": + version: 2.7.2 + resolution: "set-cookie-parser@npm:2.7.2" + checksum: 10c0/4381a9eb7ee951dfe393fe7aacf76b9a3b4e93a684d2162ab35594fa4053cc82a4d7d7582bf397718012c9adcf839b8cd8f57c6c42901ea9effe33c752da4a45 + languageName: node + linkType: hard + "setprototypeof@npm:1.2.0, setprototypeof@npm:~1.2.0": version: 1.2.0 resolution: "setprototypeof@npm:1.2.0" From d3aa53e8c8c6d0947f2a7eecef938374ea44f37a Mon Sep 17 00:00:00 2001 From: ignatiusm Date: Tue, 28 Jul 2026 12:33:41 +1200 Subject: [PATCH 10/17] Bump js-yaml --- package.json | 3 +-- yarn.lock | 40 ++++++---------------------------------- 2 files changed, 7 insertions(+), 36 deletions(-) diff --git a/package.json b/package.json index d4f80cc3..2d55d1c4 100644 --- a/package.json +++ b/package.json @@ -47,8 +47,7 @@ "handlebars@^4.7.7": "^4.7.9", "@hapi/content": "^6.0.2", "@hapi/wreck": "^18.1.2", - "js-yaml@^3.14.2": "^3.15.0", - "js-yaml@^4.1.0": "^4.3.0", + "js-yaml": "^5.2.2", "jws": "^3.2.3", "lodash": "^4.18.1", "lodash-es": "^4.18.1", diff --git a/yarn.lock b/yarn.lock index fbd2b215..6720a012 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5981,15 +5981,6 @@ __metadata: languageName: node linkType: hard -"argparse@npm:^1.0.7": - version: 1.0.10 - resolution: "argparse@npm:1.0.10" - dependencies: - sprintf-js: "npm:~1.0.2" - checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de - languageName: node - linkType: hard - "argparse@npm:^2.0.1": version: 2.0.1 resolution: "argparse@npm:2.0.1" @@ -8332,7 +8323,7 @@ __metadata: languageName: node linkType: hard -"esprima@npm:^4.0.0, esprima@npm:~4.0.0": +"esprima@npm:~4.0.0": version: 4.0.1 resolution: "esprima@npm:4.0.1" bin: @@ -10733,26 +10724,14 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^3.10.0, js-yaml@npm:^3.13.0, js-yaml@npm:^3.13.1": - version: 3.15.0 - resolution: "js-yaml@npm:3.15.0" - dependencies: - argparse: "npm:^1.0.7" - esprima: "npm:^4.0.0" - bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/ca966bd354ac5b1b7a4694ebdba46526796aa3a6a99529fa540af2abf85918bd155a50ccc0166b413130a00622999973754458ec01e7095bc902177bfdbd5b64 - languageName: node - linkType: hard - -"js-yaml@npm:^4.3.0": - version: 4.3.0 - resolution: "js-yaml@npm:4.3.0" +"js-yaml@npm:^5.2.2": + version: 5.2.2 + resolution: "js-yaml@npm:5.2.2" dependencies: argparse: "npm:^2.0.1" bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/058b30473d6915ca5b4feb11e2f7d4d97242f98d00a798ed48dd90b46b7c640398afe9128c5db22c5300f8c6528fe2a174b9a93f351a70ebc28c6203938d8bff + js-yaml: bin/js-yaml.mjs + checksum: 10c0/e8ded203b235b3d562818c67bf362122abbcee89e507b62bddcdd3085b2f2dd866071e5e78f8e617d41d1a0c0baa1cec12a8fdec5859c571bf862adf585e2684 languageName: node linkType: hard @@ -14902,13 +14881,6 @@ __metadata: languageName: node linkType: hard -"sprintf-js@npm:~1.0.2": - version: 1.0.3 - resolution: "sprintf-js@npm:1.0.3" - checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb - languageName: node - linkType: hard - "sshpk@npm:^1.18.0": version: 1.18.0 resolution: "sshpk@npm:1.18.0" From fb7a7d7568a7d338b4db48621fce85d6371a75ed Mon Sep 17 00:00:00 2001 From: ignatiusm Date: Tue, 28 Jul 2026 12:41:48 +1200 Subject: [PATCH 11/17] Bump react-router-dom --- package.json | 2 +- yarn.lock | 22 +++++++--------------- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/package.json b/package.json index 2d55d1c4..d5ca37b4 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "postcss": "^8.5.23", "qs": "^6.14.2", "react-router": "^7.18.1", - "react-router-dom": "^6.30.4", + "react-router-dom": "^7.18.1", "rollup@^4.20.0": "^4.59.0", "rollup@^4.43.0": "^4.59.0", "router/path-to-regexp": "^8.4.0", diff --git a/yarn.lock b/yarn.lock index 6720a012..7e6f9bbb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4080,13 +4080,6 @@ __metadata: languageName: node linkType: hard -"@remix-run/router@npm:1.23.3": - version: 1.23.3 - resolution: "@remix-run/router@npm:1.23.3" - checksum: 10c0/73622465dd9e9a2c5a7ced7d1151ea6e9195a8a979c99b4f70a67093eeff7f339daf03a7c6304709a9c27deb2081a8fff6737663aacb33529c1a12a0a0827a17 - languageName: node - linkType: hard - "@rolldown/pluginutils@npm:1.0.0-beta.27": version: 1.0.0-beta.27 resolution: "@rolldown/pluginutils@npm:1.0.0-beta.27" @@ -13731,16 +13724,15 @@ __metadata: languageName: node linkType: hard -"react-router-dom@npm:^6.30.4": - version: 6.30.4 - resolution: "react-router-dom@npm:6.30.4" +"react-router-dom@npm:^7.18.1": + version: 7.18.1 + resolution: "react-router-dom@npm:7.18.1" dependencies: - "@remix-run/router": "npm:1.23.3" - react-router: "npm:6.30.4" + react-router: "npm:7.18.1" peerDependencies: - react: ">=16.8" - react-dom: ">=16.8" - checksum: 10c0/1b25ab26a288da852f7b58eec5c14b3f37919e6773a557cd846d3a05d7a7d890c8d49bda93c0a7f497f240df1df8b0ad50635f990aafb55f2fc545ad8269a822 + react: ">=18" + react-dom: ">=18" + checksum: 10c0/5efb99f2f09cecf445788f3459a8f5ff952ed85061f2d40f8de25fdd6e2ce6aeea8e40e4bacad470ea42a45d0460feb6fb59c62f14d87720b43d5c96cd9b2cb6 languageName: node linkType: hard From 5ddf57c902820578ee346911e4d9c4f769fe648b Mon Sep 17 00:00:00 2001 From: ignatiusm Date: Tue, 28 Jul 2026 14:19:17 +1200 Subject: [PATCH 12/17] Move from react-router-dom to react-router --- application/admin-client/package.json | 4 +-- application/backend/package.json | 2 +- application/user-client/package.json | 2 +- package.json | 1 - yarn.lock | 40 ++++++++++----------------- 5 files changed, 18 insertions(+), 31 deletions(-) diff --git a/application/admin-client/package.json b/application/admin-client/package.json index cae52221..8b8edd3c 100644 --- a/application/admin-client/package.json +++ b/application/admin-client/package.json @@ -19,7 +19,7 @@ "@refinedev/kbar": "^1.3.16", "@refinedev/mui": "^5.22.0", "@refinedev/react-hook-form": "^4.9.3", - "@refinedev/react-router-v6": "^4.6.2", + "@refinedev/react-router": "^2.0.4", "@refinedev/simple-rest": "^5.0.11", "@tanstack/react-query": "^4.10.1", "flat": "^6.0.1", @@ -31,7 +31,7 @@ "react-dom": "^18.0.0", "react-hook-form": "^7.30.0", "react-markdown": "^10.0.1", - "react-router-dom": "^6.30.3", + "react-router": "^7.18.1", "react-router-hash-link": "^2.4.3", "react-spreadsheet-import": "^4.7.1", "x-data-grid-8": "npm:@mui/x-data-grid@8.14", diff --git a/application/backend/package.json b/application/backend/package.json index 5e0aab5e..acd16c32 100644 --- a/application/backend/package.json +++ b/application/backend/package.json @@ -2,7 +2,7 @@ "name": "backend", "scripts": { "dev": "tsx watch src/index.ts", - "build": "yarn prisma generate && esbuild src/index.ts --bundle --platform=node --outfile=dist/index.js --external:express --external:cors --loader:.html=text --loader:.css=text --define:process.env.ESBUILD=true", + "build": "yarn prisma generate && esbuild src/index.ts --bundle --platform=node --outfile=dist/index.js --external:sharp --external:@prisma/client --external:express --external:cors --loader:.html=text --loader:.css=text --define:process.env.ESBUILD=true", "start": "node dist/index.js", "type-check": "tsc -b", "lint": "eslint .", diff --git a/application/user-client/package.json b/application/user-client/package.json index 8348cc21..2908e677 100644 --- a/application/user-client/package.json +++ b/application/user-client/package.json @@ -28,7 +28,7 @@ "react": "^18.3.1", "react-dom": "^18.3.1", "react-hook-form": "^7.53.0", - "react-router-dom": "^6.30.3", + "react-router": "^7.18.1", "zustand": "^4.5.5" }, "devDependencies": { diff --git a/package.json b/package.json index d5ca37b4..e750a4f6 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,6 @@ "postcss": "^8.5.23", "qs": "^6.14.2", "react-router": "^7.18.1", - "react-router-dom": "^7.18.1", "rollup@^4.20.0": "^4.59.0", "rollup@^4.43.0": "^4.59.0", "router/path-to-regexp": "^8.4.0", diff --git a/yarn.lock b/yarn.lock index 7e6f9bbb..399f60ac 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4036,20 +4036,20 @@ __metadata: languageName: node linkType: hard -"@refinedev/react-router-v6@npm:^4.6.2": - version: 4.6.2 - resolution: "@refinedev/react-router-v6@npm:4.6.2" +"@refinedev/react-router@npm:^2.0.4": + version: 2.0.4 + resolution: "@refinedev/react-router@npm:2.0.4" dependencies: qs: "npm:^6.10.1" - react-router-dom: "npm:^6.8.1" + react-router: "npm:^7.0.2" peerDependencies: - "@refinedev/core": ^4.46.1 - "@types/react": ^17.0.0 || ^18.0.0 - "@types/react-dom": ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 - react-router-dom: ^6.8.1 - checksum: 10c0/a22b9a92bd9e8df1918f64e38b4e89e6997286c231d2d40108bdf515189ae48d52df592619fdd2fa6b527cb48a71980d3307590818c9cbf08b016b933d08e899 + "@refinedev/core": ^5.0.0 + "@types/react": ^18.0.0 || ^19.0.0 + "@types/react-dom": ^18.0.0 || ^19.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + react-router: ^7.0.2 + checksum: 10c0/46db0ef7d2a03cc3ed70aa58b57f97bc3ea56e3f54ccc421bb5d85c3308e74fb92e143e789e8efd5954bd41ba1d0391569f0345cb2fb00e86667028e8fa8cc0b languageName: node linkType: hard @@ -5752,7 +5752,7 @@ __metadata: "@refinedev/kbar": "npm:^1.3.16" "@refinedev/mui": "npm:^5.22.0" "@refinedev/react-hook-form": "npm:^4.9.3" - "@refinedev/react-router-v6": "npm:^4.6.2" + "@refinedev/react-router": "npm:^2.0.4" "@refinedev/simple-rest": "npm:^5.0.11" "@tanstack/react-query": "npm:^4.10.1" "@types/node": "npm:^18.16.2" @@ -5774,7 +5774,7 @@ __metadata: react-dom: "npm:^18.0.0" react-hook-form: "npm:^7.30.0" react-markdown: "npm:^10.0.1" - react-router-dom: "npm:^6.30.3" + react-router: "npm:^7.18.1" react-router-hash-link: "npm:^2.4.3" react-spreadsheet-import: "npm:^4.7.1" start-server-and-test: "npm:^2.0.10" @@ -13724,18 +13724,6 @@ __metadata: languageName: node linkType: hard -"react-router-dom@npm:^7.18.1": - version: 7.18.1 - resolution: "react-router-dom@npm:7.18.1" - dependencies: - react-router: "npm:7.18.1" - peerDependencies: - react: ">=18" - react-dom: ">=18" - checksum: 10c0/5efb99f2f09cecf445788f3459a8f5ff952ed85061f2d40f8de25fdd6e2ce6aeea8e40e4bacad470ea42a45d0460feb6fb59c62f14d87720b43d5c96cd9b2cb6 - languageName: node - linkType: hard - "react-router-hash-link@npm:^2.4.3": version: 2.4.3 resolution: "react-router-hash-link@npm:2.4.3" @@ -16048,7 +16036,7 @@ __metadata: react: "npm:^18.3.1" react-dom: "npm:^18.3.1" react-hook-form: "npm:^7.53.0" - react-router-dom: "npm:^6.30.3" + react-router: "npm:^7.18.1" start-server-and-test: "npm:^2.0.9" typescript: "npm:^5.8.3" typescript-eslint: "npm:^8.31.1" From 8868bf51eaf4128c4226d03552d6abf74b765e2c Mon Sep 17 00:00:00 2001 From: ignatiusm Date: Tue, 28 Jul 2026 14:41:44 +1200 Subject: [PATCH 13/17] Move imports from react-router-dom to react-router --- application/admin-client/package.json | 2 - application/admin-client/src/App.tsx | 4 +- .../src/components/RedcapImport.tsx | 2 +- .../admin-client/src/pages/family/edit.tsx | 2 +- .../src/pages/integrations/index.tsx | 2 +- .../pages/integrations/participantImport.tsx | 2 +- .../src/pages/integrations/surveyImport.tsx | 2 +- .../admin-client/src/pages/login/OTP.tsx | 2 +- .../admin-client/src/pages/login/callback.tsx | 2 +- .../admin-client/src/pages/login/index.tsx | 2 +- .../src/pages/participants/list.tsx | 2 +- .../src/pages/participants/show.tsx | 2 +- .../admin-client/src/pages/settings/index.tsx | 2 +- .../admin-client/src/pages/studies/index.tsx | 2 +- .../admin-client/src/pages/surveys/list.tsx | 2 +- application/user-client/src/App.tsx | 2 +- application/user-client/src/auth.tsx | 2 +- .../user-client/src/components/NavBar.tsx | 2 +- .../src/components/StudyLoader.tsx | 2 +- .../user-client/src/pages/Callback.tsx | 2 +- .../user-client/src/pages/ConsentForm.tsx | 2 +- application/user-client/src/pages/Contact.tsx | 2 +- .../user-client/src/pages/Dashboard.tsx | 2 +- application/user-client/src/pages/Error.tsx | 2 +- .../user-client/src/pages/ForgotPassword.tsx | 2 +- application/user-client/src/pages/Login.tsx | 2 +- application/user-client/src/pages/News.tsx | 2 +- application/user-client/src/pages/OTP.tsx | 4 +- application/user-client/src/pages/Profile.tsx | 2 +- .../user-client/src/pages/ProfileEdit.tsx | 2 +- .../user-client/src/pages/Register.tsx | 2 +- .../user-client/src/pages/RegisterError.tsx | 2 +- .../user-client/src/pages/ResetPassword.tsx | 2 +- application/user-client/src/router.tsx | 2 +- yarn.lock | 71 +++---------------- 35 files changed, 44 insertions(+), 99 deletions(-) diff --git a/application/admin-client/package.json b/application/admin-client/package.json index 8b8edd3c..d6690139 100644 --- a/application/admin-client/package.json +++ b/application/admin-client/package.json @@ -32,7 +32,6 @@ "react-hook-form": "^7.30.0", "react-markdown": "^10.0.1", "react-router": "^7.18.1", - "react-router-hash-link": "^2.4.3", "react-spreadsheet-import": "^4.7.1", "x-data-grid-8": "npm:@mui/x-data-grid@8.14", "zustand": "^5.0.0" @@ -41,7 +40,6 @@ "@types/node": "^18.16.2", "@types/react": "^18.0.0", "@types/react-dom": "^18.0.0", - "@types/react-router-hash-link": "^2.4.9", "@typescript-eslint/parser": "^8.31.1", "@vitejs/plugin-react": "^4.0.0", "cypress": "^13.17.0", diff --git a/application/admin-client/src/App.tsx b/application/admin-client/src/App.tsx index bc5bb89e..d1f4f3a4 100644 --- a/application/admin-client/src/App.tsx +++ b/application/admin-client/src/App.tsx @@ -14,13 +14,13 @@ import { import { dataProvider } from './providers/dataProvider' import CssBaseline from '@mui/material/CssBaseline' import GlobalStyles from '@mui/material/GlobalStyles' -import { BrowserRouter, Route, Routes, Outlet, Link } from 'react-router-dom' +import { BrowserRouter, Route, Routes, Outlet, Link } from 'react-router' import routerBindings, { NavigateToResource, CatchAllNavigate, UnsavedChangesNotifier, DocumentTitleHandler, -} from '@refinedev/react-router-v6' +} from '@refinedev/react-router' import { UserList, UserCreate, UserEdit, UserShow } from './pages/users' import { SurveyList, SurveyEditor } from './pages/surveys' import { ColorModeContextProvider } from './contexts/color-mode' diff --git a/application/admin-client/src/components/RedcapImport.tsx b/application/admin-client/src/components/RedcapImport.tsx index 5ef18ecc..1677551e 100644 --- a/application/admin-client/src/components/RedcapImport.tsx +++ b/application/admin-client/src/components/RedcapImport.tsx @@ -16,7 +16,7 @@ import { useEffect, useState } from 'react' import { Close, ArrowBack } from '@mui/icons-material' import ReactMarkdown from 'react-markdown' import { useNotification, useBack } from '@refinedev/core' -import { Link } from 'react-router-dom' +import { Link } from 'react-router' import { useCurrentStudyId, useStudyStore } from '../studyStore' import { RedcapLogo } from './RedcapLogo' diff --git a/application/admin-client/src/pages/family/edit.tsx b/application/admin-client/src/pages/family/edit.tsx index 04e44ebf..b741ccc7 100644 --- a/application/admin-client/src/pages/family/edit.tsx +++ b/application/admin-client/src/pages/family/edit.tsx @@ -30,7 +30,7 @@ import { OnBehalf, ParticipantType } from '@common/types/api/users/ParticipantPr import { useEffect, useState } from 'react' import { ParticipantSearch } from '../../components/ParticipantSearch' import { ArrowBack, Delete } from '@mui/icons-material' -import { Link, useNavigate } from 'react-router-dom' +import { Link, useNavigate } from 'react-router' import { GetFamilyResponse } from '@common/types/api/families' import { axiosInstance } from '../../providers/dataProvider' import { useCurrentStudyId } from '../../studyStore' diff --git a/application/admin-client/src/pages/integrations/index.tsx b/application/admin-client/src/pages/integrations/index.tsx index e895fc10..a0487e5a 100644 --- a/application/admin-client/src/pages/integrations/index.tsx +++ b/application/admin-client/src/pages/integrations/index.tsx @@ -13,7 +13,7 @@ import { } from '@mui/material' import GroupAddIcon from '@mui/icons-material/GroupAdd' import PlaylistAddIcon from '@mui/icons-material/PlaylistAdd' -import { useNavigate } from 'react-router-dom' +import { useNavigate } from 'react-router' import { SensitiveTextField } from '../../components/SensitiveTextField' import { useCustom, useGetIdentity } from '@refinedev/core' import { GetElsaTokenResponse } from '@common/types/api/integrations/getElsaToken' diff --git a/application/admin-client/src/pages/integrations/participantImport.tsx b/application/admin-client/src/pages/integrations/participantImport.tsx index 36e86c89..9d5b945d 100644 --- a/application/admin-client/src/pages/integrations/participantImport.tsx +++ b/application/admin-client/src/pages/integrations/participantImport.tsx @@ -2,7 +2,7 @@ import { useInvalidate, useNotification } from '@refinedev/core' import { RedcapImport } from '../../components/RedcapImport' import { axiosInstance } from '../../providers/dataProvider' import { participantUploadCSVDocumentation } from './helpPageRedcap' -import { useNavigate } from 'react-router-dom' +import { useNavigate } from 'react-router' import { useCurrentStudyId } from '../../studyStore' import { Recipient } from '@common/types/invite' diff --git a/application/admin-client/src/pages/integrations/surveyImport.tsx b/application/admin-client/src/pages/integrations/surveyImport.tsx index 4ae2b1fb..65b5e332 100644 --- a/application/admin-client/src/pages/integrations/surveyImport.tsx +++ b/application/admin-client/src/pages/integrations/surveyImport.tsx @@ -1,4 +1,4 @@ -import { useNavigate } from 'react-router-dom' +import { useNavigate } from 'react-router' import { RedcapImport } from '../../components/RedcapImport' import { axiosInstance } from '../../providers/dataProvider' import { instrumentUploadCSVDocumentation } from './helpPageRedcap' diff --git a/application/admin-client/src/pages/login/OTP.tsx b/application/admin-client/src/pages/login/OTP.tsx index 493bef1e..89236f1b 100644 --- a/application/admin-client/src/pages/login/OTP.tsx +++ b/application/admin-client/src/pages/login/OTP.tsx @@ -1,5 +1,5 @@ import { Box, Button, Card, Container, Stack, Typography } from '@mui/material' -import { Link, useSearchParams } from 'react-router-dom' +import { Link, useSearchParams } from 'react-router' import { LoginResponse } from '@common/types/api/auth' import { FormEvent, useEffect, useState } from 'react' import { MuiOtpInput } from 'mui-one-time-password-input' diff --git a/application/admin-client/src/pages/login/callback.tsx b/application/admin-client/src/pages/login/callback.tsx index 8001ee14..3d54a157 100644 --- a/application/admin-client/src/pages/login/callback.tsx +++ b/application/admin-client/src/pages/login/callback.tsx @@ -1,7 +1,7 @@ import { Button, CircularProgress, Stack, Typography } from '@mui/material' import { useParsed } from '@refinedev/core' import { useLogin } from '../../hooks/useLogin' -import { Link } from 'react-router-dom' +import { Link } from 'react-router' import { axiosInstance } from '@refinedev/simple-rest' import { useEffect, useState } from 'react' diff --git a/application/admin-client/src/pages/login/index.tsx b/application/admin-client/src/pages/login/index.tsx index 0afb7f85..816e3cc0 100644 --- a/application/admin-client/src/pages/login/index.tsx +++ b/application/admin-client/src/pages/login/index.tsx @@ -2,7 +2,7 @@ import { Box } from '@mui/material' import { AuthPage } from '@refinedev/mui' import { useEffect } from 'react' import { useAuthStore } from '../../authStore' -import { useNavigate, useSearchParams } from 'react-router-dom' +import { useNavigate, useSearchParams } from 'react-router' import { SetupResponse } from '@common/types/api/auth' export const Login = () => { diff --git a/application/admin-client/src/pages/participants/list.tsx b/application/admin-client/src/pages/participants/list.tsx index 68952659..3ee485b3 100644 --- a/application/admin-client/src/pages/participants/list.tsx +++ b/application/admin-client/src/pages/participants/list.tsx @@ -15,7 +15,7 @@ import { import { DataGrid, type GridColDef } from '@mui/x-data-grid' import { DateField, EditButton, List, ShowButton, useDataGrid } from '@refinedev/mui' import React, { useEffect, useState } from 'react' -import { Link, useLocation } from 'react-router-dom' +import { Link, useLocation } from 'react-router' import { InviteModal } from '../../components/InviteModal' import { Recipient } from '@common/types/invite' import { axiosInstance } from '../../providers/dataProvider' diff --git a/application/admin-client/src/pages/participants/show.tsx b/application/admin-client/src/pages/participants/show.tsx index 38119206..f6d9a0e8 100644 --- a/application/admin-client/src/pages/participants/show.tsx +++ b/application/admin-client/src/pages/participants/show.tsx @@ -3,7 +3,7 @@ import { GetParticipantResponse } from '@common/types/api/participants' import { Box, Button, IconButton, Stack, Tooltip, Typography } from '@mui/material' import { useShow } from '@refinedev/core' import { Show, TextFieldComponent as TextField } from '@refinedev/mui' -import { Link } from 'react-router-dom' +import { Link } from 'react-router' import { statusMap } from './list' import { familyMap } from '@common/src/familyMap' import { Edit } from '@mui/icons-material' diff --git a/application/admin-client/src/pages/settings/index.tsx b/application/admin-client/src/pages/settings/index.tsx index 5198f7ab..d4362b16 100644 --- a/application/admin-client/src/pages/settings/index.tsx +++ b/application/admin-client/src/pages/settings/index.tsx @@ -1,7 +1,7 @@ import { Box, Button, Container, TextField, Tooltip, Typography } from '@mui/material' import { useNotification } from '@refinedev/core' import { useForm } from '@refinedev/react-hook-form' -import { useNavigate } from 'react-router-dom' +import { useNavigate } from 'react-router' import { axiosInstance } from '../../providers/dataProvider' import { Info } from '@mui/icons-material' import { LogoUploader } from '../../components/LogoUploader' diff --git a/application/admin-client/src/pages/studies/index.tsx b/application/admin-client/src/pages/studies/index.tsx index 09812177..fddd7857 100644 --- a/application/admin-client/src/pages/studies/index.tsx +++ b/application/admin-client/src/pages/studies/index.tsx @@ -22,7 +22,7 @@ import { StudyEntry, useStudyStore } from '../../studyStore' import { AddCircle, ArrowDropDown, Delete, Edit, Info } from '@mui/icons-material' import { useQueryClient } from '@tanstack/react-query' import { SensitiveTextField } from '../../components/SensitiveTextField' -import { useSearchParams } from 'react-router-dom' +import { useSearchParams } from 'react-router' import { LogoUploader } from '../../components/LogoUploader' import { RESOURCES } from '../../constants' import { emailRegex } from '@common/src/regex' diff --git a/application/admin-client/src/pages/surveys/list.tsx b/application/admin-client/src/pages/surveys/list.tsx index f8e773f2..3b94b95d 100644 --- a/application/admin-client/src/pages/surveys/list.tsx +++ b/application/admin-client/src/pages/surveys/list.tsx @@ -4,7 +4,7 @@ import { DataGrid, type GridColDef } from '@mui/x-data-grid' import { EditButton, List, ShowButton, useDataGrid } from '@refinedev/mui' import { useNotification } from '@refinedev/core' import React from 'react' -import { Link } from 'react-router-dom' +import { Link } from 'react-router' import { useStudyStore } from '../../studyStore' import SurveyPdf from '@common/src/PdfExport' import { pdfUtils, downloadPdfBlob } from '@common/src/pdfHelpers' diff --git a/application/user-client/src/App.tsx b/application/user-client/src/App.tsx index 69a129f3..e78a11d9 100644 --- a/application/user-client/src/App.tsx +++ b/application/user-client/src/App.tsx @@ -2,7 +2,7 @@ import './App.css' import { Box, Theme, ThemeProvider, Typography } from '@mui/material' import customTheme from './theme' -import { RouterProvider } from 'react-router-dom' +import { RouterProvider } from 'react-router' import router from './router.tsx' import { AuthProvider } from './auth' import { QueryClient, QueryClientProvider } from '@tanstack/react-query' diff --git a/application/user-client/src/auth.tsx b/application/user-client/src/auth.tsx index 664b0210..4dff4d56 100644 --- a/application/user-client/src/auth.tsx +++ b/application/user-client/src/auth.tsx @@ -1,5 +1,5 @@ import React, { createContext, useContext, useState } from 'react' -import { Outlet, Navigate } from 'react-router-dom' +import { Outlet, Navigate } from 'react-router' import { StudyLoader } from './components/StudyLoader' import { LoginSuccessResponse } from '@common/types/api/auth' diff --git a/application/user-client/src/components/NavBar.tsx b/application/user-client/src/components/NavBar.tsx index 6d4e6f5e..bf6245d8 100644 --- a/application/user-client/src/components/NavBar.tsx +++ b/application/user-client/src/components/NavBar.tsx @@ -9,7 +9,7 @@ import MenuIcon from '@mui/icons-material/Menu' import Container from '@mui/material/Container' import MenuItem from '@mui/material/MenuItem' import { Button, Tab, Tabs } from '@mui/material' -import { useLocation, useNavigate } from 'react-router-dom' +import { useLocation, useNavigate } from 'react-router' import { useAuth } from '../auth' import { useAppStore } from '../store' diff --git a/application/user-client/src/components/StudyLoader.tsx b/application/user-client/src/components/StudyLoader.tsx index 060c4b0a..afc52d90 100644 --- a/application/user-client/src/components/StudyLoader.tsx +++ b/application/user-client/src/components/StudyLoader.tsx @@ -1,7 +1,7 @@ import React, { PropsWithChildren, useEffect, useRef } from 'react' import { useAppStore } from '../store' import { useQuery, useQueryClient } from '@tanstack/react-query' -import { useSearchParams } from 'react-router-dom' +import { useSearchParams } from 'react-router' import { apiClient } from '../apiClient' import NavBar from '../components/NavBar' import { CircularProgress, Container, Typography } from '@mui/material' diff --git a/application/user-client/src/pages/Callback.tsx b/application/user-client/src/pages/Callback.tsx index 09f59492..1056f9f0 100644 --- a/application/user-client/src/pages/Callback.tsx +++ b/application/user-client/src/pages/Callback.tsx @@ -1,5 +1,5 @@ import { Button, CircularProgress, Stack, Typography } from '@mui/material' -import { Link, useNavigate, useSearchParams } from 'react-router-dom' +import { Link, useNavigate, useSearchParams } from 'react-router' import { useEffect, useState } from 'react' import { useAuth } from '../auth' diff --git a/application/user-client/src/pages/ConsentForm.tsx b/application/user-client/src/pages/ConsentForm.tsx index 76f70f96..3083b2ce 100644 --- a/application/user-client/src/pages/ConsentForm.tsx +++ b/application/user-client/src/pages/ConsentForm.tsx @@ -21,7 +21,7 @@ import { Typography, } from '@mui/material' -import { useNavigate, useParams } from 'react-router-dom' +import { useNavigate, useParams } from 'react-router' import { keepPreviousData, useQuery } from '@tanstack/react-query' import { GetUserSurveyStepResponse } from '@common/types/api/surveys' import { apiClient } from '../apiClient' diff --git a/application/user-client/src/pages/Contact.tsx b/application/user-client/src/pages/Contact.tsx index 6435df2b..0ab371fa 100644 --- a/application/user-client/src/pages/Contact.tsx +++ b/application/user-client/src/pages/Contact.tsx @@ -9,7 +9,7 @@ import { } from '@mui/material' import NavBar from '../components/NavBar' import EmailIcon from '@mui/icons-material/Email' -import { Link, useNavigate } from 'react-router-dom' +import { Link, useNavigate } from 'react-router' import { useAppStore } from '../store' import { useEffect, useState } from 'react' import { apiClient } from '../apiClient' diff --git a/application/user-client/src/pages/Dashboard.tsx b/application/user-client/src/pages/Dashboard.tsx index 5159f51e..69eff9da 100644 --- a/application/user-client/src/pages/Dashboard.tsx +++ b/application/user-client/src/pages/Dashboard.tsx @@ -21,7 +21,7 @@ import { useQuery, useQueryClient } from '@tanstack/react-query' import CheckCircle from '@mui/icons-material/CheckCircle' import InfoOutlined from '@mui/icons-material/InfoOutlined' import Circle from '@mui/icons-material/Circle' -import { Link } from 'react-router-dom' +import { Link } from 'react-router' import { GetParticipantProfileResponse } from '@common/types/api/users' // import { GetUserInvitesResponse } from '@common/types/api/participants' import { GetResponsesByIdResponse } from '@common/types/api/surveys' diff --git a/application/user-client/src/pages/Error.tsx b/application/user-client/src/pages/Error.tsx index 75e7c558..7f273651 100644 --- a/application/user-client/src/pages/Error.tsx +++ b/application/user-client/src/pages/Error.tsx @@ -1,5 +1,5 @@ import { Box, Button, Typography } from '@mui/material' -import { Link } from 'react-router-dom' +import { Link } from 'react-router' export default function ErrorPage() { return ( diff --git a/application/user-client/src/pages/ForgotPassword.tsx b/application/user-client/src/pages/ForgotPassword.tsx index 8bb66319..7f450016 100644 --- a/application/user-client/src/pages/ForgotPassword.tsx +++ b/application/user-client/src/pages/ForgotPassword.tsx @@ -9,7 +9,7 @@ import { Typography, } from '@mui/material' import { useForm } from 'react-hook-form' -import { Link } from 'react-router-dom' +import { Link } from 'react-router' import { apiClient } from '../apiClient' import { useEffect, useState } from 'react' import { GeneratePasswordResetLinkRequest } from '@common/types/api/users' diff --git a/application/user-client/src/pages/Login.tsx b/application/user-client/src/pages/Login.tsx index e6cb13eb..80859afa 100644 --- a/application/user-client/src/pages/Login.tsx +++ b/application/user-client/src/pages/Login.tsx @@ -10,7 +10,7 @@ import { Typography, } from '@mui/material' import { useForm } from 'react-hook-form' -import { Link, useNavigate } from 'react-router-dom' +import { Link, useNavigate } from 'react-router' import { useAuth } from '../auth' import { LoginRequest, LoginResponse, SetupResponse } from '@common/types/api/auth' import { useEffect, useState } from 'react' diff --git a/application/user-client/src/pages/News.tsx b/application/user-client/src/pages/News.tsx index 4e44bf6f..a70d421a 100644 --- a/application/user-client/src/pages/News.tsx +++ b/application/user-client/src/pages/News.tsx @@ -1,6 +1,6 @@ import { Box, Container } from '@mui/material' import NavBar from '../components/NavBar' -import { useNavigate } from 'react-router-dom' +import { useNavigate } from 'react-router' import { useEffect } from 'react' import { useAppStore } from '../store' diff --git a/application/user-client/src/pages/OTP.tsx b/application/user-client/src/pages/OTP.tsx index 28206595..c5286646 100644 --- a/application/user-client/src/pages/OTP.tsx +++ b/application/user-client/src/pages/OTP.tsx @@ -1,10 +1,10 @@ import { Button, Card, Container, Stack, Typography } from '@mui/material' -import { useNavigate, useLocation } from 'react-router-dom' +import { useNavigate, useLocation } from 'react-router' import { useAuth } from '../auth' import { LoginResponse } from '@common/types/api/auth' import { FormEvent, useEffect, useState } from 'react' import { MuiOtpInput } from 'mui-one-time-password-input' -import { Link } from 'react-router-dom' +import { Link } from 'react-router' export default function OTP() { const { login } = useAuth() diff --git a/application/user-client/src/pages/Profile.tsx b/application/user-client/src/pages/Profile.tsx index 8722479d..df4d0469 100644 --- a/application/user-client/src/pages/Profile.tsx +++ b/application/user-client/src/pages/Profile.tsx @@ -3,7 +3,7 @@ import Grid from '@mui/material/Grid2' import NavBar from '../components/NavBar' import { useQuery } from '@tanstack/react-query' import type { GetParticipantProfileResponse } from '@common/types/api/users' -import { Link } from 'react-router-dom' +import { Link } from 'react-router' import { apiClient } from '../apiClient' import { familyMap } from '@common/src/familyMap' import { useEffect } from 'react' diff --git a/application/user-client/src/pages/ProfileEdit.tsx b/application/user-client/src/pages/ProfileEdit.tsx index 7a3a5176..85546f3c 100644 --- a/application/user-client/src/pages/ProfileEdit.tsx +++ b/application/user-client/src/pages/ProfileEdit.tsx @@ -14,7 +14,7 @@ import { Link as MLink, } from '@mui/material' import { useForm } from 'react-hook-form' -import { Link, useNavigate } from 'react-router-dom' +import { Link, useNavigate } from 'react-router' import { useEffect } from 'react' import { useQuery } from '@tanstack/react-query' import { GetParticipantProfileResponse, UpdateProfileRequest } from '@common/types/api/users' diff --git a/application/user-client/src/pages/Register.tsx b/application/user-client/src/pages/Register.tsx index 4a4306bc..787529e6 100644 --- a/application/user-client/src/pages/Register.tsx +++ b/application/user-client/src/pages/Register.tsx @@ -17,7 +17,7 @@ import { Link as MLink, } from '@mui/material' import { useForm, useFieldArray, Controller } from 'react-hook-form' -import { Link, useNavigate, useParams } from 'react-router-dom' +import { Link, useNavigate, useParams } from 'react-router' import { useAuth } from '../auth' import { RegisterParticipantRequest, RegisterParticipantResponse } from '@common/types/api/auth' import { checkPasswordStrength } from '@common/src/PasswordStrength' diff --git a/application/user-client/src/pages/RegisterError.tsx b/application/user-client/src/pages/RegisterError.tsx index 25344ece..07af5730 100644 --- a/application/user-client/src/pages/RegisterError.tsx +++ b/application/user-client/src/pages/RegisterError.tsx @@ -1,5 +1,5 @@ import { Box, Button, Typography } from '@mui/material' -import { Link } from 'react-router-dom' +import { Link } from 'react-router' export default function RegisterErrorPage() { return ( diff --git a/application/user-client/src/pages/ResetPassword.tsx b/application/user-client/src/pages/ResetPassword.tsx index d37bb114..c3b11eaf 100644 --- a/application/user-client/src/pages/ResetPassword.tsx +++ b/application/user-client/src/pages/ResetPassword.tsx @@ -9,7 +9,7 @@ import { Typography, } from '@mui/material' import { useForm } from 'react-hook-form' -import { Link, useLocation } from 'react-router-dom' +import { Link, useLocation } from 'react-router' import { ResetPasswordRequest } from '@common/types/api/users' import { checkPasswordStrength } from '@common/src/PasswordStrength' import { apiClient } from '../apiClient' diff --git a/application/user-client/src/router.tsx b/application/user-client/src/router.tsx index cb48ef4c..f238ca43 100644 --- a/application/user-client/src/router.tsx +++ b/application/user-client/src/router.tsx @@ -1,4 +1,4 @@ -import { createBrowserRouter } from 'react-router-dom' +import { createBrowserRouter } from 'react-router' import Dashboard from './pages/Dashboard' import Profile from './pages/Profile' import ProfileEdit from './pages/ProfileEdit' diff --git a/yarn.lock b/yarn.lock index 399f60ac..dabc8ccc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4827,13 +4827,6 @@ __metadata: languageName: node linkType: hard -"@types/history@npm:^4.7.11": - version: 4.7.11 - resolution: "@types/history@npm:4.7.11" - checksum: 10c0/3facf37c2493d1f92b2e93a22cac7ea70b06351c2ab9aaceaa3c56aa6099fb63516f6c4ec1616deb5c56b4093c026a043ea2d3373e6c0644d55710364d02c934 - languageName: node - linkType: hard - "@types/http-assert@npm:*": version: 1.5.6 resolution: "@types/http-assert@npm:1.5.6" @@ -5130,38 +5123,6 @@ __metadata: languageName: node linkType: hard -"@types/react-router-dom@npm:^5.3.0": - version: 5.3.3 - resolution: "@types/react-router-dom@npm:5.3.3" - dependencies: - "@types/history": "npm:^4.7.11" - "@types/react": "npm:*" - "@types/react-router": "npm:*" - checksum: 10c0/a9231a16afb9ed5142678147eafec9d48582809295754fb60946e29fcd3757a4c7a3180fa94b45763e4c7f6e3f02379e2fcb8dd986db479dcab40eff5fc62a91 - languageName: node - linkType: hard - -"@types/react-router-hash-link@npm:^2.4.9": - version: 2.4.9 - resolution: "@types/react-router-hash-link@npm:2.4.9" - dependencies: - "@types/history": "npm:^4.7.11" - "@types/react": "npm:*" - "@types/react-router-dom": "npm:^5.3.0" - checksum: 10c0/3e650851a5c4f59aceee17ac1ec23ae1945e1de8917f49b6959da282c4f6a3ffbe8eec39c50843ca24f22edf38ee1128c8ba75fc251ebd22a5a97128c56b9569 - languageName: node - linkType: hard - -"@types/react-router@npm:*": - version: 5.1.20 - resolution: "@types/react-router@npm:5.1.20" - dependencies: - "@types/history": "npm:^4.7.11" - "@types/react": "npm:*" - checksum: 10c0/1f7eee61981d2f807fa01a34a0ef98ebc0774023832b6611a69c7f28fdff01de5a38cabf399f32e376bf8099dcb7afaf724775bea9d38870224492bea4cb5737 - languageName: node - linkType: hard - "@types/react-transition-group@npm:^4.4.0, @types/react-transition-group@npm:^4.4.10, @types/react-transition-group@npm:^4.4.12": version: 4.4.12 resolution: "@types/react-transition-group@npm:4.4.12" @@ -5171,15 +5132,6 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:*, @types/react@npm:^19.1.1": - version: 19.1.9 - resolution: "@types/react@npm:19.1.9" - dependencies: - csstype: "npm:^3.0.2" - checksum: 10c0/b418da4aaf18fbc6df4f1b7096dda7ee152d697cac00d729ffd855b2b44a3a9cfb2ecb017ed20979ea3a7d98a5ce5fcf01ac1a3614d4a3e4d7069a0c45e49b0f - languageName: node - linkType: hard - "@types/react@npm:^18.0.0, @types/react@npm:^18.3.3": version: 18.3.23 resolution: "@types/react@npm:18.3.23" @@ -5190,6 +5142,15 @@ __metadata: languageName: node linkType: hard +"@types/react@npm:^19.1.1": + version: 19.1.9 + resolution: "@types/react@npm:19.1.9" + dependencies: + csstype: "npm:^3.0.2" + checksum: 10c0/b418da4aaf18fbc6df4f1b7096dda7ee152d697cac00d729ffd855b2b44a3a9cfb2ecb017ed20979ea3a7d98a5ce5fcf01ac1a3614d4a3e4d7069a0c45e49b0f + languageName: node + linkType: hard + "@types/responselike@npm:^1.0.0": version: 1.0.3 resolution: "@types/responselike@npm:1.0.3" @@ -5758,7 +5719,6 @@ __metadata: "@types/node": "npm:^18.16.2" "@types/react": "npm:^18.0.0" "@types/react-dom": "npm:^18.0.0" - "@types/react-router-hash-link": "npm:^2.4.9" "@typescript-eslint/parser": "npm:^8.31.1" "@vitejs/plugin-react": "npm:^4.0.0" cypress: "npm:^13.17.0" @@ -5775,7 +5735,6 @@ __metadata: react-hook-form: "npm:^7.30.0" react-markdown: "npm:^10.0.1" react-router: "npm:^7.18.1" - react-router-hash-link: "npm:^2.4.3" react-spreadsheet-import: "npm:^4.7.1" start-server-and-test: "npm:^2.0.10" typescript: "npm:^5.8.3" @@ -13724,18 +13683,6 @@ __metadata: languageName: node linkType: hard -"react-router-hash-link@npm:^2.4.3": - version: 2.4.3 - resolution: "react-router-hash-link@npm:2.4.3" - dependencies: - prop-types: "npm:^15.7.2" - peerDependencies: - react: ">=15" - react-router-dom: ">=4" - checksum: 10c0/19f400653de2cff6e2bdbebf09c33313579618422b9a746c085df1fd4f89dc7df6e012c4471bc05641d6ccf4e65bb66e1d53731f899dd753cca2d47ce67a3ff5 - languageName: node - linkType: hard - "react-router@npm:^7.18.1": version: 7.18.1 resolution: "react-router@npm:7.18.1" From 9eaf94a9dd3ceec4fa51c1fd3b7677a3335f3b12 Mon Sep 17 00:00:00 2001 From: ignatiusm Date: Tue, 28 Jul 2026 18:07:19 +1200 Subject: [PATCH 14/17] WIP upgrading react-query --- application/admin-client/package.json | 16 +- application/admin-client/src/App.tsx | 15 +- .../src/components/LogoUploader.tsx | 8 +- .../src/components/ParticipantSearch.tsx | 2 +- .../src/components/StudyLoader.tsx | 2 +- .../src/components/header/index.tsx | 4 +- .../admin-client/src/pages/family/edit.tsx | 10 +- .../src/pages/integrations/index.tsx | 2 +- .../src/pages/participants/show.tsx | 4 +- .../admin-client/src/pages/responses/all.tsx | 2 +- .../src/pages/responses/index.tsx | 2 +- .../admin-client/src/pages/settings/index.tsx | 4 +- .../admin-client/src/pages/studies/index.tsx | 12 +- .../admin-client/src/pages/surveys/edit.tsx | 15 +- .../admin-client/src/pages/users/edit.tsx | 4 +- .../admin-client/src/pages/users/list.tsx | 2 +- .../admin-client/src/pages/users/show.tsx | 4 +- application/user-client/package.json | 2 +- package.json | 1 + yarn.lock | 539 ++++++++++-------- 20 files changed, 365 insertions(+), 285 deletions(-) diff --git a/application/admin-client/package.json b/application/admin-client/package.json index d6690139..24b3dff1 100644 --- a/application/admin-client/package.json +++ b/application/admin-client/package.json @@ -13,15 +13,15 @@ "@mui/lab": "^5.0.0-alpha.85", "@mui/material": "^6.1.5", "@mui/x-data-grid": "latest-v7", - "@refinedev/cli": "^2.16.47", - "@refinedev/core": "^4.57.9", - "@refinedev/devtools": "^1.2.16", - "@refinedev/kbar": "^1.3.16", - "@refinedev/mui": "^5.22.0", - "@refinedev/react-hook-form": "^4.9.3", + "@refinedev/cli": "^2.16.52", + "@refinedev/core": "^5.0.12", + "@refinedev/devtools": "^2.0.5", + "@refinedev/kbar": "^2.0.1", + "@refinedev/mui": "^8.0.2", + "@refinedev/react-hook-form": "^5.0.4", "@refinedev/react-router": "^2.0.4", - "@refinedev/simple-rest": "^5.0.11", - "@tanstack/react-query": "^4.10.1", + "@refinedev/simple-rest": "^6.0.1", + "@tanstack/react-query": "^5.90.16", "flat": "^6.0.1", "immer": "^10.1.1", "mui-one-time-password-input": "^5.0.0", diff --git a/application/admin-client/src/App.tsx b/application/admin-client/src/App.tsx index d1f4f3a4..5bf9dc75 100644 --- a/application/admin-client/src/App.tsx +++ b/application/admin-client/src/App.tsx @@ -5,10 +5,10 @@ import { RefineKbar, RefineKbarProvider } from '@refinedev/kbar' import { AuthPage, ErrorComponent, - notificationProvider, + useNotificationProvider, RefineSnackbarProvider, - ThemedLayoutV2, - ThemedTitleV2, + ThemedLayout, + ThemedTitle, } from '@refinedev/mui' import { dataProvider } from './providers/dataProvider' @@ -68,7 +68,7 @@ function App() { } > - ( - + )} > - + } diff --git a/application/admin-client/src/components/LogoUploader.tsx b/application/admin-client/src/components/LogoUploader.tsx index bad66a53..2d6d2192 100644 --- a/application/admin-client/src/components/LogoUploader.tsx +++ b/application/admin-client/src/components/LogoUploader.tsx @@ -36,7 +36,9 @@ export const LogoUploader = ({ setLogoVersion(Date.now()) setLocalHasLogo(true) - queryClient.invalidateQueries([resource]) + queryClient.invalidateQueries({ + queryKey: [resource], + }) } catch (e: any) { open?.({ type: 'error', @@ -57,7 +59,9 @@ export const LogoUploader = ({ open?.({ type: 'success', message: 'Deleted logo' }) setLocalHasLogo(false) - queryClient.invalidateQueries([resource]) + queryClient.invalidateQueries({ + queryKey: [resource], + }) } catch (e: any) { open?.({ type: 'error', diff --git a/application/admin-client/src/components/ParticipantSearch.tsx b/application/admin-client/src/components/ParticipantSearch.tsx index bb3789ac..90b9f2f3 100644 --- a/application/admin-client/src/components/ParticipantSearch.tsx +++ b/application/admin-client/src/components/ParticipantSearch.tsx @@ -15,7 +15,7 @@ export function ParticipantSearch({ buttonText, onConfirm, exclude }: Participan const [selectedId, setSelectedId] = useState() const [participants, setParticipants] = useState([]) - const { data } = useList({ resource: 'participants' }) + const { data } = useList({ resource: 'participants' }).query useEffect(() => { const filtered = data?.data.filter((val) => { diff --git a/application/admin-client/src/components/StudyLoader.tsx b/application/admin-client/src/components/StudyLoader.tsx index 48bf9de5..a3b12134 100644 --- a/application/admin-client/src/components/StudyLoader.tsx +++ b/application/admin-client/src/components/StudyLoader.tsx @@ -8,7 +8,7 @@ export const StudyLoader: React.FC = ({ children }) => { url: `studies`, method: 'get', queryOptions: { queryKey: ['studies'] }, - }) + }).query const { studies, setStudies, activeStudyIndex, setActiveStudyIndex } = useStudyStore() const invalidate = useInvalidate() const { mutate: logout } = useLogout() diff --git a/application/admin-client/src/components/header/index.tsx b/application/admin-client/src/components/header/index.tsx index 358880be..9b6d3aa7 100644 --- a/application/admin-client/src/components/header/index.tsx +++ b/application/admin-client/src/components/header/index.tsx @@ -2,13 +2,13 @@ import { Menu, MenuItem, Button, Divider } from '@mui/material' import AppBar from '@mui/material/AppBar' import Stack from '@mui/material/Stack' import Toolbar from '@mui/material/Toolbar' -import { HamburgerMenu, RefineThemedLayoutV2HeaderProps } from '@refinedev/mui' +import { HamburgerMenu, RefineThemedLayoutHeaderProps } from '@refinedev/mui' import React, { useState } from 'react' import ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown' import { useStudyStore } from '../../studyStore' import { Link, useParsed } from '@refinedev/core' -export const Header: React.FC = ({ sticky = true }) => { +export const Header: React.FC = ({ sticky = true }) => { const [anchorEl, setAnchorEl] = useState(null) const studyMenuOpen = Boolean(anchorEl) diff --git a/application/admin-client/src/pages/family/edit.tsx b/application/admin-client/src/pages/family/edit.tsx index b741ccc7..ea6b0c76 100644 --- a/application/admin-client/src/pages/family/edit.tsx +++ b/application/admin-client/src/pages/family/edit.tsx @@ -34,6 +34,7 @@ import { Link, useNavigate } from 'react-router' import { GetFamilyResponse } from '@common/types/api/families' import { axiosInstance } from '../../providers/dataProvider' import { useCurrentStudyId } from '../../studyStore' +import { useQueryClient } from '@tanstack/react-query' export const FamilyEdit = () => { const studyId = useCurrentStudyId() @@ -43,7 +44,9 @@ export const FamilyEdit = () => { const invalidate = useInvalidate() const nav = useNavigate() - const { data, remove } = useOne({ resource: 'families', id }) + const queryClient = useQueryClient() + + const { data } = useOne({ resource: 'families', id }).query const [action, setAction] = useState<'ADD' | 'REMOVE' | null>(null) const [loading, setLoading] = useState(false) @@ -57,11 +60,12 @@ export const FamilyEdit = () => { useEffect(() => { if (data) { if (data.data.every((val) => !val.inStudy)) { - remove() + // Clear the cache for this specific familiy so it doesn flash if we come back + queryClient.removeQueries({ queryKey: ['families', 'getOne', id] }) nav('/participants') } } - }, [data]) + }, [data, id, nav, queryClient]) //Dependents add form const { register, handleSubmit, reset } = useForm() diff --git a/application/admin-client/src/pages/integrations/index.tsx b/application/admin-client/src/pages/integrations/index.tsx index a0487e5a..a997c082 100644 --- a/application/admin-client/src/pages/integrations/index.tsx +++ b/application/admin-client/src/pages/integrations/index.tsx @@ -30,7 +30,7 @@ export const IntegrationsHome = () => { const { data, refetch } = useCustom({ url: `elsa/token`, method: 'get', - }) + }).query const enabled = Boolean(data?.data.token) diff --git a/application/admin-client/src/pages/participants/show.tsx b/application/admin-client/src/pages/participants/show.tsx index f6d9a0e8..7e1bc8fc 100644 --- a/application/admin-client/src/pages/participants/show.tsx +++ b/application/admin-client/src/pages/participants/show.tsx @@ -9,9 +9,9 @@ import { familyMap } from '@common/src/familyMap' import { Edit } from '@mui/icons-material' export const ParticipantShow = () => { - const { queryResult } = useShow({}) + const { query } = useShow({}) - const { data, isLoading } = queryResult + const { data, isLoading } = query const record = data?.data as GetParticipantResponse['data'] diff --git a/application/admin-client/src/pages/responses/all.tsx b/application/admin-client/src/pages/responses/all.tsx index 3d4316d2..8454d24f 100644 --- a/application/admin-client/src/pages/responses/all.tsx +++ b/application/admin-client/src/pages/responses/all.tsx @@ -49,7 +49,7 @@ export const AllResponsesView = () => { const { data } = useCustom({ url: `studies/${studyId}/surveys/${id}/participants/answers`, method: 'get', - }) + }).query const rows = useMemo(() => { return data?.data.data.participants || [] diff --git a/application/admin-client/src/pages/responses/index.tsx b/application/admin-client/src/pages/responses/index.tsx index 000b81ca..b60a9857 100644 --- a/application/admin-client/src/pages/responses/index.tsx +++ b/application/admin-client/src/pages/responses/index.tsx @@ -11,7 +11,7 @@ export const ResponsesView = () => { const { data } = useCustom({ url: `studies/${studyId}/surveys/${params?.versionNumber}/participants/${params?.id}/answers`, method: 'get', - }) + }).query const derived_from = data?.data.data.derived_from diff --git a/application/admin-client/src/pages/settings/index.tsx b/application/admin-client/src/pages/settings/index.tsx index d4362b16..151f43ac 100644 --- a/application/admin-client/src/pages/settings/index.tsx +++ b/application/admin-client/src/pages/settings/index.tsx @@ -22,7 +22,7 @@ const SettingsPage = () => { handleSubmit, formState: { errors }, watch, - refineCore: { queryResult }, + refineCore: { query }, } = useForm({ refineCoreProps: { resource: 'settings', @@ -34,7 +34,7 @@ const SettingsPage = () => { }) const { open } = useNotification() - const orgSettingsData = queryResult?.data?.data + const orgSettingsData = query?.data?.data console.log('SETTINGS DATA:', orgSettingsData) const handleSave = async (data: FieldValues) => { diff --git a/application/admin-client/src/pages/studies/index.tsx b/application/admin-client/src/pages/studies/index.tsx index fddd7857..061b4665 100644 --- a/application/admin-client/src/pages/studies/index.tsx +++ b/application/admin-client/src/pages/studies/index.tsx @@ -67,7 +67,9 @@ const StudyCard = ({ if (activeStudyIndex > studies.length) { setActiveStudyIndex(0) } - queryClient.invalidateQueries(['studies']) + queryClient.invalidateQueries({ + queryKey: ['studies'], + }) const newStudies = [...studies] // Destructure out the token so that it doesn't go into the store const { redcapToken, ...sanitisedUpdateData } = updateData @@ -97,7 +99,9 @@ const StudyCard = ({ if (activeStudyIndex == studies.length - 1) { setActiveStudyIndex(0) } - queryClient.invalidateQueries(['studies']) + queryClient.invalidateQueries({ + queryKey: ['studies'], + }) }) .catch((e) => { open?.({ type: 'error', message: `Error deleting study: ${e}` }) @@ -369,7 +373,9 @@ const StudiesPage = () => { .post('studies', { name: newStudyName }) .then(() => { handleCloseNewStudyDialog() - queryClient.invalidateQueries(['studies']) + queryClient.invalidateQueries({ + queryKey: ['studies'], + }) }) .catch((e) => { open?.({ diff --git a/application/admin-client/src/pages/surveys/edit.tsx b/application/admin-client/src/pages/surveys/edit.tsx index 15b9c665..5d158389 100644 --- a/application/admin-client/src/pages/surveys/edit.tsx +++ b/application/admin-client/src/pages/surveys/edit.tsx @@ -24,8 +24,9 @@ import { HTML5Backend } from 'react-dnd-html5-backend' import { SurveyElementCard, SurveyDropSpace } from '../../components/SurveyElementCard' import { useSurveyStore } from '../../surveyStore' import { axiosInstance } from '../../providers/dataProvider' -import { useResource, useShow, useUpdate, useNavigation, useNotification } from '@refinedev/core' +import { useShow, useUpdate, useNavigation, useNotification } from '@refinedev/core' import { useCurrentStudyId } from '../../studyStore' +import { useParams } from 'react-router' export const SurveyEditor = () => { const { @@ -59,10 +60,8 @@ export const SurveyEditor = () => { } const { list } = useNavigation() - - const { id } = useResource() - - const { queryResult } = useShow({ resource: 'surveys' }) + const { id: surveyId } = useParams() + const { query } = useShow({ resource: 'surveys', id: surveyId }) const { open } = useNotification() @@ -78,7 +77,7 @@ export const SurveyEditor = () => { invalidates: ['resourceAll'], }) - const { data: queryData, isLoading } = queryResult + const { data: queryData, isLoading } = query const disabled = queryData?.data.status != 'DRAFT' @@ -105,7 +104,7 @@ export const SurveyEditor = () => { setSavePending(true) clearTimeout(timeoutObject) const t = setTimeout(() => { - mutate({ id, values: { data: surveyData }, invalidates: [] }) + mutate({ id: surveyId as string, values: { data: surveyData }, invalidates: [] }) setSavePending(false) }, 2000) setTimeoutObject(t as any) @@ -124,7 +123,7 @@ export const SurveyEditor = () => { const handlePublish = () => { axiosInstance - .post(`studies/${studyId}/surveys/${id}/publish`) + .post(`studies/${studyId}/surveys/${surveyId}/publish`) .then(() => { list('surveys') }) diff --git a/application/admin-client/src/pages/users/edit.tsx b/application/admin-client/src/pages/users/edit.tsx index c8530846..3eb6cd6f 100644 --- a/application/admin-client/src/pages/users/edit.tsx +++ b/application/admin-client/src/pages/users/edit.tsx @@ -26,9 +26,9 @@ export const UserEdit = () => { formState: { errors }, } = useForm({ refineCoreProps: { redirect: false } }) - const { queryResult } = useShow() + const { query } = useShow() - const { data } = queryResult + const { data } = query const record = data?.data diff --git a/application/admin-client/src/pages/users/list.tsx b/application/admin-client/src/pages/users/list.tsx index 214f4822..1bdfcfa8 100644 --- a/application/admin-client/src/pages/users/list.tsx +++ b/application/admin-client/src/pages/users/list.tsx @@ -27,7 +27,7 @@ export const UserList = () => { queryOptions: { enabled: !!dataGridProps?.rows, }, - }) + }).query const { data: identity } = useGetIdentity<{ role: string; id: number }>() diff --git a/application/admin-client/src/pages/users/show.tsx b/application/admin-client/src/pages/users/show.tsx index c0e3b014..194576e0 100644 --- a/application/admin-client/src/pages/users/show.tsx +++ b/application/admin-client/src/pages/users/show.tsx @@ -6,9 +6,9 @@ import { GetUserByIdResponse } from '@common/types/api/users' import { useStudyStore } from '../../studyStore' export const UserShow = () => { - const { queryResult } = useShow({}) + const { query } = useShow({}) - const { data, isLoading } = queryResult + const { data, isLoading } = query const record = data?.data const { data: identity } = useGetIdentity<{ role: string; id: number }>() diff --git a/application/user-client/package.json b/application/user-client/package.json index 2908e677..cb7dac24 100644 --- a/application/user-client/package.json +++ b/application/user-client/package.json @@ -19,7 +19,7 @@ "@fontsource/roboto": "^5.0.15", "@mui/icons-material": "^6.0.2", "@mui/material": "^6.1.5", - "@tanstack/react-query": "^5.56.2", + "@tanstack/react-query": "^5.90.16", "axios": "^1.13.5", "dotenv": "^16.4.7", "dotenv-cli": "^8.0.0", diff --git a/package.json b/package.json index e750a4f6..5b371190 100644 --- a/package.json +++ b/package.json @@ -44,6 +44,7 @@ "follow-redirects@^1.0.0": "^1.16.0", "follow-redirects@^1.15.11": "^1.16.0", "glob@^10": "^10.5.0", + "gray-matter/js-yaml": "^3.14.1", "handlebars@^4.7.7": "^4.7.9", "@hapi/content": "^6.0.2", "@hapi/wreck": "^18.1.2", diff --git a/yarn.lock b/yarn.lock index dabc8ccc..3b9fa28b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -730,7 +730,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.25.7, @babel/runtime@npm:^7.28.4": +"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.25.7, @babel/runtime@npm:^7.28.4": version: 7.28.4 resolution: "@babel/runtime@npm:7.28.4" checksum: 10c0/792ce7af9750fb9b93879cc9d1db175701c4689da890e6ced242ea0207c9da411ccf16dc04e689cc01158b28d7898c40d75598f4559109f761c12ce01e959bf7 @@ -744,6 +744,13 @@ __metadata: languageName: node linkType: hard +"@babel/runtime@npm:^7.24.6, @babel/runtime@npm:^7.28.6": + version: 7.29.7 + resolution: "@babel/runtime@npm:7.29.7" + checksum: 10c0/ca11572f7146b21e0bde6a9ed4bb6a89eafbee5f0944c7eb54d0d8a2dac962c33638a1d611e14faa71dfbb92b4b5f9236232208568a6b7d5c6f3f39ddb91771e + languageName: node + linkType: hard + "@babel/template@npm:^7.27.2, @babel/template@npm:^7.3.3": version: 7.27.2 resolution: "@babel/template@npm:7.27.2" @@ -2703,10 +2710,25 @@ __metadata: languageName: node linkType: hard -"@mui/core-downloads-tracker@npm:^5.18.0": - version: 5.18.0 - resolution: "@mui/core-downloads-tracker@npm:5.18.0" - checksum: 10c0/d82962a1b69878cf6a6785b6600302a943d474af00bba50169e207ce0bb5d072f1ed65783c7d5ca940cbe4228ab86bc95bb57545cf2cd039d588f2571bbefe0c +"@mui/base@npm:5.0.0-dev.20240529-082515-213b5e33ab": + version: 5.0.0-dev.20240529-082515-213b5e33ab + resolution: "@mui/base@npm:5.0.0-dev.20240529-082515-213b5e33ab" + dependencies: + "@babel/runtime": "npm:^7.24.6" + "@floating-ui/react-dom": "npm:^2.0.8" + "@mui/types": "npm:^7.2.14-dev.20240529-082515-213b5e33ab" + "@mui/utils": "npm:^6.0.0-dev.20240529-082515-213b5e33ab" + "@popperjs/core": "npm:^2.11.8" + clsx: "npm:^2.1.1" + prop-types: "npm:^15.8.1" + peerDependencies: + "@types/react": ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/c6d3119aeea8abbb6494b3a3a632668bbee57e4f4e1786783908f3e19deb3b764f56e7e518849a17f3eda6db213bcc147a87fd0baf98941596466601d823478b languageName: node linkType: hard @@ -2740,7 +2762,7 @@ __metadata: languageName: node linkType: hard -"@mui/icons-material@npm:^6.0.2": +"@mui/icons-material@npm:^6.0.2, @mui/icons-material@npm:^6.1.6": version: 6.5.0 resolution: "@mui/icons-material@npm:6.5.0" dependencies: @@ -2785,28 +2807,24 @@ __metadata: languageName: node linkType: hard -"@mui/material@npm:^5.14.2": - version: 5.18.0 - resolution: "@mui/material@npm:5.18.0" +"@mui/lab@npm:^6.0.0-beta.14": + version: 6.0.0-dev.20240529-082515-213b5e33ab + resolution: "@mui/lab@npm:6.0.0-dev.20240529-082515-213b5e33ab" dependencies: - "@babel/runtime": "npm:^7.23.9" - "@mui/core-downloads-tracker": "npm:^5.18.0" - "@mui/system": "npm:^5.18.0" - "@mui/types": "npm:~7.2.15" - "@mui/utils": "npm:^5.17.1" - "@popperjs/core": "npm:^2.11.8" - "@types/react-transition-group": "npm:^4.4.10" - clsx: "npm:^2.1.0" - csstype: "npm:^3.1.3" + "@babel/runtime": "npm:^7.24.6" + "@mui/base": "npm:5.0.0-dev.20240529-082515-213b5e33ab" + "@mui/system": "npm:^6.0.0-dev.20240529-082515-213b5e33ab" + "@mui/types": "npm:^7.2.14-dev.20240529-082515-213b5e33ab" + "@mui/utils": "npm:^6.0.0-dev.20240529-082515-213b5e33ab" + clsx: "npm:^2.1.1" prop-types: "npm:^15.8.1" - react-is: "npm:^19.0.0" - react-transition-group: "npm:^4.4.5" peerDependencies: "@emotion/react": ^11.5.0 "@emotion/styled": ^11.3.0 - "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 + "@mui/material": ^6.0.0-dev.20240529-082515-213b5e33ab + "@types/react": ^17.0.0 || ^18.0.0 + react: ^17.0.0 || ^18.0.0 + react-dom: ^17.0.0 || ^18.0.0 peerDependenciesMeta: "@emotion/react": optional: true @@ -2814,11 +2832,11 @@ __metadata: optional: true "@types/react": optional: true - checksum: 10c0/a743c9105d08b636d4d9cf0aa276283b9095113771c188c7f5ac6953606dd77a5eb082dbbd889446a9a8573b8676d7249140c29eec55ae8320592e5f02d0f2cb + checksum: 10c0/e579b60be49e76395751e9ee591ef6afedf42ca615bdd1da60974635bad3ad9427929f5841121a973fd7f76330357b20060667340b9664c435b181a612e522c3 languageName: node linkType: hard -"@mui/material@npm:^6.1.5": +"@mui/material@npm:^6.1.5, @mui/material@npm:^6.1.7": version: 6.5.0 resolution: "@mui/material@npm:6.5.0" dependencies: @@ -3009,7 +3027,7 @@ __metadata: languageName: node linkType: hard -"@mui/system@npm:^5.15.15, @mui/system@npm:^5.18.0": +"@mui/system@npm:^5.18.0": version: 5.18.0 resolution: "@mui/system@npm:5.18.0" dependencies: @@ -3037,7 +3055,7 @@ __metadata: languageName: node linkType: hard -"@mui/system@npm:^6.5.0": +"@mui/system@npm:^6.0.0-dev.20240529-082515-213b5e33ab, @mui/system@npm:^6.1.6, @mui/system@npm:^6.5.0": version: 6.5.0 resolution: "@mui/system@npm:6.5.0" dependencies: @@ -3093,6 +3111,20 @@ __metadata: languageName: node linkType: hard +"@mui/types@npm:^7.2.14-dev.20240529-082515-213b5e33ab, @mui/types@npm:^7.4.12": + version: 7.4.12 + resolution: "@mui/types@npm:7.4.12" + dependencies: + "@babel/runtime": "npm:^7.28.6" + peerDependencies: + "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/e2247f9c3b8ef08e2eb7494ad8fcaffd8d695655cb355b8c3f23ebecbf69e13fcf73411b0a209fc0750eb416f7d0f7da1aa82557beb9bd58f26f9645f3f2ce95 + languageName: node + linkType: hard + "@mui/types@npm:^7.4.5": version: 7.4.5 resolution: "@mui/types@npm:7.4.5" @@ -3133,47 +3165,47 @@ __metadata: languageName: node linkType: hard -"@mui/utils@npm:^5.14.16, @mui/utils@npm:^5.17.1": - version: 5.17.1 - resolution: "@mui/utils@npm:5.17.1" +"@mui/utils@npm:^5.16.6 || ^6.0.0 || ^7.0.0, @mui/utils@npm:^7.3.3": + version: 7.3.3 + resolution: "@mui/utils@npm:7.3.3" dependencies: - "@babel/runtime": "npm:^7.23.9" - "@mui/types": "npm:~7.2.15" - "@types/prop-types": "npm:^15.7.12" + "@babel/runtime": "npm:^7.28.4" + "@mui/types": "npm:^7.4.7" + "@types/prop-types": "npm:^15.7.15" clsx: "npm:^2.1.1" prop-types: "npm:^15.8.1" - react-is: "npm:^19.0.0" + react-is: "npm:^19.1.1" peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/0a2b033f85b67ad5cab86c5b9e2341cc1a1fa931eaad5489b21281e0bfe9054061817a8de50bcf3363f17f5a3f0c44400950099f36e5039e735c1b5f3b30cf2b + checksum: 10c0/43a87f8cee97b7f29d30f4f0014148081ad5d56e660d6750fb42b3247b1c9e032a026939966827232f930831512b91b6c94b32e1c1ccd553242fd049b6e8fe80 languageName: node linkType: hard -"@mui/utils@npm:^5.16.6 || ^6.0.0 || ^7.0.0, @mui/utils@npm:^7.3.3": - version: 7.3.3 - resolution: "@mui/utils@npm:7.3.3" +"@mui/utils@npm:^5.17.1": + version: 5.17.1 + resolution: "@mui/utils@npm:5.17.1" dependencies: - "@babel/runtime": "npm:^7.28.4" - "@mui/types": "npm:^7.4.7" - "@types/prop-types": "npm:^15.7.15" + "@babel/runtime": "npm:^7.23.9" + "@mui/types": "npm:~7.2.15" + "@types/prop-types": "npm:^15.7.12" clsx: "npm:^2.1.1" prop-types: "npm:^15.8.1" - react-is: "npm:^19.1.1" + react-is: "npm:^19.0.0" peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/43a87f8cee97b7f29d30f4f0014148081ad5d56e660d6750fb42b3247b1c9e032a026939966827232f930831512b91b6c94b32e1c1ccd553242fd049b6e8fe80 + checksum: 10c0/0a2b033f85b67ad5cab86c5b9e2341cc1a1fa931eaad5489b21281e0bfe9054061817a8de50bcf3363f17f5a3f0c44400950099f36e5039e735c1b5f3b30cf2b languageName: node linkType: hard -"@mui/utils@npm:^6.4.9": +"@mui/utils@npm:^6.0.0-dev.20240529-082515-213b5e33ab, @mui/utils@npm:^6.4.9": version: 6.4.9 resolution: "@mui/utils@npm:6.4.9" dependencies: @@ -3213,21 +3245,50 @@ __metadata: languageName: node linkType: hard -"@mui/x-data-grid@npm:^6.6.0": - version: 6.20.4 - resolution: "@mui/x-data-grid@npm:6.20.4" +"@mui/utils@npm:^7.3.5": + version: 7.3.11 + resolution: "@mui/utils@npm:7.3.11" dependencies: - "@babel/runtime": "npm:^7.23.2" - "@mui/utils": "npm:^5.14.16" - clsx: "npm:^2.0.0" + "@babel/runtime": "npm:^7.28.6" + "@mui/types": "npm:^7.4.12" + "@types/prop-types": "npm:^15.7.15" + clsx: "npm:^2.1.1" prop-types: "npm:^15.8.1" - reselect: "npm:^4.1.8" + react-is: "npm:^19.2.3" peerDependencies: - "@mui/material": ^5.4.1 - "@mui/system": ^5.4.1 - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 - checksum: 10c0/8ec0841e3fe587d99afe254b42c6f121e360078092431c9f6ab37fdffae06869fd49ec115fd9be4047665f6ead6dc79eee934c0493303500cc7e110202acca45 + "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: 10c0/fdea802667ac724f5648637b22c4a7893135cfd0be80d2c4de1281cac5395b12c6e59ffd487932e3cb21fc628456b479abce8cc4f31c1223da8a1d125f0dd38b + languageName: node + linkType: hard + +"@mui/x-data-grid@npm:^8.24.0": + version: 8.29.2 + resolution: "@mui/x-data-grid@npm:8.29.2" + dependencies: + "@babel/runtime": "npm:^7.28.4" + "@mui/utils": "npm:^7.3.5" + "@mui/x-internals": "npm:8.29.2" + "@mui/x-virtualizer": "npm:0.4.1" + clsx: "npm:^2.1.1" + prop-types: "npm:^15.8.1" + use-sync-external-store: "npm:^1.6.0" + peerDependencies: + "@emotion/react": ^11.9.0 + "@emotion/styled": ^11.8.1 + "@mui/material": ^5.15.14 || ^6.0.0 || ^7.0.0 + "@mui/system": ^5.15.14 || ^6.0.0 || ^7.0.0 + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + "@emotion/react": + optional: true + "@emotion/styled": + optional: true + checksum: 10c0/1a54053a2781c8ddbaa3fcb3e27ff80128d88a35641307b6a4c41b4438f011ddcf44b49007389eae30fcce3c26b13faf268632510790ba563824b6fd34d433cf languageName: node linkType: hard @@ -3284,6 +3345,20 @@ __metadata: languageName: node linkType: hard +"@mui/x-internals@npm:8.29.2": + version: 8.29.2 + resolution: "@mui/x-internals@npm:8.29.2" + dependencies: + "@babel/runtime": "npm:^7.28.4" + "@mui/utils": "npm:^7.3.5" + reselect: "npm:^5.1.1" + use-sync-external-store: "npm:^1.6.0" + peerDependencies: + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10c0/2f43fc4305011b3b232e635de28b596ca259fcd641bc4097f686dd6ce4218413bf609d968f7d164f074547d0845eaf9cc4977543fd3ba86cd6fab12fa48c6370 + languageName: node + linkType: hard + "@mui/x-virtualizer@npm:0.2.3": version: 0.2.3 resolution: "@mui/x-virtualizer@npm:0.2.3" @@ -3298,6 +3373,20 @@ __metadata: languageName: node linkType: hard +"@mui/x-virtualizer@npm:0.4.1": + version: 0.4.1 + resolution: "@mui/x-virtualizer@npm:0.4.1" + dependencies: + "@babel/runtime": "npm:^7.28.4" + "@mui/utils": "npm:^7.3.5" + "@mui/x-internals": "npm:8.29.2" + peerDependencies: + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10c0/dbd1a0abd20f2789438a0d447b270f68a1e015a6177d0620df9744259e2c20c9bd13df04d3809e514cb15b2dd083d6ed90eff62c27f16ca66878741805a762b6 + languageName: node + linkType: hard + "@noble/hashes@npm:^1.1.5": version: 1.8.0 resolution: "@noble/hashes@npm:1.8.0" @@ -3793,12 +3882,12 @@ __metadata: languageName: node linkType: hard -"@refinedev/cli@npm:^2.16.47": - version: 2.16.50 - resolution: "@refinedev/cli@npm:2.16.50" +"@refinedev/cli@npm:^2.16.52": + version: 2.16.52 + resolution: "@refinedev/cli@npm:2.16.52" dependencies: "@npmcli/package-json": "npm:^5.2.0" - "@refinedev/devtools-server": "npm:2.0.1" + "@refinedev/devtools-server": "npm:2.0.2" boxen: "npm:^5.1.2" camelcase: "npm:^6.2.0" cardinal: "npm:^2.1.1" @@ -3835,16 +3924,16 @@ __metadata: tslib: "npm:^2.6.2" bin: refine: dist/cli.cjs - checksum: 10c0/567e22a9abe8b5f600420b3be6c3ab1142cc7c2416da41498ba7635e102c70eb7f9265174beff45d1618c0ae75fa39a51dce0102b9ba3521c48c5f8447ee6abb + checksum: 10c0/b87b87e9f94a34477a246ea4b4ae09b929920fc24d13410a0be9546a92c0d99167831dc13e7a774ccddf7b94234262613648cead3ef7fa46ee05bea8357c938a languageName: node linkType: hard -"@refinedev/core@npm:^4.57.9": - version: 4.58.0 - resolution: "@refinedev/core@npm:4.58.0" +"@refinedev/core@npm:^5.0.12, @refinedev/core@npm:^5.0.5": + version: 5.0.12 + resolution: "@refinedev/core@npm:5.0.12" dependencies: - "@refinedev/devtools-internal": "npm:1.1.16" - "@tanstack/react-query": "npm:^4.10.1" + "@refinedev/devtools-internal": "npm:2.0.2" + "@tanstack/react-query": "npm:^5.81.5" lodash: "npm:^4.17.21" lodash-es: "npm:^4.17.21" papaparse: "npm:^5.3.0" @@ -3853,36 +3942,36 @@ __metadata: tslib: "npm:^2.6.2" warn-once: "npm:^0.1.0" peerDependencies: - "@tanstack/react-query": ^4.10.1 - "@types/react": ^17.0.0 || ^18.0.0 - "@types/react-dom": ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 - checksum: 10c0/d16ddfa91ac786968474929dec4ff3fb52a96f251e8c578eb57f672356deeed850241eaea8d1eab3531bc2e3ad86f95122d41bb836549cbf93abe5fa666121e4 + "@tanstack/react-query": ^5.81.5 + "@types/react": ^18.0.0 || ^19.0.0 + "@types/react-dom": ^18.0.0 || ^19.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/c4ee138753cf5c8be1795caf90f4453009e422b7fab8f3d72a3bbd83f8886e65c5bd935488aae33ae4aa04c74e5adf44a38ababf136d1b0ba42eaf79a5e78ab3 languageName: node linkType: hard -"@refinedev/devtools-internal@npm:1.1.16": - version: 1.1.16 - resolution: "@refinedev/devtools-internal@npm:1.1.16" +"@refinedev/devtools-internal@npm:2.0.2": + version: 2.0.2 + resolution: "@refinedev/devtools-internal@npm:2.0.2" dependencies: - "@refinedev/devtools-shared": "npm:1.1.14" - "@tanstack/react-query": "npm:^4.10.1" + "@refinedev/devtools-shared": "npm:2.0.2" + "@tanstack/react-query": "npm:^5.81.5" error-stack-parser: "npm:^2.1.4" peerDependencies: - "@types/react": ^17.0.0 || ^18.0.0 - "@types/react-dom": ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 - checksum: 10c0/0b2e565f4c8fb5f789a58ded722b8ea6b4198fa0f44ffa5f60ac1db17ecb574c3ea8fcc0e4cc4d5e02f622bd3a7d437a7c678695c43ddcf51ce28388af3dbd08 + "@types/react": ^18.0.0 || ^19.0.0 + "@types/react-dom": ^18.0.0 || ^19.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/2c1267ad38bf81b3d0952ee2d94e24daa68625b8b555998816ad377cfd870d3252aee23747711c702a1c7d1fe58c86062c1c93591e2dc211ccd9f6aee07bb578 languageName: node linkType: hard -"@refinedev/devtools-server@npm:2.0.1": - version: 2.0.1 - resolution: "@refinedev/devtools-server@npm:2.0.1" +"@refinedev/devtools-server@npm:2.0.2": + version: 2.0.2 + resolution: "@refinedev/devtools-server@npm:2.0.2" dependencies: - "@refinedev/devtools-shared": "npm:2.0.1" + "@refinedev/devtools-shared": "npm:2.0.2" body-parser: "npm:^1.20.2" boxen: "npm:^5.1.2" chalk: "npm:^4.1.2" @@ -3912,28 +4001,13 @@ __metadata: react-dom: ^18.0.0 || ^19.0.0 bin: refine-devtools: dist/cli.cjs - checksum: 10c0/221a024f43e6be1e7119587e4240c0dd50634159ea773a5b43572a83934c131e462eaec3594f9356b7dc803fe70ee606de2a599a9c1264d25832bfb925379cff + checksum: 10c0/414d175824a4739db46fbf7b98cc2ba91fb9b71245718303f02f91502842be6d02663f2a711a1b9ebea705c8f48a5c04e5f16f558d9f6a9b15f84a16aa1b7505 languageName: node linkType: hard -"@refinedev/devtools-shared@npm:1.1.14": - version: 1.1.14 - resolution: "@refinedev/devtools-shared@npm:1.1.14" - dependencies: - "@tanstack/react-query": "npm:^4.10.1" - error-stack-parser: "npm:^2.1.4" - peerDependencies: - "@types/react": ^17.0.0 || ^18.0.0 - "@types/react-dom": ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 - checksum: 10c0/ad3d71544c6f9379e409e67d67166320bfb1c25df32a98552b450ce8266c9699b396e97ebb16a34d6a1aa1b4d6e62c31d71d7f74815266aea32c5a4e4baa3cfc - languageName: node - linkType: hard - -"@refinedev/devtools-shared@npm:2.0.1": - version: 2.0.1 - resolution: "@refinedev/devtools-shared@npm:2.0.1" +"@refinedev/devtools-shared@npm:2.0.2": + version: 2.0.2 + resolution: "@refinedev/devtools-shared@npm:2.0.2" dependencies: "@tanstack/react-query": "npm:^5.81.5" error-stack-parser: "npm:^2.1.4" @@ -3942,62 +4016,62 @@ __metadata: "@types/react-dom": ^18.0.0 || ^19.0.0 react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 - checksum: 10c0/0214355ab8a260a064899ba067da03143ad0dcbd329fb9eaef9af76f597b6d3f8238304c660a4bb316451336e04dbc51ec84b32c6c9164b4097b463e51fda7c4 + checksum: 10c0/d54a65287e73b6f4d48694f21c52c1fe61eb8b8ae68eeafac7360e38298b95e36d138959f898c783731e346e5068b4b63e7bb464c65397b17630c0dd2820cd63 languageName: node linkType: hard -"@refinedev/devtools@npm:^1.2.16": - version: 1.2.17 - resolution: "@refinedev/devtools@npm:1.2.17" +"@refinedev/devtools@npm:^2.0.5": + version: 2.0.5 + resolution: "@refinedev/devtools@npm:2.0.5" dependencies: "@aliemir/dom-to-fiber-utils": "npm:^0.4.0" - "@refinedev/devtools-shared": "npm:1.1.14" + "@refinedev/devtools-shared": "npm:2.0.2" error-stack-parser: "npm:^2.1.4" lodash: "npm:^4.17.21" lodash-es: "npm:^4.17.21" peerDependencies: - "@refinedev/cli": 2.16.47 - "@refinedev/core": ^4.46.1 - "@refinedev/devtools-server": 1.1.42 - "@types/react": ^17.0.0 || ^18.0.0 - "@types/react-dom": ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 - checksum: 10c0/86b687b904705eec9411cf136169c1196e7cf909055831b5677f28a3ce11b47c48b36cdce005887a57662d8c8289f6729fb46203e7b4f99844582941a61de6fc + "@refinedev/cli": 2.16.52 + "@refinedev/core": ^5.0.0 + "@refinedev/devtools-server": 2.0.2 + "@types/react": ^18.0.0 || ^19.0.0 + "@types/react-dom": ^18.0.0 || ^19.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/319be629b288a8a5a08a6aaf2b907c7789e7ec9cc7fd2b18b53dfab8e37f753086681815a9e78288a06d7ffbcd6e7719f954375224fd876e4fd798a71a674c0b languageName: node linkType: hard -"@refinedev/kbar@npm:^1.3.16": - version: 1.3.17 - resolution: "@refinedev/kbar@npm:1.3.17" +"@refinedev/kbar@npm:^2.0.1": + version: 2.0.1 + resolution: "@refinedev/kbar@npm:2.0.1" dependencies: kbar: "npm:0.1.0-beta.40" peerDependencies: - "@refinedev/core": ^4.46.1 - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 - checksum: 10c0/040545631670d603fddf65b2f1537b39e28c15ee9b030450ff84d5bd9a8df65af8a6c2e4226460851663cda6486f4f716d09c805b850d582c82d8a3bf048cdb0 + "@refinedev/core": ^5.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/423b3349c44cf4a83864d27b8cf2c156c90e6e20bbb493f4fa9b30049e0646f41fa35681bd5a0c2b1711175d06b32669281f0a1d6a039350fb1932e75fb862c4 languageName: node linkType: hard -"@refinedev/mui@npm:^5.22.0": - version: 5.22.0 - resolution: "@refinedev/mui@npm:5.22.0" +"@refinedev/mui@npm:^8.0.2": + version: 8.0.2 + resolution: "@refinedev/mui@npm:8.0.2" dependencies: "@emotion/react": "npm:^11.8.2" "@emotion/styled": "npm:^11.8.1" - "@mui/icons-material": "npm:^5.8.3" - "@mui/lab": "npm:^5.0.0-alpha.85" - "@mui/material": "npm:^5.14.2" - "@mui/system": "npm:^5.15.15" - "@mui/x-data-grid": "npm:^6.6.0" - "@refinedev/react-hook-form": "npm:^4.9.1" - "@refinedev/ui-types": "npm:^1.22.9" + "@mui/icons-material": "npm:^6.1.6" + "@mui/lab": "npm:^6.0.0-beta.14" + "@mui/material": "npm:^6.1.7" + "@mui/system": "npm:^6.1.6" + "@mui/x-data-grid": "npm:^8.24.0" + "@refinedev/react-hook-form": "npm:^5.0.3" + "@refinedev/ui-types": "npm:^2.0.0" dayjs: "npm:^1.10.7" lodash: "npm:^4.17.21" lodash-es: "npm:^4.17.21" notistack: "npm:^2.0.4" - react-hook-form: "npm:^7.43.5" + react-hook-form: "npm:^7.57.0" react-markdown: "npm:^6.0.1" remark-gfm: "npm:^1.0.0" tslib: "npm:^2.6.2" @@ -4005,34 +4079,34 @@ __metadata: peerDependencies: "@emotion/react": ^11.8.2 "@emotion/styled": ^11.8.1 - "@mui/lab": ^5.0.0-alpha.85 - "@mui/material": ^5.14.2 - "@mui/x-data-grid": ^6.6.0 - "@refinedev/core": ^4.46.1 - "@refinedev/react-hook-form": ^4.0.0 + "@mui/lab": ^6.0.0-beta.14 + "@mui/material": ^6.1.7 + "@mui/x-data-grid": ^8.24.0 + "@refinedev/core": ^5.0.0 + "@refinedev/react-hook-form": ^5.0.0 dayjs: ^1.10.7 - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 - react-hook-form: ^7.43.5 - checksum: 10c0/c67fda87d0245aada92f82bf07eca5e3a1e1475926c61411bf289a81246e115554ca44abf7caf150919d100394f01f2c35e029d3c2a0e6f2d67ef4a9023777f5 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + react-hook-form: ^7.57.0 + checksum: 10c0/2a145b788009bb77b636c78a193d3a90813a3d9b937a5fdd396c4902ee4a20cb3cc92939e09e3e9ce2d387de2820a203ae10d33d39c42ad7450f949d7c11a2ce languageName: node linkType: hard -"@refinedev/react-hook-form@npm:^4.9.1, @refinedev/react-hook-form@npm:^4.9.3": - version: 4.10.2 - resolution: "@refinedev/react-hook-form@npm:4.10.2" +"@refinedev/react-hook-form@npm:^5.0.3, @refinedev/react-hook-form@npm:^5.0.4": + version: 5.0.4 + resolution: "@refinedev/react-hook-form@npm:5.0.4" dependencies: lodash: "npm:^4.17.21" lodash-es: "npm:^4.17.21" react-hook-form: "npm:^7.57.0" peerDependencies: - "@refinedev/core": ^4.46.1 - "@types/react": ^17.0.0 || ^18.0.0 - "@types/react-dom": ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 + "@refinedev/core": ^5.0.0 + "@types/react": ^18.0.0 || ^19.0.0 + "@types/react-dom": ^18.0.0 || ^19.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 react-hook-form: ^7.57.0 - checksum: 10c0/f705765e7cd5ce39a2431b4af2663a9d01de35c516cf428db4d898b7f2085f7414edbade5b1e5ed970ec1fe42a59bac4424d0e90aa39ebe99d657543932e6776 + checksum: 10c0/bad630e216db63bd41e82cd70d820bc7d3bc3a0f7520c5eb8ead1dc23ec07006973447e631dc3158e457ccb75304cc95f49cc49530ace690a18f6eb46cdabc43 languageName: node linkType: hard @@ -4053,30 +4127,30 @@ __metadata: languageName: node linkType: hard -"@refinedev/simple-rest@npm:^5.0.11": - version: 5.0.11 - resolution: "@refinedev/simple-rest@npm:5.0.11" +"@refinedev/simple-rest@npm:^6.0.1": + version: 6.0.1 + resolution: "@refinedev/simple-rest@npm:6.0.1" dependencies: axios: "npm:^1.11.0" query-string: "npm:^7.1.1" peerDependencies: - "@refinedev/core": ^4.46.1 - checksum: 10c0/626a32cac39ac9c1ff94e7e94f72d1225d02cd50feb8d933f6bd1fa19cdfce9bc20e8c8687ff5e0df1a53ddacb7e6f6a51036137046da0623571b0f0d437ae9e + "@refinedev/core": ^5.0.0 + checksum: 10c0/13c37f087894d5a88e848d415b7ff96162fae784a85a621c4d2e52bb4845d65c7b375a55d2fddcd87ea2e9a556b8d957eeb3cee7b37f8b55f1e25f6a05b2abad languageName: node linkType: hard -"@refinedev/ui-types@npm:^1.22.9": - version: 1.24.2 - resolution: "@refinedev/ui-types@npm:1.24.2" +"@refinedev/ui-types@npm:^2.0.0": + version: 2.0.1 + resolution: "@refinedev/ui-types@npm:2.0.1" dependencies: - "@refinedev/core": "npm:^4.57.9" + "@refinedev/core": "npm:^5.0.5" dayjs: "npm:^1.10.7" tslib: "npm:^2.6.2" peerDependencies: - "@refinedev/core": ^4.46.1 - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 - checksum: 10c0/0142ab099dfbc99bdd3d3f5598bbd3f7a5c61c2ed035aaf06414d3d5acea888dd7417bed944d240d2988197dcaa87925372d524f4bf0c175acf57aa6385fa083 + "@refinedev/core": ^5.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + checksum: 10c0/da6a7d4523335fd38462ad71abaf007ae68452aebb335f8b0ef4bc932d7bca14dd735cc7a03a3c9613d5b0fa2cd30f6e844c0ba1bd622d6d1933399e5f7ce896 languageName: node linkType: hard @@ -4495,17 +4569,10 @@ __metadata: languageName: node linkType: hard -"@tanstack/query-core@npm:4.40.0": - version: 4.40.0 - resolution: "@tanstack/query-core@npm:4.40.0" - checksum: 10c0/c04ebaae3b30d59fcf647c3e3aed95bc7aea632a37088f6066b9958ac2144613ed545471e9ecefd78b1ebe2536fbc74eb708f8614334d012156d82aabfef5fd6 - languageName: node - linkType: hard - -"@tanstack/query-core@npm:5.83.1": - version: 5.83.1 - resolution: "@tanstack/query-core@npm:5.83.1" - checksum: 10c0/3eeacf678fcf9803585f1be74979548a33c7f659b8d5f33c1e3b3834ef3b9f3401070b2e2d38bbaa9c6e5a3c359baaa3828078e38007b7c99fb8c9f1e3911142 +"@tanstack/query-core@npm:5.101.4": + version: 5.101.4 + resolution: "@tanstack/query-core@npm:5.101.4" + checksum: 10c0/a407960303431e6498c6518cf6f8cc7283d3e4a95dbdc5e9fa42c217b9dd7afaffb82a4f2d36b38f578f745e8cf69ff8551abb947f5abcc0a290f3e3e75dc654 languageName: node linkType: hard @@ -4516,44 +4583,25 @@ __metadata: languageName: node linkType: hard -"@tanstack/react-query@npm:^4.10.1": - version: 4.40.1 - resolution: "@tanstack/react-query@npm:4.40.1" - dependencies: - "@tanstack/query-core": "npm:4.40.0" - use-sync-external-store: "npm:^1.2.0" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-native: "*" - peerDependenciesMeta: - react-dom: - optional: true - react-native: - optional: true - checksum: 10c0/19d93d60fc39872683da0b74ca11cf78cc6186c8eec8b4732bec3efb83d553e94108a838d6d20dd54f109f330a56858133df85b4a4700c641c1fb3eb11855d35 - languageName: node - linkType: hard - -"@tanstack/react-query@npm:^5.56.2": - version: 5.84.2 - resolution: "@tanstack/react-query@npm:5.84.2" +"@tanstack/react-query@npm:^5.81.5": + version: 5.90.16 + resolution: "@tanstack/react-query@npm:5.90.16" dependencies: - "@tanstack/query-core": "npm:5.83.1" + "@tanstack/query-core": "npm:5.90.16" peerDependencies: react: ^18 || ^19 - checksum: 10c0/491914f8c61c5bb83e1eece53b33552d0d490ba9f122add35ae3078f10f675a6b0786c2e1d5940ccb9acf490d28c525d56893576c237090c22bfc70ef2ee0f3f + checksum: 10c0/03bd2aa23187003b45dc3d4b465a68f19806369283487a004acd6dd2ad8ba1fa0ec343da616cb1c43c342609202d0776fee68867246caa5ad6915f090539c168 languageName: node linkType: hard -"@tanstack/react-query@npm:^5.81.5": - version: 5.90.16 - resolution: "@tanstack/react-query@npm:5.90.16" +"@tanstack/react-query@npm:^5.90.16": + version: 5.101.4 + resolution: "@tanstack/react-query@npm:5.101.4" dependencies: - "@tanstack/query-core": "npm:5.90.16" + "@tanstack/query-core": "npm:5.101.4" peerDependencies: react: ^18 || ^19 - checksum: 10c0/03bd2aa23187003b45dc3d4b465a68f19806369283487a004acd6dd2ad8ba1fa0ec343da616cb1c43c342609202d0776fee68867246caa5ad6915f090539c168 + checksum: 10c0/92e7c5b44740e753b05a6a19c166ea1a000df64c1bf5edb315d08a5b555a9f16a9d35288ac38f650bd38fc3015b135c392749fd6db24d09db42bfaf758d119fa languageName: node linkType: hard @@ -5123,7 +5171,7 @@ __metadata: languageName: node linkType: hard -"@types/react-transition-group@npm:^4.4.0, @types/react-transition-group@npm:^4.4.10, @types/react-transition-group@npm:^4.4.12": +"@types/react-transition-group@npm:^4.4.0, @types/react-transition-group@npm:^4.4.12": version: 4.4.12 resolution: "@types/react-transition-group@npm:4.4.12" peerDependencies: @@ -5707,15 +5755,15 @@ __metadata: "@mui/lab": "npm:^5.0.0-alpha.85" "@mui/material": "npm:^6.1.5" "@mui/x-data-grid": "npm:latest-v7" - "@refinedev/cli": "npm:^2.16.47" - "@refinedev/core": "npm:^4.57.9" - "@refinedev/devtools": "npm:^1.2.16" - "@refinedev/kbar": "npm:^1.3.16" - "@refinedev/mui": "npm:^5.22.0" - "@refinedev/react-hook-form": "npm:^4.9.3" + "@refinedev/cli": "npm:^2.16.52" + "@refinedev/core": "npm:^5.0.12" + "@refinedev/devtools": "npm:^2.0.5" + "@refinedev/kbar": "npm:^2.0.1" + "@refinedev/mui": "npm:^8.0.2" + "@refinedev/react-hook-form": "npm:^5.0.4" "@refinedev/react-router": "npm:^2.0.4" - "@refinedev/simple-rest": "npm:^5.0.11" - "@tanstack/react-query": "npm:^4.10.1" + "@refinedev/simple-rest": "npm:^6.0.1" + "@tanstack/react-query": "npm:^5.90.16" "@types/node": "npm:^18.16.2" "@types/react": "npm:^18.0.0" "@types/react-dom": "npm:^18.0.0" @@ -5933,6 +5981,15 @@ __metadata: languageName: node linkType: hard +"argparse@npm:^1.0.7": + version: 1.0.10 + resolution: "argparse@npm:1.0.10" + dependencies: + sprintf-js: "npm:~1.0.2" + checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de + languageName: node + linkType: hard + "argparse@npm:^2.0.1": version: 2.0.1 resolution: "argparse@npm:2.0.1" @@ -6862,7 +6919,7 @@ __metadata: languageName: node linkType: hard -"clsx@npm:^2.0.0, clsx@npm:^2.1.0, clsx@npm:^2.1.1": +"clsx@npm:^2.1.0, clsx@npm:^2.1.1": version: 2.1.1 resolution: "clsx@npm:2.1.1" checksum: 10c0/c4c8eb865f8c82baab07e71bfa8897c73454881c4f99d6bc81585aecd7c441746c1399d08363dc096c550cceaf97bd4ce1e8854e1771e9998d9f94c4fe075839 @@ -8275,7 +8332,7 @@ __metadata: languageName: node linkType: hard -"esprima@npm:~4.0.0": +"esprima@npm:^4.0.0, esprima@npm:~4.0.0": version: 4.0.1 resolution: "esprima@npm:4.0.1" bin: @@ -10676,6 +10733,18 @@ __metadata: languageName: node linkType: hard +"js-yaml@npm:^3.14.1": + version: 3.15.0 + resolution: "js-yaml@npm:3.15.0" + dependencies: + argparse: "npm:^1.0.7" + esprima: "npm:^4.0.0" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/ca966bd354ac5b1b7a4694ebdba46526796aa3a6a99529fa540af2abf85918bd155a50ccc0166b413130a00622999973754458ec01e7095bc902177bfdbd5b64 + languageName: node + linkType: hard + "js-yaml@npm:^5.2.2": version: 5.2.2 resolution: "js-yaml@npm:5.2.2" @@ -13537,15 +13606,6 @@ __metadata: languageName: node linkType: hard -"react-hook-form@npm:^7.43.5": - version: 7.65.0 - resolution: "react-hook-form@npm:7.65.0" - peerDependencies: - react: ^16.8.0 || ^17 || ^18 || ^19 - checksum: 10c0/119afeaf33510d1ed6c12109f03d22d9e88f9eb01b8e4fb3cd8f40d5fc113cbcfc6154789d1d143151de8119bd08ffc7214d504e0e550ea28a9051ed6a30ae28 - languageName: node - linkType: hard - "react-icons@npm:4.11.0": version: 4.11.0 resolution: "react-icons@npm:4.11.0" @@ -13583,6 +13643,13 @@ __metadata: languageName: node linkType: hard +"react-is@npm:^19.2.3": + version: 19.2.8 + resolution: "react-is@npm:19.2.8" + checksum: 10c0/ed5322c84efe035c8fc814b1614ff5ca7fb8c2872a7c045197daf99f9b1bd68f32a2c79ffcbcfcff2fc5d93924ff9f9447400898f5b1534e6302bb0736a257f0 + languageName: node + linkType: hard + "react-markdown@npm:^10.0.1": version: 10.1.0 resolution: "react-markdown@npm:10.1.0" @@ -13947,13 +14014,6 @@ __metadata: languageName: node linkType: hard -"reselect@npm:^4.1.8": - version: 4.1.8 - resolution: "reselect@npm:4.1.8" - checksum: 10c0/06a305a504affcbb67dd0561ddc8306b35796199c7e15b38934c80606938a021eadcf68cfd58e7bb5e17786601c37602a3362a4665c7bf0a96c1041ceee9d0b7 - languageName: node - linkType: hard - "reselect@npm:^5.1.1": version: 5.1.1 resolution: "reselect@npm:5.1.1" @@ -14808,6 +14868,13 @@ __metadata: languageName: node linkType: hard +"sprintf-js@npm:~1.0.2": + version: 1.0.3 + resolution: "sprintf-js@npm:1.0.3" + checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb + languageName: node + linkType: hard + "sshpk@npm:^1.18.0": version: 1.18.0 resolution: "sshpk@npm:1.18.0" @@ -15946,7 +16013,7 @@ __metadata: languageName: node linkType: hard -"use-sync-external-store@npm:^1.2.0, use-sync-external-store@npm:^1.2.2": +"use-sync-external-store@npm:^1.2.2": version: 1.5.0 resolution: "use-sync-external-store@npm:1.5.0" peerDependencies: @@ -15965,7 +16032,7 @@ __metadata: "@fontsource/roboto": "npm:^5.0.15" "@mui/icons-material": "npm:^6.0.2" "@mui/material": "npm:^6.1.5" - "@tanstack/react-query": "npm:^5.56.2" + "@tanstack/react-query": "npm:^5.90.16" "@types/react": "npm:^18.3.3" "@types/react-dom": "npm:^18.3.0" "@vitejs/plugin-react-swc": "npm:^3.5.0" From 8b4a39c607c83e31deca648e366f6a5c601b22de Mon Sep 17 00:00:00 2001 From: ignatiusm Date: Tue, 28 Jul 2026 18:31:28 +1200 Subject: [PATCH 15/17] Fix failing surveyEdit test --- application/admin-client/cypress/e2e/surveyEditor.cy.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/admin-client/cypress/e2e/surveyEditor.cy.js b/application/admin-client/cypress/e2e/surveyEditor.cy.js index 7c0577e8..d0d5e220 100644 --- a/application/admin-client/cypress/e2e/surveyEditor.cy.js +++ b/application/admin-client/cypress/e2e/surveyEditor.cy.js @@ -11,7 +11,7 @@ describe('Survey Editor', () => { it('Edit title and description', () => { cy.visit('/surveys') cy.get('[data-rowindex="0"]').contains('Current Draft').should('exist') - cy.get('[data-rowindex="0"] button').first().click() + cy.get('[data-rowindex="0"] [data-cy="edit-button"]').first().click() cy.contains('Survey Steps').should('exist') cy.wait(500) cy.get('[data-cy="step-title"]').type('123') From 45f44bf2759c9223878e6ddd9c2d60cede4117b4 Mon Sep 17 00:00:00 2001 From: ignatiusm Date: Tue, 28 Jul 2026 18:48:35 +1200 Subject: [PATCH 16/17] Update test hashes (due to sharp upgrade) --- application/common/testing/fixtures/logo_hashes.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/application/common/testing/fixtures/logo_hashes.json b/application/common/testing/fixtures/logo_hashes.json index 4fcd3c30..5389d966 100644 --- a/application/common/testing/fixtures/logo_hashes.json +++ b/application/common/testing/fixtures/logo_hashes.json @@ -1,6 +1,6 @@ { "validLogoOriginalHash": "096eb6d90cb757f8eb1a3d2fc4008e3e", - "validLogoResizedHash": "4ab30aee11b5fbb9f13377d5cf3c60df", + "validLogoResizedHash": "e0ee98ef4e1db2b2c9c1c3c45508fb81", "alternateLogoOriginalHash": "eebd7d8849ed162cc545bb8772cc5415", - "alternateLogoResizedHash": "2f4f174a4a9e8861a4dbb7f1e9b882cc" + "alternateLogoResizedHash": "f3072e31757200017156a17de7a282c6" } From 2475889cb21eeb16d47bdde404310152b9582d7e Mon Sep 17 00:00:00 2001 From: ignatiusm Date: Wed, 29 Jul 2026 10:44:55 +1200 Subject: [PATCH 17/17] Apply yarn patch for gray-matter --- .../gray-matter-npm-4.0.3-852ae4f34c.patch | 15 +++++++ package.json | 4 +- yarn.lock | 44 ++++++------------- 3 files changed, 31 insertions(+), 32 deletions(-) create mode 100644 .yarn/patches/gray-matter-npm-4.0.3-852ae4f34c.patch diff --git a/.yarn/patches/gray-matter-npm-4.0.3-852ae4f34c.patch b/.yarn/patches/gray-matter-npm-4.0.3-852ae4f34c.patch new file mode 100644 index 00000000..3bf28f4e --- /dev/null +++ b/.yarn/patches/gray-matter-npm-4.0.3-852ae4f34c.patch @@ -0,0 +1,15 @@ +diff --git a/lib/engines.js b/lib/engines.js +index 38f993db06cf364191ac635a6590c2d29303297d..bba7b012fb901eb37498cb953a34cfdc44098fd7 100644 +--- a/lib/engines.js ++++ b/lib/engines.js +@@ -13,8 +13,8 @@ const engines = exports = module.exports; + */ + + engines.yaml = { +- parse: yaml.safeLoad.bind(yaml), +- stringify: yaml.safeDump.bind(yaml) ++ parse: (yaml.load || yaml.safeLoad).bind(yaml), ++ stringify: (yaml.dump || yaml.safeDump).bind(yaml) + }; + + /** diff --git a/package.json b/package.json index 5b371190..72ca63db 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,6 @@ "follow-redirects@^1.0.0": "^1.16.0", "follow-redirects@^1.15.11": "^1.16.0", "glob@^10": "^10.5.0", - "gray-matter/js-yaml": "^3.14.1", "handlebars@^4.7.7": "^4.7.9", "@hapi/content": "^6.0.2", "@hapi/wreck": "^18.1.2", @@ -74,7 +73,8 @@ "tmp": "^0.2.7", "validator": "^13.15.22", "vite-node/vite": "^7.3.5", - "ws": "^8.21.0" + "ws": "^8.21.0", + "gray-matter@npm:^4.0.3": "patch:gray-matter@npm%3A4.0.3#~/.yarn/patches/gray-matter-npm-4.0.3-852ae4f34c.patch" }, "dependencies": { "@react-pdf/renderer": "^4.2.2", diff --git a/yarn.lock b/yarn.lock index 3b9fa28b..23b39835 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5981,15 +5981,6 @@ __metadata: languageName: node linkType: hard -"argparse@npm:^1.0.7": - version: 1.0.10 - resolution: "argparse@npm:1.0.10" - dependencies: - sprintf-js: "npm:~1.0.2" - checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de - languageName: node - linkType: hard - "argparse@npm:^2.0.1": version: 2.0.1 resolution: "argparse@npm:2.0.1" @@ -8332,7 +8323,7 @@ __metadata: languageName: node linkType: hard -"esprima@npm:^4.0.0, esprima@npm:~4.0.0": +"esprima@npm:~4.0.0": version: 4.0.1 resolution: "esprima@npm:4.0.1" bin: @@ -9410,7 +9401,7 @@ __metadata: languageName: node linkType: hard -"gray-matter@npm:^4.0.3": +"gray-matter@npm:4.0.3": version: 4.0.3 resolution: "gray-matter@npm:4.0.3" dependencies: @@ -9422,6 +9413,18 @@ __metadata: languageName: node linkType: hard +"gray-matter@patch:gray-matter@npm%3A4.0.3#~/.yarn/patches/gray-matter-npm-4.0.3-852ae4f34c.patch": + version: 4.0.3 + resolution: "gray-matter@patch:gray-matter@npm%3A4.0.3#~/.yarn/patches/gray-matter-npm-4.0.3-852ae4f34c.patch::version=4.0.3&hash=1d56d0" + dependencies: + js-yaml: "npm:^3.13.1" + kind-of: "npm:^6.0.2" + section-matter: "npm:^1.0.0" + strip-bom-string: "npm:^1.0.0" + checksum: 10c0/b1ea703fc3faa998cff26da02187b0aa5df80c6cf4e511c6f91bbf201656a3bf4c9b0b9da1d9d8f76e3782bc5a6b450b6cae78d1b642b9234ed3c8e740caec22 + languageName: node + linkType: hard + "handlebars@npm:^4.7.8, handlebars@npm:^4.7.9": version: 4.7.9 resolution: "handlebars@npm:4.7.9" @@ -10733,18 +10736,6 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^3.14.1": - version: 3.15.0 - resolution: "js-yaml@npm:3.15.0" - dependencies: - argparse: "npm:^1.0.7" - esprima: "npm:^4.0.0" - bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/ca966bd354ac5b1b7a4694ebdba46526796aa3a6a99529fa540af2abf85918bd155a50ccc0166b413130a00622999973754458ec01e7095bc902177bfdbd5b64 - languageName: node - linkType: hard - "js-yaml@npm:^5.2.2": version: 5.2.2 resolution: "js-yaml@npm:5.2.2" @@ -14868,13 +14859,6 @@ __metadata: languageName: node linkType: hard -"sprintf-js@npm:~1.0.2": - version: 1.0.3 - resolution: "sprintf-js@npm:1.0.3" - checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb - languageName: node - linkType: hard - "sshpk@npm:^1.18.0": version: 1.18.0 resolution: "sshpk@npm:1.18.0"