From 225c1548c0a24187bf0be867dd13f3d1ef00c3b2 Mon Sep 17 00:00:00 2001 From: Yves Choquette Date: Thu, 9 May 2024 12:58:51 -0400 Subject: [PATCH] Implementation of the new schema (revert properties) --- common/config/rush/pnpm-lock.yaml | 164 +++++++++--------- .../public/templates/config-sandbox.html | 4 +- .../abstract-geoview-layer-config.ts | 2 + .../raster-config/esri-dynamic-config.ts | 1 + .../vector-config/esri-feature-config.ts | 1 + .../types/classes/map-feature-config.ts | 3 + .../esri-dynamic-layer-entry-config.ts | 3 + .../esri-feature-layer-entry-config.ts | 3 + .../types/config-validation-schema.json | 2 +- 9 files changed, 98 insertions(+), 85 deletions(-) diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index a3b7d05604a..4ffde3ecbbd 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -136,22 +136,22 @@ importers: version: 5.0.0-beta.37(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) '@mui/icons-material': specifier: ^5.15.11 - version: 5.15.16(@mui/material@5.15.16)(@types/react@18.3.1)(react@18.3.1) + version: 5.15.17(@mui/material@5.15.17)(@types/react@18.3.1)(react@18.3.1) '@mui/lab': specifier: 5.0.0-alpha.168 - version: 5.0.0-alpha.168(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@5.15.16)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) + version: 5.0.0-alpha.168(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@5.15.17)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) '@mui/material': specifier: ^5.15.11 - version: 5.15.16(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) + version: 5.15.17(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) '@mui/styles': specifier: ^5.15.11 - version: 5.15.16(@types/react@18.3.1)(react@18.3.1) + version: 5.15.17(@types/react@18.3.1)(react@18.3.1) '@mui/system': specifier: ^5.15.11 version: 5.15.15(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.1)(react@18.3.1) '@mui/x-date-pickers': specifier: ^6.13.0 - version: 6.19.9(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@5.15.16)(@mui/system@5.15.15)(@types/react@18.3.1)(dayjs@1.11.11)(react-dom@18.3.1)(react@18.3.1) + version: 6.19.9(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@5.15.17)(@mui/system@5.15.15)(@types/react@18.3.1)(dayjs@1.11.11)(react-dom@18.3.1)(react@18.3.1) '@nieuwlandgeo/sldreader': specifier: ^0.3.1 version: 0.3.1(ol@9.1.0) @@ -205,7 +205,7 @@ importers: version: 7.4.7(react@18.3.1) material-react-table: specifier: ~2.12.1 - version: 2.12.1(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/icons-material@5.15.16)(@mui/material@5.15.16)(@mui/x-date-pickers@6.19.9)(react-dom@18.3.1)(react@18.3.1) + version: 2.12.1(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/icons-material@5.15.17)(@mui/material@5.15.17)(@mui/x-date-pickers@6.19.9)(react-dom@18.3.1)(react@18.3.1) ol: specifier: ^9.0.0 version: 9.1.0 @@ -244,7 +244,7 @@ importers: version: 1.10.3 yet-another-react-lightbox: specifier: ^3.11.3 - version: 3.17.5(react-dom@18.3.1)(react@18.3.1) + version: 3.18.0(react-dom@18.3.1)(react@18.3.1) zustand: specifier: ~4.4.1 version: 4.4.7(@types/react@18.3.1)(react@18.3.1) @@ -488,7 +488,7 @@ importers: dependencies: '@mui/material': specifier: ^5.15.11 - version: 5.15.16(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) + version: 5.15.17(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) geochart: specifier: Canadian-Geospatial-Platform/geochart#develop version: github.com/Canadian-Geospatial-Platform/geochart/a3f626faf274e58b2683f6ac9bcbe7387c27d89a(@types/react@18.3.1) @@ -643,7 +643,7 @@ importers: dependencies: '@mui/material': specifier: ^5.15.11 - version: 5.15.16(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) + version: 5.15.17(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) geoview-core: specifier: workspace:~0.1.0 version: link:../geoview-core @@ -2445,7 +2445,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 20.12.10 + '@types/node': 20.12.11 chalk: 4.1.2 jest-message-util: 27.5.1 jest-util: 27.5.1 @@ -2466,7 +2466,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.12.10 + '@types/node': 20.12.11 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.8.1 @@ -2503,7 +2503,7 @@ packages: dependencies: '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.12.10 + '@types/node': 20.12.11 jest-mock: 27.5.1 dev: true @@ -2513,7 +2513,7 @@ packages: dependencies: '@jest/types': 27.5.1 '@sinonjs/fake-timers': 8.1.0 - '@types/node': 20.12.10 + '@types/node': 20.12.11 jest-message-util: 27.5.1 jest-mock: 27.5.1 jest-util: 27.5.1 @@ -2542,7 +2542,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.12.10 + '@types/node': 20.12.11 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -2626,7 +2626,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.12.10 + '@types/node': 20.12.11 '@types/yargs': 16.0.9 chalk: 4.1.2 dev: true @@ -2772,12 +2772,12 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@mui/core-downloads-tracker@5.15.16: - resolution: {integrity: sha512-PTIbMJs5C/vYMfyJNW8ArOezh4eyHkg2pTeA7bBxh2kLP1Uzs0Nm+krXWbWGJPwTWjM8EhnDrr4aCF26+2oleg==} + /@mui/core-downloads-tracker@5.15.17: + resolution: {integrity: sha512-DVAejDQkjNnIac7MfP8sLzuo7fyrBPxNdXe+6bYqOqg1z2OPTlfFAejSNzWe7UenRMuFu9/AyFXj/X2vN2w6dA==} dev: false - /@mui/icons-material@5.15.16(@mui/material@5.15.16)(@types/react@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-s8vYbyACzTNZRKv+20fCfVXJwJqNcVotns2EKnu1wmAga6wv2LAo5kB1d5yqQqZlMFtp34EJvRXf7cy8X0tJVA==} + /@mui/icons-material@5.15.17(@mui/material@5.15.17)(@types/react@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-xVzl2De7IY36s/keHX45YMiCpsIx3mNv2xwDgtBkRSnZQtVk+Gqufwj1ktUxEyjzEhBl0+PiNJqYC31C+n1n6A==} engines: {node: '>=12.0.0'} peerDependencies: '@mui/material': ^5.0.0 @@ -2788,12 +2788,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.5 - '@mui/material': 5.15.16(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) + '@mui/material': 5.15.17(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) '@types/react': 18.3.1 react: 18.3.1 dev: false - /@mui/lab@5.0.0-alpha.168(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@5.15.16)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1): + /@mui/lab@5.0.0-alpha.168(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@5.15.17)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-VKLQP5J/SujylvW3/riMtQYTspTluUkKLW/eu48RwuKby583cFCg8p4fWl4PpC3drwq6g9AeJ7DG4w0K+zFbdA==} engines: {node: '>=12.0.0'} peerDependencies: @@ -2815,7 +2815,7 @@ packages: '@emotion/react': 11.11.4(@types/react@18.3.1)(react@18.3.1) '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(@types/react@18.3.1)(react@18.3.1) '@mui/base': 5.0.0-beta.39(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) - '@mui/material': 5.15.16(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) + '@mui/material': 5.15.17(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) '@mui/system': 5.15.15(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.1)(react@18.3.1) '@mui/types': 7.2.14(@types/react@18.3.1) '@mui/utils': 5.15.14(@types/react@18.3.1)(react@18.3.1) @@ -2826,8 +2826,8 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@mui/material@5.15.16(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-ery2hFReewko9gpDBqOr2VmXwQG9ifXofPhGzIx09/b9JqCQC/06kZXZDGGrOTpIddK9HlIf4yrS+G70jPAzUQ==} + /@mui/material@5.15.17(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-ru/MLvTkCh0AZXmqwIpqGTOoVBS/sX48zArXq/DvktxXZx4fskiRA2PEc7Rk5ZlFiZhKh4moL4an+l8zZwq49Q==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/react': ^11.5.0 @@ -2847,7 +2847,7 @@ packages: '@emotion/react': 11.11.4(@types/react@18.3.1)(react@18.3.1) '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(@types/react@18.3.1)(react@18.3.1) '@mui/base': 5.0.0-beta.40(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) - '@mui/core-downloads-tracker': 5.15.16 + '@mui/core-downloads-tracker': 5.15.17 '@mui/system': 5.15.15(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.1)(react@18.3.1) '@mui/types': 7.2.14(@types/react@18.3.1) '@mui/utils': 5.15.14(@types/react@18.3.1)(react@18.3.1) @@ -2901,8 +2901,8 @@ packages: react: 18.3.1 dev: false - /@mui/styles@5.15.16(@types/react@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-WDv0M69fdfG8yJ5bmR8K81u+a7N/akSyVswKUavz//09EGS2cjPtInJspskMQNpZl2ReC5x/YEmkL+i5/PnmtA==} + /@mui/styles@5.15.17(@types/react@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-PyZkFvUHDNcpCO+5Mr9t2g/De1JT7UAxjKgd5ojeoGmFiEhVQdZxbdHr6CZ1kBznqKU5nsWf1EmvI60iR3Nl+w==} engines: {node: '>=12.0.0'} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 @@ -2991,7 +2991,7 @@ packages: react-is: 18.3.1 dev: false - /@mui/x-date-pickers@6.19.9(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@5.15.16)(@mui/system@5.15.15)(@types/react@18.3.1)(dayjs@1.11.11)(react-dom@18.3.1)(react@18.3.1): + /@mui/x-date-pickers@6.19.9(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@5.15.17)(@mui/system@5.15.15)(@types/react@18.3.1)(dayjs@1.11.11)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-B2m4Fv/fOme5qmV6zuE3QnWQSvj3zKtI2OvikPz5prpiCcIxqpeytkQ7VfrWH3/Aqd5yhG1Yr4IgbqG0ymIXGg==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3032,7 +3032,7 @@ packages: '@emotion/react': 11.11.4(@types/react@18.3.1)(react@18.3.1) '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(@types/react@18.3.1)(react@18.3.1) '@mui/base': 5.0.0-beta.37(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) - '@mui/material': 5.15.16(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) + '@mui/material': 5.15.17(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) '@mui/system': 5.15.15(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.1)(react@18.3.1) '@mui/utils': 5.15.14(@types/react@18.3.1)(react@18.3.1) '@types/react-transition-group': 4.4.10 @@ -3236,26 +3236,26 @@ packages: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 - '@types/node': 20.12.10 + '@types/node': 20.12.11 dev: true /@types/bonjour@3.5.13: resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 dev: true /@types/connect-history-api-fallback@1.5.4: resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} dependencies: '@types/express-serve-static-core': 4.19.0 - '@types/node': 20.12.10 + '@types/node': 20.12.11 dev: true /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 dev: true /@types/create-react-class@15.6.8: @@ -3290,7 +3290,7 @@ packages: /@types/express-serve-static-core@4.19.0: resolution: {integrity: sha512-bGyep3JqPCRry1wq+O5n7oiBgGWmeIJXPjXXCo8EK0u8duZGSYar7cGqd3ML2JUsLGeB7fmc06KYo9fLGWqPvQ==} dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 '@types/qs': 6.9.15 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -3320,13 +3320,13 @@ packages: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.12.10 + '@types/node': 20.12.11 dev: true /@types/graceful-fs@4.1.9: resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 dev: true /@types/history@4.7.11: @@ -3344,7 +3344,7 @@ packages: /@types/http-proxy@1.17.14: resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 dev: true /@types/istanbul-lib-coverage@2.0.6: @@ -3399,11 +3399,11 @@ packages: /@types/node-forge@1.3.11: resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 dev: true - /@types/node@20.12.10: - resolution: {integrity: sha512-Eem5pH9pmWBHoGAT8Dr5fdc5rYA+4NAovdM4EktRPVAAiJhmWWfQrA0cFhAbOsQdSfIHjAud6YdkbL69+zSKjw==} + /@types/node@20.12.11: + resolution: {integrity: sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw==} dependencies: undici-types: 5.26.5 dev: true @@ -3482,7 +3482,7 @@ packages: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 - '@types/node': 20.12.10 + '@types/node': 20.12.11 dev: true /@types/serve-index@1.9.4: @@ -3495,14 +3495,14 @@ packages: resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} dependencies: '@types/http-errors': 2.0.4 - '@types/node': 20.12.10 + '@types/node': 20.12.11 '@types/send': 0.17.4 dev: true /@types/sockjs@0.3.36: resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 dev: true /@types/source-list-map@0.1.6: @@ -3513,7 +3513,7 @@ packages: resolution: {integrity: sha512-ep8b36RKHlgWPqjNG9ToUrPiwkhwh0AEzy883mO5Xnd+cL6VBH1EvSjBAAuxLUFF2Vn/moE3Me6v9E1Lo+48GQ==} dependencies: '@types/emscripten': 1.39.11 - '@types/node': 20.12.10 + '@types/node': 20.12.11 dev: true /@types/stack-utils@2.0.3: @@ -3533,7 +3533,7 @@ packages: /@types/webpack-sources@3.2.3: resolution: {integrity: sha512-4nZOdMwSPHZ4pTEZzSp0AsTM4K7Qmu40UKW4tJDiOVs20UzYF9l+qUe4s0ftfN0pin06n+5cWWDJXH+sbhAiDw==} dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 '@types/source-list-map': 0.1.6 source-map: 0.7.4 dev: true @@ -3541,7 +3541,7 @@ packages: /@types/webpack@4.41.38: resolution: {integrity: sha512-oOW7E931XJU1mVfCnxCVgv8GLFL768pDO5u2Gzk82i8yTIgX6i7cntyZOkZYb/JtYM8252SN9bQp9tgkVDSsRw==} dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 '@types/tapable': 1.0.12 '@types/uglify-js': 3.17.5 '@types/webpack-sources': 3.2.3 @@ -3552,7 +3552,7 @@ packages: /@types/ws@8.5.10: resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 dev: true /@types/yargs-parser@21.0.3: @@ -3587,7 +3587,7 @@ packages: graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 - semver: 7.6.1 + semver: 7.6.2 ts-api-utils: 1.3.0(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: @@ -3675,7 +3675,7 @@ packages: debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.6.1 + semver: 7.6.2 tsutils: 3.21.0(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: @@ -3697,7 +3697,7 @@ packages: globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.4 - semver: 7.6.1 + semver: 7.6.2 ts-api-utils: 1.3.0(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: @@ -3718,7 +3718,7 @@ packages: '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) eslint: 8.57.0 eslint-scope: 5.1.1 - semver: 7.6.1 + semver: 7.6.2 transitivePeerDependencies: - supports-color - typescript @@ -3737,7 +3737,7 @@ packages: '@typescript-eslint/types': 7.8.0 '@typescript-eslint/typescript-estree': 7.8.0(typescript@4.9.5) eslint: 8.57.0 - semver: 7.6.1 + semver: 7.6.2 transitivePeerDependencies: - supports-color - typescript @@ -4473,8 +4473,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001616 - electron-to-chromium: 1.4.758 + caniuse-lite: 1.0.30001617 + electron-to-chromium: 1.4.761 node-releases: 2.0.14 update-browserslist-db: 1.0.15(browserslist@4.23.0) dev: true @@ -4531,8 +4531,8 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite@1.0.30001616: - resolution: {integrity: sha512-RHVYKov7IcdNjVHJFNY/78RdG4oGVjbayxv8u5IO74Wv7Hlq4PnJE6mo/OjFijjVFNy5ijnCt6H3IIo4t+wfEw==} + /caniuse-lite@1.0.30001617: + resolution: {integrity: sha512-mLyjzNI9I+Pix8zwcrpxEbGlfqOkF9kM3ptzmKNw5tizSyYwMe+nGLTqMK9cO+0E+Bh6TsBxNAaHWEM8xwSsmA==} dev: true /chalk@2.4.2: @@ -4873,7 +4873,7 @@ packages: postcss-modules-scope: 3.2.0(postcss@8.4.38) postcss-modules-values: 4.0.0(postcss@8.4.38) postcss-value-parser: 4.2.0 - semver: 7.6.1 + semver: 7.6.2 webpack: 5.91.0(webpack-cli@4.10.0) dev: true @@ -5199,8 +5199,8 @@ packages: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: true - /electron-to-chromium@1.4.758: - resolution: {integrity: sha512-/o9x6TCdrYZBMdGeTifAP3wlF/gVT+TtWJe3BSmtNh92Mw81U9hrYwW9OAGUh+sEOX/yz5e34sksqRruZbjYrw==} + /electron-to-chromium@1.4.761: + resolution: {integrity: sha512-PIbxpiJGx6Bb8dQaonNc6CGTRlVntdLg/2nMa1YhnrwYOORY9a3ZgGN0UQYE6lAcj/lkyduJN7BPt/JiY+jAQQ==} dev: true /email-addresses@3.1.0: @@ -6983,7 +6983,7 @@ packages: '@jest/environment': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.12.10 + '@types/node': 20.12.11 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 @@ -7108,7 +7108,7 @@ packages: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.12.10 + '@types/node': 20.12.11 jest-mock: 27.5.1 jest-util: 27.5.1 jsdom: 16.7.0 @@ -7126,7 +7126,7 @@ packages: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.12.10 + '@types/node': 20.12.11 jest-mock: 27.5.1 jest-util: 27.5.1 dev: true @@ -7142,7 +7142,7 @@ packages: dependencies: '@jest/types': 27.5.1 '@types/graceful-fs': 4.1.9 - '@types/node': 20.12.10 + '@types/node': 20.12.11 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -7164,7 +7164,7 @@ packages: '@jest/source-map': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.12.10 + '@types/node': 20.12.11 chalk: 4.1.2 co: 4.6.0 expect: 27.5.1 @@ -7219,7 +7219,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 20.12.10 + '@types/node': 20.12.11 dev: true /jest-pnp-resolver@1.2.3(jest-resolve@27.5.1): @@ -7275,7 +7275,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.12.10 + '@types/node': 20.12.11 chalk: 4.1.2 emittery: 0.8.1 graceful-fs: 4.2.11 @@ -7332,7 +7332,7 @@ packages: resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 graceful-fs: 4.2.11 dev: true @@ -7361,7 +7361,7 @@ packages: jest-util: 27.5.1 natural-compare: 1.4.0 pretty-format: 27.5.1 - semver: 7.6.1 + semver: 7.6.2 transitivePeerDependencies: - supports-color dev: true @@ -7371,7 +7371,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: '@jest/types': 27.5.1 - '@types/node': 20.12.10 + '@types/node': 20.12.11 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -7396,7 +7396,7 @@ packages: dependencies: '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.12.10 + '@types/node': 20.12.11 ansi-escapes: 4.3.2 chalk: 4.1.2 jest-util: 27.5.1 @@ -7407,7 +7407,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -7781,7 +7781,7 @@ packages: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} dependencies: - semver: 7.6.1 + semver: 7.6.2 dev: true /makeerror@1.0.12: @@ -7818,7 +7818,7 @@ packages: hasBin: true dev: true - /material-react-table@2.12.1(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/icons-material@5.15.16)(@mui/material@5.15.16)(@mui/x-date-pickers@6.19.9)(react-dom@18.3.1)(react@18.3.1): + /material-react-table@2.12.1(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/icons-material@5.15.17)(@mui/material@5.15.17)(@mui/x-date-pickers@6.19.9)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-nqILE26I/6/UfiILEc7mnVhIoVdG78qvkav85dcbn5BbNXkAJeA57Slut50eYytd7aQHCbaq9MoLvsVeO1yaIw==} engines: {node: '>=16'} peerDependencies: @@ -7832,9 +7832,9 @@ packages: dependencies: '@emotion/react': 11.11.4(@types/react@18.3.1)(react@18.3.1) '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(@types/react@18.3.1)(react@18.3.1) - '@mui/icons-material': 5.15.16(@mui/material@5.15.16)(@types/react@18.3.1)(react@18.3.1) - '@mui/material': 5.15.16(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) - '@mui/x-date-pickers': 6.19.9(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@5.15.16)(@mui/system@5.15.15)(@types/react@18.3.1)(dayjs@1.11.11)(react-dom@18.3.1)(react@18.3.1) + '@mui/icons-material': 5.15.17(@mui/material@5.15.17)(@types/react@18.3.1)(react@18.3.1) + '@mui/material': 5.15.17(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) + '@mui/x-date-pickers': 6.19.9(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@5.15.17)(@mui/system@5.15.15)(@types/react@18.3.1)(dayjs@1.11.11)(react-dom@18.3.1)(react@18.3.1) '@tanstack/match-sorter-utils': 8.11.8 '@tanstack/react-table': 8.13.2(react-dom@18.3.1)(react@18.3.1) '@tanstack/react-virtual': 3.1.3(react-dom@18.3.1)(react@18.3.1) @@ -9046,8 +9046,8 @@ packages: hasBin: true dev: true - /semver@7.6.1: - resolution: {integrity: sha512-f/vbBsu+fOiYt+lmwZV0rVwJScl46HppnOA1ZvIuBWKOTlllpyJ3bfVax76/OrhCH38dyxoDIA8K7uB963IYgA==} + /semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} hasBin: true dev: true @@ -10337,8 +10337,8 @@ packages: yargs-parser: 20.2.9 dev: true - /yet-another-react-lightbox@3.17.5(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-bfJe4PO6VgRCclyHYZr3XPXC8Ku44im5aQCI6SWUoCCO4ELo6kpAQxpb24VYz3RLtkMRVVCyXRVnkfPDXSfXhw==} + /yet-another-react-lightbox@3.18.0(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-Zf3Stgp+gSAZe5Uy45OJDDxxXoE+fENZjJnAa7HD+yb/5xAhBQqqz8K7u4kAuj12lexEOASks2wHeYaZ+yUVnQ==} engines: {node: '>=14'} peerDependencies: react: '>=16.8.0' @@ -10384,8 +10384,8 @@ packages: dependencies: '@emotion/react': 11.11.4(@types/react@18.3.1)(react@18.3.1) '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(@types/react@18.3.1)(react@18.3.1) - '@mui/icons-material': 5.15.16(@mui/material@5.15.16)(@types/react@18.3.1)(react@18.3.1) - '@mui/material': 5.15.16(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) + '@mui/icons-material': 5.15.17(@mui/material@5.15.17)(@types/react@18.3.1)(react@18.3.1) + '@mui/material': 5.15.17(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) ajv: 8.13.0 ajv-formats: 2.1.1 chart.js: 4.4.2 diff --git a/packages/geoview-core/public/templates/config-sandbox.html b/packages/geoview-core/public/templates/config-sandbox.html index 94c4754f608..f67700394fc 100644 --- a/packages/geoview-core/public/templates/config-sandbox.html +++ b/packages/geoview-core/public/templates/config-sandbox.html @@ -133,7 +133,7 @@

