diff --git a/.github/workflows/pr-builder.yml b/.github/workflows/pr-builder.yml index 69eac7ef..d056a13e 100644 --- a/.github/workflows/pr-builder.yml +++ b/.github/workflows/pr-builder.yml @@ -10,6 +10,11 @@ on: - "LICENSE" workflow_dispatch: +# Avoid running multiple builds for the same PR. +concurrency: + group: pr-builder-${{ github.ref }} + cancel-in-progress: true + env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -169,7 +174,23 @@ jobs: - name: 🃏 Run Jest & Collect Coverage id: run-jest-test-and-coverage - run: pnpm test + run: pnpm test:ci + + - name: Upload `@asgardeo/js` coverage reports to Codecov + id: upload-asgardeo-js-coverage + uses: codecov/codecov-action@v4.0.1 + with: + files: ./packages/core/coverage/coverage-final.json + flags: '@asgardeo/js' + token: ${{ secrets.CODECOV_TOKEN }} + + - name: Upload `@asgardeo/react` coverage reports to Codecov + id: upload-asgardeo-react-coverage + uses: codecov/codecov-action@v4.0.1 + with: + files: ./packages/core/coverage/coverage-final.json + flags: '@asgardeo/react' + token: ${{ secrets.CODECOV_TOKEN }} build: name: 🚧 Build diff --git a/codecov.yml b/codecov.yml new file mode 100644 index 00000000..a4075c26 --- /dev/null +++ b/codecov.yml @@ -0,0 +1,58 @@ +# ------------------------------------------------------------------------------------- +# +# Copyright (c) 2024, WSO2 LLC. (https://www.wso2.com). +# +# WSO2 LLC. licenses this file to you under the Apache License, +# Version 2.0 (the "License"); you may not use this file except +# in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +# -------------------------------------------------------------------------------------- + +# This workflow will run the Codecov action on the repository. + +codecov: + require_ci_to_pass: yes + notify: + wait_for_ci: yes + +coverage: + status: + project: + default: + target: 50% + js: + target: 50% + flags: + - '@asgardeo/js' + react: + target: 50% + flags: + - '@asgardeo/react' + +comment: + layout: "diff, flags, files" + behavior: default + require_changes: false + require_base: yes + require_head: yes + branches: null + +flags: + '@asgardeo/js': + paths: + - packages/core/src/**/*.ts + carryforward: false + '@asgardeo/react': + paths: + - packages/react/src/**/*.ts + carryforward: false diff --git a/package.json b/package.json index ebc7eea6..7d2e853d 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "publish:packages": "changeset publish", "test": "nx run-many --target=test --parallel", "typecheck": "nx run-many --target=typecheck --parallel", + "test:ci": "nx run-many --target=test:ci --parallel", "version:packages": "changeset version && pnpm install --lockfile-only" }, "devDependencies": { diff --git a/packages/core/jest.config.ts b/packages/core/jest.config.ts new file mode 100644 index 00000000..8157beff --- /dev/null +++ b/packages/core/jest.config.ts @@ -0,0 +1,47 @@ +/** + * Copyright (c) 2024, WSO2 LLC. (https://www.wso2.com). + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import type {Config} from '@jest/types'; + +const jestConfig: Config.InitialOptions = { + displayName: '@asgardeo/js', + extensionsToTreatAsEsm: ['.ts'], + moduleDirectories: ['node_modules', 'test-configs', __dirname], + moduleFileExtensions: ['js', 'ts', 'json', 'node'], + moduleNameMapper: { + '^@unit-testing(.*)$': '/test-configs/utils', + }, + modulePaths: [''], + preset: 'ts-jest', + setupFilesAfterEnv: ['/test-configs/setup-test.ts'], + testEnvironment: 'node', + testMatch: ['/**/?(*.)test.{ts,js}'], + testPathIgnorePatterns: ['/(dist|node_modules)/'], + transform: { + '^.+\\.ts?$': [ + 'ts-jest', + { + useESM: true, + }, + ], + }, + transformIgnorePatterns: [], + verbose: true, +}; + +export default jestConfig; diff --git a/packages/core/package.json b/packages/core/package.json index 95fb815a..8a31be19 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -31,22 +31,30 @@ "scripts": { "build": "rollup -c", "lint": "eslint .", - "lint:fix": "eslint . --fix" + "lint:fix": "eslint . --fix", + "test": "pnpm jest --passWithNoTests", + "test:ci": "pnpm jest --passWithNoTests --coverage" }, "devDependencies": { + "@jest/globals": "^29.7.0", + "@jest/types": "^29.6.3", "@rollup/plugin-commonjs": "^25.0.7", "@rollup/plugin-dynamic-import-vars": "^2.1.2", "@rollup/plugin-node-resolve": "^15.2.3", "@rollup/plugin-typescript": "^11.1.6", + "@types/jest": "^29.5.12", "@types/lodash.isempty": "^4.4.9", "@types/lodash.merge": "^4.6.9", "@types/node": "^20.12.7", "@wso2/eslint-plugin": "https://gitpkg.now.sh/brionmario/wso2-ui-configs/packages/eslint-plugin?fa0b844715320a3953d6d055997c0770f8695082", "@wso2/prettier-config": "https://gitpkg.now.sh/brionmario/wso2-ui-configs/packages/prettier-config?fa0b844715320a3953d6d055997c0770f8695082", "eslint": "~8.57.0", + "jest": "^29.7.0", "prettier": "^3.2.5", "rollup": "^4.17.2", "rollup-plugin-dts": "^6.1.0", + "ts-jest": "^29.1.5", + "ts-node": "^10.9.2", "tslib": "^2.6.2", "typescript": "^5.1.6" }, diff --git a/packages/core/src/branding/__tests__/__mocks__/branding-preference.json b/packages/core/src/branding/__tests__/__mocks__/branding-preference.json new file mode 100644 index 00000000..536eaa91 --- /dev/null +++ b/packages/core/src/branding/__tests__/__mocks__/branding-preference.json @@ -0,0 +1,452 @@ +{ + "type": "ORG", + "name": "vite", + "locale": "en-US", + "preference": { + "configs": { + "isBrandingEnabled": true, + "removeDefaultBranding": false + }, + "layout": { + "activeLayout": "centered" + }, + "organizationDetails": { + "displayName": "", + "supportEmail": "" + }, + "theme": { + "activeTheme": "DARK", + "LIGHT": { + "buttons": { + "externalConnection": { + "base": { + "background": { + "backgroundColor": "#EBEBEF" + }, + "border": { + "borderRadius": "0px" + }, + "font": { + "color": "#3C3C43" + } + } + }, + "primary": { + "base": { + "border": { + "borderRadius": "8px" + }, + "font": { + "color": "#FFFFFF" + } + } + }, + "secondary": { + "base": { + "border": { + "borderRadius": "0px" + }, + "font": { + "color": "#3C3C43" + } + } + } + }, + "colors": { + "alerts": { + "error": { + "contrastText": "", + "dark": "", + "inverted": "", + "light": "", + "main": "#ffd8d8" + }, + "info": { + "contrastText": "", + "dark": "", + "inverted": "", + "light": "", + "main": "#eff7fd" + }, + "neutral": { + "contrastText": "", + "dark": "", + "inverted": "", + "light": "", + "main": "#f8f8f9" + }, + "warning": { + "contrastText": "", + "dark": "", + "inverted": "", + "light": "", + "main": "#fff6e7" + } + }, + "background": { + "body": { + "contrastText": "", + "dark": "", + "inverted": "", + "light": "", + "main": "#FFFFFF" + }, + "surface": { + "contrastText": "", + "dark": "#F6F4F2", + "inverted": "#212A32", + "light": "#f9fafb", + "main": "#F6F6F7" + } + }, + "illustrations": { + "accent1": { + "contrastText": "", + "dark": "", + "inverted": "", + "light": "", + "main": "#3865B5" + }, + "accent2": { + "contrastText": "", + "dark": "", + "inverted": "", + "light": "", + "main": "#19BECE" + }, + "accent3": { + "contrastText": "", + "dark": "", + "inverted": "", + "light": "", + "main": "#FFFFFF" + }, + "primary": { + "contrastText": "", + "dark": "", + "inverted": "", + "light": "", + "main": "#FF7300" + }, + "secondary": { + "contrastText": "", + "dark": "", + "inverted": "", + "light": "", + "main": "#E0E1E2" + } + }, + "outlined": { + "default": "#ECECF0" + }, + "primary": { + "contrastText": "", + "dark": "", + "inverted": "", + "light": "", + "main": "#3C3C43" + }, + "secondary": { + "contrastText": "", + "dark": "", + "inverted": "", + "light": "", + "main": "#ECECF0" + }, + "text": { + "primary": "#3C3C43", + "secondary": "#00000066" + } + }, + "footer": { + "border": { + "borderColor": "" + }, + "font": { + "color": "" + } + }, + "images": { + "favicon": { + + }, + "logo": { + "imgURL": "https://vitejs.dev/logo.svg" + }, + "myAccountLogo": { + "title": "Account" + } + }, + "inputs": { + "base": { + "background": { + "backgroundColor": "#FFFFFF" + }, + "border": { + "borderColor": "", + "borderRadius": "8px" + }, + "font": { + "color": "" + }, + "labels": { + "font": { + "color": "" + } + } + } + }, + "loginBox": { + "background": { + "backgroundColor": "" + }, + "border": { + "borderColor": "", + "borderRadius": "12px", + "borderWidth": "1px" + }, + "font": { + "color": "" + } + }, + "loginPage": { + "background": { + "backgroundColor": "" + }, + "font": { + "color": "" + } + }, + "typography": { + "font": { + "fontFamily": "Inter, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"", + "importURL": "https://fonts.googleapis.com/css?family=Inter" + }, + "heading": { + "font": { + "color": "" + } + } + } + }, + "DARK": { + "buttons": { + "externalConnection": { + "base": { + "background": { + "backgroundColor": "#4F4F56" + }, + "border": { + "borderRadius": "0px" + }, + "font": { + "color": "#FFFFFF" + } + } + }, + "primary": { + "base": { + "border": { + "borderRadius": "8px" + }, + "font": { + "color": "#3C3C43" + } + } + }, + "secondary": { + "base": { + "border": { + "borderRadius": "0px" + }, + "font": { + "color": "#FFFFFF" + } + } + } + }, + "colors": { + "alerts": { + "error": { + "contrastText": "", + "dark": "", + "inverted": "", + "light": "", + "main": "#ff000054" + }, + "info": { + "contrastText": "", + "dark": "#01579b", + "inverted": "", + "light": "#03a9f4", + "main": "#1971c233" + }, + "neutral": { + "contrastText": "", + "dark": "", + "inverted": "", + "light": "", + "main": "#343a4033" + }, + "warning": { + "contrastText": "", + "dark": "", + "inverted": "", + "light": "", + "main": "#f08c0033" + } + }, + "background": { + "body": { + "contrastText": "", + "dark": "", + "inverted": "", + "light": "", + "main": "#3C3C43" + }, + "surface": { + "contrastText": "", + "dark": "#1e2021", + "inverted": "#17191a", + "light": "#2b2d2e", + "main": "#2B2B30" + } + }, + "illustrations": { + "accent1": { + "contrastText": "", + "dark": "", + "inverted": "", + "light": "", + "main": "#3865B5" + }, + "accent2": { + "contrastText": "", + "dark": "", + "inverted": "", + "light": "", + "main": "#19BECE" + }, + "accent3": { + "contrastText": "", + "dark": "", + "inverted": "", + "light": "", + "main": "#FFFFFF" + }, + "primary": { + "contrastText": "", + "dark": "", + "inverted": "", + "light": "", + "main": "#FF7300" + }, + "secondary": { + "contrastText": "", + "dark": "", + "inverted": "", + "light": "", + "main": "#E0E1E2" + } + }, + "outlined": { + "default": "#4F4F56" + }, + "primary": { + "contrastText": "", + "dark": "", + "inverted": "", + "light": "", + "main": "#FFFFFF" + }, + "secondary": { + "contrastText": "", + "dark": "", + "inverted": "", + "light": "", + "main": "#4F4F56" + }, + "text": { + "primary": "#FFFFFF", + "secondary": "#B9B9C6" + } + }, + "footer": { + "border": { + "borderColor": "" + }, + "font": { + "color": "" + } + }, + "images": { + "favicon": { + + }, + "logo": { + "imgURL": "https://vitejs.dev/logo.svg" + }, + "myAccountLogo": { + "title": "Account" + } + }, + "inputs": { + "base": { + "background": { + "backgroundColor": "#000000" + }, + "border": { + "borderColor": "", + "borderRadius": "8px" + }, + "font": { + "color": "" + }, + "labels": { + "font": { + "color": "" + } + } + } + }, + "loginBox": { + "background": { + "backgroundColor": "" + }, + "border": { + "borderColor": "", + "borderRadius": "12px", + "borderWidth": "1px" + }, + "font": { + "color": "" + } + }, + "loginPage": { + "background": { + "backgroundColor": "" + }, + "font": { + "color": "" + } + }, + "typography": { + "font": { + "fontFamily": "Gilmer", + "importURL": "" + }, + "heading": { + "font": { + "color": "" + } + } + } + } + }, + "urls": { + "cookiePolicyURL": "", + "privacyPolicyURL": "", + "termsOfUseURL": "" + } + } +} diff --git a/packages/core/src/branding/__tests__/get-branding-css.test.ts b/packages/core/src/branding/__tests__/get-branding-css.test.ts new file mode 100644 index 00000000..258fbacf --- /dev/null +++ b/packages/core/src/branding/__tests__/get-branding-css.test.ts @@ -0,0 +1,65 @@ +/** + * Copyright (c) 2024, WSO2 LLC. (https://www.wso2.com). + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import BrandingPreferenceMock from './__mocks__/branding-preference.json'; +import {BrandingPreference, ThemeConfig} from '../../models/branding-api-response'; +import GetBrandingProps from '../../models/get-branding-props'; +import getBranding from '../get-branding'; +import getBrandingCSS from '../get-branding-css'; + +jest.mock('../get-branding', () => jest.fn()); + +describe('getBrandingCSS', () => { + beforeEach(() => { + jest.clearAllMocks(); // Clear all mocks before each test + }); + + it.skip('should generate CSS string with valid theme data', async () => { + const brandingPreference: BrandingPreference = BrandingPreferenceMock.preference as BrandingPreference; + const theme: ThemeConfig = brandingPreference.theme.LIGHT; + + const mockGetBrandingProps: any = { + branding: BrandingPreferenceMock, + merged: null, + }; + + (getBranding as jest.Mock).mockResolvedValue({preference: theme}); + + const generatedCSS: string = await getBrandingCSS(mockGetBrandingProps); + + expect(generatedCSS).toContain(`@import url(${theme.typography.font.importURL});`); + expect(generatedCSS).toContain(`--asg-colors-primary-main: ${theme.colors.primary.main};`); + expect(generatedCSS).toContain(`--asg-footer-text-color: ${theme.footer.font.color};`); + }); + + it('should return empty string when no active theme is found', async () => { + const brandingPreference: BrandingPreference = BrandingPreferenceMock.preference as BrandingPreference; + const theme: ThemeConfig = brandingPreference.theme.LIGHT; + + const mockGetBrandingProps: GetBrandingProps = { + branding: null, + merged: null, + }; + + (getBranding as jest.Mock).mockResolvedValue({preference: theme}); + + const generatedCSS: string = await getBrandingCSS(mockGetBrandingProps); + + expect(generatedCSS).toBe(''); + }); +}); diff --git a/packages/core/test-configs/setup-test.ts b/packages/core/test-configs/setup-test.ts new file mode 100644 index 00000000..4da70cb7 --- /dev/null +++ b/packages/core/test-configs/setup-test.ts @@ -0,0 +1,21 @@ +/** + * Copyright (c) 2024, WSO2 LLC. (https://www.wso2.com). + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import {jest} from '@jest/globals'; + +global.jest = jest; diff --git a/packages/core/tsconfig.eslint.json b/packages/core/tsconfig.eslint.json index 2211bcaa..23fadc26 100644 --- a/packages/core/tsconfig.eslint.json +++ b/packages/core/tsconfig.eslint.json @@ -1,11 +1,11 @@ { - "extends": "./tsconfig.json", - "include": [ - "**/.*.js", - "**/.*.cjs", - "**/.*.ts", - "**/*.js", - "**/*.cjs", - "**/*.ts", - ] - } + "extends": "./tsconfig.json", + "include": [ + "**/.*.js", + "**/.*.cjs", + "**/.*.ts", + "**/*.js", + "**/*.cjs", + "**/*.ts", + ] +} diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index 62ff812c..5a62272e 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -30,6 +30,9 @@ "references": [ { "path": "./tsconfig.lib.json" + }, + { + "path": "./tsconfig.spec.json" } ] } diff --git a/packages/core/tsconfig.lib.json b/packages/core/tsconfig.lib.json index 003eb30c..e0375558 100644 --- a/packages/core/tsconfig.lib.json +++ b/packages/core/tsconfig.lib.json @@ -1,25 +1,21 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "declaration": true, - "outDir": "dist", - "declarationDir": "types", - "types": ["node"], - "emitDeclarationOnly": true - }, - "files": [], - "exclude": [ - "test-configs", - "jest.config.ts", - "**/*.spec.ts", - "**/*.test.ts", - "**/*.spec.tsx", - "**/*.test.tsx", - "**/*.spec.js", - "**/*.test.js", - "**/*.spec.jsx", - "**/*.test.jsx", - "dist" - ], - "include": ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx", "rollup.config.cjs"] - } + "extends": "./tsconfig.json", + "compilerOptions": { + "declaration": true, + "outDir": "dist", + "declarationDir": "types", + "types": ["node"], + "emitDeclarationOnly": true + }, + "exclude": [ + "**/*.spec.ts", + "**/*.test.ts", + "**/*.spec.tsx", + "**/*.test.tsx", + "**/*.spec.js", + "**/*.test.js", + "**/*.spec.jsx", + "**/*.test.jsx" + ], + "include": ["src/**/*.js", "src/**/*.ts"] +} diff --git a/packages/core/tsconfig.spec.json b/packages/core/tsconfig.spec.json new file mode 100644 index 00000000..cc989f89 --- /dev/null +++ b/packages/core/tsconfig.spec.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "module": "commonjs", + "outDir": "dist", + "types": ["jest", "node"] + }, + "extends": "./tsconfig.json", + "include": [ + "test-configs/**/*", + "jest.config.js", + "jest.config.ts", + "**/*.test.js", + "**/*.test.ts", + "**/*.spec.js", + "**/*.spec.ts", + "**/*.test.d.ts", + "**/*.spec.d.ts" + ] +} diff --git a/packages/react/.eslintignore b/packages/react/.eslintignore index c925c21d..99b0b518 100644 --- a/packages/react/.eslintignore +++ b/packages/react/.eslintignore @@ -1,2 +1,4 @@ /dist +/build /node_modules +/coverage diff --git a/packages/react/jest.config.ts b/packages/react/jest.config.ts new file mode 100644 index 00000000..2a53c505 --- /dev/null +++ b/packages/react/jest.config.ts @@ -0,0 +1,47 @@ +/** + * Copyright (c) 2024, WSO2 LLC. (https://www.wso2.com). + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import type {Config} from '@jest/types'; + +const jestConfig: Config.InitialOptions = { + displayName: '@asgardeo/react', + extensionsToTreatAsEsm: ['.ts', '.tsx'], + moduleDirectories: ['node_modules', 'test-configs', __dirname], + moduleFileExtensions: ['js', 'jsx', 'ts', 'tsx', 'json', 'node'], + moduleNameMapper: { + '^@unit-testing(.*)$': '/test-configs/utils', + }, + modulePaths: [''], + preset: 'ts-jest', + setupFilesAfterEnv: ['/test-configs/setup-test.ts'], + testEnvironment: 'jsdom', + testMatch: ['/**/?(*.)test.{ts,tsx,js,jsx}'], + testPathIgnorePatterns: ['/(dist|node_modules)/'], + transform: { + '^.+\\.tsx?$': [ + 'ts-jest', + { + useESM: true, + }, + ], + }, + transformIgnorePatterns: ['/node_modules/(?!jose).+\\.js$'], + verbose: true, +}; + +export default jestConfig; diff --git a/packages/react/package.json b/packages/react/package.json index 4be61314..8a12a589 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -33,16 +33,24 @@ "scripts": { "build": "rollup -c", "lint": "eslint .", - "lint:fix": "eslint . --fix" + "lint:fix": "eslint . --fix", + "test": "pnpm jest --passWithNoTests", + "test:ci": "pnpm jest --passWithNoTests --coverage" }, "publishConfig": { "access": "public" }, "devDependencies": { + "@jest/globals": "^29.7.0", + "@jest/types": "^29.6.3", "@rollup/plugin-commonjs": "^25.0.7", "@rollup/plugin-image": "^3.0.3", "@rollup/plugin-node-resolve": "^15.2.3", "@rollup/plugin-typescript": "^11.1.6", + "@testing-library/dom": "^10.3.0", + "@testing-library/jest-dom": "^6.4.6", + "@testing-library/react": "^16.0.0", + "@types/jest": "^29.5.12", "@types/node": "^20.12.7", "@types/randombytes": "^2.0.3", "@types/react": "^18.2.79", @@ -51,6 +59,8 @@ "@wso2/prettier-config": "https://gitpkg.now.sh/brionmario/wso2-ui-configs/packages/prettier-config?fa0b844715320a3953d6d055997c0770f8695082", "@wso2/stylelint-config": "https://gitpkg.now.sh/brionmario/wso2-ui-configs/packages/stylelint-config?fa0b844715320a3953d6d055997c0770f8695082", "eslint": "~8.57.0", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", "prettier": "^3.2.5", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -60,6 +70,7 @@ "rollup-plugin-styles": "^4.0.0", "sass": "^1.75.0", "stylelint": "15.1.0", + "ts-jest": "^29.1.5", "tslib": "^2.6.2", "typescript": "5.1.6" }, diff --git a/packages/react/src/utils/__tests__/session-store..test.ts b/packages/react/src/utils/__tests__/session-store..test.ts new file mode 100644 index 00000000..80865c23 --- /dev/null +++ b/packages/react/src/utils/__tests__/session-store..test.ts @@ -0,0 +1,66 @@ +/** + * Copyright (c) 2024, WSO2 LLC. (https://www.wso2.com). + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import SessionStore from '../session-store'; + +describe('SessionStore', () => { + let sessionStore: SessionStore; + + beforeEach(() => { + sessionStore = new SessionStore(); + sessionStorage.clear(); + }); + + test('should set data in sessionStorage', async () => { + const key: string = 'testKey'; + const value: string = 'testValue'; + + await sessionStore.setData(key, value); + + expect(sessionStorage.getItem(key)).toBe(value); + }); + + test('should get data from sessionStorage', async () => { + const key: string = 'testKey'; + const value: string = 'testValue'; + + sessionStorage.setItem(key, value); + + const result: string = await sessionStore.getData(key); + + expect(result).toBe(value); + }); + + test('should return "{}" when key does not exist in sessionStorage', async () => { + const key: string = 'nonExistentKey'; + + const result: string = await sessionStore.getData(key); + + expect(result).toBe('{}'); + }); + + test('should remove data from sessionStorage', async () => { + const key: string = 'testKey'; + const value: string = 'testValue'; + + sessionStorage.setItem(key, value); + await sessionStore.removeData(key); + + expect(sessionStorage.getItem(key)).toBe(null); + }); +}); diff --git a/packages/react/test-configs/setup-test.ts b/packages/react/test-configs/setup-test.ts new file mode 100644 index 00000000..3be220c9 --- /dev/null +++ b/packages/react/test-configs/setup-test.ts @@ -0,0 +1,20 @@ +/** + * Copyright (c) 2024, WSO2 LLC. (https://www.wso2.com). + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import '@testing-library/jest-dom'; +import '@testing-library/jest-dom/jest-globals'; diff --git a/packages/react/test-configs/utils.tsx b/packages/react/test-configs/utils.tsx new file mode 100644 index 00000000..94b70fdb --- /dev/null +++ b/packages/react/test-configs/utils.tsx @@ -0,0 +1,56 @@ +/** + * Copyright (c) 2024, WSO2 LLC. (https://www.wso2.com). + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import {RenderResult, render as rtlRender, RenderOptions} from '@testing-library/react'; +import {ComponentType, PropsWithChildren, ReactElement} from 'react'; +import AsgardeoProvider from '../src/providers/AsgardeoProvider'; + +/** + * Custom render method to includes things like global context providers, data stores, etc. + * @see {@link https://testing-library.com/docs/react-testing-library/setup#custom-render} for more info. + * + * @param ui - Component to render. + * @param renderOptions - Render options. + * + * @return {RenderResult} + */ +const render = (ui: ReactElement, options?: Omit): RenderResult => { + const Wrapper = (props: PropsWithChildren): ReactElement => { + const {children} = props; + + return ( + + {children} + + ); + }; + + return rtlRender(ui, {wrapper: Wrapper as any, ...options}); +}; + +// re-export everything +export * from '@testing-library/react'; +// override render method +export {render}; diff --git a/packages/react/tsconfig.eslint.json b/packages/react/tsconfig.eslint.json index bdaa69d4..5b5f325f 100644 --- a/packages/react/tsconfig.eslint.json +++ b/packages/react/tsconfig.eslint.json @@ -1,14 +1,8 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "module": "ESNext", - "types": ["jest", "node"] - }, - "include": [ - "**/*.cjs", - "**/*.js", - "**/*.jsx", - "**/*.ts", - "**/*.tsx", - ] - } + "extends": "./tsconfig.json", + "compilerOptions": { + "module": "ESNext", + "types": ["jest", "node"] + }, + "include": ["**/*.cjs", "**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"] +} diff --git a/packages/react/tsconfig.json b/packages/react/tsconfig.json index cb627bf6..c0d81c7e 100644 --- a/packages/react/tsconfig.json +++ b/packages/react/tsconfig.json @@ -1,35 +1,42 @@ { - "compileOnSave": false, - "compilerOptions": { - "jsx": "react-jsx", - "target": "es2016", - "module": "ESNext", - "emitDecoratorMetadata": true, - "esModuleInterop": true, - "experimentalDecorators": true, - "forceConsistentCasingInFileNames": true, - "strict": false, - "skipLibCheck": true, - "skipDefaultLibCheck": true, - "allowJs": true, - "allowSyntheticDefaultImports": true, - "declaration": true, - "declarationDir": "dist/types", - "outDir": "dist", - "moduleResolution": "node", - "importHelpers": true, - "resolveJsonModule": true, - "noImplicitOverride": true, - "noPropertyAccessFromIndexSignature": true, - "noImplicitReturns": true, - "noFallthroughCasesInSwitch": true, + "compileOnSave": false, + "compilerOptions": { + "jsx": "react-jsx", + "target": "es2016", + "module": "ESNext", + "emitDecoratorMetadata": true, + "esModuleInterop": true, + "experimentalDecorators": true, + "forceConsistentCasingInFileNames": true, + "strict": false, + "skipLibCheck": true, + "skipDefaultLibCheck": true, + "allowJs": true, + "allowSyntheticDefaultImports": true, + "declaration": true, + "declarationDir": "dist/types", + "outDir": "dist", + "moduleResolution": "node", + "importHelpers": true, + "resolveJsonModule": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "baseUrl": ".", + "paths": { + "@unit-testing": ["./test-configs/utils.tsx"] + } }, - "include": [], - "files": [], - "exclude": ["node_modules", "tmp"], - "references": [ - { - "path": "./tsconfig.lib.json" - } + "include": [], + "files": [], + "exclude": ["node_modules", "tmp", "dist"], + "references": [ + { + "path": "./tsconfig.lib.json" + }, + { + "path": "./tsconfig.spec.json" + } ] } diff --git a/packages/react/tsconfig.lib.json b/packages/react/tsconfig.lib.json index 7f9476b9..56eb043d 100644 --- a/packages/react/tsconfig.lib.json +++ b/packages/react/tsconfig.lib.json @@ -1,26 +1,21 @@ { - "extends": "./tsconfig.json", - "compilerOptions": { - "declaration": true, - "outDir": "dist", - "declarationDir": "types", - "types": ["node"], - "emitDeclarationOnly": true - }, - "files": [], - "exclude": [ - "test-configs", - "jest.config.ts", - "**/*.spec.ts", - "**/*.test.ts", - "**/*.spec.tsx", - "**/*.test.tsx", - "**/*.spec.js", - "**/*.test.js", - "**/*.spec.jsx", - "**/*.test.jsx", - "scripts", - "dist" - ], - "include": ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx", "rollup.config.cjs", "declarations.d.ts"] - } + "compilerOptions": { + "declaration": true, + "declarationDir": "types", + "outDir": "dist", + "types": ["node"] + }, + "exclude": [ + "**/__tests__", + "**/*.test.js", + "**/*.test.jsx", + "**/*.test.ts", + "**/*.test.tsx", + "**/*.spec.js", + "**/*.spec.jsx", + "**/*.spec.ts", + "**/*.spec.tsx" + ], + "extends": "./tsconfig.json", + "include": ["src/**/*.js", "src/**/*.jsx", "src/**/*.ts", "src/**/*.tsx"] +} diff --git a/packages/react/tsconfig.spec.json b/packages/react/tsconfig.spec.json new file mode 100644 index 00000000..151b488a --- /dev/null +++ b/packages/react/tsconfig.spec.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "module": "commonjs", + "outDir": "dist", + "types": ["jest", "node", "@testing-library/jest-dom", "@testing-library/jest-dom/jest-globals"] + }, + "extends": "./tsconfig.json", + "include": [ + "test-configs/**/*", + "jest.config.js", + "jest.config.ts", + "**/*.test.js", + "**/*.test.jsx", + "**/*.test.ts", + "**/*.test.tsx", + "**/*.spec.js", + "**/*.spec.jsx", + "**/*.spec.ts", + "**/*.spec.tsx", + "**/*.test.d.ts", + "**/*.spec.d.ts" + ] +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0f43cacb..93f91ae7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -51,6 +51,12 @@ importers: specifier: ^4.6.2 version: 4.6.2 devDependencies: + '@jest/globals': + specifier: ^29.7.0 + version: 29.7.0 + '@jest/types': + specifier: ^29.6.3 + version: 29.6.3 '@rollup/plugin-commonjs': specifier: ^25.0.7 version: 25.0.7(rollup@4.17.2) @@ -63,6 +69,9 @@ importers: '@rollup/plugin-typescript': specifier: ^11.1.6 version: 11.1.6(rollup@4.17.2)(tslib@2.6.2)(typescript@5.4.5) + '@types/jest': + specifier: ^29.5.12 + version: 29.5.12 '@types/lodash.isempty': specifier: ^4.4.9 version: 4.4.9 @@ -74,13 +83,16 @@ importers: version: 20.12.7 '@wso2/eslint-plugin': specifier: https://gitpkg.now.sh/brionmario/wso2-ui-configs/packages/eslint-plugin?fa0b844715320a3953d6d055997c0770f8695082 - version: https://gitpkg.now.sh/brionmario/wso2-ui-configs/packages/eslint-plugin?fa0b844715320a3953d6d055997c0770f8695082(eslint@8.57.0)(jest@29.7.0(@types/node@20.12.7))(typescript@5.4.5) + version: https://gitpkg.now.sh/brionmario/wso2-ui-configs/packages/eslint-plugin?fa0b844715320a3953d6d055997c0770f8695082(eslint@8.57.0)(jest@29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5)))(typescript@5.4.5) '@wso2/prettier-config': specifier: https://gitpkg.now.sh/brionmario/wso2-ui-configs/packages/prettier-config?fa0b844715320a3953d6d055997c0770f8695082 version: https://gitpkg.now.sh/brionmario/wso2-ui-configs/packages/prettier-config?fa0b844715320a3953d6d055997c0770f8695082(prettier@3.2.5)(typescript@5.4.5) eslint: specifier: ~8.57.0 version: 8.57.0 + jest: + specifier: ^29.7.0 + version: 29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5)) prettier: specifier: ^3.2.5 version: 3.2.5 @@ -90,6 +102,12 @@ importers: rollup-plugin-dts: specifier: ^6.1.0 version: 6.1.0(rollup@4.17.2)(typescript@5.4.5) + ts-jest: + specifier: ^29.1.5 + version: 29.1.5(@babel/core@7.24.4)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.4))(jest@29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5)))(typescript@5.4.5) + ts-node: + specifier: ^10.9.2 + version: 10.9.2(@types/node@20.12.7)(typescript@5.4.5) tslib: specifier: ^2.6.2 version: 2.6.2 @@ -124,6 +142,12 @@ importers: specifier: ^2.1.0 version: 2.1.0 devDependencies: + '@jest/globals': + specifier: ^29.7.0 + version: 29.7.0 + '@jest/types': + specifier: ^29.6.3 + version: 29.6.3 '@rollup/plugin-commonjs': specifier: ^25.0.7 version: 25.0.7(rollup@4.17.2) @@ -136,6 +160,18 @@ importers: '@rollup/plugin-typescript': specifier: ^11.1.6 version: 11.1.6(rollup@4.17.2)(tslib@2.6.2)(typescript@5.1.6) + '@testing-library/dom': + specifier: ^10.3.0 + version: 10.3.0 + '@testing-library/jest-dom': + specifier: ^6.4.6 + version: 6.4.6(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.1.6))) + '@testing-library/react': + specifier: ^16.0.0 + version: 16.0.0(@testing-library/dom@10.3.0)(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@types/jest': + specifier: ^29.5.12 + version: 29.5.12 '@types/node': specifier: ^20.12.7 version: 20.12.7 @@ -150,7 +186,7 @@ importers: version: 18.3.0 '@wso2/eslint-plugin': specifier: https://gitpkg.now.sh/brionmario/wso2-ui-configs/packages/eslint-plugin?fa0b844715320a3953d6d055997c0770f8695082 - version: https://gitpkg.now.sh/brionmario/wso2-ui-configs/packages/eslint-plugin?fa0b844715320a3953d6d055997c0770f8695082(eslint@8.57.0)(jest@29.7.0(@types/node@20.12.7))(typescript@5.1.6) + version: https://gitpkg.now.sh/brionmario/wso2-ui-configs/packages/eslint-plugin?fa0b844715320a3953d6d055997c0770f8695082(eslint@8.57.0)(jest@29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.1.6)))(typescript@5.1.6) '@wso2/prettier-config': specifier: https://gitpkg.now.sh/brionmario/wso2-ui-configs/packages/prettier-config?fa0b844715320a3953d6d055997c0770f8695082 version: https://gitpkg.now.sh/brionmario/wso2-ui-configs/packages/prettier-config?fa0b844715320a3953d6d055997c0770f8695082(prettier@3.2.5)(typescript@5.1.6) @@ -160,6 +196,12 @@ importers: eslint: specifier: ~8.57.0 version: 8.57.0 + jest: + specifier: ^29.7.0 + version: 29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.1.6)) + jest-environment-jsdom: + specifier: ^29.7.0 + version: 29.7.0 prettier: specifier: ^3.2.5 version: 3.2.5 @@ -187,6 +229,9 @@ importers: stylelint: specifier: 15.1.0 version: 15.1.0(typescript@5.1.6) + ts-jest: + specifier: ^29.1.5 + version: 29.1.5(@babel/core@7.24.4)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.4))(jest@29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.1.6)))(typescript@5.1.6) tslib: specifier: ^2.6.2 version: 2.6.2 @@ -252,6 +297,9 @@ packages: resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} engines: {node: '>=0.10.0'} + '@adobe/css-tools@4.4.0': + resolution: {integrity: sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==} + '@algolia/autocomplete-core@1.9.3': resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} @@ -585,6 +633,10 @@ packages: '@changesets/write@0.3.1': resolution: {integrity: sha512-SyGtMXzH3qFqlHKcvFY2eX+6b0NGiFcNav8AFsYwy5l8hejOeoeTDemu5Yjmke2V5jpzY+pBvM0vCCQ3gdZpfw==} + '@cspotcode/source-map-support@0.8.1': + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + '@csstools/css-parser-algorithms@2.6.3': resolution: {integrity: sha512-xI/tL2zxzEbESvnSxwFgwvy5HS00oCXxL4MLs6HUiDcYfwowsoQaABKxUElp1ARITrINzBnsECOc1q0eg2GOrA==} engines: {node: ^14 || ^16 || >=18} @@ -959,6 +1011,9 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@jridgewell/trace-mapping@0.3.9': + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + '@manypkg/find-root@1.1.0': resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} @@ -1389,10 +1444,69 @@ packages: '@sinonjs/fake-timers@10.3.0': resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + '@testing-library/dom@10.3.0': + resolution: {integrity: sha512-pT/TYB2+IyMYkkB6lqpkzD7VFbsR0JBJtflK3cS68sCNWxmOhWwRm1XvVHlseNEorsNcxkYsb4sRDV3aNIpttg==} + engines: {node: '>=18'} + + '@testing-library/jest-dom@6.4.6': + resolution: {integrity: sha512-8qpnGVincVDLEcQXWaHOf6zmlbwTKc6Us6PPu4CRnPXCzo2OGBS5cwgMMOWdxDpEz1mkbvXHpEy99M5Yvt682w==} + engines: {node: '>=14', npm: '>=6', yarn: '>=1'} + peerDependencies: + '@jest/globals': '>= 28' + '@types/bun': latest + '@types/jest': '>= 28' + jest: '>= 28' + vitest: '>= 0.32' + peerDependenciesMeta: + '@jest/globals': + optional: true + '@types/bun': + optional: true + '@types/jest': + optional: true + jest: + optional: true + vitest: + optional: true + + '@testing-library/react@16.0.0': + resolution: {integrity: sha512-guuxUKRWQ+FgNX0h0NS0FIq3Q3uLtWVpBzcLOggmfMoUpgBnzBzvLLd4fbm6yS8ydJd94cIfY4yP9qUQjM2KwQ==} + engines: {node: '>=18'} + peerDependencies: + '@testing-library/dom': ^10.0.0 + '@types/react': ^18.0.0 + '@types/react-dom': ^18.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@tootallnate/once@2.0.0': + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} + '@trysound/sax@0.2.0': resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} + '@tsconfig/node10@1.0.11': + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} + + '@tsconfig/node12@1.0.11': + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + + '@tsconfig/node14@1.0.3': + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + + '@tsconfig/node16@1.0.4': + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + + '@types/aria-query@5.0.4': + resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} + '@types/babel__core@7.20.5': resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} @@ -1424,6 +1538,12 @@ packages: '@types/istanbul-reports@3.0.4': resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + '@types/jest@29.5.12': + resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} + + '@types/jsdom@20.0.1': + resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} + '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -1487,6 +1607,9 @@ packages: '@types/stack-utils@2.0.3': resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + '@types/tough-cookie@4.0.5': + resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} + '@types/web-bluetooth@0.0.20': resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} @@ -1774,16 +1897,31 @@ packages: resolution: {integrity: sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==} hasBin: true + abab@2.0.6: + resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + deprecated: Use your platform's native atob() and btoa() methods instead + + acorn-globals@7.0.1: + resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} + acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + acorn-walk@8.3.3: + resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} + engines: {node: '>=0.4.0'} + acorn@8.11.3: resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} engines: {node: '>=0.4.0'} hasBin: true + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} @@ -1821,6 +1959,9 @@ packages: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} + arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} @@ -2011,6 +2152,10 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + bs-logger@0.2.6: + resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} + engines: {node: '>= 6'} + bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} @@ -2063,6 +2208,10 @@ packages: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} + chalk@3.0.0: + resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} + engines: {node: '>=8'} + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -2246,6 +2395,9 @@ packages: resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} engines: {node: '>= 6'} + css.escape@1.5.1: + resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} + cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} @@ -2277,6 +2429,16 @@ packages: resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + cssom@0.3.8: + resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} + + cssom@0.5.0: + resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} + + cssstyle@2.3.0: + resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} + engines: {node: '>=8'} + csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} @@ -2296,6 +2458,10 @@ packages: damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + data-urls@3.0.2: + resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} + engines: {node: '>=12'} + data-view-buffer@1.0.1: resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} engines: {node: '>= 0.4'} @@ -2336,6 +2502,9 @@ packages: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} + decimal.js@10.4.3: + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + decode-uri-component@0.2.2: resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} engines: {node: '>=0.10'} @@ -2393,6 +2562,10 @@ packages: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + diffie-hellman@5.0.3: resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} @@ -2408,6 +2581,12 @@ packages: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} + dom-accessibility-api@0.5.16: + resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} + + dom-accessibility-api@0.6.3: + resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} + dom-helpers@5.2.1: resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} @@ -2424,6 +2603,11 @@ packages: domelementtype@2.3.0: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + domexception@4.0.0: + resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} + engines: {node: '>=12'} + deprecated: Use your platform's native DOMException instead + domhandler@4.3.1: resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} engines: {node: '>= 4'} @@ -2538,6 +2722,11 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} + escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + eslint-config-airbnb-base@15.0.0: resolution: {integrity: sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==} engines: {node: ^10.12.0 || >=12.0.0} @@ -3051,6 +3240,10 @@ packages: resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} engines: {node: '>=10'} + html-encoding-sniffer@3.0.0: + resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} + engines: {node: '>=12'} + html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} @@ -3058,9 +3251,17 @@ packages: resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} engines: {node: '>=8'} + http-proxy-agent@5.0.0: + resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} + engines: {node: '>= 6'} + https-browserify@1.0.0: resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==} + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + human-id@1.0.2: resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} @@ -3072,6 +3273,10 @@ packages: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + icss-utils@5.1.0: resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} @@ -3234,6 +3439,9 @@ packages: resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} engines: {node: '>=0.10.0'} + is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + is-reference@1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} @@ -3374,6 +3582,15 @@ packages: resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-environment-jsdom@29.7.0: + resolution: {integrity: sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + jest-environment-node@29.7.0: resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -3478,6 +3695,15 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true + jsdom@20.0.3: + resolution: {integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==} + engines: {node: '>=14'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + jsesc@2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} @@ -3597,6 +3823,9 @@ packages: lodash.uniq@4.5.0: resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + log-symbols@4.1.0: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} @@ -3615,6 +3844,10 @@ packages: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} + lz-string@1.5.0: + resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} + hasBin: true + magic-string@0.30.10: resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} @@ -3622,6 +3855,9 @@ packages: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} + make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + makeerror@1.0.12: resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} @@ -3790,6 +4026,9 @@ packages: nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + nwsapi@2.2.10: + resolution: {integrity: sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==} + nx@18.2.4: resolution: {integrity: sha512-GxqJcDOhfLa9jsPmip0jG73CZKA96wCryss2DhixCiCU66I3GLYF4+585ObO8Tx7Z1GqhT92RaNGjCxjMIwaPg==} hasBin: true @@ -3925,6 +4164,9 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} + parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} @@ -4220,6 +4462,10 @@ packages: engines: {node: '>=14'} hasBin: true + pretty-format@27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + pretty-format@29.7.0: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -4244,6 +4490,9 @@ packages: pseudomap@1.0.2: resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} + psl@1.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + public-encrypt@4.0.3: resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} @@ -4269,6 +4518,9 @@ packages: resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==} engines: {node: '>=0.4.x'} + querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -4290,6 +4542,9 @@ packages: react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} @@ -4369,6 +4624,9 @@ packages: resolution: {integrity: sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==} engines: {node: '>=0.10.5'} + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + reselect@4.1.8: resolution: {integrity: sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==} @@ -4465,6 +4723,10 @@ packages: engines: {node: '>=14.0.0'} hasBin: true + saxes@6.0.0: + resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} + engines: {node: '>=v12.22.7'} + scheduler@0.23.2: resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} @@ -4754,6 +5016,9 @@ packages: engines: {node: '>=14.0.0'} hasBin: true + symbol-tree@3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} @@ -4802,9 +5067,17 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + tough-cookie@4.1.4: + resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} + engines: {node: '>=6'} + tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + tr46@3.0.0: + resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} + engines: {node: '>=12'} + trim-newlines@3.0.1: resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} engines: {node: '>=8'} @@ -4815,6 +5088,44 @@ packages: peerDependencies: typescript: '>=4.2.0' + ts-jest@29.1.5: + resolution: {integrity: sha512-UuClSYxM7byvvYfyWdFI+/2UxMmwNyJb0NPkZPQE2hew3RurV7l7zURgOHAd/1I1ZdPpe3GUsXNXAcN8TFKSIg==} + engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@babel/core': '>=7.0.0-beta.0 <8' + '@jest/transform': ^29.0.0 + '@jest/types': ^29.0.0 + babel-jest: ^29.0.0 + esbuild: '*' + jest: ^29.0.0 + typescript: '>=4.3 <6' + peerDependenciesMeta: + '@babel/core': + optional: true + '@jest/transform': + optional: true + '@jest/types': + optional: true + babel-jest: + optional: true + esbuild: + optional: true + + ts-node@10.9.2: + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} @@ -4910,6 +5221,10 @@ packages: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} + universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} @@ -4923,6 +5238,9 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + url@0.11.3: resolution: {integrity: sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==} @@ -4932,6 +5250,9 @@ packages: util@0.12.5: resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + v8-compile-cache@2.4.0: resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==} @@ -5009,6 +5330,10 @@ packages: typescript: optional: true + w3c-xmlserializer@4.0.0: + resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==} + engines: {node: '>=14'} + walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} @@ -5018,6 +5343,22 @@ packages: webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + + whatwg-encoding@2.0.0: + resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} + engines: {node: '>=12'} + + whatwg-mimetype@3.0.0: + resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} + engines: {node: '>=12'} + + whatwg-url@11.0.0: + resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} + engines: {node: '>=12'} + whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} @@ -5074,6 +5415,25 @@ packages: resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + + xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} @@ -5118,6 +5478,10 @@ packages: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} + yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -5126,6 +5490,8 @@ snapshots: '@aashutoshrathi/word-wrap@1.2.6': {} + '@adobe/css-tools@4.4.0': {} + '@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0)': dependencies: '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.3)(search-insights@2.14.0) @@ -5343,8 +5709,7 @@ snapshots: '@babel/helper-plugin-utils@7.24.5': {} - '@babel/helper-plugin-utils@7.24.7': - optional: true + '@babel/helper-plugin-utils@7.24.7': {} '@babel/helper-simple-access@7.22.5': dependencies: @@ -5382,86 +5747,72 @@ snapshots: '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.7 - optional: true + '@babel/helper-plugin-utils': 7.24.5 '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.7 - optional: true + '@babel/helper-plugin-utils': 7.24.5 '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.7 - optional: true + '@babel/helper-plugin-utils': 7.24.5 '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.7 - optional: true + '@babel/helper-plugin-utils': 7.24.5 '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.7 - optional: true + '@babel/helper-plugin-utils': 7.24.5 '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.7 - optional: true '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.7 - optional: true + '@babel/helper-plugin-utils': 7.24.5 '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.7 - optional: true + '@babel/helper-plugin-utils': 7.24.5 '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.7 - optional: true + '@babel/helper-plugin-utils': 7.24.5 '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.7 - optional: true + '@babel/helper-plugin-utils': 7.24.5 '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.7 - optional: true + '@babel/helper-plugin-utils': 7.24.5 '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.7 - optional: true + '@babel/helper-plugin-utils': 7.24.5 '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.7 - optional: true + '@babel/helper-plugin-utils': 7.24.5 '@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.7 - optional: true '@babel/plugin-transform-react-jsx-self@7.24.5(@babel/core@7.24.4)': dependencies: @@ -5504,8 +5855,7 @@ snapshots: '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 - '@bcoe/v8-coverage@0.2.3': - optional: true + '@bcoe/v8-coverage@0.2.3': {} '@changesets/apply-release-plan@7.0.1': dependencies: @@ -5670,6 +6020,10 @@ snapshots: human-id: 1.0.2 prettier: 2.8.8 + '@cspotcode/source-map-support@0.8.1': + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + '@csstools/css-parser-algorithms@2.6.3(@csstools/css-tokenizer@2.3.1)': dependencies: '@csstools/css-tokenizer': 2.3.1 @@ -5917,10 +6271,8 @@ snapshots: get-package-type: 0.1.0 js-yaml: 3.14.1 resolve-from: 5.0.0 - optional: true - '@istanbuljs/schema@0.1.3': - optional: true + '@istanbuljs/schema@0.1.3': {} '@jest/console@29.7.0': dependencies: @@ -5930,7 +6282,6 @@ snapshots: jest-message-util: 29.7.0 jest-util: 29.7.0 slash: 3.0.0 - optional: true '@jest/core@29.7.0': dependencies: @@ -5968,18 +6319,86 @@ snapshots: - ts-node optional: true + '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.1.6))': + dependencies: + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.12.7 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.9.0 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.1.6)) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 + micromatch: 4.0.5 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + - ts-node + + '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5))': + dependencies: + '@jest/console': 29.7.0 + '@jest/reporters': 29.7.0 + '@jest/test-result': 29.7.0 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.12.7 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.9.0 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 29.7.0 + jest-config: 29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5)) + jest-haste-map: 29.7.0 + jest-message-util: 29.7.0 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-resolve-dependencies: 29.7.0 + jest-runner: 29.7.0 + jest-runtime: 29.7.0 + jest-snapshot: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + jest-watcher: 29.7.0 + micromatch: 4.0.5 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + - ts-node + '@jest/environment@29.7.0': dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 '@types/node': 20.12.7 jest-mock: 29.7.0 - optional: true '@jest/expect-utils@29.7.0': dependencies: jest-get-type: 29.6.3 - optional: true '@jest/expect@29.7.0': dependencies: @@ -5987,7 +6406,6 @@ snapshots: jest-snapshot: 29.7.0 transitivePeerDependencies: - supports-color - optional: true '@jest/fake-timers@29.7.0': dependencies: @@ -5997,7 +6415,6 @@ snapshots: jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 - optional: true '@jest/globals@29.7.0': dependencies: @@ -6007,7 +6424,6 @@ snapshots: jest-mock: 29.7.0 transitivePeerDependencies: - supports-color - optional: true '@jest/reporters@29.7.0': dependencies: @@ -6037,7 +6453,6 @@ snapshots: v8-to-istanbul: 9.3.0 transitivePeerDependencies: - supports-color - optional: true '@jest/schemas@29.6.3': dependencies: @@ -6048,7 +6463,6 @@ snapshots: '@jridgewell/trace-mapping': 0.3.25 callsites: 3.1.0 graceful-fs: 4.2.11 - optional: true '@jest/test-result@29.7.0': dependencies: @@ -6056,7 +6470,6 @@ snapshots: '@jest/types': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 collect-v8-coverage: 1.0.2 - optional: true '@jest/test-sequencer@29.7.0': dependencies: @@ -6064,7 +6477,6 @@ snapshots: graceful-fs: 4.2.11 jest-haste-map: 29.7.0 slash: 3.0.0 - optional: true '@jest/transform@29.7.0': dependencies: @@ -6085,7 +6497,6 @@ snapshots: write-file-atomic: 4.0.2 transitivePeerDependencies: - supports-color - optional: true '@jest/types@29.6.3': dependencies: @@ -6095,7 +6506,6 @@ snapshots: '@types/node': 20.12.7 '@types/yargs': 17.0.32 chalk: 4.1.2 - optional: true '@jridgewell/gen-mapping@0.3.5': dependencies: @@ -6114,6 +6524,11 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping@0.3.9': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@manypkg/find-root@1.1.0': dependencies: '@babel/runtime': 7.24.4 @@ -6537,15 +6952,61 @@ snapshots: '@sinonjs/commons@3.0.1': dependencies: type-detect: 4.0.8 - optional: true '@sinonjs/fake-timers@10.3.0': dependencies: '@sinonjs/commons': 3.0.1 - optional: true + + '@testing-library/dom@10.3.0': + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/runtime': 7.24.4 + '@types/aria-query': 5.0.4 + aria-query: 5.3.0 + chalk: 4.1.2 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + pretty-format: 27.5.1 + + '@testing-library/jest-dom@6.4.6(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.1.6)))': + dependencies: + '@adobe/css-tools': 4.4.0 + '@babel/runtime': 7.24.4 + aria-query: 5.3.0 + chalk: 3.0.0 + css.escape: 1.5.1 + dom-accessibility-api: 0.6.3 + lodash: 4.17.21 + redent: 3.0.0 + optionalDependencies: + '@jest/globals': 29.7.0 + '@types/jest': 29.5.12 + jest: 29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.1.6)) + + '@testing-library/react@16.0.0(@testing-library/dom@10.3.0)(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@babel/runtime': 7.24.4 + '@testing-library/dom': 10.3.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.1 + '@types/react-dom': 18.3.0 + + '@tootallnate/once@2.0.0': {} '@trysound/sax@0.2.0': {} + '@tsconfig/node10@1.0.11': {} + + '@tsconfig/node12@1.0.11': {} + + '@tsconfig/node14@1.0.3': {} + + '@tsconfig/node16@1.0.4': {} + + '@types/aria-query@5.0.4': {} + '@types/babel__core@7.20.5': dependencies: '@babel/parser': 7.24.4 @@ -6578,20 +7039,27 @@ snapshots: '@types/graceful-fs@4.1.9': dependencies: '@types/node': 20.12.7 - optional: true - '@types/istanbul-lib-coverage@2.0.6': - optional: true + '@types/istanbul-lib-coverage@2.0.6': {} '@types/istanbul-lib-report@3.0.3': dependencies: '@types/istanbul-lib-coverage': 2.0.6 - optional: true '@types/istanbul-reports@3.0.4': dependencies: '@types/istanbul-lib-report': 3.0.3 - optional: true + + '@types/jest@29.5.12': + dependencies: + expect: 29.7.0 + pretty-format: 29.7.0 + + '@types/jsdom@20.0.1': + dependencies: + '@types/node': 20.12.7 + '@types/tough-cookie': 4.0.5 + parse5: 7.1.2 '@types/json-schema@7.0.15': {} @@ -6651,18 +7119,17 @@ snapshots: '@types/semver@7.5.8': {} - '@types/stack-utils@2.0.3': - optional: true + '@types/stack-utils@2.0.3': {} + + '@types/tough-cookie@4.0.5': {} '@types/web-bluetooth@0.0.20': {} - '@types/yargs-parser@21.0.3': - optional: true + '@types/yargs-parser@21.0.3': {} '@types/yargs@17.0.32': dependencies: '@types/yargs-parser': 21.0.3 - optional: true '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.1.6))(eslint@8.57.0)(typescript@5.1.6)': dependencies: @@ -7042,7 +7509,7 @@ snapshots: - '@vue/composition-api' - vue - '@wso2/eslint-plugin@https://gitpkg.now.sh/brionmario/wso2-ui-configs/packages/eslint-plugin?fa0b844715320a3953d6d055997c0770f8695082(eslint@8.57.0)(jest@29.7.0(@types/node@20.12.7))(typescript@5.1.6)': + '@wso2/eslint-plugin@https://gitpkg.now.sh/brionmario/wso2-ui-configs/packages/eslint-plugin?fa0b844715320a3953d6d055997c0770f8695082(eslint@8.57.0)(jest@29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.1.6)))(typescript@5.1.6)': dependencies: '@babel/core': 7.24.4 '@babel/eslint-parser': 7.24.1(@babel/core@7.24.4)(eslint@8.57.0) @@ -7057,7 +7524,7 @@ snapshots: eslint-plugin-eslint-plugin: 5.5.1(eslint@8.57.0) eslint-plugin-header: 3.1.1(eslint@8.57.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.1.6))(eslint@8.57.0) - eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.1.6))(eslint@8.57.0)(typescript@5.1.6))(eslint@8.57.0)(jest@29.7.0(@types/node@20.12.7))(typescript@5.1.6) + eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.1.6))(eslint@8.57.0)(typescript@5.1.6))(eslint@8.57.0)(jest@29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.1.6)))(typescript@5.1.6) eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) eslint-plugin-node: 11.1.0(eslint@8.57.0) eslint-plugin-prettier: 4.2.1(eslint-config-prettier@8.10.0(eslint@8.57.0))(eslint@8.57.0)(prettier@2.8.8) @@ -7076,7 +7543,7 @@ snapshots: - jest - supports-color - '@wso2/eslint-plugin@https://gitpkg.now.sh/brionmario/wso2-ui-configs/packages/eslint-plugin?fa0b844715320a3953d6d055997c0770f8695082(eslint@8.57.0)(jest@29.7.0(@types/node@20.12.7))(typescript@5.4.5)': + '@wso2/eslint-plugin@https://gitpkg.now.sh/brionmario/wso2-ui-configs/packages/eslint-plugin?fa0b844715320a3953d6d055997c0770f8695082(eslint@8.57.0)(jest@29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5)))(typescript@5.4.5)': dependencies: '@babel/core': 7.24.4 '@babel/eslint-parser': 7.24.1(@babel/core@7.24.4)(eslint@8.57.0) @@ -7091,7 +7558,7 @@ snapshots: eslint-plugin-eslint-plugin: 5.5.1(eslint@8.57.0) eslint-plugin-header: 3.1.1(eslint@8.57.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0) - eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(jest@29.7.0(@types/node@20.12.7))(typescript@5.4.5) + eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(jest@29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5)))(typescript@5.4.5) eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) eslint-plugin-node: 11.1.0(eslint@8.57.0) eslint-plugin-prettier: 4.2.1(eslint-config-prettier@8.10.0(eslint@8.57.0))(eslint@8.57.0)(prettier@2.8.8) @@ -7177,12 +7644,29 @@ snapshots: dependencies: argparse: 2.0.1 + abab@2.0.6: {} + + acorn-globals@7.0.1: + dependencies: + acorn: 8.11.3 + acorn-walk: 8.3.3 + acorn-jsx@5.3.2(acorn@8.11.3): dependencies: acorn: 8.11.3 + acorn-walk@8.3.3: + dependencies: + acorn: 8.11.3 + acorn@8.11.3: {} + agent-base@6.0.2: + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 @@ -7220,7 +7704,6 @@ snapshots: ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 - optional: true ansi-regex@5.0.1: {} @@ -7239,6 +7722,8 @@ snapshots: normalize-path: 3.0.0 picomatch: 2.3.1 + arg@4.1.3: {} + argparse@1.0.10: dependencies: sprintf-js: 1.0.3 @@ -7377,18 +7862,16 @@ snapshots: slash: 3.0.0 transitivePeerDependencies: - supports-color - optional: true babel-plugin-istanbul@6.1.1: dependencies: - '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-plugin-utils': 7.24.5 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 5.2.1 test-exclude: 6.0.0 transitivePeerDependencies: - supports-color - optional: true babel-plugin-jest-hoist@29.6.3: dependencies: @@ -7396,7 +7879,6 @@ snapshots: '@babel/types': 7.24.0 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.6 - optional: true babel-plugin-macros@3.1.0: dependencies: @@ -7419,14 +7901,12 @@ snapshots: '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4) '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.4) - optional: true babel-preset-jest@29.6.3(@babel/core@7.24.4): dependencies: '@babel/core': 7.24.4 babel-plugin-jest-hoist: 29.6.3 babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.4) - optional: true balanced-match@1.0.2: {} @@ -7528,13 +8008,15 @@ snapshots: node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) + bs-logger@0.2.6: + dependencies: + fast-json-stable-stringify: 2.1.0 + bser@2.1.1: dependencies: node-int64: 0.4.0 - optional: true - buffer-from@1.1.2: - optional: true + buffer-from@1.1.2: {} buffer-xor@1.0.3: {} @@ -7570,8 +8052,7 @@ snapshots: camelcase@5.3.1: {} - camelcase@6.3.0: - optional: true + camelcase@6.3.0: {} caniuse-api@3.0.0: dependencies: @@ -7588,13 +8069,17 @@ snapshots: escape-string-regexp: 1.0.5 supports-color: 5.5.0 + chalk@3.0.0: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + chalk@4.1.2: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - char-regex@1.0.2: - optional: true + char-regex@1.0.2: {} chardet@0.7.0: {} @@ -7617,8 +8102,7 @@ snapshots: inherits: 2.0.4 safe-buffer: 5.2.1 - cjs-module-lexer@1.3.1: - optional: true + cjs-module-lexer@1.3.1: {} cli-cursor@3.1.0: dependencies: @@ -7646,11 +8130,9 @@ snapshots: clsx@2.1.1: {} - co@4.6.0: - optional: true + co@4.6.0: {} - collect-v8-coverage@1.0.2: - optional: true + collect-v8-coverage@1.0.2: {} color-convert@1.9.3: dependencies: @@ -7727,7 +8209,7 @@ snapshots: safe-buffer: 5.2.1 sha.js: 2.4.11 - create-jest@29.7.0(@types/node@20.12.7): + create-jest@29.7.0: dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 @@ -7743,6 +8225,36 @@ snapshots: - ts-node optional: true + create-jest@29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.1.6)): + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.1.6)) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + create-jest@29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5)): + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5)) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + create-require@1.1.1: {} cross-spawn@5.1.0: @@ -7810,6 +8322,8 @@ snapshots: css-what@6.1.0: {} + css.escape@1.5.1: {} + cssesc@3.0.0: {} cssnano-preset-default@5.2.14(postcss@8.4.38): @@ -7864,6 +8378,14 @@ snapshots: dependencies: css-tree: 2.2.1 + cssom@0.3.8: {} + + cssom@0.5.0: {} + + cssstyle@2.3.0: + dependencies: + cssom: 0.3.8 + csstype@3.1.3: {} csv-generate@3.4.3: {} @@ -7881,6 +8403,12 @@ snapshots: damerau-levenshtein@1.0.8: {} + data-urls@3.0.2: + dependencies: + abab: 2.0.6 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 + data-view-buffer@1.0.1: dependencies: call-bind: 1.0.7 @@ -7916,10 +8444,13 @@ snapshots: decamelize@1.2.0: {} + decimal.js@10.4.3: {} + decode-uri-component@0.2.2: {} - dedent@1.5.3: - optional: true + dedent@1.5.3(babel-plugin-macros@3.1.0): + optionalDependencies: + babel-plugin-macros: 3.1.0 deep-is@0.1.4: {} @@ -7954,11 +8485,12 @@ snapshots: detect-indent@6.1.0: {} - detect-newline@3.1.0: - optional: true + detect-newline@3.1.0: {} diff-sequences@29.6.3: {} + diff@4.0.2: {} + diffie-hellman@5.0.3: dependencies: bn.js: 4.12.0 @@ -7977,6 +8509,10 @@ snapshots: dependencies: esutils: 2.0.3 + dom-accessibility-api@0.5.16: {} + + dom-accessibility-api@0.6.3: {} + dom-helpers@5.2.1: dependencies: '@babel/runtime': 7.24.4 @@ -7998,6 +8534,10 @@ snapshots: domelementtype@2.3.0: {} + domexception@4.0.0: + dependencies: + webidl-conversions: 7.0.0 + domhandler@4.3.1: dependencies: domelementtype: 2.3.0 @@ -8038,8 +8578,7 @@ snapshots: minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 - emittery@0.13.1: - optional: true + emittery@0.13.1: {} emoji-regex@8.0.0: {} @@ -8183,11 +8722,18 @@ snapshots: escape-string-regexp@1.0.5: {} - escape-string-regexp@2.0.0: - optional: true + escape-string-regexp@2.0.0: {} escape-string-regexp@4.0.0: {} + escodegen@2.1.0: + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 + eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.29.1(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.1.6))(eslint@8.57.0))(eslint@8.57.0): dependencies: confusing-browser-globals: 1.0.11 @@ -8346,24 +8892,24 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.1.6))(eslint@8.57.0)(typescript@5.1.6))(eslint@8.57.0)(jest@29.7.0(@types/node@20.12.7))(typescript@5.1.6): + eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.1.6))(eslint@8.57.0)(typescript@5.1.6))(eslint@8.57.0)(jest@29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.1.6)))(typescript@5.1.6): dependencies: '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.1.6) eslint: 8.57.0 optionalDependencies: '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.1.6))(eslint@8.57.0)(typescript@5.1.6) - jest: 29.7.0(@types/node@20.12.7) + jest: 29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.1.6)) transitivePeerDependencies: - supports-color - typescript - eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(jest@29.7.0(@types/node@20.12.7))(typescript@5.4.5): + eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(jest@29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5)))(typescript@5.4.5): dependencies: '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5) eslint: 8.57.0 optionalDependencies: '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) - jest: 29.7.0(@types/node@20.12.7) + jest: 29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5)) transitivePeerDependencies: - supports-color - typescript @@ -8374,7 +8920,7 @@ snapshots: eslint: 8.57.0 optionalDependencies: '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) - jest: 29.7.0(@types/node@20.12.7) + jest: 29.7.0 transitivePeerDependencies: - supports-color - typescript @@ -8602,10 +9148,8 @@ snapshots: onetime: 5.1.2 signal-exit: 3.0.7 strip-final-newline: 2.0.0 - optional: true - exit@0.1.2: - optional: true + exit@0.1.2: {} expect@29.7.0: dependencies: @@ -8614,7 +9158,6 @@ snapshots: jest-matcher-utils: 29.7.0 jest-message-util: 29.7.0 jest-util: 29.7.0 - optional: true extendable-error@0.1.7: {} @@ -8651,7 +9194,6 @@ snapshots: fb-watchman@2.0.2: dependencies: bser: 2.1.1 - optional: true figures@3.2.0: dependencies: @@ -8764,11 +9306,9 @@ snapshots: has-symbols: 1.0.3 hasown: 2.0.2 - get-package-type@0.1.0: - optional: true + get-package-type@0.1.0: {} - get-stream@6.0.1: - optional: true + get-stream@6.0.1: {} get-symbol-description@1.0.2: dependencies: @@ -8900,22 +9440,43 @@ snapshots: dependencies: lru-cache: 6.0.0 - html-escaper@2.0.2: - optional: true + html-encoding-sniffer@3.0.0: + dependencies: + whatwg-encoding: 2.0.0 + + html-escaper@2.0.2: {} html-tags@3.3.1: {} + http-proxy-agent@5.0.0: + dependencies: + '@tootallnate/once': 2.0.0 + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + https-browserify@1.0.0: {} + https-proxy-agent@5.0.1: + dependencies: + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + human-id@1.0.2: {} - human-signals@2.1.0: - optional: true + human-signals@2.1.0: {} iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2 + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + icss-utils@5.1.0(postcss@8.4.38): dependencies: postcss: 8.4.38 @@ -8937,7 +9498,6 @@ snapshots: dependencies: pkg-dir: 4.2.0 resolve-cwd: 3.0.0 - optional: true imurmurhash@0.1.4: {} @@ -9015,8 +9575,7 @@ snapshots: is-fullwidth-code-point@3.0.0: {} - is-generator-fn@2.1.0: - optional: true + is-generator-fn@2.1.0: {} is-generator-function@1.0.10: dependencies: @@ -9051,6 +9610,8 @@ snapshots: is-plain-object@5.0.0: {} + is-potential-custom-element-name@1.0.1: {} + is-reference@1.2.1: dependencies: '@types/estree': 1.0.5 @@ -9066,8 +9627,7 @@ snapshots: dependencies: call-bind: 1.0.7 - is-stream@2.0.1: - optional: true + is-stream@2.0.1: {} is-string@1.0.7: dependencies: @@ -9112,8 +9672,7 @@ snapshots: isomorphic-timers-promises@1.0.1: {} - istanbul-lib-coverage@3.2.2: - optional: true + istanbul-lib-coverage@3.2.2: {} istanbul-lib-instrument@5.2.1: dependencies: @@ -9124,7 +9683,6 @@ snapshots: semver: 6.3.1 transitivePeerDependencies: - supports-color - optional: true istanbul-lib-instrument@6.0.3: dependencies: @@ -9135,14 +9693,12 @@ snapshots: semver: 7.6.0 transitivePeerDependencies: - supports-color - optional: true istanbul-lib-report@3.0.1: dependencies: istanbul-lib-coverage: 3.2.2 make-dir: 4.0.0 supports-color: 7.2.0 - optional: true istanbul-lib-source-maps@4.0.1: dependencies: @@ -9151,13 +9707,11 @@ snapshots: source-map: 0.6.1 transitivePeerDependencies: - supports-color - optional: true istanbul-reports@3.1.7: dependencies: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 - optional: true iterator.prototype@1.1.2: dependencies: @@ -9172,9 +9726,8 @@ snapshots: execa: 5.1.1 jest-util: 29.7.0 p-limit: 3.1.0 - optional: true - jest-circus@29.7.0: + jest-circus@29.7.0(babel-plugin-macros@3.1.0): dependencies: '@jest/environment': 29.7.0 '@jest/expect': 29.7.0 @@ -9183,7 +9736,7 @@ snapshots: '@types/node': 20.12.7 chalk: 4.1.2 co: 4.6.0 - dedent: 1.5.3 + dedent: 1.5.3(babel-plugin-macros@3.1.0) is-generator-fn: 2.1.0 jest-each: 29.7.0 jest-matcher-utils: 29.7.0 @@ -9199,15 +9752,14 @@ snapshots: transitivePeerDependencies: - babel-plugin-macros - supports-color - optional: true - jest-cli@29.7.0(@types/node@20.12.7): + jest-cli@29.7.0: dependencies: '@jest/core': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.12.7) + create-jest: 29.7.0 exit: 0.1.2 import-local: 3.1.0 jest-config: 29.7.0(@types/node@20.12.7) @@ -9221,6 +9773,44 @@ snapshots: - ts-node optional: true + jest-cli@29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.1.6)): + dependencies: + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.1.6)) + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + chalk: 4.1.2 + create-jest: 29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.1.6)) + exit: 0.1.2 + import-local: 3.1.0 + jest-config: 29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.1.6)) + jest-util: 29.7.0 + jest-validate: 29.7.0 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + jest-cli@29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5)): + dependencies: + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5)) + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + chalk: 4.1.2 + create-jest: 29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5)) + exit: 0.1.2 + import-local: 3.1.0 + jest-config: 29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5)) + jest-util: 29.7.0 + jest-validate: 29.7.0 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + jest-config@29.7.0(@types/node@20.12.7): dependencies: '@babel/core': 7.24.4 @@ -9232,7 +9822,7 @@ snapshots: deepmerge: 4.3.1 glob: 7.1.7 graceful-fs: 4.2.11 - jest-circus: 29.7.0 + jest-circus: 29.7.0(babel-plugin-macros@3.1.0) jest-environment-node: 29.7.0 jest-get-type: 29.6.3 jest-regex-util: 29.6.3 @@ -9252,6 +9842,68 @@ snapshots: - supports-color optional: true + jest-config@29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.1.6)): + dependencies: + '@babel/core': 7.24.4 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.24.4) + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.1.7 + graceful-fs: 4.2.11 + jest-circus: 29.7.0(babel-plugin-macros@3.1.0) + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.5 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 20.12.7 + ts-node: 10.9.2(@types/node@20.12.7)(typescript@5.1.6) + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-config@29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5)): + dependencies: + '@babel/core': 7.24.4 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.24.4) + chalk: 4.1.2 + ci-info: 3.9.0 + deepmerge: 4.3.1 + glob: 7.1.7 + graceful-fs: 4.2.11 + jest-circus: 29.7.0(babel-plugin-macros@3.1.0) + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.5 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 20.12.7 + ts-node: 10.9.2(@types/node@20.12.7)(typescript@5.4.5) + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + jest-diff@29.7.0: dependencies: chalk: 4.1.2 @@ -9262,7 +9914,6 @@ snapshots: jest-docblock@29.7.0: dependencies: detect-newline: 3.1.0 - optional: true jest-each@29.7.0: dependencies: @@ -9271,7 +9922,21 @@ snapshots: jest-get-type: 29.6.3 jest-util: 29.7.0 pretty-format: 29.7.0 - optional: true + + jest-environment-jsdom@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/jsdom': 20.0.1 + '@types/node': 20.12.7 + jest-mock: 29.7.0 + jest-util: 29.7.0 + jsdom: 20.0.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate jest-environment-node@29.7.0: dependencies: @@ -9281,7 +9946,6 @@ snapshots: '@types/node': 20.12.7 jest-mock: 29.7.0 jest-util: 29.7.0 - optional: true jest-get-type@29.6.3: {} @@ -9300,13 +9964,11 @@ snapshots: walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 - optional: true jest-leak-detector@29.7.0: dependencies: jest-get-type: 29.6.3 pretty-format: 29.7.0 - optional: true jest-matcher-utils@29.7.0: dependencies: @@ -9314,7 +9976,6 @@ snapshots: jest-diff: 29.7.0 jest-get-type: 29.6.3 pretty-format: 29.7.0 - optional: true jest-message-util@29.7.0: dependencies: @@ -9327,22 +9988,18 @@ snapshots: pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 - optional: true jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 '@types/node': 20.12.7 jest-util: 29.7.0 - optional: true jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): optionalDependencies: jest-resolve: 29.7.0 - optional: true - jest-regex-util@29.6.3: - optional: true + jest-regex-util@29.6.3: {} jest-resolve-dependencies@29.7.0: dependencies: @@ -9350,7 +10007,6 @@ snapshots: jest-snapshot: 29.7.0 transitivePeerDependencies: - supports-color - optional: true jest-resolve@29.7.0: dependencies: @@ -9363,7 +10019,6 @@ snapshots: resolve: 1.22.8 resolve.exports: 2.0.2 slash: 3.0.0 - optional: true jest-runner@29.7.0: dependencies: @@ -9390,7 +10045,6 @@ snapshots: source-map-support: 0.5.13 transitivePeerDependencies: - supports-color - optional: true jest-runtime@29.7.0: dependencies: @@ -9418,7 +10072,6 @@ snapshots: strip-bom: 4.0.0 transitivePeerDependencies: - supports-color - optional: true jest-snapshot@29.7.0: dependencies: @@ -9444,7 +10097,6 @@ snapshots: semver: 7.6.0 transitivePeerDependencies: - supports-color - optional: true jest-util@29.7.0: dependencies: @@ -9454,7 +10106,6 @@ snapshots: ci-info: 3.9.0 graceful-fs: 4.2.11 picomatch: 2.3.1 - optional: true jest-validate@29.7.0: dependencies: @@ -9464,7 +10115,6 @@ snapshots: jest-get-type: 29.6.3 leven: 3.1.0 pretty-format: 29.7.0 - optional: true jest-watcher@29.7.0: dependencies: @@ -9476,7 +10126,6 @@ snapshots: emittery: 0.13.1 jest-util: 29.7.0 string-length: 4.0.2 - optional: true jest-worker@29.7.0: dependencies: @@ -9484,14 +10133,13 @@ snapshots: jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - optional: true - jest@29.7.0(@types/node@20.12.7): + jest@29.7.0: dependencies: '@jest/core': 29.7.0 '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@20.12.7) + jest-cli: 29.7.0 transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -9499,6 +10147,30 @@ snapshots: - ts-node optional: true + jest@29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.1.6)): + dependencies: + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.1.6)) + '@jest/types': 29.6.3 + import-local: 3.1.0 + jest-cli: 29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.1.6)) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + jest@29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5)): + dependencies: + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5)) + '@jest/types': 29.6.3 + import-local: 3.1.0 + jest-cli: 29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5)) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + jju@1.4.0: {} jose@5.3.0: {} @@ -9514,6 +10186,39 @@ snapshots: dependencies: argparse: 2.0.1 + jsdom@20.0.3: + dependencies: + abab: 2.0.6 + acorn: 8.11.3 + acorn-globals: 7.0.1 + cssom: 0.5.0 + cssstyle: 2.3.0 + data-urls: 3.0.2 + decimal.js: 10.4.3 + domexception: 4.0.0 + escodegen: 2.1.0 + form-data: 4.0.0 + html-encoding-sniffer: 3.0.0 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.10 + parse5: 7.1.2 + saxes: 6.0.0 + symbol-tree: 3.2.4 + tough-cookie: 4.1.4 + w3c-xmlserializer: 4.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 2.0.0 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 + ws: 8.18.0 + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + jsesc@2.5.2: {} json-buffer@3.0.1: {} @@ -9559,8 +10264,7 @@ snapshots: kind-of@6.0.3: {} - kleur@3.0.3: - optional: true + kleur@3.0.3: {} kleur@4.1.5: {} @@ -9572,8 +10276,7 @@ snapshots: dependencies: language-subtag-registry: 0.3.22 - leven@3.1.0: - optional: true + leven@3.1.0: {} levn@0.4.1: dependencies: @@ -9613,6 +10316,8 @@ snapshots: lodash.uniq@4.5.0: {} + lodash@4.17.21: {} + log-symbols@4.1.0: dependencies: chalk: 4.1.2 @@ -9635,6 +10340,8 @@ snapshots: dependencies: yallist: 4.0.0 + lz-string@1.5.0: {} + magic-string@0.30.10: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 @@ -9642,12 +10349,12 @@ snapshots: make-dir@4.0.0: dependencies: semver: 7.6.0 - optional: true + + make-error@1.3.6: {} makeerror@1.0.12: dependencies: tmpl: 1.0.5 - optional: true map-obj@1.0.1: {} @@ -9698,8 +10405,7 @@ snapshots: type-fest: 0.18.1 yargs-parser: 20.2.9 - merge-stream@2.0.0: - optional: true + merge-stream@2.0.0: {} merge2@1.4.1: {} @@ -9771,8 +10477,7 @@ snapshots: dependencies: whatwg-url: 5.0.0 - node-int64@0.4.0: - optional: true + node-int64@0.4.0: {} node-machine-id@1.1.12: {} @@ -9834,6 +10539,8 @@ snapshots: dependencies: boolbase: 1.0.0 + nwsapi@2.2.10: {} + nx@18.2.4: dependencies: '@nrwl/tao': 18.2.4 @@ -10030,6 +10737,10 @@ snapshots: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + parse5@7.1.2: + dependencies: + entities: 4.5.0 + path-browserify@1.0.1: {} path-exists@4.0.0: {} @@ -10058,8 +10769,7 @@ snapshots: pify@4.0.1: {} - pirates@4.0.6: - optional: true + pirates@4.0.6: {} pkg-dir@4.2.0: dependencies: @@ -10284,6 +10994,12 @@ snapshots: prettier@3.2.5: {} + pretty-format@27.5.1: + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 + pretty-format@29.7.0: dependencies: '@jest/schemas': 29.6.3 @@ -10298,7 +11014,6 @@ snapshots: dependencies: kleur: 3.0.3 sisteransi: 1.0.5 - optional: true prop-types@15.8.1: dependencies: @@ -10310,6 +11025,8 @@ snapshots: pseudomap@1.0.2: {} + psl@1.9.0: {} + public-encrypt@4.0.3: dependencies: bn.js: 4.12.0 @@ -10323,8 +11040,7 @@ snapshots: punycode@2.3.1: {} - pure-rand@6.1.0: - optional: true + pure-rand@6.1.0: {} qs@6.12.1: dependencies: @@ -10339,6 +11055,8 @@ snapshots: querystring-es3@0.2.1: {} + querystringify@2.2.0: {} + queue-microtask@1.2.3: {} quick-lru@4.0.1: {} @@ -10360,6 +11078,8 @@ snapshots: react-is@16.13.1: {} + react-is@17.0.2: {} + react-is@18.2.0: {} react-refresh@0.14.2: {} @@ -10458,19 +11178,19 @@ snapshots: requireindex@1.2.0: {} + requires-port@1.0.0: {} + reselect@4.1.8: {} resolve-cwd@3.0.0: dependencies: resolve-from: 5.0.0 - optional: true resolve-from@4.0.0: {} resolve-from@5.0.0: {} - resolve.exports@2.0.2: - optional: true + resolve.exports@2.0.2: {} resolve@1.19.0: dependencies: @@ -10601,6 +11321,10 @@ snapshots: immutable: 4.3.5 source-map-js: 1.2.0 + saxes@6.0.0: + dependencies: + xmlchars: 2.2.0 + scheduler@0.23.2: dependencies: loose-envify: 1.4.0 @@ -10667,8 +11391,7 @@ snapshots: signal-exit@4.1.0: {} - sisteransi@1.0.5: - optional: true + sisteransi@1.0.5: {} slash@3.0.0: {} @@ -10693,7 +11416,6 @@ snapshots: dependencies: buffer-from: 1.1.2 source-map: 0.6.1 - optional: true source-map@0.5.7: {} @@ -10729,7 +11451,6 @@ snapshots: stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 - optional: true stream-browserify@3.0.0: dependencies: @@ -10753,7 +11474,6 @@ snapshots: dependencies: char-regex: 1.0.2 strip-ansi: 6.0.1 - optional: true string-width@4.2.3: dependencies: @@ -10809,11 +11529,9 @@ snapshots: strip-bom@3.0.0: {} - strip-bom@4.0.0: - optional: true + strip-bom@4.0.0: {} - strip-final-newline@2.0.0: - optional: true + strip-final-newline@2.0.0: {} strip-indent@3.0.0: dependencies: @@ -10930,7 +11648,6 @@ snapshots: supports-color@8.1.1: dependencies: has-flag: 4.0.0 - optional: true supports-hyperlinks@2.3.0: dependencies: @@ -10963,6 +11680,8 @@ snapshots: csso: 5.0.5 picocolors: 1.0.0 + symbol-tree@3.2.4: {} + tabbable@6.2.0: {} table@6.8.2: @@ -10988,7 +11707,6 @@ snapshots: '@istanbuljs/schema': 0.1.3 glob: 7.1.7 minimatch: 3.1.2 - optional: true text-table@0.2.0: {} @@ -11004,8 +11722,7 @@ snapshots: tmp@0.2.3: {} - tmpl@1.0.5: - optional: true + tmpl@1.0.5: {} to-fast-properties@2.0.0: {} @@ -11013,14 +11730,98 @@ snapshots: dependencies: is-number: 7.0.0 + tough-cookie@4.1.4: + dependencies: + psl: 1.9.0 + punycode: 2.3.1 + universalify: 0.2.0 + url-parse: 1.5.10 + tr46@0.0.3: {} + tr46@3.0.0: + dependencies: + punycode: 2.3.1 + trim-newlines@3.0.1: {} ts-api-utils@1.3.0(typescript@5.4.5): dependencies: typescript: 5.4.5 + ts-jest@29.1.5(@babel/core@7.24.4)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.4))(jest@29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.1.6)))(typescript@5.1.6): + dependencies: + bs-logger: 0.2.6 + fast-json-stable-stringify: 2.1.0 + jest: 29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.1.6)) + jest-util: 29.7.0 + json5: 2.2.3 + lodash.memoize: 4.1.2 + make-error: 1.3.6 + semver: 7.6.0 + typescript: 5.1.6 + yargs-parser: 21.1.1 + optionalDependencies: + '@babel/core': 7.24.4 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.24.4) + + ts-jest@29.1.5(@babel/core@7.24.4)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.4))(jest@29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5)))(typescript@5.4.5): + dependencies: + bs-logger: 0.2.6 + fast-json-stable-stringify: 2.1.0 + jest: 29.7.0(@types/node@20.12.7)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5)) + jest-util: 29.7.0 + json5: 2.2.3 + lodash.memoize: 4.1.2 + make-error: 1.3.6 + semver: 7.6.0 + typescript: 5.4.5 + yargs-parser: 21.1.1 + optionalDependencies: + '@babel/core': 7.24.4 + '@jest/transform': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.24.4) + + ts-node@10.9.2(@types/node@20.12.7)(typescript@5.1.6): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.12.7 + acorn: 8.11.3 + acorn-walk: 8.3.3 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.1.6 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + optional: true + + ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.12.7 + acorn: 8.11.3 + acorn-walk: 8.3.3 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.4.5 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + tsconfig-paths@3.15.0: dependencies: '@types/json5': 0.0.29 @@ -11064,8 +11865,7 @@ snapshots: dependencies: prelude-ls: 1.2.1 - type-detect@4.0.8: - optional: true + type-detect@4.0.8: {} type-fest@0.13.1: {} @@ -11073,8 +11873,7 @@ snapshots: type-fest@0.20.2: {} - type-fest@0.21.3: - optional: true + type-fest@0.21.3: {} type-fest@0.6.0: {} @@ -11127,6 +11926,8 @@ snapshots: universalify@0.1.2: {} + universalify@0.2.0: {} + universalify@2.0.1: {} update-browserslist-db@1.0.13(browserslist@4.23.0): @@ -11139,6 +11940,11 @@ snapshots: dependencies: punycode: 2.3.1 + url-parse@1.5.10: + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + url@0.11.3: dependencies: punycode: 1.4.1 @@ -11154,6 +11960,8 @@ snapshots: is-typed-array: 1.1.13 which-typed-array: 1.1.15 + v8-compile-cache-lib@3.0.1: {} + v8-compile-cache@2.4.0: {} v8-to-istanbul@9.3.0: @@ -11161,7 +11969,6 @@ snapshots: '@jridgewell/trace-mapping': 0.3.25 '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 2.0.0 - optional: true validate-npm-package-license@3.0.4: dependencies: @@ -11249,10 +12056,13 @@ snapshots: optionalDependencies: typescript: 5.4.5 + w3c-xmlserializer@4.0.0: + dependencies: + xml-name-validator: 4.0.0 + walker@1.0.8: dependencies: makeerror: 1.0.12 - optional: true wcwidth@1.0.1: dependencies: @@ -11260,6 +12070,19 @@ snapshots: webidl-conversions@3.0.1: {} + webidl-conversions@7.0.0: {} + + whatwg-encoding@2.0.0: + dependencies: + iconv-lite: 0.6.3 + + whatwg-mimetype@3.0.0: {} + + whatwg-url@11.0.0: + dependencies: + tr46: 3.0.0 + webidl-conversions: 7.0.0 + whatwg-url@5.0.0: dependencies: tr46: 0.0.3 @@ -11338,13 +12161,18 @@ snapshots: dependencies: imurmurhash: 0.1.4 signal-exit: 3.0.7 - optional: true write-file-atomic@5.0.1: dependencies: imurmurhash: 0.1.4 signal-exit: 4.1.0 + ws@8.18.0: {} + + xml-name-validator@4.0.0: {} + + xmlchars@2.2.0: {} + xtend@4.0.2: {} y18n@4.0.3: {} @@ -11392,4 +12220,6 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 + yn@3.1.1: {} + yocto-queue@0.1.0: {}