diff --git a/package.json b/package.json index 4274b2d..6bab3da 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,6 @@ "@hookform/resolvers": "^3.3.4", "@mantine/form": "^7.4.0", "@nicktomlin/codemirror-lang-yaml-lite": "^0.0.3", - "@prisma/migrate": "^5.7.1", "@radix-ui/react-checkbox": "^1.0.4", "@radix-ui/react-dialog": "^1.0.5", "@radix-ui/react-dropdown-menu": "^2.0.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fc3dc83..6e691dc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,9 +14,6 @@ dependencies: '@nicktomlin/codemirror-lang-yaml-lite': specifier: ^0.0.3 version: 0.0.3 - '@prisma/migrate': - specifier: ^5.7.1 - version: 5.7.1(@prisma/generator-helper@5.8.1)(@prisma/internals@5.8.1) '@radix-ui/react-checkbox': specifier: ^1.0.4 version: 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.46)(react-dom@18.2.0)(react@18.2.0) @@ -67,10 +64,10 @@ dependencies: version: 11.0.0-next-alpha.150 '@uiw/codemirror-extensions-langs': specifier: ^4.21.21 - version: 4.21.21(@codemirror/autocomplete@6.12.0)(@codemirror/language-data@6.3.1)(@codemirror/language@6.10.0)(@codemirror/legacy-modes@6.3.3)(@codemirror/state@6.4.0)(@codemirror/view@6.23.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/javascript@1.4.13)(@lezer/lr@1.3.14) + version: 4.21.21(@codemirror/autocomplete@6.12.0)(@codemirror/language-data@6.4.0)(@codemirror/language@6.10.1)(@codemirror/legacy-modes@6.3.3)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/javascript@1.4.13)(@lezer/lr@1.4.0) '@uiw/react-codemirror': specifier: ^4.21.21 - version: 4.21.21(@babel/runtime@7.23.8)(@codemirror/autocomplete@6.12.0)(@codemirror/language@6.10.0)(@codemirror/lint@6.4.2)(@codemirror/search@6.5.5)(@codemirror/state@6.4.0)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.23.0)(codemirror@6.0.1)(react-dom@18.2.0)(react@18.2.0) + version: 4.21.21(@babel/runtime@7.23.9)(@codemirror/autocomplete@6.12.0)(@codemirror/language@6.10.1)(@codemirror/lint@6.5.0)(@codemirror/search@6.5.6)(@codemirror/state@6.4.0)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.24.0)(codemirror@6.0.1)(react-dom@18.2.0)(react@18.2.0) argon2: specifier: ^0.31.2 version: 0.31.2 @@ -293,6 +290,13 @@ packages: regenerator-runtime: 0.14.1 dev: false + /@babel/runtime@7.23.9: + resolution: {integrity: sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.1 + dev: false + /@balena/dockerignore@1.0.2: resolution: {integrity: sha512-wMue2Sy4GAVTk6Ic4tJVcnfdau+gx2EnG7S+uAEe+TWJFqE4YoWN4/H8MSLj4eYJKxGg26lZwboEniNiNwZQ6Q==} dev: false @@ -321,7 +325,7 @@ packages: '@lezer/common': 1.2.0 dev: false - /@codemirror/autocomplete@6.11.1(@codemirror/language@6.10.0)(@codemirror/state@6.4.0)(@codemirror/view@6.23.0)(@lezer/common@1.2.1): + /@codemirror/autocomplete@6.11.1(@codemirror/language@6.10.0)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.0): resolution: {integrity: sha512-L5UInv8Ffd6BPw0P3EF7JLYAMeEbclY7+6Q11REt8vhih8RuLreKtPy/xk8wPxs4EQgYqzI7cdgpiYwWlbS/ow==} peerDependencies: '@codemirror/language': ^6.0.0 @@ -331,12 +335,12 @@ packages: dependencies: '@codemirror/language': 6.10.0 '@codemirror/state': 6.4.0 - '@codemirror/view': 6.23.0 - '@lezer/common': 1.2.1 + '@codemirror/view': 6.24.0 + '@lezer/common': 1.2.0 dev: false - /@codemirror/autocomplete@6.12.0(@codemirror/language@6.10.0)(@codemirror/state@6.4.0)(@codemirror/view@6.23.0)(@lezer/common@1.2.1): - resolution: {integrity: sha512-r4IjdYFthwbCQyvqnSlx0WBHRHi8nBvU+WjJxFUij81qsBfhNudf/XKKmmC2j3m0LaOYUQTf3qiEK1J8lO1sdg==} + /@codemirror/autocomplete@6.11.1(@codemirror/language@6.10.0)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.1): + resolution: {integrity: sha512-L5UInv8Ffd6BPw0P3EF7JLYAMeEbclY7+6Q11REt8vhih8RuLreKtPy/xk8wPxs4EQgYqzI7cdgpiYwWlbS/ow==} peerDependencies: '@codemirror/language': ^6.0.0 '@codemirror/state': ^6.0.0 @@ -345,7 +349,21 @@ packages: dependencies: '@codemirror/language': 6.10.0 '@codemirror/state': 6.4.0 - '@codemirror/view': 6.23.0 + '@codemirror/view': 6.24.0 + '@lezer/common': 1.2.1 + dev: false + + /@codemirror/autocomplete@6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.1): + resolution: {integrity: sha512-r4IjdYFthwbCQyvqnSlx0WBHRHi8nBvU+WjJxFUij81qsBfhNudf/XKKmmC2j3m0LaOYUQTf3qiEK1J8lO1sdg==} + peerDependencies: + '@codemirror/language': ^6.0.0 + '@codemirror/state': ^6.0.0 + '@codemirror/view': ^6.0.0 + '@lezer/common': ^1.0.0 + dependencies: + '@codemirror/language': 6.10.1 + '@codemirror/state': 6.4.0 + '@codemirror/view': 6.24.0 '@lezer/common': 1.2.1 dev: false @@ -388,6 +406,18 @@ packages: - '@codemirror/view' dev: false + /@codemirror/lang-css@6.2.1(@codemirror/view@6.24.0): + resolution: {integrity: sha512-/UNWDNV5Viwi/1lpr/dIXJNWiwDxpw13I4pTUAsNxZdg6E0mI2kTQb0P2iHczg1Tu+H4EBgJR+hYhKiHKko7qg==} + dependencies: + '@codemirror/autocomplete': 6.11.1(@codemirror/language@6.10.0)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.0) + '@codemirror/language': 6.10.0 + '@codemirror/state': 6.4.0 + '@lezer/common': 1.2.0 + '@lezer/css': 1.1.6 + transitivePeerDependencies: + - '@codemirror/view' + dev: false + /@codemirror/lang-html@6.4.7: resolution: {integrity: sha512-y9hWSSO41XlcL4uYwWyk0lEgTHcelWWfRuqmvcAmxfCs0HNWZdriWo/EU43S63SxEZpc1Hd50Itw7ktfQvfkUg==} dependencies: @@ -402,6 +432,20 @@ packages: '@lezer/html': 1.3.8 dev: false + /@codemirror/lang-html@6.4.8: + resolution: {integrity: sha512-tE2YK7wDlb9ZpAH6mpTPiYm6rhfdQKVDa5r9IwIFlwwgvVaKsCfuKKZoJGWsmMZIf3FQAuJ5CHMPLymOtg1hXw==} + dependencies: + '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.1) + '@codemirror/lang-css': 6.2.1(@codemirror/view@6.24.0) + '@codemirror/lang-javascript': 6.2.1 + '@codemirror/language': 6.10.1 + '@codemirror/state': 6.4.0 + '@codemirror/view': 6.24.0 + '@lezer/common': 1.2.1 + '@lezer/css': 1.1.7 + '@lezer/html': 1.3.8 + dev: false + /@codemirror/lang-java@6.0.1: resolution: {integrity: sha512-OOnmhH67h97jHzCuFaIEspbmsT98fNdhVhmA3zCxW0cn7l8rChDhZtwiwJ/JOKXgfm4J+ELxQihxaI7bj7mJRg==} dependencies: @@ -428,10 +472,10 @@ packages: '@lezer/json': 1.0.2 dev: false - /@codemirror/lang-less@6.0.2(@codemirror/view@6.23.0): + /@codemirror/lang-less@6.0.2(@codemirror/view@6.24.0): resolution: {integrity: sha512-EYdQTG22V+KUUk8Qq582g7FMnCZeEHsyuOJisHRft/mQ+ZSZ2w51NupvDUHiqtsOy7It5cHLPGfHQLpMh9bqpQ==} dependencies: - '@codemirror/lang-css': 6.2.1(@codemirror/view@6.23.0) + '@codemirror/lang-css': 6.2.1(@codemirror/view@6.24.0) '@codemirror/language': 6.10.0 '@lezer/common': 1.2.0 '@lezer/highlight': 1.2.0 @@ -459,6 +503,19 @@ packages: '@lezer/lr': 1.3.14 dev: false + /@codemirror/lang-liquid@6.2.1: + resolution: {integrity: sha512-J1Mratcm6JLNEiX+U2OlCDTysGuwbHD76XwuL5o5bo9soJtSbz2g6RU3vGHFyS5DC8rgVmFSzi7i6oBftm7tnA==} + dependencies: + '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.1) + '@codemirror/lang-html': 6.4.8 + '@codemirror/language': 6.10.1 + '@codemirror/state': 6.4.0 + '@codemirror/view': 6.24.0 + '@lezer/common': 1.2.1 + '@lezer/highlight': 1.2.0 + '@lezer/lr': 1.4.0 + dev: false + /@codemirror/lang-markdown@6.2.3: resolution: {integrity: sha512-wCewRLWpdefWi7uVkHIDiE8+45Fe4buvMDZkihqEom5uRUQrl76Zb13emjeK3W+8pcRgRfAmwelURBbxNEKCIg==} dependencies: @@ -474,11 +531,11 @@ packages: /@codemirror/lang-markdown@6.2.4: resolution: {integrity: sha512-UghkA1vSMs8bT7RSZM6vsIocigyah2bV00eRQuZy76401UmFZdsTsbQNBGdyxRQDOLeEvF5iFwap0BM8LKyd+g==} dependencies: - '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.0)(@codemirror/state@6.4.0)(@codemirror/view@6.23.0)(@lezer/common@1.2.1) - '@codemirror/lang-html': 6.4.7 - '@codemirror/language': 6.10.0 + '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.1) + '@codemirror/lang-html': 6.4.8 + '@codemirror/language': 6.10.1 '@codemirror/state': 6.4.0 - '@codemirror/view': 6.23.0 + '@codemirror/view': 6.24.0 '@lezer/common': 1.2.1 '@lezer/markdown': 1.2.0 dev: false @@ -493,10 +550,10 @@ packages: '@lezer/php': 1.0.2 dev: false - /@codemirror/lang-python@6.1.3(@codemirror/state@6.4.0)(@codemirror/view@6.23.0)(@lezer/common@1.2.1): + /@codemirror/lang-python@6.1.3(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.1): resolution: {integrity: sha512-S9w2Jl74hFlD5nqtUMIaXAq9t5WlM0acCkyuQWUUSvZclk1sV+UfnpFiZzuZSG+hfEaOmxKR5UxY/Uxswn7EhQ==} dependencies: - '@codemirror/autocomplete': 6.11.1(@codemirror/language@6.10.0)(@codemirror/state@6.4.0)(@codemirror/view@6.23.0)(@lezer/common@1.2.1) + '@codemirror/autocomplete': 6.11.1(@codemirror/language@6.10.0)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.1) '@codemirror/language': 6.10.0 '@lezer/python': 1.1.10 transitivePeerDependencies: @@ -505,6 +562,18 @@ packages: - '@lezer/common' dev: false + /@codemirror/lang-python@6.1.4(@codemirror/view@6.24.0): + resolution: {integrity: sha512-b6d1TDqrkCjFNvMO01SWldFiDoZ39yl3tDMC1Y5f8glA2eZpynPxJhwYVTlGFr0stizcJgrp6ojLEGH2myoZAw==} + dependencies: + '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.1) + '@codemirror/language': 6.10.1 + '@codemirror/state': 6.4.0 + '@lezer/common': 1.2.1 + '@lezer/python': 1.1.11 + transitivePeerDependencies: + - '@codemirror/view' + dev: false + /@codemirror/lang-rust@6.0.1: resolution: {integrity: sha512-344EMWFBzWArHWdZn/NcgkwMvZIWUR1GEBdwG8FEp++6o6vT6KL9V7vGs2ONsKxxFUPXKI0SPcWhyYyl2zPYxQ==} dependencies: @@ -512,10 +581,10 @@ packages: '@lezer/rust': 1.0.2 dev: false - /@codemirror/lang-sass@6.0.2(@codemirror/view@6.23.0): + /@codemirror/lang-sass@6.0.2(@codemirror/view@6.24.0): resolution: {integrity: sha512-l/bdzIABvnTo1nzdY6U+kPAC51czYQcOErfzQ9zSm9D8GmNPD0WTW8st/CJwBTPLO8jlrbyvlSEcN20dc4iL0Q==} dependencies: - '@codemirror/lang-css': 6.2.1(@codemirror/view@6.23.0) + '@codemirror/lang-css': 6.2.1(@codemirror/view@6.24.0) '@codemirror/language': 6.10.0 '@codemirror/state': 6.4.0 '@lezer/common': 1.2.0 @@ -524,10 +593,10 @@ packages: - '@codemirror/view' dev: false - /@codemirror/lang-sql@6.5.5(@codemirror/view@6.23.0): + /@codemirror/lang-sql@6.5.5(@codemirror/view@6.24.0): resolution: {integrity: sha512-DvOaP2RXLb2xlxJxxydTFfwyYw5YDqEFea6aAfgh9UH0kUD6J1KFZ0xPgPpw1eo/5s2w3L6uh5PVR7GM23GxkQ==} dependencies: - '@codemirror/autocomplete': 6.11.1(@codemirror/language@6.10.0)(@codemirror/state@6.4.0)(@codemirror/view@6.23.0)(@lezer/common@1.2.0) + '@codemirror/autocomplete': 6.11.1(@codemirror/language@6.10.0)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.0) '@codemirror/language': 6.10.0 '@codemirror/state': 6.4.0 '@lezer/common': 1.2.0 @@ -557,10 +626,10 @@ packages: '@lezer/lr': 1.3.14 dev: false - /@codemirror/lang-xml@6.0.2(@codemirror/view@6.23.0): + /@codemirror/lang-xml@6.0.2(@codemirror/view@6.24.0): resolution: {integrity: sha512-JQYZjHL2LAfpiZI2/qZ/qzDuSqmGKMwyApYmEUUCTxLM4MWS7sATUEfIguZQr9Zjx/7gcdnewb039smF6nC2zw==} dependencies: - '@codemirror/autocomplete': 6.11.1(@codemirror/language@6.10.0)(@codemirror/state@6.4.0)(@codemirror/view@6.23.0)(@lezer/common@1.2.0) + '@codemirror/autocomplete': 6.11.1(@codemirror/language@6.10.0)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.0) '@codemirror/language': 6.10.0 '@codemirror/state': 6.4.0 '@lezer/common': 1.2.0 @@ -569,32 +638,44 @@ packages: - '@codemirror/view' dev: false - /@codemirror/language-data@6.3.1(@codemirror/state@6.4.0)(@codemirror/view@6.23.0)(@lezer/common@1.2.1): - resolution: {integrity: sha512-p6jhJmvhGe1TG1EGNhwH7nFWWFSTJ8NDKnB2fVx5g3t+PpO0+63R7GJNxjS0TmmH3cdMxZbzejsik+rlEh1EyQ==} + /@codemirror/lang-yaml@6.0.0(@codemirror/view@6.24.0): + resolution: {integrity: sha512-fVPapdX1oYr5HMC5bou1MHscGnNCvOHuhUW6C+V2gfIeIRcughvVfznV0OuUyHy0AdXoBCjOehjzFcmLRumu2Q==} + dependencies: + '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.1) + '@codemirror/language': 6.10.1 + '@codemirror/state': 6.4.0 + '@lezer/common': 1.2.1 + '@lezer/yaml': 1.0.2 + transitivePeerDependencies: + - '@codemirror/view' + dev: false + + /@codemirror/language-data@6.4.0(@codemirror/view@6.24.0): + resolution: {integrity: sha512-Wvup3FunHdkL782SUaA35e/cBKa/KEHKxRsrZtvcqTWDgULhrq5K44SnC5r4xYhBLuuxk9NLCAJU3desf+/2qQ==} dependencies: '@codemirror/lang-angular': 0.1.3 '@codemirror/lang-cpp': 6.0.2 - '@codemirror/lang-css': 6.2.1(@codemirror/view@6.23.0) - '@codemirror/lang-html': 6.4.7 + '@codemirror/lang-css': 6.2.1(@codemirror/view@6.24.0) + '@codemirror/lang-html': 6.4.8 '@codemirror/lang-java': 6.0.1 '@codemirror/lang-javascript': 6.2.1 '@codemirror/lang-json': 6.0.1 - '@codemirror/lang-less': 6.0.2(@codemirror/view@6.23.0) + '@codemirror/lang-less': 6.0.2(@codemirror/view@6.24.0) + '@codemirror/lang-liquid': 6.2.1 '@codemirror/lang-markdown': 6.2.4 '@codemirror/lang-php': 6.0.1 - '@codemirror/lang-python': 6.1.3(@codemirror/state@6.4.0)(@codemirror/view@6.23.0)(@lezer/common@1.2.1) + '@codemirror/lang-python': 6.1.4(@codemirror/view@6.24.0) '@codemirror/lang-rust': 6.0.1 - '@codemirror/lang-sass': 6.0.2(@codemirror/view@6.23.0) - '@codemirror/lang-sql': 6.5.5(@codemirror/view@6.23.0) + '@codemirror/lang-sass': 6.0.2(@codemirror/view@6.24.0) + '@codemirror/lang-sql': 6.5.5(@codemirror/view@6.24.0) '@codemirror/lang-vue': 0.1.3 '@codemirror/lang-wast': 6.0.2 - '@codemirror/lang-xml': 6.0.2(@codemirror/view@6.23.0) - '@codemirror/language': 6.10.0 + '@codemirror/lang-xml': 6.0.2(@codemirror/view@6.24.0) + '@codemirror/lang-yaml': 6.0.0(@codemirror/view@6.24.0) + '@codemirror/language': 6.10.1 '@codemirror/legacy-modes': 6.3.3 transitivePeerDependencies: - - '@codemirror/state' - '@codemirror/view' - - '@lezer/common' dev: false /@codemirror/language@6.10.0: @@ -608,10 +689,21 @@ packages: style-mod: 4.1.0 dev: false + /@codemirror/language@6.10.1: + resolution: {integrity: sha512-5GrXzrhq6k+gL5fjkAwt90nYDmjlzTIJV8THnxNFtNKWotMIlzzN+CpqxqwXOECnUdOndmSeWntVrVcv5axWRQ==} + dependencies: + '@codemirror/state': 6.4.0 + '@codemirror/view': 6.24.0 + '@lezer/common': 1.2.1 + '@lezer/highlight': 1.2.0 + '@lezer/lr': 1.4.0 + style-mod: 4.1.0 + dev: false + /@codemirror/legacy-modes@6.3.3: resolution: {integrity: sha512-X0Z48odJ0KIoh/HY8Ltz75/4tDYc9msQf1E/2trlxFaFFhgjpVHjZ/BCXe1Lk7s4Gd67LL/CeEEHNI+xHOiESg==} dependencies: - '@codemirror/language': 6.10.0 + '@codemirror/language': 6.10.1 dev: false /@codemirror/lint@6.4.2: @@ -622,11 +714,19 @@ packages: crelt: 1.0.6 dev: false - /@codemirror/search@6.5.5: - resolution: {integrity: sha512-PIEN3Ke1buPod2EHbJsoQwlbpkz30qGZKcnmH1eihq9+bPQx8gelauUwLYaY4vBOuBAuEhmpDLii4rj/uO0yMA==} + /@codemirror/lint@6.5.0: + resolution: {integrity: sha512-+5YyicIaaAZKU8K43IQi8TBy6mF6giGeWAH7N96Z5LC30Wm5JMjqxOYIE9mxwMG1NbhT2mA3l9hA4uuKUM3E5g==} dependencies: '@codemirror/state': 6.4.0 - '@codemirror/view': 6.23.0 + '@codemirror/view': 6.24.0 + crelt: 1.0.6 + dev: false + + /@codemirror/search@6.5.6: + resolution: {integrity: sha512-rpMgcsh7o0GuCDUXKPvww+muLA1pDJaFrpq/CCHtpQJYz8xopu4D1hPcKRoDD0YlF8gZaqTNIRa4VRBWyhyy7Q==} + dependencies: + '@codemirror/state': 6.4.0 + '@codemirror/view': 6.24.0 crelt: 1.0.6 dev: false @@ -637,9 +737,9 @@ packages: /@codemirror/theme-one-dark@6.1.2: resolution: {integrity: sha512-F+sH0X16j/qFLMAfbciKTxVOwkdAS336b7AXTKOZhy8BR3eH/RelsnLgLFINrpST63mmN2OuwUt0W2ndUgYwUA==} dependencies: - '@codemirror/language': 6.10.0 + '@codemirror/language': 6.10.1 '@codemirror/state': 6.4.0 - '@codemirror/view': 6.23.0 + '@codemirror/view': 6.24.0 '@lezer/highlight': 1.2.0 dev: false @@ -651,6 +751,14 @@ packages: w3c-keyname: 2.2.8 dev: false + /@codemirror/view@6.24.0: + resolution: {integrity: sha512-zK6m5pNkdhdJl8idPP1gA4N8JKTiSsOz8U/Iw+C1ChMwyLG7+MLiNXnH/wFuAk6KeGEe33/adOiAh5jMqee03w==} + dependencies: + '@codemirror/state': 6.4.0 + style-mod: 4.1.0 + w3c-keyname: 2.2.8 + dev: false + /@colors/colors@1.6.0: resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} engines: {node: '>=0.1.90'} @@ -1265,6 +1373,14 @@ packages: '@lezer/lr': 1.3.14 dev: false + /@lezer/css@1.1.7: + resolution: {integrity: sha512-7BlFFAKNn/b39jJLrhdLSX5A2k56GIJvyLqdmm7UU+7XvequY084iuKDMAEhAmAzHnwDE8FK4OQtsIUssW91tg==} + dependencies: + '@lezer/common': 1.2.1 + '@lezer/highlight': 1.2.0 + '@lezer/lr': 1.4.0 + dev: false + /@lezer/highlight@1.1.6: resolution: {integrity: sha512-cmSJYa2us+r3SePpRCjN5ymCqCPv+zyXmDl0ciWtVaNiORT/MxM7ZgOMQZADD0o51qOaOg24qc/zBViOIwAjJg==} dependencies: @@ -1305,7 +1421,7 @@ packages: dependencies: '@lezer/common': 1.2.1 '@lezer/highlight': 1.2.0 - '@lezer/lr': 1.3.14 + '@lezer/lr': 1.4.0 dev: false /@lezer/json@1.0.2: @@ -1335,6 +1451,12 @@ packages: '@lezer/common': 1.2.0 dev: false + /@lezer/lr@1.4.0: + resolution: {integrity: sha512-Wst46p51km8gH0ZUmeNrtpRYmdlRHUpN1DQd3GFAyKANi8WVz8c2jHYTf1CVScFaCjQw1iO3ZZdqGDxQPRErTg==} + dependencies: + '@lezer/common': 1.2.1 + dev: false + /@lezer/markdown@1.2.0: resolution: {integrity: sha512-d7MwsfAukZJo1GpPrcPGa3MxaFFOqNp0gbqF+3F7pTeNDOgeJN1muXzx1XXDPt+Ac+/voCzsH7qXqnn+xReG/g==} dependencies: @@ -1358,6 +1480,14 @@ packages: '@lezer/lr': 1.3.14 dev: false + /@lezer/python@1.1.11: + resolution: {integrity: sha512-C3QeLCcdAKJDUOsYjfFP6a1wdn8jhUNX200bgFm8TpKH1eM2PlgYQS5ugw6E38qGeEx7CP21I1Q52SoybXt0OQ==} + dependencies: + '@lezer/common': 1.2.1 + '@lezer/highlight': 1.2.0 + '@lezer/lr': 1.4.0 + dev: false + /@lezer/rust@1.0.2: resolution: {integrity: sha512-Lz5sIPBdF2FUXcWeCu1//ojFAZqzTQNRga0aYv6dYXqJqPfMdCAI0NzajWUd4Xijj1IKJLtjoXRPMvTKWBcqKg==} dependencies: @@ -1382,6 +1512,14 @@ packages: '@lezer/lr': 1.3.14 dev: false + /@lezer/yaml@1.0.2: + resolution: {integrity: sha512-XCkwuxe+eumJ28nA9e1S6XKsXz9W7V/AG+WBiWOtiIuUpKcZ/bHuvN8bLxSDREIcybSRpEd/jvphh4vgm6Ed2g==} + dependencies: + '@lezer/common': 1.2.1 + '@lezer/highlight': 1.2.0 + '@lezer/lr': 1.4.0 + dev: false + /@mantine/form@7.4.0(react@18.2.0): resolution: {integrity: sha512-JI/o2nECWct/Kvn3GF6VplHyJeaLy0q/jGNEB/F4yt12mAYBsux6vPfAhpWrKKZ8Jt31RI+ikn6R4UcY1HGIAw==} peerDependencies: @@ -1565,89 +1703,6 @@ packages: requiresBuild: true optional: true - /@prisma/debug@5.7.1: - resolution: {integrity: sha512-yrVSO/YZOxdeIxcBtZ5BaNqUfPrZkNsAKQIQg36cJKMxj/VYK3Vk5jMKkI+gQLl0KReo1YvX8GWKfV788SELjw==} - dev: false - - /@prisma/debug@5.8.1: - resolution: {integrity: sha512-tjuw7eA0Us3T42jx9AmAgL58rzwzpFGYc3R7Y4Ip75EBYrKMBA1YihuWMcBC92ILmjlQ/u3p8VxcIE0hr+fZfg==} - dev: false - - /@prisma/engines-version@5.7.1-1.0ca5ccbcfa6bdc81c003cf549abe4269f59c41e5: - resolution: {integrity: sha512-dIR5IQK/ZxEoWRBDOHF87r1Jy+m2ih3Joi4vzJRP+FOj5yxCwS2pS5SBR3TWoVnEK1zxtLI/3N7BjHyGF84fgw==} - dev: false - - /@prisma/engines-version@5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2: - resolution: {integrity: sha512-f5C3JM3l9yhGr3cr4FMqWloFaSCpNpMi58Om22rjD2DOz3owci2mFdFXMgnAGazFPKrCbbEhcxdsRfspEYRoFQ==} - dev: false - - /@prisma/engines@5.8.1: - resolution: {integrity: sha512-TJgYLRrZr56uhqcXO4GmP5be+zjCIHtLDK20Cnfg+o9d905hsN065QOL+3Z0zQAy6YD31Ol4u2kzSfRmbJv/uA==} - requiresBuild: true - dependencies: - '@prisma/debug': 5.8.1 - '@prisma/engines-version': 5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2 - '@prisma/fetch-engine': 5.8.1 - '@prisma/get-platform': 5.8.1 - dev: false - - /@prisma/fetch-engine@5.8.1: - resolution: {integrity: sha512-+bgjjoSFa6uYEbAPlklfoVSStOEfcpheOjoBoNsNNSQdSzcwE2nM4Q0prun0+P8/0sCHo18JZ9xqa8gObvgOUw==} - dependencies: - '@prisma/debug': 5.8.1 - '@prisma/engines-version': 5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2 - '@prisma/get-platform': 5.8.1 - dev: false - - /@prisma/generator-helper@5.8.1: - resolution: {integrity: sha512-2EDd0o+GHfbX1dtw5BnfOz3hQB7AtYrwe4YNiKfo2UDBvB/ne/ChZa3b/vBm/GKpjW2Xaymct8D9oIHev3juzQ==} - dependencies: - '@prisma/debug': 5.8.1 - dev: false - - /@prisma/get-platform@5.7.1: - resolution: {integrity: sha512-eDlswr3a1m5z9D/55Iyt/nZqS5UpD+DZ9MooBB3hvrcPhDQrcf9m4Tl7buy4mvAtrubQ626ECtb8c6L/f7rGSQ==} - dependencies: - '@prisma/debug': 5.7.1 - dev: false - - /@prisma/get-platform@5.8.1: - resolution: {integrity: sha512-wnA+6HTFcY+tkykMokix9GiAkaauPC5W/gg0O5JB0J8tCTNWrqpnQ7AsaGRfkYUbeOIioh6woDjQrGTTRf1Zag==} - dependencies: - '@prisma/debug': 5.8.1 - dev: false - - /@prisma/internals@5.8.1: - resolution: {integrity: sha512-9okoCgLeMqql58IbEG3YmzgNLRUQdN+qZUYp2DojWC7VAmL9TSOKQ5Dcc0588cKAsCBBDUQ2jfdflorYkzeFKw==} - dependencies: - '@prisma/debug': 5.8.1 - '@prisma/engines': 5.8.1 - '@prisma/fetch-engine': 5.8.1 - '@prisma/generator-helper': 5.8.1 - '@prisma/get-platform': 5.8.1 - '@prisma/prisma-schema-wasm': 5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2 - arg: 5.0.2 - prompts: 2.4.2 - dev: false - - /@prisma/migrate@5.7.1(@prisma/generator-helper@5.8.1)(@prisma/internals@5.8.1): - resolution: {integrity: sha512-wcb+HaWs+KSbjDUw09UXNfExMspzVhVz5Tg+bU2VdskModaueOfHeckfGIuIYlMWSveweV4Evv0NsMmZSrhp0w==} - peerDependencies: - '@prisma/generator-helper': '*' - '@prisma/internals': '*' - dependencies: - '@prisma/debug': 5.7.1 - '@prisma/engines-version': 5.7.1-1.0ca5ccbcfa6bdc81c003cf549abe4269f59c41e5 - '@prisma/generator-helper': 5.8.1 - '@prisma/get-platform': 5.7.1 - '@prisma/internals': 5.8.1 - prompts: 2.4.2 - dev: false - - /@prisma/prisma-schema-wasm@5.8.1-1.78caf6feeaed953168c64e15a249c3e9a033ebe2: - resolution: {integrity: sha512-UAJANliORe2V/s7yDMx5EKOCj2PIbwX7yusKckxMBDb+ozaQF31c3CBwnZW/ZEdhBoZjrKw8bQlqwZudWXmiKA==} - dev: false - /@radix-ui/number@1.0.1: resolution: {integrity: sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==} dependencies: @@ -2364,7 +2419,7 @@ packages: '@babel/runtime': 7.23.8 dev: false - /@replit/codemirror-lang-csharp@6.2.0(@codemirror/autocomplete@6.12.0)(@codemirror/language@6.10.0)(@codemirror/state@6.4.0)(@codemirror/view@6.23.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/lr@1.3.14): + /@replit/codemirror-lang-csharp@6.2.0(@codemirror/autocomplete@6.12.0)(@codemirror/language@6.10.1)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/lr@1.4.0): resolution: {integrity: sha512-6utbaWkoymhoAXj051mkRp+VIJlpwUgCX9Toevz3YatiZsz512fw3OVCedXQx+WcR0wb6zVHjChnuxqfCLtFVQ==} peerDependencies: '@codemirror/autocomplete': ^6.0.0 @@ -2375,16 +2430,16 @@ packages: '@lezer/highlight': ^1.0.0 '@lezer/lr': ^1.0.0 dependencies: - '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.0)(@codemirror/state@6.4.0)(@codemirror/view@6.23.0)(@lezer/common@1.2.1) - '@codemirror/language': 6.10.0 + '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.1) + '@codemirror/language': 6.10.1 '@codemirror/state': 6.4.0 - '@codemirror/view': 6.23.0 + '@codemirror/view': 6.24.0 '@lezer/common': 1.2.1 '@lezer/highlight': 1.2.0 - '@lezer/lr': 1.3.14 + '@lezer/lr': 1.4.0 dev: false - /@replit/codemirror-lang-nix@6.0.1(@codemirror/autocomplete@6.12.0)(@codemirror/language@6.10.0)(@codemirror/state@6.4.0)(@codemirror/view@6.23.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/lr@1.3.14): + /@replit/codemirror-lang-nix@6.0.1(@codemirror/autocomplete@6.12.0)(@codemirror/language@6.10.1)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/lr@1.4.0): resolution: {integrity: sha512-lvzjoYn9nfJzBD5qdm3Ut6G3+Or2wEacYIDJ49h9+19WSChVnxv4ojf+rNmQ78ncuxIt/bfbMvDLMeMP0xze6g==} peerDependencies: '@codemirror/autocomplete': ^6.0.0 @@ -2395,24 +2450,24 @@ packages: '@lezer/highlight': ^1.0.0 '@lezer/lr': ^1.0.0 dependencies: - '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.0)(@codemirror/state@6.4.0)(@codemirror/view@6.23.0)(@lezer/common@1.2.1) - '@codemirror/language': 6.10.0 + '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.1) + '@codemirror/language': 6.10.1 '@codemirror/state': 6.4.0 - '@codemirror/view': 6.23.0 + '@codemirror/view': 6.24.0 '@lezer/common': 1.2.1 '@lezer/highlight': 1.2.0 - '@lezer/lr': 1.3.14 + '@lezer/lr': 1.4.0 dev: false - /@replit/codemirror-lang-solidity@6.0.1(@codemirror/language@6.10.0): + /@replit/codemirror-lang-solidity@6.0.1(@codemirror/language@6.10.1): resolution: {integrity: sha512-kDnak0xZelGmvzJwKTpMTl6gYSfFq9hnxrkbLaMV0CARq/MFvDQJmcmYon/k8uZqXy6DfzewKDV8tx9kY2WUZg==} peerDependencies: '@codemirror/language': ^6.0.0 dependencies: - '@codemirror/language': 6.10.0 + '@codemirror/language': 6.10.1 dev: false - /@replit/codemirror-lang-svelte@6.0.0(@codemirror/autocomplete@6.12.0)(@codemirror/lang-css@6.2.1)(@codemirror/lang-html@6.4.7)(@codemirror/lang-javascript@6.2.1)(@codemirror/language@6.10.0)(@codemirror/state@6.4.0)(@codemirror/view@6.23.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/javascript@1.4.13)(@lezer/lr@1.3.14): + /@replit/codemirror-lang-svelte@6.0.0(@codemirror/autocomplete@6.12.0)(@codemirror/lang-css@6.2.1)(@codemirror/lang-html@6.4.7)(@codemirror/lang-javascript@6.2.1)(@codemirror/language@6.10.1)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/javascript@1.4.13)(@lezer/lr@1.4.0): resolution: {integrity: sha512-U2OqqgMM6jKelL0GNWbAmqlu1S078zZNoBqlJBW+retTc5M4Mha6/Y2cf4SVg6ddgloJvmcSpt4hHrVoM4ePRA==} peerDependencies: '@codemirror/autocomplete': ^6.0.0 @@ -2427,17 +2482,17 @@ packages: '@lezer/javascript': ^1.2.0 '@lezer/lr': ^1.0.0 dependencies: - '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.0)(@codemirror/state@6.4.0)(@codemirror/view@6.23.0)(@lezer/common@1.2.1) - '@codemirror/lang-css': 6.2.1(@codemirror/view@6.23.0) + '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.1) + '@codemirror/lang-css': 6.2.1(@codemirror/view@6.24.0) '@codemirror/lang-html': 6.4.7 '@codemirror/lang-javascript': 6.2.1 - '@codemirror/language': 6.10.0 + '@codemirror/language': 6.10.1 '@codemirror/state': 6.4.0 - '@codemirror/view': 6.23.0 + '@codemirror/view': 6.24.0 '@lezer/common': 1.2.1 '@lezer/highlight': 1.2.0 '@lezer/javascript': 1.4.13 - '@lezer/lr': 1.3.14 + '@lezer/lr': 1.4.0 dev: false /@rollup/rollup-android-arm-eabi@4.9.2: @@ -3021,7 +3076,7 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@uiw/codemirror-extensions-basic-setup@4.21.21(@codemirror/autocomplete@6.12.0)(@codemirror/commands@6.3.3)(@codemirror/language@6.10.0)(@codemirror/lint@6.4.2)(@codemirror/search@6.5.5)(@codemirror/state@6.4.0)(@codemirror/view@6.23.0): + /@uiw/codemirror-extensions-basic-setup@4.21.21(@codemirror/autocomplete@6.12.0)(@codemirror/commands@6.3.3)(@codemirror/language@6.10.1)(@codemirror/lint@6.5.0)(@codemirror/search@6.5.6)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0): resolution: {integrity: sha512-+0i9dPrRSa8Mf0CvyrMvnAhajnqwsP3IMRRlaHDRgsSGL8igc4z7MhvUPn+7cWFAAqWzQRhMdMSWzo6/TEa3EA==} peerDependencies: '@codemirror/autocomplete': '>=6.0.0' @@ -3032,16 +3087,16 @@ packages: '@codemirror/state': '>=6.0.0' '@codemirror/view': '>=6.0.0' dependencies: - '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.0)(@codemirror/state@6.4.0)(@codemirror/view@6.23.0)(@lezer/common@1.2.1) + '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.1) '@codemirror/commands': 6.3.3 - '@codemirror/language': 6.10.0 - '@codemirror/lint': 6.4.2 - '@codemirror/search': 6.5.5 + '@codemirror/language': 6.10.1 + '@codemirror/lint': 6.5.0 + '@codemirror/search': 6.5.6 '@codemirror/state': 6.4.0 - '@codemirror/view': 6.23.0 + '@codemirror/view': 6.24.0 dev: false - /@uiw/codemirror-extensions-langs@4.21.21(@codemirror/autocomplete@6.12.0)(@codemirror/language-data@6.3.1)(@codemirror/language@6.10.0)(@codemirror/legacy-modes@6.3.3)(@codemirror/state@6.4.0)(@codemirror/view@6.23.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/javascript@1.4.13)(@lezer/lr@1.3.14): + /@uiw/codemirror-extensions-langs@4.21.21(@codemirror/autocomplete@6.12.0)(@codemirror/language-data@6.4.0)(@codemirror/language@6.10.1)(@codemirror/legacy-modes@6.3.3)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/javascript@1.4.13)(@lezer/lr@1.4.0): resolution: {integrity: sha512-h08pw2NeGLDgBiY8Ju5GNjfVzq1f6+wc0uPdqN5tkYBaKmByyKI10l5Gds7wBPzFH0uZlevP+Jyf9oSTcula5Q==} peerDependencies: '@codemirror/language-data': '>=6.0.0' @@ -3049,30 +3104,30 @@ packages: dependencies: '@codemirror/lang-angular': 0.1.3 '@codemirror/lang-cpp': 6.0.2 - '@codemirror/lang-css': 6.2.1(@codemirror/view@6.23.0) + '@codemirror/lang-css': 6.2.1(@codemirror/view@6.24.0) '@codemirror/lang-html': 6.4.7 '@codemirror/lang-java': 6.0.1 '@codemirror/lang-javascript': 6.2.1 '@codemirror/lang-json': 6.0.1 - '@codemirror/lang-less': 6.0.2(@codemirror/view@6.23.0) + '@codemirror/lang-less': 6.0.2(@codemirror/view@6.24.0) '@codemirror/lang-lezer': 6.0.1 '@codemirror/lang-liquid': 6.2.0 '@codemirror/lang-markdown': 6.2.3 '@codemirror/lang-php': 6.0.1 - '@codemirror/lang-python': 6.1.3(@codemirror/state@6.4.0)(@codemirror/view@6.23.0)(@lezer/common@1.2.1) + '@codemirror/lang-python': 6.1.3(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.1) '@codemirror/lang-rust': 6.0.1 - '@codemirror/lang-sass': 6.0.2(@codemirror/view@6.23.0) - '@codemirror/lang-sql': 6.5.5(@codemirror/view@6.23.0) + '@codemirror/lang-sass': 6.0.2(@codemirror/view@6.24.0) + '@codemirror/lang-sql': 6.5.5(@codemirror/view@6.24.0) '@codemirror/lang-vue': 0.1.3 '@codemirror/lang-wast': 6.0.2 - '@codemirror/lang-xml': 6.0.2(@codemirror/view@6.23.0) - '@codemirror/language-data': 6.3.1(@codemirror/state@6.4.0)(@codemirror/view@6.23.0)(@lezer/common@1.2.1) + '@codemirror/lang-xml': 6.0.2(@codemirror/view@6.24.0) + '@codemirror/language-data': 6.4.0(@codemirror/view@6.24.0) '@codemirror/legacy-modes': 6.3.3 '@nextjournal/lang-clojure': 1.0.0 - '@replit/codemirror-lang-csharp': 6.2.0(@codemirror/autocomplete@6.12.0)(@codemirror/language@6.10.0)(@codemirror/state@6.4.0)(@codemirror/view@6.23.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/lr@1.3.14) - '@replit/codemirror-lang-nix': 6.0.1(@codemirror/autocomplete@6.12.0)(@codemirror/language@6.10.0)(@codemirror/state@6.4.0)(@codemirror/view@6.23.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/lr@1.3.14) - '@replit/codemirror-lang-solidity': 6.0.1(@codemirror/language@6.10.0) - '@replit/codemirror-lang-svelte': 6.0.0(@codemirror/autocomplete@6.12.0)(@codemirror/lang-css@6.2.1)(@codemirror/lang-html@6.4.7)(@codemirror/lang-javascript@6.2.1)(@codemirror/language@6.10.0)(@codemirror/state@6.4.0)(@codemirror/view@6.23.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/javascript@1.4.13)(@lezer/lr@1.3.14) + '@replit/codemirror-lang-csharp': 6.2.0(@codemirror/autocomplete@6.12.0)(@codemirror/language@6.10.1)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/lr@1.4.0) + '@replit/codemirror-lang-nix': 6.0.1(@codemirror/autocomplete@6.12.0)(@codemirror/language@6.10.1)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/lr@1.4.0) + '@replit/codemirror-lang-solidity': 6.0.1(@codemirror/language@6.10.1) + '@replit/codemirror-lang-svelte': 6.0.0(@codemirror/autocomplete@6.12.0)(@codemirror/lang-css@6.2.1)(@codemirror/lang-html@6.4.7)(@codemirror/lang-javascript@6.2.1)(@codemirror/language@6.10.1)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/javascript@1.4.13)(@lezer/lr@1.4.0) codemirror-lang-mermaid: 0.5.0 transitivePeerDependencies: - '@codemirror/autocomplete' @@ -3085,7 +3140,7 @@ packages: - '@lezer/lr' dev: false - /@uiw/react-codemirror@4.21.21(@babel/runtime@7.23.8)(@codemirror/autocomplete@6.12.0)(@codemirror/language@6.10.0)(@codemirror/lint@6.4.2)(@codemirror/search@6.5.5)(@codemirror/state@6.4.0)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.23.0)(codemirror@6.0.1)(react-dom@18.2.0)(react@18.2.0): + /@uiw/react-codemirror@4.21.21(@babel/runtime@7.23.9)(@codemirror/autocomplete@6.12.0)(@codemirror/language@6.10.1)(@codemirror/lint@6.5.0)(@codemirror/search@6.5.6)(@codemirror/state@6.4.0)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.24.0)(codemirror@6.0.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-PaxBMarufMWoR0qc5zuvBSt76rJ9POm9qoOaJbqRmnNL2viaF+d+Paf2blPSlm1JSnqn7hlRjio+40nZJ9TKzw==} peerDependencies: '@babel/runtime': '>=7.11.0' @@ -3096,12 +3151,12 @@ packages: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.23.9 '@codemirror/commands': 6.3.3 '@codemirror/state': 6.4.0 '@codemirror/theme-one-dark': 6.1.2 - '@codemirror/view': 6.23.0 - '@uiw/codemirror-extensions-basic-setup': 4.21.21(@codemirror/autocomplete@6.12.0)(@codemirror/commands@6.3.3)(@codemirror/language@6.10.0)(@codemirror/lint@6.4.2)(@codemirror/search@6.5.5)(@codemirror/state@6.4.0)(@codemirror/view@6.23.0) + '@codemirror/view': 6.24.0 + '@uiw/codemirror-extensions-basic-setup': 4.21.21(@codemirror/autocomplete@6.12.0)(@codemirror/commands@6.3.3)(@codemirror/language@6.10.1)(@codemirror/lint@6.5.0)(@codemirror/search@6.5.6)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0) codemirror: 6.0.1(@lezer/common@1.2.1) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -3719,13 +3774,13 @@ packages: /codemirror@6.0.1(@lezer/common@1.2.1): resolution: {integrity: sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==} dependencies: - '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.0)(@codemirror/state@6.4.0)(@codemirror/view@6.23.0)(@lezer/common@1.2.1) + '@codemirror/autocomplete': 6.12.0(@codemirror/language@6.10.1)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.1) '@codemirror/commands': 6.3.3 - '@codemirror/language': 6.10.0 - '@codemirror/lint': 6.4.2 - '@codemirror/search': 6.5.5 + '@codemirror/language': 6.10.1 + '@codemirror/lint': 6.5.0 + '@codemirror/search': 6.5.6 '@codemirror/state': 6.4.0 - '@codemirror/view': 6.23.0 + '@codemirror/view': 6.24.0 transitivePeerDependencies: - '@lezer/common' dev: false @@ -5920,11 +5975,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - dev: false - /klona@2.0.6: resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} engines: {node: '>= 8'} @@ -6912,14 +6962,6 @@ packages: hasBin: true dev: true - /prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} - dependencies: - kleur: 3.0.3 - sisteransi: 1.0.5 - dev: false - /prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} dependencies: @@ -7447,6 +7489,7 @@ packages: /sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: true /slash@2.0.0: resolution: {integrity: sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==} diff --git a/src/app/(dashboard)/project/[projectId]/service/[serviceId]/domains/DomainsList.tsx b/src/app/(dashboard)/project/[projectId]/service/[serviceId]/domains/DomainsList.tsx index 5a39880..346e324 100644 --- a/src/app/(dashboard)/project/[projectId]/service/[serviceId]/domains/DomainsList.tsx +++ b/src/app/(dashboard)/project/[projectId]/service/[serviceId]/domains/DomainsList.tsx @@ -1,17 +1,15 @@ "use client"; -import { AnimatePresence, motion } from "framer-motion"; +import { zodResolver } from "@hookform/resolvers/zod"; +import { motion } from "framer-motion"; import { PlusIcon } from "lucide-react"; -import { useFieldArray } from "react-hook-form"; +import { useEffect } from "react"; +import { useFieldArray, useForm } from "react-hook-form"; import { uuidv7 } from "uuidv7"; import { z } from "zod"; import { Button } from "~/components/ui/button"; import { Form } from "~/components/ui/form"; -import { - FormSubmit, - FormUnsavedChangesIndicator, - useForm, -} from "~/hooks/forms"; +import { FormSubmit } from "~/hooks/forms"; import { api } from "~/trpc/react"; import { useService } from "../_hooks/service"; import DomainEntry from "./_components/DomainEntry"; @@ -19,7 +17,7 @@ import DomainEntry from "./_components/DomainEntry"; const formValidator = z.object({ domains: z.array( z.object({ - domainId: z.string(), + domainId: z.string().optional(), domain: z .string() .regex( @@ -34,14 +32,19 @@ const formValidator = z.object({ ), }); +export type DomainsListForm = z.infer; + export default function DomainsList() { const service = useService(); const updateDomain = api.projects.services.updateDomain.useMutation(); + const deleteDomain = api.projects.services.deleteDomain.useMutation(); - const form = useForm(formValidator, { + const form = useForm>({ defaultValues: { domains: [], }, + + resolver: zodResolver(formValidator), }); const domainsForm = useFieldArray({ @@ -49,10 +52,13 @@ export default function DomainsList() { name: "domains", }); - // useEffect(() => { - // console.log("setting domains", service.data?.domains ?? []); - // form.setValue("domains", service.data?.domains ?? []); - // }, [service.data?.domains]); + useEffect(() => { + console.log("setting domains", service.data?.domains ?? []); + form.setValue( + "domains", + service.data?.domains.map((d) => ({ ...d, domainId: d.id })) ?? [], + ); + }, [form, service.data?.domains]); console.log( "Rendering fields with ids: ", @@ -63,73 +69,96 @@ export default function DomainsList() {
{ - // await Promise.all( - // data.domains.map((domain) => { - // if (service.data === undefined) return; + await Promise.all([ + ...data.domains.map((domain) => { + if (service.data === undefined) return; - // return updateDomain.mutateAsync({ - // projectId: service.data.projectId, - // serviceId: service.data.id, - // domain: domain.domain, - // forceSSL: domain.forceSSL, - // https: domain.https, - // internalPort: domain.internalPort, - // }); - // }), - // ); + return updateDomain.mutateAsync({ + projectId: service.data.projectId, + serviceId: service.data.id, + domainId: domain.domainId, + domain: domain.domain, + forceSSL: domain.forceSSL, + https: domain.https, + internalPort: domain.internalPort, + }); + }), + + // domains that don't exist anymore + ...(service.data?.domains + .filter( + (d) => + !data.domains.some( + (existingDomain) => existingDomain.domainId === d.id, + ), + ) + .map((domainToDelete) => { + if (service.data === undefined) return; + + return deleteDomain.mutateAsync({ + domainId: domainToDelete.id, + serviceId: service.data.id, + projectId: service.data.projectId, + }); + }) ?? []), + ]); // refetch service await service.refetch(); })} className="flex flex-col gap-4" > -

Domains

+ {/* Animations break react-hook-form, no tracking issue yet. */} + {/* */} - - {domainsForm.fields.map((field, index) => ( - - ))} +

+ Domains +

- ( + + ))} + + + + + - - - - -
+ {/* */} + + {/*
*/}
); diff --git a/src/app/(dashboard)/project/[projectId]/service/[serviceId]/domains/_components/DomainEntry.tsx b/src/app/(dashboard)/project/[projectId]/service/[serviceId]/domains/_components/DomainEntry.tsx index ed61055..731868c 100644 --- a/src/app/(dashboard)/project/[projectId]/service/[serviceId]/domains/_components/DomainEntry.tsx +++ b/src/app/(dashboard)/project/[projectId]/service/[serviceId]/domains/_components/DomainEntry.tsx @@ -3,13 +3,15 @@ import { AnimatePresence, motion } from "framer-motion"; import { ArrowRight, CogIcon, TrashIcon } from "lucide-react"; import { forwardRef, useState } from "react"; -import { type UseFieldArrayReturn, type UseFormReturn } from "react-hook-form"; +import { useFormContext, type UseFieldArrayReturn } from "react-hook-form"; import { Button } from "~/components/ui/button"; import { Card } from "~/components/ui/card"; import { Switch } from "~/components/ui/switch"; import { SimpleFormField } from "~/hooks/forms"; +import { type DomainsListForm } from "../DomainsList"; type FieldData = { + id: string; // internal ID for react-form-hook domainId: string; domain: string; internalPort: number; @@ -20,47 +22,29 @@ type FieldData = { const DomainEntry = forwardRef< HTMLDivElement, { - form: UseFormReturn< - { - domains: FieldData[]; - }, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - any, - undefined - >; - - domains: UseFieldArrayReturn< - { - domains: FieldData[]; - }, - "domains", - "id" - >; - field: FieldData; index: number; + domains: UseFieldArrayReturn; } ->(({ form, domains, field, index }, ref) => { +>(({ field, index, domains }, ref) => { + const form = useFormContext(); const [isOpen, setIsOpen] = useState(false); return ( -

- Rendering {field.domainId ?? "undefined???"} at index {index} -

-