diff --git a/.env.production b/.env.production index 027e6c6ac..0dd9c465b 100644 --- a/.env.production +++ b/.env.production @@ -2,4 +2,5 @@ VITE_APP_INVENTORY_MANAGEMENT_SYSTEM_BUILD_DIRECTORY=/ # Must be explicitly set to false to ensure it is assigned properly (ensuring msw is excluded) VITE_APP_INCLUDE_MSW=false VITE_APP_BUILD_STANDALONE=false +VITE_APP_INCLUDE_CODECOV=false USE_API_SETTINGS=false \ No newline at end of file diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index f9a251a67..2e298f059 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -38,6 +38,12 @@ jobs: with: token: ${{ secrets.CODECOV_TOKEN }} + - name: Upload test results to Codecov + if: ${{ !cancelled() }} + uses: codecov/test-results-action@v1 + with: + token: ${{ secrets.CODECOV_TOKEN }} + e2e-tests: name: End-to-End (with mock data) Tests runs-on: ubuntu-latest @@ -147,6 +153,30 @@ jobs: with: name: Inventory management system (with api) Screenshots path: cypress/screenshots + bundle_analysis: + # This job triggers only if all the other jobs succeed. + needs: [lint-and-unit-test, e2e-tests, e2e-tests-api] + name: Bundle Analysis + runs-on: ubuntu-latest + + steps: + - name: Checkout repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + + - name: Setup Node.js + uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4 + with: + node-version: 20 + cache: 'yarn' + + - name: Install dependencies + run: | + yarn --immutable + + - name: Build app for production + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + run: yarn build docker: # This job triggers only if all the other jobs succeed. It builds the Docker image and if successful, diff --git a/codecov.yml b/codecov.yml index acf6a9439..6af9ff063 100644 --- a/codecov.yml +++ b/codecov.yml @@ -9,3 +9,32 @@ coverage: target: 75 ignore: - "inventory-management-system/src/mocks" + +# Post comment if there are changes in bundle size of any size +comment: + require_bundle_changes: True + +# Post comment if there are changes in bundle size exceeding 1Kb +comment: + require_bundle_changes: True + bundle_change_threshold: "1Kb" + +# Post comment if there are changes in bundle size increases more than 1Mb +comment: + require_bundle_changes: "bundle_increase" + bundle_change_threshold: "1Mb" + +# Post informational status (never fails) with threshold of 5% +# This is the default configuration +bundle_analysis: + warning_threshold: "5%" + status: "informational" + +# Disable commit status +bundle_analysis: + status: False + +# Post commit status that will fail if change is larger than threshold of 10MB +bundle_analysis: + warning_threshold: "10MB" + status: True diff --git a/cypress/e2e/with_mock_data/systems.cy.ts b/cypress/e2e/with_mock_data/systems.cy.ts index 406c49642..dbe5a9a34 100644 --- a/cypress/e2e/with_mock_data/systems.cy.ts +++ b/cypress/e2e/with_mock_data/systems.cy.ts @@ -578,10 +578,19 @@ describe('Systems', () => { }); it('edits a system from a landing page', () => { + // Catch error to avoid the CI failing unnecessarily + Cypress.on('uncaught:exception', (err) => { + if (err.message.includes('ResizeObserver')) { + return false; + } + }); cy.visit('/systems/65328f34a40ff5301575a4e3'); cy.findByRole('button', { name: 'systems page actions menu' }).click(); - cy.findByText('Edit').click(); + cy.findByRole('menuitem', { name: 'Edit' }).should('exist'); + cy.findByRole('menuitem', { name: 'Edit' }).click(); + + cy.findByRole('dialog', { name: 'Edit System' }).should('exist'); cy.findByLabelText('Name *').clear(); cy.findByLabelText('Name *').type('System name'); diff --git a/package.json b/package.json index 404ea9735..5fc34f815 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,7 @@ "type": "module", "private": true, "dependencies": { + "@codecov/vite-plugin": "1.7.0", "@date-io/date-fns": "3.0.0", "@emotion/react": "^11.11.4", "@emotion/styled": "^11.11.5", diff --git a/src/admin/units/units.component.test.tsx b/src/admin/units/units.component.test.tsx index 6a6aff653..08d5250cb 100644 --- a/src/admin/units/units.component.test.tsx +++ b/src/admin/units/units.component.test.tsx @@ -15,9 +15,12 @@ describe('Units', () => { it('renders table correctly', async () => { const view = createView(); - await waitFor(() => { - expect(screen.queryByRole('progressbar')).not.toBeInTheDocument(); - }); + await waitFor( + () => { + expect(screen.queryByRole('progressbar')).not.toBeInTheDocument(); + }, + { timeout: 10000 } + ); await waitFor(() => { expect(screen.getByText('megapixels')).toBeInTheDocument(); diff --git a/src/catalogue/category/catalogueCategoryDialog.component.test.tsx b/src/catalogue/category/catalogueCategoryDialog.component.test.tsx index 5abd449b0..49ae13159 100644 --- a/src/catalogue/category/catalogueCategoryDialog.component.test.tsx +++ b/src/catalogue/category/catalogueCategoryDialog.component.test.tsx @@ -335,7 +335,7 @@ describe('Catalogue Category Dialog', () => { }); expect(onClose).toHaveBeenCalled(); - }, 10000); + }); it('create a catalogue category with content being catalogue items and deletes an catalogue item property', async () => { createView(); @@ -432,7 +432,7 @@ describe('Catalogue Category Dialog', () => { }); expect(onClose).toHaveBeenCalled(); - }, 10000); + }); it('create a catalogue category with content being catalogue items (allowed_values list of numbers)', async () => { createView(); @@ -812,7 +812,7 @@ describe('Catalogue Category Dialog', () => { expect(nameHelperTexts.length).toBe(1); expect(onClose).not.toHaveBeenCalled(); - }, 10000); + }); it('clears formFields when catalogue content is catalogue categories', async () => { createView(); @@ -840,7 +840,7 @@ describe('Catalogue Category Dialog', () => { expect(screen.queryByText('radius')).not.toBeInTheDocument(); expect(screen.queryByText('millimeters')).not.toBeInTheDocument(); expect(screen.queryByText('Yes')).not.toBeInTheDocument(); - }, 10000); + }); it('displays duplicate values and invalid type errors (allowed_values list of numbers)', async () => { createView(); @@ -928,7 +928,7 @@ describe('Catalogue Category Dialog', () => { const duplicateHelperTexts2 = screen.queryByText('Duplicate value.'); expect(duplicateHelperTexts2).not.toBeInTheDocument(); - }, 15000); + }, 20000); it('displays invalid type errors (allowed_values list of numbers)', async () => { createView(); @@ -962,7 +962,7 @@ describe('Catalogue Category Dialog', () => { expect(incorrectTypeHelperTexts.length).toEqual(1); expect(onClose).not.toHaveBeenCalled(); - }, 10000); + }); it('displays duplicate values values with different significant figures (allowed_values list of numbers)', async () => { createView(); @@ -997,7 +997,7 @@ describe('Catalogue Category Dialog', () => { expect(duplicateHelperTexts.length).toEqual(2); expect(onClose).not.toHaveBeenCalled(); - }, 10000); + }); it('displays error if the allowed values list is empty', async () => { createView(); @@ -1066,7 +1066,7 @@ describe('Catalogue Category Dialog', () => { expect(listHelperTexts.length).toEqual(2); expect(onClose).not.toHaveBeenCalled(); - }, 10000); + }); it('displays duplicate values error (allowed_values list of string)', async () => { createView(); @@ -1498,4 +1498,4 @@ describe('Catalogue Category Dialog', () => { expect(onClose).toHaveBeenCalled(); }); }); -}, 10000); +}, 15000); diff --git a/src/common/images/imageGallery.component.test.tsx b/src/common/images/imageGallery.component.test.tsx index e160a9b2b..99ade3116 100644 --- a/src/common/images/imageGallery.component.test.tsx +++ b/src/common/images/imageGallery.component.test.tsx @@ -39,7 +39,8 @@ describe('Image Gallery', () => { expect(screen.queryByRole('progressbar')).not.toBeInTheDocument() ); - expect(screen.getAllByText('logo1.png').length).toEqual(8); + expect((await screen.findAllByText('logo1.png')).length).toEqual(8); + expect(baseElement).toMatchSnapshot(); }); diff --git a/src/systems/systemItemsTable.component.test.tsx b/src/systems/systemItemsTable.component.test.tsx index 1cbc2d863..475309f05 100644 --- a/src/systems/systemItemsTable.component.test.tsx +++ b/src/systems/systemItemsTable.component.test.tsx @@ -486,7 +486,7 @@ describe('SystemItemsTable', () => { { timeout: 4000 } ); - expect(screen.getAllByRole('combobox')[0]).toHaveValue('New'); + expect((await screen.findAllByRole('combobox'))[0]).toHaveValue('New'); expect(screen.getAllByRole('combobox')[1]).toHaveValue('In Use'); }); diff --git a/vite.config.ts b/vite.config.ts index 4259e6d6b..4685535fb 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,3 +1,4 @@ +import { codecovVitePlugin } from '@codecov/vite-plugin'; import react from '@vitejs/plugin-react'; import browserslistToEsbuild from 'browserslist-to-esbuild'; import fs from 'node:fs'; @@ -63,6 +64,16 @@ export default defineConfig(({ mode }) => { // Allow hot reloading of json files in public folder when in development if (env.NODE_ENV === 'development') plugins.push(jsonHMR()); + // Allow codecov bundle analysis + if (env.VITE_APP_INCLUDE_CODECOV === 'true') + plugins.push( + codecovVitePlugin({ + enableBundleAnalysis: env.CODECOV_TOKEN !== undefined, + bundleName: 'inventory-management-system', + uploadToken: env.CODECOV_TOKEN, + }) + ); + const config: UserConfig = { plugins: plugins, server: { @@ -162,6 +173,12 @@ export default defineConfig(({ mode }) => { 'src/main.tsx', ], }, + reporters: [ + 'default', + // Extra for codecov test analysis + ...(env.CI ? ['junit'] : []), + ], + outputFile: env.CI ? { junit: 'test-report.junit.xml' } : undefined, }, }; }); diff --git a/yarn.lock b/yarn.lock index 4dfb04914..0dfbb572f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,6 +5,54 @@ __metadata: version: 8 cacheKey: 10c0 +"@actions/core@npm:^1.10.1": + version: 1.11.1 + resolution: "@actions/core@npm:1.11.1" + dependencies: + "@actions/exec": "npm:^1.1.1" + "@actions/http-client": "npm:^2.0.1" + checksum: 10c0/9aa30b397d8d0dbc74e69fe46b23fb105cab989beb420c57eacbfc51c6804abe8da0f46973ca9f639d532ea4c096d0f4d37da0223fbe94f304fa3c5f53537c30 + languageName: node + linkType: hard + +"@actions/exec@npm:^1.1.1": + version: 1.1.1 + resolution: "@actions/exec@npm:1.1.1" + dependencies: + "@actions/io": "npm:^1.0.1" + checksum: 10c0/4a09f6bdbe50ce68b5cf8a7254d176230d6a74bccf6ecc3857feee209a8c950ba9adec87cc5ecceb04110182d1c17117234e45557d72fde6229b7fd3a395322a + languageName: node + linkType: hard + +"@actions/github@npm:^6.0.0": + version: 6.0.0 + resolution: "@actions/github@npm:6.0.0" + dependencies: + "@actions/http-client": "npm:^2.2.0" + "@octokit/core": "npm:^5.0.1" + "@octokit/plugin-paginate-rest": "npm:^9.0.0" + "@octokit/plugin-rest-endpoint-methods": "npm:^10.0.0" + checksum: 10c0/6f86f564e6ec5873c69ff23bed308cef5f964dbdb559c5415c1ba479517bf18352713a2a757c27f8f67a3d675fdd78446cf142b27762489f697edf9c58e72378 + languageName: node + linkType: hard + +"@actions/http-client@npm:^2.0.1, @actions/http-client@npm:^2.2.0": + version: 2.2.3 + resolution: "@actions/http-client@npm:2.2.3" + dependencies: + tunnel: "npm:^0.0.6" + undici: "npm:^5.25.4" + checksum: 10c0/13141b66a42aa4afd8c50f7479e13a5cdb5084ccb3c73ec48894b8029743389a3d2bf8cdc18e23fb70cd33995740526dd308815613907571e897c3aa1e5eada6 + languageName: node + linkType: hard + +"@actions/io@npm:^1.0.1": + version: 1.1.3 + resolution: "@actions/io@npm:1.1.3" + checksum: 10c0/5b8751918e5bf0bebd923ba917fb1c0e294401e7ff0037f32c92a4efa4215550df1f6633c63fd4efb2bdaae8711e69b9e36925857db1f38935ff62a5c92ec29e + languageName: node + linkType: hard + "@adobe/css-tools@npm:^4.4.0": version: 4.4.0 resolution: "@adobe/css-tools@npm:4.4.0" @@ -277,6 +325,32 @@ __metadata: languageName: node linkType: hard +"@codecov/bundler-plugin-core@npm:^1.7.0": + version: 1.7.0 + resolution: "@codecov/bundler-plugin-core@npm:1.7.0" + dependencies: + "@actions/core": "npm:^1.10.1" + "@actions/github": "npm:^6.0.0" + chalk: "npm:4.1.2" + semver: "npm:^7.5.4" + unplugin: "npm:^1.10.1" + zod: "npm:^3.22.4" + checksum: 10c0/4695ef1ec69aff90de698fcd4f18a828da07428631edcce2a5f31606c9a62580b601300e25923787ecde89528ef698270cbd4a21d2dd6cca6cf21c721fe4114f + languageName: node + linkType: hard + +"@codecov/vite-plugin@npm:1.7.0": + version: 1.7.0 + resolution: "@codecov/vite-plugin@npm:1.7.0" + dependencies: + "@codecov/bundler-plugin-core": "npm:^1.7.0" + unplugin: "npm:^1.10.1" + peerDependencies: + vite: 4.x || 5.x || 6.x + checksum: 10c0/848431524d73bd5e794e3a881cdd078f027569c9b5ef617c13cbb0f3035e2c95386cce487b39f87c9b71d4361f36bc566192bc18da2e9280152b750930d6c505 + languageName: node + linkType: hard + "@colors/colors@npm:1.5.0": version: 1.5.0 resolution: "@colors/colors@npm:1.5.0" @@ -738,6 +812,13 @@ __metadata: languageName: node linkType: hard +"@fastify/busboy@npm:^2.0.0": + version: 2.1.1 + resolution: "@fastify/busboy@npm:2.1.1" + checksum: 10c0/6f8027a8cba7f8f7b736718b013f5a38c0476eea67034c94a0d3c375e2b114366ad4419e6a6fa7ffc2ef9c6d3e0435d76dd584a7a1cbac23962fda7650b579e3 + languageName: node + linkType: hard + "@hapi/hoek@npm:^9.0.0, @hapi/hoek@npm:^9.3.0": version: 9.3.0 resolution: "@hapi/hoek@npm:9.3.0" @@ -1215,6 +1296,126 @@ __metadata: languageName: node linkType: hard +"@octokit/auth-token@npm:^4.0.0": + version: 4.0.0 + resolution: "@octokit/auth-token@npm:4.0.0" + checksum: 10c0/57acaa6c394c5abab2f74e8e1dcf4e7a16b236f713c77a54b8f08e2d14114de94b37946259e33ec2aab0566b26f724c2b71d2602352b59e541a9854897618f3c + languageName: node + linkType: hard + +"@octokit/core@npm:^5.0.1": + version: 5.2.0 + resolution: "@octokit/core@npm:5.2.0" + dependencies: + "@octokit/auth-token": "npm:^4.0.0" + "@octokit/graphql": "npm:^7.1.0" + "@octokit/request": "npm:^8.3.1" + "@octokit/request-error": "npm:^5.1.0" + "@octokit/types": "npm:^13.0.0" + before-after-hook: "npm:^2.2.0" + universal-user-agent: "npm:^6.0.0" + checksum: 10c0/9dc5cf55b335da382f340ef74c8009c06a1f7157b0530d3ff6cacf179887811352dcd405448e37849d73f17b28970b7817995be2260ce902dad52b91905542f0 + languageName: node + linkType: hard + +"@octokit/endpoint@npm:^9.0.1": + version: 9.0.5 + resolution: "@octokit/endpoint@npm:9.0.5" + dependencies: + "@octokit/types": "npm:^13.1.0" + universal-user-agent: "npm:^6.0.0" + checksum: 10c0/e9bbb2111abe691c146075abb1b6f724a9b77fa8bfefdaaa82b8ebad6c8790e949f2367bb0b79800fef93ad72807513333e83e8ffba389bc85215535f63534d9 + languageName: node + linkType: hard + +"@octokit/graphql@npm:^7.1.0": + version: 7.1.0 + resolution: "@octokit/graphql@npm:7.1.0" + dependencies: + "@octokit/request": "npm:^8.3.0" + "@octokit/types": "npm:^13.0.0" + universal-user-agent: "npm:^6.0.0" + checksum: 10c0/6d50a013d151f416fc837644e394e8b8872da7b17b181da119842ca569b0971e4dfacda55af6c329b51614e436945415dd5bd75eb3652055fdb754bbcd20d9d1 + languageName: node + linkType: hard + +"@octokit/openapi-types@npm:^20.0.0": + version: 20.0.0 + resolution: "@octokit/openapi-types@npm:20.0.0" + checksum: 10c0/5176dcc3b9d182ede3d446750cfa5cf31139624785a73fcf3511e3102a802b4d7cc45e999c27ed91d73fe8b7d718c8c406facb48688926921a71fe603b7db95d + languageName: node + linkType: hard + +"@octokit/openapi-types@npm:^23.0.1": + version: 23.0.1 + resolution: "@octokit/openapi-types@npm:23.0.1" + checksum: 10c0/ab734ceb26343d9f051a59503b8cb5bdc7fec9ca044b60511b227179bec73141dd9144a6b2d68bcd737741881b136c1b7d5392da89ae2e35e39acc489e5eb4c1 + languageName: node + linkType: hard + +"@octokit/plugin-paginate-rest@npm:^9.0.0": + version: 9.2.1 + resolution: "@octokit/plugin-paginate-rest@npm:9.2.1" + dependencies: + "@octokit/types": "npm:^12.6.0" + peerDependencies: + "@octokit/core": 5 + checksum: 10c0/1dc55032a9e0c3e6440080a319975c9e4f189913fbc8870a48048d0c712473ea3d902ba247a37a46d45d502859b2728731a0d285107e4b0fa628d380f87163b4 + languageName: node + linkType: hard + +"@octokit/plugin-rest-endpoint-methods@npm:^10.0.0": + version: 10.4.1 + resolution: "@octokit/plugin-rest-endpoint-methods@npm:10.4.1" + dependencies: + "@octokit/types": "npm:^12.6.0" + peerDependencies: + "@octokit/core": 5 + checksum: 10c0/4b8f64c0f7fa12464546ad312a5289c2a799967e01e90e2c4923ec6e9604cf212dcb50d9795c9a688867f973c9c529c5950368564c560406c652bcd298f090af + languageName: node + linkType: hard + +"@octokit/request-error@npm:^5.1.0": + version: 5.1.0 + resolution: "@octokit/request-error@npm:5.1.0" + dependencies: + "@octokit/types": "npm:^13.1.0" + deprecation: "npm:^2.0.0" + once: "npm:^1.4.0" + checksum: 10c0/61e688abce17dd020ea1e343470b9758f294bfe5432c5cb24bdb5b9b10f90ecec1ecaaa13b48df9288409e0da14252f6579a20f609af155bd61dc778718b7738 + languageName: node + linkType: hard + +"@octokit/request@npm:^8.3.0, @octokit/request@npm:^8.3.1": + version: 8.4.0 + resolution: "@octokit/request@npm:8.4.0" + dependencies: + "@octokit/endpoint": "npm:^9.0.1" + "@octokit/request-error": "npm:^5.1.0" + "@octokit/types": "npm:^13.1.0" + universal-user-agent: "npm:^6.0.0" + checksum: 10c0/b857782ac2ff5387e9cc502759de73ea642c498c97d06ad2ecd8a395e4b9532d9f3bc3fc460e0d3d0e8f0d43c917a90c493e43766d37782b3979d3afffbf1b4b + languageName: node + linkType: hard + +"@octokit/types@npm:^12.6.0": + version: 12.6.0 + resolution: "@octokit/types@npm:12.6.0" + dependencies: + "@octokit/openapi-types": "npm:^20.0.0" + checksum: 10c0/0bea58bda46c93287f5a80a0e52bc60e7dc7136b8a38c3569d63d073fb9df4a56acdb9d9bdba9978f37c374a4a6e3e52886ef5b08cace048adb0012cacef942c + languageName: node + linkType: hard + +"@octokit/types@npm:^13.0.0, @octokit/types@npm:^13.1.0": + version: 13.7.0 + resolution: "@octokit/types@npm:13.7.0" + dependencies: + "@octokit/openapi-types": "npm:^23.0.1" + checksum: 10c0/62ed4f00304360cc31e99a9dc97ac4f48075d1d5c09a272f09b1fd3dfcc7a6169b7fab109030319ef121b0cd880c85bdb20363f4992104e07a98bd8323beeeb5 + languageName: node + linkType: hard + "@open-draft/deferred-promise@npm:^2.2.0": version: 2.2.0 resolution: "@open-draft/deferred-promise@npm:2.2.0" @@ -2710,6 +2911,13 @@ __metadata: languageName: node linkType: hard +"before-after-hook@npm:^2.2.0": + version: 2.2.3 + resolution: "before-after-hook@npm:2.2.3" + checksum: 10c0/0488c4ae12df758ca9d49b3bb27b47fd559677965c52cae7b335784724fb8bf96c42b6e5ba7d7afcbc31facb0e294c3ef717cc41c5bc2f7bd9e76f8b90acd31c + languageName: node + linkType: hard + "blob-polyfill@npm:^9.0.20240710": version: 9.0.20240710 resolution: "blob-polyfill@npm:9.0.20240710" @@ -2976,6 +3184,16 @@ __metadata: languageName: node linkType: hard +"chalk@npm:4.1.2, chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.2": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 + languageName: node + linkType: hard + "chalk@npm:5.0.1": version: 5.0.1 resolution: "chalk@npm:5.0.1" @@ -2993,16 +3211,6 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.2": - version: 4.1.2 - resolution: "chalk@npm:4.1.2" - dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 - languageName: node - linkType: hard - "chalk@npm:^5.0.1": version: 5.3.0 resolution: "chalk@npm:5.3.0" @@ -3555,6 +3763,13 @@ __metadata: languageName: node linkType: hard +"deprecation@npm:^2.0.0": + version: 2.3.1 + resolution: "deprecation@npm:2.3.1" + checksum: 10c0/23d688ba66b74d09b908c40a76179418acbeeb0bfdf218c8075c58ad8d0c315130cb91aa3dffb623aa3a411a3569ce56c6460de6c8d69071c17fe6dd2442f032 + languageName: node + linkType: hard + "dequal@npm:^2.0.3": version: 2.0.3 resolution: "dequal@npm:2.0.3" @@ -5162,6 +5377,7 @@ __metadata: resolution: "inventory-management-system@workspace:." dependencies: "@babel/eslint-parser": "npm:7.25.9" + "@codecov/vite-plugin": "npm:1.7.0" "@date-io/date-fns": "npm:3.0.0" "@emotion/react": "npm:^11.11.4" "@emotion/styled": "npm:^11.11.5" @@ -7596,7 +7812,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.6.0": +"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0": version: 7.6.3 resolution: "semver@npm:7.6.3" bin: @@ -8361,6 +8577,13 @@ __metadata: languageName: node linkType: hard +"tunnel@npm:^0.0.6": + version: 0.0.6 + resolution: "tunnel@npm:0.0.6" + checksum: 10c0/e27e7e896f2426c1c747325b5f54efebc1a004647d853fad892b46d64e37591ccd0b97439470795e5262b5c0748d22beb4489a04a0a448029636670bfd801b75 + languageName: node + linkType: hard + "tweetnacl@npm:^0.14.3, tweetnacl@npm:~0.14.0": version: 0.14.5 resolution: "tweetnacl@npm:0.14.5" @@ -8514,6 +8737,15 @@ __metadata: languageName: node linkType: hard +"undici@npm:^5.25.4": + version: 5.28.4 + resolution: "undici@npm:5.28.4" + dependencies: + "@fastify/busboy": "npm:^2.0.0" + checksum: 10c0/08d0f2596553aa0a54ca6e8e9c7f45aef7d042c60918564e3a142d449eda165a80196f6ef19ea2ef2e6446959e293095d8e40af1236f0d67223b06afac5ecad7 + languageName: node + linkType: hard + "unique-filename@npm:^3.0.0": version: 3.0.0 resolution: "unique-filename@npm:3.0.0" @@ -8532,6 +8764,13 @@ __metadata: languageName: node linkType: hard +"universal-user-agent@npm:^6.0.0": + version: 6.0.1 + resolution: "universal-user-agent@npm:6.0.1" + checksum: 10c0/5c9c46ffe19a975e11e6443640ed4c9e0ce48fcc7203325757a8414ac49940ebb0f4667f2b1fa561489d1eb22cb2d05a0f7c82ec20c5cba42e58e188fb19b187 + languageName: node + linkType: hard + "universalify@npm:^0.2.0": version: 0.2.0 resolution: "universalify@npm:0.2.0" @@ -8553,6 +8792,16 @@ __metadata: languageName: node linkType: hard +"unplugin@npm:^1.10.1": + version: 1.16.1 + resolution: "unplugin@npm:1.16.1" + dependencies: + acorn: "npm:^8.14.0" + webpack-virtual-modules: "npm:^0.6.2" + checksum: 10c0/dd5f8c5727d0135847da73cf03fb199107f1acf458167034886fda3405737dab871ad3926431b4f70e1e82cdac482ac1383cea4019d782a68515c8e3e611b6cc + languageName: node + linkType: hard + "untildify@npm:^4.0.0": version: 4.0.0 resolution: "untildify@npm:4.0.0" @@ -8794,6 +9043,13 @@ __metadata: languageName: node linkType: hard +"webpack-virtual-modules@npm:^0.6.2": + version: 0.6.2 + resolution: "webpack-virtual-modules@npm:0.6.2" + checksum: 10c0/5ffbddf0e84bf1562ff86cf6fcf039c74edf09d78358a6904a09bbd4484e8bb6812dc385fe14330b715031892dcd8423f7a88278b57c9f5002c84c2860179add + languageName: node + linkType: hard + "whatwg-encoding@npm:^3.1.1": version: 3.1.1 resolution: "whatwg-encoding@npm:3.1.1" @@ -9080,7 +9336,7 @@ __metadata: languageName: node linkType: hard -"zod@npm:^3.23.8": +"zod@npm:^3.22.4, zod@npm:^3.23.8": version: 3.24.1 resolution: "zod@npm:3.24.1" checksum: 10c0/0223d21dbaa15d8928fe0da3b54696391d8e3e1e2d0283a1a070b5980a1dbba945ce631c2d1eccc088fdbad0f2dfa40155590bf83732d3ac4fcca2cc9237591b