Sandbox Configuration

'queryable': true } }, - 'attributtions': 'Ressources naturelles Canada, Secteur des terres et des minéraux, Commission Géologique du Canada, Service canadien d\'information sur les risques', + 'attributions': ['Ressources naturelles Canada, Secteur des terres et des minéraux, Commission Géologique du Canada, Service canadien d\'information sur les risques'], 'source': { 'layerFilter': '', 'maxRecordCount': 0, @@ -205,7 +205,7 @@

Sandbox Configuration

'en': 'Earthquakes 1990-2000', 'fr': ' Tremblements de terre 1990-2000' }, - 'attributtions': 'Ressources naturelles Canada, Secteur des terres et des minéraux, Commission Géologique du Canada, Service canadien d\'information sur les risques', + 'attributions': ['Ressources naturelles Canada, Secteur des terres et des minéraux, Commission Géologique du Canada, Service canadien d\'information sur les risques'], 'source': { 'layerFilter': '', 'maxRecordCount': 0, diff --git a/packages/geoview-core/src/api/config/types/classes/geoview-config/abstract-geoview-layer-config.ts b/packages/geoview-core/src/api/config/types/classes/geoview-config/abstract-geoview-layer-config.ts index 25f2ac8b584..27727a88600 100644 --- a/packages/geoview-core/src/api/config/types/classes/geoview-config/abstract-geoview-layer-config.ts +++ b/packages/geoview-core/src/api/config/types/classes/geoview-config/abstract-geoview-layer-config.ts @@ -1,3 +1,5 @@ +// Needs to disable class-methods-use-this because we need to pass the instance reference 'this' to the agregated sublayers. +// eslint-disable-next-line @typescript-eslint/class-methods-use-this import defaultsDeep from 'lodash/defaultsDeep'; import cloneDeep from 'lodash/cloneDeep'; diff --git a/packages/geoview-core/src/api/config/types/classes/geoview-config/raster-config/esri-dynamic-config.ts b/packages/geoview-core/src/api/config/types/classes/geoview-config/raster-config/esri-dynamic-config.ts index d17c6b5c92e..841d667423b 100644 --- a/packages/geoview-core/src/api/config/types/classes/geoview-config/raster-config/esri-dynamic-config.ts +++ b/packages/geoview-core/src/api/config/types/classes/geoview-config/raster-config/esri-dynamic-config.ts @@ -33,6 +33,7 @@ export class EsriDynamicLayerConfig extends AbstractGeoviewLayerConfig { constructor(layerConfig: TypeJsonObject, language: TypeDisplayLanguage, mapFeatureConfig?: MapFeatureConfig) { super(layerConfig, language, mapFeatureConfig); this.geoviewLayerType = CV_CONST_LAYER_TYPES.ESRI_DYNAMIC; + if (!isvalidComparedToSchema(this.geoviewLayerSchema, layerConfig)) this.propagateError(); if (!isvalidComparedToSchema(this.geoviewLayerSchema, this)) this.propagateError(); this.validate(); } diff --git a/packages/geoview-core/src/api/config/types/classes/geoview-config/vector-config/esri-feature-config.ts b/packages/geoview-core/src/api/config/types/classes/geoview-config/vector-config/esri-feature-config.ts index 002b43357b0..3a05b43101d 100644 --- a/packages/geoview-core/src/api/config/types/classes/geoview-config/vector-config/esri-feature-config.ts +++ b/packages/geoview-core/src/api/config/types/classes/geoview-config/vector-config/esri-feature-config.ts @@ -35,6 +35,7 @@ export class EsriFeatureLayerConfig extends AbstractGeoviewLayerConfig { constructor(layerConfig: TypeJsonObject, language: TypeDisplayLanguage, mapFeatureConfig?: MapFeatureConfig) { super(layerConfig, language, mapFeatureConfig); this.geoviewLayerType = CV_CONST_LAYER_TYPES.ESRI_FEATURE; + if (!isvalidComparedToSchema(this.geoviewLayerSchema, layerConfig)) this.propagateError(); if (!isvalidComparedToSchema(this.geoviewLayerSchema, this)) this.propagateError(); this.validate(); } diff --git a/packages/geoview-core/src/api/config/types/classes/map-feature-config.ts b/packages/geoview-core/src/api/config/types/classes/map-feature-config.ts index fbbe3a951bc..eca05625c57 100644 --- a/packages/geoview-core/src/api/config/types/classes/map-feature-config.ts +++ b/packages/geoview-core/src/api/config/types/classes/map-feature-config.ts @@ -1,3 +1,5 @@ +// Needs to disable class-methods-use-this because we need to pass the instance reference 'this' to the validator. +// eslint-disable-next-line @typescript-eslint/class-methods-use-this import cloneDeep from 'lodash/cloneDeep'; import defaultsDeep from 'lodash/defaultsDeep'; @@ -109,6 +111,7 @@ export class MapFeatureConfig { this.#originalgeoviewLayerConfig = cloneDeep(this.#getJsonMapFeatureConfig(providedMapFeatureConfig)); const clonedJsonConfig = this.#originalgeoviewLayerConfig; this.#language = language; + this.#errorDetected = this.#errorDetected || !isvalidComparedToSchema(CV_MAP_CONFIG_SCHEMA_PATH, clonedJsonConfig); // set map configuration const gvMap = clonedJsonConfig.map as TypeJsonObject; diff --git a/packages/geoview-core/src/api/config/types/classes/sub-layer-config/raster-leaf/esri-dynamic-layer-entry-config.ts b/packages/geoview-core/src/api/config/types/classes/sub-layer-config/raster-leaf/esri-dynamic-layer-entry-config.ts index 30f010605e3..945b328d542 100644 --- a/packages/geoview-core/src/api/config/types/classes/sub-layer-config/raster-leaf/esri-dynamic-layer-entry-config.ts +++ b/packages/geoview-core/src/api/config/types/classes/sub-layer-config/raster-leaf/esri-dynamic-layer-entry-config.ts @@ -1,3 +1,5 @@ +// Needs to disable class-methods-use-this because we need to pass the instance reference 'this' to the validator. +// eslint-disable-next-line @typescript-eslint/class-methods-use-this import { CV_CONST_SUB_LAYER_TYPES, CV_CONST_LEAF_LAYER_SCHEMA_PATH } from '@config/types/config-constants'; import { TypeJsonObject } from '@config/types/config-types'; import { @@ -45,6 +47,7 @@ export class EsriDynamicLayerEntryConfig extends AbstractBaseLayerEntryConfig { throw new Error(`The layer entry with layer path equal to ${this.layerPath} must be an integer string`); } this.source.format = (layerConfig?.source?.format || 'png') as TypeEsriFormatParameter; // Set the source.format property + if (!isvalidComparedToSchema(this.schemaPath, layerConfig)) this.propagateError(); if (!isvalidComparedToSchema(this.schemaPath, this)) this.propagateError(); } diff --git a/packages/geoview-core/src/api/config/types/classes/sub-layer-config/vector-leaf/esri-feature-layer-entry-config.ts b/packages/geoview-core/src/api/config/types/classes/sub-layer-config/vector-leaf/esri-feature-layer-entry-config.ts index 49e7b0c0c1c..be099f44720 100644 --- a/packages/geoview-core/src/api/config/types/classes/sub-layer-config/vector-leaf/esri-feature-layer-entry-config.ts +++ b/packages/geoview-core/src/api/config/types/classes/sub-layer-config/vector-leaf/esri-feature-layer-entry-config.ts @@ -1,3 +1,5 @@ +// Needs to disable class-methods-use-this because we need to pass the instance reference 'this' to the validator. +// eslint-disable-next-line @typescript-eslint/class-methods-use-this import { CV_CONST_SUB_LAYER_TYPES, CV_CONST_LEAF_LAYER_SCHEMA_PATH } from '@config/types/config-constants'; import { TypeJsonObject } from '@config/types/config-types'; import { @@ -45,6 +47,7 @@ export class EsriFeatureLayerEntryConfig extends AbstractBaseLayerEntryConfig { throw new Error(`The layer entry with layerId equal to ${this.layerPath} must be an integer string`); } this.source.format = 'EsriJSON' as TypeEsriFormatParameter; // Set the source.format property + if (!isvalidComparedToSchema(this.schemaPath, layerConfig)) this.propagateError(); if (!isvalidComparedToSchema(this.schemaPath, this)) this.propagateError(); } diff --git a/packages/geoview-core/src/api/config/types/config-validation-schema.json b/packages/geoview-core/src/api/config/types/config-validation-schema.json index 84e8952609f..2b475384e20 100644 --- a/packages/geoview-core/src/api/config/types/config-validation-schema.json +++ b/packages/geoview-core/src/api/config/types/config-validation-schema.json @@ -974,7 +974,7 @@ "entryType": { "enum": ["raster-image"] }, - "LayerId": { + "layerId": { "type": "string", "description": "The id of the layer to display on the map." },